본문 바로가기

Deep Learning2

Back-propagation on Affine Layers 딥러닝을 하다 보면 affine layer를 반드시(!) 만나게 된다. Vectorized input/output에 대해 back-propagation을 처음으로 적용하게 되는 대상이기도 하다. 이 글은 딥러닝이나 affine layer의 역할을 설명하려는 것이 아니고, affine layer에서 gradient 구하는 과정을 헷갈려한 나 자신을 돌아보기 위함이 주목적이다. 두 번째 목적은 복잡한 notation을 정리하며, affine layer에서 gradient를 구하는 모든 과정을 분명하게 밝히는 것에 있다.\(\newcommand{\X}{\mathbf{X}}\newcommand{\Y}{\mathbf{Y}}\newcommand{\W}{\mathbf{W}}\newcommand{\x}{\mathbf{.. 2020. 4. 20.
Python dictionary returns references 심심할 때 딥러닝 공부를 하고자 Deep Learning from Scratch 책을 보며 틈틈이 공부하고 있다. 이번에 multi-layer로 이루어진 신경망을 구현하여 학습을 시키고 overfitting을 관측하고자 했는데, 책에 있는 결과를 재현하지 못해 엄청 애먹었다. Overfitting을 일부러 일으키고자, 데이터의 개수를 300개로 줄이고 훈련을 시켰다. 그에 비해 신경망의 층수는 6층이니, overfitting이 일어나고, 그래프의 마지막 부분에서도 알 수 있듯이 실제로 overfitting이 일어났다. 그런데 이제 문제가 되는 부분은, 150~200 epoch 사이, 그리고 250~275 epoch 부근에서 정확도가 요동치는 부분이었다. 이게 왜 그런 걸까 싶어서 한참을 고민하다가, 일단.. 2020. 4. 18.