Pengenalan Pola Berbasis Neural Network - EL 424 Budi Rahardjo Jurusan Teknik Elektro ITB
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Intro Kuliah ini merupakan bagian dari kuliah pengenalan pola (pattern recognition) secara utuh. Bagian ini hanya membahas Artificial Neural Network (ANN) - Jaringan Syaraf Tiruan Dikarenakan banyak yang belum mengenal neural nets, maka kuliah akan dimulai dengan introduction 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Pentingnya Neural Computing Jenis komputasi baru yang diharapkan dapat mengatasi kelemahan sistem komputasi konvensional yang berbasis von Neumann machine. 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo John Louis von Neumann 1903 - 1957 Mencetuskan “von Neumann architecture” yang menjadi basis dari sisten komputer modern (saat ini) http://ensiklomedia.insan.co.id 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Von Neumann architecture Contol unit Arithmetic unit (ALU) Internal bus Intenal (main) memory Input/output unit (I/O unit) Central Processing Unit (CPU) External bus Secondary memory (magnetic wire) Teletype (keyboard/printer) CRT graphics display 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Kelebihan von Neumann machines Fast arithmetic Doing precise what the programmers programm them to do 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Kelemahan von Neumann machines Peka terhadap noise. Data struktur harus dalam format yang precise Sulit mengimplementasikan massive parallelism Tidak fault tolerant. (Misal memory rusak, program berantakan.) Sulit beradaptasi dengan keadaan 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Latar Belakang Neural Computing Melihat kemampuan manusia dalam memproses informasi, mengenal wajah, tulisan, dsb. Melihat wajah dari sudut pandang yang belum pernah dialami sebelumnya. Bahkan anak-anak dapat melakukan hal tsb. Masih belum tahu algoritma yang digunakan. Melihat analogi biologis. Otak manusia berisi kira-kira 20 billion (210) nerve cells. 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Latar belakang (2) Dipercayai bahwa kekuatan komputasi otak terletak pada hubungan antar nerve cells, hierarchical organization, firing characteristics, banyaknya jumlah hubugnan 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Harapan atas Neural Comp. Membantu dalam pemecahan masalah yang Algoritmanya tidak diketahui secara pasti memiliki banyak contoh ingin diketahui strukturnya dari contoh-contoh tsb. 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Arsitektur Komputasi Neural Memiliki beberapa hal yang menarik komputasi lokal,adaptive interaction between elements paralel simple processing elements high degree of interconnections masalah sering direpresentasikan dalam struktur memungkinkan implementasi hardware (VLSI, optical) Biological computation? 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Physical Neuron (1) 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Physical Neuron (2) 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Physical Neuron (3) Komponen utama biological neuron Soma Axon (output) Dendrites (input) Synapse: hubungan axonic nerve fiber dengan soma atau dendrite dari neuron lain Sebuah neuron memiliki 1000 s/d 10.000 synapes 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Aplikasi ANN Business applications predict movement of stocks marketing Other applications signature analysis (implemented in chip) Pen PC, writing -> ASCII Speech and vision recognition systems Process control 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Definisi ANN A Neural Network is an interconnected assemply of simple procesing elements / units / nodes, whose functionality is loosely based on the animal neuron. The processing ability of the network is stored in the inter-unit connection strengths, or weights, obtained by a process of adaptation to, or learnig from, a set of training patterns. K. Gurney@aivru.shef.ac.uk - http://www.shef.ac.uk/psychology/gurney/notes 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Konsep Dasar Artificial Neural Computing 1 if x1*w1 + x2*w2 + x3*w3 + bias * wb > 0 0 if x1*w1 + x2*w2 + x3*w3 + bias * wb <= 0 x1 w1 x2 w2 x3 w3 Processing Unit Linear Threshold Unit wb bias input 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Konsep Dasar (2) Contoh sebelumnya: output = activation level, umumnya tidak harus begitu (ada processing lagi) Processing hanya berbentuk threshold, dimana dalam contoh menggunakan 0 (nol). Threshold bisa Perceptron, single layer 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Konsep Dasar (3) ANN sederhana dapat digunakan untuk mengklasifikasikan pola ke dalam 2 kelas Vektor input x, diberikan oleh x1, x2, … xn, adalah input stimulus yang mewakili atribut (feature). Feature: intensitas cahaya (visual) spektrum power (gelombang suara) temperatur, kelembaban (besaran fisik lainnya) umur, penghasilan, pengeluaran (pemohon kredit) 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Perceptron Learning rule Change the weigth by an amount proportional to the difference between the desired output and the actual output wi = Є * (D-Y) Ii Є = learning rate D = desired output Y = actual output 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Perceptron (2) Setelah stabil, (D-Y) = 0 Hasilnya (untuk 2 input): decision surface line I1 = (w0 / w1) . I0 + (wb / w1) I1 I0 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Processing Unit Menentukan output berdasarkan activation level Threshold Sigmoid function Gaussian 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Processing Unit (2) Sigmoid function dengan berbagai harga k 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Multi-Layer x1 x2 x3 bias input layer hidden layer output layer 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Learning Hebbian rule Jika dua cells fire pada saat yang bersamaan, hubungan antar keduanya (strength of connection) harus ditingkatkan. Macam-macam caranya, misalnya meningkatkan bobot hubungan berdasarkan activation level wij = Є ai aj 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Learning (2) Delta rule: Ubah weight sesuai sehingga mengurangi kesalahan (perbedaan antara activation level yang diinginkan dan yang diperoleh). Sering juga disebut Widrow-Hoff (1960) learning rule atau Least Mean Square (LMS) rule. wij = Є ei aj error for unit i: ei = tj - aj 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Learning (3) Contoh halaman 87-88 buku PDP Solusi dapat terjadi jika ada set dari weights yang memecahkan solusi itu. Syaratnya adalah yang disebut linear predictability constraints 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Hidden Units Sebelumnya telah dibahas pattern associator, dan delta rule. Jika output berupa linear threshold unit, maka disebut perceptron. Jika pure linear, disebut Least Mean Square (LMS) associator. Ada theorems: pattern classification. Input bisa diklasifikasikan menjadi dua kelas. 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Hidden Units (2) Perceptron learning rule: Net input = sum dari wi ii Jika net > threshold, unit turn on Respon dibandingkan. Jika kategori betul, no change Jika output turn on padahal mestinya 0, maka threshold + 1. Jika input ii = 0, tidak ada perubahan wi, tapi jika ii =1, maka wi dikurangi 1. Jika output turn off padahal mestinya 1, maka sebaliknya, threshold dikurangi and weight ditambah. 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Hidden Units (3) Minsky & Papert (1969) membunuh Perceptron dengan contoh bahwa sistem ini tidak dapat memecahkan masalah XOR Inequalities yang harus dipecahkan: pp. 123 Tidak linearly separable di dua dimensi Harus menggunakan 3 dimensi 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Hidden Units Ada unit yg tidak terhubung ke input/output Bagaimana cara belajarnya? 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Minimizing Mean Square Error LMS procedure, latar belakang Error function, must be minimized. Setelah setiap pattern dipresentasikan, error dari pattern dihitung, dan weigh di “moved down” mengikuti error gradient mendekati harga minimum untuk pattern tersebut. 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
Minimizing Mean Square Error Gradient Decent: make a change in the weight proportional to the negative dreivative of the error, as measured on the current pattern with respect to each weignt 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo
EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo Referensi Buku James L. McCLelland and David E. Rumelhart, “Explorations in Parallel Distributed Processing,” MIT Press, 1988. ISBN: 0-262-63113-X(pbk.) Introduction http://www.cs.stir.ac.uk/~lss/NNIntro/ 1999-2000 v1.1 EL-424 Pengenalan Pola dengan Neural Nets - Budi Rahardjo