Biomedical 분야에서는 이미지 deep learning 연구가 활발하게 이루어지고 있다.
하나의 이미지는 3차원 (C, H, W)으로 구성되어 있다.
이미지는 0-255의 값으로 구성되어 있다. 보통 255로 나누어 Min-max Normalize 하거나 Normal Distribution 기반으로 normalization한다.
CNN은 local 한 feature를 잘 잡는다는 Inductive bias를 갖고 있다. CNN layer의 특징은 weight sharing을 한다는 것인데,
그렇기 때문에 아래에 있는 3이라는 글자를 보면, 3이라는 글씨에는 꺾이는 부분이 있고 이런 꺾임 현상이 여러 곳에서 나타난다. 이렇게 꺾인 곳(반복되는 local feature)을 똑같이 처리해주면 좋기 때문에 이미지에는 CNN이 적합하다.
Translational Invariance vs Translation Equivariance
고양이의 위치가 달라져도 해당 이미지는 고양이 이미지라고 분류가 되어야 한다. 이를 translation invariance라고 한다.
CNN 모델은 filter로 연산을 진행할 때 위 그림처럼 위치가 달라지면 output도 달라지게 되는 translation equivariance 하다는 특징을 갖고 있는데 어떻게 CNN으로 translation invariance한 결과를 얻을 수 있을까?
⇒ Weight sharing 때문인데, 동일 가중치를 모든 픽셀이 공유하면서 local하게 연산하기에 FC layer에서의 output값들도 input image의 local value들의 영향을 받아 특정 사이즈 내에서만 equivariant하게 값이 바뀌기 때문이다.
또한 연산적으로도 효율적이다. Fully Connected를 사용할 경우는 10^12개의 가중치를 학습해야하지만, Filter size가 10X10인 CNN을 사용하면 학습해야하는 가중치는 100개 뿐이다.
의료 이미지들은 대체로 흑백인 경우가 많다. Pre-training on Grayscale ImageNet Imporves Medical Image Classifcation 논문에서는 의료 이미지들은 흑백인 경우가 많으니 ImageNet Dataset을 흑백으로 처리해서 Pretrain하고 사용하니 성능이 더 좋다고 한다.