Artificial Neural Networks – Bagian 2 : Multilayer Perceptron

Artificial Neural Networks – Bagian 2 : Multilayer Perceptron

Pada tahun 1969, Marvin Minsky dan Seymour Paper dalam buku menjelaskan keterbatasn Perceptron. Perceptron yang digunakan oleh Frank Rosenblatt merupakan linear classifier. Sehingga metode tersebut tidak akan pernah berhasil untuk mengklasifikasikan input yang diberikan jika tidak terpisah secara linear. Salah satu contoh dimana yang menunjukkan kelemahan Perceptron terhadap kondisi non-linear adalah operasi logika Exclusive-OR atau XOR

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

Salah satu solusi untuk mengatasi XOR adalah dengan menggunakan Multilayer Neural Network. Multilayer Neural Network atau lebih dikenal dengan Multilayer Perceptron (MLP) adalah neural network yang terdiri dari input layer, hidden layer dan output layer. Gambar dibawah ini menunjukkan Multilayer Perceptron untuk menyelesaikan fungsi XOR.

Dengan menggunakan nilai input (1, 0) dimana A = 1 dan B = 0. Input yang masuk ke neuron C  dengan nilai bias = -1 adalah sebagai berikut : (-0.5 x 1) + (1 x 1)  + (1 x 0) = -0.5 + 1 = 0.5
karena hasil perhitungan menunjukkan nilai diatas threshold 0, maka neuron C akan mengirim nilai input 1 ke neuron E.

Input yang masuk ke neuron D adalah sebagai berikut : (-1 x 1) + (1 x 1)  + (1 x 0) = -1 + 1 = 0
dari perhitungan ini neuron D akan mengirim input 0 ke neuron E.

Dengan menggunakan input dari C dan D, maka nilai E adalah :
(-0.5 x 1) + (1 * 1 ) + (-1 x 0)= -0.5 + 1 = 0.5
karena hasil perhitungan berada diatas threshold 0, maka neuron E akan mengeluarkan nilai 1.

Neuron E akan bernilai 1 jika nilai A dan B berbeda, tapi akan menghasilkan 0 apabila nilai A dan B sama . sehingga dapat disimpulkan hasil MLP sama seperti dengan operasi logika XOR.

Backpropagation Era

Penelitian yang dilakukan oleh David E. Rumelhart, Geoffrey Hinton dan R. J Williams pada tahun 1986 mengambil peran penting dalam kebangkitan Neural Networks sebagai metode atau alat untuk menyelesaikan berbagai macam masalah. Penelitian yang dimaksud adalah algoritma Backpropagation.

Proses pelatihan MLP dengan menggunakan backpropagation  melalui tiga tahapan yaitu proses feedforward , backpropagatingerrors dan pengaturan(update) nilai bobot. Setelah proses pelatihan, dilakukan proses pengujian yang hanya melalui tahapan feedforward.


Arsitektur MLP dengan satu hidden layer
Source : Fundamental of Neural Networks


Pada process feedforward, setiap input [X_1, . . . . . ,X_(n )] akan menerima sinyal dan mengirimkan sinyal tersebut ke setiap hidden neuron [Z_1, . . . . . ,Z_(p)]. Setiap hidden neuron melakukan proses penjumlahan dari neuron input dan nilai bobot [v_{01}, . . . . . ,v_{np}] lalu menghitung fungsi aktifasi hidden neuron [z_1, . . . . . ,z_p] dan kemudian mengirim hasil perhitungan tersebut  ke setiap output neuron. Setiap output neuron [Y_1, . . . . . ,Y_m] melakukan proses penjumlahan dari hidden neuron dan nilai bobot [w_{01}, . . . . . ,w_{pm}] dan menghitung fungsi aktivasi output neuron [y_1, . . . . . ,y_m] untuk mendapatkan hasil dari neural network berdasarkan input yang diberikan.

Selama proses pelatihan, hasil fungsi aktifasi [y_1,……,y_k] dibandingkan dengan nilai target [t_1,……,t_k] untuk menentukan selisih atau error untuk pola yang dihasilkan dari proses feedforward dengan menggunakan fungsi error. Nilai error tersebut akan digunakan pada proses backpropagation. Proses backpropagation melibatkan turunan atau differentiation dari fungsi error dan fungsi aktifasi di layer-layer sebelumnya. Fungsi turunan tersebut akan menghasilkan nilai gradient yang nantinya akan digunakan untuk mengubah nilai bobot yang menghubungkan input layer – hidden layer dan hidden layer – output layer. Berikut ini contoh langkah kerja Multilayer Perceptron menggunakan algoritma Backpropagation dengan menggunakan satu hidden layer.

Algoritma Multilayer Perceptron – Backpropagation untuk satu hidden layer