컨볼 루션 필터가 똑같이 끝나지 않도록 보장하는 것이 있습니까?

Dec 11 2020

저는 mnist 데이터 셋에서 손으로 쓴 숫자를 인식하는 간단한 모델을 훈련 시켰습니다. 여기있어:

model = Sequential([
    Conv2D(filters=1, kernel_size=(3,1), padding='valid', strides=1, input_shape=(28, 28, 1)),
    Flatten(),
    Dense(10, activation='softmax')])

다른 매개 변수를 일정하게 유지하면서 (학습률 = 0.0001, 에피소드 수 = 2000, 훈련 배치 크기 = 512) 컨볼 루션 레이어에 대한 필터 수를 다양하게 실험했습니다. 1, 2, 4, 8, 16 개의 필터를 사용했고 모델 정확도는 각각 92-93 %였습니다.

내 이해에 따르면 훈련 중에 필터는 이미지에서 다양한 유형의 가장자리 (예 : 수직, 수평, 원형)를 인식하는 방법을 배울 수 있습니다. 이 실험을 통해 동일한 가중치 또는 유사한 가중치를 갖는 필터가 중복되는지 궁금합니다. 그들을 막는 것이 있습니까?

답변

4 user3667125 Dec 11 2020 at 13:16

아니요, 가중치가 달라지는 것을 실제로 막는 것은 없습니다. 실제로 모델을 더 표현력있게 (즉, 더 강력하게) 만들기 때문에 거의 항상 다르지만 그래디언트 디센트는이를 수행하는 방법을 배웁니다. 모델에$n$ 기능 중 2 개가 동일하면 모델이 효과적으로 $n-1$ 기능보다 표현력이 적은 모델입니다. $n$ 따라서 일반적으로 더 큰 손실 함수가 있습니다.

그러나 가중치가 다르더라도 일부는 매우 유사 할 수 있습니다. 컨볼 루션 필터의 첫 번째 레이어를 시각화하고 많은 수 (예 : 100 개)가있는 경우 일부는 대략 동일한 가장자리 (동일한 방향 및 배치)를 감지하는 방법을 배우는 것을 볼 수 있습니다. 이러한 기능은 매우 유사하여 모델에서 효과적으로 중복되며 예측력을 추가하지 않습니다.

실제로 중복 기능을 식별하고 정리하는 데 대한 전체 연구 분야가 있습니다. Le Cun은 Optimal Brain Damage 에서 중복 기능을 제거하면 추론을 위해 모델이 더 작고 빨라질뿐만 아니라 모델의 정확도도 향상 될 수 있음을 보여줍니다.

여기에 더 많은 정보에 대한 가지 치기 방법 중 하나의 높은 수준의 개요에 대한 블로그 게시물입니다.