Senin, 31 Mei 2010

Tugas ke 5, Makalah JST

SIMULASI JARINGAN SYARAF TIRUAN BERBASIS METODE BACKPROPAGATION


1.        Pendahuluan


Latar Belakang

Seiring  perkembangan  jaman  peran  komputer semakin   mendominasi   kehidupan Lebih   dari   itu, komputer  saat  ini  diharapkan  dapat  digunakan  untuk mengerjakan  segala  sesuatu  yang bisa  dikerjakan  oleh manusi baik  di  rumah   tangga industri   bahkan   di lingkungan  pendidikan.  Untuk  memecahkan  masalah dengan   komputer,   program   harus    dibuat   terlebih dahulu   kemudian   akan   diproses   selanjutnya.   Tanpa program,  komputer  hanyalah  sebuah  kotak  besi  yang tidak berguna.

Motor  DC  banyak  digunakan  dalam  kehidupan sehari-hari.  Baik  dalam  dunia  industri  maupun  rumah tangga Moto DC   yan beredar   sebenarny sudah menggunakan   bahas logik sederhan ada    yang dikendalikan manual oleh manusia, sebagian sudah ada yang  menggunakan  mikrokontroller,  algoritma  fuzzy maupun  algortim dan kendali lainyyang menggunakan   bahas pemrograman   yang   berbeda. Motoyang    beredar    di    masyarakat    akan    lebih menghasilkan produk yang bagus dan memiliki tingkat presisi  tinggi  apabila  kesalahan  dari  faktor  manusia dapat diperkecil.

Dari beberapa pengendalian yang menggunakan algoritma  fuzz  dan  mikrokontroller  atau  yang  lainnya, error  yang  dihasilkan  terlalu  besar  berkisar  antara  3-10%.


2.     Dasar Teori


Jaringan  Syaraf  Manusia  sebagai    Dasar Jaringan Syaraf Tiruan

Beberapa hal   yanmendasari kerja Jaringa Syaraf   Manusia   (JSM),   diantaranya mengenai penyimpanan informasi dan daya ingat, dimana bila suatu sinyal tertentu melalui sinapsis secara   berulang-ulang mak sinapsis   tersebut menjadi lebih mampu menghantarkan sinyal pada
kesempatan   berikutnya.   Hal   ini   mendasari   adanya proses belajar atau pelatihan (learning), jadi JST yang akan  digunakan  pasti  melalui  proses  pelatihan  secara berulang-ulang terlebih dahulu. Dalam   JSM akso dan   dendrit   bercabang- cabang   sedemikian   banyakny yang      menunjukan bahwa  adanya  sistem  paralel  dan  terdistribusi.  Akson dan  dendrit  pada  JSM  bercabang-cabang  dengan  pola yang  tidak  teratur,  sedangkan  pada  JST,  keparalelan dan kedistribusian cabang-cabang itu membentuk pola tertentuJST         merupakan bagian dari Artificial Intelligence (AI)  yang berbasis hubungan,  karena cara kerjanya  melihat  pada  JSM.  Secara  garis  besar  dapat dijelaskan   sebagai berikut:   beberap bongko (baik eksitasi maupun inhibisi) masuk ke suatu neuron, oleh neuron masukan tersebut dijumlahkankemudian dibandingkan dengan nilai ambangnya. Hasil penjumlahan  baru  bisa  berarti  jika  besarnya  kecilnya bobot hubungan telah teratur.


2.2  Algoritma Backpropagation





JST  backpropagataion  atau  rambat  balik (JST- BP)  adalah  metode  yang  paling sederhana  dan  mudah dipahami dari  metode-metode  yang lain. JST-BP  akan merubah  bobot  biasnyuntuk  mengurangi  perbedaan antara   outpu jaringan   da target   output Setelah pelatihan selesai, dilakukan pengujian terhadap jaringan   yan telah   dilatih Pembelajaran  algoritma jaringan  syaraf  membutuhkan  perambatan  maju  dan diikuti  dengan perambatan mundur. Keduanya dilakukan untuk semua pola pelatihan
 
2.3  Motor DC

Motor  DC  adalah  sistem  mesin  yang  berfungsi mengubah  tenaga  listrik  arus  searah  menjadi  tenaga gerak atau mekanis. Motor DC hampir dapat dijumpai d setiap   peralata baik   rumah   tangga,   kendaraan bahkan   dalam   duni industri   sekalipun dari   yang beukuran mikro sampai motor yang memiliki kekuatan ribuan daya kuda.




2.3.1   Karakteristik Motor DC

Pada motor shunt eksitasi       terpisah, bertambahnykopel arus jangkar (Ia) mengakibatkan   kecepatan   (n menurun Pada moto seri,   bertambahny kopel   (arus)   akan menyebabkan   bertambahny harg fluk  ), karena fluks pada motoseri     merupakan merupakan fungsi Ia
Ea  = Vt   Ia  Ra,                                        
(1) Ea  = C n                                            
(2) n =  Vt Ia Ra / C     ,                  


Untuk  harga  Ia  =  0,  harga  fluks  juga  nol sehingga  dari  persamaan  3,  diperoleh  harga  n menuju tak terhingga.  Sedangkan untuk harga  Ia yang  cukup  besar,  harga  n  akan  mendekati  nol. Dengan  demikian  karakteristik  kecepatan-kopel untuk  motor  shunt  dan  seri  dapat  digambarkan sebagai berikut:
 
2.3.2   Pengaturan Kecepatan Motor DC

Tiga parameter yang biasa diatur adalah:
a.     Medan    shunt     ),    dengan    menyisipkan tahanan variabel yang dipasang seri terhadap kumparan medan (motor shunt), maka dapat diatur  arus  medan  dan  fluksnya.  Rugi  panas yang  ditimbulkan  sangat  kecil  pengaruhnya. Karen besarny fluk yan dicapai   oleh kumparan  medan  terbatas,  kecepatan  yang diaturpun akan terbatas.
b.    Tegangan (Vt), dikenal dengan metode Ward Leonard.   Menghasilkan   suatu   pengaturan kecepatan   yan sangat   halus   dan   banyak dipakai untuk lift, mesin bubut dan lain-lain. Satu-satunya    kerugian    dalam    sistem    ini adalah  biaya  untuk  penambahan  generator dan penggerak awal
c.   Tahanan     (Ra),    dengan     menyisipkan     tahanan variabel terhadap tahanan jangkar. Cara ini jarang dipakai, karena penambahan tahanan seri terhadap tahanan   jangka menimbulkan  rugi  panas   yang cukup besar.


3.        Perancangan Sistem

Proses belajar JST dilakukan  secara   on- line/continuesehingga JSmemerlukan  hasil pengendalianny (kecepatan   yang  dihasilkan   motor) untuk memperbaiktanggapan motor. Dalam perancangan  sistem,  masukan  JST  adalah  berupset point  kecepatansedangkan  keluaranny yang   juga berfungsi sebagai masukan motor adalah tegangan DC. Sebagai  keluaran  motor  dan  sebagai  hasil  akhir  dari sistem adalah kecepata modelmotor. Untuk mengetahui  lebih  jelas  perancangan  sistem  ini  dapat dilihat pada diagram blok berikut:
Pelatihan  dari  sistem  pengendalia dirancang dengan        menggunakan metode inverse, dimana masukan dari plant adalah sebagai target atau keluaran dari       JST, sehingga         skenario     keluarannya akan digunakan   kembali   sebaga masukan Karen pada pelatihan menggunakan metode           inverse, maka masuka dan   keluaran   dari   sistem   kendali   yang sebenarnya akan dibalik pada saat pelatihan. Pada saat pelatihan   masukan   dari   JST   adalah   keluaran   dari motor,   yaitu   kecepatan   atau   putaran   dari   motor, sedangkan  keluaran  atau target dari JST   adalah merupakan masukan motor, yaitu tegangan.

 
Pelatihan  dari  sistem  pengendalia dirancang dengan        menggunakan metode inverse, dimana masukan dari plant adalah sebagai target atau keluaran dari       JST, sehingga         skenario     keluarannya akan digunakan   kembali   sebaga masukan Karen pada pelatihan menggunakan metode           inverse, maka masuka dan   keluaran   dari   sistem   kendali   yang sebenarnya akan dibalik pada saat pelatihan. Pada saat pelatihan   masukan   dari   JST   adalah   keluaran   dari motor,   yaitu   kecepatan   atau   putaran   dari   motor, sedangkan  keluaran  atau target dari JST   adalah merupakan masukan motor, yaitu tegangan.
Kemampuan dari JST akan dipergunakan untuk mengidentifikasikan  motor.  Selanjutnya  hasil  proses identifikasi    digunakan    pada    proses    pengendalian kecepatan   motor.   Perangkat   lunak   yan digunakan dalam  perancangan  sistem  adalah  Matlab  6.5  release
13,  karena  memiliki  bahasa   tingkat  tinggi  dan  dapat digunakan untuk komputas teknik penghitungan, visualisasi dan pemrograman. Selain itu juga memiliki neural  network  (NN)  toolbox,  sehingga  memudahkan dalam perancangan program   JST          maupun pensimulasian dari sistem yang telah dilatih. Beberapa kegunaan  lain  dari  Matlab  di  antaranya  adalah  untuk pengembangan   algoritma,   pemodelan simulasi dan  pembuatan  antarmuka  GUI (Graphical  User Interface).

Kemampuan dari JST akan dipergunakan untuk mengidentifikasikan  motor.  Selanjutnya  hasil  proses identifikasi    digunakan    pada    proses    pengendalian kecepatan   motor.   Perangkat   lunak   yan digunakan dalam  perancangan  sistem  adalah  Matlab  6.5  release
13,  karena  memiliki  bahasa   tingkat  tinggi  dan  dapat digunakan untuk komputas teknik penghitungan, visualisasi dan pemrograman. Selain itu juga memiliki neural  network  (NN)  toolbox,  sehingga  memudahkan dalam perancangan program   JST          maupun pensimulasian dari sistem yang telah dilatih. Beberapa kegunaan  lain  dari  Matlab  di  antaranya  adalah  untuk pengembangan   algoritma,   pemodelan simulasi dan  pembuatan  antarmuka  GUI (Graphical  User Interface).



4.        Analisis Kelompok
Berikut ini kelompok kami akan menampilkan tabel perbandingan yang didapat dari keadaan motor real dengan tegangan medan tetap (100 volt).
Pada   saat   tegangan   jangkar   150   volt kecepatan   maksimu mencapai   1913. rpm, tetapi  paddata  board  pada  motor  sebenarnya, kecepatan  maksimum  saat  tegangan  jangkar  150 volt adalah 1750 rpm. Hal ini banyak terjadi pada keadaan   moto sebenarnya,    yan disebabkan karena    usia    motor     yang    cukup    lama    dan penggunaan   yang   serin dilakukan sehingga menyebabkan  perubahan  pada  beberapa  piranti pad moto yan sudah   tidak   sesuai   dengan standarisasi pada saat motor diproduksi.
Dengan mengunakan data yang sama pada motor sebenarnya, data input dan output dari hasil simulasi   disimpan   kedalam   workspace   Matlab untuk dijadikan sebagai masukan dan target pada pelatihan   JS sebagai   pengendali   moto DPelatihan  dengan  menggunakan  for-while  loopskurang mendapatkan hasil yang lebih maksimum, disebabkan   karen dat inpu dan   target   JST terlalu  banyak,  kurang  lebih  sebanyak  150676 data   input   dan   15067 data   output.   Sebagai perbandingan untu melakukan   100 iterasi dengan 1 HL dan 7 sel neuron menggunakan for- while  loops,  membutuhkan  waktu  kurang  lebih selama    18    jam.    Berbeda    dengan    pelatihan menggunakan  fungsi  newff  yang disediakan  oleh Matlab. Dengan menggunakan struktur JST yang sama,  1000  iterasi  dapat  dilakukan  hanya  dalam hitungan   menit.   Pelatihan   dan   pengujian   JST menggunakan Matlab akan lebih cepat jika semua data   input,    outpu dan   bobot-bias    dijadikan kedalam  bentuk  perhitungan  matrik  seperti  yang terdapat pada fungsi newff.
Hasil pelatihan terbaik adalah adalah pada tabel  nomor  10.  Pelatihan  berhenti  ketika  iterasi yang   ditentukan   sudah   tecapai   dengan   Mean Square Error (MSE) 0.0070382. MSE pada tabel nomor 15 lebih kecil 2e-7 dari MSE pada tabel nomor 10.  Tetapi  jumlah iterasi 2 kali lebih besar dari iterasi pad tabel   nomo 10 sehingg untuk   pengujian jaringan akan digunakan struktur pada tabel nomor 10. Pada  tabel  nomor  5,  pelatihan  berhenti  karena gradient  sudah  mencapai  target,  artinya  MSE  yang dihasilkan sudah mencapai nilai yang paling minimum untuk  arsitektur  JST  sebagai  pengendali  motor  DC Fungsi aktivasi identitas dapat menghasilkan MSE   hampir   mendekat target,   yang   disebabkan karena input dan target dari JS memiliki nilai yang sebanding ha in sesuai   dengan   fungsi  aktivasi identitas   diman masukan   fungs sam dengan keluarannya.  Jumlah  lapisan  dan  sel  neuron  pada masing-masing    lapisan       tersembunyi       tidak berpengaru besar   terhadap   MSE,   kecuali   jika variasi  dari  nilai  learning  rate  (LR)  dan  MC  yang digunakan   sesuai   dengan   arsitektu JST.   Tetapi hampir  semua  pelatihan  yang  menggunakan  fungsi aktivasi sigmoid bipolar pada hidden layer (HL) dan lapisan  keluaran tidak dapat  mencapai  target  iterasi dan    MSE,    disebabkan    karena    fungsi    aktivasi sigmoid   bipolar   memilik nilai   rang antara   1 sampai -1. Sedangkan pada pelatihan, nilai input dan target   sudah    d normalisasi   agar    menghasikan kecepatan yang lebih cepatsehingga target memiliki nilai antara 0 sampai 1.

Nilai LR dan MC akan berpengaruh terhadap perubahan  MSE  pada  setiap  iterasi.  Semakin  besar nilai  LR,  akan  semakin  cepat  pelatihan  mendekati nilai error minimum, tetapimenghasilkan perubahan  MSE  yang  tidak  stabil.  Jika  nilai  LR  dengan   10   lapisan   tersembunyi Nilai   gradient menggunakan nilai default fungsi newff yaitu 1e-10.Nilai     gradient   yang dihasilkan  dan ditampilkan akan selalu dipengaruhi oleh perubahan nilai MSE. Penentuan nilai momentum coefisient   (MC akan    berpengaruh    langsung kepada perubahan bobot.

digunakan  terlalu  kecil,  maka  akan  menyebabkan pelatihan lebih lama mendekati nilai error minimum yang ditentukan dan iterasi  semakin besar. Berbeda dengan   nila MC,  semakin  keci nila M yang digunakan    maka    semakin    banyak    iterasi    yang dibutuhkan       untuk       mencapai  error minimum. Sehingga nilai yang digunakan untuk pelatihan tidak terlalu  besar  dan  tidak  terlalu kecil,  sesuai  dengan variasi nilai antara LR dan MC.

Penentuan    jumlah    target    iterasi    (epoch) dilihat dari struktur pelatihan jaringan. Jika jaringan memiliki HL dan jumlah neuron yang banyak, maka target iterasi di set tidak terlalu besar agar pelatihan tidak menggunakan memori pada personal computer(PC) terlalu banyak. Semakin banyak jumlah lapisan dan jumlah sel neuron pada masing-masing lapisan, semakin  banyak  komputasi,  semakin  besar  memori PC  yang  digunakan  dan  akan  semakin  lama  waktu yan ditempu untuk   mencapai   erro minimum. Dari  tabel  diatas  maka  struktur  jaringan  yang  akan digunakan adalah strukur jaringan pada tabel nomo10.   Diman struktu jaringan   terdiri   dari    sel neuron    input.  Input  pertama  adalah  set  point,  sel neuron kedua adalah perubahan dari kecepatan yang dihasilkan motor. Lapisan input (v) terdiri dari 5 sel neuron, sedangkan lapisan tersembunyi terdiri dari 2 lapisan Lapisan  tersembunyi  pertama  (w terdiri dari  3  sel  neuron  dan  sesuai  dengan  target  system JST,  maka  HL  kedua  atau  lapisan  output  (w_out) terdiri   dari    sel   neuron Fungs aktivasi   yang digunakan   pad setiap   lapisanny adalah   fungsi identitasStruktur  terbaik   jaringan   kemudian   d uji dengan menggunakan masukan step. Perlu diketahui waktu  (t)  adalah  dalam  satuan  detik  Matlab,  bukan dalam  real  time
Karakteristik   respon   transien   dari   JST   sebagai pengendali         kecepatan                motor      DC          dengan menggunakan step input adalah sebagai berikut :
a. Waktu tunda (td) adalah waktu yang diperlukan oleh tanggapan untuk mencapai setengah (50%) dari nilai akhirnya yaitu selama 1.9   detik.
b. Waktu  naik  (tr)  adalah  waktu  yang  diperlukan oleh  tanggapan  untuk  naik  dari  0%  menjadi
100% dari nilai akhir yaitu selama 18.7 detik.
c. Maksimum overshoot (mp) adalah nilai puncak kurv tanggapa diuku dari   satuan   waktu, digunakan  untuk  mengukur   kestabilan  relatif dari  sistem.  Pada  grafik  tidak  terlihat  adanya overshoot, disebabkan karena   pelatihan menggunakan LR  yang keci  dan juga disebabkan  karena  karakteristik dari  motor  DC dimana  kecepatan  berbanding  terbalik  dengan torsi.
d. Waktu  puncak  adalah  waktu  yang  diperlukan tanggapan       untuk       mencapai puncak    atau maksimum       overshoot.              Karena     tidak           ada overshoot,  maka  waktu  puncak  (tp)  juga  tidak ada.
e. Waktu turun (ts) adalah waktu yang diperlukan untuk  menanggapi  kurva  agar  dapat  mencapai dan  tetap  berada  dalam  persentasnilai  akhir tertentu  dan  biasanya  digunakan  batasan  5%. Seperti  telihat  pada  gambar  4.16  diatas,  grafik kecepatan     yang         dihasilkan                sudah       stabil, sehingga  waktu  turun  (ts)  sama  dengan  waktu naik (tr).
Kemudian pengujian jaringan dilakukan dengan data   offlin dan  data   online.  Pengujian  data offline               dilakukan dengan     data         input menggunakan  data  masukan  (tegangan)  yang digunakan    juga    saat    pelatihan.    Sedangkan


pengujian  online  dilakukan  menggunakan  set poin 
Grafik   hasi dari   pengujia (biru sudah hampir    mengikuti    dari    grafik    target    tegangan pelatihan (merah). Pada data awal, grafik pengujian menunjukan  proses  adaptasi  yang  akan  diperbaiki untuk  data  berikutnya.  Proses  adaptasi  akan  terus dilakukan   pad setiap  awa perubahan   nilai   dari tegangan Hasil   pengujian   tersebu membuktikan bahwa,  pelatihan  jaringan  sudah  cukup  baik  dan akan digunakan lebih lanjut dalam pengujian online menggunakan   toolbo simulink  pad Matlab   dan pengujian    menggunakan    GUI    (Graphical    User Interface).

Pengujian onlindilakukan dengan memberikan set point kecepatan (input pertama) dan menghasilkan  keluaran  jaringan  berupa  tegangan, tegangan  inilah  yang  akan  memberi  masukan  pada motor untumenghasilkan  keluaran  berupa kecepatan  motor.  Kemudian  kecepatan  motor  akan di-feedback menjadi input jaringan kedua.
Set point  yang berupa  kecepatan di masukan melalui  blok  step.  Kecepatan  dari  motor  mampu mengikut kacepatan   dari   se point hany pada kecepatan-kecepatan   tertentu   moto tidak   dapat mengikuti,  tetapi  dengan  selisih  yang  cukup  kecil. Sesuai dengan karakteristik dari motor DC (gamba3),  kecepatan  yang  dihasilkan  motor  DC  tidak  bisa langsung  mengikuti  disebabka karen kecepatan berbanding  terbalik  dengan  torsi  motor  dan  torsi motor saat keadaan awal akan lebih besar. Berikut  ini  adalah  tabel  perbandingan  hasil pengujian   menggunakan   simulink,   diman nilai input kecepatan dipilih atau ditentukan secara acak

5.        Kesimpulan

Berdasarkan pembahasan kelompok maka dapat ditarik kesimpulan sebagai berikut : 

a.  Pelatihan  dan  pengujian  akan  lebih  cepat  jika datyandihitung   dalam jaringan menggunakan operasi matriks.
b. Banyaknya  data  yang  dijadikan  sebagai  data pelatihan, berpengaruh terhadap lamanya waktu iterasi  untuk  mencapai  taget  error  minimum, jumlah  iterasi  akan  semakin  banyak  dan  nilai MSE yang dihasilkan.
c. Struktu terbaik   JST   untuk   sistem   kendali kecepatan  motor  DC  terdiri  dari  5  sel  neuron lapisan input. Lapisan tersembunyi terdiri dari lapisan,  dimana  HL  pertama  memiliki  3  sel neuron, lapisan tersembunyi kedua terdiri dari 1 sel  neuron.  (Mean  Square  Error)  MSE  yang dihasilkan    adalah    0.007382    dengan    fungsi aktivas setiap   lapisan   menggunakan   fungsi purelin (fungsi identitas).
d. Persentase     MSE     untuk    selisih     kecepatan pengujian adalah sebesar 1.645 %.
e.    Membuktikan     bahwa     dasar     teori     tentang pengaturan kecepatan motor D metode Ward Leonar tentang   penggunaan   moto dapat lebih   efisien   dengan   Artificia Intellegence menggunakan Neural Network.

 

0 komentar: