일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NeuralNetwork
- 준지도학습
- MDSR
- residualnetwork
- 비지도학습
- BFS
- a*
- pixelshuffle
- leetcode
- sr
- AStar
- SRCNN
- convolution
- residuallearning
- deeplearning
- 8puzzle
- 딥러닝
- 신경망
- Increasing Triplet Subsequence
- 지도학습
- 동적계획법
- EDSR
- RESNET
- 증가하는부분수열
- 합성곱
- PYTHON
- DFS
- CNN
- superresolution
- Today
- Total
이것저것 코딩하는 블로그
[Computer Vision] ResNet Review 본문
1. SRResNet[1]
앞서 포스팅했던 (codinglilly.tistory.com/4) SRCNN 과정을 한 블록으로 생각하여 계속 쌓아 모델을 만들면 일정 깊이까지는 높은 정확도를 보인다. 그러나 일정 깊이 이상에서는 기울기 폭발이나 기울기 소실의 문제가 발생한다. 이를 해결하기 위해 고안된 모델 구조가 SRResNet이다.
0) Batch
SRResNet을 말하기에 앞서 batch의 개념을 살펴보자. 학습을 할 때 방대한 양의 데이터를 모두 처리하며 학습하는 것은 비효율적이고 많은 parameter과 시간을 요구한다. 따라서 입력 데이터를 일정한 size로 나눈 후, 해당 batch에 대한 학습을 진행한다. Batch별 학습 결과를 정규화하여 한 데이터셋에 대한 학습 결과를 도출하게 되는데, 이 정규화 과정을 batch normalization 이라고 한다.
1) Residual learning
기존의 CNN 과정을 살펴보자.
[그림 1]을 보면, 기존의 CNN network는 convolution 연산을 통해 출력을 최적화시키는 역할을 한다. 그러나 이는 앞서 언급했듯이, 일정 깊이 이상에서는 기울기 소실 혹은 기울기 폭발을 야기한다. 그래서 ResNet에서 제안한 Network 구조는 다음과 같다.
기존의 CNN network에 skip connection을 적용한 구조이다. 기존에 추정했던 값을 [그림 1]의 H(x)라 하면, ResNet은 이를 skip connection을 통해 입력값과 잔차의 합인 F(x)+x 로 설정한다. 이를 통해 F(x)를 학습하면, 모델은 최종 추정값을 정답과 근사하게 만드는 것이 아닌 잔차를 0에 가까이 하는 방향으로 학습하게 된다. ResNet에서는 convolution과 활성화 함수 사이에 batch normalization을 적용했다. Batch normalization이란 학습 데이터를 여러 개로 나눈 뒤 (이 때 나눠진 데이터를 batch라고 한다), 각각 batch마다 학습된 결과를 정규화하여 최종 결과를 도출하는 것이다. 이러한 구조를 가진 하나의 block을 residual block이라고 한다. ResNet은 Residual block을 여러 개 쌓아 높은 성능 향상을 이루어냈다.
[1] He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 770-778).
'Computer Vision' 카테고리의 다른 글
[Computer Vision] EDSR review (0) | 2020.12.09 |
---|---|
[Computer Vision] SRCNN - Super-Resolution CNN (0) | 2020.12.09 |
[Computer Vision] CNN - Convolution Neural Network (0) | 2020.12.09 |