티스토리 뷰

데이터 분석/딥러닝

CNN 모델들

yessen 2022. 12. 14. 16:41
728x90

딥러닝 공부를 제대로 시작하면서 먼저 기존 발표된 모델과 개념을 간단히 하나씩 정리하고자 한다.

 

 

0. Perceptron (1957) & MLP

 

이미지 출처: https://www.quantstart.com/articles/introduction-to-artificial-neural-networks-and-the-perceptron/

로젠블릿이 개발한 이진 분류 알고리즘.

위 그림에서 앞의 결과를 모아 내적하여 다음 과정으로 내보내는 함수를 활성화 함수(activation function)라고 함.

특히, 이 활성화 함수가 Sigmoid일 때 Logistic Regression Model이라고 함.

 

활성화 함수 종류들

퍼셉트론을 여러 층으로 쌓은 것을 MLP (Multi-Layer Perceptron)이라고 하며 DNN (Dense Neural Network)이기도 하고 모든 뉴런이 연결되어 있다는 점에서 Fully Connected Layers Model이라고도 할 수 있음.

 

 

1. AlexNet (2012)

이미지출처: https://anhreynolds.com/blogs/alexnet.html

2012년 ILSVRC (ImageNet Large Scale Visual Recognition Competition)에서 우승한 CNN 모델.

5개의 Conv Layer와 3개의 Fully Connected Layer로 구성되어 있으며 총 6천만 개 파라미터와 1000개의 softmax 함수로 아웃풋이 배출됨

 

Conv Layer

Convolution 계산을 통해 Feature를 추출 -> Feature map

 

활성화 함수: Relu

 

Pooling Layer

Feature map의 크기를 줄임

 

Fully Connected Layer

모든 뉴런이 이전과 연결되어 있으며 각 클래스의 점수를 계산

 

 

2. VGGNet (2014) 

이미지 출처: https://d2l.ai/chapter_convolutional-modern/vgg.html

 

Visual Geometry Group에서 만든 아키텍처.

Conv layer와 FC layer의 총 개수에 따라  VGG-11, VGG-13, VGG-16, VGG-19 등이 있으며, VGG-16이 최고 성능 보였음

위 그림은 VGG 레이어를 블록으로 구성하고 그 블록을 쌓음으로써 층을 쌓는 과정을 단순화한 것.

VGG block은 Conv+Conv+Pool 이나 Conv+Conv+Conv+Pool 등으로 구성

 

3. GoogLeNet (2014)

이미지 출처: https://www.researchgate.net/figure/GoogLeNet-with-filter-dimensions-and-illustration-of-inception-layer-The-LeNet_fig2_312075562

기존의 Conv layer는 비선형 특성들을 추출하기에 어려움이 있으므로 이 점을 개선하기 위해 NIN(Network In Network) 구조를 고안하였고, 이를 확장하여 Inception Module의 개념을 만듦.

다양한 특성을 추출하기 위해 Conv layer를 병렬로 사용.

차원을 줄이기 위해 Conv 1x1을 추가.

기본 레이어를 중심으로 양쪽에 보조 분류기(auxiliary classifier)가 있는 것을 볼 수 있음.

레이어가 깊어질수록 성능이 떨어지게 되는 것은 gradient가 일정 이상이 되면 0으로써 거의 역할을 못하기 때문.

Back propagation 단계에서 보조 분류기에서 나온 back propagation의 결과를 더함으로써 vanishing gradient 문제 해결

 

 

4. ResNet (2015)

이미지 출처: https://d2l.ai/chapter_convolutional-modern/resnet.html

ResNet은 Residual block을 지정하여 그 층은 건너뛰어 출력에 더해지는 이른 바 skip connection batch normalization을 활용함

 

Skip Connection위 그림에서 레이어층을 통과하지 않는 identity를 중심으로 볼 수 있음.

두 그림 중 좌측에서, x가 Conv-Batch-Relu-Conv-Batch 레이어를 통과해 간 다음, x의 본체, 즉 identity가 이 결과에 더해져서 Relu를 통과하는 구조임. 즉, x의 identity는 연결을 skip하여 더해지는 것.

우측 그림은 Google Net에서와 마찬가지로 차원을 줄이기 위해 Conv 레이어를 identity에 추가해 주는 것 (병목현상 방지)

ResNet은 x에 x의 학습 결과를 더해 특징을 찾는 것이라고 이해할 수 있음.

이렇게 특징을 원본에 합치면서 다시 특징 추출 레이어를 시작할 때는 계속 일방향으로 진행하는 것보다 학습량은 줄고, 

성능은 좋아짐

 

Batch Normalization은  이전 신경망 계층의 매개변수 변화로 인한 현재 계층의 입력과 공변량이 변하는 문제를 해결(리어의 입력이 변화면 유용성이 떨어짐. 즉, 입력 단위인 batch 별로 정규 분포를 이루도록 하여 입력값에 영향을 받지 않고 과정이 일정하게 유지되도록 함. 

 

 

5. SENet (2018)

이미지출처: https://towardsdatascience.com/review-senet-squeeze-and-excitation-network-winner-of-ilsvrc-2017-image-classification-a887b98b2883

SENet은 Squeeze-and-Excitation Networks의 줄임말로써, 

다른 모델에 적용할 수 있는 SE block을 제안함 (그림 좌측이 SE block이고 오른쪽이 Inception과 ResNet에 적용한 모습)

Conv 층에서 추출한 특성맵인 X와 여기서 다시 Conv 층에서 추출한 특성맵인 U가 있을 때, 

U에서 X hat 사이에 Squeeze와 Excitation 과정을 넣어줌.

Squeeze는 H x W를 1차원으로 바꿔 주는 과정으로, 위 그림 흑백 1 x 1 x C채널로 압착하여 전체 정보를 뭉개는? 것.

Squeeze한 다음에는 Excitation 과정으로 2개의 Fully Connected layer를 통과시켜 채널의 중요도 계산하고,

Sigmoid를 통과시켜 각 채널의 점수를 파악할 수 있음.

이 중요도를 U에 곱하여 F scale을 계산하여 X hat을 계산함.

 

이렇게 해서 만들어진 SE block은 Conv 결과에 채널의 중요도를 정보로써 추가하는 역할을 하며, 

위 그림에서처럼 Inception이나 Residual에 붙여서 사용할 수 있음

 

 

 

6. EfficientNet (2019)

효율적인 모델의 구조를 찾기 위해 scaling에 대해 탐구.

즉, layer의 깊이(depth), network의 넓이(width), 해상도(resolution)의 크기 등을 중심으로 실험

이미지 출처: 논문

깊이, 넓이, 해상도 모두 일정 시점이 지나면 성능의 변화율이 둔해지는 것을 알 수 있음

따라서 아래와 같이 조절을 해 봄으로써 최고 성능을 낼 수 있도록 scaling 실시

 

 

사실 이것은 내가 가지고 있는 데이터와 이들이 실험한 데이터에 대해 어느 정도 알아야 가늠할 수 있을 듯

이미지 데이터를 다루는 경우, 일단 내 데이터의 해상도가 어떤 수준의 학습 대상이 될 지 알아야 하고, 

그 다음에 layer의 범위나 network의 넓이 범위를 추정하여 활용할 수 있을 듯 함

 

'데이터 분석 > 딥러닝' 카테고리의 다른 글

모델 평가 방법 (Chi-square, C-statistic, AUROC, NRI, IDI)  (0) 2023.01.05
Transformer Model  (0) 2022.12.27
Best AI papers in 2022  (0) 2022.12.26
AutoEncoder  (0) 2022.12.26
LSTM & GRU  (0) 2022.12.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함