베스트셀러

베스트셀러

view_img

누구나 쉽게 배우는 딥러닝 스타트

  • 저자박동규
  • 관련분야인공지능, 딥러닝, 머신러닝, 파이썬, 기계학습
  • 발행일2023-12-15
  • 정가30,000원
  • 페이지534 페이지
  • ISBN979-11-92373-28-7
  • 일반자료 소스파일 (Source File)
  • 책소개
  • 저자소개
  • 목차
  • 출판사 서평

딥러닝의 기초부터 심화 과정을 모두 담은 집약서!

누구나 쉽게 배우는 딥러닝 스타트는 딥러닝의 핵심을 시각적인 설명과 여러 가지 파이썬 코드를 통해 알려준다. 동시에 실생활에서 쓰이고 있는 인공지능 기술에 대한 내용을 더 깊이 알려주는 지침서이다. ChatGPT, 알파고, 생성 인공지능 등 대부분의 인공지능 분야에서 딥러닝 기술을 이용하는데, 실제로 어떤 원리로 어떻게 실행되는지 알기 쉽게 설명하는 책은 여전히 부족한 실정이다. 누구나 쉽게 배우는 딥러닝 스타트는 이러한 교육 현장의 요구에 따라 집필되었으며, 딥러닝에 대한 궁금증을 느꼈던 독자들에게 명쾌한 해답을 제시하는 돌파구가 되어 줄 것이다.

본서의 특징은 다음과 같다. 첫 번째, 엄선된 파이썬 코드를 제공하여 독자가 구글 코랩 환경에서 직접 실행해 볼 수 있도록 구성하였다. 두 번째, 딥러닝의 기반이 되는 기초 수학 내용을 포함하여 독자가 더욱 이해하기 쉽도록 하였다. 세 번째, 최근 주목받으며 활발히 연구되고 있는 기술인 생성 인공지능에 대해 기술하며 딥러닝을 상세히 다뤘다. 네 번째, 요즘 부상하고 있는 ChatGPT에 사용된 기술인 트랜스포머 모델과 다른 대규모 언어 모델을 설명하여 딥러닝 기술에 대한 이해도를 높였다.

이처럼 누구나 쉽게 배우는 딥러닝 스타트는 딥러닝과 관련된 지식들을 폭넓게 다루고 있다. 또한 기초 수학 지식부터 심화 학습까지 총망라하여 딥러닝의 A to Z를 학습할 수 있도록 하였다. 본서를 통해 딥러닝의 개념을 습득한다면, 실제 데이터 환경에서 활용 능력이 극대화되는 경험을 할 수 있을 것이다.



박동규

1993부산대학교 전자계산학과 이학사

1996부산대학교 전자계산학과 이학석사

1999부산대학교 전자계산학과 이학박사

2002~현재 창원대학교 정보통신공학과 교수

2021부산대학교 컴퓨터 및 정보통신연구소 객원교수

2007미국 카네기멜론대학교 방문교수

2012미국 텍사스A&M대학교 방문교수

2023IEEE Busan Section Chair

창원대학교 정보전산원장, 창원시 스마트모바일 앱센터장 역임

저자는 널널한 교수의 코딩 클래스유튜브 채널을 운영 중이며 파이썬, C, 자바, Swift 등의 프로그래밍 언어와 자료구조, 알고리즘, 머신러닝, 딥러닝, 인공지능 관련 강좌를 400개 이상 업로드하였다. 저서로는 누구나 쉽게 배우는 인공지능 스타트, 으뜸 파이썬, 따라하며 배우는 파이썬과 데이터 과학, 으뜸 머신러닝, 으뜸 데이터 분석과 머신러닝, 자바 3D 프로그래밍등이 있다. 가장 최근에는 2023년에 출간된 저서인 누구나 쉽게 배우는 인공지능 스타트가 한국출판문화산업진흥원의 ‘2023년 세종도서학술부문도서로 선정되었다. 또한 2020년에 출간된 저서인 으뜸 파이썬‘2020년 세종도서학술부문도서로 선정된 바 있다.


Chapter 01 인공지능, 머신러닝, 딥러닝의 이해


01 인공지능 기술이 가져온 혁신

인공지능이라는 과학 기술

우리의 삶 여러 곳에 스며든 인공지능 기술

언어 인공지능 ChatGPT와 대규모 언어 모델

인공지능을 판별하는 방법: 튜링 테스트

지능에 대한 다양한 정의

다트머스 회의와 인공지능의 역사


02 데이터를 기반으로 학습하는 머신러닝을 알아보자

머신러닝을 정의하고 이해하자

명시적 프로그래밍과 머신러닝


03 딥러닝을 알아보자

생물학에서 밝혀 낸 신경세포의 구조

신경세포를 흉내 낸 프로그램인 퍼셉트론

요약

연습 문제


Chapter 02 딥러닝을 위한 기초 지식


01 딥러닝을 위한 기초 수학: 일차 함수와 이차 함수

함수의 정의

일차 함수와 이차 함수


02 미분을 알아보자

극한의 의미

순간 변화율 = 미분

합성 함수와 연쇄 법칙

딥러닝에서 목적함수의 미분이 중요한 이유

여러 개의 변수를 가진 함수의 최적화를 위한 편미분


03 머신러닝과 딥러닝의 종류를 알아보자

머신러닝의 종류

회귀와 분류 문제

요약

연습 문제


Chapter 03 개발환경 구축과 넘파이


01 파이썬과 구글 코랩

파이썬 프로그래밍 언어

코랩 환경에서 코딩하기


02 구글 코랩의 여러 가지 기능들

코랩과 가상환경

딥러닝을 위한 라이브러리 살펴보기


03 강력한 기능을 가진 넘파이를 알아보자

다차원 배열의 속성을 알아보자

파이썬의 강력한 자료구조인 리스트와 넘파이의 다차원 배열

다차원 배열의 연산

편리하고 강력한 브로드캐스팅과 벡터화 연산

다차원 배열을 쉽게 생성해 보자

다차원 배열을 합하는 append() 함수


04 넘파이의 고급 기능을 알아보자

인덱싱과 슬라이싱

난수를 생성해 보자

여러 개의 배열값을 얻는 방법

배열의 형태를 바꾸는 reshape() 메소드와 flatten() 메소드


05 딥러닝을 위한 행렬

딥러닝을 위한 행렬의 핵심 개념

행렬 곱 연산

인공 신경망과 행렬

단위행렬과의 곱

요약

연습 문제

코딩 문제


Chapter 04 선형회귀와 경사 하강법


01 데이터의 특성과 선형회귀를 알아보자

특성과 변수

통계학이 하는 일

회귀분석이란 데이터의 분포를 설명하는 좋은 함수를 찾는 것


02 오차와 오차의 측정

데이터의 분포와 경향성

데이터와 정답의 차이: 오차

평균 절대값 오차와 평균 제곱 오차

선형회귀 직선 구하기 예시

오차 곡선의 최적값을 구하는 기울기와 미분


03 경사 하강법을 알아보는 실습


04 사이킷런을 이용한 선형 회귀

여러 가지 머신러닝 라이브러리들

간단한 데이터로 선형 회귀를 수행해 보자

데이터를 시각화하고 차원을 증가시키자

오차 곡면을 알아보자

경사 하강법과 학습률

정규화와 표준화

요약

연습 문제

코딩 문제


Chapter 05 신경세포와 퍼셉트론


01 뇌와 신경세포 그리고 퍼셉트론

경이로운 인간의 뇌와 지능의 신비

신경세포를 흉내 낸 프로그램인 퍼셉트론

퍼셉트론과 연결주의의 등장


02 퍼셉트론의 표현 방법

행렬을 이용한 퍼셉트론 표현 방법

신호의 전달 여부를 결정하는 임계값

퍼셉트론 프로그램 만들기

OR 논리 연산을 퍼셉트론으로 구현하자

편향값을 추가하자

편향값을 추가하여 활성화 함수를 간단하게 만들자

편향값을 가진 퍼셉트론으로 구현하자


03 XOR 문제와 다층 퍼셉트론

논리 연산의 결과를 시각화하자

인공지능 연구의 침체기를 가져온 XOR 문제

은닉 노드를 가진 다층 퍼셉트론의 등장

다층 퍼셉트론으로 해결할 수 있는 문제들


04 퍼셉트론 학습시키기

퍼셉트론과 학습의 원리

퍼셉트론의 학습을 위한 행렬표현 방법

동시에 여러 가지 작업을 처리하는 병렬 처리 시스템

다층 퍼셉트론의 가중치들은 어떻게 학습시킬까

요약

연습 문제

코딩 문제


Chapter 06 오차역전파


01 활성화 함수와 신경망의 가중치 조절

다층 퍼셉트론의 학습 단계

순전파와 역전파

오차 역전파 알고리즘의 간략한 역사


02 역전파 알고리즘에 대한 직관적 이해

계산 그래프를 이용한 오차 역전파의 이해

계산 그래프의 순방향 계산

계산 그래프의 역방향 계산


03 계산 그래프 실습하기

곱셈 노드, 덧셈 노드의 미분과 역전파 과정

전체 계산 그래프를 만들기

입력 노드에 대한 출력값의 영향을 어떻게 활용할까

오차와 계산 그래프


04 시그모이드 계층의 역전파

시그모이드 함수의 미분과 계산 그래프

퍼셉트론의 구조와 계산 그래프 그리고 오차 역전파의 혁신


05 ReLU 활성화 함수

활성화 함수의 중요성

ReLU 함수를 그려보자

요약

연습 문제

코딩 문제


Chapter 07 텐서플로로 구현하는 딥러닝


01 딥러닝을 위한 도구: 텐서플로

텐서플로와 MNIST 데이터

컴퓨터는 이미지를 어떻게 저장할까

MNIST 데이터 시각화하기


02 딥러닝 모델을 만들고 학습시키기

딥러닝을 위한 모델 만들기와 학습 단계

인공 신경망을 학습시켜 보자


03 신경망 학습의 출력값과 정답의 차이를 알아보자

부드러운 최대값: 소프트맥스 함수

원-핫 인코딩과 범주형 데이터의 평균 제곱 오차

원-핫 인코딩 데이터의 오차를 구하는 교차 엔트로피 오차

최적화 기법

요약

연습 문제

코딩 문제


Chapter 08 텐서와 딥러닝 모델 응용


01 텐서를 알아보자

인공지능의 부흥, 고성능 하드웨어 기술 그리고 텐서플로

텐서의 개념

텐서플로 라이브러리

텐서 그래프가 가지는 장점들

완전 연결층을 만드는 방법

입력 형상 지정하기


02 붓꽃 데이터를 분류하는 딥러닝 모델

붓꽃 데이터를 분류하는 모델

붓꽃 데이터를 분류하는 여러 가지 순차 모델

분류 정확도를 높이기 위한 층을 추가하자

학습의 과정에서 일어나는 일


03 딥러닝 모델을 저장하고 불러오기

붓꽃 데이터를 분류하는 모델


04 회귀문제를 딥러닝을 통해서 풀어보자

회귀 문제를 위한 데이터를 만들고 해석하자

회귀 문제를 풀기 위한 순차 계층 모델

요약

연습 문제

코딩 문제


Chapter 09 딥러닝을 깊이 알아보자


01 딥러닝과 훈련 데이터의 중요성

딥러닝을 위한 훈련 데이터와 인공지능의 실력을 검증하는 데이터

더욱더 많은 데이터를 사용하자, 이미지넷


02 딥러닝 모델의 실력을 알아보자

모델의 정확도가 가지는 문제점

데이터의 편향과 데이터 증강

사이킷런의 성능 지표 함수들


03 다양한 스케일러를 알아보자

다양한 스케일러 살펴보기


04 학습 데이터에만 최적화된 신경망 개선하기: 드롭아웃

드롭아웃으로 과대적합을 예방


04 패션 MNIST 데이터

패션 MNIST 데이터의 필요성

패션 MNIST 이미지 데이터 분류

요약

연습 문제

코딩 문제


Chapter 10 합성곱 신경망


01 디지털 이미지, 합성곱 신경망 그리고 필터

디지털 이미지를 처리하는 방법

인간과 동물의 인식과정에서 착안한 신경망

합성곱과 필터를 알아보자

평균 필터와 가우스 필터

이미지 불러오기와 흐림 필터 적용하기

경계를 검출하기 위한 필터

경계를 검출하기 위한 필터의 원리


02 합성곱 신경망의 기본적 구조

필터와 특징 추출

점점 작아지는 이미지 문제와 패딩

성큼성큼 이동하기: 윈도우와 스트라이드

풀링을 적용하자


03 합성곱 신경망을 위한 채널과 필터, 평탄화 과정

다중 채널에 적용되는 필터

기본 신경망과 합성곱 신경망의 비교

합성곱 신경망의 최종 단계: 평탄화


04 합성곱 신경망의 구조와 모델 훈련 과정

합성곱 신경망 모델의 전체 구조

합성곱 신경망 모델의 훈련

합성곱 신경망 모델의 결과와 시각화

요약

연습 문제

코딩 문제


Chapter 11 합성곱 신경망의 응용


01 과대적합과 과소적합을 방지하는 방법

과대적합을 알아보자

과소적합을 알아보자

교차검증으로 견고한 모델을 만들자

딥러닝 모델의 가중치 초기화 문제

배치 경사 하강법, 확률적 경사 하강법, 미니 배치 경사 하강법

배치 정규화로 성능을 향상시키기


02 CIFAR-10 데이터를 다루자

CIFAR-10 vs CIFAR-100 데이터

CIFAR-10 이미지 데이터 인식을 위한 CNN 모델

CNN 모델을 정교하게 가다듬기

드롭아웃과 데이터 정규화로 모델의 성능 높이기

딥러닝 모델의 성능 높이기

요약

연습 문제

코딩 문제


Chapter 12 데이터 증강


01 캐글을 알아보자

데이터 분석을 위한 플랫폼인 캐글

캐글 잘 활용하기

데이터 마켓과 열린 데이터


02 데이터 증강이란

MNIST 이미지 데이터 증강

이미지 증강 라이브러리와 데이터 제너레이터

회전과 평행이동 변환

뒤집기 변환과 줌 변환

증강 데이터 저장하기


03 오토인코더와 변분 오토인코더

오토인코더와 잠재공간

잡음 제거 오토인코더

변분 오토인코더

요약

연습 문제

코딩 문제


Chapter 13 다양한 딥러닝 기술


01 피드포워드 신경망과 순환 신경망

신호가 출력층 방향으로만 가는 피드포워드 신경망

순차적으로 제공되는 정보를 다루는 순환 신경망

일대다 구조

다대일 구조

다대다 구조


02 생성 인공지능과 적대적 생성 신경망

생성 모델

판별 모델

적대적 생성 신경망

GAN의 발전을 촉진시킨 파생 모델

적대적 생성 신경망의 혁신과 응용 사례

텍스트를 이용하여 이미지를 만드는 인공지능


03 강화학습 이야기

추억의 게임기: 아타리 게임기

현재 상태를 바탕으로 보상을 최대로 하는 강화 학습 기술

강화 학습의 무한한 가능성


04 트랜스포머와 대규모 언어 모델

기계 번역의 어려움과 순환 신경망의 한계

트랜스포머와 어텐션

ChatGPT의 혁신

대규모 언어 모델의 혁신과 한계

블랙박스 속의 인공지능

불투명한 인공지능을 투명하게 만들려는 노력

인공지능에 가해지는 위협: 적대적 공격


05 딥러닝은 인간의 뇌가 하는 일을 할 수 있을까

뇌과학의 연구가 가져온 딥러닝 기술의 발전

딥러닝과 인공지능의 진전

요약

연습 문제


나날이 발전되는 인공지능 기술의 기반에는 심층 신경망을 효율적으로 학습시키는 딥러닝 기술이 자리 잡고 있다. 최근 들어 ChatGPT와 같은 여러 가지 인공지능 기술이 실생활 전반에 활용되면서, 딥러닝 역시 주요한 관심 분야가 되었다. <누구나 쉽게 배우는 딥러닝 스타트>는 이러한 딥러닝에 대한 내용을 집대성하여, 딥러닝을 배우려는 독자들이 해당 분야에 대해 쉽고 재미있게 접근할 수 있도록 기술하였다. 1~13장으로 구성되어 있으며 이론부터 구현 과정 그리고 활용 사례까지, 다방면에 걸친 딥러닝 관련 내용들을 학습할 수 있다.

본서는 다양한 인공지능 기술의 원리를 풀어 내면서 딥러닝 기술이 어떻게 우리의 일상에 녹아 있는지 탐색한다. 또한 요약, 도전 문제, 연습 문제, 코딩 문제 등을 삽입하여 독자의 이해를 돕는다. 그리고 대부분의 내용을 파이썬 코드로 구현하여 실제 프로그램을 통해 실행할 수 있도록 구성하였다. 본서를 학습하는 독자들이 내용을 너무 어렵게 느끼지 않도록 본문의 곳곳에 여러 그림과 사진들을 삽입하여 재미를 더했다. 독자들은 딥러닝에 대한 내용을 총망라한 본서를 통해 딥러닝이 어떻게 다양한 문제를 해결하는지 한눈에 살펴볼 수 있을 것이다.