1. Why Deep Representations?
Intuition about deep representation
- CNN에서 이미지 분석 과정은 위와 같다.
- 작은 것들을(edge) 먼저 분석하고 이것으로부터 점점 큰 조각들을 합쳐 원래의 모습을 구성한다.
- speech recognition에도 적용 가능하다
- low level의 speech sound
- phonemes
- words
- sentence, phrase
Circuit theory and deep learning
- Informally: There are functions you can compute with a "small" L-layer deep neural network that shallower networks require exponentially more hidden units to compute.
- 보다 깊은 구조를 가진 network에서는 여러 변수를 계산하는데 필요한 연산 횟수가 굉장히 적다.
- O(logN)의 복잡도를 가지게 된다.
- 하지만 단 하나만의 hidden layer를 가지는 network에서는 필요한 연산 횟수가 기하급수적으로 증가하게 된다.
- O(2^n)의 복잡도를 가지게 된다.
- 이것이 반드시 엄청나게 깊은 neural network를 사용해야 된다는 것을 의미하지는 않는다.
교수님 본인도 어떤 문제 해결을 위해 필요한 최소한의 depth가 어떻게 되는지 직접 파악하고 접근하는 것을 중요하게 생각한다고 언급하셨다.
2. Buildling Blocks of Deep Neural Networks
Forward and backward functions
- 두 번째 layer의 forward와 backward 과정을 살펴보면 이와 같다.
- 각 과정의 입출력, 그리고 여기에 필요한 변수들을 박스 안에 넣어 표현한 것은 오른쪽 도식이다.
- 전체 network에 대해 forward / backward propagation을 수행하는 과정을 도식화한 것이다.
- forward의 관점에서 input a를 가중치 w,b와 계산하여 z를 구하고 여기에 활성화함수 g를 적용하여 다음 a를 구한다.
즉 이 계산에서 필요한 변수는 w,b이다. - backward의 관점에서 da를 입력으로 삼아 이전의 da를 구함과 동시에 dw,db를 구하게 된다.
이때 필요한 변수는 forward에서와 마찬가지로 w,b를 포함한다.
주의할 점은 z에 대한 정보도 필요로 한다는 것이다. - 따라서 backward propagation을 수월하게 수행하기 위해서는 forward 과정에서 생성되는 z의 값을 미리 cache로 저장해두어야 한다는 것이다.
물론 w,b의 정보도 함께 저장해두면 이후 연산을 처리하는데 큰 도움이 된다.
3. Forward and Backward Propagation
Forward propagation for layer l
Backward propagation for layer l
- 미분의 결과과 왜 이렇게 되는지는 이전 강의 내용을 다시 살펴보면 된다.
https://chanmuzi.tistory.com/90?category=1003457
Summary
- forward / backward propagatoin 과정을 한꺼번에 표현하면 위와 같다.
- 여기서 주목할 것은 back propagation을 수행할 때 input data에 들어가는 값이다.
da[l]에 해당하는 것은 미분의 정의에 따라 위처럼 구해지고 이를 vectorize한 결과 또한 확인할 수 있다.
물론 이 내용들도 이전의 logistic regression의 back propagation 파트를 참고하면 알 수 있다. - 교수님이 지금 당장 온전히 이해되지 않는 내용들은 실습 문제들을 풀어보며 익힐 수 있다고 많이 강조하셨다.
특히나 중요한 것은 어떤 알고리즘을 완벽히, 엄청나게 많이 짜는 것이 아니라 데이터라고 하셨다.
딥러닝이 훌륭한 퍼포먼스를 보이는 것은 주로 완벽하거나 드라마틱한 알고리즘보다는 많은 양의 데이터에 기인하는 경우가 많다고 하셨다.
출처: 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(1) (1) | 2022.10.15 |