TensorFlow 예제도 살펴 보았고,([AI] Tensorflow 예제실행👆)
이번엔 이미지 인식을 위해 가장 유명한 알고리즘인
**CNN(Convolutional Neural Network)**에 대해 알아보려고 한다.
📚 위키 백과
CNN은 시각적 이미지를 분석하는 데 사용되는 깊고 피드-포워드적인 인공신경망의 한 종류이다. 딥 러닝에서 심층 신경망으로 분류되며, 시각적 이미지 분석에 가장 일반적으로 적용된다.
기본적으로 Cnn은 Input -> Padding -> Convolution Layer -> Pooling -> Convolution Layer -> Pooling -> Convolution Layer ->..............-> Flattening -> Output
Kernel Size :
Stride :
Padding :
Input & Output Channels :
no_padding_no_strides
arbitrary_padding_no_strides
same_padding_no_strides
full_padding_no_strides
no_padding_strides
padding_strides
padding_strides_odd
활성화 함수(Activation Function)
필터 들을 통해서 특징 맵이 추출되면 이 특징 맵에 활성화 함수를 적용하여 값을 활성화
있다, 없다를 구분하기 위해 활성화 함수를 사용하는데 sigmoid function와 ** ReLU function**가 있다.sigmoid function
간단하게 정리하면, 결과 값을 참/거짓 으로 나타내는 것이 아니라, 참에 가까워면 0.5~1사이에서 1에 가까운 값을 거짓에 가까우면 0~0.5 사이의 값으로 리턴하는 것.ReLU function
igmoid 함수를 activation 함수로 사용할 경우, 레이어가 깊어지면 이 Back propagation이 제대로 작동을 하지 않기 때문에, 요새는 ReLu라는 함수를 사용하는데
특징은
Max Pooling
Average Pooling
https://yjjo.tistory.com/8
https://zzsza.github.io/data/2018/02/23/introduction-convolution/
https://bcho.tistory.com/1149