Jaringan Syaraf Tiruan

Embed Size (px)

DESCRIPTION

jaringan syaraf tiruan, sejarah JST, klasifikasi jst, dll

Citation preview

  • Jaringan Syaraf TiruanPKB - Antonie

  • Biological InspirationAnimals are able to react adaptively to changes in their external and internal environment, and they use their nervous system to perform these behaviours.The nervous system is build by relatively simple units, the neurons, so copying their behavior and functionality should be the solution.

  • Human BrainBertugas untuk memproses informasiSeperti prosesor sederhanaMasing-masing cell tersebut berinteraksi mendukung kinerja otakSetiap sel (neuron) memiliki satu nukleus (soma), bertugas memproses informasi, informasi diterima oleh dendrit, dan disebarkan melalui aksonPertemuan informasi antar syaraf berada di sinapsis

  • Human BrainManusia 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 meresponHubungan antar syaraf terjadi secara dinamisOtak manusia memiliki kemampuan untuk belajar dan beradaptasiMampu mengenali pola, wajah, mengkontrol organ tubuh!

  • Human NeuronDendritesSoma (cell body)Axon

  • Human Neuron (Detail)synapsesaxondendrites

  • Human BrainNeuron merupakan sistem yang fault toleranceDapat mengenali sinyal input yang berbeda dari sebelumnyaDapat mengenali orang yg blm pernah ditemui hanya dengan melihat dari fotoDapat mengenali orang yang berubah krn tua misalnyaTetap dapat bekerja walau beberapa neuronnya rusak, neuron lain dapat tumbuh dan dilatih

  • Learning in biological systemsLearning = learning by adaptation

    The young animal learns that the green fruits are sour, while the yellowish/reddish ones are sweet. The learning happens by adapting the fruit picking behavior.

    At the neural level the learning happens by changing of the synaptic strengths, eliminating some synapses, and building new ones.

  • Learning as optimisationThe objective of adapting the responses on the basis of the information received from the environment is to achieve a better state. E.g., the animal likes to eat many energy rich, juicy fruits that make its stomach full, and makes it feel happy.

    In other words, the objective of learning in biological organisms is to optimise the amount of available resources, happiness, or in general to achieve a closer to optimal state.

  • JSTSuatu sistem pemrosesan informasi yang mencoba meniru kinerja otak manusiaMerupakan generalisasi model matematis dengan asumsi:Pemrosesan informasi terjadi pada elemen sederhana (=neuron)Sinyal dikirimkan diantara neuron-neuron melalui penghubung (=dendrit dan akson)Penghubung antar elemen memiliki bobot yang akan menambah atau mengurangi sinyalUntuk menentukan output, setiap neuron memiliki fungsi aktivasi (biasanya non linier) yang dikenakan pada semua inputBesar output akan dibandingkan dengan threshold

  • JSTBaik tidaknya suatu model JST ditentukan oleh:Pola antar neuron (arsitekur jaringan)Metode untuk menentukan dan mengubah bobot (disebut metode learning)Fungsi aktivasiJST disebut juga: brain metaphor, computational neuroscience, parallel distributed processing

  • JSTJST dapat belajar dari pengalaman!Biasanya berhubungan dengan angka (numerik) sehingga data yang tidak numerik harus dibuat ke numerikTidak 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!

  • Kelebihan JSTMampu mengakuisisi pengetahuan walau tidak ada kepastianMampu melakukan generalisasi dan ekstraksi dari suatu pola data tertentuJST dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan belajar (self organizing)Memiliki fault tolerance, gangguan dapat dianggap sebagai noise sajaKemampuan perhitungan secara paralel sehingga proses lebih singkat

  • JST mampu:Klasifikasi: memilih suatu input data ke dalam kategori tertentu yang sudah ditetapkanAsosiasi: menggambarkan suatu obyek secara keseluruhan hanya dengan bagian dari obyek lainSelf organizing: kemampuan mengolah data-data input tanpa harus mempunyai targetOptimasi: menemukan suatu jawaban terbaik sehingga mampu meminimalisasi fungsi biaya

  • Kelemahan JSTKurang mampu untuk melakukan operasi operasi numerik dengan presisi tinggiKurang mampu melakukan operasi algoritma aritmatik, operasi logika dan simbolisLamanya proses training yang mungkin terjadi dalam waktu yang sangat lama untuk jumlah data yang besar

  • Aplikasi JSTPengenalan pola (pattern recognition)Huruf, tanda tangan, suara, gambar yang sudah sedikit berubah (mengandung noise)Identifikasi pola sahamPendeteksian uang palsu, kankerSignal ProcessingMenekan noise pada saluran teleponPeramalanPeramalan sahamAutopilot dan simulasiKendali otomatis otomotif

  • Aplikasi JSTTasks to be solved by artificial neural networks: controlling the movements of a robot based on self-perception 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.

  • SejarahModel JST formal pertama diperkenalkan oleh McCulloch dan Pitts (1943)1949, Hebb mengusulkan jaringan Hebb1958, Rosenblatt mengembangkan perceptron untuk klasifikasi pola1960, Widrow dan Hoff mengembangkan ADALINE dengan aturan pembelajaran Least Mean Square (LMS)1974, Werbos memperkenalkan algoritma backpropagation untuk perceptron banyak lapisan

  • Sejarah1982, Kohonen mengembangkan learning unsupervised untuk pemetaan1982, Grossberg dan Carpenter mengembangkan Adaptive Resonance Theory (ART, ART2, ART3)1982, Hopfield mengembangkan jaringan Hopfield untuk optimasi1985, Algoritma Boltzmann untuk jaringan syaraf probabilistik1987, dikembangkan BAM (Bidirectional Associative Memory)1988, dikembangkan Radial Basis Function

  • Model Neuron JSTBobotY1 = X1.W1 + X2.W2 + X3.W3; dst

  • Model NeuronPada JST, neuron-neuron akan dikumpulkan dalam lapisan lapisan yang disebut dengan layersNeuron dalam satu lapisan akan dihubungkan dengan neuron pada lapisan lainnyaKadang muncul juga layer tersembunyi (hidden layer) untuk menambah keakuratan pelatihanInformasi tersebut bisa dirambatkan secara forward ataupun backward

  • Istilah dalam JSTNeuron: sel syaraf tiruan yang merupakan elemen pengolah JSTJaringan: bentuk arsitektur JST, kumpulan neuron yang saling berhubungan dan membentuk lapisanInput: sebuah nilai input yang akan diproses menjadi nilai outputOutput: solusi dari nilai inputHidden layer: lapisan yang tidak terkoneksi secara langsung dengan lapisan input atau output, memperluas kemampuan JSTBobot: nilai matematis dari sebuah koneksi antar neuronFungsi aktivasi: fungsi yang digunakan untuk mengupdate nilai-nilai bobot per-iterasi dari semua nilai input.Fungsi aktivasi sederhana adalah mengakalikan input dengan bobotnya dan kemudian menjumlahkannya (disebut penjumlahan sigma)Berbentuk linier atau tidak linier, dan sigmoidParadigma pembelajaran: bentuk pembelajaran, supervised learning, atau unsupervised learning

  • JST dengan 3 layer

  • Arsitektur JaringanSingle LayerHanya memiliki satu lapisan dengan bobot-bobot terhubung.Langsung menerima input dan mengolahnya menjadi output tanpa menggunakan hidden layerMulti LayerMemiliki satu atau lebih lapisan input, satu atau lebih lapisan output, dan lapisan tersembunyiDapat menyelesaikan masalah yang lebih kompleks karena lebih akuratFungsi pembelajarannya lebih rumitKompetitive Model / Recurrent ModelHubungan antar neuron tidak diperlihatkan secara langsung pada arsitekturHubungan antar neuron dapat digambarkan sebagai jaring yang rumit

  • Model JSTSingle LayerMulti LayerCompetitive Layer / Recurrent

  • Pengelompokkan JSTJST Feed ForwardTidak mempunyai loopContoh: single layer perceptron, mutilayer perceptron, radial basis functionJST Feed Backward (Recurrent)Memiliki loop, lapisan output akan memberi input lagi bagi lapisan inputContoh: competitive networks, kohonen, hopfield, ART

  • Paradigma pembelajaranSupervised LearningKumpulan input berusaha membentuk target output yang sudah diketahui sebelumnyaPerbedaan antara output yang masih salah dengan output yang diharapkan harus sekecil mungkinBiasanya lebih baik daripada unsupervisedKelemahan: pertumbuhan waktu komputasi eksponensial, data bnyk berarti semakin lambatUnsupervised LearningJST mengorganisasikan dirinya untuk membentuk vektor-vektor input yang serupa tanpa menggunakan data atau contoh-contoh pelatihan, biasanya ke dalam suatu kategori/kelompok2 tertentuHibrida LearningGabungan antara unsupervised dan supervised

  • Algoritma Pembelajaran UmumDimasukkan n data pelatihanInisialisasi bobot-bobot jaringan, set i = 1Masukkan contoh ke-i ke dalam inputCari tingkat aktivasi unit output menggunakan algoritma yang ditetapkanIf memenuhi kriteria output then exitelse:Update bobot2 menggunakan fungsi galat error, Bobot baru = bobot lama + deltaIf i=n then reset i=1, else i=i+1

  • JST dan AplikasiKlasifikasi: ADALINE, BackpropagationPengenalan Pola: ART, BackpropagationPeramalan: ADALINE, MADALINE, BackpropagationOptimasi: ADALINE, Hopfield, Boltzman, Backpropagation

  • Fungsi AktivasiFungsi undak biner (hard limit)

    Fungsi undak biner (threshold)

  • Fungsi AktivasiFungsi bipolar

    Fungsi bipolar dengan threshold

  • Fungsi AktivasiFungsi Linier (identitas)

    Fungsi Sigmoid biner

  • McCulloch PittsFungsi aktivasi binerBesar bobotnya samaMemiliki threshold yang sama

    Contoh buat fungsi logika and, input X1 dan X2, dan Y = 1 jika dan hanya jika inputan 1

    X1X2Y111100010000

  • JawabX1X2net Y, 1 jika net >=2, 0 jika net < 2111.1+1.1=21101.1+0.1=10010.1+1.1=10000.1+0.1=00

    Ternyata BERHASIL mengenali pola

  • Problem ORX1X2net Y, 1 jika net >=1, 0 jika net < 1111.1+1.1=21101.1+0.1=11010.1+1.1=11000.1+0.1=00

    Ternyata BERHASIL mengenali pola

  • Problem X1 and not(X2)X1X2net Y, 1 jika net >=2, 0 jika net < 2111.2+1.-1=10101.2+0.-1=21010.2+1.-1=-10000.2+0.-1=00

    Ternyata BERHASIL mengenali pola

  • Problem XORX1X2Y110101011000

    GAGAL!

  • SolusiXOR = (x1 ^ ~x2) V (~x1 ^ x2)Ternyata dibutuhkan sebuah layer tersembunyi

  • Tabel

  • Jaringan HEBBMenggunakan iterasi untuk menghitung bobot dan biasDalam setiap iterasi, bobot dan bias diubah berdasarkan rumus tertentuW = bobotWbaru = Wlama + X1Y1Algoritma:Init, semua bobot wi = 0Untuk semua input:Set fungsi aktivasi xi = siSet output y=tPerbaiki bobot: w(baru) = w(lama) + delta w, dengan delta w = xi*yPerbaiki bias, b(baru) = b(lama) + y

  • To Be ContinuedJaringan HEBBJaringan PerceptronJaringan Back PropagationHybrid JST