backpropagation

Backpropagation: Pengertian, Cara Kerja dan Kelebihannya

backpropagation adalah metode (algoritma) yang digunakan dalam pembelajaran mesin untuk mengoptimalkan bobot dari jaringan syaraf tiruan. Algoritma ini ditemukan pada tahun 1960-an oleh seorang ilmuan dari Amerika yaitu Paul Werbos. Namun, baru pada tahun 1980-an algoritma ini mulai digunakan secara luas dalam pembelajaran mesin.

Nah, pada kesempatan ini kita akan belajar lebih mendalam agar kamu dapat mengimplementasi algoritma ini. Yukk simak..!

Pengertian Backpropagation

Backpropagation merupakan singkatan dariĀ Backward Propagation of ErrorsĀ yang artinya propagasi kesalahan secara mundur. algoritma ini digunakan untuk mengoptimalkan bobot pada jaringan syaraf tiruan dengan cara mengukur kesalahan yang terjadi pada stiap lapisan jaringan dan menyesuaikan bobot sesuai dengan kesalahan tersebut.

Secara umum, backpropagation digunakan dalam jaringan syaraf tiruan yang memiliki arsitektur feedforward, yaitu jaringan syaraf tiruan yang memiliki aliran data dari input ke output tanpa ada balikan.

Dalam algoritma ini, kesalahan yang terjadi pada ouput jaringan diteruskan ke lapisan sebelumnya dan diukur sebagai perbedaan antara nilai ouput diharapkan dengan nilai output yang sebenarnya. Bobot pada lapisan tersebut kemudian diperbaiki untuk mengurangi kesalahan tersebut.

Pelatihan Algoritma Backpropagation

Pada dasarnya, pelatihan dengan algoritma ini terdiri atas tiga langkah yaitu sebagai berikut.

  1. Data dimasukkan ke input jaringan (feedforward)
  2. Perhitungan dan propagasi balik dari error yang bersangkutan
  3. Pembaharuan bobot dan bias.

Adapaun algoritma pelatihan dalam backpropagation seperti yang dijelaskan dibawah.

Langkah ke-0, inisialisasi bobot dan bias. Bobot dan bias dapat di-inisialisasi dengan sembarang angka (acak) dan biasanya terletak antara 0, 1 ataupun -1.

Baca juga :   Convolutional Neural Network Adalah: Cara Kerja dan Judul Skripsi

Langkah ke-1, jika kondisi stop belum terpenuhi maka lakukan langkah 2-9.

Langkah ke-2, untuk setiap data training maka lakukan langkah 3-8.

Fase 1 Feedforward

Langkah ke-3, tiap-tiap unit input Xi (dari unit ke-1 sampai unit ke-n pada lapisan input) menerima sinyal Xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (hidden layer).

Langkah ke-4, tiap-tiap unit pada suatu lapisan tersembunyi Zj (dari unit ke-1 sampai unit ke-p; i=1,…,n; j=1,…p) sinyal ouput lapisan tersembunyinya dihitung dengan menerapkan fungsi aktivasi terhadap penjumlahkan sinyal-sinyal input berbobot Xi.

backpropagation tahap ke 4

dengan menggunakan fungsi aktivasi untuk menghitung sinyal output.

backpropagation tahap ke 4 2

dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).

Langkah ke-5, Setiap unit dilapisan output Yk (dari unit ke-1 sampai unit ke-m; i=1,…n; k=1,…,m) dihitung sinyal outputnya dengan menerpakan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbobot zj bagi lapisan ini.

backpropagation tahap ke 5

Dengan menggunakan fungsi aktivasi untuk menghitung sinyal output.

backpropagation tahap ke 5 2

dan dikirimkan sinyal tersebut ke semua unit lapisan atasnya (unit-unit output).

Fase 2 Propagasi Mundur

Langkah ke-6, tiap-tiap unit output (Yk, k=1,2,3,…,m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi error-nya.

backpropagation tahap ke 6

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai Wjk).

backpropagation tahap ke 6 2

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai āˆ†w0k).

backpropagation tahap ke 6 3

Langkah ke-7, tiap-tiap unit tersembunyi (Zj,j=1,2,3,…,p) menjemlahkan delta input (dari unit-unit yang berada pada lapisan di atasnya).

backpropagation tahap ke 7

Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error.

backpropagation tahap ke 7 2

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai Vij).

backpropagation tahap ke 7 3

Fase 3 Perubahan Bobot

Langkah ke-8, Tiap-tiap unit output (Yk, k=1,2,3,…,m) memperbaiki bias dan bobotnya (j=0,1,2,…,p).

Baca juga :   Teknik Sampling: Pengertian, dan Cara Implementasi

backpropagation tahap ke 8

Tiap-tiap unit tersembunyi (Zj,j=1,2,3,…,p) memperbaiki bias dan bobotnya (i=0,1,2,…,n).

backpropagation tahap ke 8 2

Langkah ke-9, Tes kondisi berhenti.

Kelebihan dan kekurangan Backpropagation

Berikut ini beberapa dari kelebihan dan kekurangan dari algoritma ini.

Kelebihan Backpropagation

  1. Penggunaan Luas: Backpropagation adalah salah satu teknik pelatihan jaringan saraf tiruan yang paling umum digunakan dan memiliki aplikasi yang luas dalam berbagai bidang, termasuk pengenalan pola, analisis teks, pengolahan bahasa alami, dan lainnya.
  2. Kemampuan Representasi yang Kuat: Jaringan saraf tiruan yang dipelatih dengan backpropagation memiliki kemampuan untuk mengambil fitur-fitur yang kompleks dan abstrak dari data. Mereka dapat memodelkan hubungan yang rumit antara masukan dan keluaran.
  3. Fleksibilitas Arsitektur: Backpropagation memungkinkan penggunaan berbagai arsitektur jaringan saraf, termasuk jaringan feedforward, jaringan rekurensi, dan jaringan konvolusi, sehingga dapat diadaptasi untuk berbagai tugas.
  4. Konvergensi Cepat: Dengan pengaturan yang benar, metode ini dapat menghasilkan konvergensi yang cepat saat melatih jaringan. Ini berarti model dapat mencapai tingkat kinerja yang baik dalam waktu yang relatif singkat.

Kekurangan Backpropagation

  1. Kemungkinan Terjebak dalam Minimum Lokal: Salah satu masalah utama dengan backpropagation adalah bahwa dalam beberapa kasus, algoritma ini dapat terjebak dalam minimum lokal, yang bukanlah solusi optimal global. Hal ini dapat menyebabkan model yang kurang baik.
  2. Perlu Data Pelatihan yang Banyak: Untuk menghindari overfitting dan mendapatkan model yang baik, backpropagation memerlukan sejumlah besar data pelatihan yang representatif. Ini bisa menjadi kendala dalam kasus-kasus di mana data terbatas.
  3. Sensitif terhadap Pengaturan Hyperparameter: Kesuksesan pelatihan dengan backpropagation sering tergantung pada pengaturan hyperparameter yang tepat, seperti tingkat pembelajaran (learning rate) dan jumlah lapisan serta neuron dalam jaringan. Pengaturan yang salah dapat menghambat konvergensi.
  4. Kemungkinan Overfitting: Backpropagation memiliki risiko overfitting, yaitu ketika model terlalu “mengingat” data pelatihan dan tidak dapat menggeneralisasi dengan baik untuk data yang belum pernah dilihat sebelumnya.
  5. Komputasi yang Intensif: Pelatihan jaringan saraf dengan backpropagation membutuhkan komputasi yang intensif, terutama untuk model yang lebih besar. Ini memerlukan sumber daya komputasi yang cukup, seperti GPU atau TPU.
  6. Keterbatasan dalam Penanganan Data Tidak Terstruktur: Backpropagation biasanya lebih cocok untuk data terstruktur, seperti gambar atau teks terstruktur. Penanganan data tidak terstruktur, seperti teks tidak terstruktur atau sinyal audio, dapat memerlukan preprosesing yang kompleks.
Baca juga :   Node.JS REPL: Pengertian, Kegunaan dan Cara Menggunakan

Kesimpulan

Pada pembelajaran kita di atas dapat kita simpulkan bahwa Backpropagation digunakan dalam jaringan syaraf tiruan yang memiliki arsitektur feedforward, yaitu jaringan syaraf tiruan yang memiliki aliran data dari input ke output tanpa ada balikan. Dengan metode ini, jaringan saraf dapat mengubah parameter internalnya untuk menghasilkan hasil yang sesuai dengan data pelatihan.

Artikel ini merupakan bagian dari seri artikel belajar Kecerdasan Buatan dan jika ada ide topik yang mau kami bahas silahkan komen di bawah ya..