Coding/TIL (Today I Learned)

[2021.10.15] 딥러닝 강좌 3주차 끝.

폴밴 2021. 10. 15. 13:30

Coursera의 Neural Networks and Deep Learning 3주차 강좌를 모두 마쳤다.

이번 주차에서는 hidden layer가 하나만 있는 모델을 사용해 딥러닝을 구현하는 내용이었다.

수업을 들으면서 어찌저찌 진도는 나갔지만, numpy의 shape(dimension)에 대한 정확한 이해와 딥러닝 학습 흐름에 대한 이해가 부족한 것 같다.


1. $a^{[i]}$ 는 i 번째 layer, $a_n$ 은 n번재 unit, $a^{[i](m)}$ 은 m번째 training example을 의미한다.

2. Vectorizing을 통해서 for-loop을 없앨 수 있는데, 같은 column은 같은 training example이, 같은 row에는 같은 unit이 위치하도록 한다.

3. NN을 구성할 때에는 activation function으로 non-linear function을 사용해야한다.

4. break symmetery 를 하기 위해 초기 가중치 w를 랜덤하게 해야한다.

5. X, Y, w, b, a, z 의 shape (dimension)을 유의하며 프로세스가 진행되면서 어떻게 바뀌는지 알아야한다.

6. Foward propagation으로 Z와 A를 구하고, Back propagation으로 dw, db, dz (미분값)을 구한다.

6. np.dot(a,b)은 일반적인 행렬곱을 구하고, * 는 element-wise 곱을 구한다.


아직 딥러닝 모델에 대한 완벽한 이해까진 하지 못했지만, 전체적인 과정은 알 수 있게 되었다.

파이썬으로 직접 모델을 사용해볼 수 있는 실력까지 도달하면 좋겠다.

남은 마지막 주차 강의도 열심히 들어보자.