컨볼 루션이 항상 홀수를 filter_size로 사용하는 이유


13

CNN (ConvNet)을 사용하여 출판 된 논문의 90-99 %를 살펴 보는 경우. 대부분은 홀수의 필터 크기를 사용 합니다 . {1, 3, 5, 7}은 가장 많이 사용됩니다.

이러한 상황은 몇 가지 문제로 이어질 수 있습니다.이 필터 크기의 경우 일반적으로 2의 패딩 (공통 패딩)으로 컨볼 루션 연산이 완벽하지 않으며 프로세스에서 input_field의 일부 가장자리가 손실됩니다 ...

질문 1 : 컨볼 루션 필터 크기에 홀수 _ 숫자 만 사용 하는 이유는 무엇입니까?

질문 2 : 컨볼 루션 동안 input_field의 작은 부분을 생략하는 것이 실제로 문제입니까? 왜 그렇지 않습니까?

답변:


14

간단히 말해 컨볼 루션 연산은 두 행렬의 요소 별 곱의 조합입니다. 이 두 행렬의 차원이 일치하는 한 문제가 없어야하므로 쿼리의 동기를 이해할 수 있습니다.

A.1. 그러나 컨볼 루션의 목적은 소스 데이터 매트릭스 (전체 이미지)를 필터 또는 커널로 인코딩하는 것입니다. 더 구체적으로, 우리는 앵커 / 소스 픽셀 근처의 픽셀을 인코딩하려고합니다. 아래 그림을 살펴보십시오. 여기에 이미지 설명을 입력하십시오 일반적으로 소스 이미지의 모든 픽셀을 앵커 / 소스 픽셀로 간주하지만이를 제한하지는 않습니다. 실제로, 보폭을 포함하는 것은 드문 일이 아니며, 여기서 앵커 / 소스 픽셀은 특정 수의 픽셀로 분리됩니다.

좋아, 소스 픽셀은 무엇인가? 커널이 중심이되는 앵커 포인트이며 앵커 / 소스 픽셀을 포함한 모든 주변 픽셀을 인코딩하고 있습니다. 커널은 대칭 적으로 형성되기 때문에 (커널 값에서는 대칭이 아님) 앵커 픽셀의 모든면 (4 연결)에 같은 수의 픽셀이 있습니다 (4). 따라서이 픽셀 수에 관계없이 대칭 모양의 커널의 각면의 길이는 2 * n + 1 (앵커의 각면 + 앵커 픽셀)이므로 필터 / 커널의 크기는 항상 홀수입니다.

만약 우리가 '전통'을 깨고 비대칭 커널을 사용한다면 어떨까요? 앨리어싱 오류가 발생하여 그렇게하지 않습니다. 우리는 픽셀을 가장 작은 개체로 간주합니다. 즉, 여기에는 하위 픽셀 개념이 없습니다.

A.2 경계 문제는 다른 접근법을 사용하여 처리됩니다. 역 연산, 즉 디컨 볼 루션을 계산하지 않고 원본 이미지의 완벽한 재구성에 관심이없는 경우 경계 문제로 인한 정보 손실 또는 노이즈 주입에 신경 쓰지 않습니다. 일반적으로 풀링 작업 (평균 풀링 또는 최대 풀링)은 어쨌든 경계 아티팩트를 제거합니다. 따라서 '입력 필드'의 일부를 무시하십시오. 풀링 작업이 그렇게합니다.

-

컨벌루션의 선 :

구식 신호 처리 영역에서, 입력 신호가 필터를 통과하거나 필터를 통과 할 때, 이전에 연관된 / 필터링 된 응답의 어떤 컴포넌트가 관련성 / 정보 적이며 그렇지 않은지를 판단하는 방법은 없었다. 결과적으로 이러한 변환에서 신호 구성 요소 (모두)를 보존하는 것이 목표였습니다.

이 신호 구성 요소는 정보입니다. 일부 구성 요소는 다른 구성 요소보다 더 유익합니다. 이것의 유일한 이유는 우리가 더 높은 수준의 정보를 추출하는 데 관심이 있기 때문입니다. 일부 시맨틱 클래스와 관련된 정보. 따라서, 우리가 특별히 관심이있는 정보를 제공하지 않는 신호 성분은 제거 될 수 있습니다. 따라서 컨볼 루션 / 필터링에 대한 오래된 교리와는 달리, 컨볼 루션 응답을 원하는대로 풀링 / 풀링 할 수 있습니다. 우리가 그렇게 느끼는 방식은 통계 모델 개선에 기여하지 않는 모든 데이터 구성 요소를 엄격하게 제거하는 것입니다.


exaplantion에 감사하지만 수학적 용어로 컨볼 루션의 정의를 보면 이해하기가 쉽지 않습니까? en.wikipedia.org/wiki/Convolution#Discrete_convolution 여기에서 우리는 항상 원점의 왼쪽과 오른쪽에 m 개의 용어가 있다는 것을 알기 때문에 항상 고르지 않은 금액이됩니다.
zwep

@zwep 동의합니다! Q & A 포럼은 백과 사전을 대체하지 않습니다. 단지 보충 할뿐입니다. 그러나 귀하의 의견에 대한 더 넓은 관점 : 정의는 일반적으로 사용 가능한 옵션 중에서 동료 검토가 최선의 선택 일뿐입니다. 복음 진리가 아닙니다. 그럼에도 불구하고, 규칙을 깨기 전에 먼저 규칙을 배워야하기 때문에 규칙을 어떻게, 왜 다르게 하는지를 정확하게 커뮤니티에 전달할 수 있습니다. 특정 정의에 대한 이유와 대안은 연구 논문에 있으며 일반적으로 백과 사전에는 없습니다.
동적 스타 더스트

5

1) input_fieldindex에서 하나의 항목을 제외하고 모두 0 이라고 가정하십시오 idx. 홀수 필터 크기는 중심을 중심으로 피크가있는 데이터를 반환 idx하며, 짝수 필터 크기는 크기가 2 인 균일 한 필터의 경우를 고려하지 않습니다. 대부분의 사람들은 필터링 할 때 피크 위치를 유지하려고합니다.

2) 모든 input_field컨벌루션과 관련이 있지만 output_field필요한 데이터가에 포함되어 있지 않으므로 모서리를 정확하게 계산할 수 없습니다 input_field. 의 첫 번째 요소에 대한 답을 계산하려면 첫 번째 요소의 output_field중심에 필터를 배치해야합니다 input_field. 그러나의 사용 가능한 요소와 일치하지 않는 필터 요소가 있습니다 input_field. 의 가장자리를 추측하기위한 다양한 트릭이 있습니다 output_field.


2

홀수 크기 필터의 경우 이전의 모든 레이어 픽셀이 출력 픽셀 주위에 대칭으로 나타납니다. 이 대칭이 없으면 균일 한 크기의 커널을 사용할 때 발생하는 계층 간 왜곡을 고려해야합니다. 따라서 구현 단순성을 높이기 위해 짝수 크기의 커널 필터를 건너 뜁니다. 주어진 픽셀에서 중앙 픽셀로의 보간으로 컨벌루션을 생각하면 짝수 크기의 필터를 사용하여 중앙 픽셀로 보간 할 수 없습니다.

균일 한 크기의 필터가 작동하지 않는 이유

출처 : https://towardsdatascience.com/deciding-optimal-filter-size-for-cnns-d6f7b56f9363

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