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.
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.
- Input X, tiba melalui jalur yang telah terhubung sebelumnya
- Input dimodelkan menggunakan bobot nyata W. Bobot biasanya dipilih secara acak.
- Hitung keluaran setiap neuron mulai dari lapisan masukan, lapisan tersembunyi, hingga lapisan keluaran.
- Hitung kesalahan pada output:
ErrorB= Actual Output โ Desired Output
- Perjalanan kembali dari lapisan keluaran ke lapisan tersembunyi untuk menyesuaikan bobot sehingga kesalahan berkurang.
- 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.

