Backpropagation: Pengertian, Cara Kerja dan Kelebihannya

backpropagation

Backpropagation adalah salah satu algoritma penting dalam machine learning yang digunakan untuk melatih jaringan saraf tiruan (neural network). Metode ini berperan dalam mengoptimalkan bobot model agar dapat menghasilkan prediksi yang lebih akurat berdasarkan data pelatihan.

Dalam dunia kecerdasan buatan (AI), backpropagation menjadi fondasi utama dalam proses pembelajaran model deep learning. Pada artikel ini, kamu akan mempelajari pengertian backpropagation, cara kerja, hingga kelebihan dan kekurangannya secara lengkap dan mudah dipahami.

Apa Itu Backpropagation?

Backpropagation adalah algoritma pembelajaran terawasi (supervised learning) yang digunakan dalam jaringan saraf tiruan untuk menghitung gradien error dan memperbarui bobot jaringan secara efisien. Metode ini bekerja dengan cara menyebarkan kembali (propagate backward) nilai kesalahan dari lapisan output ke lapisan sebelumnya menggunakan prinsip turunan (gradient descent).

Secara konseptual, backpropagation memungkinkan model untuk “belajar dari kesalahan” dengan meminimalkan fungsi loss melalui proses iteratif. Oleh karena itu, algoritma ini menjadi komponen inti dalam pelatihan model deep learning modern seperti neural network multilayer.

Baca Juga: Mengenal Batch Gradient Descent dalam Machine Learning

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. pembaruan 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.

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.

Baca Juga: Knowledge Distillation: Konsep, Cara Kerja, dan Manfaat

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 output lapisan tersembunyinya dihitung dengan menerapkan fungsi aktivasi terhadap penjumlahkan sinyal-sinyal input berbobot Xi.

z_in_j=v_0j+_i=1nxiv_ijz\_{in\_j} = v\_{0j} + \sum\_{i=1}^{n} x_i v\_{ij}

Keterangan:

  • z_in_jz\_{in\_j} : sinyal masuk ke neuron tersembunyi ke-jjj
  • v_0jv\_{0j} : bias neuron hidden
  • xix_i : nilai input ke-iii
  • v_ijv\_{ij} : bobot dari input xix_ixi​ ke neuron hidden zjz_jzj​
  • i=1,2,,ni = 1,2,\dots,ni=1,2,…,n

zj=f(z_in_j)z_j = f(z\_{in\_j})

Keterangan:

  • zjz_j​ : output neuron hidden
  • f()f(\cdot) : fungsi aktivasi

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.

y_in_k=w_0k+_j=1pzjw_jky\_{in\_k} = w\_{0k} + \sum\_{j=1}^{p} z_j w\_{jk}

Keterangan:

  • y_in_ky\_{in\_k} : sinyal masuk ke neuron output ke-kk
  • w_0kw\_{0k} : bias neuron output
  • zjz_j​ : output neuron hidden
  • w_jkw\_{jk} : bobot dari hidden ke output
  • j=1,2,,pj = 1,2,\dots,p

Dengan menggunakan fungsi aktivasi untuk menghitung sinyal output.

yk=f(y_in_k)y_k = f(y\_{in\_k})

Keterangan:

  • yky_k​ : output akhir jaringan

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

Baca Juga: Algoritma Gradient Descent: Cara Kerja, Jenis, dan Contoh

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.

δk=(tkyk)f(y_in_k)\delta_k = (t_k – y_k)\, f'(y\_{in\_k})

Keterangan:

  • δk\delta_k​ : error neuron output
  • tkt_k​ : target output
  • f()f'(\cdot) : turunan fungsi aktivasi

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

Δw_jk=αδkzj\Delta w\_{jk} = \alpha \delta_k z_j

Keterangan:

  • Δw_jk\Delta w\_{jk} : perubahan bobot hidden–output
  • α\alpha: learning rate

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai ∆w0k).

Δw_0k=αδk\Delta w\_{0k} = \alpha \delta_k

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

δ_in_j=_k=1mδkw_jk\delta\_{in\_j} = \sum\_{k=1}^{m} \delta_k w\_{jk}

Keterangan:

  • mm: jumlah neuron output

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

δj=δ_in_jf(z_in_j)\delta_j = \delta\_{in\_j} \, f'(z\_{in\_j})

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

Δv_ij=αδjxi\Delta v\_{ij} = \alpha \delta_j x_i

Baca Juga: Apa Itu Artificial General Intelligence? Panduan Lengkap

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).

w_jk(baru)=w_jk(lama)+Δw_jkw\_{jk}(\text{baru}) = w\_{jk}(\text{lama}) + \Delta w\_{jk}

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

v_ij(baru)=v_ij(lama)+Δv_ijv\_{ij}(\text{baru}) = v\_{ij}(\text{lama}) + \Delta v\_{ij}

Langkah ke-9, Tes kondisi berhenti.

Baca Juga: Pointwise Ranking Adalah: Cara Kerja, Rumus, dan Contoh

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 dilatih 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.

Baca Juga: Belajar Kecerdasan Buatan (AI): Pengertian dan Cara Kerja Kecerdasan Buatan

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: Supervised Learning Adalah: Pengertian, Konsep dan Contoh

Kesimpulan

Pada pembelajaran kita di atas dapat kita simpulkan bahwa Backpropagation adalah algoritma penting dalam machine learning yang digunakan untuk melatih jaringan saraf tiruan dengan cara memperbarui bobot berdasarkan error. Metode ini memungkinkan model untuk belajar secara iteratif sehingga mampu menghasilkan prediksi yang lebih akurat.

Dengan memahami cara kerja, kelebihan, dan kekurangan backpropagation, kamu dapat menggunakannya secara optimal dalam berbagai kasus seperti klasifikasi, prediksi, hingga analisis data. Oleh karena itu, algoritma ini menjadi fondasi utama dalam pengembangan model deep learning modern.

Artikel ini merupakan bagian dari seri Kecerdasan Buatan KantinIT.com. Jika artikel ini bermanfaat, jangan lupa bagikan ke media sosial atau ke teman kamu.

Subscribe to our Newsletter

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨