역 전파에서 모든 초기 중량을 0으로 설정할 위험


30

가중치를 0으로 초기화하는 것이 왜 위험한가요? 그것을 보여주는 간단한 예가 있습니까?


고전적인 XOR 2-1 net이 좋은 예인 것 같지만 이론적 인 추론에 감사하겠습니다.
user8078

1
여기서 적용 할 수도 있고 적용되지 않을 수도있는 매우 일반적인 대답은 새 가중치가 이전 가중치의 배수 일 때마다 0 가중치를 변경할 수 없다는 것입니다. 그것은 배우기에 치명적입니다.
Nick Cox

가중치를 0으로 초기화하지 않는 이유에 대한 좋은 답변이 이미 있습니다. 다음 링크는 '초기 무게를 어떻게 선택해야합니까?' staff.itee.uq.edu.au/janetw/cmc/chapters/BackProp/index2.html 다른 독자들에게 도움이 되기를 바랍니다 .
doer_uvc

@NickCox 여기서 가중치는 다음 가중치 계층의 배수이며 마지막 계층은 다른 가중치의 배수가 아니므로 여기서 적용 할 수 없습니다.
David Refaeli

답변:


21

편집 아래 알파의 의견을 참조하십시오. 나는 신경망 전문가가 아니기 때문에 그를 연기 할 것입니다.

내 이해는 여기에 게시 된 다른 답변과 다릅니다.

역전 파에는 곱하지 않고 기존 가중치를 더하는 것이 포함됩니다 . 추가하는 금액은 델타 규칙에 의해 지정됩니다 . wij는 방정식의 오른쪽에 나타나지 않습니다.

내 이해는 초기 가중치를 0으로 설정하지 않는 두 가지 이유가 있다는 것입니다.

  • 첫째, 신경망은 국소 최소 점에 갇히는 경향이 있으므로 여러 가지 다른 시작 값을 부여하는 것이 좋습니다. 모두 0에서 시작하면 그렇게 할 수 없습니다.

  • 둘째, 뉴런이 동일한 가중치로 시작하면 모든 뉴런은 동일한 기울기를 따르며 항상 서로 같은 일을합니다.


6
"추가하는 양은 델타 규칙에 의해 지정됩니다. wij는 방정식의 오른쪽에 나타나지 않습니다." -이것은 숨겨진 레이어가 없는 신경망에만 해당됩니다 ! 그러나 동일한 가중치 로 ANN을 초기화하는 것에 대한 좋은 주장 인 두 가지 다른 점을 언급했습니다 .
alfa

1
기본적으로 완벽하게 연결된 기본 피드 포워드 네트워크에서 각 계층이 동일한 가중치로 초기화되면 모든 노드가 동일한 경로를 따르고 중복되는 것으로 생각합니다. 내 인상은 소수 이상의 기능을 가진 대부분의 네트워크가 로컬 최소값에 어려움을 겪지 않는다는 것입니다. 또한 임의의 초기화만으로도 네트워크가 멈추는 것을 막을 수는 없지만 다른 임의의 초기화를 반복적으로 사용하면 특정 반복에 로컬 최소 문제가 있는지 여부를 알 수 있습니다 (이것은 암시되었지만 명시 적이지는 않습니다).
Tahlor

두 번째 이유는 거짓입니까? open.wolframcloud.com/env/…
user3180

다른 입력은 무게 대칭을 깰
user3180

미분 을 추가 하면 미분은 연쇄 규칙을 통해 사용되는 곱셈입니다.
David Refaeli

7

베이지안 네트워크에서와 같이 가중치를 이전과 같이 생각한 경우 해당 입력이 시스템에 영향을 줄 수있는 가능성을 배제했습니다. 또 다른 설명은 역 전파가 목표 값과 관측 값 사이의 가중 제곱 차이를 최소화하는 가중치 집합을 식별한다는 것입니다 (E). 그렇다면 시스템의 방향을 결정하는 관점에서 기울기 하강 알고리즘의 방향을 어떻게 지정할 수 있습니까? 매개 변수 공간의 안 장점에 자신을 배치하고 있습니다.


1
이것이 가장 좋은 대답입니다. 안장입니다. 역 전파 기반 최적화 알고리즘은 일반적으로 즉시 중지됩니다. 기울기를 계산하기 위해 델타에 가중치를 곱하면 결과는 항상 0입니다.
alfa

특정 가중치가 0에서 초기화되지 않아야하는 좋은 대답이라고 생각합니다. 그러나 델타는 여전히 다시 전파 될 것입니다. 출력 레이어의 가중치는 가중치에 의존하지 않으므로 여기서는 0이 아닌 가중치를 갖습니다. 첫 번째 업데이트 후. 다음 업데이트 후에는 0이 아닌 가중치가 델타와 함께 사용되어 이전 레이어의 가중치 등을 조정합니다. 모든 0으로 네트워크를 초기화 할 때 더 큰 문제는 모두 동일한 무게이며 기본적으로 완전히 연결된 피드 포워드 네트워크에서 레이어 당 1 노드를 갖는 것과 같습니다.
Tahlor

6

역 전파 알고리즘의 각 반복에서 기존 가중치에 역 전파에 의해 결정된 델타를 곱하여 가중치를 업데이트합니다. 초기 가중치 값이 0 인 경우 값에 델타 값을 곱해도 가중치가 변경되지 않으므로 각 반복이 최적화하려는 가중치에 영향을 미치지 않습니다.


2
> 기존 가중치에 역 전파에 의해 결정된 값을 곱하여 가중치를 업데이트합니다. 그렇게 생각하지는 않습니다. 단지 곱셈이 아닙니다.
user8078

1
내 일반적인 요점은 초기 가중치가 0이면 역 전파가 반복 될 때마다 0으로 유지된다는 것입니다.
Idr

'역 전파에 의해 결정된 값'은 델타이다 (예를 들어, 원래 논문 "역 전파에 의한 학습 표현", 방정식 7 참조). 대답은 잘못 표현되었지만 완전히 틀린 것은 아닙니다.
alfa

1
이것은 단지 잘못된 대답입니다. 가중치는 변경되지만 함께 변경됩니다. 모든 숨겨진 단위가 훈련 내내 동일하고 학습이 불가능하기 때문에 이것은 나쁘다.
Amin Sammara

θ(0)=0.5

2

가중치를 동일한 값 (0이 아닌)으로 초기화하는 것이 나쁜 이유 중 하나는 특정 숨겨진 계층에 대해이 계층의 모든 노드가 정확히 동일한 입력을 가지므로 각 노드와 동일하게 유지되기 때문입니다 다른.


1

이에 대한 대답은 전적으로 "로컬 최소 / 최대 값"이 아닙니다.

숨겨진 레이어가 2 개 이상이고 모든 가중치가 0 인 경우 Weight_i의 크거나 작은 변화가 출력에 변화를 일으키지 않습니다.

델타 Weight_i가 다음 숨겨진 레이어에 흡수되기 때문입니다.

출력에 변화가 없으면 그라디언트가 없으므로 방향이 없습니다.

이는 로컬 최소 / 최대 값과 동일한 특성을 공유하지만 실제로는 0으로 인해 기술적으로 다릅니다.


0

모든 가중치를 0으로 초기화하는 주요 문제는 수학적으로 뉴런 값이 0이거나 (다중 레이어의 경우) 델타가 0이됩니다. 위의 답변에서 @alfa의 의견 중 하나에는 이미 힌트가 제공되어 있으며 가중치와 델타의 곱은 0이어야한다고 언급되어 있습니다. 이것은 본질적으로 경사 하강의 경우 이것이 피크의 언덕 꼭대기에 있으며 대칭을 깰 수 없다는 것을 의미합니다. 임의성은이 대칭을 깨뜨리고 지역 최소값에 도달합니다. 우리가 무게를 조금 교란하더라도 우리는 궤도에 올 것입니다. 참고 자료 : 데이터 강의를 통한 학습 10.


0

두 가지 이유 때문에 나쁜 생각입니다.

  1. g(0)0

  2. tanhg(0)=0

이것을 보여 드리겠습니다 (간단히하기 위해 1 뉴런의 최종 출력 레이어를 가정합니다).

tanh

LaLzL=WLaL1WL

dWL:=LWL=LaLaLzLzLWL
LaazLaazzWaL1dWLWL=WLαdWL

aL1dWL

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