Kamis, 29 September 2016

PEMAHAMAN ARTIFICAL NEURAL NETWORK

Standard
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 nilaithreshold, 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.

Contoh, misalkan kita memberikan data training pada sistem untuk proses pembagian;
Data Input_1   = 8
Data Input_2   = 2
Output             = 4

Maka, kita telah mengajarkan pada sistem apabila inputan terdiri dari angka 8 dan 2, maka outputnya adalah 4. Akan tetapi, jika hanya diberikan satu contoh, sistem tidak akan belajar dengan baik. Sebaiknya diberikan data training sebanyak mungkin, agar sistem dapat belajar dengan baik dan handal.
Struktur asitektur dari Neural Network pada umumnya terdiri dari 3 layer, yang menjadi ciri khas dari sistem NN ini, yaitu Input Layer, Hidden Layer, dan Output Layer. Tiap Layer terdiri dari unit-unit node yang jumlahnya dapat kita tentukan sendiri, bias dibayangkan bahwa tiap node pada sistem Neural Network ibaratnya seperti neuron pada otak manusia.
·         Input Layer :
Input Layer, merupakan data-data yang kita masukkan sebagai data training pada sistem ANN. Banyaknya jumlah node pada input layer tergantung pada jumlah data input yang telah kita masukkan ke dalam sistem.

·         Hidden Layer:
Jumlah node pada hidden layer sangat bervariasi, akan tetapi pada umumnya jumlah node pada hidden layer adalah 5 yang dianggap sudah mencukupi untuk memecahkan berbagai macam kasus. Ada juga teori yang dapat menentukan banyak-nya node pada hidden layer denga tepat.

·         Output Layer:
Banyak-nya node pada output layer tergantung dari sistem ANN itu sendiri. Data output juga termasuk dari data training yang sebelumnya telah diberikan.

Konsep dari sistem ANN yang penting adalah nilai Error minimum yang diharapkan. Pada saat ANN di-inisialisasi akan dibangkitkan nilai random untuk koneksi antar node dari suatu layer dengan layer sesudahnya, jadi antar node-node di hidden layer saling terkoneksi satu sama lain dengan node-node di hidden layer, dan antar node-node di hidden layer akan saling terkoneksi satu sama lain dengan node-node pada output layer. Nilai koneksi antar node tersebut sering disebut 'bobot'. Nilai bobot inilah yang akan menentukan kecerdasan suatu sistem. Pada saat proses training, nilai bobot tersebut akan terus berubah sehingga didapatkan kesesuaian antara input dengan output dengan Error minimum. Dengan kata lain, pada proses training kita akan menentukan nilai minimum error yang bisa di tolerir oleh sistem, sistem tidak akan memberikan kepastian jawaban untuk suatu kasus yang tidak pernah dilatihkan kepadanya, pasti ada nilai Error dari jawaban sistem dengan jawaban yang seharusnya, nilai Error tersebut yang harus di-definisikan oleh kita sebelum melatih sistem sehingga sistem bisa menjawab dengan tingkat kebenaran semaksimal mungkin (misalnya : tingkat kebenaran sistem 99,9999% dengan nilai Error 0.0001). 

Daftar Pustaka :

1 . http://socs.binus.ac.id/2012/07/26/konsep-neural-network/

0 komentar:

Posting Komentar