2011-08-24 2 views
0

신경망에서 첫 발걸음을 옮기고 있습니다. 그래서 저는 Sigmoidal 활성화 함수를 사용하는 매우 간단한 단일 레이어, 단일 출력 퍼셉트론을 실험하고 있습니다. result이 결과, - (임계 값) 여기 weights내 퍼셉트론을 훈련 할 때 가중치와 임계 값이 비례하여 증가한다는 것은 어떤 의미입니까?

weights += learningRate * (correct - result) * {input,1} 

또한 바이어스 신경 세포에서 무게를 포함하는 N 길이의 벡터이다 : 나는 온라인 교육의 예를 사용되게 될 때마다 내 가중치를 갱신하고 , correct이 주어지면 퍼셉트론에 의해 계산 된 (그리고 시그 모이 드를 사용하여 처리 된) 올바른 결과이며 {input,1}은 1 (바이어스 뉴런의 고정 입력)으로 증가 된 입력입니다. 이제 퍼셉트론이 논리를 수행하도록 훈련하려고 할 때, 가중치는 오랜 시간 동안 수렴하지 않고 비슷하게 계속 증가하며 1과 1.5의 비율을 임계 값과 동일하게 유지합니다. 예를 들어 세 가지 가중치는 시퀀스 :

5.067160008240718 5.105631826680446 -7.945513136885797 
... 
8.40390853077094 8.43890306970281 -12.889540730182592 

퍼셉트론이 1, 1, -1.5에서 멈출 것으로 예상됩니다.

0.43601272528257057 0.49092558197172703 -0.23106430854347537 

및 I : 그렇다 나는 활성화 함수로 신원 기능을 사용하려고하면 내가 얻을, 학습에 일부 누락 된 정지 상태로 연결처럼 보이는이 문제에서

가중치는 주위 진동 tanh으로 유사한 결과를 얻으십시오. 나는 이것을 설명 할 수 없다.

당신에게
Tunnuz

답변

2

감사 시그 모이 드 활성화 기능도 매우 높은 양 (또는 음) 입력을 하나 (또는 ​​영)에 도달하지 않기 때문에입니다. 따라서 (correct - result)은 항상 0이 아니며 항상 가중치가 업데이트됩니다. 단계 기능을 활성화 기능 (예 : f(x) = 1 for x > 0, f(x) = 0 otherwise)으로 사용해보십시오.

평균 활성화 값이 ID 활성화 기능으로 적합하지 않은 것으로 보입니다. 학습 속도가 조금 높을 수도 있습니다 - 그것을 줄이고 진동의 크기를 줄이는 지보십시오.

또한 온라인 학습 (일명 확률 적 기울기 강하)을 수행 할 때 시간이 지남에 따라 학습 속도를 줄여 솔루션으로 수렴하는 것이 일반적입니다. 그렇지 않으면 가중치가 계속해서 진동합니다.

지각의 행동을 분석하려고 할 때 correctresult을 보는 것이 좋습니다.

+0

좋아요, 스텝 기능이 트릭을했습니다. 그런 다음 부울 함수에 대해 단계 함수가 필요하다는'correct'와'result'를 살펴봄으로써 깨달았습니다. – tunnuz

관련 문제