400 likes | 671 Views
Jaringan Syaraf Tiruan (Artificial Neural Networks). KECERDASAN BUATAN (Artificial Intelligence) Materi 2. Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011. Otak Manusia. Manusia bisa belajar dari pengalaman .
E N D
JaringanSyarafTiruan (Artificial Neural Networks) KECERDASAN BUATAN(Artificial Intelligence) Materi 2 Eko Prasetyo TeknikInformatika Univ. Pembangunan Nasional Veteran JawaTimur 2011
OtakManusia • Manusiabisabelajardaripengalaman. • Belajarmengenalisuhu air: panas, dingin, hangat • Belajarmengurus STNK, SIM • Belajarberhitung • Manusiadapatmerasakan rasa sakit, geli, capek, dsbkarenaadanya stimulus yang dikirimkeotak, kemudianotakmenjawabdenganmembangkitkansuatuperasaan/rasa: senang, sedih, manis, asam, dsb. Manusiadapatberadaptasidengansesuatu yang baru (belumpernahdikenalnya) untukdigeneralisasikan • Biasanyamakannasi, singkong, dsbkemudianmerasakanmakanankeju, pizza • Campurangula 1 sendokdengangaram 2 sendok. • Otakadalahsistempemrosesaninformasi yang sangatkompleks, nonlinear, danparalel.
JaringanSyarafTiruan Diilhamidarisistemkerjaotakmanusia. Otakmanusiaterdiridarisejumlahselsyaraf yang salingterhubung, selsyaraftersebutadalah unit pemrosesinformasi, disebutNeuron. Otakmanusiaterdiridarisekitar 10 milyar neuron dan 60 triyunkoneksiantar neuron Synapses(Shepherd and Koch, 1990) Menggunakanbanyakneouronsecarasimultan, otakdapatmengerjakanfungsinyalebihcepatdaripadakomputertersepatsaatini. Sebuah neuron terdiridarisebuahbadansel, soma, sejumlahserat yang disebutdendrit, dansebuahseratpanjangtunggaldisebutaxon. Sedangkandendritbercabangmembentukjaringanseperti soma, axon meregangmenujudendritdan soma dari neuron lain.
Pemodelan Neuron • Neuron adalah unit pemrosesaninformasi yang merupakandasaroperasijaringansyaraf. • Tigaelemendasar : • Sejumlah (himpunan) synapses atau connecting links, • Masing-masingdikarakterkanolehbobot (weight) ataukekuatan (strength) daridirinyasendiri. • Sinyalxjpada input synapse jdihubungkanke neuron kdikalikanolehbobot synaptic wkj. • Dalambobotwkj, kmengacu neuron yang terhubung, sedangkanjmengacupadaakhir input dari synapse dimanabobotdigunakan • SebuahAdder • Untukpenjumlahansinyal input, • Dimuatiolehhasil synapses dari neuron • Sebuahfungsiaktivasi (activation function) • Untukpembatasan amplitude dari output neuron. • Fungsiaktivasiinidisebutjugadengansquashing function yang melakukanpembatasan range amplitude yang diijinkandarisinyal output padabeberapabatasnilai Normalisasi range amplitude dari output neuron ditulismenjadi interval unit [0,1] atau [-1,1] • Unsureksternal BIAS • Bias bkmempunyaipengaruhdalammeningkatkanataumenurunkan input net darifungsiaktivasi, tergantungnilaidarinilai bias apakahpositifataunegatif. • Jikapositifakanmeningkatkan, danjikanegatifakanmenurunkan • Nilai input vektor Bias selalu 1
Pemodelan Neuron • Input darisemuavektordihitungolehsetiap neuron (didalamAdder) denganpersamaan: • x adalahvektor input • w adalahbobot (synapse) • m adalahjumlah input sebuahvektor x • u adalahhasilperhitungansinyal input kesebuah neuron • k adalah neuron ke-k • Untuk JST yang mengunakan Bias, persamaan adder akanditambahvektor Bias x0 (sebesar 1) denganbesarbobot Bias sebesar w0, menjadi : vk = uk + x0.w0 • Nilaiukkemudiandilakukanaktivasimenggunakanfungsiaktivasi : Yk = sign(vk) • NilaiYkadalahkeluaran (output) JST darisebuah neuron k Analogi
Bias • Dalambagiantertentu, tergantungpadasaat bias bkpositifataunegatif, hubunganantarainduced local fieldatauactivation potential vkdari neuron kdan combiner linear output ukdiubahsepertipadagambar x, disinisetelahdigunakannya “induced local field”. • Bias bkadalah parameter eksternaldari neuron buatank • pengaruh bias dihitunguntukmelakukanduahal : • (1) menambahkansinyal input lain dengannilaitetap +1; • (2) menambahkanbobot synaptic baru yang samadengan bias bk.
FungsiAktivasi • Mendefinisikan output neuron dalamdaerahinduced local field v • Adatigajenisfungsiaktivasidasar : • FungsiIdentitas (Identity Function)/Linear • Fungsi Piece-wise (Piece-wise Linear Function) • Fungsi Threshold (Threshold Function) • Threshold Biner • Threshold Bipolar • Fungsi Sigmoid (Sigmoid Function) • Sigmoid Biner • Sigmoid Bipolar Fungsiidentitas Fungsi Piece-wise
FungsiAktivasi • Fungsi Threshold Biner (step) • Fungsi Threshold Bipolar (sign) • Fungsi Sigmoid Biner • Fungsi Sigmoid Bipolar Threshold Biner Sigmoid Bipolar Threshold Bipolar Sigmoid Biner
Model JST McCulloch-Pitts • Operasi OR • FA adalah threshold • Threshold = 2 • Operasi AND • FA adalah threshold • Threshold = 2
Operasi AND • FungsiAktivasi Threshold biner • Threshold = 2 • Y = 1, jika v ≥ 2 • Y = 0, jika v < 2 • Hasil Y samadengan target JST dapatmengenalipoladenganbenar
Operasi OR • FungsiAktivasi Threshold biner • Threshold = 2 • Y = 1, jika v ≥ 2 • Y = 0, jika v < 2 • Hasil Y samadengan target JST dapatmengenalipoladenganbenar
Operasi AND (dengan Bias) • FungsiAktivasi Threshold biner • Threshold = 0 • Y = 1, jika v ≥ 0 • Y = 0, jika v < 0 • Hasil Y samadengan target JST dapatmengenalipoladenganbenar
JaringanFeedForward • Dalam JST berlayer, neuron diorganisasikandalambentuk layer. • Bentuk yang paling sederhanadarijaringanberlayer, dimilikiadanyainput layer(lapis masukan) dari node sumber yang diproyeksikanpadaoutput layer (lapis keluaran) neuron (computation node/node penghitung), tetapitidaksebaliknya. • Jaringaninidisebutfeedforwardlurusatauacyclic. • Jaringansepertiinidisebutsingle-layer network, denganpendesainan “single-layer” diartikanpada layer output dari node (neuron) komputasi. • Layer input dari node sumbertidakdihitungkarenatidakadakomputasi yang dilakukandisana JST Feedfordward Lapis Tunggal (Single-Layer Feedforward Networks)
JaringanFeedForward – Cont’d JST feedforward yang membedakandirinyadenganadanyasatuataulebihhidden layers (lapis tersembunyi), dimana node komputasijugadihubungkandenganapa yang disebuthidden neurons (neuron tersembunyi) atauhidden units. Fungsidari neuron tersembunyimenjadiperantaraantara input eksternaldan output jaringandengansuatukegunaantertentu. Denganmenambahkansatuataulebih layer tersembunyi, jaringanakandapatmengeluarkanstatistik yang tinggi yang dalamhaltertentudapatbernilaiketikaukurandari layer input sangatbesar JST 10-4-2 JST Feedfordward Lapis Jamak (Multi-Layer Feedforward Networks)
PelatihanJaringanSyarafTiruan • Karena JST awalnyatidakdapatmemahamipolamasukandanpolakeluaran, makaprosespelatihanperludiberikanpada JST. • Padasaatprosespelatihanitulah, terjadipenyesuaianbobotsehinggasetiappolamasukandapatterpetakandenganbenarkepolakeluaran yang seharusnya. Sehingga JST dapatmengenalipolamasukanuntukmemberikankeluaransepertipelajaran yang pernahdidapatkannya. • Propertipentingdalamjaringansyarafadalah : • Kemampuanjaringanuntukbelajardarilingkungan, • Meningkatkankinerjanyaselamaprosespembelajaran. Peningkatankinerjainimembutuhkanwaktu yang lebihdenganbeberapaaturan yang sudahdiberikan. • Jaringansyarafmempelajarilingkungannyaselamaprosesinteraktifdalampenyesuaian yang diterapkanpadabobot synaptic dan level bias. • Idealnya, jaringanmenjadilebihpaham (pintar) mengenalilingkungannyasetelahtiapiterasiprosespelatihan/pembelajaran.
PelatihanJaringanSyarafTiruan – Cont’d • Definisipelatihan/pembelajarandalamkonteksjaringansyarafmenurut Mendel danMcClaren (1970): • Pelatihan/pembelajaranadalahprosesdimana parameter bebasjaringansyarafdiadaptasiselamaprosessimulasiolehlingkungandimanajaringanditempatkan. Jenispelatihanditentukanolehcaradimanaperubahan parameter membutuhkantempat. • Prosespelatihaninimengimplikasikanurutankejadianberikut : • Jaringansyarafdistimulusolehlingkungan • Jaringansyarafmengalamiperubahanpada parameter bebassebagaihasildaristimulasiini • Jaringansyarafmenhasilkancarabaruuntukmengenalilingkungankarenaperubahan yang terjadidalamstruktur internal. • Prosespelatihaninidilakukanselamawaktutertentusampaimendapatkankondisikonvergen yang diinginkan : • Tidakadaperubahanpadabobot • Polasudahdapatdikenalidenganbenar • Jumlahiterasipembelajaransudahtercapai • Beberapateknikpembelajaran yang dibuatolehparaahli, misalnya : single layer perceptron, multi layer perceptron, back-propagation, dsb.
PelatihanJaringanSyarafTiruan – Cont’d Neuron kditentukanolehvektorsinyalx(n) Argumennmenyatakanwaktudiskritataulebihtepatnyalangkahwaktuproses iterative dalampenyesuaianbobot synaptic neuron k. Sinyal output neuron kdinyatakanolehyk(n). Sinyal output, yang merepresentasikankeluaranjaringansyaraf, dibandingkandengandesired response atauoutput target (target/hasil yang diinginkan) yang dinyatakanolehdk(n). Konsekuensinya, sebuaherror signal (sinyal error), dinyatakanolehek(n) akandihasilkan, sebagaihasildari formula Error signal (sinyal error), dinyatakanolehek(n) , dimana ek(n) = dk(n) – yk(n)
PelatihanJaringanSyarafTiruan – Cont’d • Padasetiapiterasipelatihandilakukanperubahan/penyesuaianbobot agar JST dapatmengenalipola (lingkungan), menurutaturan delta (Delta Rule) : • wkj(n) = ek(n) xj(n) • adalahlajupelatihan (learning rate), nilainya 0 < < 1 • E adalah error (selisihantara target denganhasil yang didapat) • xadalahvektormasukan • wkj(n + 1) = wkj(n) + wkj(n)
PelatihanJaringanSyarafTiruan – Cont’d • AlgoritmaPembelajaranPerceptron yang diusulkan Rosenblatt (1960) untukmelakukanklasifikasi: • Langkah 1: Inisialisasi • Tetapkaninisialisasiuntuk threshold (jikamenggunakanfungsiaktivasi Threshold) • Tetapkaninisialisasibobotdenganpembangkitansecaraacak. Range nilaiumumnya [-0.5, 0.5]. • Tetapkannilailajupembelajaran • Langkah 2: Aktivasi • LakukanaktivasiperceptrondenganmenerapkansetiapvektordenganYn = sign(vn) • Langkah 3: Training Bobot • Ubahbobotperceptronwkj(n + 1) = wkj(n) + wkj(n) • Dimanawkj(n) adalahkoreksibobotpadaiterasike-n • dimanawkj(n) = ek(n) xj(n) Delta Rule • Langkah 4: Iterasi • Naikkaniterasi n satulangkah, kembalikelangkah 2 danulangiprosessampaisyaratkonvergensitercapai.
JenisPembelajaran • Pembedadiantarajenispembelajaranadalah formula perhitunganwkj(n) = ek(n) xj(n) • d = target y = hasilkeluaranfungsiaktivasi v = sebelumaktivasi • Perceptron (terawasi/supervised) • ek(n) = d - y • wkj(n) = ek(n) xj(n) • Hebbian (tidakterawasi/unsupervised) • ek(n) = y • wkj(n) = ek(n) xj(n) • Delta (terawasi/supervised) • Sinyal error = ½ (target – hasil)2 • ek(n) = (d – y) * sign’(v) • sign’(v) adalahdifferensialfungsiaktivasi • wkj(n) = ek(n) xj(n) • Untukfungsiaktivasi sigmoid binerdengana=1, differensial sign(v) terhadap w menghasilkan : sign’(v) = y(1-y) • Untukfungsiaktivasi sigmoid bipolar dengana=1, differensial sign(v) terhadap w menghasilkan : sign’(v) = ½(1-y2)
JenisPembelajaran • Widrow-Hoff • Menggunakanfungsiaktivasi Linier – Fungsiaktivasitidakberpengaruhdalamprosespebelajaran • ek(n) = d - v • wkj(n) = ek(n) xj(n) • Back-propagation • Correlation • Winner Take All • Self Organizing Map (SOM) • Dsb.
Bagaimanamembuat JST Perceptron yang dapatmengenalioperasi AND, OR, dan XOR ? • Perceptronharusdilatihuntukdapatmemetakansetiappolamasukan (mis. 2 masukanoperasi AND) kepolakeluaran yang sesuai. • Misal : polamasukan 1 dan 1 menghasilkan 1, polamasukan 1 dan 0 menhasilkan 0, dsb. • Setelahinisialisasi (membangkitkanbobot, penentuanfungsiaktivasi, lajupembelajaran), barulahdilakukanpembelajarandenganalgoritmadiatasuntuksetiappola yang harusdipelajari epoch • Bobotdi-update teruspadasetiappelatihan (ketikaterjadi error) sampaikonvergen, dimana error sudahtidakterjadi (dibawahambangbatas)
JST Perceptronuntukkasus AND (Cara 1) Bobotawal : 0.3 dan -0.1 Learning rate : 0.1 Fungsiaktivasi : Threshold () biner = 0.2
JST Perceptronuntukkasus AND (Cara 1) Bobotawal : 0.3 dan -0.1 Learning rate : 0.1 Fungsiaktivasi : Threshold () biner = 0.2
JST Perceptronuntukkasus AND (Cara 2) Bobotawal : 0 dan 0 Bias : 0 Learning rate : 1 Fungsiaktivasi : Threshold () biner = 0
JST Perceptronuntukkasus AND (Cara 2) Hasilbobotakhir : 1 dan 2 Bias : -3
AND (Pengujian) • Pengujianjaringanuntukmengenalipolavektor yang telahdilatihkan. • Terlihatbahwanilaikeluaran (y) padapengujiankeempatvektormemberikanhasil yang samadengannilai target (d). • Sehinggadapatdisimpulkanbahwajaringanberhasilmempelajaripolavektormasukan.
AND, OR, XOR • Dengancara yang sama, kitabisamembuat JST untukmelakukanoperasi OR. • JST single layer tidakakanbisamenyelesaikankasus XOR ! Mengapa ? • Penyebab : • Pelatihanperceptron (hampirsemuateknikpengenalanpola) sebenarnyaadalahfungsi linear. • Fungsi linear hanyabisamemisahkan data dalamkelas yang sifatnyapengelompokannyaadalah linear. • Operasi AND dan OR dapatdipisahkandengansebuahgarislurus, sedangkan XOR tidakbisa. • Inilahpenyebabkasus XOR tidakdapatdiselesaikandengan single layer perceptron. • A XOR B = (A OR B) AND NOT(A AND B)
Mengapapelatihanperceptron single layer hanyaberlakuuntuk data yang terpisahsecara linear ? • Persamaanperceptron : • Keluaranperceptron Y=1 hanyajika total bobotmasukanlebihbesaratausamadengannilai threshold • Misal : untukpersamaanoperasi AND menggunakanpersamaax1w1+ x2w2= • Menuruthasilcara 1, garispemisahadalah 0.1x1 + 0.1x2 = 0.2 • Ataux1 + x2 = 2 • Makadaerah 0 (nol) dibawahgaris, diberikanoleh : x1 + x2 -2 < 0 • Daerah 1 diatasgarisdiberikanoleh : x1 + x2 -2 ≥ 0 • Faktabahwaperceptronhanyadapatmempelajarifungsi linear merupakankelemahan, tetapibanyakkelebihan yang sudahditawarkan. • Untukmenanganifungsi non-linear, umumnyamenggunakan multi layer perceptrondengansejumlahpembatasanseperti yang disampaian Rosenblatt, menggunakanalgoritma Back-propagation.
Contohkasus Temukan nilai bobot dan bias dimana hasil dalam single-neuron perceptrons dengan batasan keputusan yang terpilih. Kemudianlakukanpengujiansemuavektorpadabobotdan bias yang didapatkanuntukmemverifikasi. Asumsikanbahwafungsiaktivasi yang digunakanadalah threshold biner (step) dengannilai threshold 0 (nol). Tandatitikterangmenunjukkan target kelasadalah 1 (terang) dantandatitikgelapmenunjukkan target kelasadalah 0 (gelap). Gunakanlajupembelajaran: 0.1
JST Delta • Algoritmajaringan Delta (Mc ClellanddanRumelhart, 1986) diaplikasikandalamparadigmapembelajaranterawasi (supervised) • Hampirselaludigunakanuntukfungsiaktivasiberupafungsikontinyu. • JaringanDelta disebutjugasebagaijaringanpembelajaranperceptronkontinyu • Dapatditurunkanuntukaplikasijaringansyaraftiruan lapis jamak (sepertijaringan Error Backpropagationdanvarian-variannya). • Tipepembelajaranfeedforward (maju) denganparadigmapembelajaranterawasi (supervised) denganlajupembelajaranadalah. • Sinyalerror e : nilaiperbedaanantara target dkdengansinyalkeluaranykdikalikandengannilaidifferensialdariyk.
JST Delta • Inisialisasibobotwkbisadiberinilaiawal 0 / nilaiacak yang kecilantara -0.5 sampaidengan +0.5. • Prosespelatihansangattergantungkepadanilaisinyal error e yang diharapkanterusmenurundanmencapai target maksimal error yang diinginkan, umumnyakecilsekitar 0.001 ataulebihkecil. • Prosespelatihanakandihentikanketika error yang didapatkanpadasaatpelatihanmencapai target atautelahmencapaisejumlahiterasi (epoch) yang diinginkan • Sinyal error ξ = ½ (target – hasil)2 • ek(n) = (d – y) * sign’(v) • sign’(v) adalahdifferensialfungsiaktivasi • wkj(n) = ek(n) xj(n) • Untukfungsiaktivasi sigmoid binerdengana=1, differensial sign(v) terhadap w menghasilkan : sign’(v) = y(1-y) • Untukfungsiaktivasi sigmoid bipolar dengana=1, differensial sign(v) terhadap w menghasilkan : sign’(v) = ½(1-y2)
Kasusoperasilogika AND dengan JST Delta • Sebuahjaringan delta single neuron keluaranuntukmengenalifungsilogika AND dengandua neuron masukan, vektormasukannyaadalahsebagaiberikut : • x1T = [1 1] • x1T = [1 0] • x1T = [0 1] • x1T = [0 0] • Targetnyaadalahdk = [1 0 0 0], • BobotawaladalahwT = [0 0] dan bias 0. • Fungsiaktivasi yang digunakanadalah sigmoid binerdengan parameter slope (a) 1. • Target error 0.001. • Lakukanpelatihanjaringanuntukmendapatkanbobot optimal dengannilailajupembelajaran 1 dan 0.8
Kasusoperasilogika AND dengan JST Delta • Menggunakannilailajupembelajaran1. • Diakhirpelatihan ke-1 bobot yang didapatadalahwT = [-0.0134 -0.0066 -0.2603]. • Sedangkanerror yang didapatkanadalah max(0.125 0.158 0.1393 0.1076) = 0.158. • Karenaerror yang didapatkanmasihlebihbesardari target error (ξbaru > ξ) makapelatihanmasihdilanjutkanpadaiterasikedua. • Pelatihanakanterusdilanjutkanpadaiterasikedua, ketigasampaijumlahiterasi yang ditentukanataunilai error yang didapatkantelahmencapai target error yaitu 0.001. • Pelatihanjaringanterusdilakukansampai error yang didapatkanmencapai target yaitu 0.001 (vektorpertama) padaiterasi ke-2035. • Setelahitubarulahjaringandapatmelakukanpengenalanpolavektordenganbaikdenganmemberikannilaikeluaran yang sesuai (mendekati) target yang diinginkan
Kasusoperasilogika AND dengan JST Delta Pelatihanjaringanterusdilakukansampai error yang didapatkanmencapai target yaitu 0.001 (vektorpertama) padaiterasi ke-2549. Setelahitubarulahjaringandapatmelakukanpengenalanpolavektordenganbaikdenganmemberikannilaikeluaran yang sesuai (mendekati) target yang diinginkan. Dengannilailajupembelajaran yang lebihkecilternyataperubahannilaibobotdan bias lebihhalustetapidenganusaha (iterasi) yang lebihbanyak, halinilebihbaikuntukmenghindarihasil yang terjebakpadadaerahlocal minima
Kasuskelaslebihdarisatu Vektorpola yang terbagimenjadiempatkelompok (kelas) seperti yang ditunjukkanpadaGambar yaitukelas : lingkaran, bujursangkar, belahketupatdansegitiga. Lakukanpembuatandesainjaringan delta untukmendapatkannilaibobotdan bias padajaringan agar dapatmengenalivektor-vektorpolauntukdiklasifikasikanmenjadiempatkelassepertipadagambar
Kasuskelaslebihdarisatu • Hitungjumlahkelas target (n) • n=4 • Tentukanjumlahgaris • Jikajumlahgarisadalahlmakauntuklgaris linear dapatdigunakanuntukmaksimal 2lkelas. • Jadi2l n, tetapijugadiusahakan agar jumlahgaristidakberlebihan. • Jikaldiasumsikanbernilai 2 makajumlahkelas target yang dapatdigunakanadalah 4. • Makakasusdiatasseharusnyadapatdipecahkandengan 2 garis linear. • Jumlahgarisininantinyaakanmenjadijumlah neuron keluaran yang harusdibuatpadadesainjaringansyaraf
Kasuskelaslebihdarisatu • Desain JST • Jikadaerahdiatasgaris linear dikodekandengan 1 dandaerahdibawahgaris linear dikodekandengan 0 makakonversikelasmenjadi : • Lingkaran 11 : artinyakode target untukkelaslingkaranadalahjika unit keluaran 1 adalah 1 dan unit keluaran 2 adalah 1. • Belahketupat 10 : artinyakode target untukkelasbelahketupatadalahjika unit keluaran 1 adalah 1 dan unit keluaran 2 adalah 0. • Bujursangkar 01 : artinyakode target untukkelasbujursangkaradalahjika unit keluaran 1 adalah 0 dan unit keluaran 2 adalah 1. • Segitiga 00 : artinyakode target untukkelassegitigaadalahjika unit keluaran 1 adalah 0 dan unit keluaran 2 adalah 0