2017-02-17 6 views
0

Tensorflow에서 탄력 전파를 사용하는 방법은 무엇입니까? 몇 가지 역 전파 전략이 있다는 것을 알고 있습니다. rPorp에 가까운 것이 있습니까? 내 자신의 탄력적 인 전파 구현을 삽입 할 수 있습니까?tensorflow에서 탄력 전파 사용

답변

1

tensorflow에는 rprop 구현이 없습니다.하지만 생성하는 것은 매우 간단합니다. op를 작성하거나 ops를 결합하여 Python으로 직접 작성할 수 있습니다.

RMSProp 다른 것이 있습니다.

RProp은 확률 적 업데이트와 잘 작동하지 않습니다. 배치 크기는 작동시키기 위해 매우 커야합니다.

+0

흥미 롭습니다. RProp이 스토캐스틱 업데이트와 잘 작동하지 않는 이유에 대해 언급 할 수 있습니까? 그라데이션의 부호 변화가 오버 슛의 강한 증거가 아니라면, 휴리스틱을 적용하기 전에 그라디언트를 집계하는 것으로 해결할 수 있습니다. 아니면 더 근본적인 이유입니까? 그것도 잘 될 것이라고 보여주는 레퍼런스 ... – buc030

+0

아마 고칠 수 있다고 생각합니다. 징후 변화에 부딪 칠 때의 감쇠 규칙은 아마도 수렴에 가까울 때 조정해야합니다. 메모리 사용을 제한하기 위해 상태를 더 추가하지 않고도이 작업을 수행해야하며 단 계가 단조 감소하고 정사각형이되도록해야합니다. – drpng

0

RProp과 RMSProp은 매우 유사합니다. 그들은 현재 배치 (또는 단일 샘플)의 그래디언트 부호를 이전과 비교하여 각 매개 변수에 대한 고유 한 값을 업데이트합니다 (일반적으로 부호가 일치 할 때 1.2를 곱한 다음 일치하지 않으면 0.5로 곱함). 그러나 RProp은 각 배치 그라디언트를 비교하는 반면 RMSProp은 할인 요인을 사용하여 신호 비교에 대한 평균을 유지합니다. RProp은이 고유 값을 사용하여 그래디언트 방향으로 절대적인 단계를 취하고 RMSProp은 값과 그래디언트를 곱합니다.

RProp은 더 큰 일괄 처리에 적합하지만 확률 적 업데이트에는 잘 작동하지 않습니다. 그래디언트 기호가 깜박 거리면 단계가 최소 단계에 도달하여 학습이 중단됩니다. RMSProp의 실행 평균은이 문제를 해결합니다. 그러나 RMSProp은 값과 그래디언트를 곱하기 때문에 RProp보다 채도에 영향을 받기 쉽습니다 (적어도 Sigmoid와 Tanh에서는 가능하지만 물론 Relu 또는 Leaky Relu를 사용하여이 문제를 해결할 수 있습니다).