딥러닝 초보자를 위한 엔비디아 가이드북 - 에이콘 데이터 과학 시리즈

딥러닝 초보자를 위한 엔비디아 가이드북 - 에이콘 데이터 과학 시리즈

$60.00
저자

매그너스에크만

저자:매그너스에크만
엔비디아의아키텍처디렉터다.컴퓨터엔지니어링학위를가졌으며다수의특허를보유하고있다.1990년대후반에모국인스웨덴에서인공신경망으로처음알려졌다.이후몇몇혁명적인연산분야에손을댄뒤,컴퓨터아키텍처에집중하며아내제니퍼,아이들세바스찬과소피아,애견바벳과함께실리콘밸리로이주했다.이전에는썬마이크로시스템즈와삼성리서치아메리카의프로세서디자인및R&D에서일했으며,두회사를시작하는데관여했고그중하나인스카우트(Skout)는더밋그룹(TheMeetGroup,Inc)이인수했다.현재는엔비디아에서자율주행차부터인공지능을위한데이터센터에이르기까지의시장을겨냥하는칩의CPU성능과전력효율성을연구하는엔지니어링팀을이끌고있다.엔비디아의GPU기술과CUDA에힘입어과거수년간딥러닝분야가폭발적으로커짐에따라,그는컴퓨터그래픽스를넘어확장하면서DL파워하우스가되고있는회사의가운데에있는자신을발견했다.이러한여정의일부로,이분야에서가장최근의발전을통해자신을최신의상태로유지하고자노력했다.에크만은스스로를교육자라고생각하고있으며,이책을집필하면서AI에대한실제적인훈련,가속화된연산및가속화된데이터과학을제공하는엔비디아딥러닝연구소(DLI,DeepLearningInstitute)와협력했다.또한이책을자기진도온라인과정의기존포트폴리오인라이브강사주도워크숍,교육자프로그램,교습도구에추가하고자하는DLI의계획에매우기뻐하고있다.

역자:이판호
성균관대학교에서통계학을전공했으며금융업계에서주로데이터분석관련업무를맡아왔다.프로그래밍세계에본격적으로입문한이후로는데이터를기반으로하는금융투자및이를위한프로그램개발에관심을두고있다.에이콘출판사에서펴낸『R병렬프로그래밍』(2017),『파이썬으로배우는데이터과학2/e』(2017),『Akka쿡북』(2018)을번역했다.

목차

1장.로젠블랫퍼셉트론

2입력퍼셉트론예제
퍼셉트론학습알고리듬
퍼셉트론의한계
여러퍼셉트론조합하기
선형대수로퍼셉트론구현하기
__벡터표기법
__내적
__벡터를2차원행렬로확장하기
__행렬-벡터곱
__행렬-행렬곱
__퍼셉트론을위해사용한벡터와행렬연산의요약
__행렬곱으로서의내적
__다차원텐서로확장하기
퍼셉트론의기하학적해석
편향항이해하기
퍼셉트론맺음말

2장.기울기기반학습

퍼셉트론학습알고리듬의직관적인설명
미분그리고최적화문제
경사하강으로학습문제풀기
__다차원함수를위한경사하강
네트워크에서의상수와변수
퍼셉트론학습알고리듬의분석적인설명
퍼셉트론학습알고리듬의기하학적설명
각기다른형태의퍼셉트론도표다시보기
패턴식별에퍼셉트론사용하기
기울기기반학습의맺음말

3장.시그모이드뉴런과역전파

다수준네트워크에서경사하강이가능하도록수정된뉴런
어떠한활성함수를사용해야하는가
함수합성과연쇄법칙
역전파를사용해기울기계산하기
__포워드패스
__백워드패스
__가중치조정
층마다복수의뉴런이있는역전파
프로그래밍예제:XOR함수학습하기
네트워크아키텍처
역전파의맺음말

4장.다중클래스분류에적용된완전연결네트워크

네트워크를훈련시킬때쓰이는데이터셋소개
__데이터셋살펴보기
__데이터에서인간의편향
__훈련집합,테스트집합,그리고일반화
__초매개변수튜닝과테스트집합정보유출
훈련과추론
네트워크와학습알고리듬을확장해다중클래스분류하기
숫자분류를위한네트워크
다중클래스분류를위한오차함수
프로그래밍예제:손글씨숫자분류하기
미니배치경사하강
다중클래스분류의맺음말

5장.DL을향해:프레임워크및네트워크미조정

프로그래밍예제:DL프레임워크로이동하기
포화뉴런과기울기소실문제
포화뉴런을피하기위한초기화및정규화기법
__가중치초기화
__입력표준화
__배치정규화
포화출력뉴런의영향을완화하는교차엔트로피손실함수
__교차엔트로피손실함수의컴퓨터구현
은닉층에서기울기소실을피하는다른활성함수
학습을개선하기위한경사하강의변형
실험:네트워크및학습매개변수미조정
초매개변수튜닝과교차검증
__검증집합을사용해과적합피하기
__훈련데이터사용을개선하는교차검증
딥러닝을향한경로에대한맺음말

6장.회귀에적용된완전연결네트워크

출력유닛
__이진분류를위한로지스틱유닛
__다중클래스분류를위한소프트맥스유닛
__회귀를위한선형유닛
보스턴주택데이터셋
프로그래밍예제:DNN으로주택가격예측하기
정칙화로일반화개선하기
실험:주택가격예측을위한더깊은그리고정칙화된모델
출력유닛과회귀문제의맺음말

7장.이미지분류에적용된합성곱신경망

CIFAR-10데이터셋
합성곱층의특징과기본토대
특성맵을합성곱층에조합하기
합성곱및완전연결층을네트워크로조합하기
희소연결과가중치공유의효과
프로그래밍예제:합성곱네트워크로이미지분류하기
합성곱네트워크의맺음말

8장.더깊은CNN및사전훈련된모델

VGGNet
GoogLeNet
ResNet
프로그래밍예제:사전훈련된ResNet구현사용하기
전이학습
CNN을위한역전파및풀링
정칙화기법으로서의데이터증대
CNN이저지르는실수
깊이별분리가능합성곱으로매개변수줄이기
EfficientNet으로올바른네트워크디자인균형맞추기
더깊은CNN의맺음말

9장.순환신경망으로시간시퀀스예측하기

피드포워드네트워크의한계
순환신경망
순환층의수학적표현
층을RNN에조합하기
RNN을보는다른시각및시간전개
시간에따른역전파
프로그래밍예제:서적매출전망하기
__데이터표준화및훈련예제만들기
__단순한RNN만들기
__순환이없는네트워크와비교
__예제를다중입력변수로확장하기
RNN에서데이터셋고려사항
RNN의맺음말

10장.장단기메모리

기울기를건강하게유지하기
LSTM소개
__LSTM활성함수
__LSTM셀의네트워크만들기
LSTM을보는다른시각
관련주제:하이웨이네트워크와스킵연결
LSTM의맺음말

11장.LSTM과빔검색으로하는텍스트자동완성

텍스트인코딩
장기예측과자기회귀모델
빔검색
프로그래밍예제:텍스트자동완성을위해LSTM사용하기
양방향RNN
입력및출력시퀀스의다른조합
LSTM으로하는텍스트자동완성의맺음말

12장.신경언어모델과단어임베딩

언어모델소개및사용사례
다른언어모델의예시
__n그램모델
__스킵그램모델
__신경언어모델
단어임베딩의이점및동작방식에대한인사이트
신경언어모델이만든단어임베딩
프로그래밍예제:신경언어모델과결과임베딩
King-Man+Woman!=Queen
King-Man+Woman!=Queen
언어모델,단어임베딩,인간편향
관련주제:텍스트의감정분석
__단어주머니와n그램주머니
__유사도지표
__BoW와DL조합하기
언어모델과단어임베딩의맺음말

13장.word2vec과GloVe로부터의단어임베딩

언어모델없이word2vec을사용해단어임베딩만들기
__언어모델과비교해연산복잡도줄이기
__연속단어주머니모델
__연속스킵그램모델
__계산복잡도를더욱낮추기위한최적연속스킵그램모델
word2vec에대한추가적인생각들
행렬형식에서의word2vec
word2vec일단락
프로그래밍예제:GloVe임베딩의속성살펴보기
word2vec과GloVe의맺음말

14장.시퀀스투시퀀스네트워크와자연어번역

시퀀스투시퀀스학습을위한인코더-디코더모델
케라스펑셔널API소개
프로그래밍예제:신경머신번역
실험결과
중간표현의속성
언어번역의맺음말

15장.어텐션과트랜스포머

어텐션배후의근거
시퀀스투시퀀스네트워크에서의어텐션
__정렬벡터계산하기
__정렬벡터의수학적표기및변형
__더깊은네트워크에서의어텐션
__추가적인고려사항
순환네트워크의대안
셀프어텐션
멀티헤드어텐션
트랜스포머
트랜스포머의맺음말

16장.이미지캡셔닝을위한일대다네트워크

이미지캡셔닝네트워크를어텐션으로확장하기
프로그래밍예제:어텐션기반이미지캡셔닝
이미지캡셔닝의맺음말

17장.추가적인주제메들리

오토인코더
__오토인코더의사용사례
__오토인코더의다른면들
__프로그래밍예제:이상치탐지를위한오토인코더
멀티모달학습
__멀티모달학습의분류체계
__프로그래밍예제:멀티모달입력데이터로분류하기
멀티태스크학습
__멀티태스크학습을구현하는이유
__멀티태스크학습을구현하는방법
__다른측면그리고기본적인구현의변형
__프로그래밍예제:단일네트워크로하는멀티클래스분류및질문답변
네트워크튜닝과정
__더많은훈련데이터를모아야하는시기
신경아키텍처검색
__신경아키텍처검색의주요구성요소
__프로그래밍예제:CIFAR-10분류를위한아키텍처검색
__신경아키텍처검색의의의
맺음말

18장.정리및다음단계

여러분이이제알아야할것들
윤리적AI그리고데이터윤리
__찾아볼문제
__질문체크리스트
여러분이아직모르는것들
__강화학습
__변형오토인코더및생성적적대네트워크
__뉴럴스타일트랜스퍼
__추천시스템
__구어를위한모델
다음단계

부록
부록A.선형회귀와선형분류기
부록B.물체탐지와세분화
부록C.word2vec과GloVe너머의단어임베딩
부록D.GPT,BERT,RoBERTa
부록E.뉴턴-랩슨대경사하강
부록F.숫자분류네트워크의행렬구현
부록G.합성곱층을수학적합성곱과연관시키기
부록H.게이트순환유닛
부록I.개발환경설정
부록J.치트시트

출판사 서평

◈추천의글◈

인공지능(AI,ArtificalIntelligence)은지난10년간인상적인진전을이뤘다.우리처럼생각하고행동할수있는지적기계를만들고자하는인간의꿈이마침내시작되는것같다.모두가이러한역사적인혁명에참여할수있으려면AI지식과자원의민주화가필요하다.이책은이러한담대한목표를달성하는데있어시의적절하며유의미하다.

이책은야망있으며경험을가진AI개발자모두에게폭넓은교육적가이드를제공한다.저자인매그너스는AI분야에서확고한리더인NVIDIA로부터얻은풍부한경험을공유해준다.지난수년간딥러닝에서의비약적인발전을다루는데집중하고있는이책은좋은균형을유지하며역전파와같은중요한근본적인내용몇몇도메인에서의최신모델(예를들면언어이해를위한GPT,이미지이해를위한MaskR-CNN)모두를다룬다.

AI는데이터,알고리듬,연산인프라의삼위일체다.ImageNet대회가시작되며커다란신경망을훈련하기위한대규모벤치마크데이터셋을제공했다.NVIDIAGPU의병렬화는이러한커다란신경망의훈련을가능케했다.대규모모델의구축과유지는곧모든AI엔지니어의필수적인기술로간주될것이다.이책은여러도메인에서의대규모모델을깊게다루고있으며또한신경아키텍처검색과같은떠오르는분야를다룬다.우리가이분야에서현재의AI모델로부터될수있는한최대의정확도와하드웨어효율성을끌어내기시작했으므로,이들은더욱널리보급될것이다.딥러닝혁명은거의전적으로오픈소스로부터발생돼왔다.이책은코드와데이터셋을편리하게접근하도록해주며코드예제를세밀하게진행한다.딥러닝을위한가장인기있는프레임워크인텐서플로(TensorFlow)와파이토치(PyTorch)모두를위한폭넓은프로그램코드가준비되어있다.

AI를다루는어떤책이든지윤리적문제를논의하지않을수없을것이다.나는AI를개발하는데있어사회적영향을냉정하게생각해보는것이모든AI엔지니어의책임이라믿는다.소셜미디어에서의괴롭힘,혐오발언,잘못된정보의확산은잘못디자인된알고리듬이어떻게우리사회에커다란혼란을초래하는지보여준다.

젠더쉐이드(GenderShades)프로젝트와확률적앵무새(StochasticParrots)같은획기적인연구는상업적으로대규모로배포된AI모델에서문제가되는편향성을보여준다.나는적절한가이드라인과테스트가자리잡을때까지는민감한상황에서의AI사용을금지해야한다고주장해왔다(예:법집행을위한AI기반의안면인식사용).나는이책이AI모델훈련과유지에있어책임성과투명성을개선하는모델카드와같은상당한발전내용을다룬다는점을기쁘게생각한다.AI커뮤니티의밝고폭넓은미래를기대한다.

◈이책에서다루는내용◈

-퍼셉트론,기울기기반학습,시그모이드뉴런,역전파같은핵심개념을탐색하고마스터한다.
-DL프레임워크가어떻게더욱복잡하고유용한신경망의개발을쉽게만들어주는지알아본다.
-합성곱신경망(CNN)이이미지분류및분석에가져온혁명을탐색해본다.
-순환신경망(RNN)과장단기메모리(LSTM)를텍스트및다른가변길이시퀀스에적용해본다.
-시퀀스투시퀀스및트랜스포머아키텍처로NLP을마스터한다.
-자연어번역및이미지캡셔닝을위한애플리케이션을구축한다.

◈이책의구성◈

1장,‘로젠블랫퍼셉트론’에서는신경망의기본토대인퍼셉트론을소개한다.

2장,‘기울기기반학습’에서는경사하강(gradientdescent)이라알려진최적화알고리듬및퍼셉트론학습알고리듬이면의이론을설명한다.

3장,‘시그모이드뉴런과역전파’에서는DNN에서의자동학습에쓰이는역전파알고리듬을수학적용어그리고이진분류를위해쓰인프로그래밍예제모두를통해설명한다.

4장,‘다중클래스분류에적용된완전연결네트워크’에서는데이터셋의개념과이들이어떻게훈련집합과테스트집합으로나뉘는지설명한다.

5장,‘DL을향해:프레임워크및네트워크미조정’에서는이전장의예제를DL프레임워크로구현한다.이프레임워크가코드를어떻게엄청나게단순화하는지그리고네트워크의여러변형을모델링하게해주는지보여준다.

6장,‘회귀에적용된완전연결네트워크’에서는이전장에서공부한분류문제대신수치를예측하는데네트워크를사용하는방법을공부한다.

7장,‘이미지분류에적용된합성곱신경망’에서는합성곱신경망혹은그냥합성곱네트워크라불리는,2012년에DL붐을시작시킨네트워크의한가지형태를배운다.

8장,‘더깊은CNN및사전훈련된모델’에서는GoogLeNet,VGG,ResNet과같은더깊은CNN을설명한다.프로그래밍예제로사전훈련된ResNet구현을다운로드하고이미지를분류하는방법을배운다.

9장,‘순환신경망으로시간시퀀스예측하기’에서는이전장에서설명한네트워크의한계와관렪된과제를다루는데적합한순환신경망(RNN,RecurrentNeuralNetwork)아키텍처를설명한다.

10장,‘장단기메모리’에서는RNN이장기의존성을학습하지못하게하는문제를논의한다.긴시퀀스를더잘다루게해주는장단기메모리(LSTM,LongShort-TermMemory)기법을설명한다.

11장,‘LSTM과빔검색으로하는텍스트자동완성’에서는장기예측을위한LSTM기반RNN을사용하는방법을살펴보고,빔검색(BeamSearch)이라알려진개념을소개한다.

12장,‘신경언어모델과단어임베딩’에서는이전장의예제는단어대신개별글자에기반하는데,많은경우단어및그의미를가지고작업하는것이개별글자로작업하는것보다더욱강력하다.12장은개념언어모델과벡터공간(임베딩공간(embeddingspace)이라고도함)에서의단어임베딩에대해소개한다.

13장,‘word2vec과GloVe로부터의단어임베딩’에서는단어임베딩을만들기위한두가지인기있는기법을논의한다.

14장,‘시퀀스투시퀀스네트워크와자연어번역’에서는두순환신경망의조합인시퀀스투시퀀스네트워크(sequence-to-sequencenetwork)라알려진네트워크를소개한다.

15장,‘어텐션과트랜스포머’에서는인코더-디코더아키텍처의정확도를개선할수있는어텐션attention이라부르는기법을설명한다.

16장,‘이미지캡셔닝을위한일대다네트워크’에서는어떻게일대다네트워크를사용해이미지의텍스트설명을만들고이러한네트워크를어텐션으로확장하는지설명한다.

17장,‘추가적인주제메들리’에서는지금까지주제가서로에기반하여만들어지도록구조화했다.17장에서는이전장에포함시킬좋은방법을찾지못했던몇가지주제를소개한다.이러한주제의예제로는오토인코더,멀티모달학습,멀티태스크학습,신경아키텍처검색등이다.

18장,‘정리및다음단계’에서는마지막18장에서는이전장에서논의한주제를정리하고요약해여러분이이책에서설명한핵심개념을잘이해하고있는지확인할수있는기회를제공한다.

부록A,‘선형회귀와선형분류기’에서는매우기본적인ML주제를설명하여여러분이제시된몇몇DL개념이어떻게더욱전통적인ML기법에연관되어있는지알수있게한다.부록A는논리적으로3장다음이다.

부록B,‘물체탐지와세분화’에서는한이미지내의여러물체를탐지하고분류하는기법을설명한다.부록B는논리적으로8장다음이다.

부록C,‘word2vec과GloVe너머의단어임베딩’에서는단어임베딩을위한더욱정교한기법을설명한다.부록C는논리적으로13장다음이다.

부록D,‘GPT,BERT,RoBERTa’에서는트랜스포머로부터만들어지는아키텍처를설명한다.이네트워크아키텍처는많은NLP과제를상당히개선했다.부록D는논리적으로15장다음이다.

부록E,‘뉴턴-랩슨대경사하강’에서는2장에서는경사하강이라부르는수학적개념의기법을소개하는데,부록E는뉴턴-랩슨(Newton-Raphson)이라알려진다른방법및이것이경사하강과어떻게연관이있는지설명한다.

부록F,‘숫자분류네트워크의행렬구현’에서는4장에는파이썬코드로신경망을구현하는프로그래밍예제가포함되는데,부록F는그프로그래밍예제의최적화된변형두가지를설명한다.

부록G,‘합성곱층을수학적합성곱과연관시키기’에서는7장에서는합성곱신경망을설명하는데,이들은합성곱(convolution)이라알려진수학적연산에근거하며이로부터이름을얻었다.부록G는이와같은연결을더자세히설명한다.

부록H,‘게이트순환유닛’에서는10장에서는장단기메모리(LSTM)라알려진네트워크를설명하는데,부록H에서이유닛의더단순한버전인게이트순환유닛(GRU,GatedRecurrentUnit)을설명한다.

부록I,‘개발환경설정’에서는개발환경을설정하는방법에대한정보와함께,딥러닝프레임워크를설치하는방법과코드예제를어디에서찾을수있는지도알아본다.또한이책의코드예제에쓰인두가지DL프레임워크인텐서플로와파이토치의주요차이점을간단하게설명한다.

부록J,‘치트시트’에서는이책에실린상당부분의내용을요약하는치트시트세트를포함하고있다.

◈지은이의말◈

딥러닝(DL,DeepLearning)은빠르게발전하고있는분야이며,전통적으로인간만이수행할수있었던과제를수행하는데엄청난결과를보여왔다.이러한과제의예시로는이미지분류,이미지의자연어설명생성,자연어번역,음성-텍스트변환및텍스트-음성변환이있다.

이책은이러한주제를빠르게잘알수있게해준다.DL이어떻게동작하는지,무엇을할수있는지가르쳐주며,몇몇실제적인경험을제공해추가적인학습을위한탄탄한토대를제공하는것을목표로한다.

여러분은퍼셉트론및다른인공신경에대해배우게될것이다.이들은심층신경망의기본적인토대로,DL혁명을가능케했다.그리고완전연결된피드포워드네트워크와합성곱네트워크에대해알아본다.이러한네트워크를적용하여,다수의변수를기반으로하는주택가격을예측하거나이미지가어떠한범주에속하는지와같은실제적인문제를푼다.그림P-1은이러한범주와이미지의예를보여준다.

여러분은또한인코딩된단어의일부의미를포착하는인코딩을함께사용해자연어로부터나온단어를나타내는방법을배울것이다.그뒤순환신경망으로이인코딩을사용해신경기반자연어번역기를만들것이다.이번역기는그림P-2에서와같이단순한문장을영어에서프랑스어로아니면다른유사한언어로자동으로번역해준다.마지막으로,여러분은이미지와언어처리를묶는이미지캡셔닝네트워크를어떻게구축하는지살펴볼것이다.이네트워크는이미지를입력으로받고이미지의자연어설명을자동으로생성한다.우리가방금설명한것들이이책의주요내용이다.이여정을통해여러분은그밖의많은내용을자세히배울것이다.

◈옮긴이의말◈

딥러닝으로의첫여행을시작하신분들을환영합니다.또한딥러닝입문을위해이책을선택하신여러분께찬사를보내드립니다.왜냐하면여러분은가장탁월한선택을하셨기때문입니다.지금부터수많은딥러닝책중에서왜이책이좋은선택이될수있는지말씀드리겠습니다.

딥러닝기술이발전하고널리보급됨으로인한장점중하나는,예측또는그비슷한것을무언가부담스러운과학의관점에서기술의관점으로바라보기가더쉬워졌다는점이라고생각합니다.다르게말하자면,배경지식에너무신경쓰지말고일단데이터에서유의미한결과를얻는데집중하게되었다는것입니다.저자도