Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 데이터 시각화
- N2N
- Data Viz
- 딥러닝
- RNN
- Attention
- KLUE
- seaborn
- 데이터 구축
- 기아
- N21
- Transformer
- dataset
- Optimization
- Bart
- AI 경진대회
- AI Math
- passage retrieval
- 현대자동차
- matplotlib
- 2023 현대차·기아 CTO AI 경진대회
- Bert
- ODQA
- Self-attention
- nlp
- Ai
- GPT
- mrc
- word2vec
- pyTorch
Archives
- Today
- Total
쉬엄쉬엄블로그
(딥러닝) Modern Convolutional Neural Networks 본문
728x90
이 색깔은 주석이라 무시하셔도 됩니다.
ILSVRC 대회
ImageNet Large-Scale Visual Recognition Challenge
- Classification / Detection / Localization / Segmentation tasks
- 1,000 여개의 카테고리
- 백만개 이상의 이미지
- Training set : 456,567개 이미지
AlexNet


AlexNet 모델이 처음으로 층을 깊게 쌓아서 좋은 성능을 보임
11x11 필터를 사용하는 것은 좋은 선택이 아님
- 필터가 볼 수 있는 영역은 커지지만 상대적으로 파라미터가 더 많이 필요해짐
Key ideas
- Rectified Linear Unit (ReLU) activation 사용
- GPU implementation (2 GPUs)
- Local response normalization, Overlapping pooling
- Data augmentation
- Dropout
- 요즘에는 당연한 적용 기법들이지만 그 당시에는 잘 활용되지 않았던 요소들
ReLU Activation

- 장점
- 선형 모델의 속성을 보존
- gradient descent를 통해 최적화가 쉬움
- 일반화에 좋음
- vanishing gradient 문제를 극복함
VGGNet


- $3\times3$ convolution filters (with stride 1)를 통해 층을 더 깊게 쌓음
- $1\times1$ convolution를 fully connected layers에 적용
- Dropout (p=0.5)
- VGG16, VGG19
$3\times3$ convolution을 적용한 이유?

- $3\times3$ 필터 2개를 사용하는 것이 $5\times5$ 필터 1개를 사용하는 것보다 파라미터 수를 줄일 수 있음
GoogLeNet


GoogLeNet won the ILSVRC at 2014
- It combined network-in-network (NiN) with inception blocks.
- network-in-network와 inception blocks를 결합함
Inception blocks

- incecption block의 장점
- 파라미터 수를 줄임
- 파라미터 수를 계산하는 방법을 떠올려보면 1x1 convolution은 채널별 차원 축소로 볼 수 있음
- Benefit of 1x1 convolution

- 입력과 출력은 똑같지만 파라미터 숫자가 거의 1/3로 줄어듬
Quiz
위 CNN 구조들 중 가장 적은 파라미터를 가진 구조는?
- AlexNet (8-layers) (60M)
- VGGNet (19-layers) (110M)
- GoogLeNet (22-layers) (4M)
- GoogleNet이 layers를 가장 많이 쌓았지만 inception blocks를 통해 파라미터 수는 가장 적게 가질 수 있었음
ResNet

너무 깊은 neural network 구조는 학습이 어려워지는 문제가 발생.

- 보통 과적합은 과도한 수의 파라미터로 인해 발생하지만 이 경우에는 아님
Add an identity map (skip connection)


- 층이 깊어짐에 따라 층을 거치면서 gradient의 전달이 약해지는 것을(gradient vanishing 문제) 완화하기 위해 위 그림에서처럼 레이어들을 거친 결과와 처음 입력을 합쳐서 activation function의 입력으로 줌
Add an identity map after nonlinear activations

Batch normalization after convolutions

Bottleneck architecture


DenseNet
DenseNet은 addition 대신 concatenation을 사용하여 연산을 줄임


- 채널이 기하급수적으로 커지게 되는 것을 Transition Block을 통해 중간에 한 번씩 줄여줌
Dense Block
- 각 레이어가 이전의 모든 레이어와 피쳐 맵을 연결하여 채널 수가 기하학적으로 증가하여 문제
Transition Block

- BatchNorm → 1x1 Conv → 2x2 AvgPooling
- batch normalization, 1x1 Convolution, 2x2 average pooling 레이어를 통해 차원을 감소시킴
Summary
Key takeaways
VGG
- repeated 3x3 blocks
GoogLeNet
- 1x1 convolution
ResNet
- skip-connection
DenseNet
- concatenation
출처: 부스트캠프 AI Tech 4기(NAVER Connect Foundation)
'부스트캠프 AI Tech 4기' 카테고리의 다른 글
| (딥러닝) Recurrent Neural Networks (0) | 2023.06.01 |
|---|---|
| (딥러닝) Computer Vision Applications (0) | 2023.05.31 |
| (딥러닝) Convolutional Neural Networks (1) | 2023.05.30 |
| (딥러닝) Optimization (0) | 2023.05.29 |
| (딥러닝) Neural Networks & Multi Layer Perceptron (0) | 2023.05.27 |
Comments