줄리아 머신러닝, 딥러닝, 강화학습 (빠르고 우아하게 데이터 분석부터 강화학습까지 인공지능 실무 스킬업)

줄리아 머신러닝, 딥러닝, 강화학습 (빠르고 우아하게 데이터 분석부터 강화학습까지 인공지능 실무 스킬업)

$34.32
Description
파이썬 너머의 AI 세상, 프로덕션 줄리아 준비 끝
강력한 줄리아 언어와 생태계를 활용해 전문가답게 인공지능 실무를 처리해보자. 이 책은 줄리아의 타입 시스템이나 메서드 특화 등 언어적 특성을 자세히 살펴보고, 이어서 데이터 분석, 머신러닝, 딥러닝, 강화학습 영역에서의 일반적인 작업들과 최신 알고리즘들을 줄리아로 우아하게 실습해본다. 줄리아를 프로덕션 레벨로 익히고 활용하고 싶다면, 이 책이 유일무이한 선택이다.
저자

김태훈

서울대학교에서경영학과통계학을전공했다.상품선물을거래하는미국헤지펀드에서6년간파이썬으로데이터분석을했다.2012년부터국내대표사모운용사인타임폴리오자산운용에서전산본부를이끌고있다.주로하는업무는주문처리자동화,위험관리시스템구축,시장데이터분석등이다.서비스구현시에는C#을주로사용하고,데이터분석시에는줄리아를즐겨사용한다.러스트,F#등다양한프로그래밍언어를업무에도입해보는것을좋아하고,여러언어중에서줄리아로작업할때가장우아함을느꼈다.새벽에일어나서맑은정신으로코딩할때행복함을많이느낀다.

목차

베타리더후기xii
이책에대하여xvi

PARTI줄리아언어

CHAPTER1기본문법3
1.1변수3
1.2수치타입4
__정수4/부동소수점수5
1.3자료구조6
__배열6/튜플6/명명된튜플7/딕셔너리7
1.4문자열타입7
1.5복합타입9
1.6기본연산10
1.7함수11
__함수정의및호출11/인수기본값12/가변인수와키워드인수12/익명함수와do블록13/함수합성과파이핑14/벡터화용dot연산자14/인수전달방식14/객체호출함수15
1.8제어흐름15
__복합식15/조건식16/반복문16/예외처리17
1.9모듈17
1.10변수영역19
__전역변수19/함수의지역변수19/for,while,try문의지역변수20

CHAPTER2타입시스템23
2.1동적타입23
2.2추상타입과구체타입25
__줄리아수체계25/추상타입27/원시타입27/복합타입28/변경불가능성30/행위의상속31
2.3매개변수타입32
__UnionAll타입34/무공변성34/매개변수추상타입36
2.4그외타입들36
__싱글턴타입36/Nothing타입37/함수타입37/튜플타입37/유니언타입38
2.5타입변환과승격38
__타입변환39/승격40/사용자정의수타입41

CHAPTER3함수와메서드45
3.1다중디스패치46
__다중디스패치작동방식47/다중디스패치내부구현49/인수타입별로최적화된메서드정의50
3.2메서드특화51
__컴파일단계52/복합타입인수메서드의특화55/타입시스템과메서드특화57
3.3성능좋은코드를작성하는법57
__스크립트대신함수작성57/타입명시된전역변수활용58/배열의원소타입은구체타입으로58/복합타입의필드타입은구체타입으로59/타입안정성지키기59

CHAPTER4메타프로그래밍63
4.1코드의데이터표현63
__표현식63/심벌64/평가(실행)65/내삽65
4.2코드생성65
4.3매크로68
__매크로예제68/이스케이핑69/다시가위바위보70/유용한매크로72

CHAPTER5다차원배열75
5.1다차원배열의특징75
__열우선75/벡터화불필요78
5.2다차원배열의사용법80
__배열리터럴및생성80/인덱싱및할당82/브로드캐스팅83/뷰84
5.3사용자정의배열타입84

CHAPTER6병렬연산87
6.1멀티스레딩87
6.2멀티프로세싱90
6.3분산컴퓨팅92
6.4CUDAGPU활용96

PARTII데이터분석도구

CHAPTER7재현가능환경103
7.1패키지관리자103
7.2프로젝트환경관리106
7.3환경재현108

CHAPTER8상호작용환경111
8.1IJulia.jl111
8.2Pluto.jl113
8.3구글코랩114
8.4비주얼스튜디오코드116

CHAPTER9데이터처리도구117
9.1Tables.jl117
9.2DataFrames.jl118
__데이터프레임생성118/인덱싱120/열선택및변환122/분할,적용,결합123/팬더스와의비교124
9.3Query.jl126

CHAPTER10시각화도구129
10.1Plots.jl129
__기본사용법129/백엔드변경132/StatsPlots.jl133
10.2Makie.jl134

CHAPTER11데이터처리실습139
11.1변수명정정140
11.2결측치채우기141
11.3분포변환145

PARTIIIMLJ를이용한머신러닝

CHAPTER12워크플로151
12.1데이터준비152
__과학적타입153/데이터셋분할155/전처리156
12.2모델준비157
__모델검색157/모델코드로딩159/모델타입체계160
12.3학습,예측,평가161
__학습161/예측164/평가측도165/교차검증166
12.4하이퍼파라미터튜닝167
__튜닝예제168/조기종료171

CHAPTER13모델합성173
13.1데이터셋준비173
13.2파이프라인(합성모델)175
__파이프라인튜닝176/셀프튜닝모델들의파이프라인178/타깃변환179
13.3파이프라인(학습네트워크)180
__프로토타이핑180/학습네트워크내보내기183
13.4배깅186
__EnsembleModel187/학습네트워크188/RandomForest189
13.5스태킹190
__스태킹과정191/학습네트워크194

CHAPTER14비정형데이터197
14.1이미지분류197
__데이터정형화198/다양한모델적용199
14.2텍스트분석205
__텍스트전처리206/텍스트데이터의특성추출208/학습및예측211

PARTIV플럭스를이용한딥러닝

CHAPTER15자동미분217
15.1미분구하는방법217
15.2미분구현실습220
__구현1:손미분220/구현2:수치미분220/구현3:기호미분221/구현4:자동미분222/15.3플럭스의자동미분227
__자이곳사용법227/소스코드변환방식229

CHAPTER16플럭스사용법235
16.1데이터준비236
16.2모델생성237
__가중치초기화238/사용자정의타입과함자238
16.3학습및테스트240
__모델학습함수240/모델테스트함수242
16.4전체실행242
__손실함수및옵티마이저지정243/에폭별실행243/모델저장및로딩245
16.5관련패키지246

CHAPTER17컴퓨터비전249
17.1합성곱신경망249
__패션아이템분류249/숫자손글씨분류253
17.2전이학습253
__데이터셋준비254/학습및테스트함수255/모델정의255/학습및테스트256
17.3가짜이미지생성258
__사용자정의데이터셋258/생성자와판별자261/훈련262
17.4객체탐지265
__객체탐지266/탐지결과그리기267

CHAPTER18자연어처리271
18.1순환신경망271
__셀과래퍼271/계층273/손실함수정의274
18.2문자열생성275
__데이터셋생성276/모델및손실함수278/학습및문자열생성279
18.3텍스트분류280
__데이터셋준비281/학습및테스트함수282/임베딩층283/어텐션층283/모델정의284/사전학습된임베딩286/최종결과286
18.4트랜스포머288
__데이터셋준비및학습,텍스트함수288/모델정의288/학습결과290/정규화순서바꾸기291
18.5BERT292
__텍스트토큰화292/특성추출294/분류모델정의및학습295
18.6허깅페이스296
__BERT기반의모델298/GPT-2299/BART300

PARTV심층강화학습
CHAPTER19강화학습환경305
19.1환경사용법305
19.2카트폴환경307
19.3사용자정의환경309

CHAPTER20가치기반알고리즘313
20.1기본개념313
__정책,궤적,이득313/기대이득,최적정책314/가치함수:(최적)상태,(최적)행동314/어드밴티지함수315/시간차학습315/활성정책vs비활성정책317/탐험과활용317/타깃네트워크318/행동자-비평자318
20.2DQN318
__경험재현버퍼319/하이퍼파라미터321/모델정의323/전체실행함수325/행동선택함수328/모델훈련함수328/손실함수반환함수330/카트폴결과331
20.3DDPG333
__코드구현334/카트폴결과336
20.4SAC337
__코드구현338/카트폴결과342

CHAPTER21정책기반알고리즘343
21.1기본개념343
__정책경사343/GAE345
21.2A2C346
__롤아웃버퍼346/이득및GAE계산349/하이퍼파라미터350/모델정의352/전체실행함수354/행동선택함수356/모델훈련함수359/손실함수반환함수360/카트폴결과361
21.3PPO364
__코드구현366/카트폴결과367
21.4가치기반과정책기반알고리즘비교368

맺음말370
찾아보기373

출판사 서평

가장빠르고우아한데이터과학최고의언어를만날시간

줄리아는파이썬상위호환언어로평가받으면서사용이늘고있다.파이썬과같이동적언어이면서도C와같은정적언어에가까운실행속도를보이며,대부분의라이브러리역시줄리아코드로작성되어라이브러리의코드를수정하거나디버깅하기가매우쉽다는장점도있다.

이책은줄리아의우아한언어특성과강력한라이브러리생태계를활용해전문가답게인공지능실무를처리하는방법을알려준다.언어문법을매뉴얼형식으로설명하는대신,타입시스템,다중디스패치,메서드특화,메타프로그래밍,다차원배열,병렬연산등실무관점에서알아야할줄리아의코딩스타일을자세히다룬다.이어서데이터분석과시각화에쓰이는라이브러리들(Tables.jl,DataFrames.jl,Query.jl,Plots.jl등)과환경구성법을살펴보고,간단한전처리실습도해본다.특히책앞부분은파이썬과비교하는예시로파이썬사용자의줄리아적응을돕는다.

이후는머신러닝,딥러닝,강화학습영역의일반적인작업들에대해최신알고리즘을활용해줄리아로우아하게실습해보는시간이다.줄리아의과학적타입이나MLJ의모델합성을활용하면머신러닝워크플로자체가얼마나깔끔해지는지체감할수있다.플럭스를사용하는딥러닝파트에서는자동미분과함자를설명한다음,컴퓨터비전,객체탐지,NLP등의딥러닝작업들을실습한다.파이토치나텐서플로에익숙한독자가쉽게따라올수있게구성했다.끝으로DQN,DDPG,SAC,A2C,PPO등강화학습알고리즘을줄리아로구현해카트폴환경에서결과를확인해본다.

줄리아문법또는인공지능이론을기초부터하나씩설명하는책은아니다.그런입문서들은이미시중에있지만,줄리아를실제로인공지능실무에활용해본저자가노하우를담아집필한활용서는이책이유일하다.인공지능실무에서생산성을높이고싶다면이책이가장우아한선택이될것이다.

주요내용
● 타입시스템,다중디스패치,메서드특화,메타프로그래밍,병렬연산등줄리아의강력한언어특성
● Tables.jl,DataFrames.jl,Query.jl,Plots.jl등줄리아패키지를활용한데이터분석및시각화
● 과학적타입을이용한머신러닝전처리,학습,예측,평가,튜닝및모델합성실무
● 플럭스를사용한컴퓨터비전,객체탐지,NLP등딥러닝작업실습
● DQN,DDPG,SAC,A2C,PPO강화학습알고리즘구현