Cari Blog Ini

Memuat...

Jumat, 16 Mei 2014

JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK)



Pengertian Jaringan Saraf Tiruan
Jaringan saraf tiruan adalah suatu sistem pemrosesan informasi yang cara kerjanya memiliki kesamaan tertentu dengan jaringan saraf biologis [Fausett,1994]. Jaringan saraf tiruan dikembangkan sebagai model matematis dari saraf biologis dengan berdasarkan asumsi bahwa:
1. Pemrosesan terjadi pada elemen-elemen sederhana yang disebut neuron.
2. Sinyal dilewatkan antar neuron melalui penghubung.
3. Setiap penghubung memiliki bobot yang akan mengalikan sinyal yang lewat.
4. Setiap neuron memiliki fungsi aktivasi yang akan menentukan nilai sinyaloutput.
Jaringan saraf dapat digolongkan menjadi berbagai jenis berdasarkan pada arsitekturnya, yaitu pola hubungan antara neuron-neuron, dan algoritma trainingnya, yaitu cara penentuan nilai bobot pada penghubung.

Komponen Neural Network
Terdapat banyak struktur NN, tetapi kesemuanya mempunyai komponen yanghampir sama. Gambar berikut memperlihatkan struktur ideal NN.
Seperti terlihat pada gambar, struktur NN mirip dengan struktur otak manusiadiatas. Informasi (sebagai input) dikirim ke neuron melalui suatu pembobotan input. Input ini diproses oleh suatu fungsi propagation yang menaikan nilai bobot input. Hasilnya kemudian dibandingkan dengan threshold oleh activation function. Jika input melampaui threshold, maka neutron akan diaktifkan, jika sebaliknya maka neutronakan inhibit. Jika diaktifkan, neuron akan mengirim output melalui pembobotan outputke neuron lainnya, dan seterusnya.
Dalam NN, neuron dikelompokan dalam layer, yang disebut neuron layer. Biasanya setiap neuron dari sebuah layer dihubungkan ke semua neuron yang ada di layerbelakang maupun depannya (kecuali input dan output). Informasi yang dikirim dalam sebuah NN, dipropagasi layer – per – layer mulai dari input hingga output tanpa ataumelalui satu atau lebih hidden layers. Bergantung pada algoritma yang digunakan,informasi juga dapat dipropagasi ke arah belakang (backpropagation). Gambar berikutmenunjukan NN dengan tiga neuron layers.
Perlu dicatat bahwa gambar ini bukan merupakan struktur umum dari NN. Ada NNyang tidak mempunyai hidden layer, atau ada juga NN yang layer-nya berbentuk matriks.

Multi Layer Perceptron
Diperkenalkan oleh M. Minsky dan S. Papert pada tahun 1969, merupakan pengembangan dari Perceptron dan mempunyai satu atau lebih hidden layers yangterletak antara input dan output layers. Multi-layer-perceptron dapat digunakan untukoperasi logik termasuk yang kompleks seperti XOR.
Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung. Neuron-neurontersebut disusun dalam lapisan- lapisan yang terdiri dari satu lapisan input (inputlayer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output(output layer). Lapisan input menerima sinyal dari luar, kemudian melewatkannya kelapisan tersembunyi pertama, yang akan diteruskan sehingga akhirnya mencapai lapisan output [Riedmiller, 1994]. Setiap neuroni di dalam jaringan adalah sebuah unit pemrosesan sederhana yang menghitung nilai aktivasinya yaitusi terhadap inputeksitasi yang juga disebut melambangkan himpunan predesesor dari uniti,wij melambangkan bobot koneksi dari unitj ke uniti, danθi adalah nilai bias dari uniti. Untuk membuat representasi menjadi lebih mudah, seringkali bias digantikan dengan suatu bobot yang terhubung dengan unit bernilai 1. Dengan demikian bias dapat diperlakukan secara sama dengan bobot koneksi.

Supervised Learning
Tujuan pada pembelajaran supervised learning adalah untuk menentukan nilai bobot-bobot koneksi di dalam jaringan sehingga jaringan dapat melakukan pemetaan (mapping) dari input ke output sesuai dengan yang diinginkan. Pemetaan ini ditentukanmelalui satu set pola contoh atau data pelatihan (training data set).
Setiap pasangan polap terdiri dari vektor input xp dan vektor target. Setelah selesaipelatihan, jika diberikan masukan xp seharusnya jaringan menghasilkan nilai output. Besarnya perbedaan antara nilai vektor target dengan output actual diukur dengan nilaierror yang disebut juga dengan di mana adalah banyaknya unit pada output layer.Tujuan dari training ini pada dasarnya sama dengan mencari suatu nilai minimumglobal dari E.

Algoritma Dalam Jaringan Saraf Tiruan.
  • Algoritma Backpropagation
Salah satu algoritma pelatihan jaringan syaraf tiruan yang banyakdimanfaatkan dalam bidang pengenalan pola adalah backpropagation. Algoritma iniumumnya digunakan pada jaringan syaraf tiruan yang berjenis multi-layer feed-forward, yang tersusun dari beberapa lapisan dan sinyal dialirkan secara searah dariinput menuju output. Algoritma pelatihan backpropagation pada dasarnya terdiri dari tigatahapan [Fausett, 1994], yaitu:
  1. Input nilai data pelatihan sehingga diperoleh nilai output.
  2.  Propagasi balik dari nilai error yang diperoleh.
  3. Penyesuaian bobot koneksi untuk meminimalkan nilai error.
Ketiga tahapan tersebut diulangi terus-menerus sampai mendapatkan nilai error yang diinginkan. Setelah training selesai dilakukan, hanya tahap pertama yang diperlukan untuk memanfaatkan jaringan syaraf tiruan tersebut. Secara matematis [Rumelhart, 1986], ide dasar dari algoritmabackpropagation ini sesungguhnya adalah penerapan dari aturan rantai (chain rule) untuk menghitung pengaruh masing-masing bobot terhadap fungsi error.
  • Algoritma Quickprop
Pada algoritma Quickprop dilakukan pendekatan dengan asumsi bahwakurva fungsi error terhadap masing-masing bobot penghubung berbentuk parabolayang terbuka ke atas, dan gradien dari kurva error untuk suatu bobot tidakterpengaruh oleh bobot-bobot yang lain [Fahlman, 1988]. Dengan demikian perhitungan perubahan bobot hanya menggunakan informasi lokal pada masing-masing bobot. Perubahan bobot pada algoritma Quickprop dirumuskan sebagai berikut: Pada eksperimen dengan masalah XOR dan encoder/decoder [Fahlman,1988], terbukti bahwa algoritma Quickprop dapat meningkatkan kecepatantraining. Eksperimen dari [Schiffmann, 1993] juga menunjukkan peningkatankecepatan training dan unjuk kerja yang signifikan.

Arsitektur Jaringan Saraf Tiruan
Secara umum, Arsitektur JST terdiri atas beberapa lapisan, yaitu lapisanmasukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer). Masing-masing lapisan mempunyai jumlah node atau neuron yang berbeda-beda. Arsitektur JST tersebut dapat diilustrasikan sebagai gambar berikut ini :
Gambar 1.2 Arsitektur Jaringan Saraf Tiruan
  1. Lapisan Masukan (input layer)
Lapisan masukan merupakan lapisan yang terdiri dari beberapa neuronyang akan menerima sinyal dari luar dan kemudian meneruskan ke neuron-neuron lain dalam jaringan. Lapisan ini dillhami berdasarkan cirri-ciri dancara kerja sel-sel saraf sensori pada jaringan saraf biologi.
  1. Lapisan tersembunyi (hidden layer)
Lapisan tersembunyi merupakan tiruan dari sel-sel syaraf konektor pada jaringan saraf bilogis. Lapisan tersembunyi berfungsi meningkatkan kemampuan jaringan dalam memecahkan masalah. Konsekuensi dari adanya lapisan ini adalah pelatihan menjadi makin sulit atau lama.
  1. Lapisan keluaran (output layer)
Lapisan keluaran berfungsi menyalurkan sinyal-sinyal keluaran hasil pemrosesan jaringan. Lapisan ini juga terdiri dair sejumlah neuron. Lapisan keluaran merupakan tiruan dari sel saraf motor pada jaringan saraf biologis.

Algoritma Pembelajaran
Belajar Untuk JST merupakan suatu proses dimana parameter-parameter bebas JST diadaptasikan melalui suatu proses perangsangan berkelanjutan oleh lingkungan dimana jaringan berada. Suatu Jaringan Saraf Tiruan belajar dari pengalaman. Proses yang lazin dari pembelajaran meliputi tiga tugas, yaitu :
1. Perhitungan Output,
2. Membandingkan output dengan target yang diinginkan.
3. Menyesuaikan bobot dan mengulangi prosesnya.
Proses pembelajaran tersebut dapat dilihat pada gambar berikut ini :

Gambar Proses Pembelajaran dari suatu JST
Proses pembelajaran atau pelatihan tersebut merupakan proses perubahan bobot antar neuron sehingga sebuah jaringan dapat menyelesaikan sebuah masalah. Semakin besar bobot keterhubungannya maka akan semakin cepat meyelesaikan suatu masalah. Proses pembelajaran dalam JST dapat diklasifikasikan menjadi dua bagian, yaitu:
1. Supervised Learning (pembelajaran terawasi) yang menggunakan sejumlah pasangan data masukan dan keluaran yang diharapkan. Contoh dari tipe ini adalah metode back propagation, jaringan Hopfield dan perceptron.
2. Unsupervised Learning (pembelajaran tidak terawasi) yang hanya menggunakan sejumlah pasangan data masukan tanpa ada contoh keluaranyang diharapkan.

untuk materi lebih lengkap bisa didownload disini