[0,1]로 스케일 된 CIFAR10 데이터 세트에서이 implementation 노이즈 제거 자동 인코딩 프로그램을 사용하고 있습니다. 내 하이퍼 파라미터가 - 크로스 엔트로피로 손실 기능 설정에노이즈 제거 자동 엔코더에서 교차 엔트로피 손실을 사용하여 출력을 포화시킵니다.
Adam optimizer
lr = 0.0001
sigmoid activations for both encoder and decoder
512 hidden nodes
Batch size = 50
먼저 훈련 단계에 꽤 큰 밖으로 시작한다. 하지만 3 단계에서 0으로 수렴되므로 의심 스럽습니다. 조금 연습 한 후에 AE에 이미지를 전달하고 디코드 레이어의 출력을 평가할 때 원본 이미지 값 대신 모두 1 또는 거의 같았습니다.
나는 무슨 일이 일어나고 있는지 약간의 이해가 있습니다. 디코드 층은 모두 1의 값을 가지는 경우 tf.log(self.decode)
제로 부근
tf.reduce_sum(self.input_data * tf.log(self.decode))
- 크로스 엔트로피 손실로 코드로 정의된다. 따라서 네트워크는 숨겨진 가중치를 최적화하여 출력이 1에 가까워서 교차 엔트로피가 0이됩니다. 나 맞아?
어떻게 해결할 수 있습니까?
숨겨진 레이어에서 사용하는 활성화 기능은 무엇입니까? – fartagaintuxedo