CNN은 이미지 전체를 작은 단위로 쪼개어 각 부분을 분석하는 것이 핵심입니다.

CNN은 이미지를 인식하기 위해 패턴을 찾는 데 유용합니다. 데이터를 통해 특징을 스스로 학습하고, 패턴을 사용하여 이미지를 분류하고 특징을 수동으로 추출할 필요가 없습니다. 또한 기존 네트워크를 바탕으로 새로운 인식 작업을 위해 CNN을 재학습하여 사용하는 것이 가능합니다.

그림과 같이 convolution kernel로 합성곱을 통해 feature Map을 만든다.

pooling은 특징은 가지되, 컴퓨팅 효율을 높게 해준다.

그림과 같이 2 * 2 의 사이즈로 2 칸씩 띄어서 Pooling을 해주면 크기가 줄어든다.

아래는 코드 예시다.

model = tf.keras.models.Sequential([
  tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28, 28, 1)),
  tf.keras.layers.MaxPooling2D(2, 2)])

 

 

 

+ Recent posts