2주차에는 single layer, single hidden unit을 가지는 logistic regression을 배웠다.
그리고, 3주차에는 2개의 layer와 여러 개의 hidden unit을 가지는 shallow neural networs에 대해 배웠다. shallow NN에서는 parameter의 random initialization이 필요함을 배웠다.
마지막 4주차에는 2개 이상의 layer를 가지는 (상대적으로) deep neural network에 대해 배운다.
내용은 2, 3주차와 전반적으로 비슷하다. (forward, backward propagation의 vectorization과 각 weight의 차원 확인?)
1. Notation
$L$ = # layers
$n^{[l]}$ = # units in layer $l$
$W^{[l]}, b^{[l]}$ = weights, bias for $z^{[1]}$
$a^{[l]}=g^{[1]}(z^{[l]})$
2. Forward propagation (for single / m training examples)

3. Why deep representations?
왜 우리는 깊은 네트워크가 필요한가?
네트워크가 깊어질수록 데이터의 더 complex function (혹은 feature)를 학습할 수 있기 때문이다.

아무래도 simple feature와 complex feature 모두 활용하는 것이, 데이터를 좀 더 잘 이해할 수 있고 이를 바탕으로 좀 더 복잡한 task도 잘 푸는 것이지 않을까 싶다.
4. Backward propagation (Building Blocks of DNN)

$da, dz, dw, db$에 대한 계산은 3주차에서 배운 것과 크게 다를 바가 없어 수식표현은 생략했다.
(개인적으로 이 building block 표현이 깔끔하고 직관적이라 마음에 들었다. )
5. Parameters vs Hyperparameters
- Parameters: $W^{[1]}, b^{[1]}, W^{[2]}, ...$
- Hyperparameters: learning rate $\alpha$, # iterations, # hidden layer $L$, # hidden units, choice of activateion function, momentum, minibatch size, regularization, ... 등등등
Hyperparameter는 모델이 parameter를 잘 학습하기 위해 우리가 직접 설정해줘야 하는 값이라고 생각하면 될 듯하다.
6. Summary

'ML || DL > 이론' 카테고리의 다른 글
| [Coursera] DLS_C2W1: Practical Aspects of Deep Learning (0) | 2023.09.09 |
|---|---|
| [Coursera] Neural Networks and Deep Learning 수료증 (0) | 2023.09.08 |
| [Coursera] DLS_C1W3: Shallow Neural Networks (0) | 2023.09.06 |
| [Coursera] DLS_C1W1 & W2: Logistic Regression (0) | 2023.09.06 |
| [DeepMind x UCL] Lecture 1. Intro to Machine Learning & AI (0) | 2021.01.07 |