A.I. Artificial Intelligence - Sistem Jaringan Syaraf Tiruan

Jaringan syaraf adalah merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut. Istilah buatan disini digunakan karena jaringan syaraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran.

1. Otak Manusia

Otak manusia berisi berjuta-juta sel syaraf yang bertugas untuk memproses informasi. Tiap-tiap sel bekerja seperti suatu prosesor sederhana.
Masing-masing sel tersebut saling berinteraksi sehingga mendukung kemampuan kerja otak manusia.



2. Sejarah Jaringan Syaraf Tiruan

Mulai dari ditemukannya, jaringan syaraf tiruan telah mengalami tahap-tahap perkembangan, antara lain:
1. Pada tahun 1940-an, para ilmuwan menemukan bahwa psikologi dari otak sama dengan mode pemrosesan yang dilakukan oleh peralatan computer.
2. Pada tahun 1943, McCulloch dan Pitts merancang model formal yang pertama kali sebagai perhitungan dasar neuron.
3. Pada tahun 1949, Hebb menyatakan bahwa informasi dapat disimpan dalam koneksi-koneksi dan mengusulkan adanya skema pembelajaran untuk memperbaiki koneksi-koneksi antar neuron tersebut.
4. Pada tahun 1954, Farley dan Clark men-setup model-model untuk relasi adaptif stimulus-respon dalam jaringan random.
5. Pada tahun 1958, Rosenblatt mengembangkan konsep dasar tentang perceptron untuk klasifikasi pola.
6. Pada tahun 1960, Widrow dan Hoff mengembangkan ADALINE untuk kendali adaptif dan pencocokan pola yang dilatih dengan aturan pembelajaran Least mean Square (LMS).
7. Pada tahun 1974, Werbos memperkenalkan algoritma backpropagation untuk melatih perceptron dengan banyak lapisan.
8. Pada tahun 1975, Little dan Shaw menggambarkan jaringan syaraf dengan menggunakan model probabilistic.
9. Pada tahun 1982, Kohonen mengembangkan metode pembelajaran jaringan syaraf yang tidak terawasi (unsupervised learning) untuk pemetaan.
10. Pada tahun 1982, Grossberg, mengembangkan teori jaringan yang diinspirasi oleh perkembangan psikologi. Bersama Carpenter, mereka mengenalkan sejumlah arsitektur jaringan, antara lain: Adaptive Resonance Theory (ART), ART2, dan ART3.
11. Pada tahun 1982, Hopfield mengembangkan jaringan syaraf recurrent yang dapat digunakan untuk menyimpan informasi dan optimasi.
12. Pada tahun 1985, algoritma pembelajaran dengan menggunakan mesin Boltzmann yang menggunakan jaringan syaraf probabilistik mulai dikembangkan.
13. Pada tahun 1987, Kosko mengembangkan jaringan Adaptive Bidirectional Associative Memory (BAM).
14. Pada tahun 1988, mulai dikembangkan fungsi radial basis.
3. KOMPONEN JARINGAN SYARAF
Ada beberapa tipe jaringan syaraf, namun demikian hampir semuanya memiliki komponen-komponen yang sama. Seperti halnya otak manusia, jaringan syaraf juga terdiri dari beberapa neuron dan ada hubungan antara neuron-neuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut.

Neuron buatan sebenarnya mirip dengan sel neuron biologis. Neuron-neuron buatan tersebut bekerja dengan cara yang sama pula dengan neuron-neuron biologis.
Informasi (disebut dengan: input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi jika tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya.
Informasi (disebut dengan input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu , maka neuron tersebut akan diaktifkan, tetapi jika tidak maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot output-nya ke semua neuron yang berhubungan dengannya. Hal ini dilakukan secara terus menerus.
Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf akan dirambatkan dari lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan outputmelalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer), tergantung pada algoritma pembelajarannya, bisa jadi informasi tersebut akan dirambatkan secara mundur pada jaringan.




4. ARSITEKTUR JARINGAN
Arsitektur jaringan syaraf tiruan merupakan pengaturan neuron dalam layer dan hubungan-hubungannya. Arsitektur sebuah jaringan akan menentukan keberhasilan target yang akan dicapai, karena tidak semua permasalahan dapat diselesaikan dengan arsitektur yang sama. Adapun jenis-jenis arsitektur pada jaringan syaraf tiruan adalah sebagai berikut :
 a.        Jaringan syaraf dengan lapisan tunggal (single layer net)
Susunan jaringan single layer, neuron-neuron dapat dikelompokkan menjadi dua bagian, yaitu unit-unit input dan unit-unit output. Unit-unit input menerima masukan dari luar sedangkan unit-unit output akan mengeluarkan respon dari jaringan sesuai dengan masukannya. Contoh jaringan syaraf dengan single layerakan ditunjukkan pada Gambar di bawah ini :

b.        Jaringan syaraf dengan banyak lapisan (multilayer net)
Susunan jaringan multilayer, selain ada unit-unit input dan unit-unit output, juga terdapat unit-unit tersembunyi (hidden layer). Jumlah unit hidden tergantung pada kebutuhan. Semakin kompleks jaringan, unit hidden yang dibutuhkan makin banyak, demikian pula jumlah layernya. Contoh jaringan syaraf dengan multilayerakan ditunjukkan pada Gambar di bawah ini :


5. Fungsi Aktivasi

Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan, yaitu:

1.Fungsi undak biner (hard limit)
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak untuk mengkonversikan input dari suatu variable yang bernilai kontinu ke suatu output biner (0 atau 1).

2.Fungsi undak biner (Threshold)
Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut dengan nama fungsi nilai ambang (threshold) atau fungsi Heaviside.

3.Fungsi bipolar (symetric hard limit)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0 atau -1.

4.Fungsi bipolar dengan threshold
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan threshold, hanya saja output yang dihasilkan berupa 1, 0 atau -1.

5.Fungsi linear (identitas)
Fungsi linear memiliki nilai output yang sama dengan nilai inputnya.

6.Fungsi saturating linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari - 1/2 dan akan bernilai 1 jika inputnya lebih dari 1/2. Sedangkan jika nilai input terletak antara -1/2 dan 1/2, maka outputnya akan bernilai sama dengan nilai input ditambah 1/2.

7.Fungsi simetric saturating linear
Fungsi ini akan bernilai -1 jika inputnya kurang dari -1 dan akan bernilai 1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara -1 dan 1 maka outputnya akan bernilai sama dengan nilai inputnya.

8.Fungsi sigmoid biner
Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1.

y=f(x)= 1/(1+e^(-sx) )

dengan: f'(x)= sf(x)[1-f(x)]


9.Fungsi sigmoid bipolar
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara -1 sampai 1.

y=f(x)=(1-e^(-x))/(1+e^(-x) )

dengan: f' (x)=s/2 [1+f(x) ][1-f(x)]





6. Proses Pembelajaran

Jaringan syaraf akan mencoba untuk mensimulasikan kemampuan otak manusia untuk belajar. Jaringan syraf tiruan juga tersusun atas neuron-neuron dan dendrite. Tidak seperti model biologis, jaringan syaraf memiliki struktur yang tidak dapat diubah, dibangun oleh sejumlah neuron, dan memiliki nilai tertentu yang menunjukkan seberapa besar koneksi antara neuron (yang dikenal dengan nama bobot). Perubahan yang terjadi selama proses pembelajaran adalah perubahan nilai bobot. Nilai bobot akan bertambah, jika informasi yang diberikan oleh neuron yang bersangkutan tersampaikan, sebaliknya jika informasi tidak disampaikan oleh suatu neuron ke neuron yang lain, maka nilai bobot yang menghubungkan keduanya akan dikurangi. Pada saat pembelajaran dilakukan pada input yang berbeda, maka nilai bobot akan diubah secara dinamis hingga mencapai suatu nilai yang cukup seimbang. Apabila nilai ini telah tercapai mengindikasikan bahwa tiap-tiap input telah berhubungan dengan output yang diharapkan.

1.Pembelajaran Terawasi (supervised learning)

Metode pembelajaran pada jaringan syaraf disebut terawasi jika output yang diharapkan telah diketahui sebelumnya. Contoh: andaikan kita memiliki jaringan syaraf yang akan digunakan untuk mengenali pola, misalkan pada operasi AND.

Pada proses pembelajaran, satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan disepanjang jaringan syaraf hingga sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokkan dengan pola output targetnya. Apabila terjadi perbedaan antara pola output hasil pembelajaran dengan pola target, maka disini akan muncul error. Apabila nilai error ini masih cukup besar, mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi. Pembelajaran terawasi terdiri dari beberapa metode, yaitu: Hebb Rule, Perceptron, Delta Rule, Backpropagation, Hetero associative memory, Bidirectional associative memory, dan Learning vector quantization.


2.Pembelajaran Tak Terawasi (unsupervised learning)

Pada metode pembelajaran yang tak terawasi ini tidak memerlukan target output. Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yang diharapkan selama proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan pembelajaran ini adalah pengelompokan unit-unit yang hampir sama dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocok untuk pengelompokkan (klasifikasi) pola. Yang termasuk kedalam pembelajaran tak terawasi adalah metode Kohonen.

Komentar

Postingan populer dari blog ini

Belajar Python : membuat menu pilihan sederhana

Arti Pap TT, Pap 99, 599, FN, VCS dalam Bahasa Gaul

Aplikasi Simontok Versi Terbaru 2020