ARTIFICIAL NEURAL NETWORK



A.    PENGERTIAN ARTIFICIAL NEURAL NETWORK
Cabang ilmu kecerdasan buatan cukup luas, dan erat kaitannya dengan disiplin ilmu yang lainnya. Hal ini bisa dilihat dari berbagai aplikasi yang merupakan hasil kombinasi dari berbagai disiplin ilmu. Salah satunya adalah Artificial Neural Network (ANN), merupakan kombinasi antara ilmu arthificial intelligent dengan biologi.
Menurut Wikipedia “Jaringan Syaraf Tiruan (JST) atau dalam bahasa Inggris Artificial Neural Network (ANN) adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut” .
Menurut Jurnal international (A Comprehensive Study of Artificial Neural Networks) Artificial Neural Network adalah “An Artificial Neuron is basically an engineering approach of biological neuron”.
Menurut teori  Haykin (1999,p2) : " jaringan syaraf tiruan (Artificial Neural Network) adalah sejumlah besar prosesor yang terdistribusi secara pararel dan terdiri dari unit pemrosesan sederhana, dimana masing – masing unit memiliki kecenderungan untuk menyimpan pengetahuan yang dialami dan dapat digunakan kembali."
Neural Network merupakan kategori ilmu Soft Computing. Neural Network sebenarnya mengadopsi dari kemampuan otak manusia yang mampu memberikan stimulasi/rangsangan, melakukan proses, dan memberikan output. Output diperoleh dari variasi stimulasi dan proses yang terjadi di dalam otak manusia. Kemampuan manusia dalam memproses informasi merupakan hasil kompleksitas proses di dalam otak. Misalnya, yang terjadi pada anak-anak, mereka mampu belajar untuk melakukan pengenalan meskipun mereka tidak mengetahui algoritma apa yang digunakan. Kekuatan komputasi yang luar biasa dari otak manusia ini merupakan sebuah keunggulan di dalam kajian ilmu pengetahuan.

B.     KONSEP DASAR PEMODELAN ARTIFICIAL NEURAL NETWORK

1.      Struktur Dasar Jaringan Biologi
Pembuatan struktur jaringan syaraf tiruan diilhami oleh struktur jaringan biologi, khususnya jaringan otak manusia. Untuk lebih mengenal asal-usul serta bagaimana suatu struktur jaringan syaraf tiruan dibuat dan dapat dipakai sebagai suatu alat penghitung. Berikut ini akan diulas sedikit istilah yang secara umum digunakan.
Neuron adalah suatu unit pemroses terkecil pada otak, bentuk sederhana sebuah neuron yang oleh para ahli dianggap sebagai satuan unit pemroses tersebut digambarkan sebagai berikut :
Gambar : Struktur dasar jaringan syaraf tiruan dan struktur sederhana sebuah neuron
Struktur pada gambar tersebut adalah bentuk standar dasar satuan unit jaringan otak manusia yang telah disederhanakan. Bentuk standar ini mungkin dikemudian hari akan berubah bila ada ilmuan yang dapat menciptakan bentuk standar yang lebih baik ataupun memperbaiki bentuk standar yang digunakan saat ini. Jaringan otak manusia tidak kurang dari 1013 neuron yang msing-masing terhubung oleh sekitar 1015  buah dendrite.
Dari gambar di atas, bisa dilihat ada beberapa bagian dari otak manusia, yaitu:
  1. Dendrit (Dendrites) berfungsi untuk mengirimkan impuls yang diterima ke badan sel syaraf.
  2. Akson (Axon) berfungsi untuk mengirimkan impuls dari badan sel ke jaringan lain
  3. Sinapsis berfungsi sebagai unit fungsional di antara dua sel syaraf.
Secara umum jaringan syaraf terbentuk dari jutaan (bahkan lebih) struktur dasar neuron yang terinterkoneksi dan terintegrasi antara satu dengan yang lain sehingga dapat melaksanakan aktifitas secara teratur dan terus menerus sesuai dengan kebutuhan.

2.      Pemodelan Artificial Neural Network
Dari struktur neuron pada otak manusia, dan proses kerja yang dijelaskan di atas, maka konsep dasar pembangunan neural network buatan (Artificial Neural Network) terbentuk. Ide mendasar dari Artificial Neural Network (ANN) adalah mengadopsi mekanisme berpikir sebuah sistem atau aplikasi yang menyerupai otak manusia, baik untuk pemrosesan berbagai sinyal elemen yang diterima, toleransi terhadap kesalahan/error, dan juga parallel processing.
Karakteristik dari ANN dilihat dari pola hubungan antar neuron, metode penentuan bobot dari tiap koneksi, dan fungsi aktivasinya. Gambar di atas menjelaskan struktur ANN secara mendasar, yang dalam kenyataannya tidak hanya sederhana seperti itu.
a)      Input, berfungsi seperti dendrite
b)      Output, berfungsi seperti akson
c)      Fungsi aktivasi, berfungsi seperti sinapsis
Neural network dibangun dari banyak node/unit yang dihubungkan oleh link secara langsung. Link dari unit yang satu ke unit yang lainnya digunakan untuk melakukan propagasi aktivasi dari unit pertama ke unit selanjutnya. Setiap link memiliki bobot numerik. Bobot ini menentukan kekuatan serta penanda dari sebuah konektivitas.
Proses pada ANN dimulai dari input yang diterima oleh neuron beserta dengan nilai bobot dari tiap-tiap input yang ada. Setelah masuk ke dalam neuron, nilai input yang ada akan dijumlahkan oleh suatu fungsi perambatan (summing function), yang bisa dilihat seperti pada di gambar dengan lambang sigma (∑). Hasil penjumlahan akan diproses oleh fungsi aktivasi setiap neuron, disini akan dibandingkan hasil penjumlahan dengan threshold (nilai ambang) tertentu. Jika nilai melebihi threshold, maka aktivasi neuron akan dibatalkan, sebaliknya, jika masih dibawah nilai threshold, neuron akan diaktifkan. Setelah aktif, neuron akan mengirimkan nilai output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Proses ini akan terus berulang pada input-input selanjutnya.
ANN terdiri dari banyak neuron di dalamnya. Neuron-neuron ini akan dikelompokkan ke dalam beberapa layer. Neuron yang terdapat pada tiap layer dihubungkan dengan neuron pada layer lainnya. Hal ini tentunya tidak berlaku pada layer input dan output, tapi hanya layer yang berada di antaranya. Informasi yang diterima di layer input dilanjutkan ke layer-layer dalam ANN secara satu persatu hingga mencapai layer terakhir/layer output. Layer yang terletak di antara input dan output disebut sebagai hidden layer. Namun, tidak semua ANN memiliki hidden layer, ada juga yang hanya terdapat layer input dan output saja.
3.      Mengaktifkan Jaringan Syaraf Tiruan
Mengaktifkan jaringan syaraf tiruan berarti mengaktifkan setiap neuron yang dipakai pada jaringan tersebut. Banyak fungsi yang dapat dipakai sebagai pengaktif, seperti fungsi-fungsi goniometri dan hiperboliknya, fungsi unit step, impulse, sigmoid, dan lain sebagainya. Tetapi yang lazim digunakan adalah fungsi sigmoid, karena dianggap lebih mendekti kinerja sinyal pada otak.        
Perceptron
Perceptron pada Jaringan Syaraf Tiruan (Neural Network) termasuk kedalam salah satu bentuk Jaringan Syaraf (Neural Network) yang sederhana. Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal dengan istilah pemisahan secara linear. Pada dasarnya perceptron pada Jaringan Syaraf Tiruan (Neural Network) dengan satu lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang. Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran. Fungsi aktivasi dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah negatif. 

C.    KARAKTERISTIK ARTIFICIAL NEURAL NETWORK
Karakteristik neural network ditunjukkan dalam 3 ciri yaitu : Arsitektur jaringan algoritma jaringan (Alg. Pembelajaran dan Pengenalan) dan fungsi aktivasi.
1.      Arsitektur Jaringan
Arsitektur jaringan menggambarkan bagaimana mengatur neuron-neuron dalam lapisan dan bagaimana menghubungkan neuron-neuron tersebut dengan bobot keterhubungannya (Weight (w)). Pada setiap neuron yang berada dalam satu lapisan yang sama mempunyai fungsi aktivasi yang sama, dan setiap neuron dalam satu lapisan harus dihubungkan dengan setiap neuron pada lapisan berikutnya. Arsitektur jaringan syaraf tiruan yang sering digunakan adalah :
a.       Jaringan dengan lapisan tunggal
Jaringan dengan lapisan tunggal hanya memiliki 1 lapisan dengan bobot-bobot keterhubungannya. Jaringan ini hanya menerima input pada lapisan input dan kemudian seacara langsung mengolahnya menjadi output pada lapisan output. Arsitektur jaringan dengan lapisan tunggal dapat dilihat pada gambar berikut.

b.      Jaringan dengan banyak lapisan
Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output yang disebut sebagai lapisan tersembunyi  (hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada jaringan dengan lapisan tunggal, tetapi tentu proses pembelajaran menjadi jauh lebih rumit dan memakan waktu yang lama. Tetapi pada sebagian besar kasus, pembelajaran dengan banyak lapisan ini lebih sukses dalam hasil pengujian masalahnya. Arsitektur jaringan dengan banyak lapisan dapat dilihat pada gambar berikut.
2.      Algoritma Jaringan

a.       Algoritma Jaringan Pembelajaran
Algoritma pembelajaran digunakan untuk menemukan nilai-nilai bobot yang tepat dalam mengirimkan suatu informasi. Algoritma yang digunakan Neural Network dalam pembelajaran tergantung pada arsitektur jaringan yang digunakan. Secara umum, algoritma pembelajaran terbagi menjadi dua bagian, yaitu supervised learning (pembelajaran terawasi) dan unsupervised learning (pembelajaran tak terawasi).
Supervised learning merupakan algoritma pembelajaran yang memerlukan target output yang diharapkan untuk diketahui sebelumnya dalam proses pembelajarannya. Setiap pola input beserta target output yang ditentukan disebut sebagai pasangan pembelajaran. Algoritma pembelajaran NN yang termasuk dalam kelompok ini antara lain hebb, perceptron dan back Propagation.
Unsupervised learning tidak memerlukan target output dan tidak dapat ditentukan hasil seperti apakah yang diharapkan selama proses pembelajaran. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu. Yang termasuk dalam Unsupervised learning antara lain :
1)      Kohonen Self-Organizing Maps
2)      Learning Vector Quantization
3)      Counterpropagation

b.      Algoritma pengenalan
Setelah menemukan nilai bobot keterhubungan antar neuron yang bersesuaian dengan nilai output, maka nilai bobot tersebut digunakan untuk menguji NN jika suatu input dimasukkan sehingga suatu nilai ouput dihasilkan. Proses ini dinamakan proses pengenalan (pengujian). Algoritma pengenalan yang digunakan tergantung pada algoritma pembelajaran yang digunakan, biasanya merupakan bagian dari algoritma pembelajarannya.

c.       Separabilitas Linear
Salah satu cara yang biasa digunakan sebagai syarat henti proses pembelajaran atau digunakan juga untuk proses pengenalan adalah separabilitas linier.(garis pembatas). Dalam aplikasi pengenalan pola, garis pembatas ini merupakan batas keputusan apakah suatu anggota termasuk dalam kelompok (berespon positip) atau bukan kelompok. (berespon negatip)..Dalam koordinat Cartesian (x,y) garis pembatas ini digambarkan sebagai garis lurus yang mempunyai persamaan :
y= mx + c
dengan :
m : gradien garis
c : konstanta atau titik potong dengan sumbu-y (0,c)

3.      Fungsi Aktivasi
Ada beberapa bentuk fungsi aktivasi yang umum digunakan dalam Neural Network, antara lain:

a. Fungsi tangga biner

Jaringan dengan lapisan tunggal sering menggunakan fungsi tangga biner untuk mengkonversikan input dari suatu variabel yang bernilai kontinu ke suatu ouput biner (0 atau 1). Fungsi tangga biner dirumuskan sebagai,
Sedangkan grafiknya dapat dilihat pada gambar dibawah ini;

b. Fungsi linear (identitas)
Fungsi linear memiliki nilai output yang sama denagn nilai inputnya. Fungsi linear dirumuskan sebagai,
y=x
dan grafik fungsi linear dapat dilihat pada gambar berikut.

c. Fungsi sigmoid biner
Fungsi ini mempunyai nilai pada range 0 sampai 1. Fungsi ini dirumuskan sebagai,
Dan grafik fungsi ini dapat dilihat pada gambar berikut :

d. Fungsi sigmoid bipolar
Fungsi ini mempunyai nilai pada range antara –1 sampai 1. Fungsi ini dirumuskan sebagai,
Sedangkan grafik fungsinya dapat dilihat pada gambar berikut ,

D.    KELEBIHAN DAN KEKURANGAN ARTIFICIAL NEURAL NETWORK
1.      Kelebihan Artificial Neural Network
·         Mampu mengakuisisi pengetahuan walau tidak ada kepastian
·         Mampu melakukan generalisasi dan ekstraksi dari suatu pola data tertentu
·         JST dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan belajar (self organizing)
·         Memiliki fault tolerance, gangguan dapat dianggap sebagai noise saja
·         Kemampuan perhitungan secara paralel sehingga proses lebih singkat
·         ANN mampu :
-          Klasifikasi: memilih suatu input data ke dalam kategori tertentu yang sudah ditetapkan
-          Asosiasi: menggambarkan suatu obyek secara keseluruhan hanya dengan bagian dari obyek lain
-          Self organizing: kemampuan mengolah data-data input tanpa harus mempunyai target
-          Optimasi: menemukan suatu jawaban terbaik sehingga mampu meminimalisasi fungsi biaya

2.      Kekurangan Artificial Neural Network
·         Black Box
·         Kurang mampu untuk melakukan operasi operasi numerik dengan presisi tinggi
·         Kurang mampu melakukan operasi algoritma aritmatik, operasi logika dan simbolis
·         Lamanya proses training yang mungkin terjadi dalam waktu yang sangat lama untuk jumlah data yang besar

E.     KEGUNAAN ARTIFICIAL NEURAL NETWORK
         Pengenalan pola (pattern recognition)
        Huruf, tanda tangan, suara, gambar yang sudah sedikit berubah (mengandung noise)
        Identifikasi pola saham
        Pendeteksian uang palsu, kanker
         Signal Processing
        Menekan noise pada saluran telepon
         Peramalan
        Peramalan saham
         Autopilot dan simulasi
         Kendali otomatis otomotif

Daftar Pustaka
Sharma, Vidushi, dkk.2012. International Journal of Advanced Research in Computer Science and Software Enginering : A comprehensive Study of Arthificial Neural Network.India
www.wikipedia.org

Komentar

Postingan Populer