XYZNOT

Makalah · arXiv 1502.03167

Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

Terbit cs.LG arXivPDF

Baca dengan terjemahan dan AI

Ringkasan tiga baris

  1. 🎯 Pelatihan deep network melambat akibat internal covariate shift—pergeseran kontinu pada distribusi input layer yang disebabkan oleh pembaruan parameter pada layer sebelumnya.
  2. 🔧 Memperkenalkan Batch Normalization (BN), sebuah layer arsitektur yang menstandardisasi aktivasi mini-batch menjadi rata-rata nol dan varians satu, diikuti oleh penskalaan dan pergeseran affine terpelajar (γ dan β).
  3. 📈 Menyamai 72,2% akurasi validasi dari baseline Inception dalam langkah 14x lebih sedikit dan mencapai top-5 error 4,82% pada data uji ImageNet dengan ensemble.

Abstrak

Pelatihan Deep Neural Networks dipersulit oleh fakta bahwa distribusi input setiap layer berubah selama pelatihan, seiring berubahnya parameter pada layer-layer sebelumnya. Hal ini memperlambat pelatihan karena membutuhkan learning rate yang lebih rendah serta inisialisasi parameter yang sangat hati-hati, dan membuatnya terkenal sulit untuk melatih model dengan non-linearitas yang mengalami saturasi. Kami menyebut fenomena ini sebagai internal covariate shift, dan mengatasi masalah ini dengan menormalisasi input layer. Kekuatan metode kami berasal dari penetapan normalisasi sebagai bagian dari arsitektur model dan pelaksanaan normalisasi untuk setiap mini-batch pelatihan. Batch Normalization memungkinkan kami menggunakan learning rate yang jauh lebih tinggi dan tidak perlu terlalu berhati-hati terhadap inisialisasi. Metode ini juga bertindak sebagai regularizer, yang dalam beberapa kasus menghilangkan kebutuhan akan Dropout. Diterapkan pada model klasifikasi gambar state-of-the-art, Batch Normalization mencapai akurasi yang sama dengan langkah pelatihan 14 kali lebih sedikit, dan mengungguli model asli dengan selisih yang signifikan. Menggunakan ensemble dari jaringan yang dinormalisasi batch, kami meningkatkan hasil terbaik yang dipublikasikan pada klasifikasi ImageNet: mencapai 4,9% top-5 validation error (dan 4,8% test error), melampaui akurasi penilai manusia.

Abstrak asli (bahasa Inggris)

Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization, and makes it notoriously hard to train models with saturating nonlinearities. We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer inputs. Our method draws its strength from making normalization a part of the model architecture and performing the normalization for each training mini-batch. Batch Normalization allows us to use much higher learning rates and be less careful about initialization. It also acts as a regularizer, in some cases eliminating the need for Dropout. Applied to a state-of-the-art image classification model, Batch Normalization achieves the same accuracy with 14 times fewer training steps, and beats the original model by a significant margin. Using an ensemble of batch-normalized networks, we improve upon the best published result on ImageNet classification: reaching 4.9% top-5 validation error (and 4.8% test error), exceeding the accuracy of human raters.

Panduan membaca

Masalah dan motivasi

Selama optimasi deep network dengan SGD, perubahan parameter pada layer awal mengubah distribusi input ke layer-layer berikutnya. Para penulis menyebut fenomena ini sebagai Internal Covariate Shift.

Internal covariate shift menimbulkan dua tantangan utama:

  1. Sub-jaringan harus terus-menerus beradaptasi dengan distribusi aktivasi yang terus bergeser.
  2. Aktivasi sangat mudah melayang ke dalam wilayah saturasi dari fungsi non-linearitas (seperti fungsi sigmoid), menyebabkan vanishing gradient serta memerlukan learning rate kecil dan inisialisasi parameter yang teliti.

Meskipun proses whitening (mendekorelasikan dan menstandardisasi) input layer di seluruh dataset dapat menstabilkan distribusi, menghitung matriks kovarians penuh beserta akar kuadrat inversnya pada setiap pembaruan parameter membutuhkan biaya komputasi yang sangat besar dan dapat menyebabkan ledakan gradien jika normalisasi tidak diintegrasikan ke dalam backpropagation.

Gagasan utama

  • Differentiable Normalization Layer: Alih-alih menstandardisasi aktivasi di luar proses optimasi, normalisasi diintegrasikan langsung ke dalam arsitektur model, memastikan backpropagation memperhitungkan dependensi antara aktivasi layer dan statistik mini-batch.
  • Per-Dimension Normalization: Alih-alih melakukan joint whitening penuh, setiap dimensi fitur skalar dinormalisasi secara independen ke rata-rata nol dan varians satu.
  • Memulihkan Kapasitas Representasi: Untuk memastikan normalisasi tidak merusak kemampuan ekspresif layer (seperti memaksa fungsi sigmoid berperilaku murni linear), parameter terpelajar (scale) dan (shift) diperkenalkan untuk memungkinkan layer memulihkan transformasi identitas jika diperlukan.
  • Inferensi Deterministik: Selama pelatihan, statistik dihitung di setiap mini-batch . Saat pengujian, statistik populasi tetap (dihitung melalui moving average atau di seluruh batch pelatihan) menggantikan statistik mini-batch, memastikan inferensi sampel tunggal yang deterministik.
  • Invariansi Skala Parameter: Transformasi skala dari bobot layer memenuhi , yang berarti bobot yang lebih besar menghasilkan gradien efektif yang lebih kecil, sehingga mencegah terjadinya ledakan gradien (gradient explosion).

Metode (dengan persamaan utama)

Untuk mini-batch yang berhubungan dengan satu dimensi aktivasi:

  1. Hitung rata-rata mini-batch:
  2. Hitung varians mini-batch:
  3. Normalisasi aktivasi (dengan konstanta stabilitas ):
  4. Skalakan dan geser menggunakan parameter terpelajar dan :

Penerapan pada Layer

  • Penempatan: Diterapkan tepat sebelum fungsi non-linearitas: . Bias layer asli dihilangkan karena pengurangan rata-rata akan membatalkannya (perannya digantikan oleh ).
  • Convolutional Layer: Untuk mempertahankan sifat ekuivarian translasi, normalisasi diterapkan per feature map, bukan per aktivasi spasial. Untuk ukuran batch dan resolusi spasial , ukuran mini-batch efektif menjadi , dengan satu pasang yang digunakan bersama di setiap feature map.

Transformasi Inferensi

Saat pengujian, transformasi ini menjadi operasi linear statis menggunakan statistik populasi dan :

Hasil (dengan angka terpenting)

  • MNIST dengan Sigmoid: Jaringan yang dilengkapi dengan Batch Normalization mempertahankan distribusi aktivasi yang stabil sepanjang pelatihan, mempercepat konvergensi dan mencapai akurasi uji yang lebih tinggi dibandingkan jaringan tanpa normalisasi.
  • Kecepatan Pelatihan ImageNet (Jaringan Tunggal):
    • Inception tanpa normalisasi mencapai akurasi validasi 72,2% setelah langkah.
    • Inception dengan Batch-Normalized baseline mencapai 72,2% dalam langkah.
    • Dengan learning rate 5x lebih tinggi (BN-x5), ia mencapai 72,2% dalam langkah—sebuah pengurangan 14 kali lipat dalam langkah pelatihan yang dibutuhkan, dan akhirnya mencapai puncak pada 73,0%.
    • Dengan learning rate 30x lebih tinggi (BN-x30), model mencapai akurasi maksimum 74,8% setelah langkah.
  • Non-linearitas yang Mengalami Saturasi: Sementara Inception tanpa normalisasi dengan aktivasi sigmoid gagal dilatih (tetap di sekitar akurasi acak 0,1%), BN-x5-Sigmoid meraih akurasi top-1 sebesar 69,8%.
  • SOTA Ensemble ImageNet: Ensemble dari 6 jaringan batch-normalized meraih top-5 validation error sebesar 4,9% dan test error sebesar 4,82% pada server pengujian ILSVRC, melampaui baseline penilai manusia.

Batasan dan pertanyaan terbuka

  • Ketergantungan pada Ukuran Batch: Karena normalisasi bergantung pada statistik sampel mini-batch, ukuran mini-batch yang sangat kecil dapat menurunkan kualitas estimasi varians dan rata-rata.
  • Jaringan Rekuren: Makalah ini menguji model feedforward dan konvolusional, mengidentifikasi recurrent neural networks (RNN) sebagai pertanyaan terbuka yang belum diuji di mana internal covariate shift mungkin juga bersifat krusial.
  • Dasar Teoretis: Para penulis menduga bahwa Batch Normalization menyebabkan Jacobian layer memiliki nilai singular yang mendekati 1, tetapi mencatat bahwa pembuktian teoretis yang tepat mengenai perilaku gradien masih terbuka untuk analisis masa depan.

Istilah kunci

Internal Covariate Shift
Perubahan distribusi aktivasi internal jaringan selama pelatihan yang disebabkan oleh pembaruan parameter pada layer-layer sebelumnya.
Batch Normalization
Mekanisme yang menstandardisasi input layer mini-batch ke rata-rata nol dan varians satu sebelum melakukan penskalaan dan pergeseran dengan parameter terpelajar.
Scale and Shift Parameters (γ and β)
Parameter terpelajar per aktivasi yang dapat memulihkan kapasitas representasi jaringan, termasuk kemampuan untuk merepresentasikan transformasi identitas.
Whitening
Transformasi input untuk menghasilkan rata-rata nol, varians satu, dan dimensi fitur yang saling tidak berkorelasi.
Batch Normalizing Transform
Algoritma terdiferensiasi pasti yang menghitung rata-rata dan varians mini-batch, menormalisasi input, dan menerapkan penskalaan serta pergeseran affine terpelajar.
Population Statistics
Rata-rata ekspektasi agregat dan varians tak bias yang dilacak di seluruh mini-batch pelatihan untuk membekukan parameter normalisasi demi inferensi deterministik.
Feature Map Normalization
Menerapkan normalisasi secara bersama pada elemen mini-batch dan lokasi spasial sehingga semua aktivasi dalam satu convolutional feature map berbagi statistik dan parameter affine yang sama.

Pertanyaan

Di mana Batch Normalization diterapkan relatif terhadap aktivasi dan bias?

Metode ini diterapkan tepat sebelum fungsi non-linearitas (). Parameter bias dari transformasi linear sebelumnya dihilangkan karena pengurangan rata-rata membatalkannya, menyisakan untuk menjalankan peran bias.

Bagaimana perilaku Batch Normalization berbeda saat pelatihan dibandingkan saat inferensi?

Selama pelatihan, rata-rata dan varians dihitung langsung dari mini-batch saat ini untuk menstandardisasi aktivasi. Selama inferensi, nilai-nilai ini digantikan dengan statistik populasi tetap (moving average tak bias di seluruh batch pelatihan), yang mengubah layer menjadi transformasi linear statis.

Mengapa Batch Normalization memungkinkan penggunaan learning rate yang lebih tinggi?

Menormalisasi aktivasi mencegah perubahan parameter kecil berkembang menjadi wilayah saturasi atau ledakan gradien. Selain itu, gradien yang dibackpropasikan melalui suatu layer bersifat invarian terhadap skala bobot: bobot yang lebih besar menghasilkan gradien proporsional yang lebih kecil, sehingga mencegah ketidakstabilan.

Bisakah Batch Normalization menggantikan Dropout?

Ya, dalam banyak konfigurasi. Karena aktivasi ternormalisasi dari suatu sampel bergantung pada contoh acak lain yang ada di dalam mini-batch, ini menyuntikkan noise stokastik yang berfungsi sebagai regularizer efektif, sehingga memungkinkan Dropout dikurangi atau dihilangkan.

Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.

Baca dengan terjemahan dan AI