Max Pooling이 이미지를 다운 샘플링하려고하면 왜 복잡합니까?


14

가장자리 식별과 같은 작업을 수행하기 위해 필터를 적용한다는 아이디어는 매우 멋진 아이디어입니다.

예를 들어, 7의 이미지를 찍을 수 있습니다. 일부 필터를 사용하면 원래 이미지의 다른 특성을 강조하는 변환 된 이미지로 끝날 수 있습니다. 원본 7 :

여기에 이미지 설명을 입력하십시오

네트워크는 다음과 같이 경험할 수 있습니다.

여기에 이미지 설명을 입력하십시오

각 이미지가 원본 7의 다른 가장자리를 어떻게 추출했는지 확인하십시오.

이것은 훌륭하지만 네트워크의 다음 계층이 Max Pooling 계층이라고합니다.

내 질문은 일반적으로 이것이 과잉처럼 보이지 않습니까? 우리는 필터를 사용하여 에지를 식별하는 데 매우 신중하고 신중했습니다. 이제 픽셀 값에서 지옥을 폭파했기 때문에 더 이상 신경 쓰지 않습니다! 내가 틀렸다면 정정하십시오. 그러나 우리는 25 X 25에서 2 X 2로갔습니다! 그렇다면 Max Pooling으로 바로 가십시오. 기본적으로 같은 결과가 나오지 않습니까?

내 질문의 확장으로 우연히도 4 개의 사각형 각각에 동일한 최대 값을 가진 픽셀이 생기면 어떻게 될지 궁금해 할 수 없습니다. 확실히 이것은 드문 일이 아닙니다. 그렇습니까? 갑자기 모든 훈련 이미지가 똑같이 보입니다.

답변:


16

최대 풀링은 이미지를 다운 샘플링하지 않습니다. 방금 추출한 기능 (가장자리 등)을 다운 샘플링합니다. 즉, 해당 모서리 또는 다른 기능의 위치를 ​​대략적으로 얻을 수 있습니다. 종종 이것은 네트워크가 일반화에 필요한 것입니다-분류하기 위해 10,5에서 10,20까지의 수직 모서리가 있다는 것을 알 필요는 없지만 대략 수직 모서리가 약 1/3입니다 이미지의 약 2/3 높이의 왼쪽 가장자리.

이 러한 카테고리의 기능은 본질적으로 입력 이미지의 변형을 최소화하여 비용이 거의 들지 않으며 기능 맵의 크기를 줄이면 부작용이 발생하여 네트워크 속도가 빨라집니다.

이 기능이 제대로 작동하려면 시작할 수있는 기능을 추출해야합니다. 최대 풀링에서는 수행 할 수 없으므로 컨볼 루션 레이어가 필요합니다. 첫 번째 최대 풀링 레이어를 사용하는 대신 원본 이미지 (14x14까지)를 다운 샘플링 할 수 있지만 여전히 상당히 정확한 정확도를 얻을 수 있습니다. 심층 신경망을 구축 할 때 풀링의 양과 레이어를 추가 할 위치는 또 다른 하이퍼 파라미터 문제입니다.


6

convolution layer사이에 있기 때문에 입력 레이어에서 최대 풀링으로 직접 이동할 수 없습니다 . 컨볼 루션의 이유는 피처를 추출하는 것입니다. 최대 풀링은 추출 된 기능을 다운 샘플링합니다. 큰 매트릭스에서 최대 풀링 레이어로 직접 점프하여 누락 된 기능이 있다고 생각되면 크기에 만족할 때까지 사이에 더 많은 컨볼 루션 레이어를 추가 한 다음 최대 풀링을 수행하여 최대 풀링을 수행 할 수 있습니다. 과잉이 아닙니다.

다운 샘플링의 형태 인 최대 풀링은 가장 중요한 기능을 식별하는 데 사용됩니다. 그러나 평균 풀링 및 기타 다양한 기술도 사용할 수 있습니다. 나는 보통 이미지가 아닌 텍스트로 작업합니다. 나를 위해, 값은 모두 동일하지 않습니다. 그러나 그것들이 너무 크면 가장 큰 가치를 선택하기 때문에 큰 차이가 없습니다.

위키 에서 아주 잘 이해 -The intuition is that once a feature has been found, its exact location isn't as important as its rough location relative to other features. The function of the pooling layer is to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network, and hence to also control overfitting. It is common to periodically insert a pooling layer in-between successive conv layers in a CNN architecture. The pooling operation provides a form of translation invariance.


마지막 문장을 설명해 주 The pooling operation provides a form of translation invariance시겠습니까?
HelloWorld

@StudentT 기능이 이미지의 어느 곳에서나 감지되면 최대 풀의 출력이 거의 동일 함을 의미합니다. 기능을 활성화하는 이미지에서 물건을 움직이면 max-pool에 대한 다른 입력이 최대가되지만 max-pool의 출력은 같아야합니다.
mrmcgreg

@mrmcgreg 나는 그것이 최대 풀링이 아니라 글로벌 풀링에 해당한다고 생각합니다. 최대 풀링은 풀 영역 내에서 현지 번역에 대한 일종의 불일치를 제공합니다 (예 : 2x2). 이것은 기능에 약간의 지터를 허용합니다.
geometrikal

0

Convolution은 기본적으로 픽셀 (네트워크의 매개 변수) 간의 관계를 잃지 않고 이미지의 크기를 줄이기 위해 더 작은 픽셀 필터로 이미지를 필터링합니다. 풀링은 픽셀의 최대, 평균 또는 합계를 크기로 추출하여 공간 크기를 줄입니다. 그러나 크기를 크게 줄이지 않으면 서 컨볼 루션이 다시 달성되는 과정에서 필터의 중요한 매개 변수를 놓칠 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.