밑바닥부터 시작하는 딥러닝 - 미리보기
사이토 고키 지음 | 개앞맵시(이복연) 옮김 | 24,000원 | 한빛미디어 | 2017.01.03 "직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서 " 이 책은 라이브러리나 프레임워크에 의존하지 않고, 딥러닝의 핵심을 ‘밑바닥부터’ 직접 만들어보며 즐겁게 배울 수 있는 본격 딥러닝 입문서입니다. 술술 읽힐 만큼 쉽게 설명하였고, 역전파처럼 어려운 내용은 ‘계산 그래프’ 기법으로 시각적으로 풀이했습니다. 무엇보다 작동하는 코드가 있어 직접 돌려보고 요리조리 수정해보면 어려운 이론도 명확하게 이해할 수 있습니다. 딥러닝에 새롭게 입문하려는 분과 기초를 다시금 정리하고 싶은 현업 연구자와 개발자에게 최고의 책이 될 것입니다.
사이토 고키 지음 | 개앞맵시(이복연) 옮김 | 24,000원 | 한빛미디어 | 2017.01.03
"직접 구현하고 움직여보며 익히는 가장 쉬운 딥러닝 입문서 "
이 책은 라이브러리나 프레임워크에 의존하지 않고, 딥러닝의 핵심을 ‘밑바닥부터’ 직접 만들어보며 즐겁게 배울 수 있는 본격 딥러닝 입문서입니다. 술술 읽힐 만큼 쉽게 설명하였고, 역전파처럼 어려운 내용은 ‘계산 그래프’ 기법으로 시각적으로 풀이했습니다. 무엇보다 작동하는 코드가 있어 직접 돌려보고 요리조리 수정해보면 어려운 이론도 명확하게 이해할 수 있습니다. 딥러닝에 새롭게 입문하려는 분과 기초를 다시금 정리하고 싶은 현업 연구자와 개발자에게 최고의 책이 될 것입니다.
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
W!<br />
W<br />
ƞ<br />
2 2 W L<br />
[식 6.1]<br />
2L<br />
여기에서 W는 갱신할 가중치 매개변수고 2W은 W에 대한 손실 함수의 기울기입니다. ƞ는 학<br />
습률을 의미하는데, 실제로는 0.01이나 0.001과 같은 값을 미리 정해서 사용합니다. 또, ←는<br />
우변의 값으로 좌변의 값을 갱신한다는 뜻입니다. [식 6.1 ]에서 보듯 SGD는 기울어진 방향으<br />
로 일정 거리만 가겠다는 단순한 방법입니다. 그러면 이 SGD를 파이썬 클래스로 구현해보죠<br />
(나중에 사용할 것을 생각해 클래스 이름도 SGD로 했습니다).<br />
class SGD:<br />
def __init__(self, lr=0.01):<br />
self.lr = lr<br />
def update(self, params, grads):<br />
for key in params.keys():<br />
params[key] -= self.lr * grads[key]<br />
초기화 때 받는 인수인 lr은 learning rate(학습률)를 뜻합니다. 이 학습률을 인스턴스 변수<br />
로 유지합니다. update(params, grads) 메서드는 SGD 과정에서 반복해서 불리게 됩니다.<br />
인수인 params와 grads는 (지금까지의 신경망 구현과 마찬가지로) 딕셔너리 변수입니다.<br />
params['W1'], grads['W1'] 등과 같이 각각 가중치 매개변수와 기울기를 저장하고 있습니다.<br />
SGD 클래스를 사용하면 신경망 매개변수의 진행을 다음과 같이 수행할 수 있습니다(다음 코<br />
드는 실제로는 동작하지 않는 의사 코드입니다).<br />
network = TwoLayerNet(...)<br />
optimizer = SGD()<br />
for i in range(10000):<br />
...<br />
x_batch, t_batch = get_mini_batch(...) # 미니배치<br />
grads = network.gradient(x_batch, t_batch)<br />
params = network.params<br />
optimizer.update(params, grads)<br />
...<br />
optimizer 변수는 ‘최적화를 행하는 자’라는 뜻의 단어입니다. 이 코드에서는 SGD가 그 역할<br />
6장 - 학습 관련 기술들<br />
191