1.
Pengertian Artificial Neural Network Artificial (ANN)
Artificial Neural Network Artificial
(ANN) atau Jaringan Syaraf Tiruan merupakan sebuah teknik atau pendekatan
pengolahan informasi yang terinspirasi oleh cara kerja sistem saraf biologis,
khususnya pada sel otak manusia dalam memproses informasi. Elemen kunci dari
teknik ini adalah struktur sistem pengolahan informasi yang bersifat unik dan
beragam untuk tiap aplikasi. Neural Network terdiri dari sejumlah besar elemen
pemrosesan informasi (neuron) yang saling terhubung dan bekerja bersama-sama
untuk menyelesaikan sebuah masalah tertentu, yang pada umumnya dalah masalah
klasifikasi ataupun prediksi.
Cara kerja Neural Network
dapat dianalogikan sebagaiman halnya manusia belajar dengan mengunakan contoh
atau yang disebut sebagai supervised learning. Sebuah Neural Network
dikonfigurasi untuk aplikasi tertentu, seperti pengenalan pola atau klasifikasi
data, dan kemudian disempurnakan melalui proses pembelajaran. Proses belajar
yang terjadi dalam sistem biologis melibatkan penyesuaian koneksi sinaptik yang
ada antara neuron, dalam halnya pada Neural Network penyesuaian koneksi
sinaptik antar neuron dilakukan dengan menyesuaikan nilai bobot yang ada pada
tiap konektivitas baik dari input, neuron maupun output.
Neural Network memproses
informasi berdasarkan cara kerja otak manusia. Dalam hal ini Neural Network
terdiri dari sejumlah besar elemen pemrosesan yang saling terhubung dan bekerja
secara paralel untuk memecahkan suatu masalah tertentu. Di sisi lain, komputer
konvensional menggunakan pendekatan kognitif untuk memecahkan masalah; dimana
cara pemecahan masalah haruslah sudah diketahui sebelumnya untuk kemudian
dibuat menjadi beberapa instruksi kecil yang terstruktur. Instruksi ini
kemudian dikonversi menjadi program komputer dan kemudian ke dalam kode mesin
yang dapat dijalankan oleh komputer.
Neural Network, dengan
kemampuannya dapat digunakan untuk memperoleh pengetahuan dari data yang rumit
atau tidak tepat, serta juga dapat digunakan untuk mengekstrak pola dan
mendeteksi tren yang terlalu kompleks untuk diperhatikan baik oleh manusia atau
teknik komputer lainnya. Sebuah Neural Network yang telah terlatih dapat
dianggap sebagai “ahli” dalam kategori pemrosesan informasi yang telah
diberikan untuk dianalisa. Ahli ini kemudian dapat digunakan untuk menyediakan
proyeksi terkait kemungkinan kondisi di masa mendatang serta menjawab
pertanyaan “bagaimana jika?”
Neural Network dan
algoritma komputer konvensional tidaklah saling bersaing tetapi saling
melengkapi. Beberapa tugas atau masalah lebih cocok diselesaikan dengan
pendekatan algoritmik seperti halnya operasi aritmatika, di sisi lain ada
tugas-tugas yang lebih cocok untuk jaringan saraf, misalnya prediksi pergerakan
data time-series. Bahkan, sejumlah besar tugas lainnya memerlukan sistem yang
menggunakan kombinasi dari keddua pendekatan tersebut, dimana biasanya komputer
konvensional digunakan untuk mengawasi Neural Network agar dapat memberikan
kinerja maksimum.
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
2.
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.
3.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.
4. Permodelan
jaringan pada ANN
Permodelan jaringan pada ANN ada 3
macam, yaitu :
1. Single layer
Dalam ANN, neuron disusun dalam
bentuk lapisan (layer). Pembentukan ANN yang paling sederhana yaitu single
layer. Cara kerja dari single layer, input layer yang berasal
dari sumber node di proyeksikan langsung ke output layer dari neuron (
node komputasi), tetapi tidak berlaku sebaliknya. Permodelan ini merupakan
jenis jaringan feedforward yang dapat dilihat pada gambar 1.
Pada gambar tersebut input dan output memiliki 4 node, namun yang dimaksud
dengan single layer yaitu output dari jaringan, sedangkan inputnya tidak
memiliki pengaruh karena pada saat melakukan input tidak terjadi proses
komputasi
Gambar 1. Single Layer (credit:
Haykin)
2. Multi layer
Pada single layer apabila
terdapat tambahan satu atau dua hidden layer maka jaringan akan terganggu
karena input dan output dari jaringan tidak
dapat melihat hidden layer yang di masukkan. Sehingga
memerlukan jaringan yang bisa menampung nya yaitu bernama multi layer.
Cara kerja multi layer adalah input layer menyuplai input
vektor pada jaringan, kemudian input yang dimasukkan
melakukan komputasi pada layer yang kedua, lalu output dari layer yang kedua
digunakan sebagai input dari layer yang ketiga dan seterusnya. Ilustrasi
jaringan multi layer dapat di lihat pada gambar 2.
Gambar 2. Multi Layer (credit:
Haykin)
3. Recurrent network
Reccurent network terbentuk
karena pada jaringan single layer dan multi layer harus
memiliki feedback untuk dirinya sendiri pada setiap loop jaringan nya,
pada reccurent network jaringan tidak memerlukan feedback untuk
dirinya sendiri melainkan feedback dari input yang digunakan.
Ilistrasi jaringan reccurent network dapat dilihat pada gambar
3.
Gambar 3. Reccurent Layer (credit:
Haykin)
Rule knowledge representation pada
ANN
a.
Input yang mirip dari class yang
mirip akan menghasilkan representasi yang mirip dalam jaringan.dan
diklasifikasikan pada kelas yang sama
b.
Item yang akan di kategorikan dengan
kelas yang terpisah harus di beri representasi yang berbeda dalam sebuah
jaringan
c.
Jika ada fitur penting, maka harus
disediakan jumlah neuron yang besar yang meliputi item pada sebuah jaringan
d.
Informasi prior dan invariances
harus di bangun ke dalam desain ANN ketika mereka tersedia, sehingga desain
jaringan yang sedeharna tidak harus mempelajari nya.
5. Metode –
metode pada ANN
1. Single Layer Perceptron (SLP)
Sebelum penulis membahas tentang
SLP, penulis akan menjelaskan tentang perceptron yang merupakan
salah satu jaringan feedforward yang terdiri dari sebuah
retina yang digunakan untuk akuisisi data yang mempunyai fixed-weighted
connection dengan neuron layer yang
pertama. Fixed weight layer diikuti dengan minimal
satu weight layer. SLP merupakan sebuah perceptron yang
memiliki satu variable weight dan satu variable layer
dari output neuron Ω. Teknik dari SLP dapat ditunjukkan pada gambar 4,
sebuah SLP dengan dua input dan satu output
neuron. Sebuah perceptron dengan beberapa output
neuron dapat juga dianggap seperti beberapa perceptron berbeda
dengan input yang sama. Fungsi Boolean AND dan OR adalah salah satu
contoh yang dengan mudah di susun.
Gambar 4. teknik SLP (credit:
Kriesel)
Learning algoritma
pada perceptron dengan fungsi aktivasi binary neuron yang ditunjukkan oleh
gambar 5. Learning algoritma pada perceptron mengurangi weight ke output
neuron yang mengembalikan 1 daripada 0 dan di kasus yang berbeda
weight nya meningkat
Gambar 5. algoritma SLP (credit:
Kriesel)
Contohnya kita memiliki single layer
perceptron dengan set weight yang random untuk training sample. Set dari
training sample yang di panggil P, yang berisi pasangan dari training sampe p
dan input t.
Dalam persamaan tersebut kita harus
mengetahui tentang total error err sebagai fungsi dari weight. Total error naik
atau berkurang tergantung pada bagaimana kita mengubah weight. Ilustrasi
error dari ANN dengan dua trainable connection w1 dan w2 dapat dilihat pada
gambar 6.
Gambar 6. Ilustrasi error (credit:
Kriesel)
Persamaan fungsi error pada
SLP sebagai berikut :
2. Multi Layer Perceptron (MLP)
Multi layer perceptron adalah
sebuah perceptron dengan dua atau lebih trainable weight layer. Pada
SLP dapat membagi input space dengan sebuah hyperlane sedangkan
MLP dapat mengklasifikasi convex polygon dari proses hyperlane dengan
mengenali pattern yang terletak di atas hyperlane.
MLP merupakan representasi dari fungsi pendekatan universal. Sebuah n-layer
perceptron adalah n-variable weight layer dan n+1
neuron layer dengan neuron layer 1 sebagai input
layer. Ilustrasi dari MLP dapat dilihat pada gambar 7.
Gambar 7. ilustrasi MLP (credit:
Kriesel)
Penanganan fungsi error pada MLP
menggunakan backpropagation error, yang dapat diaplikasikan
pada multi perceptron dengan fungsi aktivasi semi
linear. Walaupun fungsi binary threshold dan fungsi yang lain
tidak lagi mendukung tetapi kita bisa menggunakan fungsi Fermi atau hyperbolic
tangent. Backpropagation adalah prosedur gradient dengan
fungsi error Err(W) menerima semua n-weight sebagai
argument dan menugaskannya sebagai output error n dimensional.
Ilustrasi fungsi error yang digunakan ditunjukkan oleh gambar
8.
Gambar 8. fungsi error pada MLP
(credit: Kriesel)
Setelah dilakukan pembuktian
persamaan yang fungsi yang dihasilkan :
Referensi :
https://ciel.sbm.itb.ac.id/post/read/artificial-neural-network.html
https://socs.binus.ac.id/2012/07/26/konsep-neural-network/
https://machinelearning.mipa.ugm.ac.id/2018/05/24/artificial-neural-network-ann/
No comments:
Post a Comment