Adam 최적화

SGD건 Adam이건, 다른 것들이건 동작은 잘한다고 알려져 있다. 하지만, Adam이 왠만하면 먹히는 것이라고 하니 Adam을 이용해 보기로 한다.

초보자 수준에서 SGD와 Adam의 가장 큰 차이는 학습률을 직접 조절하는 부분이 있는지에 대한 것일 것이다. SGD는 학습률 감소 부분을 설정해 주는 부분(scheduler)이 있어야 하지만, Adam에서는 없어도 된다. PyTorch에서 제공하는 Adam은 기본 값이 지정되어 있기 때문에, 별도로 입력해 주지 않아도 된다.

https://pytorch.org/docs/stable/optim.html

torch.optim.Adam(params, lr=0.001, betas=(0.9, 0.999), eps=1e-08, weight_decay=0, amsgrad=False)

원래 학습 부분 코드에서 scheduler 부분을 주석 처리하여 학습시키면 된다.