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 :