Convolutional Neural Network에서 컨볼 루션 단계는 무엇을합니까?


16

컴퓨터 비전에서의 응용으로 인해 CNN (Convolutional Neural Network)을 연구하고 있습니다. 저는 표준 피드 포워드 신경망에 이미 익숙하므로 일부 사람들이 CNN을 이해하는 데 도움이 될 수 있기를 바랍니다. CNN에 대한 생각은 다음과 같습니다.

  1. 기존 피드 포워드 NN에는 각 요소가 "입력 레이어"에서 NN에 입력 한 기능 벡터로 구성된 학습 데이터가 있으므로 이미지 인식을 통해 각 픽셀을 하나의 입력으로 만들 수 있습니다. 그것들은 우리의 특징 벡터입니다. 다른 방법으로, 아마도 더 작은 다른 특징 벡터를 수동으로 만들 수도 있습니다.
  2. CNN의 장점은 이미지 왜곡 및 위치에 더 변하지 않는 더 강한 특징 벡터를 생성 할 수 있다는 것입니다. 다음 이미지에서 볼 수 있듯이 ( 이 튜토리얼에서 ) CNN은 기능 맵을 생성 한 다음 표준 신경망에 공급합니다 (실제로 거대한 전처리 단계).

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

  1. "더 나은"기능을 얻는 방법은 컨벌루션과 서브 샘플링을 번갈아가는 것입니다. 서브 샘플링이 어떻게 작동하는지 이해합니다. 각 기능 맵에 대해 픽셀의 서브 세트를 가져 오거나 픽셀 값을 평균화 할 수 있습니다.

그러나 내가 주로 혼란스럽게하는 것은 회선 단계가 어떻게 작동하는지입니다. 나는 확률 이론 (2 개의 랜덤 변수의 합에 대한 밀도)의 컨볼 루션에 익숙하지만 CNN에서 어떻게 작동하며 왜 효과적입니까?

내 질문은 유사하다 이 하나 있지만 왜 특히, 나는 확실하지 않다 첫번째 회선 단계가 작동합니다.

답변:


16

먼저 CNN에 대한 직관을 공유 한 다음 나열된 특정 주제에 대해 언급하려고합니다.

CNN의 컨볼 루션 및 서브 샘플링 레이어는 공통 MLP의 숨겨진 레이어와 다르지 않습니다. 즉, 해당 기능은 입력에서 기능을 추출하는 것입니다. 그런 다음 이러한 기능은 더 복잡한 기능을 추출하기 위해 다음 숨겨진 계층에 제공되거나 최종 예측을 출력하기 위해 표준 분류 자에 직접 제공됩니다 (일반적으로 Softmax이지만 SVM 또는 기타 다른 기능도 사용할 수 있음). 이미지 인식과 관련하여 이러한 기능은 하위 레이어의 획 패턴 및 상위 레이어의 객체 부분과 같은 이미지 처리입니다.

자연스러운 이미지에서 이러한 기능은 모든 위치에서 동일한 경향이 있습니다. 이미지 중간에 특정 획 패턴을 인식하는 것은 테두리에 가깝게 인식하는 것만 큼 유용합니다. 그러면 입력 이미지의 모든 영역에서 숨겨진 레이어를 복제하고 여러 복사본을 연결하여 어디에서나 동일한 기능을 감지 할 수 있습니까? CNN이하는 것과 정확히 동일하지만 효율적인 방식입니다. 복제 ( "컨볼 루션"단계) 후에 여러 가지 방법으로 구현할 수 있지만 하위 샘플에 지나지 않는 하위 샘플 단계를 추가합니다. 이론적으로이 단계는 제거 될 수도 있지만 실제로 문제를 다루기 쉽게 유지하려면 필수적입니다.

그러므로:

  1. 옳은.
  2. 위에서 설명한 것처럼 CNN의 숨겨진 계층은 일반 MLP에서와 같이 기능 추출기입니다. 교대 컨벌루션 및 서브 샘플링 단계는 교육 및 분류 중에 수행되므로 실제 처리 이전에 수행 된 작업이 아닙니다. MLP의 숨겨진 레이어가 그렇게 호출되지 않는 것과 같은 방식으로 "전처리"라고 부르지 않습니다.
  3. 옳은.

3×35×5

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

9

후속 컨벌루션 및 서브 샘플링 단계는 동일한 원리를 기반으로하지만 원본 이미지의 원시 픽셀 대신 이전 레이어에서 추출 된 기능을 통해 계산됩니다.


설명 주셔서 감사합니다. 당신이 언급 한 튜토리얼을 확인하겠습니다.
ComputerScientist

정말 좋은 설명 그래픽. 참조 작업 참조 : M. Egmont-Petersen, D. de Ridder, H. Handels. 신경망을 이용한 이미지 처리-검토, 패턴 인식, Vol. 35, No. 10, pp. 2279-2301, 2002
매치 메이커 EE

4 년이 지난 지금 저는 거의 매일 CNN과 협력하고 있습니다. @Saul Berardo에서이 포스팅은 정말 :) 내가 바른 길에 얻을 도움이
ComputerScientist

1

"첫 번째 컨볼 루션 단계가 왜 작동하는지"가 무슨 의미인지 잘 모르겠습니다. CNN이 성공하기 위해서는 많은 계층이 필요합니다. CNN과 다른 많은 딥 러닝 접근법의 기본 아이디어 중 하나는 더 작은 신호의 공간적 상관 관계에 의해 더 큰 신호를 식별 할 수 있다는 것입니다. 다시 말해, 이미지는 복잡해 보일 수 있지만 몇 가지 기본 부분의 조합으로 만들어집니다. 컴퓨터 비전의 경우 이미지의 기본 구조는 일반적으로 가장자리와 모서리로 구성됩니다. CNN은 공통 지역화 된 구조를 찾아 이미지에서 구조의 복잡성을 이용하려고합니다. 이것이 CNN의 첫 번째 계층이 결정하려고하는 것입니다. 컨벌루션을 특정 템플릿과 일치하는 신호를 찾는 일치 필터로 생각하십시오. 작동 방식은 사용중인 데이터에 따라 다릅니다. 다행스럽게도 세계는 소규모로 반복되므로 CNN은 컴퓨터 비전 작업에 적합합니다.


그래, 그게 일반적인 생각 인 것 같아 나는 원래의 질문에서 명확하지 않았지만 왜 수학이 작동했는지, 즉 컨볼 루션 속성 자체 가 첫 번째 레이어가 작은 부분을 찾을 있는지 궁금합니다 .
ComputerScientist

1
컨벌루션 및 일치 필터링에 대해 자세히 알아보십시오. 컨볼 루션 커널이 신호와 일치하면 가장 큰 수익을냅니다.
SimpleLikeAnEgg

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