책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 인공지능
· ISBN : 9791185890876
· 쪽수 : 256쪽
· 출판일 : 2017-07-12
책 소개
목차
CHAPTER 1 텐서플로 입문 1
1.1 딥러닝과 텐서플로 4
1.1.1 머신러닝의 개념 4
1.1.2 신경망의 필요성 7
1.1.3 딥러닝의 특징 13
1.1.4 텐서플로를 이용한 파라미터 최적화 16
1.2 환경 준비 24
1.2.1 CentOS 7에서의 준비 과정 25
1.2.2 주피터 사용법 28
1.3 텐서플로 훑어보기 33
1.3.1 다차원 배열을 이용한 모델 표현 33
1.3.2 텐서플로 코드를 이용한 표현 35
1.3.3 세션을 이용한 트레이닝 실행 39
CHAPTER 2 분류 알고리즘의 기초 47
2.1 로지스틱 회귀를 이용한 이항 분류기 49
2.1.1 확률을 이용한 오차 평가 49
2.1.2 텐서플로를 이용한 최우추정 실행 54
2.1.3 테스트 세트를 이용한 검증 65
2.2 소프트맥스 함수와 다항 분류기 69
2.2.1 선형 다항 분류기의 구조 69
2.2.2 소프트맥스 함수를 이용한 확률로의 변환 73
2.3 다항 분류기를 이용한 필기 문자 분류 76
2.3.1 MNIST 데이터 세트 이용 방법 76
2.3.2 이미지 데이터의 분류 알고리즘 79
2.3.3 텐서플로를 이용한 트레이닝 실행 84
2.3.4 미니 배치와 확률적 경사 하강법 90
CHAPTER 3 신경망을 이용한 분류 95
3.1 단층 신경망의 구조 97
3.1.1 단층 신경망을 이용한 이항 분류기 97
3.1.2 은닉 계층의 역할 100
3.1.3 노드 개수와 활성화 함수 변경에 따른 효과 110
3.2 단층 신경망을 이용한 필기 문자 분류 113
3.2.1 단층 신경망을 이용한 다항 분류기 113
3.2.2 텐서보드를 이용한 네트워크 그래프 확인 116
3.3 다층 신경망으로의 확장 124
3.3.1 다층 신경망의 효과 124
3.3.2 특징 변수에 기반한 분류 로직 128
3.3.3 보충: 파라미터가 극솟값으로 수렴하는 예 133
CHAPTER 4 합성곱 필터를 통한 이미지 특징 추출 137
4.1 합성곱 필터의 기능 139
4.1.1 합성곱 필터의 예 139
4.1.2 텐서플로를 이용한 합성곱 필터 적용 142
4.1.3 풀링 계층을 이용한 이미지 축소 150
4.2 합성곱 필터를 이용한 이미지 분류 153
4.2.1 특징 변수를 이용한 이미지 분류 153
4.2.2 합성곱 필터의 동적인 학습 159
4.3 합성곱 필터를 이용한 필기 문자 분류 163
4.3.1 세션 정보의 저장 기능 163
4.3.2 단층 CNN을 이용한 필기 문자 분류 165
4.3.3 동적으로 학습된 필터 확인 171
CHAPTER 5 합성곱 필터의 다층화를 통한 성능 향상 177
5.1 합성곱 신경망의 완성 179
5.1.1 다층형 합성곱 필터를 이용한 특징 추출 179
5.1.2 텐서플로를 이용한 다층 CNN 구현 184
5.1.3 필기 문자의 자동 인식 애플리케이션 189
5.2 그 밖의 주제 195
5.2.1 CIFAR-10(컬러 사진 이미지) 분류를 위한 확장 195
5.2.2 ‘A Neural Network Playground’를 이용한 직감적 이해 199
5.2.3 보충: 오차 역전파법을 이용한 기울기 벡터 계산 204
APPENDIX 부록 213
A 맥OS와 윈도우에서의 환경 준비 방법 214
A.1 맥OS의 환경 준비 과정 214
A.2 윈도우10의 환경 준비 과정 218
B 파이썬 2의 기본 문법 225
B.1 Hello, World!와 자료형, 연산 225
B.2 문자열 226
B.3 리스트와 딕셔너리 228
B.4 제어구문 230
B.5 함수와 모듈 233
C 수학 공식 235
찾아보기 237
책속에서
딥러닝이 세상의 주목을 받기 시작한 것은 “신경망이 이미지를 인식했다”라고 구글이 발표할 무렵부터입니다. 그후 DQN(Deep Q-Network)이라는 알고리즘이 비디오 게임 제어를 학습하고, 나아가 신경망을 이용한 머신러닝 시스템이 바둑 세계 챔피언을 이기는 등 놀라운 결과를 만들어 내고 있습니다. 그리고 이러한 딥러닝의 해설 기사에 반드시 등장하는 것이 바로 다수의 뉴런이 여러 층 결합된 ‘다층 신경망’을 도식화한 그림입니다. 이 신경망 내에서 대체 무슨 일이 일어나는 것인지, 딥러닝 알고리즘은 어떤 원리로 학습하는 것인지를 ‘어떻게 해서든 이해하고 싶다!’라고 느끼는 여러분이 바로 이 책의 대상 독자입니다.
딥러닝은 ‘심층학습’이라고도 하며, 용어만 보면 뭔가 심오한 이론인 것처럼 느껴진다. 그러나 기본적으로는 앞서 그림 1 - 11과 같은 다층 신경망을 이용한 머신러닝에 지나지 않는다. 다만, 단순히 계층을 증가시켜 복잡화하는 것이 아니라 해결해야 할 문제에 맞게 각각의 노드에 특별한 역할을 부여하거나 노드 간의 연결 방식을 다양하게 연구한 것이다. 무조건 노드를 증가시켜 복잡화하는 것이 아니라 각 노드의 역할을 생각하면서 특정 의도를 갖고 구성한 신경망이라고 생각할 수 있다.
그렇다면 미니 배치 혹은 확률적 경사 하강법을 이용하는 이유는 무엇일까? 여기에는 크게 두 가지 이유가 있다. 첫 번째 이유는 트레이닝 세트 데이터가 대량으로 있을 경우에 1회당 계산량을 줄일 수 있다는 점이다. 일반적으로 특정 함수의 기울기 벡터를 구할 때는 계산 처리량이 많아진다. 텐서플로에서는 기울기 벡터 계산이 자동화되어 있어서 이용자가 계산 내용을 의식하지는 않지만, 그렇더라도 계산 처리량에는 주의가 필요하다. 트레이닝 세트에서 대량의 데이터를 투입하면 트레이닝 알고리즘의 계산이 상당히 느려지거나 대량의 메모리를 소비하므로 실용성이 떨어지게 된다.