2010-01-12 9 views
2

신경 네트워크 클래스를 작성 중이며 두 가지 개념을 이해하지 못했습니다. 누구든지 biasmomentum이 무엇인지 말해 줄 수 있습니까신경망 정의

답변

7

바이어스는 뉴런에 주어진 일정한 입력입니다. 예 : 일반 피드 전달 네트워크에서는 2 개의 입력 단위, 2 개의 숨겨진 단위 및 1 개의 출력 단위를 가질 수 있습니다. 일정한 바이어스 값 (1이라고 가정 해 봅시다)은 입력 장치의 입력과 함께 숨겨진 출력 단위로 들어갑니다.

모멘텀은 학습을 시작할 때 학습 속도를 높이는 데 사용되는 추가 학습 속도입니다. 예 : 학습 오류는 대개 처음에는 매우 커서, 높은 기세로 시작하여 더 적극적으로 가중치를 조정하십시오. 나중에 학습하는 동안 오류가 줄어들면 기세 또한 줄어들어 더 느리게 배울 수 있지만 목표를 초과 할 가능성은 적습니다.

+0

대단히 감사합니다! 비록 여전히 바이어스 상수의 이점을 이해하지는 못합니다. – Louis

+0

정확한 추론을 기억할 수는 없지만 네트워크가 바이어스를 통해 원본에서 분리되지 않은 데이터를 분류 할 수 있습니다. 그것은 분리의 경계에서의 변화와 같습니다. 바이어스가 없으면 가중치를 훈련하는 것 외에도 각 출력 단위에 대한 임계 값을 훈련해야합니다. 이는 실용적이지 않으며 역 전파 알고리즘을 손상시킬 수 있습니다.따라서 피드 포워드 네트에서 숨겨진 유닛과 출력 유닛에는 항상 편향이 있어야합니다. –

3

바이어스를 사용하면 뉴런이 더 넓은 범위의 입력 값을 허용 할 수 있습니다. 기세는 괜찮은 그라데이션 동안 단계 크기로 생각할 수 있습니다.

일반적인 노드에서 바이어스와 이전 레이어의 모든 입력에 대해 가중치, 합계 및 스쿼시가 출력 값에 적용됩니다. 스쿼시 기능은 0을 중심으로하며 가중치 합이 매우 양수 또는 음수가되면 민감도가 급격히 감소합니다. 그러나 때로는 스쿼시의 민감한 부분이 입력의 일부 영역에 있고 그 다음에는 0 근처에 있어야합니다. 바이어스 입력을 통해 학습 알고리즘은이를 달성하기 위해 노드의 응답을 이동시킬 수 있습니다.

찰스 마가 설명한 것 외에, 운동량은 더 나은 해결책을 찾기 위해 지역 최소값에서 학습 알고리즘을 수행하는 데 도움이 될 수 있습니다.

+0

아하나. 활성화 기능 이후와 마찬가지? 0 주위의 민감한 부분은 무엇이 잘못 되었습니까? – Louis

+0

글쎄, 바이어스는 일반적으로 합계의 일부로 활성화 함수 앞에 삽입됩니다. 그 효과는 활성화 함수의 y- 절편을 이동시키는 것입니다. 민감한 부분이 0 인 경우 '잘못된'것은 없습니다. 민감도가 0에 가까울만큼 유연하지는 못하며 훈련 데이터에 나타난 입력/출력 함수의 추정치가되는 신경망의 능력을 크게 떨어 뜨립니다. 어떤 의미에서는 각 노드가 바이어스 입력으로부터의 추가적인 자유도없이 총 맵핑의 일부를 추정하고 있으며, 추정치는 훨씬 더 많은 오차를 가지고있다. – dkantowitz

0

바이어스를 생각하는 직관적 인 방법은 선형 방정식에서 b 항과 같습니다. MX = + B

m 개의 용어 기울기

Y 및 B는 지시 위치를 y 축으로 라인 인터셉트 : 어느 것으로 정의된다. 이 기간을 늘리거나 줄이면 선이 y 축을 위아래로 이동합니다. 신경 네트워크는 클러스터를 분리하기 위해 초평면을 생성하므로 바이어스가 훈련 중 상하로 움직여 최소치로 수렴하고 훈련 샘플에 적합한 것이 발견됩니다.

이전에 mantioned로 순간, 그라디언트 강하 중에 진동을 줄일 수 있습니다. 훈련 시작 단계에서 단계 크기가 증가하고 끝까지 줄어 듭니다. 네가 티브 그라데이션 방향에서 더 큰 단계를 취하고, 최소치를 향해 나아가고, 더 가까이 나아갈 때 더 작은 단계를 취하는 것으로 생각할 수 있습니다. 여기에는 몇 가지 이점이 있습니다.

  1. 교육 속도가 빨라집니다.
  2. 최소의 오버 슛 위험이 있으므로, 특히 높은 학습 속도의 경우에는 수렴하지 않습니다.
  3. 로컬 미니 마의 가능한 오버 스테핑.