CNN 은 왜 유명해졌을까?
시각 정보 자극으로 인한 시각 중추 활성화 매커니즘에서 영감을 얻음, 바이오 미믹
고양이 눈 : 명암 대비 변화 -> 움직임 -> 모서리 추적(까다로운 기능)
Refs.
- Gradient-based learning applied to document recognition, LeCun and others, 1998
- ImageNet Classification with Deep Convolution Neural Networks. Krizhevsky and others, 2012
Convolutional Neural Network
Fully Connected Layer
- 32x32x3 image -> stretch to 3072x1
tf.keras.layers.Flatten()
- Dot product between a row of W and the input
tf.keras.layers.Dense()
- 원하는 기능을 구현하기 위해 필요한 가중치의 갯수가 산술적으로 증가하게 된다 ->
가동 자원
Convolutional Layer
- 32x32x3 image + 5x5x3 filter(weights)
- Dot product between the filter and a small 5x5x3 chunk of the image
tf.keras.layers.Conv2D(filters, kernal_size, ...)
- 필터를 통해 다양한 특징들을 적은 자원 소모로 학습할 수 있게 됨
- ROI 탐색하는 범위의 크기가 고정된다는 단점 -> 수동으로 조정??
Activation Map
Visualizing weights(kernals)
-> Explainability
Stride, Padding
tf.keras.layers.Conv2D(6, (5,5,3), stride=(2,2), padding='same')
- 공식 문서 참조
- Outputsize:
(N+2P−F)/S+1
1x1 conv.
- Why you use it? What does it mean when it comes to compression on color information?
-> Same role as fully connected layer, but 1x1 conv. has less parameters than FC layers.
= FCL과 같은 기능을 하지만 더 적은 파라미터로 특징을 추출할 수 있음 and GPU로 병렬 계산이 가능하므로 처리속도 향상
새롭게 알게 된 것들
- CNN의 상세한 기능들이 가지고 있는 의미와 용법에 대해 좀더 깊이 알게됐다,
1x1 conv., stride
- 새롭게 제시된 개념에서도 아직 사람이 개입하여 해결해야할 문제점들이 발견되었고, 시차가 지난 지금에 와서 돌이켜보면 이런 결점들도 기계가 '스스로' 학습하도록 변경된 기능들이 보이게 되니 좋았다
한 주의 회고
- cs231n 강의 내용을 소화하는데 큰 어려움은 없었다(근데 cs182? 여기서 더 깊은게 있다니ㅜ) 어찌보면 표면적으로만 알고있던 지식을 깊이 확인할 수 있는 기회가 되어 뿌듯하기도 하고, 조금 이해가 어려운 부분도 가끔 보이면서 승부욕이 생기는 듯
다음 주의 다짐
- 교육 과정이 조금 진행되고 나니, 상세한 내용들이 쏟아지면서 기록하면서 듣게 되었다. 나중에 다시 확인할 때 시간을 효율적으로 사용하기 위해서는 요약 정리에 좀더 신경을 써야할 것 같다.