티스토리 뷰
[Course4 - Week2] State of computer vision
제이gnoej 2020. 8. 10. 05:52"해당 포스팅은 Coursera 에서 수강한 Andew Ng 의 deep learning specialization 코스를 요약한 것입니다."
이번 주 수업은 classical CNN 모델들의 architecture를 자세히 보고 배워보는 시간!
Le Net, AlexNet, VGG-16까지 차례로 봤다. 자세한 건 그냥 복습용 슬라이드 볼 것. 무엇보다 중요한 건 그동안 이해못했던 Residual networks (ResNets) 를 드디어 이해했다는 것 (그것도 엄청 쉽게 설명한 Andrew Ng 의 강의력 무엇..?)
1. Residual Network
CNN 이든 뭐든 결국 모델이 복잡 (deep layers) 하면 학습이 어렵다. 왜냐고? Vanishing & Exploding gradient 때문에!
아주 간단하게 수식으로 설명하면 이렇다.
$$ a^{[l+2]} = g(z^{[l+2]}) = g(w^{[l+2]}*a^{[l+1]}+b^{[l+2]}) $$
여기서 $[l+1]$ 은 layer 의 index 임. 즉, activation $a^{[l+2]}$ 를 계산할 때, previous layer 의 activation, 즉 $a[l+1]$ 만 계산에 들어가는 게 보통임. 그런데 activation $a[l+2]$ 를 계산하기 위해 linear calculation 을 할 때, $a[l]$ 를 바로 집어넣는게 바로 residual block 의 핵심이다.
수식으로 표현하면
$$a^{[l+2]} = g(z^{[l+2]} + a^{[l]}) $$
이다.
즉, l+2 layer 에서 activation 함수 전에 들어가는 거고 $+ a^{[l]}$ 이 부분이 바로 residual block 을 만든다고 할 수 있다.
그림으로 표현하면 위와 같이 l 번째 layer 의 activation 이 곧바로 $a^{[l+2]}$ 를 만들기 위한 layer 의 input 으로 들어가는 것을 볼 수 있다. 단, 저 하나의 layer 는 이미 Linear + Relu (Non-Linearity) 인데 이 $a^{[l]}$ 은 저 사이에, 즉 relu activation 전에 들어간 다는 것을 명심!
위에서 그림으로 표현한 게 하나의 Residual Block 이고, 이게 각 layer 에서 반복되면 Residual Network 라고 부르는 거지.
근데 왜 ResNets 이 잘 먹히냐고?
간단하게 말해서 위에서 나온 수식해서 l+2 번째 layer 의 weight 과 bias 가 아주 작은 값, 아니 아예 그냥 0이라고 치자. 그러면
$$ a^{[l+2]} = a^{[l]} $$
이 형태가 되는데 결국 항등함수이고, 그렇기 때문에 Learing 이 더 쉽다. 이 때 중요한 건 $a^{[l]}$ 은 무조건 0 에서 1 사이의 값이라는 것 (Relu 를 거쳤기 때문에 0에서 1사이의 값이 나옴).
위 그림에서 첫번째 그림은 plain network 이고 2번째 그림은 skip connection 이 있는 residual block 이다. 어쨌든 residual network 를 이용하면 아주 deep 한 networks 도 vanishing & exploding gradient 문제 없이 학습이 가능하다.
'Deep learning (일반) > deeplearning.ai' 카테고리의 다른 글
[Course4 - Week3] CODE LAB _YOLO (0) | 2020.10.26 |
---|---|
[Course4 - Week3] Object Detection (feat. YOLO) (0) | 2020.10.25 |
[Course4 - Week1] Convolutional neural networks (0) | 2020.07.28 |
[Course3 Week2] - Structuring Machine Learning Projects (0) | 2020.07.13 |
[Course2 - Week2] Improving Deep Neural Networks (0) | 2020.05.25 |
- Total
- Today
- Yesterday
- 뉴런
- 뉴럴넷
- neurone
- 언어모델
- Contextual Embedding
- GPTZero
- LM
- Attention Mechanism
- language model
- word embedding
- Neural Language Model
- Bert
- cs224n
- nlp
- Pre-trained LM
- Statistical Language Model
- Elmo
- 벡터
- transformer
- 워터마킹
- weight vector
- neural network
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |