바이어스 노드가 현대 신경 네트워크의 효과에 얼마나 중요한지 알고 싶습니다. 입력 변수가 적은 얕은 네트워크에서 중요 할 수 있음을 쉽게 이해할 수 있습니다. 그러나 딥 러닝과 같은 현대 신경망에는 종종 특정 뉴런이 트리거되는지 여부를 결정하기 위해 많은 입력 변수가 있습니다. 예를 들어 LeNet5 또는 ImageNet에서 단순히 제거하면 실제 영향이 있습니까?
바이어스 노드가 현대 신경 네트워크의 효과에 얼마나 중요한지 알고 싶습니다. 입력 변수가 적은 얕은 네트워크에서 중요 할 수 있음을 쉽게 이해할 수 있습니다. 그러나 딥 러닝과 같은 현대 신경망에는 종종 특정 뉴런이 트리거되는지 여부를 결정하기 위해 많은 입력 변수가 있습니다. 예를 들어 LeNet5 또는 ImageNet에서 단순히 제거하면 실제 영향이 있습니까?
답변:
바이어스를 제거하면 성능에 확실히 영향을 미치며 여기에 이유가 있습니다.
각 뉴런은 단순한 로지스틱 회귀와 같으며 입니다. 입력 값에 가중치가 곱해지고 바이어스는 S 자형 함수 (tanh 등)의 초기 스 쿼싱 수준에 영향을 미치므로 원하는 비선형 성이 발생합니다.
예를 들어 모든 입력 픽셀이 검은 색 x ≈ 0 일 때 뉴런이 을 발생 시키길 원한다고 가정합니다 . 어떤 가중치 W에 상관없이 바이어스가 없다면 , 방정식 y = σ ( W x ) 가 주어지면 뉴런은 항상 y ≈ 0.5를 발사 합니다.
따라서 바이어스 용어를 제거하면 신경망의 성능이 크게 저하됩니다.
귀하의 질문의 특정 상황에서 다른 답변에 동의하지 않습니다. 예, 소규모 네트워크에서는 바이어스 노드가 중요합니다. 그러나 큰 모델에서 바이어스 입력을 제거하면 차이가 거의 없습니다. 각 노드는 모든 입력의 평균 활성화에서 바이어스 노드를 만들 수 있기 때문에 많은 수의 법칙에 의해 대략 정상입니다. 첫 번째 계층에서이를 수행하는 능력은 입력 분포에 따라 다릅니다. 예를 들어 MNIST의 경우 입력의 평균 활성화는 거의 일정합니다.
소규모 네트워크에서는 물론 바이어스 입력이 필요하지만 대규모 네트워크에서는 제거해도 거의 차이가 없습니다. (그러나 왜 제거 하시겠습니까?)
평판이 충분하면 @NeilG의 답변에 대해 언급하고 있지만 아아 ...
닐, 이것에 동의하지 않습니다. 당신은 말한다 :
... 모든 입력의 평균 활성화, 많은 수의 법칙에 의해 대략 정상입니다.
나는 그것에 반대하고, 많은 수의 법칙은 모든 관측이 서로 독립적이어야한다고 주장한다. 신경망과 같은 경우에는 그렇지 않습니다. 각 활성화가 정상적으로 분포되어 있어도 한 입력 값이 예외적으로 높은 것으로 관찰되면 다른 모든 입력의 확률이 변경됩니다. 따라서이 경우 "관찰"은 입력에 독립적이지 않으며 많은 수의 법칙이 적용되지 않습니다.
당신의 대답을 이해하지 못하는 한.