본문 바로가기

Max pooling2

36. [CNN기초] 원, 네모를 구별하는 CNN 만들기(실습) 저번시간에 합성곱으로 원과 네모를 구별하는 CNN을 어떻게 구성하고, 학습할 수 있는지 그림과 함께 알아보았다. 이번 시간에는 직접 코드를 작성해 보면서 가능한지 알아보자. 1. 준비하기 1) CNN 구성 Input → Conv2D → relu → Max Pooling → flatten → fc → sigmoid 2) 이미지 준비하기 아래의 파일을 다운받아 적절한 곳에 풀자. 28 × 28 이미지 train : 원 12개, 네모 12개 test : 원 2개, 네모 2개 3) train data 학습데이터를 불러오고 이미지를 출력해 보자. 이미지를 불러와서 Numpy 배열에 넣자. 주의할 점은 2가지가 있는데 (1) 흰색 바탕에 검은색 그림 → 반전(bitwise_not) 시켜 검은색 바탕에 흰색 그림으로.. 2023. 2. 1.
34. [CNN기초] Max pooling, Average pooling 구현 Pooling을 정말 간단하게 이야기하자면 이미지의 있는 특징들을 요약하는 작업이다. 사용하는 이유는 일반적으로 특성 맵의 차원을 줄임으로써 연산량을 줄여줄 수 있을 뿐만 아니라 특징을 요약했기 때문에 입력 이미지 특징들의 위치 변화(회전, 대칭이동 등)에 잘 반응한다. Pooling은 최대 풀링(Max pooling)과 평균 풀링(Average pooling) 두 가지가 있는데 각각 장단이 있다. 오늘은 풀링을 넘파이로 어떻게 구현하는지 알아보고 다음시간에 풀링층을 적용하여 문제를 해결해 보자. 아래의 1개의 이미지(batch size, height, width)를 풀링해 보자. # 풀링 레이어 구현 Average Pooling과 Max Pooling을 구현해 보자. import numpy as np .. 2023. 1. 26.