신경망: 컨볼루셔널 레이어 지식 포인트

1. 컨볼루션의 특징은 무엇인가요?

컨볼루션에는 세 가지 주요 특성이 있습니다 .

  1. 로컬 연결 . 전체 연결과 비교하여 부분 연결은 네트워크 매개변수를 크게 줄입니다. 2차원 이미지에서 로컬 픽셀은 높은 상관 관계를 갖고 있으며 로컬 연결을 설계하면 이미지의 로컬 특징에 대한 컨벌루션 네트워크의 강력한 응답이 보장됩니다.

  2. 체중분배 . 매개변수 공유는 전체 매개변수 양을 줄이고 네트워크 훈련의 효율성을 향상시킬 수도 있습니다. 컨볼루션 커널의 매개변수 가중치는 전체 이미지에 의해 공유되며, 컨볼루션 커널 내의 매개변수 가중치는 이미지의 다른 위치로 인해 변경되지 않습니다.

  3. 다운샘플링 . 다운샘플링은 이미지 해상도를 점진적으로 줄이고, 데이터의 차원 축소를 달성하며, 얕은 로컬 특징을 깊은 특징으로 결합할 수 있습니다. 또한 다운샘플링은 컴퓨팅 리소스 소비를 줄이고 모델 훈련 속도를 높이며 과적합을 효과적으로 제어할 수 있습니다.

2. 컨볼루션 수준에 따라 어떤 유형의 특징이 추출되나요?

  1. 얕은 컨볼루션 → \rightarrow 모서리 특징 추출

  2. 중간층 컨볼루션 → \rightarrow 지역특징 추출

  3. 딥 컨볼루션 → \rightarrow 전역 특징 추출

3. 컨볼루션 커널 크기를 선택하는 방법

가장 일반적으로 사용되는 것은 3 × 3 3\times3 입니다.×3 크기 컨볼루션 커널, 2개의3 × 3 3\times3×3개의 컨볼루션 커널과5 × 5 5\times55×5개의 컨볼루션 커널의 수용 필드는 동일하지만 매개변수와 계산량이 줄어들어 모델 학습 속도가 빨라집니다. 동시에 컨볼루션 커널의 증가로 인해 모델의 비선형 표현 능력이 크게 향상되었습니다.

여기에 이미지 설명을 삽입하세요.

그러나 큰 컨벌루션 커널( 7 × 7, 9 × 9 7\times7, 9\times97×7 , 9×9 ) 활용의 여지도 있습니다. GAN, 이미지 초해상도, 이미지 융합 등 분야에는 아직 많은 응용 분야가 있으며 필요에 따라 관심 분야의 관련 논문을 확인하실 수 있습니다.

4. 컨볼루션 수용 필드 관련 개념

표적 탐지 및 표적 추적에 대한 많은 모델은 RPN 계층을 사용합니다. 앵커는 RPN 계층의 기반이고 RF(수용 필드)는 앵커의 기반입니다.

수용 필드의 역할:

  1. 일반적으로 수용 필드가 클수록 좋습니다. 예를 들어 분류 작업에서 마지막 컨볼루션 레이어의 수용 필드는 입력 이미지보다 커야 합니다.

  2. 수용 필드가 충분히 크면 무시되는 정보가 줄어듭니다.

  3. 표적 탐지 작업에서 앵커는 수용 필드와 정렬되어야 하며, 앵커가 너무 크거나 수용 필드에서 벗어나면 성능에 일정한 영향을 미칩니다.

수용 필드 계산:

여기에 이미지 설명을 삽입하세요.

수용 필드를 늘리는 방법:

  1. 아트러스 컨볼루션 사용

  2. 풀링 레이어 사용

  3. 컨볼루션 커널 늘리기

5. 네트워크의 각 계층이 하나의 컨볼루션 커널 크기만 사용할 수 있습니까?

기존 신경망은 일반적으로 각 레이어에 대해 하나의 크기의 컨볼루션 커널만 사용하지만, 동일한 레이어의 기능 맵은 서로 다른 크기의 여러 컨볼루션 커널을 사용하여 서로 다른 규모의 기능을 얻은 다음 이러한 기능을 결합하여 기능이 더 나은 경우가 많습니다. 단일 크기 컨볼루션 커널을 사용하는 것 예를 들어 GoogLeNet 및 Inception 시리즈 네트워크는 각 계층에서 여러 개의 서로 다른 컨볼루션 커널 구조를 사용합니다. 아래 그림과 같이 입력 특징 맵은 동일한 레이어에서
1 × 1 1\times 1 을 통과합니다.1×1,3 × 3 3\회3×35 × 5 5\times55×5 세 가지 다른 크기의 컨볼루션 커널을 각각의 특징 맵을 통합한 후 얻은 새로운 특징은 서로 다른 수용 필드에서 추출된 특징의 조합으로 간주할 수 있으며 이는 단일 크기의 컨볼루션 커널보다 더 강력한 표현력을 갖습니다.

여기에 이미지 설명을 삽입하세요.

6.1*1 컨볼루션의 역할

1 * 1 1 * 11*1 컨볼루션의 주요 기능은 다음과 같습니다.

  1. 기능 정보의 상호 작용 및 통합을 실현합니다.

  2. 특징 맵 채널 수를 차원적으로 늘리거나 줄입니다. 차원을 줄이면 매개변수 수도 줄일 수 있습니다.

  3. 1*1 1*11*1 컨볼루션 + 활성화 함수→ \rightarrow 비선형성을 높이고 네트워크 표현 기능을 향상시킵니다.

여기에 이미지 설명을 삽입하세요.

1 * 1 1 * 11*1 Convolution은 NIN(Network in Network)에서 처음 사용되었으며 나중에 GoogLeNet 및 ResNet과 같은 네트워크에서 사용되었습니다. 관심 있는 친구들은 이러한 논문 연구의 세부 사항을 추적할 수 있습니다.

7. 전치 컨볼루션의 역할

Transposed convolution은 이미지 분할, 이미지 융합, GAN 등 특정 작업의 성능을 향상시키기 위해 기존 보간 업샘플링 방법을 대체하는 학습 과정을 통해 최적의 업샘플링 방법을 학습합니다.

전치 컨볼루션은 컨볼루션의 역연산이 아니며, 정보 이론의 관점에서 컨볼루션 연산은 비가역적입니다. 전치 컨볼루션은 출력 특징 맵 크기를 컨볼루션 전의 특징 맵 크기로 복원할 수 있지만 원래 값을 복원하지는 않습니다.

전치 컨벌루션의 계산 공식:

컨볼루션 커널 크기를 K × KK\times K 로 설정했습니다.케이×K , 입력 특징 맵은i × ii \times i× .

(1) 当스트라이드 = 1 , 패딩 = 0 스트라이드 = 1, 패딩 = 0계속 해서 _ _ _ _=1 , p 추가 g _ _=0 시간:

입력 특징 맵은 전치 컨볼루션 연산을 수행할 때 padding = K − 1과 동일합니다 .p a dd in g=케이-1 패딩, 일반 컨볼루션 전치 후 표준 컨볼루션 작업이 이어집니다.

출력 특징 맵의 크기 = i + ( K − 1 ) i + (K − 1)+( K-1 )

(2) 当스트라이드 > 1 , 패딩 = 0 스트라이드 > 1, 패딩 = 0계속 해서 _ _ _ _>1 , p 추가 g _ _=0 시간:

입력 특징 맵은 전치 컨볼루션 연산을 수행할 때 padding = K − 1과 동일합니다 .p a dd in g=케이-패딩 1개 , 인접한 요소 사이의 구멍 크기는stride − 1 stride − 1계속 해서 _ _ _ _-1 , 그런 다음 일반 컨볼루션 전치 후에 표준 컨볼루션 작업을 수행합니다.

출력 특징 맵의 크기 = stride * ( i − 1 ) + K stride * (i − 1) + K계속 해서 _ _ _ _*( -1 )+케이

8. 아트러스 컨볼루션의 역할

확장 컨볼루션의 기능은 풀링 작업을 통해 정보 손실 없이 수용 필드를 증가시켜 각 컨볼루션 출력에 더 넓은 범위의 정보가 포함되도록 하는 것입니다 .

Atrous convolution에는 dilation rate를 설정하는 매개 변수가 있는데 convolution kernel에서 dilation rate를 0으로 채우므로 서로 다른 dilation rate를 설정하면 수용 필드가 달라지며 multi-scale 정보를 얻을 수 있습니다.

여기에 이미지 설명을 삽입하세요.

(a) 그림은 3 × 3 3\times3 에 해당합니다.×3 의 1-확장 컨볼루션 은 일반적인 컨볼루션 연산과 동일합니다. (b) 그림은3 × 3 3\times3×3 의 2-확장 컨벌루션의 경우 실제 컨볼루션 커널 크기는 여전히3 × 3 3\times3×3 , 하지만 구멍은1 11 , 즉7 × 7 7\times77×7 용 이미지 패치9만 99개의 빨간 점과3 × 3 3\times3×컨볼루션 연산은 커널 3 에서 발생하며 나머지 점의 가중치는0 00 . ©Figure는 4-확장 변환 연산입니다.

9. 전치 컨볼루션의 체커보드 효과는 무엇입니까?

체커보드 효과의 원인은 전치된 컨볼루션의 고르지 않은 중첩 때문입니다. 이러한 중첩으로 인해 이미지의 일부 부분이 다른 부분보다 어두워집니다.

아래 그림은 체커보드 효과가 형성되는 과정을 보여주며, 어두운 부분은 고르지 못한 겹침을 나타냅니다.

바둑판 효과

다음으로 컨볼루션 단계 크기를 2로 변경합니다. 출력 이미지의 모든 픽셀이 입력 이미지에서 동일한 양의 정보를 받는 것을 볼 수 있습니다. 모두 입력 이미지에서 1픽셀의 정보를 받기 때문에 변환이 없습니다. 볼륨 배치로 인해 겹치는 영역입니다.

보간 크기 조정 작업을 직접 수행한 다음 컨볼루션 작업을 수행하여 체커보드 효과를 제거할 수도 있습니다. 이 방법은 초해상도 재구성 시나리오에서 더 일반적입니다. 예를 들어 업샘플링에는 쌍선형 보간(bilinear interpolation), 최근접 이웃 보간(nearest neighbor interpolation) 등의 방법이 사용됩니다.

10.유효수용장은 무엇인가요?

수용 영역에 대한 관련 지식은 위의 섹션 4에서 소개되었습니다.

ERF(유효수용장) 관련 지식을 살펴보겠습니다.

일반적으로 말하면 기능 맵의 유효 수용 필드는 실제 수용 필드보다 작습니다. 중심점을 기준으로 가우스 분포처럼 가장자리로 갈수록 효율성이 감소합니다.

일반적으로 수용 필드는 특징 맵에 포함된 정보의 최대량을 주로 설명하고, 유효 수용 필드는 주로 정보의 효율성을 설명합니다.

11. 그룹 컨볼루션 관련 지식

Group Convolution(그룹 컨볼루션)은 AlexNet 네트워크에 처음 등장한 것으로, 여러 GPU에서 병렬로 실행될 수 있도록 네트워크를 분할하는 데 사용됩니다.

그룹화된 컨볼루션과 일반 컨볼루션의 차이점

일반적인 컨볼루션 연산을 수행할 때 입력 특징 맵 크기가 C × H × WC\times H \times W 인 경우×시간×W , N개의 컨볼루션 커널이 있는 경우 출력 특징 맵은 컨볼루션 커널의 수와 동일하며 N이기도 합니다. 각 컨볼루션 커널의 크기는C × K × KC\times K \times K×케이×K , N개의 컨볼루션 커널의 전체 매개변수는N × C × K × KN \times C \times K \times KN××케이×케이

그룹화된 컨볼루션은 주로 입력 특성 맵을 그룹화한 다음 각 그룹을 별도로 컨볼루션합니다. 입력 특징 맵 크기가 C × H × WC\times H \times W 인 경우×시간×W , 출력 특징 맵의 수는NNN , G개의 그룹으로 나누어 설정하면 각 그룹의 입력 특징 맵 개수는CG \frac{C}{G}G이면 각 그룹의 출력 특징 맵 수는 NG \frac{N}{G} 입니다.G, 각 컨볼루션 커널의 크기는 CG × K × K \frac{C}{G} \times K \times K 입니다.G×케이×K , 총 컨볼루션 커널 수는 여전히 N이고, 각 그룹의 컨볼루션 커널 수는NG \frac{N}{G}G, 컨볼루션 커널은 동일한 그룹의 입력 맵으로만 컨볼루션하며 컨볼루션 커널의 전체 매개변수 양은 N × CG × K × KN \times \frac{C}{G} \times K \times K입니다.N×G×케이×K ,매개변수의 총 개수가 원래의 1G \frac{1}{G} 로 감소된다는 것을 쉽게 알 수 있습니다.G1

그룹화된 컨볼루션의 역할:

  1. 그룹화된 컨볼루션은 매개변수 수를 줄일 수 있습니다.
  2. 그룹화된 컨볼루션은 희소 작업으로 간주될 수 있으며, 이는 때때로 더 적은 수의 매개 변수(정규화 작업과 동일)로 더 나은 결과를 얻을 수 있습니다.
  3. 그룹 개수와 입력 특성 맵 채널 개수가 같고 출력 특성 맵 개수와 입력 특성 맵 개수도 같을 경우 그룹 컨볼루션은 Depthwise 컨볼루션이 되어 매개 변수의 양을 더욱 줄일 수 있습니다.

추천

출처blog.csdn.net/weixin_51390582/article/details/134980552