모두의 딥러닝 : 누구나 쉽게 이해하는 딥러닝
저자

조태호

머신러닝,딥러닝을이용해알츠하이머질병을연구하며틈틈이책을쓰고번역한다.일본도쿄의과치과대학에서단백질구조예측으로박사학위를받았고,미국으로이주해단백질구조예측에딥러닝을도입하는연구를했다.2018년부터미국인디애나대학교의과대학에재직하며딥러닝을이용한알츠하이머진단(2019),딥러닝을이용한알츠하이머원인단백질추적(2020),딥러닝을이용한유전자변이예측(202...

목차

첫째마당딥러닝시작을위한준비운동
1장.해보자!딥러닝
1|인공지능?머신러닝?딥러닝?
2|딥러닝실행을위해필요한세가지
3|구글코랩실행하기

2장.딥러닝의핵심미리보기
1|미지의일을예측하는원리
2|딥러닝코드실행해보기
3|딥러닝개괄하기
4|이제부터가진짜딥러닝?

3장.딥러닝을위한기초수학
1|일차함수,기울기와y절편
2|이차함수와최솟값
3|미분,순간변화율과기울기
4|편미분
5|지수와지수함수
6|시그모이드함수
7|로그와로그함수

둘째마당예측모델의기본원리
4장.가장훌륭한예측선
1|선형회귀의정의
2|가장훌륭한예측선이란?
3|최소제곱법
4|파이썬코딩으로확인하는최소제곱
5|평균제곱오차
6|파이썬코딩으로확인하는평균제곱오차

5장.선형회귀모델:먼저긋고수정하기
1|경사하강법의개요
2|파이썬코딩으로확인하는선형회귀
3|다중선형회귀의개요
4|파이썬코딩으로확인하는다중선형회귀
5|텐서플로에서실행하는선형회귀,다중선형회귀모델

6장.로지스틱회귀모델:참거짓판단하기
1|로지스틱회귀의정의
2|시그모이드함수
3|오차공식
4|로그함수
5|텐서플로에서실행하는로지스틱회귀모델

셋째마당딥러닝의시작,신경망
7장.퍼셉트론과인공지능의시작
1|인공지능의시작을알린퍼셉트론
2|퍼셉트론의과제
3|XOR문제

8장.다층퍼셉트론
1|다층퍼셉트론의등장
2|다층퍼셉트론의설계
3|XOR문제의해결
4|코딩으로XOR문제해결하기

9장.오차역전파에서딥러닝으로
1|딥러닝의태동,오차역전파
2|활성화함수와고급경사하강법
3|속도와정확도문제를해결하는고급경사하강법

넷째마당딥러닝기본기다지기
10장.딥러닝모델설계하기
1|모델의정의
2|입력층,은닉층,출력층
3|모델컴파일
4|모델실행하기

11장.데이터다루기
1|딥러닝과데이터
2|피마인디언데이터분석하기
3|판다스를활용한데이터조사
4|중요한데이터추출하기
5|피마인디언의당뇨병예측실행

12장.다중분류문제해결하기
1|다중분류문제
2|상관도그래프
3|원­핫인코딩
4|소프트맥스
5|아이리스품종예측의실행

13장.모델성능검증하기
1|데이터의확인과예측실행
2|과적합이해하기
3|학습셋과테스트셋
4|모델저장과재사용
5|k겹교차검증

14장.모델성능향상시키기
1|데이터의확인과검증셋
2|모델업데이트하기
3|그래프로과적합확인하기
4|학습의자동중단

15장.실제데이터로만들어보는모델
1|데이터파악하기
2|결측치,카테고리변수처리하기
3|속성별관련도추출하기
4|주택가격예측모델

다섯째마당딥러닝활용하기
16장.이미지인식의꽃,컨볼루션신경망(CNN)
1|이미지를인식하는원리
2|딥러닝기본프레임만들기
3|컨볼루션신경망(CNN)
4|맥스풀링,드롭아웃,플래튼
5|컨볼루션신경망실행하기

17장.딥러닝을이용한자연어처리
1|텍스트의토큰화
2|단어의원­핫인코딩
3|단어임베딩
4|텍스트를읽고긍정,부정예측하기

18장.시퀀스배열로다루는순환신경망(RNN)
1|LSTM을이용한로이터뉴스카테고리분류하기
2|LSTM과CNN의조합을이용한영화리뷰분류하기
3|어텐션을사용한신경망

19장.세상에없는얼굴GAN,오토인코더
1|가짜제조공장,생성자
2|진위를가려내는장치,판별자
3|적대적신경망실행하기
4|이미지의특징을추출하는오토인코더

20장.전이학습을통해딥러닝의성능극대화하기
1|소규모데이터셋으로만드는강력한학습모델
2|전이학습으로모델성능극대화하기

21장.설명가능한딥러닝모델만들기
1|딥러닝의결과를설명하는방법
2|설명가능한딥러닝의실행

22장.캐글로시작하는새로운도전
1|캐글가입및대회선택하기
2|데이터획득하기
3|학습하기
4|결과제출하기
5|최종예측값제출하기

심화학습1.오차역전파의계산법
1|출력층의오차업데이트
2|오차공식
3|체인룰
4|체인룰계산하기
5|가중치수정하기
6|은닉층의오차수정하기
7|은닉층의오차계산법
8|델타식

심화학습2.파이썬코딩으로짜보는신경망
1|환경변수설정하기
2|파이썬코드로실행하는신경망

부록A내컴퓨터에서아나콘다로딥러닝실행하기

별책부록
1장.가장많이사용하는머신러닝알고리즘TOP10
1|세상의거의모든머신러닝알고리즘
2|실습을위한준비사항
3|결정트리
4|랜덤포레스트
5|가우시안나이브베이즈
6|k­최근접이웃
7|에이다부스트
8|이차판별분석
9|서포트벡터머신
10|서포트벡터머신­RBF커널
11|보팅
12|배깅
13|여러알고리즘의성능을한눈에비교하기

2장.데이터분석을위한판다스:92개의예제모음
A|데이터만들기
__1.판다스라이브러리불러오기
__2.데이터프레임만들기
__3.데이터프레임출력하기
__4.데이터의열이름을따로지정해서만들기
__5.인덱스가두개인데이터프레임만들기
B|데이터정렬하기
__6.특정열값을기준으로정렬하기
__7.열이름변경하기
__8.인덱스값초기화하기
__9.인덱스순서대로정렬하기
__10.특정열제거하기
C|행추출하기
__11.맨위의행출력하기
__12.맨아래행출력하기
__13.특정열의값을추출하기
__14.특정열에특정값이있을경우추출하기
__15.특정열에특정값이없을경우추출하기
__16.특정열에특정숫자가있는지확인하기
__17.특정비율로데이터샘플링하기
__18.특정개수만큼데이터샘플링하기
__19.특정열에서큰순서대로불러오기
__20.특정열에서작은순서대로불러오기
D|열추출하기
__21.인덱스의범위로불러오기
__22.첫인덱스를지정해불러오기
__23.마지막인덱스를지정해불러오기
__24.모든인덱스불러오기
__25.특정열을지정해가져오기
__26.조건을만족하는열가져오기
__27.특정문자가포함되지않는열가져오기
E|행과열추출하기
__28.특정행과열을지정해가져오기
__29.인덱스로특정행과열가져오기
__30.특정열에서조건을만족하는행과열가져오기
__31.인덱스를이용해특정조건을만족하는값불러오기
F|중복데이터다루기
__32.특정열에어떤값이몇개들어있는지알아보기
__33.데이터프레임의행이몇개인지세어보기
__34.데이터프레임의행과열이몇개인지세어보기
__35.특정열에유니크한값이몇개인지세어보기
__36.데이터프레임의형태한눈에보기
__37.중복된값제거하기
G|데이터파악하기
__38.각열의합보기
__39.각열의값이모두몇개인지보기
__40.각열의중간값보기
__41.특정열의평균값보기
__42.각열의25%,75%에해당하는수보기
__43.각열의최솟값보기
__44.각열의최댓값보기
__45.각열의표준편차보기
__46.데이터프레임각값에일괄함수적용하기
H|결측치다루기
__47.null값인지확인하기
__48.null값이아닌지확인하기
__49.null값이있는행삭제하기
__50.null값을특정값으로대체하기
__51.null값을특정계산결과로대체하기
I|새로운열만들기
__52.조건에맞는새열만들기
__53.assign()을이용해조건에맞는새열만들기
__54.숫자형데이터를구간으로나누기
__55.기준값이하와이상을모두통일시키기
__56.최댓값불러오기
__57.최솟값불러오기
J|행과열변환하기
__58.모든열을행으로변환하기
__59.하나의열만행으로이동시키기
__60.여러개의열을행으로이동시키기
__61.특정열의값을기준으로새로운열만들기
__62.원래데이터형태로되돌리기
K|시리즈데이터연결하기
__63.시리즈데이터합치기
__64.데이터를병합할때새로운인덱스만들기
__65.계층적인덱스를추가하고열이름지정하기
L|데이터프레임연결하기
__66.데이터프레임합치기
__67.열의수가다른두데이터프레임합치기
__68.함께공유하는열만합치기
__69.열이름이서로다른데이터합치기
M|데이터병합하기
__70.왼쪽열을축으로병합하기
__71.오른쪽열을축으로병합하기
__72.공통값만병합하기
__73.모든값을병합하기
__74.특정한열을비교해서공통값이존재하는경우만가져오기
__75.공통값이존재하는경우해당값을제외하고병합하기
__76.공통값이있는것만병합하기
__77.모두병합하기
__78.어디서병합되었는지표시하기
__79.원하는병합만남기기
__80.merge칼럼없애기
N|데이터가공하기
__81.행전체를한칸아래로이동하기
__82.행전체를한칸위로이동하기
__83.첫행부터누적해서더하기
__84.새행과이전행을비교하면서최댓값출력하기
__85.새행과이전행을비교하면서최솟값출력하기
__86.첫행부터누적해서곱하기
O|그룹별로집계하기
__87.그룹지정및그룹별데이터수표시
__88.그룹지정후원하는칼럼표시하기
__89.밀집도기준으로순위부여하기
__90.최젓값을기준으로순위부여하기
__91.순위를비율로표시하기
__92.동일순위에대한처리방법정하기

출판사 서평

누구나딥러닝을이해하고,
나만의모델을구현할수있다!

준비|딥러닝을이해하고,학습을위한준비하기
딥러닝실행환경을갖추고,기초수학을배우며학습에들어갈준비를합니다.또한,딥러닝의기본동작원리인선형회귀와로지스틱회귀도배웁니다.

기본|딥러닝기본다지기
딥러닝을설계할때꼭필요한신경망과역전파의개념을배우고,여섯개의프로젝트를실습하며딥러닝이론이실제프로젝트에어떻게적용되는지확인합니다.각프로젝트는딥러닝에서꼭필요한기술을하나씩담고있습니다.

활용|주요딥러닝모델을이해하고구현해보기
지금까지배운내용을바탕으로CNN,RNN,자연어처리,GAN,전이학습,설명가능한딥러닝,캐글도전등을익히고실습과함께다뤄봅니다.

심화학습|역전파와신경망깊이있게알아보기

별책|1)가장많이사용하는머신러닝알고리즘TOP10
2)데이터분석을위한판다스예제92개

[베타테스터후기]

이책은딥러닝에입문하려는이들에게이론과실습을통해기본기를탄탄하게잡아주는책입니다.딥러닝기초수학으로개념을잡고,텐서플로2를이용해직접모델을돌려보도록구성되어있습니다.GPU가없어도코랩에서바로실습이가능하도록코드가잘되어있기에,비전공자들도실습환경고민없이쉽게공부할수있습니다.코드주석,도식화,눈에잘들어오는편집등책의완성도가굉장히높습니다.딥러닝입문을희망하는이들이있다면,이책을꼭추천하고싶습니다.
장대혁_NLP엔지니어(실습환경:코랩)

이책은딥러닝에대한사전지식이없는사람들도쉽게이해할수있도록여러비유와예시를들어딥러닝의개념을설명하고있습니다.주제별로코드를한줄씩자세하게설명해딥러닝을처음접하는사람들도딥러닝의개념을확실하게이해할수있도록도와줍니다.간단한로지스틱회귀부터CNN,자연어처리뿐만아니라GAN,XAI등최신동향도설명하고있어최신기술까지습득할수있도록도와주는유용한책입니다.또한,마지막의캐글을활용한분석의경우도캐글에입문하고자하는사람들에게도움이될것같습니다.딥러닝개념을쉽게이해할수있는책을찾고있는분들에게추천합니다.
이혜민_LG디스플레이데이터분석가(실습환경:코랩)

이번개정3판의의미가큰것같습니다.그동안충분히좋은책으로인정을받아왔는데,이번3판에서실습환경이코랩으로제공되어학습편의성이한층향상되었습니다.책을읽으면서,저자분의친절함을많은곳에서느낄수있었습니다.특히딥러닝에서사용되는수학적인이론을정의하고그이론을바탕으로실제딥러닝코드에적용되는설명이매우인상깊었습니다.“어……들어는보았는데……,사용해보았는데…….”왜쓰는지잘기억이나지않는경우가있었는데,멀리흩어져있는지식들이정리되었고,책장에한권은비치해놓고봐야하는책이라는생각이들었습니다.친절한해설,그안에구체화된그림으로전체적인딥러닝뷰를볼수있고사용되는이론과동작원리가설명되어있어서많은도움이됩니다.편집이깔끔하고컬러로구성되어학습하는데가독성이높아내용을한눈에파악할수있었습니다.『모두의딥러닝』으로새롭게딥러닝을시작하는독자분에게는좋은기준을세워줄수있고기존에조금알고계신독자분께서는조금더깊게내공을다질수있는책이라고생각됩니다.
박찬웅_SW개발자(실습환경:코랩)

사실,딥러닝이미지분야쪽에서일한지3년차입니다.옛날에는논문을보고배우며실습해야했고,혼자서하기에는많은어려움이있었습니다.하지만이책을보고나서,처음딥러닝을배우는사람에게너무친숙하게책을만들었다는생각이들었습니다.기초적인수학부터시작해서논문으로이해해야만하는역전파,그리고쉽지않은RNN이나최신의VisionTransformer같은개념들을그림과함께제대로잘설명하고있으며,이책을쓰기위해많은노력을했다는것을느낄수있었습니다.매우친숙한문제들로실습하는것이정말좋았고,코드도깔끔하게잘짜여있습니다.
장승호_소프트웨어엔지니어(실습환경:코랩)

금융,공공기관개발과프로젝트를하던중디지털금융에관심이생기면서머신러닝에도관심을가지게되었습니다.처음에는유튜브나동영상강의그리고강좌를듣는것이좋다고하여무조건많이들었는데,기본이부족해서이해하는데많은어려움을겪었습니다.그러던중베타테스트기회를얻게되었고,책한권에딥러닝의전반적인내용이다포함되어있는것과핵심적인부분만이해하기쉽도록설명되어있는부분이좋았습니다.그래서전에제가기본없이의욕만가지고접한동영상의내용들도같이이해되는플러스효과를얻게되었습니다.딥러닝을입문하는데전혀부족함이없는책이라고생각하며,강력추천합니다.
안종식_PM/PL/개발자(아이티아이즈수석)(실습환경:코랩)

몇년전딥러닝프로젝트를처음맡았을때,가진지식이전무함에도어울리지않게중급서를구매해서보았는데지식습득까지는이어지지못한적이있었습니다.어떤도서가입문서인지,중급서인지판단도안되던시기였죠.『모두의딥러닝』은기초입문서로,머신러닝을처음배우고기초지식이전무한사람에게첫입문서로더할나위없이좋은책입니다.이를기반으로지식을더해가고중급개발자로성장하길바라겠습니다.
이진_IoT플랫폼개발(실습환경:코랩)


○조태호(지은이)의말
생각해보면,아주단순하고도막연한이유였던것같습니다.이책을처음에쓰게된이유말입니다.남들보다일찍딥러닝을만나현업연구에적용해오던사람으로서,비전공자인제가겪었던오류들을겪지않고가장빠른길로딥러닝을접할수있게끔간단히안내해주자는목표가이책의초판을쓰게했습니다.
그런데지난5년간,그막연함이사명감으로바뀌었습니다.다수의교육현장에서교재로채택되었다는소식을듣고,이책으로AI를처음배우거나새로운커리어로의도전을꿈꾸는많은분의피드백을받으며,이책을집어든모든분께정말로도움이되게끔저자로서최선을다하자는사명감이단단해지기시작한것입니다.
머신러닝까지범위를확장한『모두의딥러닝,개정3판』은이러한사명감을배경으로출발했습니다.기존에했던설명보다더나은방향의설명이있다면주저없이수정했고,지금현업에서사용되는최신알고리즘을직접다루는책이되게끔노력했습니다.그결과,구글알파폴드의핵심중하나인어텐션편이더해졌고,딥러닝의예측결과를설명해주는설명가능한딥러닝편과,이렇게다져진실력을캐글대회를통해확인하고세계로실력을뻗어나가게돕는캐글로의도전편이더해지게되었습니다.또복잡한초기설치가필요없게끔개편되었고,컴퓨터성능의한계가실행에방해되지않도록구글코랩중심으로모든코드와내용이전면수정되었습니다.
가장큰변화는딥러닝이외의머신러닝을모아가장많이사용하는머신러닝TOP10을선정하고,데이터를다루는데필수적인판다스의기능을한눈에파악하게해주는내용을새롭게편성해서이들을별책부록으로만들었다는것입니다.이로써현업에서많이쓰이는머신러닝,딥러닝의핵심을두루소개하며,각요소마다적절한코드를통해실제로해당알고리즘을다루게해주는내실있는구성으로재탄생되었다고생각합니다.
초판부터이어지는이책의주목적,즉컴퓨터나프로그래밍의길을접해보지않은사람도충분히이해가되게끔설명하자는것은이번에도여전히최우선목표였습니다.고등학교수준의수학,기본파이썬을아는정도의프로그래밍실력만으로딥러닝을막힘없이해내게끔가이드하기위해최선의노력을기울였습니다.
인터넷의발달이일방적정보전달의시대를끝냈듯,구글코랩같은최적의시스템들이내가직접AI를만들고배포하는시대를열어주었습니다.이러한시대의첨단에선여러분이새로운인공지능의시대로나아가는데이책이기여하길바랍니다.