logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

줄리아 머신러닝, 딥러닝, 강화학습

줄리아 머신러닝, 딥러닝, 강화학습

(빠르고 우아하게 데이터 분석부터 강화학습까지 인공지능 실무 스킬업)

김태훈 (지은이)
제이펍
32,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
28,800원 -10% 0원
1,600원
27,200원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 14개 17,600원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 22,400원 -10% 1120원 19,040원 >

책 이미지

줄리아 머신러닝, 딥러닝, 강화학습
eBook 미리보기

책 정보

· 제목 : 줄리아 머신러닝, 딥러닝, 강화학습 (빠르고 우아하게 데이터 분석부터 강화학습까지 인공지능 실무 스킬업)
· 분류 : 국내도서 > 컴퓨터/모바일 > 인공지능
· ISBN : 9791192987408
· 쪽수 : 396쪽
· 출판일 : 2023-10-06

책 소개

줄리아의 우아한 언어 특성과 강력한 라이브러리 생태계를 활용해 전문가답게 인공지능 실무를 처리하는 방법을 알려준다. 언어 문법을 매뉴얼 형식으로 설명하는 대신, 타입 시스템, 다중 디스패치 등 실무 관점에서 알아야 할 줄리아의 코딩 스타일을 자세히 다룬다.

목차

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

PART I 줄리아 언어

CHAPTER 1 기본 문법 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

CHAPTER 2 타입 시스템 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

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

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

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

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

PART II 데이터 분석 도구

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

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

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

CHAPTER 10 시각화 도구 129
10.1 Plots.jl 129
__기본 사용법 129 / 백엔드 변경 132 / StatsPlots.jl 133
10.2 Makie.jl 134

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

PART III MLJ를 이용한 머신러닝

CHAPTER 12 워크플로 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

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

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

PART IV 플럭스를 이용한 딥러닝

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

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

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

CHAPTER 18 자연어 처리 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.5 BERT 292
__텍스트 토큰화 292 / 특성 추출 294 / 분류 모델 정의 및 학습 295
18.6 허깅페이스 296
__BERT 기반의 모델 298 / GPT-2 299 / BART 300

PART V 심층 강화학습
CHAPTER 19 강화학습 환경 305
19.1 환경 사용법 305
19.2 카트폴 환경 307
19.3 사용자 정의 환경 309

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

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

맺음말 370
찾아보기 373

저자소개

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

책속에서



다음은 줄리아 JIT 컴파일러가 메서드를 컴파일하는 단계를 나타낸 그림이다. (…) 먼저, 소스 코드를 파싱하여 줄리아의 추상 구문 트리(abstract syntax tree, AST)를 생성한다. AST는 코드가 작성된 방식 그대로 구조화한 것이다. Meta.parse 함수로 앞의 소스를 파싱한 결과는 다음과 같다. (…) 다음으로, AST를 컴파일러가 최적화하기 좋은 형태로 저수준화한다. 앞에 나온 그림의 세 번째 상자인 줄리아의 중간 표현(intermediate representation, IR)이 이에 해당한다. 이 IR를 이용하여 메서드
특화, 타입 추론 등 줄리아 고유의 최적화가 이루어진다. 아래는 @code_lowered 매크로에 의해 생성된 줄리아의 중간 표현이다.


파이썬의 리스트(list)는 임의의 타입들에 대한 포인터를 담으므로 줄리아의 Vector{Any}와 비슷하다고 할 수 있다. 반면, 동일한 타입의 값을 배열에 직접 저장하는 넘파이(NumPy) 배열은, 1차원 dtype=np.float64인 경우 줄리아의 Vector{Float64}와 유사하다. / 다차원 배열의 경우, 넘파이는 디폴트 설정으로 행 우선(row-major) 방식으로 배열을 저장하는 반면, 줄리아는 열 우선(column-major) 방식으로 배열을 저장한다. 먼저 이런 줄리아 배열의 특징들부터 살펴본 후, 자세한 사용법을 익혀보자.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책
9791192987798