What is CNN
- Convolutional Neural Networks
- CNNs stack CONV, POOL, FC layers.
Convolution layer (CONV)
- CONV uses filters that perform convolution opereations as it i scanning the input image with respect to its dimensions.
- The result of convolution must be two dimensional.
Padding
통해서 input, output 사이즈를 맞춘다.
Pooling layer (POOL)
- POOL is a downsampling operation.
Weight initialization
- sigmoid and tanh activation function ->
Xavier
적합
- ReLU ->
He
적합
- 대부분
He
initialization 사용
Backpropagation
- Feed the error backwards through the network
- Ultimately adjut the weights of all the connections of the network
Techniques to reduce overfitting
- Increase training data
- Reduce model complexity
- Early stopping during the training phase
- Add regularization
- Use dropout for neural networks
CNN Model Architectures
https://velog.io/@ssoyeong/%EB%94%A5%EB%9F%AC%EB%8B%9D-CNN-Architectures
DenseNet
- 하나의 레이어에만 전달하는 것이 아니라, 여러 개 dense하게.
- Strengthen feature propagation
FPN (Feature Pyramid Network)
- Detecting objects at different scales
- 서로 다른 해상도의 feature maps를 쌓아올린 형태
- Bottom-up, top-down 방식 두 가지를 적용해서 더 좋은 feature를 생성한다.
Squeeze-Excitation(SE) block
- explicitly modelling the interdependencies between the channels of its convolutional features.
- 중요한 channel을 찾는다. Channel attention을 고려해야 한다.
Squeeze
: Global information embedding, 각 feature map에 대한 전체 정보 요약
Excitation
: Adaptive Feature Recalibration, 각 feature map의 중요도를 조정
장점
- The SE block can be integrated into standard architectures.
- 파라미터의 증가량에 비해 모델 성능 향상도가 매우 크다.