memahami normalisasi batch

8

Dalam makalah Normalisasi Batch: Mempercepat Pelatihan Jaringan Dalam dengan Mengurangi Pergeseran Kovarian Internal (di sini ) Sebelum menjelaskan proses normalisasi bets, makalah ini mencoba menjelaskan masalah yang terkait dengan (saya tidak mendapatkan apa masalah yang sebenarnya dibahas di sini) .

kutipan dari bagian 2, para 2:

Kami dapat mempertimbangkan pemutihan aktivasi di setiap langkah pelatihan atau pada beberapa interval, baik dengan memodifikasi jaringan secara langsung atau dengan mengubah parameter algoritma pengoptimalan agar bergantung pada nilai aktivasi jaringan (Wiesler et al., 2014; Raiko et al., 2012 ; Povey et al., 2014; Desjardins & Kavukcuoglu). Namun, jika modifikasi ini diselingi dengan langkah-langkah optimasi, maka langkah penurunan gradien dapat mencoba untuk memperbarui parameter dengan cara yang mengharuskan normalisasi diperbarui, yang mengurangi efek langkah gradien. Sebagai contoh, pertimbangkan layer dengan input u yang menambahkan bias yang dipelajarib, dan menormalkan hasilnya dengan mengurangi rata-rata aktivasi yang dihitung dari data pelatihan: x^=xE[x] dimana x=u+b,X=x1...N adalah himpunan nilai x selama set pelatihan, dan E[x]=1N(i=1nxi) .

Jika langkah gradient descent mengabaikan ketergantungan E [x] pada b, maka itu akan memperbarui bb+bdimana bl/x^. Kemudian

(1)u+(b+b)E[u+(b+b)]=u+bE[u+b]
.

Dengan demikian, kombinasi dari pembaruan ke b dan perubahan normalisasi berikutnya tidak menyebabkan perubahan pada output lapisan atau, akibatnya, hilangnya. Saat pelatihan berlanjut, b akan tumbuh tanpa batas waktu sementara kerugiannya tetap. Masalah ini bisa menjadi lebih buruk jika normalisasi tidak hanya pusat tetapi juga skala aktivasi.

di sini adalah pemahaman saya tentang literatur:

  1. Kami memiliki batch ukuran N (Satu batch pelatihan)

  2. Biarkan ada dua lapisan tersembunyi yang saling terhubung satu sama lain (L1 dan L2) yang dihubungkan oleh parameter W dan b

  3. output yang keluar dari L1 adalah x1

  4. u=x1W (Di sinilah literatur di atas dimulai. dimensi u adalah MxN) (M adalah jumlah unit dalam L2)

  5. x=u+b (dimensi b = dimensi x = dimensi u = MxN)

  6. Sekarang sebelum memasukkan x ke dalam L2 kami memusatkannya dengan mengurangi rata-rata x dari setiap entri x (x^=xE[x])

  7. Kami menghitung kehilangan dan backpropogate gradien dan memperbarui hanya lapisan ini buntuk memberikan tes kewarasan. Barub = b+Δb

  8. Kami menjalankannya lagi di batch yang sama dengan yang diperbarui b

  9. ulangi 3 dan 4

  10. xnew=u+b+Δb (dimensi b, Δb = dimensi x = dimensi u = MxN)

  11. Sekarang sebelum memasukkan x ke dalam L2 kami memusatkannya dengan mengurangi rata-rata x dari setiap entri x (x^=x+ΔbE[x+Δb]=xE[x]). yang sama dengan apa yang dihitung sebelum memperbarui b dan karenanya memperbarui b harus berpengaruh pada pelatihan

Pertanyaan saya adalah dengan bagian dari kutipan ini:

"Jika langkah gradient descent mengabaikan ketergantungan E [x] pada b, maka itu akan diperbarui bb+bdimana bl/x^. Kemudian

(1)u+(b+b)E[u+(b+b)]=u+bE[u+b]
. "

Kenapa

"

(1)u+(b+b)E[u+(b+b)]=u+bE[u+b]
"Tergantung pada apa yang datang sebelum itu? Apa gunanya bahkan sedikit? Harap juga perhatikan penggunaan kata" Lalu "(dibuat berani) menyiratkan pernyataan itu tentu menarik kausalitas dari apa yang datang sebelumnya.
MiloMinderbinder
sumber

Jawaban:

3

Mari kita asumsikan bahwa Anda mencoba meminimalkan kerugian berikut untuk tugas yang diberikan,

(y,y^)=12yy^2,
where is the Eucledian distance, and the predicted output is y^=x^ for simplicity. The gradients then can be computed as follow:

Δb=x^x^b,Δω=x^x^ω

Now, the gradient of x^ with respect to the bias b is

x^b=b(xE[x])=b((u+b)E[(u+b)])=1bE[(u+b)]

Ignoring the fact E(x) is dependant on b makes the above gradient equals to 1, and hence keeps updating the bias as follow:

x^b=1bE[x]=10=1
and then

Δb=x^(1),bb+Δb

Otherwise, if you wanna consider this dependency, the gradient becomes 0, and hence no update as follow:

x^b=1bE[u+b]=1(bE[u]+bE[b])=1(0+1)=0
and then
Δb=-x^(0),bb+0

Dalam kedua kasus, terlepas dari pembaruan bias, fungsi kerugian akan tetap diperbaiki,

kamu+(b+Δb)-E[kamu+(b+b)]=kamu+b-E[kamu+b],

Namun, dalam kasus pertama, bias akan tumbuh tanpa batas.

Shadi
sumber