Thursday, December 15, 2016

ARTIFICIAL NEURAL NETWORK


NEURAL NETWORK
Pendahuluan
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 ilmu. Seperti halnya yang ada pada peralatan medis yang berbentuk aplikasi. Sudah berkembang bahwa aplikasi yang dibuat merupakan hasil perpaduan dari ilmu kecerdasan buatan dan juga ilmu kedokteran atau lebih khusus lagi yaitu ilmu biologi.
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.
Fungsi dari Neural Network diantaranya adalah:
1.       Pengklasifikasian pola
2.       Memetakan pola yang didapat dari input ke dalam pola baru pada output
3.       Penyimpan pola yang akan dipanggil kembali
4.       Memetakan pola-pola yang sejenis
5.       Pengoptimasi permasalahan
6.       Prediksi
Sejarah Neural Network
Perkembangan ilmu Neural Network sudah ada sejak tahun 1943 ketika Warren McCulloch dan Walter Pitts memperkenalkan perhitungan model neural network yang pertama kalinya. Mereka melakukan kombinasi beberapa processing unit sederhana bersama-sama yang mampu memberikan peningkatan secara keseluruhan pada kekuatan komputasi.

Gambar 2.1 McCulloch & Pitts, penemu pertama Neural Network

Hal ini dilanjutkan pada penelitian yang dikerjakan oleh Rosenblatt pada tahun 1950, dimana dia berhasil menemukan sebuah two-layer network, yang disebut sebagai perceptron. Perceptron memungkinkan untuk pekerjaan klasifikasi pembelajaran tertentu dengan penambahan bobot pada setiap koneksi antar-network.


Gambar 2.2 Perceptron

Keberhasilan perceptron dalam pengklasifikasian pola tertentu ini tidak sepenuhnya sempurna, masih ditemukan juga beberapa keterbatasan didalamnya. Perceptron tidak mampu untuk menyelesaikan permasalahan XOR (exclusive-OR). Penilaian terhadap keterbatasan neural network ini membuat penelitian di bidang ini sempat mati selama kurang lebih 15 tahun. Namun demikian, perceptron berhasil menjadi sebuah dasar untuk penelitian-penelitian selanjutnya di bidang neural network. Pengkajian terhadap neural network mulai berkembang lagi selanjutnya di awal tahun 1980-an. Para peneliti banyak menemukan bidang interest baru pada domain ilmu neural network. Penelitian terakhir diantaranya adalah mesin Boltzmann, jaringan Hopfield, model pembelajaran kompetitif, multilayer network,  dan teori model resonansi adaptif.
Untuk saat ini, Neural Network sudah dapat diterapkan pada beberapa task, diantaranya classification, recognition, approximation, prediction, clusterization, memory simulation dan banyak task-task berbeda yang lainnya, dimana jumlahnya semakin bertambah seiring berjalannya waktu.
Konsep Neural Network
1.  Proses Kerja Jaringan Syaraf Pada Otak Manusia
Ide dasar Neural Network dimulai dari otak manusia, dimana otak memuat  sekitar 1011 neuron. Neuron ini berfungsi memproses setiap informasi yang masuk. Satu neuron memiliki 1 akson, dan minimal 1 dendrit. Setiap sel syaraf terhubung dengan syaraf lain, jumlahnya mencapai sekitar 104 sinapsis. Masing-masing sel itu saling berinteraksi satu sama lain yang menghasilkan kemampuan tertentu pada kerja otak manusia.


Gambar 2.3 Struktur Neuron pada otak manusia

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.
Proses yang terjadi pada otak manusia adalah:
Sebuah neuron menerima impuls dari neuron lain melalui dendrit dan mengirimkan sinyal yang dihasilkan oleh badan sel melalui akson. Akson dari sel syaraf ini bercabang-cabang dan berhubungan dengan dendrit dari sel syaraf lain dengan cara mengirimkan impuls melalui sinapsis. Sinapsis adalah unit fungsional antara 2 buah sel syaraf, misal A dan B, dimana yang satu adalah serabut akson dari neuron A dan satunya lagi adalah dendrit dari neuron B. Kekuatan sinapsis bisa menurun/meningkat tergantung seberapa besar tingkat propagasi (penyiaran) sinyal yang diterimanya. Impuls-impuls sinyal (informasi) akan diterima oleh neuron lain jika memenuhi batasan tertentu, yang sering disebut dengan nilai ambang (threshold).
2.  Struktur 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.


Gambar 2.4 Struktur ANN

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.
1.       Input, berfungsi seperti dendrite
2.       Output, berfungsi seperti akson
3.       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.

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

Sumber :


Share:

Sidebar Ads

Active

Powered by Blogger.
Powered By Blogger

Universitas Gunadarma

Stay Connected

Labels

POPULAR POSTS

Labels