1. Deep L-layer Neural Network
What is a deep neural network?
- logistic regression은 shallow하다고 표현된다.
이와 대비되는 deep neural network는 그 성능히 월등히 좋은 것으로 알려져있다.
Deep neural network notation
- 위 network는 input layer를 제외한 네 개의 layer로 구성된 4 layer NN이다.
- 기호의 위첨자로 사용하는 기호 l 에는 layer의 숫자가 들어간다.
- n은 각 layer의 unit 수를 나타낸다.
- a는 각 layer의 activation을 나타낸다.
- a[l]은 l번째 layer의 z에 l번째 활성화함수 g를 적용한 결과다.
- a[0] 는 input feature인 X를 나타내고, a[l] 은 output layer의 y hat을 나타낸다.
2. Forward Propagation in a Deep Network
- 4개의 layer로 구성된 neural network의 forward propagation 수행방식은 이전과 크게 차이가 없다.
단지 같은 과정을 반복할뿐이다. - 각 변수들에 대해 정의하는 방식과, 계산을 간소화하기 위해 vectorize하는 과정이 똑같으므로 설명은 생략한다.
vectorize 이후에는 notation을 대문자로 한다는 점과 각 layer에 대해 수행되는 계산을 위한 for-loop는 생략될 수 없음을 기억하자. - 층이 깊어질수록 유의해야 하는 것 중 하나는 차원을 맞춰주는 일이다.
3. Getting your Matrix Dimensions Right
- 5 layer NN 구조의 차원을 계산하고 이를 일반화한 것이다.
- 점선 위에는 각 벡터를 계산하는 과정이 들어있다.
input feature X의 사이즈와 1st layer의 출력 수를 반영하여 w와 b의 사이즈가 정해진다.
이를 패턴화하면 w[l]은 (n[l], n[l-1]) 사이즈를, b[l]은 (n[l],1) 사이즈를 가지게 된다.
이때 편향은 계산 과정에서 broadcasting이 적용된다. - 한 layer에서 여러 개의 node, 즉 training set을 한꺼번에 처리하는 것이 vectorize 과정이다.
이때는 training data의 개수만큼 size가 확장되는 것을 볼 수 있다.
시각화 자료를 기준으로 설명하면 각 layer에 포함되는 노드 수가 변수의 size에 영향을 주는 것으로 볼 수 있다. - 벡터든 행렬이든 w,b,z,a에 대해 미분을 수행해도(back-propagation) 그 size는 변하지 않는다는 것에 유의하자.
출처: Coursera, Neural Networks and Deep Learning, DeepLearning.AI
'Neural Networks and Deep Learning > 4주차' 카테고리의 다른 글
Quiz & Programming Assignment (0) | 2022.10.22 |
---|---|
Deep Neural Network(3) (1) | 2022.10.15 |
Deep Neural Network(2) (1) | 2022.10.15 |