softmax_cross_entropy_with_logits는 softmax_cross_entropy_with_logits_v2와 어떻게 다릅니 까?


40

특히, 나는이 진술에 대해 궁금해한다고 생각합니다.

TensorFlow의 향후 주요 버전에서는 기본적으로 그라디언트가 backprop의 레이블 입력으로 흐를 수 있습니다.

내가 사용할 때 표시됩니다 tf.nn.softmax_cross_entropy_with_logits. 같은 메시지에서 나는 그것을 볼 것을 촉구한다 tf.nn.softmax_cross_entropy_with_logits_v2. 나는 문서를 살펴 보았지만 다음과 같은 내용만을 언급했다 tf.nn.softmax_cross_entropy_with_logits_v2.

역전 파는 로짓과 레이블 모두에서 발생합니다. 역 전파를 레이블로 전파하지 못하게하려면이 함수에 레이블 텐서를 전달하기 전에 stop_gradients를 통해 레이블 텐서를 전달하십시오.

반대로, tf.nn.softmax_cross_entropy_with_logits'S :

역전 파는 로지트에만 발생합니다.

주제에 대해 매우 익숙하기 때문에 (일부 기본 자습서를 통해 노력하고 있습니다) 이러한 진술은 명확하지 않습니다. 나는 역 전파에 대해 깊이 이해하고 있지만 이전 진술은 실제로 무엇을 의미합니까? 역전 파와 라벨은 어떻게 연결되어 있습니까? 그리고 이것이 tf.nn.softmax_cross_entropy_with_logits_v2원본과 달리 작업 방식을 어떻게 변경 합니까?

답변:


55

지도 학습에서는 레이블로 역 전파 될 필요가 없기 때문에 혼란스러워해야 할 모든 이유가 있습니다. 그것들은 고정 된 진실로 간주되며 가중치 만 조정하면됩니다.

그러나 경우에 따라 레이블 자체 다른 소스 인 다른 소스에서 제공 될 수도 있습니다. 한 가지 예는 대적 학습 일 수 있습니다 . 이 경우 두 네트워크 모두 오류 신호의 이점을 얻을 수 있습니다. 그 이유의 tf.nn.softmax_cross_entropy_with_logits_v2소개 . 레이블이 플레이스 홀더 인 경우 (전형적인 경우), 그라디언트를 적용 할 변수가 없기 때문에 그라디언트가 흐르더라도 차이가 없습니다.


5
아, 알다시피, 나는 아직 감독 학습을 넘어서서 많은 것을 배울 수 없습니다. 기본적으로 내 레이블이 최적화 대상이라는 것을 표시하지 않는 한 (tf.Variable로 저장) 레이블을 만지지 않고 softmax_..._with_logits_v2작동 softmax_with_logits합니까? (또는 labels 변수에 tf.stop_gradient를 사용할 수도 있습니다.)
Christian Eriksson

3
네 맞습니다.
Maxim

2
매우 명확하고 교육적입니다. 대단히 감사합니다!
Haitao Du
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.