
595
16
학습 과정
지금까지 영상 처리, 자연어 처리, 테이블 데이터 분석, 협업 필터링의 최신 구조를 생성하고
빠르게 학습시키는 방법을 배웠습니다. 그러면 모든 내용을 다 배웠다고 볼 수 있을까요? 아직
은 아닙니다. 학습 과정을 조금 더 살펴봐야 하죠.
4
장에서는 기본적인 확률적 경사 하강법을 다뤘습니다. 모델에 미니배치를 넣고, 손실 함수로
타깃과 비교하고, 가중치 갱신 전에 각 가중치에 대한 손실 함수의 그레이디언트를 계산하는
내용이었죠.
new_weight = weight - lr * weight.grad
이를 학습 루프 내에서 밑바닥부터 구현했고, 각 파라미터 계산을 수행하는 간단한
nn
.
SGD
클
래스를 파이토치가 제공함을 확인했습니다. 이 장에서는 유연한 기반 프레임워크로 더 빠른 옵
티마이저를 만들어 봅니다. 그러려면 학습 과정의 일부분을 수정해야 합니다. 예를 들어 학습
루프를 변경하려면 순수
SGD
에 코드를 추가하는 방법을 알아야 하죠.
fastai
라이브러리는 이
런 변경을 쉽게 해주는 콜백 시스템을 제공합니다. 지금부터 함께 살펴보죠.
표준
SGD
로 시작해서 기준선을 정합니다. 그리고 일반적으로 사용하는 옵티마이저들을 하나
씩 살펴보겠습니다.
CHAPTER
16