◈추천의글◈
인공지능(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에서와같이단순한문장을영어에서프랑스어로아니면다른유사한언어로자동으로번역해준다.마지막으로,여러분은이미지와언어처리를묶는이미지캡셔닝네트워크를어떻게구축하는지살펴볼것이다.이네트워크는이미지를입력으로받고이미지의자연어설명을자동으로생성한다.우리가방금설명한것들이이책의주요내용이다.이여정을통해여러분은그밖의많은내용을자세히배울것이다.
◈옮긴이의말◈
딥러닝으로의첫여행을시작하신분들을환영합니다.또한딥러닝입문을위해이책을선택하신여러분께찬사를보내드립니다.왜냐하면여러분은가장탁월한선택을하셨기때문입니다.지금부터수많은딥러닝책중에서왜이책이좋은선택이될수있는지말씀드리겠습니다.
딥러닝기술이발전하고널리보급됨으로인한장점중하나는,예측또는그비슷한것을무언가부담스러운과학의관점에서기술의관점으로바라보기가더쉬워졌다는점이라고생각합니다.다르게말하자면,배경지식에너무신경쓰지말고일단데이터에서유의미한결과를얻는데집중하게되었다는것입니다.저자도