배치 정규화를주의해서 수행해야하는 예에 대한 설명은 무엇입니까?


11

나는 배치 정규화 논문 을 읽고 있었으며 [1] 예제를 통해 하나의 섹션이 있는데, 왜 정규화가 신중하게 수행되어야하는지 보여 주려고 노력했다. 솔직히, 예제가 어떻게 작동하는지 이해할 수 없으며 가능한 한 종이를 이해하는 것이 정말 궁금합니다. 먼저 여기에 인용하겠습니다.

예를 들어, 입력이있는 층을 고려 U 학습 바이어스 (B)를 추가하고, 트레이닝 데이터를 통해 계산 된 활성화의 평균을 뺀 결과를 정규화한다 여기서, X = U + B , X = { x 1 입니다. . . N } 은 훈련 세트에 대한 x 의 값 세트이며, E [ x ] = N i = 1 x ix^=xE[x]x=u+b,X={x1...N}xE[x]=i=1Nxi. 그래디언트 디센트 단계가 b 에 대한 의 의존성을 무시하면 b b + Δ > b를 업데이트합니다 . 여기서 Δ b lE[x]bbb+Δ>b . 그러면U+(B+ΔB)-E[U+(B+Δ의B)]=U+B-E[U+(B)]. 따라서,b로의 업데이트와 이후의 정규화 변화의 조합은층의 출력에서 ​​변화를 초래하지 않았으며, 결과적으로 손실도 초래하지 않았다.Δblx^u+(b+Δb)E[u+(b+Δb)]=u+bE[u+b]b

나는 메시지를 제대로 이해하지 못하면 잘못 될 수 있다는 메시지를 이해한다고 생각합니다. 나는 그들이 사용하고있는 예제가 이것을 어떻게 묘사하지는 않습니다.

나는 그들이 혼란스러워하는 것에 대해 더 구체적이지 않으면 누군가를 돕는 것이 어렵다는 것을 알고 있습니다. 그래서 나는 다음 섹션에서 그들의 설명에 대해 혼란스러운 것들을 제공 할 것입니다.


나는 내 혼란의 대부분이 표기법이라고 생각하므로 명확하게 설명하겠습니다.

첫째, 저를 혼란스럽게 만드는 것 중 하나는 저자가 네트워크에 장치를 가지고 있고 활성화가 무엇을 의미하는지입니다. 일반적으로 활성화는 다음과 같이 생각합니다.

x(l)=a(l)=θ(z(l))=θ(w(l),x(l1)+b(l))

여기서 는 첫 번째 입력 레이어의 원시 피처 벡터입니다.x(0)=a(0)=x

또한, 저를 혼동하는 첫 번째 이유 중 하나는 (이전의 이유로 인해) 그들이 설명하려는 시나리오가 실제로 무엇인지 생각합니다. 그것은 말한다 :

트레이닝 데이터를 통해 계산 된 활성화의 평균 감산 결과를 정규화 X = X - E [ X ] 여기서, X = U + B를x^=xE[x]x=u+b

나는 그들이 전달하려고하는 것은 순방향 패스에 의해 계산 된 활성화 를 사용하는 대신 평균 활성화를 빼서 일종의 "정규화"를 수행한다는 것입니다.x(l)=a(l)

x¯l=a¯l=1Ni=1Na¯l=1Ni=1Nx¯l

그런 다음이를 역 전파 알고리즘으로 전달합니다. 아니면 적어도 그게 나에게 의미가있는 것입니다.

이것과 관련하여, 그들이 라고 부르는 것은 아마도 x ( l ) 일까요? 그것이 그들이 "입력"이라고 부르고 방정식 x = u + b (왜냐하면 신경망에 신원 / 선형 활성화 장치를 사용하고 있다고 생각하기 때문에)라고 추측합니다.ux(l)x=u+b

상기 혼동 나, 그들은 정의 부분 도함수에 비례하는 어떤 것으로하지만, 부분적 유도체에 대해 계산되는 X 나 정말 기괴한 보인다. 일반적으로, 경사 하강을 사용할 때 부분 도함수는 네트워크의 매개 변수와 관련이 있습니다. 오프셋의 경우, 나는 생각했을 것입니다 :Δbx^

Δb(l)lb(l)

정규화 된 활성화와 관련하여 미분을 취하는 것보다 더 의미가 있습니다. 나는 그들이에 대한 미분을 줄 이유를 이해하려고 노력했다 X 그들이 쓸 때 그들이 델타 언급 한 나는 어쩌면 생각 리터를x^ 일반적 델타 방정식이기 때문에 사전 - 활성화에 대하여 유도체를 갖는 백 프롭 알고리즘의 단지 일부라는 버젼 :lx^

δj(l)=Lzj(l)

나를 혼란스럽게하는 또 다른 것은 :

그러면 .u+(b+Δb)E[u+(b+Δb)]=u+bE[u+b]

그들은 실제로 위의 방정식에서 계산하려고하는 것을 말하지는 않지만 b + Δ b로 업데이트 된 후 업데이트 된 정규화 활성화 (첫 번째 계층의 경우)를 계산하려고한다고 추론합니다 . 올바른 방정식이 있어야한다고 생각하기 때문에 포인트를 구입했는지 확실하지 않습니다bb+Δb

x^=θ(u+(b+Δb))E[θ(u+(b+Δb))]

파라미터 b 의 변경을 취소하지 않습니다 . 그러나, 나는 그들이 무엇을하고 있는지 정말로 모른다. 그래서 나는 단지 추측하고있다. 그들이 쓴 방정식은 정확히 무엇입니까?Δbb

이것이 올바른 이해인지 확실하지 않지만 그들의 모범에 대해 약간의 생각을했습니다. 그들의 예제에는 비선형 활성화 장치가 없으며 (ID 사용) 첫 번째 입력 레이어에 대해서만 이야기하고 있습니까? 그들이 많은 세부 사항을 생략하고 표기법이 명확하지 않기 때문에 나는 그들이 말하는 것을 정확하게 추론 할 수 없습니다. 누군가 각 층에서 일어나는 일을 나타내는 표기법 으로이 예제를 표현하는 방법을 알고 있습니까? 누군가가 그 모범으로 실제로 무슨 일이 일어나고 있는지 이해하고 그들의 지혜를 나와 공유하고 싶습니까?


[1] : Ioffe S. 및 Szegedy C. (2015),
"일괄 정규화 : 내부 공변량 이동을 줄임으로써 깊은 네트워크 교육 가속화",
제 32 회 기계 학습에 관한 국제 학술 대회 , 릴, 프랑스, 2015 년
기계 학습의 저널 연구 : W & CP 볼륨 37


나는 그 문단의 표기 적 성격은 지금 분명하다고 생각하지만, 전달하려는 메시지와 그 목적은 명확하지 않다.
찰리 파커

답변:


3

E[x]b

그러나, 이러한 수정들이 최적화 단계들에 산재되면, 경사 하강 단계는 정규화가 업데이트되어야하는 방식으로 파라미터들을 업데이트하려고 시도 할 수 있으며, 이는 경사 단계의 영향을 감소시킨다.

따라서 그들은 방법의 정규화를 그라디언트 하강 단계에 인식시켰다.


당신에 대해 질문

ux(l)

uub

Δblb

x^=xE[x]=u+bE[x]E[x]b

lb=lx^x^b=lx^,
Δblx^

u+(b+Δb)E[u+(b+Δb)]=u+bE[u+b]bb+Δb

x^bb+ΔbE[x]b


LasagneKeras 와 같은 배치 정규화의 일부 오픈 소스 구현을 살펴 보는 것이 도움이 될 수 있습니다 .

관련 보일 수 있습니다 또 다른 문제는있다 신경망에 배치 정상화를 사용할 때 왜 (평균과 분산) 순간의 그라데이션을?


그래서 그들의 요점은 GD 업데이트가 정규화를 인식하여 바이어스를 업데이트 할 때 손실이 변경되도록해야한다는 것입니다. 아니면 그 단락의 중심 목표는 무엇입니까?
찰리 파커

@CharlieParker 그렇습니다. GD 업데이트가 정규화 (IMO)를 인식하게하는 이유가 있음을 보여줍니다.
dontloo

E [Δb] = Δb입니까? 그렇다면 왜 그렇습니까?
MichaelSB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.