1 / 52

Jaringan Syaraf Tiruan (Artificial Neural Networks)

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 .

telyn
Download Presentation

Jaringan Syaraf Tiruan (Artificial Neural Networks)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JaringanSyarafTiruan (Artificial Neural Networks) KECERDASAN BUATAN(Artificial Intelligence) Materi 2 Eko Prasetyo TeknikInformatika Univ. Pembangunan Nasional Veteran JawaTimur 2011

  2. 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.

  3. 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.

  4. 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

  5. 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

  6. 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.

  7. 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

  8. FungsiAktivasi • Fungsi Threshold Biner (step) • Fungsi Threshold Bipolar (sign) • Fungsi Sigmoid Biner • Fungsi Sigmoid Bipolar Threshold Biner Sigmoid Bipolar Threshold Bipolar Sigmoid Biner

  9. Model JST McCulloch-Pitts • Operasi OR • FA adalah threshold • Threshold = 2 • Operasi AND • FA adalah threshold • Threshold = 2

  10. Operasi AND • FungsiAktivasi Threshold biner • Threshold = 2 • Y = 1, jika v ≥ 2 • Y = 0, jika v < 2 • Hasil Y samadengan target  JST dapatmengenalipoladenganbenar

  11. Operasi OR • FungsiAktivasi Threshold biner • Threshold = 2 • Y = 1, jika v ≥ 2 • Y = 0, jika v < 2 • Hasil Y samadengan target  JST dapatmengenalipoladenganbenar

  12. 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

  13. 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)

  14. 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)

  15. 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.

  16. 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.

  17. 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)

  18. 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)

  19. 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 • dimanawkj(n) = ek(n) xj(n)  Delta Rule • Langkah 4: Iterasi • Naikkaniterasi n satulangkah, kembalikelangkah 2 danulangiprosessampaisyaratkonvergensitercapai.

  20. JenisPembelajaran • Pembedadiantarajenispembelajaranadalah formula perhitunganwkj(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)

  21. 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.

  22. 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 menghasilkan 0, dsb. • Setelahinisialisasi (membangkitkanbobot, penentuanfungsiaktivasi, lajupembelajaran), barulahdilakukanpembelajarandenganalgoritmadiatasuntuksetiappola yang harusdipelajari epoch • Bobotdi-update teruspadasetiappelatihan (ketikaterjadi error) sampaikonvergen, dimana error sudahtidakterjadi (dibawahambangbatas)

  23. JST Perceptronuntukkasus AND (Cara 1) Bobotawal : 0.3 dan -0.1 Learning rate : 0.1 Fungsiaktivasi : Threshold () biner = 0.2

  24. JST Perceptronuntukkasus AND (Cara 1) Bobotawal : 0.3 dan -0.1 Learning rate : 0.1 Fungsiaktivasi : Threshold () biner = 0.2

  25. JST Perceptronuntukkasus AND (Cara 2) Bobotawal : 0 dan 0 Bias : 0 Learning rate : 1 Fungsiaktivasi : Threshold () biner = 0

  26. JST Perceptronuntukkasus AND (Cara 2) Hasilbobotakhir : 1 dan 2 Bias : -3

  27. AND (Pengujian) • Pengujianjaringanuntukmengenalipolavektor yang telahdilatihkan. • Terlihatbahwanilaikeluaran (y) padapengujiankeempatvektormemberikanhasil yang samadengannilai target (d). • Sehinggadapatdisimpulkanbahwajaringanberhasilmempelajaripolavektormasukan.

  28. 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)

  29. 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.

  30. 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

  31. JST Delta • Algoritmajaringan Delta (Mc ClellanddanRumelhart, 1986) diaplikasikandalamparadigmapembelajaranterawasi (supervised) • Hampirselaludigunakanuntukfungsiaktivasiberupafungsikontinyu. • Jaringan Delta disebutjugasebagaijaringanpembelajaranperceptronkontinyu • Dapatditurunkanuntukaplikasijaringansyaraftiruan lapis jamak (sepertijaringan Error Backpropagationdanvarian-variannya). • Tipepembelajaranfeedforward (maju) denganparadigmapembelajaranterawasi (supervised) denganlajupembelajaranadalah. • Sinyal error e : nilaiperbedaanantara target dkdengansinyalkeluaranykdikalikandengannilaidifferensialdariyk.

  32. 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)

  33. 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

  34. Kasusoperasilogika AND dengan JST Delta • Menggunakannilailajupembelajaran1. • Diakhirpelatihan ke-1 bobot yang didapatadalahwT = [-0.0134 -0.0066 -0.2603]. • Sedangkan error yang didapatkanadalah max(0.125 0.158 0.1393 0.1076) = 0.158. • Karena error 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

  35. Denganlajupembelajaran = 1

  36. Denganlajupembelajaran = 0.8

  37. 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

  38. Kasuskelaslebihdarisatu Vektorpola yang terbagimenjadiempatkelompok (kelas) seperti yang ditunjukkanpadaGambar yaitukelas : lingkaran, bujursangkar, belahketupatdansegitiga. Lakukanpembuatandesainjaringan delta untukmendapatkannilaibobotdan bias padajaringan agar dapatmengenalivektor-vektorpolauntukdiklasifikasikanmenjadiempatkelassepertipadagambar

  39. Kasuskelaslebihdarisatu • Hitungjumlahkelas target (n) • n=4 • Tentukanjumlahgaris • Jikajumlahgarisadalahlmakauntuklgaris linear dapatdigunakanuntukmaksimal 2lkelas. • Jadi 2l n, tetapijugadiusahakan agar jumlahgaristidakberlebihan. • Jikaldiasumsikanbernilai 2 makajumlahkelas target yang dapatdigunakanadalah 4. • Makakasusdiatasseharusnyadapatdipecahkandengan 2 garis linear. • Jumlahgarisininantinyaakanmenjadijumlah neuron keluaran yang harusdibuatpadadesainjaringansyaraf

  40. 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

  41. JST Perceptron Lapis Jamak(Multi Layer Perceptron) • Perceptron multilayer adalah JST feedforwarddengansatuataulebih hidden layer (layer tersembunyi) • Biasanyajaringanterdiridari input layer neuron sumber, minimal satuataulebih hidden layer neuron komputasi, dansebuah output layer neuron komputasi. • Sinyalmasukandirambatkanarahmaju (forward) pada basis layer per layer. • Mengapakitamembutuhkan hidden layer ? • Setiap layer dalamjaringansyaraf multilayer mepunyaifungsikhusussendiri-sendiri. • Layer masukanmenerimasinyal input daridunialuardanmendistribusikansinyalkesemua neuron dalam hidden layer • Output layer menerima output sinyaldari (atau stimulus pola), dari hidden layer danmemunculkanpolakeluarandariseluruhbagianjaringan. • Neuron dalam hidden layer mendeteksifitur; bobot neuron merepresentasikanfiturtersembunyidalampolamasukan. • Fiturkemudiandigunakanoleh output layer dalammenentukanpolakeluaran. • Dengansatu hidden layer, kitadapatmerepresentasikansembarangfungsikontinyudarisinyalmasukan. • Dengandua hidden layer, bahkanfungsidiskontinyudapatdirepresentasikan.

  42. JST Perceptron Lapis Jamak(Multi Layer Perceptron) – Cont’d • Mengapa layer tengahdalam multilayer network disebut “hidden” layer ? Apa yang disembunyikannya ? • Sebuah hidden layer “menyembunyikan” keluaran yang dibutuhkannya. Neuron dalanmhiddenlayer tidakdapatdiobservasimelaluiperilaku input/output jaringan • Tidakadacaraapapununtukmengetahuiapa output yang dibutuhkan hidden layer. • Dengankata lain, keluaran yang dibutuhkan hidden layer ditentukanoleh layer itusendiri. • Bisakan JST memasukkanlebihdarisatu hidden layer ? • JST komersialdisandingkandengan 3 ataukadang-kadang 4 layer (termasuk 1 atau 2 hidden layer) • Setiap layer dapatberisidari 10 sampai 1000 neuron. • Penelitianumumnya 5 ataukadang 6 layer (termasuk 3 atau 4 hidden layer), danmenggunakanjutaan neuron, tapipraktekumumnyahanya 3 layer, karenasetiappenambahan layer akanmeningkatkankomputasisecaraeksponensial. • Bagaimanacarapembelajaran JST multi layer ? • Pembelajarandalam JST multilayer diprosesdengancara yang samasepertipadaperceptron. • Training set polamasukandiberikanpadajaringan. Jaringanmenghitungpolakeluaran. Jikaada error (perbedaanpolakeluaranaktualdengan yang dibutuhkan), makabobotakandisesuaikanuntukmengurangi error.

  43. JST MLP Back-propagation • Dalam JST BP, algoritmapembelajaranmempunyai 2 fase. • Fase 1, • Pelatihanpolamasukandiberikanpadajaringan input layer. • Jaringankemudianmerambatkanpolamasukandari layer ke layer sampaipolakeluarandi-generate oleh output layer. • Fase 2, • Jikapolatersebutberbedadarikeluaran yang dibutuhkan, error dihitungkemudiandirambatkanbaliksepanjangjaringandari output layer ke input layer. • Bobotdiubahketika error dirambatkan. • Seperti JST yang lain, BP ditentukanolehhubunganantara neuron (arsitekturjaringan), fungsiaktivasi yang digunakanoleh neuron, algoritmapelatihan (aturanpelatihan) yang menetapkanprosedurpenyesuaianbobot. • Umumnya, jaringan BP adalah JST multilayer yang mempunyai 3 atau 4 layer, full connected. • Fungsiaktivasi yang digunakan sigmoid biner: • Atau bipolar:

  44. Bagaimanaaturanpembelajaran JST BP • Input signals, x1; x2; . . . ; xn, dirambatkansepanjangjaringandarikirikekanan, dansinyal error, e1; e2; . . . ; el, darikanankekiri. • Untukmerambatkansinyal error, kitamulaipada layer output dankembalike hidden layer. • Sinyal error pada neuron output k padaiterasike-p didefinisikanoleh: • ek(p) = dk(p) – yk(p) • Dimanadkadalah target keluaran yang diinginkanpada neuron k • Neuron k (neuron output), disuplaydengankeluarannyasendiri. Makakitadapatmenggunakanprosedursederhanauntukmengupdatebobotwjk. Aturannyasamadenganperceptron: • wjk(p+1) = wjk + Δwjk(p) • Δwjk(p) adalahkoreksibobot • Δwjk(p) =  . ek(p) . (vektormasukan neuron k) • (vektormasukan neuron k bukandari input awal, tapi output dari hidden layer.

  45. Bagaimanaaturanpembelajaran JST BP – Cont’d • (vektormasukan) yang digunakandarisinyalkeluaran hidden layer zjdigunakanuntukmendapatkanperubahanbobot (Fu, 1994): • Δwjk(p) =  . k(p) . zj • k(p) adalah error gradien neuron k dilayer output padaiterasike-k • Error gradient ditentukansebagaiturunanfungsiaktivasidikalikandengan error pada neuron output. • Untuk neuron k pada layer output: • k(p) = fa’(v) . ek(p) • Dimanafa’(v) = turunanfungsi sigmoid biner • Untuk sigmoid biner: fa’(v) =yk(p) . (1 – yk(p)) • k(p) = yk(p) . (1 – yk(p)) . ek(p) • yk(p) = 1/(1+e-v), untuk a=1

  46. Bagaimanaaturanpembelajaran JST BP – Cont’d • Koreksibobotpada hidden layer didapatkandengancara yang sama: • Δuij(p) =  . j(p) . xi(p) • j(p) adalah error gradient pada neuron j (hidden neuron). • j(p) = zj(p) . (1 – zj(p)) . • Dimana l adalahjumlah neuron output • Dimanazj = 1/(1+e-v)

  47. Algoritma Training BP • Langkah 1: Inisialisasi • Berikannilai random padabobotjaringan yang terdistribusiseragam. • Haykin (1999), gunakan range (-2.4/Fi, 2.4/Fi) • Fiadalahjumlah neuron input • Random mulai -0.5 sampai 0.5 • Langkah 2: Hitungkeluaran (aktivasi) • Mengaktivasi JST back-pro denganmenerapkan input x1(p), x2(p), …, xn(p), danouput yang diinginkan d1(p), d2(p), …, dn(p) • Hitung output aktualpada neuron dalam hidden layer • zj(p) = sigmoid(vj), n dalahjumlah input masukan neuron pada hidden layer • Hitungouputaktualpada neuron dalam output layer • yk(p) = sigmoid(vk), m adalahjumlah input neuron k pada output layer • Langkah 3: Koreksibobot

  48. Algoritma Training BP – Cont’d • Langkah 3: Koreksibobot • Ubahbobotpadaperambatanbalik error dalamjaringan • Hitung error gradient pada output layer • k(p) = yk(p) . (1 – yk(p)) . ek(p) • Dimanaek(p) = dk(p) – yk(p) • Hitungkoreksibobot • Δwjk(p) =  . k(p) . zj • Update bobotpada neuron dalam output layer • wjk(p+1) = wjk + Δwjk(p) • Hitung error gradient pada hidden layer • j(p) = zj(p) . (1 – zj(p)) . • Hitungkoreksibobot • Δuij(p) =  . j(p) . xi(p) • Update bobotpada neuron dalam hidden layer • uij(p+1) = uij + Δuij(p) • Langkah 4: Iterasi • Lakukanlangkah 2 sampaikriteria error sudahtercapai Kriteria error menggunakan Sum of Square Error (SSE)

  49. JST BP – Mengenalioperasi XOR Arsitekturperceptron multilayer denganalgoritma back-propagation Terdiridari: 2 masukan, 3 neuron tersembunyi, 1 neuron keluaran. Fungsiaktivasi: sigmoid biner Lajupelatihan: 0.1 Lihat di excel ....

  50. JST BP – Mengenalioperasi XOR – Cont’d Setelah 152 iterasi

More Related