CNN
1) CNN의 활용
- Object Detection (사물인지) : 자율주행에서 필수적
- Motion Classification : RNN 등 활용
2) CNN History
- LeNet(1998): CNN구조를 최초로 개발한 얀 르쿤이 설계한 네트워크
- AlexNet(2012): ImageNet 영상 데이터 베이스 기반으로 화상인식 대회에서 우승
- VGG(2014): ImageNet 이미지 인식 구조 대회에서 우승한 모델
- CNN사용 후 FCN을 사용해 추출한 특징들을 1차원으로 배열한다. 1 x 1 x 4096부터..
- ResNet(2015)
- DenseNet(2016)
3) Convolutional Layer
- 이미지가 컬러일 경우 AxBxC일 때, C = 3이다. 이 3이 필터에 필수적으로 적용되어야함. 필터는 F x F x 3으로 사용되어야한다.
- 만약, 필터를 한번 적용한 feature map의 채널 수가 6일 경우 6개의 속성을 사용해 convolution단계가 진행된 것임.
- 또한, feature map으로 나타난 채널 수가 6일 경우 다음 filter의 채널 수는 6이어야한다.
- Convolution layer 단계에서는 filter 적용 시 pad와 stride가 존재.
- pad는 다음 feature map이 그 전 feature map과 같은 사이즈로 존재하기 위해 더해지는 여백.
ex. 3x3, stride=1이면padding=1.. 5x5,stride=1이면 padding=2 - stride는 필터를 적용하는 간격이다.
$$ (N-F)/Stride+1 $$ - 사이즈는 줄일 수 있긴 하지만 거의 max pooling 사용해 줄인다. 반으로 줄이려면 stride=2사용.
- filter의 개수를 늘려서 특징을 더 많이 추출하여 이미지 정보가 손실되고 특징으로 압축되는 역할
- 필터의 개수는 바로 전 feature map의 채널 수와 같아야함.
4) Pooling Layer
- Pooling에는 Max Pooling, Avagerage Pooling등이 존재하는데 각각 가장 큰 값과 평균값을 뽑아내는 것이다.
- 거의 max pooling 사용
- Pooling 적용 시 사이즈를 반으로 줄이는 역할. 채널 수는 변동 없음
- stride는 항상 2로 고정
- Global MaxPooling은 Pooling을 feature map 사이즈와 동일하게 적용되는 max pooling 이다.
'AI' 카테고리의 다른 글
인공지능 코드 구현 (0) | 2021.06.09 |
---|---|
TNN(Trainning Neural Network) (0) | 2021.06.07 |
Back Propagation (0) | 2021.06.03 |
Neural Network (0) | 2021.06.02 |
[Deep Learning] Backpropagation (0) | 2021.06.01 |