완전 컨볼 루션 네트워크와 같은 픽셀 세분화 신경망을 훈련 할 때 교차 엔트로피 손실 함수 대 주사위 계수 손실 함수를 어떻게 사용하기로 결정합니까?
나는 이것이 짧은 질문이라는 것을 알고 있지만 다른 정보를 제공 해야할지 확실하지 않습니다. 두 가지 손실 함수에 대한 많은 문서를 보았지만 언제 다른 것을 사용할 것인지에 대한 직관적 인 감각을 얻지 못했습니다.
답변
주사위 계수 또는 유사한 IoU 메트릭에 대해 교차 엔트로피를 사용하는 한 가지 강력한 이유는 그래디언트가 더 좋기 때문입니다.
로짓을 통한 교차 엔트로피의 기울기는 와 유사합니다 . 여기서 는 softmax 출력이고 는 목표입니다. 한편, 주사위 계수를 또는 와 같은 차별화 된 형식으로 하면 결과 기울기 wrt 가 훨씬 더 추해집니다. : 및 . 와 가 모두 작고 그라디언트가 큰 값으로 폭발 하는 경우를 상상하기 쉽습니다 . 일반적으로 훈련이 더욱 불안정해질 것 같습니다.
사람들이 주사위 계수 또는 IoU를 직접 사용하려는 주된 이유는 실제 목표가 이러한 메트릭스를 최대화하는 것이며, 교차 엔트로피는 역 전파를 사용하여 최대화하기가 쉬운 프록시 일뿐입니다. 또한 주사위 계수는 설계 상 클래스 불균형 문제에서 더 잘 수행됩니다.
그러나 클래스 불균형은 일반적으로 각 클래스에 손실 승수를 할당하여 간단하게 처리되므로, 드물게 나타나는 클래스를 단순히 무시하기 위해 네트워크가 크게 분리되지 않으므로 이러한 경우 주사위 계수가 실제로 필요한지 확실하지 않습니다.
주사위 계수를 사용해야 할 강력한 이유가 없다면, 교차 엔트로피 손실로 시작합니다. 이는 세분화 네트워크의 표준 손실로 보입니다.
답변
@shimao와 @cherub에 의해 요약 된 바와 같이, 특정 데이터 세트에서 어느 것이 더 잘 작동 할 것인지 미리 말할 수는 없습니다. 올바른 방법은 둘 다 시도하고 결과를 비교하는 것입니다. 또한, 분할에 관해서는 “결과를 비교 하기 “가 쉽지 않다는 점에 유의하십시오 . 주사위 계수와 같은 IoU 기반 측정은 분할 품질의 일부 측면만을 다루고 있습니다. 일부 응용 분야에서는 평균 표면 거리 또는 Hausdorff 표면 거리 와 같은 다른 측정 값 을 사용해야합니다. 보시다시피, 최고의 품질 기능의 선택은 물론 올바른 품질 메트릭의 선택조차 사소한 것은 아닙니다.
나는 개인적으로 주사위 계수에 대해 아주 좋은 경험을 가지고 있습니다. 그것은 클래스 불균형에 관해서 정말로 궁금합니다 (일부 세그먼트는 다른 것보다 픽셀 / 복셀을 덜 차지합니다). 반면에 훈련 오차 곡선은 완전히 혼란스러워집니다. 수렴에 대한 정보를 전혀 얻지 못했기 때문에이 점에서 교차 엔트로피 승리입니다. 물론, 어쨌든 유효성 검사 오류를 확인하여 우회 할 수 있습니다.