배치 정규화는 이동 평균을 사용하여 훈련 할 때 모델의 정확도를 추적하는 방법과 이유는 무엇입니까?


21

배치 정규화 (BN) 용지를 읽고 있었으며 (1) 모형의 정확성을 추적하기 위해 이동 평균을 사용해야하는 필요성을 이해하지 못했으며, 그것이 옳은 일임을 인정하더라도 이해가되지 않습니다. 그들이 정확히하고있는 일.

내 이해 (내 잘못)를 위해, 논문은 모델이 훈련을 마치면 미니 배치 통계보다는 인구 통계를 사용한다고 언급합니다. 편견없는 추정치에 대한 논의를 마치면 (나에게 중요한 것처럼 보이며 왜 그것에 대해 이야기하는지 이해하지 못합니다) 그들은 다음과 같이 말합니다.

대신 이동 평균을 사용하여 훈련 할 때 모델의 정확도를 추적합니다.

그것이 저에게 혼란스러운 부분입니다. 모델의 정확도와 어떤 데이터 세트를 추정하기 위해 이동 평균을 사용합니까?

일반적으로 사람들이 모델의 일반화를 추정하기 위해 수행하는 작업은 모델의 유효성 검사 오류를 추적하고 잠재적으로 조기에 그라데이션 하강을 중지하여 정규화합니다. 그러나 배치 정규화가 완전히 다른 일을하고있는 것 같습니다. 누군가가 무엇을, 왜 다른 일을하는지 명확히 할 수 있습니까?


1 : Ioffe S. and Szegedy C. (2015),
"일괄 정규화 : 내부 공변량 변화를 줄임으로써 딥 네트워크 교육 가속화",
제 32 회 기계 학습에 관한 국제 회의 , 릴, 프랑스, ​​2015.
머신 러닝 연구 저널 : W & CP 볼륨 37


공감 된 답변에 만족하십니까? 당신이 저에게 묻는다면 전혀 "답변"이 아닙니다. 여전히 관련이 있다면 더 나은 답변을 제공 할 수 있습니다.
OverLordGoldDragon

@OverLordGoldDragon ur 자신의 답변을 제공합니다 :)
피노키오

답변:


8

batch_normalization을 사용할 때 가장 먼저 알아야 할 것은 Training and Testing 에서 두 가지 방법으로 작동한다는 것입니다 .

  1. 훈련에서는 배치를 정규화하기 위해 미니 배치 평균을 계산해야합니다.

  2. 추론에서 우리는 단지 미리 계산 된 미니 배치 통계를 적용합니다.

두 번째 로이 미니 배치 정적 계산 방법

이동 평균이 온다

running_mean = momentum * running_mean + (1 - momentum) * sample_mean
running_var = momentum * running_var + (1 - momentum) * sample_var

이것은 질문에 대한 답이 아닙니다. "왜"와 "어떻게"가 요구되었고, 피상적 인 "무엇"이 주어졌다. upvoted해서는 안됩니다.
OverLordGoldDragon

1

그들은 배치 정규화에 대해 이야기하고 있으며, 훈련 절차에 대해서는 설명했지만 추론에 대해서는 설명하지 않았습니다.

이것은 샘플 수단 등을 사용하여 숨겨진 단위를 정규화하는 프로세스입니다.

이 섹션에서는 예측을 할 때 (즉, 훈련이 완료된 후) 추론 단계에서 수행 할 작업을 설명합니다.

그러나 유효성 검사가 중지되면 유효성 검사 오류를 추정하기 위해 교육과 함께 유효성 검사 세트에 대한 예측을 인터리브합니다.

따라서이 프로세스 중에는 모집단 평균이없고 (훈련 할 때 평균이 여전히 변경됨) 실행 평균을 사용하여 배치 표준 매개 변수를 계산하여 유효성 검사 세트의 성능을 계산합니다.

이런 의미에서

대신 이동 평균을 사용하여 훈련 할 때 모델의 정확도를 추적합니다.

말 그대로 신경망 성능을위한 척도로 실행 수단을 사용하는 것과는 아무런 관련이 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.