Feedforward Neural Network
Referensi: Introduction to Fuzzy Sets, Fuzzy Logic, and Fuzzy Control Systems (Chen G, Pham T)
1.1 Definisi Artificial Neural Network
Ar- tificial neural network adalah salah satu algoritma supervised learning yang populer dan bisa juga digunakan untuk semi-supervised atau unsupervised learning. Walaupun
tujuan awalnya adalah untuk men- simulasikan jaringan saraf biologis,
jaringan tiruan ini sebenenarnya simulasi yang terlalu disederhanakan,
artinya simulasi yang dilakukan tidak mampu menggambarkan kompleksitas
jaringan biologis manusia.
Artificial
Neural Network (selanjutnya disingkat ANN), menghasilkan model
yang sulit dibaca dan dimengerti oleh manusia karena memiliki banyak
layer (kecuali single perceptron) dan sifat non-linear (merujuk pada
fungsi aktivasi)
1.2 Single Perceptron
Bentuk terkecil (minimal) sebuah ANN adalah single perceptron yang hanya terdiri dari sebuah neuron.Secara
matematis, terdapat feature vector x yang menjadi input bagi neuron
tersebut. Ingat kembali, feature vector merepresentasikan suatu data
point, event atau instance. Neuron akan memproses input x melalui
perhitungan jumlah perkalian antara nilai input dan synapse weight, yang
dilewatkan pada fungsi non-linear
Gambar 2: Single Perceptron.
Single perceptron dapat dituliskan kembali sebagai
dimana
o adalah output dan f adalah fungsi non-linear yang dapat ditu- runkan
secara matematis (differentiable non-linear function–selanjutnya disebut
“fungsi non-linear” saja)
- Inisiasi nilai synapse weights, bisa random ataupun dengan aturan ter- tentu. Untuk heuristik aturan inisiasi, ada baiknya membaca buku refer- ensi
- Lewatkan input pada neuron, kemudian kita akan mendapatkan nilai out- put. Kegiatan ini disebut feedforward.
- Nilai output (actual output ) tersebut dibandingkan dengan desired output.
- Apabila nilai output sesuai dengan desired output, tidak perlu mengubah apa-apa.
- Apabila nilai output tidak sesuai dengan desired output, hitung nilai error (loss) kemudian lakukan perubahan terhadap learning parameter (synapse weight ).
- Ulangi langkah-langkah ini sampai tidak ada perubahan nilai error, nilai error kurang dari sama dengan suatu threshold (biasanya mendekati 0), atau sudah mengulangi proses latihan sebanyak T kali (threshold ).
Salah satu cara melatih neural network adalah dengan mengoptimalkan error function, diberikan pada persamaan
1.4 Multilayer Perceptron
Output
dari input layer akan diterima sebagai input bagi hidden layer.
Begitupula seterusnya hidden layer akan mengirimkan hasilnya untuk
output layer. Kegiatan ini dinamakan feed forward
Perubahan nilai synapse weight saat proses latihan (apabila E = 0)
1.3 Permasalahan XOR
• XOR(0, 0) = 0
• XOR(1, 0) = 1
• XOR(0, 1) = 1
• XOR(1, 1) = 0
Gambar 3: Permasalahan XOR.
Seperti
yang diceritakan pada bab model linear, solusi permasalahan ini adalah
dengan melakukan transformasi data menjadi linearly-separable.
Gambar 4: XOR ditransformasi.
Segiempat
berwarna hijau sebenarnya melambangkan dua instance (yang setelah
ditransformasi kebetulan berlokasi pada tempat yang sama).
Input
layer menerima input (tanpa melakukan operasi apapun), kemudian nilai
input (tanpa dilewatkan ke fungsi aktivasi) diberikan ke hidden units
Pada
hidden units, input diproses dan dilakukan perhitungan hasil fungsi
aktivasi untuk tiap-tiap neuron, lalu hasilnya diberikan ke layer
berikutnya (σ adalah fungsi akti- vasi)
1.5 Interpretability
Interpretability
ada dua macam yaitu model interpretability (i.e., apakah struktur model
pembelajaran mesin dapat dipahami) dan prediction inter- pretability
(i.e., bagaimana memahami dan memverifikasi cara input dipetakan.
Gambar 6
Gambar 11.6: Justifikasi penggunaan (Sigma) pada penurunan dari hidden ke input layer
Gambar 7: Proses latihan MLP menggunakan backpropagation
Contoh
teknik pembelajaran mesin yang mudah di- interpretasikan baik secara
struktur dan prediksinya adalah decision tree. Struktur decision tree
berupa pohon keputusan mudah dimengerti oleh manusia dan prediksi
(keputusan) dapat dilacak (trace). Seperti yang sudah dijelaskan pada
bagian pengantar, ANN (MLP) biasanya dianggap se- bagai metode black box
atau susah untuk dinterpretasikan (terutama model interpretability-nya)
Cara
paling umum untuk menjelaskan keputusan pada ANN adalah meng- gunakan
heat map. Sederhananya, kita lewatkan suatu data x pada ANN, kemudian
kita lakukan feed-forward sekali (misal dari input ke hidden layer
dengan parameter W). Kemudian, kita visualisasikan x W (ilustrasi pada
Gambar 8). Dengan ini, kita kurang lebih dapat mengetahui bagian input
mana yang berpengaruh terhadap keputusan di layer berikutnya.
Gambar 8: Contoh heat map pada persoalan klasifikasi teks
1.6 Binary Classification
1.7 Multi-class Classification
Multilayer
perceptron dapat memiliki lebih dari satu output unit. Seumpama kita
mempunyai empat kelas, dengan demikian kita dapat merepresentasikan
keempat kelas tersebut sebagai empat output units. Kelas pertama
direpre- sentasikan dengan unit pertama, kelas kedua dengan unit kedua,
dst
Gambar
11.9: Ilustrasi representasi desired output pada multi -class
classifica- tion menggunakan sparse vector (sering disebut sebagai
“one-hot vector ” di komunitas ANN).
1.8 Multi-label Classification
Seperti
halnya multi-class classification, kita dapat menggunakan sebanyak C
neuron untuk merepresentasikan C kelas pada multi-label classification.
Gambar 11.10: Ilustrasi representasi desired output pada multi -label classifi- cation.
Pada
umumnya, binary cross entropy digunakan sebagai loss (utility
function) pada multi-label classification, yaitu perhitun- gan cross
entropy untuk tiap-tiap output unit (bukan sekaligus semua output unit
seperti pada multi-class classification).
1.9 Deep Neural Network
Deep
Neural Network (DNN) adalah artificial neural network yang memiliki
banyak layer. Pada umumnya, deep neural network memiliki lebih dari 3
layers (input layer, N 2 hidden layers, output layer ), dengan kata
lain adalah MLP dengan lebih banyak layer. Karena ada relatif banyak
layer, disebutlah deep.
Cara
menghitung final output sama seperti MLP, diberikan pada persamaan
diatas, dimana β, γ, λ adalah noise atau bias, σ adalah fungsi
aktivasi. Cara melatih deep neural network, salah satunya dapat
menggunakan back- propagation.
Deep
network terdiri dari banyak layer dan synapse weight, karenanya es-
timasi parameter susah dilakukan. Arti filosofisnya adalah susah/lama
untuk menentukan relasi antara input dan output.
Gambar 9: Deep Neural Network.
Gambar 11.12: Proses latihan DNN menggunakan backpropagation.
Ada
beberapa strategi untuk mempercepat pembelajaran menggu- nakan deep
learning, misalnya: regularisasi, successive learning , dan peng- gunaan
autoencoder. Sebagai contoh, arti successive learning adalah jaringan
yang dibangun secara bertahap. Misal kita latih ANN dengan 3 lay- ers,
kemudian kita lanjutkan 3 layers tersebut menjadi 4 layers, lalu kita
latih lagi menjadi 5 layers, dst.
Menggunakan
deep learning harus hati-hati karena pembelajaran cenderung divergen
(artinya, minimum squared error belum tentu semakin rendah seiring
berjalannya waktu–swing relatif sering).
Gambar 10: Contoh successive learning.
Video
Tidak ada komentar:
Posting Komentar