Backpropagation dalam Jaringan Saraf Tiruan: Algoritma ML & Contoh

โšก Ringkasan Cerdas

Backpropagation adalah algoritma pelatihan inti dari jaringan saraf, yang menyempurnakan setiap bobot berdasarkan kesalahan yang diukur pada epoch sebelumnya sehingga model dapat melakukan generalisasi dengan lebih baik pada data yang belum pernah dilihat sebelumnya, satu lapisan demi satu lapisan.

  • ๐Ÿ”˜ Ide inti: Aturan rantai menghasilkan gradien kerugian untuk setiap bobot, satu lapisan pada satu waktu.
  • โ˜‘๏ธ Siklus pelatihan: Lakukan pemrosesan data ke depan, ukur kesalahan, sebarkan ke belakang, perbarui bobot, ulangi.
  • โœ… Dua varian: Backpropagasi statis memetakan input tetap ke output tetap; backpropagasi rekuren menyelesaikan proses terlebih dahulu, kemudian melakukan propagasi.
  • ๐Ÿงช Mengapa hal ini penting: Gradient descent tetap praktis hanya untuk jaringan yang dalam karena gradien digunakan kembali lapis demi lapis.
  • ๏ธ Batasan yang diketahui: Performa bergantung pada kualitas input, dan sampel yang bising akan mendistorsi bobot yang dipelajari.
  • โš™๏ธ Kesehatan gradien: Mengalikan banyak turunan kecil menyebabkan gradien menghilang; ReLU dan normalisasi mengurangi efek tersebut.

Back Propagation dalam Jaringan Saraf: algoritma pembelajaran mesin

Apa itu Jaringan Saraf Tiruan?

Jaringan saraf tiruan adalah sekelompok unit input/output yang terhubung di mana setiap koneksi membawa bobot. Jaringan ini membantu Anda membangun model prediktif dari basis data besar, dan desainnya meminjam kosakata dari sistem saraf manusia. Jaringan semacam ini mendukung pemahaman gambar, pembelajaran mesin, pengenalan suara komputer, dan banyak tugas pengenalan pola lainnya.

Backpropagation adalah algoritma yang menentukan bobot apa yang seharusnya diberikan, jadi kedua konsep tersebut sebaiknya dipahami bersama.

Apa itu Backpropagation?

Backpropagation adalah inti dari pelatihan jaringan saraf. Ini adalah metode untuk menyempurnakan bobot jaringan saraf berdasarkan tingkat kesalahan yang diperoleh pada epoch (yaitu, iterasi) sebelumnya. Penyetelan bobot yang tepat memungkinkan Anda untuk mengurangi tingkat kesalahan dan membuat model lebih andal dengan meningkatkan generalisasinya.

Propagasi mundur dalam jaringan saraf adalah kependekan dari โ€œpropagasi mundur kesalahanโ€. Ini adalah metode standar untuk melatih jaringan saraf tiruan. Metode ini membantu menghitung gradien fungsi kerugian terhadap semua bobot dalam jaringan.

Dua istilah ini sering membingungkan. Hanya backpropagation saja. menghitung gradien; sebuah pengoptimal seperti penurunan gradien adalah apa yang sebenarnya perubahan bobot menggunakan gradien tersebut. Hampir setiap kerangka kerja modern melakukan backpropagation secara otomatis melalui mesin autodiff-nya.

Cara Kerja Algoritma Backpropagation

Algoritma Back Propagation dalam jaringan saraf menghitung gradien fungsi kerugian untuk satu bobot dengan aturan rantai. Algoritma ini secara efisien menghitung satu lapisan pada satu waktu, tidak seperti komputasi langsung yang sederhana. Algoritma ini menghitung gradien, tetapi tidak mendefinisikan bagaimana gradien tersebut digunakan. Algoritma ini menggeneralisasi komputasi dalam aturan delta.

Aturan rantai inilah yang membuat algoritma ini efisien. Pengaruh satu bobot awal pada kerugian akhir merupakan hasil dari turunan lokal di sepanjang jalur menuju output, sehingga algoritma menyimpan hasil sementara setiap lapisan dalam perjalanan kembali dan menggunakannya kembali untuk setiap bobot di lapisan di bawahnya, alih-alih menghitung ulang seluruh jaringan per bobot.

Perhatikan diagram contoh jaringan saraf back propagation berikut untuk memahaminya. Gambar tersebut traces satu lintasan penuh: input masuk dari kiri, aktivasi bergerak maju melalui lapisan tersembunyi ke output, dan kesalahan yang terukur kemudian bergerak kembali melalui koneksi yang sama untuk mengoreksi bobot.

Diagram algoritma backpropagation yang menunjukkan proses maju melalui lapisan input, tersembunyi, dan output, serta kesalahan yang merambat mundur.

  1. Input X, tiba melalui jalur yang telah terhubung sebelumnya
  2. Input dimodelkan menggunakan bobot nyata W. Bobot biasanya dipilih secara acak.
  3. Hitung keluaran setiap neuron mulai dari lapisan masukan, lapisan tersembunyi, hingga lapisan keluaran.
  4. Hitung kesalahan pada output:
    ErrorB= Actual Output โ€“ Desired Output
    
  5. Perjalanan kembali dari lapisan keluaran ke lapisan tersembunyi untuk menyesuaikan bobot sehingga kesalahan berkurang.
  6. Terus ulangi proses tersebut hingga hasil yang diinginkan tercapai.

Banyak buku teks menuliskan kuantitas yang sama sebagai yang diinginkan dikurangi aktualKedua konvensi tersebut sama-sama berfungsi, karena tandanya diserap ketika sub-pengoptimaltracIni adalah gradien, asalkan Anda mempertahankan satu konvensi di seluruh jaringan.

Dalam praktiknya, kesalahannya jarang berupa subrutin sederhana.tracFungsi kerugian seperti mean squared error untuk regresi, atau cross-entropy untuk klasifikasi, mengubah perbedaan per-output menjadi satu angka tunggal yang gradiennya sebenarnya dihitung oleh backpropagation.

Mengapa Kita Membutuhkan Propagasi Balik?

Keuntungan paling menonjol dari Backpropagation adalah:

  • Propagasi mundur cepat, sederhana dan mudah diprogram
  • Ia tidak menambahkan parameter baru apa pun; penyetelan yang Anda lakukan adalah milik pengoptimal dan jaringan, terutama laju pembelajaran dan jumlah input.
  • Ini adalah metode yang fleksibel karena tidak memerlukan pengetahuan sebelumnya tentang jaringan
  • Ini adalah metode standar yang umumnya berfungsi dengan baik
  • Tidak perlu disebutkan secara khusus tentang fitur-fitur fungsi yang akan dipelajari.

Sederhananya, tanpa cara yang efisien untuk mendapatkan gradien, melatih lapisan yang lebih dalam dari satu lapisan akan menjadi tidak praktis secara komputasi.

Apa itu Jaringan Feed Forward?

Jaringan saraf maju umpan adalah jaringan saraf tiruan yang simpul-simpulnya tidak pernah membentuk siklus. Jaringan saraf jenis ini memiliki lapisan masukan, lapisan tersembunyi, dan lapisan keluaran. Ini adalah jenis jaringan saraf tiruan yang pertama dan paling sederhana.

Perbedaan ini penting karena proses maju (forward pass) dari backpropagation sebenarnya adalah proses maju (feedforward pass); hanya saja koreksi kesalahan berjalan ke arah yang berlawanan.

Jenis Jaringan Backpropagation

Dua Jenis Jaringan Backpropagation adalah:

  • Propagasi Balik Statis
  • Propagasi Balik Berulang

Propagasi balik statis

Ini adalah salah satu jenis jaringan backpropagation yang menghasilkan peta.ping dari input statis untuk output statis. Ini berguna untuk menyelesaikan masalah klasifikasi statis seperti pengenalan karakter optik.

Propagasi Balik Berulang

Propagasi Balik Berulang pada data mining Data diteruskan ke depan hingga nilai tetap tercapai. Setelah itu, kesalahan dihitung dan disebarkan ke belakang.

Perbedaan utama antara kedua metode ini adalah: petaping Kecepatannya tinggi dalam back-propagation statis, sedangkan dalam back-propagation rekuren bersifat non-statis. Tabel di bawah ini menyajikan keduanya secara berdampingan.

Kriterium Propagasi balik statis Backpropagasi berulang
Lokasiping Input statis ke output statis Tidak statis; jaringan akan stabil sebelum kesalahan digunakan.
Kecepatan Cepat, satu kali proses per sampel Proses aktivasi yang lebih lambat diulang hingga stabil.
Bentuk jaringan Umpan maju, tanpa siklus Berisi koneksi umpan balik
Penggunaan khas Pengenalan karakter optik, klasifikasi ukuran tetap Masalah yang hasil keluarannya bergantung pada keadaan internal yang stabil.

Sejarah Propagasi Balik

  • Pada tahun 1961, konsep dasar backpropagation kontinu diturunkan dalam konteks teori kontrol oleh J. Kelly, Henry Arthur, dan E. Bryson.
  • Pada tahun 1969, Bryson dan Ho memberikan metode optimasi sistem dinamis multi-tahap.
  • Pada tahun 1970, Seppo Linnainmaa menerbitkan metode diferensiasi otomatis mode terbalik, yaitu metode komputasi yang menjadi dasar dari backpropagation modern.
  • Pada tahun 1974, Werbos menyatakan kemungkinan penerapan prinsip ini dalam jaringan saraf tiruan.
  • Pada tahun 1982, Hopfield mengemukakan idenya tentang jaringan saraf.
  • Pada tahun 1986, melalui upaya David E. Rumelhart, Geoffrey E. Hinton, Ronald J. Williams, propagasi mundur mendapat pengakuan.
  • Pada tahun 1989, Yann LeCun dan rekan-rekannya melatih jaringan konvolusional dengan backpropagation untuk membaca angka tulisan tangan, salah satu penggunaan praktis skala besar pertama.
  • Pada tahun 1993, Wan menjadi orang pertama yang memenangkan kontes pengenalan pola internasional dengan bantuan metode propagasi mundur.
  • Pada tahun 2006, karya Hinton tentang jaringan kepercayaan mendalam (deep belief networks) dan pelatihan awal berlapis (layer-wise pretraining) menghidupkan kembali minat dalam melatih jaringan dalam (deep networks), yang sempat terhenti karena masalah gradien yang menghilang (vanishing gradients).
  • Pada tahun 2010, Xavier Glorot dan Yoshua Bengio menganalisis mengapa jaringan saraf dalam sulit dilatih dan memperkenalkan inisialisasi bobot yang lebih baik, yang bersama dengan aktivasi ReLU membuat backpropagation jaringan saraf dalam menjadi praktis.
  • Pada tahun 2012, AlexNet (Krizhevsky, Sutskever, dan Hinton) memenangkan kompetisi ImageNet menggunakan backpropagation yang dipercepat GPU, memicu booming pembelajaran mendalam modern.
  • Pada tahun 2014, optimizer Adam (Kingma dan Ba) diperkenalkan dan dengan cepat menjadi varian gradient-descent standar yang digunakan dengan backpropagation.
  • Pada tahun 2015, batch normalization and residual networks (ResNet) memecahkan masalah gradient flow pada jaringan yang sangat dalam, memungkinkan backpropagation melalui ratusan lapisan.
  • Pada tahun 2015-2017, TensorFlow dan PyTorch menjadikan diferensiasi otomatis sebagai fitur perangkat lunak standar, sehingga gradien tidak perlu lagi dihitung secara manual.
  • Pada tahun 2017, arsitektur Transformer diperkenalkan, dan dilatih secara end-to-end dengan backpropagation, seperti halnya model bahasa besar yang dibangun di atasnya.
  • Pada tahun 2019, Bengio, Hinton, dan LeCun menerima Penghargaan Turing ACM AM atas karya mereka di bidang jaringan saraf dalam (deep neural networks).
  • Pada tahun 2020, makalah โ€œBackpropagation and the Brainโ€ (Lillicrap, Santoro, Marris, Akerman, dan Hinton) berpendapat bahwa otak mungkin mendekati pembelajaran seperti backpropagation, membuka kembali perdebatan tentang kemungkinan biologisnya.
  • Pada tahun 2022, Hinton mengusulkan algoritma Forward-Forward, sebuah metode pelatihan yang sepenuhnya menghindari proses backward pass.
  • Pada tahun 2024, John Hopfield dan Geoffrey Hinton dianugerahi Hadiah Nobel Fisika atas penemuan-penemuan mendasar yang memungkinkan pembelajaran mesin dengan jaringan saraf tiruan.
  • Pada tahun 2025, metode forward-forward diperluas ke jaringan konvolusional, menunjukkan bahwa pelatihan tanpa backpropagation dapat diterapkan pada tugas klasifikasi gambar.
  • Hingga tahun 2026, backpropagation tetap menjadi algoritma pelatihan standar untuk hampir semua model deep learning, sementara penelitian terus berlanjut pada metode pembelajaran tanpa gradien, lokal, dan paralel yang mengurangi biaya memori dan komputasinya.

Poin Penting Propagasi Balik

  • Menyederhanakan struktur jaringan dengan menghapus tautan berbobot yang memiliki pengaruh paling kecil pada jaringan yang telah dilatih.
  • Anda perlu mempelajari sekelompok nilai masukan dan aktivasi untuk mengembangkan hubungan antara lapisan masukan dan unit tersembunyi.
  • Ini membantu untuk menilai dampak variabel masukan tertentu terhadap keluaran jaringan. Pengetahuan yang diperoleh dari analisis ini harus direpresentasikan dalam aturan.
  • Propagasi mundur sangat berguna untuk jaringan neural dalam yang mengerjakan proyek yang rawan kesalahan, seperti pengenalan gambar atau ucapan.
  • Backpropagation memanfaatkan aturan rantai dan pangkat, yang memungkinkan algoritma ini berfungsi dengan jumlah output berapa pun.

Praktik Terbaik untuk Backpropagation

Backpropagation dalam jaringan saraf dapat dijelaskan dengan bantuan analogi "Tali Sepatu". Pembaruan bobot berperilaku seperti tegangan pada tali sepatu: terlalu sedikit dan tidak ada yang terikat, terlalu banyak dan sesuatu akan putus.

Ketegangan tali sepatu Apa artinya selama pelatihan?
Ketegangan terlalu rendah Pembatasannya tidak cukup dan terlalu longgar โ€” modelnya tidak sesuai dengan data yang ada.
Terlalu banyak ketegangan Terlalu banyak batasan (overtraining); memakan terlalu banyak waktu (proses yang relatif lambat); kemungkinan kerusakan lebih tinggi.
Menarik salah satu tali sepatu lebih kuat daripada yang lainnya. Ketidaknyamanan (bias) โ€” satu bagian dari jaringan mendominasi kesesuaian.

Dari analogi tersebut, muncul dua kebiasaan praktis: sesuaikan input sebelum pelatihan agar tidak ada satu fitur pun yang lebih dominan daripada yang lain, dan perhatikan loss validasi agar ketegangan berkurang sebelum terjadi overtraining.

Kekurangan menggunakan Backpropagation

  • Performa sebenarnya dari propagasi mundur pada masalah tertentu bergantung pada data masukan.
  • Algoritma propagasi balik dalam penambangan data bisa sangat sensitif terhadap data yang berisik
  • Pada mini-batch, backpropagation harus diimplementasikan dengan pendekatan berbasis matriks; looping Menganalisis satu contoh dalam satu waktu jauh lebih lambat.
  • Dalam jaringan saraf yang dalam, perkalian berulang dari turunan kecil dapat mengecilkan gradien mendekati nol, sehingga lapisan-lapisan paling awal hampir tidak belajar โ€” masalah gradien yang menghilang yang dijelaskan dalam Google Kursus Machine Crash Learning.

Tidak satu pun dari hal-hal ini yang meniadakan metode tersebut. Justru hal-hal inilah yang membuat para praktisi menggunakan aktivasi ReLU, normalisasi, dan jadwal learning rate yang cermat ketika mereka beralih dari jaringan dangkal ke jaringan yang lebih kompleks. belajar mendalam Model.

Pertanyaan Umum Demo Slot

Backpropagation menghitung gradien kerugian terhadap setiap bobot. Gradient descent adalah pengoptimal yang menggunakan gradien tersebut dan menggerakkan setiap bobot. Yang satu mengukur kemiringan; yang lain mengambil langkahnya.

Tingkat pembelajaran menentukan seberapa jauh setiap bobot bergerak sepanjang gradiennya. Terlalu kecil dan pelatihan akan sangat lambat; terlalu besar dan kerugian akan berosilasi atau menyimpang. Jadwal yang menurunkan tingkat pembelajaran secara bertahap selama beberapa epoch biasanya konvergen lebih andal.

Backpropagation through time melatih jaringan berulang dengan menguraikan urutan menjadi rantai salinan, kemudian menerapkan backpropagation biasa di sepanjangnya. Urutan yang panjang biasanya dipotong, karena jika tidak, gradien akan hilang atau meledak di banyak langkah.

Semua fungsi kerugian yang dapat didiferensiasi dapat digunakan. Mean squared error cocok untuk regresi, binary cross-entropy cocok untuk masalah dua kelas, dan categorical cross-entropy cocok untuk lapisan keluaran multi-kelas. Pilihan tersebut mengubah gradien pada lapisan keluaran, bukan algoritma backward itu sendiri.

Alat pencarian otomatis mengeksplorasi laju pembelajaran, lebar lapisan, dan pengaturan regularisasi jauh lebih cepat daripada metode coba-coba manual. Optimasi Bayesian dan penghentian dini.ping Penjadwal memangkas eksekusi yang lemah dengan cepat, menyisakan komputasi untuk konfigurasi yang benar-benar mengurangi kehilangan validasi.

Kopilot GitHub Program ini menyusun draf loop pelatihan, pemeriksaan gradien, dan definisi lapisan dari komentar singkat, yang mempersingkat pekerjaan berulang. Verifikasi turunan yang dihasilkannya terhadap pemeriksaan gradien numerik, karena turunan yang tampak masuk akal tetapi memiliki tanda yang salah akan dilatih secara diam-diam.

Bobot yang besar menyebabkan produk mundur tumbuh di setiap lapisan hingga pembaruan melampaui batas dan kerugian menjadi tidak stabil. Klip gradienping, bobot awal yang lebih kecil, normalisasi batch, dan laju pembelajaran yang lebih rendah semuanya menjaga agar besaran tetap dalam kisaran yang ditentukan.

Batch adalah kelompok sampel yang diproses sebelum satu pembaruan bobot. Iterasi adalah satu pembaruan tersebut. Epoch adalah satu kali pemrosesan lengkap pada set data pelatihan, yang berisi iterasi sebanyak jumlah batch.

Ringkaslah postingan ini dengan: