cjun.log
로그인
cjun.log
로그인
MetaCode(Deep Learning) - Computer Vision (Recent CNNs)
cjun
·
2022년 8월 18일
팔로우
0
Computer Vision
DL
0
MetaCode - Deep Learning(CV)
목록 보기
4/7
Recent CNNs
ResNet
기존 딥러닝의 문제점
Gradient Vanishing 문제 발생
Layer가 깊어지면 Backpropagation 과정에서 Gradient을 계산할때 Chain-rule에 의해서 편미분한 미분값들의 곱을 사용
이때 미분값들의 크기가 0보다 작으므로, layer가 Deep 해질수록 신호의 전달 감소.
Residual Learning
입력의 크기를 거의 그대로 만들어주기 위해서 새로운 장치를 도임 (Shortcut connection)
shortcut을 도입하여 Backpropagation 과정에서 Gradient를 계산해도 1이상의 값이 포함되어 신호의 전달 감소 해결.
Lightweight Networks
2017년도부터 구글에서 Mobile을 위한 경량화 합성곱 신경망 모델을 만들기 위해 노력함.
기존 Convolution의 경우
D
K
∗
D
K
∗
M
∗
N
D_K *D_K*M*N
D
K
∗
D
K
∗
M
∗
N
으로 필터 사이즈와 input 채널, output 채널의 곱으로 나타냄
Depthwise Separable Convolution의 경우 Depthwise Convolution과 Pointwise Convolution으로 나누어 계산
Depthwise Convoution의 경우 각 채널별로 filter를 이용해 Convolution, Pointwise Convolution의 경우 채널끼리 연산
MobileNet
Depthwise Separable Convolution을 기존의 ResNet의 BottleNeck 구조를 대신하여 대체
성능을 거의 유지하면서도 파라미터 수를 기하급수적으로 줄임
효율 = 저장공간(memory) + FLOPs(연산량)
ReLU를 ReLU6로 대체하여 성능 향상
signal 측면에서 과도한 scale의 증폭은 악영향을 끼침
비슷한 scale 레벨에서 학습을 하는 것이 성능 측면에서 좋음
Residual의 shortcut의 위치를 바꿔주어서 성능 향상 (Inverted Residual)
채널 수를 줄였다 늘리는 형태에서 늘렸다 줄이는 형태로 변환
EfficientNet
모델의 경량화를 Width(각 layer의 채널 수), Depth(층의 개수), resolution(입력 이미지의 크기)를 비교하여 상관관계를 분석.
실험적으로 Width, Depth, Resolution에 곱해주는 값이 일정할지 어떻게 크기를 조절할지 명시
Conclusion
Trade-off가 있다!
파라미터 수가 많다 => 성능
↑
\uparrow
↑
, 연산속도
↓
\downarrow
↓
, 저장공간 차지
↑
\uparrow
↑
파라미터 수가 적다 => 성능
↓
\downarrow
↓
, 연산속도
↑
\uparrow
↑
, 저장공간 차지
↓
\downarrow
↓
cjun
Sometimes You gotta run before you can walk.
팔로우
이전 포스트
MetaCode(Deep Learning) - Computer Vision (Basic CNN Structure)
다음 포스트
MetaCode(Deep Learning) - Computer Vision (Transfer learning)
0개의 댓글
댓글 작성