내 신경망은 유클리드 거리를 배울 수 없습니다


9

그래서 나는 신경망을 가르치려고 노력하고 있습니다 (고양이 그림을 분류하지 않고 회귀 응용 프로그램을 위해).

나의 첫 번째 실험은 FIR 필터와 Discrete Fourier Transform ( "전"및 "후"신호에 대한 훈련)을 구현하기 위해 네트워크를 훈련시키는 것이었다. 왜냐하면 그것들은 활성화 기능이없는 단일 계층에 의해 구현 될 수있는 선형 연산이기 때문이다. 둘 다 잘 작동했습니다.

그런 다음 추가 abs()하고 진폭 스펙트럼을 배울 수 있는지 확인하고 싶었습니다 . 먼저 숨겨진 레이어에 필요한 노드 수에 대해 생각하고의 대략적인 근사치에 3 개의 ReLU가 충분하다는 것을 깨달았 abs(x+jy) = sqrt(x² + y²)으므로 고독한 복소수 (2 입력 → 3 ReLU 노드 숨겨진 레이어 → 1)에서 자체적으로 그 작업을 테스트했습니다. 산출). 때때로 그것은 작동합니다 :

역 육각 피라미드로 유클리드 거리를 구현하는 3 가지 ReLU

그러나 내가 시도하는 대부분의 경우 로컬 최소값에 갇혀 올바른 모양을 찾지 못합니다.

계곡 모양의 네트워크를 형성하는 3 가지 ReLU

손실 대 시대

Keras의 모든 최적화 프로그램과 ReLU 변형을 시도했지만 큰 차이는 없습니다. 이와 같은 간단한 네트워크를 안정적으로 수렴시키기 위해 할 수있는 다른 일이 있습니까? 아니면 잘못된 태도로 이것에 접근하고 있습니까? 문제에 필요한 것보다 더 많은 노드를 던져야하며 절반이 죽으면 큰 문제로 간주되지 않습니까?


1
당신의 줄거리는 몇 가지 다른 실험으로 보이는 것을 보여줍니다. 차이점은 무엇입니까?
— Sycorax는 Reinstate Monica가

@Sycorax 그것들은 같은 일에 대한 반복 된 시험입니다. 때로는 육각형 피라미드 솔루션을 찾지 만 대개는 그렇지 않습니다.
— endolith

두 개의 숨겨진 레이어와 활성화 기능으로 tanh를 사용해 보셨습니까?
— Ketan

왜? 나는 여기에 더 간단한 변형을 게시했습니다 : stats.stackexchange.com/q/379884/11633
— endolith

이걸보고 싶을 수도 있습니다. stats.stackexchange.com/q/375655/27556 . 그러나 왜 3 개의 relus 만 필요하다고 생각하는지 설명 할 수 있습니까? '자연적인'분해는 relus로 제곱 근사를 수행하는 숨겨진 레이어와 제곱근을 수행하는 또 다른 레이어입니다. 기본적으로 relus는 부분 선형 근사를 수행합니다.
— seanv507

답변:


6

결과는 하나 이상의 뉴런이 죽었 음을 강력하게 암시하는 것 같습니다 (또는 아마도 두 뉴런에 대한 중량의 초평면이 병합되었습니다). 3 Relu를 사용하면 더 합리적인 솔루션으로 수렴 할 때 중앙에 3 개의 그림자 분할이 나타납니다. 각 뉴런의 출력 값을 확인하여 대부분의 샘플에 대해 죽은 상태인지 확인하여 이것이 사실인지 쉽게 확인할 수 있습니다. 또는 두 뉴런이 동일한 가중치 쌍으로 축소되는지 확인하기 위해 각각의 뉴런별로 그룹화 된 2x3 = 6 뉴런 가중치를 플로팅 할 수 있습니다.

나는 이것의 가능한 원인 중 하나가 x+iy 하나의 좌표를 향하여 기울어 짐 x≫y이 경우 신분을 재현하려고합니다. abs(x+iy)≈x. 이 문제를 해결하기 위해 여기서 할 수있는 일은 많지 않습니다. 한 가지 옵션은 시도한대로 더 많은 뉴런을 추가하는 것입니다. 두 번째 옵션은 S 자형과 같은 지속적인 활성화 또는 지수와 같이 무한한 것을 시도하는 것입니다. 드롭 아웃을 시도 할 수도 있습니다 (예 : 10 % 확률). keras에서 정규 드롭 아웃 구현을 사용할 수 있습니다. 이는 3 개의 뉴런이 모두 드롭되는 상황을 무시할 수있을 정도로 똑똑합니다.


1
+1, 거의 확실합니다. 이러한 적은 수의 가중치로 ReLU를 사용하면 거의 항상 죽은 뉴런이 작동합니다.
— kbrose

1
이것은 ReLU의 경우에 그럴듯한 추측입니다. 그러나 OP는 몇 가지 다른 ReLU 변형을 시도했다고 기록합니다. 죽은 뉴런은 ELU, Leaky Relu 또는 PReLU와 같은 변형에서도 발생합니까?
— Sycorax는 Reinstate Monica

3 shadowy splits in the center when you converge to the more reasonable solution.그렇습니다, 그것은 내가 의미 한 대략적인 근사치입니다. 6 각형 피라미드. or perhaps something unbounded like an exponential 나는 elu와 selu를 시도했지만 더 잘 작동하지 않았습니다. two neurons collapse to the same pair of weights아, 나는 그것을 생각하지 않았다; 방금 그들이 죽었다고 생각했습니다.
— endolith

ReLU를 사용하는 동안 숨겨진 레이어의 출력에 액세스하여 일반적으로 뉴런 중 하나가 죽었 음을 확인했습니다. 덜 자주, 두 사람이 겹치고 같은 일을하고 있습니다. 뉴런이 서로 "반발"하게하여 중복 역할을하지 않도록하는 방법이 있는지 궁금합니다.
— endolith

1
@endolith Dropout은 독립적 인 뉴런 구성을 위해 명시 적으로 설계되었습니다. ELU는 결코 "죽지"않지만 왼쪽에는 사라지는 그라데이션이 있습니다.
— Sycorax는 Reinstate Monica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.