CNN 이란?
Convoultion Neural Network 으로
이 때 Convoultion 계층은 이미지의 feature (특징)을 학습하는 아주 중요한 부분계층이다.
이미지 매트릭스의 컨볼루션의 필터 크기와 맞게 가져와 각 자리에 맞는 값을 모두 곱해 다 더한 후 feature map에 입력하고 한 칸 옮겨 다시 연산한다.
이 과정을 반복하며 Feature Map을 채워나가는 것이다.
위 이미지는 stride (한 칸 옮김) 을 나타낸다.
위는 Padding에 대한 이야기다.
feature map을 채우다 보면 이미지의 사이즈가 줄어드므로 가상의 이미지 영역을 잡아주는데
Zero-Padding이라 한다.
마지막으로 특징만을 살리고 효율을 높이는 Pooling 을 진행할 수 있다.
이 때, Convoultion 이나 Pooling 은 정해진 횟수나 순서는 없고
여러번 시도해보면서 최적의 횟수를 찾아내면 된다.
'TensorFlow' 카테고리의 다른 글
jpg, png와 같은 이미지 파일을, 학습용 데이터로 만드는 방법 (0) | 2022.06.15 |
---|---|
TensorFlow - 이미지가 주어졌을 때 Convolution한 결과로 나오는 feature map의 사이즈를 구하는 공식 (0) | 2022.06.14 |
TensorFlow - 분류의 문제에서, loss 함수 어떤 것을 써야할까? (0) | 2022.06.14 |
TensorFlow - 레이블링된 y 값을 to_categorical 함수를 이용해서 원핫 인코딩으로 바꾸기 (0) | 2022.06.14 |
TensorFlow - 모델을 저장하고 불러오는 방법 (2) (통째로 저장하고 불러오기 / 아키텍처와 가중치 따로 저장하고 불러오기) (0) | 2022.06.14 |
댓글