<aside> 💡 MNIST 데이터셋 CNN으로 분류하기

</aside>

ReLu를 사용했을 때

nn.ReLU()

leacky ReLU.pdf

tanh 실행 결과.pdf

Sigmoid 실행 결과.pdf

Sigmoid 실행 결과 (1).pdf

ReLu 실행 결과.pdf

Colab에서 Train MNIST with PyTorch

→ deep learning frameworks를 사용하면 좋은점

  1. autograde, 등 내장함수를 사용할 수 있다.
  2. 개발과 새로운 아이디어를 테스트하는 시간이 줄어든다
  3. GPU를 활용하여 효율적으로 실행시킬수 있다.(cuDNN, cuBLAS, OpenCL...)

MNIST는 손글씨 데이터셋으로 28x28사이즈의 2차원 데이터이다.

10개의 배치를 사용하였다.

activation function을 Sigmoid, tanh, ReLU, leacky, ReLU 로 바꿔서 결과를 확인하였다.

GPU를 사용하여 병렬처리 하였다.

scheduler : 학습이 진행되면서 학습률을 그 상황에 맞게 가변적으로 적당하게 변경될 수 있다면 더 낮은 손실값을 얻을 수 있다. 원하는 에폭마다, 이전 학습률 대비 변경폭에 따라 학습률을 감소시켜주는 방식

pytorch에서 제공하는 backward()를 사용하여 gradients를 쉽게 구할 수 있다.

아래의 그래프는 사용한 활성화 함수와 미분그래프를 나타낸 것이다