📌 LeNet-5
- Conv(c=20, k=5, p=2, s=1)
- kernel size가 5x5이고 padding size 2, stride 1이다
- output channel 수가 20이므로, 20개의 feature map이 생긴다
- output size = $\frac{28+2\times 2-5}{1}+1 = 28 $
- weight size : output channel x input channel x kernel size x kernel size
- parameter 개수 : (weight x input size + bias) x activation map
- ReLU
- output size는 이전 layer의 output을 input으로 받기에 사이즈는 유지된다
- MaxPool(k=2, s=2)
- 크기가 절반이 된다
- pooling 과정을 거치면서 사이즈가 절반이 되었는데, 정보를 많이 잃은 것은 아닌가?
- channel의 개수를 충분히 늘려줌으써 전체 volume 값을 유지한다
📌 Batch Normalization
- Internal Covariate Shift를 줄이고, 최적화 능력을 향상시킨다
- Internel Covariate Shift : hidden layer마다 입력되는 값의 분포가 달라지는 현상
- call saturation 방지
- slow learning의 해결책
- layer 사이의 상호의존성(interdependency)를 감소킨다
📌 Batch Normalization의 문제점
- 정규화한 값은 training mini-batch data에 의존하기에 testing data가 들어왔을 때 학습할 때와 다른 결과를 얻을 수 있다(많은 데이터를 통해서는 평균과 분산을 구할 수 있지만, test data는 1개만 들어오니 그 값에 대한 평균과 분산을 구하기는 어려움)
- 학습 과정 중에 평균과 분산의 값이 저장되도록 하여 test data가 들어왔을 때도 활용할 수 있도록 한다
📌 Normalization Methods
- Batch Norm
- batch에 있는 모든 sample에 대해서 각 feature의 평균과 분산을 구하여 정규화
- Layer Norm
- batch에 있는 모든 sample의 feature에 대해서 평균과 분산을 구해서 정규화
- batch size가 1이면 batch norm 사용 불가. 그래서 layer norm이 나오게 된다
- Instance Norm
- Group Norm
📌 Preprocessing / Augmentation for CNN
- Preprocessing : 이미지(데이터) 전처리
- Augmentation : 있는 것을 가지고, 새로운 것들 (변형을 통해)을 만드는 것
- Overfitting을 해결하고 데이터 수도 늘릴 수 있다.( DL의 성능증가!)
📌 Intensity Normalization
- 자기 공명 영상 (MRI)의 주요 단점 중 하나는 영상 강도에 대한 표준 및 정량화 가능한 해석이 없다는 것이다. X선 촬영과 같은 방식과는 달리 동일한 환자에 대해 다른 시간에 동일한 스캐너로 촬영한 MRI 이미지는 다양한 스캐너 의존적 변화로 인해 서로 다르게 나타날 수 있으며, 따라서 “절대적인 강도(Intensity) 값”이 정해져있지 않다.따라서 환자나 사용된 MRI 스캐너의 특정 브랜드와는 무관하게 모든 이미지가 동일한 프로토콜 및 신체 부위에 대해 변환된 이미지에서 유사한 강도를 갖도록 변환하는 Intensity Normalization이 필요하다.
- algorithm
- Intensity Min-Max Scale
- Data 픽셀값의 최소와 최대를 구해서 나누어주고, 전체 값의 범위를 0~1로 고정시키는 것이다.
- Intensity Centering
- 픽셀 값들을 평균이 zero가 되도록 scaling시키는 것이다.
- Intensity Standardization
- 픽셀값들을 zero mean과 unit variance를 가지도록 scaling시키는 것이다.
결과적으로 Intensity Normalization과정을 거치면 같은 환자의 여러 MRI 이미지는 대체로 유사한 Intensity를 가지게 된다.
가장 오른쪽의 Standardization한 이미지로 학습하면 훨씬 잘된다고 한다~
📌 Image Augmentaion
- training data를 변형시켜 학습을 최대한 많이 하는 것을 말한다.
- 위와 같이 하나의 Input image를 여러 방법으로 Augmentation시켜 다양한 패턴을 학습시키면 딥러닝이 잘된다고 한다.
[Geometric augmentation] : 기하학적 변형
- Translation, rotation, scale, shear → affine
- 수직/수평 방향 뒤집기
- image warping (non-linear transformation)
[Photometric augmentation] : 광학적인(사진학적?) 변형방법
- Add noise, blurring, mixmatch, adversarial bias field
- 픽셀값의 변경 또는 반전, sharpness, brightness, color change
[Albumentation] : Input Image를 Augmentation해주는 파이썬 라이브러리
설명 안하고 그냥 넘어갔음.
'학교 공부 > 컴퓨터비전' 카테고리의 다른 글
21. Image Classification 1 (0) | 2022.12.14 |
---|---|
19. Convolutional Neural Network (0) | 2022.12.13 |
18. Learning Techniques for Neural Networks (0) | 2022.12.13 |
16(3). Image Retrieval (0) | 2022.12.10 |
16(2). Object Detection(Image Retrieval) (0) | 2022.12.10 |