원래 질문은 특히 TensorFlow 구현에 관한 것이 었습니다. 그러나 대답은 일반적인 구현에 대한 것입니다. 이 일반적인 답변은 TensorFlow에 대한 정답이기도합니다.
TensorFlow에서 일괄 정규화 및 드롭 아웃 (특히 contrib.layers 사용)을 사용할 때 순서에 대해 걱정해야합니까?
드롭 아웃을 사용하고 즉시 일괄 정규화를 사용하면 문제가있을 수 있습니다. 예를 들어, 배치 정규화의 이동이 더 큰 규모의 학습 출력으로 학습되지만 동일한 이동이 테스트 중에 드롭 아웃없이 더 작은 (더 많은 출력을 갖는 것에 대한 보상으로 인해) 척도 수에 적용되는 경우 교대가 꺼져있을 수 있습니다. TensorFlow 일괄 정규화 레이어가이를 자동으로 보상합니까? 아니면 내가 놓친 어떤 이유로 이런 일이 발생하지 않습니까?
또한이 두 가지를 함께 사용할 때주의해야 할 다른 함정이 있습니까? 예를 들어 위와 관련하여 올바른 순서로 사용한다고 가정하면 ( 올바른 순서 가 있다고 가정 ) 여러 연속 레이어에서 일괄 정규화와 드롭 아웃을 모두 사용하는 데 문제가있을 수 있습니까? 즉시 문제가 보이지는 않지만 뭔가 빠졌을 수 있습니다.
감사합니다!
최신 정보:
실험 테스트 는 순서 가 중요 하다는 것을 암시하는 것 같습니다 . 배치 표준과 드롭 아웃을 반대로 사용하여 동일한 네트워크를 두 번 실행했습니다. 드롭 아웃이 배치 표준보다 앞선 경우 학습 손실이 감소함에 따라 검증 손실이 증가하는 것 같습니다. 다른 경우에는 둘 다 내려갑니다. 하지만 제 경우에는 움직임이 느리기 때문에 더 많은 훈련 후에 상황이 바뀔 수 있으며 단일 테스트 일뿐입니다. 더 명확하고 정보에 입각 한 답변을 주시면 감사하겠습니다.