Feedforward Neural Network
DAFTAR ISI
1.1 Definisi Artificial Neural Network
1.2 Single Perceptron
1.3 Permasalahan XOR
1.4 Multilayer Perceptron
1.5 Interpretability
1.6 Binary Classification
1.7 Multi-class Classification
1.8 Multi-label Classification
1.9 Deep Neural Network
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
Link Download : disini
Tidak ada komentar:
Posting Komentar