07/06/2016 Rumusan: Jaringan Syaraf Tiruan Shinta P. Sari • Manusia = 2 tangan + 2 kaki + 1 mulut + 2 mata + 1 hidung + 1 Kepala + 2 telinga Otak Manusia • Bertugas untuk memproses informasi • Seperti prosesor sederhana • Masing-masing cell tersebut berinteraksi mendukung kinerja otak • Setiap sel (neuron) memiliki satu nukleus (soma), bertugas memproses informasi, informasi diterima oleh dendrit, dan disebarkan melalui akson • Pertemuan informasi antar syaraf berada di sinapsis 1 07/06/2016 Human Brain Saraf Manusia Dendrites • Manusia memiliki krg lbh 10^12 neuron! Dan 6x10^18 sinapsis! • Informasi yang dikirimkan berupa rangsangan dengan sebuah batas ambang (threshold) • Pada batas tertentu, syaraf lain akan teraktifasi dan merespon • Hubungan antar syaraf terjadi secara dinamis • Otak manusia memiliki kemampuan untuk belajar dan beradaptasi • Mampu mengenali pola, wajah, mengkontrol organ tubuh! Soma (cell body) Axon Human Neuron (Detail) dendrites axon Otak Manusia • Otak sebagai Pusat Kendali dan Pikiran/ Belajar • Neuron merupakan sistem yang fault tolerance • Dapat mengenali sinyal input yang berbeda dari sebelumnya • Dapat mengenali orang yg blm pernah ditemui hanya dengan synapses melihat dari foto • Dapat mengenali orang yang berubah krn tua misalnya • Tetap dapat bekerja walau beberapa neuronnya rusak, neuron lain dapat tumbuh dan dilatih JST • Suatu sistem pemrosesan informasi yang mencoba meniru kinerja otak manusia JST • Baik tidaknya suatu model JST ditentukan oleh: • Pemrosesan informasi terjadi pada elemen sederhana • Pola antar neuron (arsitekur jaringan) • Metode untuk menentukan dan mengubah bobot (disebut • Sinyal dikirimkan diantara neuron-neuron melalui penghubung • Fungsi aktivasi • Merupakan generalisasi model matematis dengan asumsi: (=neuron) (=dendrit dan akson) • Penghubung antar elemen memiliki bobot yang akan menambah atau mengurangi sinyal • Untuk menentukan output, setiap neuron memiliki fungsi aktivasi (biasanya non linier) yang dikenakan pada semua input • Besar output akan dibandingkan dengan threshold metode learning) • JST disebut juga: brain metaphor, computational neuroscience, parallel distributed processing 2 07/06/2016 JST • JST dapat belajar dari pengalaman! • Biasanya berhubungan dengan angka (numerik) Kelebihan JST • Mampu mengakuisisi pengetahuan walau tidak ada kepastian sehingga data yang tidak numerik harus dibuat ke numerik • Tidak ada rumus yang tetap (fixed) sehingga disebut dengan free-estimator! • JST disebut black box atau tidak transparan karena tidak mampu menjelaskan bagaimana suatu hasil didapatkan! • JST mampu menyelesaikan permasalahan yang tidak terstruktur dan sulit didefinisikan! • Mampu melakukan generalisasi dan ekstraksi dari JST mampu: Kelemahan JST suatu pola data tertentu • JST dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan belajar (self organizing) • Memiliki fault tolerance, gangguan dapat dianggap sebagai noise saja • Kemampuan perhitungan secara paralel sehingga proses lebih singkat • Klasifikasi: memilih suatu input data ke dalam • Kurang mampu untuk melakukan operasi operasi • Asosiasi: menggambarkan suatu obyek secara • Kurang mampu melakukan operasi algoritma • Self organizing: kemampuan mengolah data-data • Lamanya proses training yang mungkin terjadi dalam kategori tertentu yang sudah ditetapkan keseluruhan hanya dengan bagian dari obyek lain input tanpa harus mempunyai target numerik dengan presisi tinggi aritmatik, operasi logika dan simbolis waktu yang sangat lama untuk jumlah data yang besar • Optimasi: menemukan suatu jawaban terbaik sehingga mampu meminimalisasi fungsi biaya Aplikasi JST • Pengenalan pola (pattern recognition) • Huruf, tanda tangan, suara, gambar yang sudah sedikit berubah (mengandung noise) • • • • • Identifikasi pola saham • Pendeteksian uang palsu, kanker Signal Processing • Menekan noise pada saluran telepon Peramalan • Peramalan saham Autopilot dan simulasi Kendali otomatis otomotif Aplikasi JST Tasks to be solved by artificial neural networks: • controlling the movements of a robot based on selfperception and other information (e.g., visual information); • deciding the category of potential food items (e.g., edible or non-edible) in an artificial world; • recognizing a visual object (e.g., a familiar face); • predicting where a moving object goes, when a robot wants to catch it. 3 07/06/2016 Sejarah Sejarah • Model JST formal pertama diperkenalkan oleh • 1982, Kohonen mengembangkan learning unsupervised • • • 1982, Grossberg dan Carpenter mengembangkan • • McCulloch dan Pitts (1943) 1949, Hebb mengusulkan jaringan Hebb 1958, Rosenblatt mengembangkan perceptron untuk klasifikasi pola 1960, Widrow dan Hoff mengembangkan ADALINE dengan aturan pembelajaran Least Mean Square (LMS) 1974, Werbos memperkenalkan algoritma backpropagation untuk perceptron banyak lapisan Model Neuron JST X1 untuk pemetaan Adaptive Resonance Theory (ART, ART2, ART3) • 1982, Hopfield mengembangkan jaringan Hopfield untuk optimasi • 1985, Algoritma Boltzmann untuk jaringan syaraf probabilistik • 1987, dikembangkan BAM (Bidirectional Associative Memory) • 1988, dikembangkan Radial Basis Function Model Neuron Y1 W1 • Pada JST, neuron-neuron akan dikumpulkan dalam lapisan lapisan yang disebut dengan layers X2 Y2 dengan neuron pada lapisan lainnya W2 Fungsi aktivasi X3 W3 Y3 Bobot Masukkan • Neuron dalam satu lapisan akan dihubungkan Keluaran • Kadang muncul juga layer tersembunyi (hidden layer) untuk menambah keakuratan pelatihan • Informasi tersebut bisa dirambatkan secara forward ataupun backward Y1 = X1.W1 + X2.W2 + X3.W3; dst… Istilah dalam JST JST dengan 3 layer • Neuron: sel syaraf tiruan yang merupakan elemen pengolah JST • Jaringan: bentuk arsitektur JST, kumpulan neuron yang saling berhubungan dan membentuk lapisan • Input: sebuah nilai input yang akan diproses menjadi nilai output • Output: solusi dari nilai input • Hidden layer: lapisan yang tidak terkoneksi secara langsung dengan lapisan input atau output, memperluas kemampuan JST • Bobot: nilai matematis dari sebuah koneksi antar neuron • Fungsi aktivasi: fungsi yang digunakan untuk mengupdate nilai-nilai bobot periterasi dari semua nilai input. • Fungsi aktivasi sederhana adalah mengakalikan input dengan bobotnya dan • kemudian menjumlahkannya (disebut penjumlahan sigma) Berbentuk linier atau tidak linier, dan sigmoid • Paradigma pembelajaran: bentuk pembelajaran, supervised learning, atau unsupervised learning 4 07/06/2016 Arsitektur Jaringan Model JST • Multi Layer • Single Layer • Single Layer • Hanya memiliki satu lapisan dengan bobot-bobot terhubung. • Langsung menerima input dan mengolahnya menjadi output tanpa menggunakan hidden layer • Multi Layer • Memiliki satu atau lebih lapisan input, satu atau lebih lapisan output, dan lapisan tersembunyi • • Dapat menyelesaikan masalah yang lebih kompleks karena lebih akurat • Fungsi pembelajarannya lebih rumit • Kompetitive Model / Recurrent Model • Hubungan antar neuron tidak diperlihatkan secara langsung pada Competitive Layer / Recurrent arsitektur • Hubungan antar neuron dapat digambarkan sebagai jaring yang rumit Pengelompokkan JST • JST Feed Forward • Tidak mempunyai loop • Contoh: single layer perceptron, mutilayer perceptron, radial basis function • JST Feed Backward (Recurrent) • Memiliki loop, lapisan output akan memberi input lagi bagi lapisan input • Contoh: competitive networks, kohonen, hopfield, ART Algoritma Pembelajaran Umum • • • • Dimasukkan n data pelatihan Inisialisasi bobot-bobot jaringan, set i = 1 Masukkan contoh ke-i ke dalam input Cari tingkat aktivasi unit output menggunakan algoritma yang ditetapkan • If memenuhi kriteria output then exit else: • Update bobot2 menggunakan fungsi galat error, Bobot baru = bobot lama + delta • If i=n then reset i=1, else i=i+1 Paradigma pembelajaran • Supervised Learning • Kumpulan input berusaha membentuk target output yang sudah diketahui sebelumnya • Perbedaan antara output yang masih salah dengan output yang diharapkan harus sekecil mungkin • Biasanya lebih baik daripada unsupervised • Kelemahan: pertumbuhan waktu komputasi eksponensial, data bnyk berarti semakin lambat • Unsupervised Learning • JST mengorganisasikan dirinya untuk membentuk vektor-vektor input yang serupa tanpa menggunakan data atau contoh-contoh pelatihan, biasanya ke dalam suatu kategori/kelompok2 tertentu • Hibrida Learning • Gabungan antara unsupervised dan supervised JST dan Aplikasi • Klasifikasi: ADALINE, Backpropagation • Pengenalan Pola: ART, Backpropagation • Peramalan: ADALINE, MADALINE, Backpropagation • Optimasi: ADALINE, Hopfield, Boltzman, Backpropagation 5 07/06/2016 Fungsi Aktivasi Fungsi Aktivasi • Fungsi undak biner (hard limit) • Fungsi bipolar • Fungsi undak biner (threshold) • Fungsi bipolar dengan threshold Fungsi Aktivasi McCulloch Pitts • Fungsi aktivasi biner • Besar bobotnya sama • Memiliki threshold yang sama • Fungsi Linier (identitas) Contoh buat fungsi logika “and”, input X1 dan X2, dan Y = 1 jika dan hanya jika inputan 1 X1 X2 1 1 1 0 0 1 0 0 • Fungsi Sigmoid biner Y 1 0 0 0 Jawab X1 X2 net Y, 1 jika net >=2, 0 jika net < 2 1 1 1.1+1.1=2 1 1 0 1.1+0.1=1 0 0 1 0.1+1.1=1 0 0 0 Problem “OR” 0.1+0.1=0 0 Ternyata BERHASIL mengenali pola X 1 X1 X2 net 1 Y 2 X 2 1 Y, 1 jika net >=1, 0 jika net < 1 1 1 1.1+1.1=2 1 1 0 1.1+0.1=1 1 0 1 0.1+1.1=1 1 0 0 0.1+0.1=0 0 X1 1 Y 1 X2 1 Ternyata BERHASIL mengenali pola 6 07/06/2016 Problem “X1 and not(X2)” X1 X2 net Problem “XOR” Y, 1 jika net >=2, 0 jika net < 2 1 1 1.2+1.-1=10 1 0 1.2+0.-1=21 0 1 0.2+1.-1=-1 0 0 0.2+0.-1=00 X1 2 Y 0 2 X2 -1 Ternyata BERHASIL mengenali pola X1 X2 Y 1 1 0 1 0 1 0 1 1 0 0 0 F(0,1) = 1 F(1,1) = 0 F(0,0) = 0 F(1,0) = 1 GAGAL! Solusi Tabel • XOR = (x1 ^ ~x2) V (~x1 ^ x2) • Ternyata dibutuhkan sebuah layer tersembunyi 2 2 X1 Z1 1 -1 Y -1 1 1 X2 Z2 2 2 Jaringan HEBB • • • • • Menggunakan iterasi untuk menghitung bobot dan bias Dalam setiap iterasi, bobot dan bias diubah berdasarkan rumus tertentu W = bobot Wbaru = Wlama + X1Y1 Algoritma: • Init, semua bobot wi = 0 • Untuk semua input: • • • • To Be Continued • • • • Jaringan HEBB Jaringan Perceptron Jaringan Back Propagation Hybrid JST Set fungsi aktivasi xi = si Set output y=t Perbaiki bobot: w(baru) = w(lama) + delta w, dengan delta w = xi*y Perbaiki bias, b(baru) = b(lama) + y 7