Sie sind auf Seite 1von 22

Artificial Neural

Network
Definition
A neural network is a massively parallel distributed processor made up of simple
processing units that has a natural propensity for storing experiential knowledge
and making it available for use. It resembles the brain in two respects :
1. Knowledge is acquired by the network from its environment through a learning
process
2. Interneuron connection strengths, known as synaptic weights, are used to store
the acquired knowledge

The procedure used to perform the learning process is called a learning algorithm,
the function of which is to modify the synaptic weights of the network in an orderly
fashion to attain a desired design objective
Models of A Neuron
• A neuron is an information-processing unit that is fundamental to the
operation of a neural network
Models of A Neuron
• A set of synapses, or connecting links, each of which is characterized
by a weight or strength of its own
• An adder for summing the input signals, weighted by the respective
synaptic strengths of the neuron
• An activation function for limiting the amplitude of the output of a
neuron. The activation function is also referred to as a squashing
function, in that it squashes (limits) the permissible amplitude range
of the output signal to some finite value
• Typically, the normalized amplitude range of the output of a neuron is
written as the closed unit interval [0,1], or alternatively, [-1,1].
Perceptron
• Menggunakan model feed-forward, dimana input dikirim langsung
menuju neuron, kemudian diproses dan menghasilkan sebuah output.
Perceptron (Received Input)
Diketahui sebuah perceptron memiliki 2 inputan yaitu x1 dan x2.

Input 0 : x1 = 12
Input 1 : x2 = 4
Perceptron (Weight Inputs)
•   input yang dikirimkan ke dalam neuron harus diberikan bobot terlebih dahulu (dikalikan
Setiap
dengan sejumlah nilai dengan kisaran -1 dan 1). Untuk inisialiasi, nilai bobot diberikan secara
acak. Misal :

Weight 0 : 0.5
Weight 1 : -1

Setelah itu masing-masing input yang diketahui sebelumnya dikalikan dengan bobot awal yang
telah diinisialisasi sehingga :

Input 0 * Weight 0 12 * 0.5 = 6


Input 1 * Weight 1 4 * -1 = -4
Perceptron (Sum Inputs)
Nilai input yang sudah dikalikan dengan bobot tadi kemudian di
jumlahkan

Sum = 6 + (-4) = 2
Perceptron (Generate Output)
• 
Output dari perceptron dibangkitkan dengan cara melewati hasil penjumlahan sebelumnya
ke dalam fungsi aktivasi. In the case of a simple binary output, the activation function is
what tells the perceptron whether to “fire” or not. You can envision an LED connected to the
output signal: if it fires, the light goes on; if not, it stays off.

Dalam kasus ini fungsi aktivasi yang digunakan adalah nilai Sign dari hasil Sum sebelumnya.

Sehingga nilai output nya adalah :


Output = Sign(Sum) Sign(2) +1
Perceptron (Algorithm)
1. Untuk setiap input, kalikan input tersebut dengan bobotnya masing-
masing.
2. Jumlahkan semua nilai input yang sudah dikalikan dengan bobotnya
3. Hitung output dari perceptron berdasarkan hasil penjumlahan pada
langkah 2 yang dilewati ke dalam fungsi aktivasi (the sign of the
sum)
Simple Pattern Recognition Using
Perceptron
• Berikut adalah contoh dari perceptron yang akan
digunakan untuk proses klasifikasi suatu titik ada
pada sisi mana.
• Misalkan perceptron memiliki 2 inputan
(koordinat x dan y dari suatu titik). Dengan
menggunakan fungsi aktivasi Sign, maka output
yang dihasilkan antara +1 atau -1.
• Input data diklasifikasikan berdasarkan nilai dari
sign outputnya. Dimana jika nilai nya adalah -1
maka titik tersebut ada pada sisi di bagian bawah,
sebaliknya titik tersebut ada di sisi bagian atas
Simple Pattern Recognition Using
Perceptron
• Berikut adalah diagram dari perceptron yang akan digunakan

• Dari diagram tersebut dapat kita lihat bahwa terdapat 2 input yaitu x
dan y, dan bobot masing-masing input adalah weight x dan weight y.
Simple Pattern Recognition Using
Perceptron
• Dari diagram tersebut kita akan menemukan beberapa permasalahan dalam kasus ini. Misalkan titik x
dan y adalah (0,0). Seberapa pun jumlah bobot nya hasil penjumlahannya pasti akan selalu bernilai 0.
Padahal titik (0,0) bisa saja berada di sisi bawah atau sisi atas dari garis.
• Untuk mengatasi masalah tersebut, perceptron memerlukan satu inputan lagi yang disebut sebagai
bias input.
• Bias input selalu bernilai 1 dan juga memiliki bobot.
Simple Pattern Recognition Using
Perceptron
Kembali ke permasalahan ketika titik x dan y (0,0).
0 * weightx = 0
0 * weighty = 0
1 * weightbias = weightbias
Output dari penjumlahan diatas adalah 0 + 0 + weightbias. Oleh karena
itu, nilai bias dapat menjawab permasalahan sebelumnya. Dimana jika
bobot dari bias bernilai positif, maka (0,0) akan berada di atas garis.
Sedangkan jika bobot dari bias bernilai negative maka (0,0) akan berada
di bawah garis. Dengan demikian, itu akan “mem-bias-kan”
pemahaman perceptron tentang posisi garis yang relatif terhadap (0,0)
Simple Pattern Recognition Using
Perceptron
• Untuk dapat melakukan proses klasifikasi dengan benar, maka suatu
neural network dapat dilatih dengan menggunakan metode
supervised learning.
• Dengan metode ini, neural network diberikan suatu inputan yang
sudah diketahui hasilnya apa. Sehingga, neural network dapat
mencari tahu jika ia berhasil memprediksi hasil yang benar. Jika gagal,
maka ia akan melakukan pembelajaran dari kesalahan itu dan
menyetel ulang bobot-bobotnya.
Simple Pattern Recognition Using
Perceptron
Sehingga secara garis besar langkah-langkah nya adalah sebagai
berikut :
1. Memberikan perceptron suatu input yang sudah diketahui hasilnya
2. Perceptron melakukan proses untuk menebak hasil dari input
tersebut
3. Menghitung nilai error-nya. (Did it get the answer right or wrong?)
4. Menyetel ulang semua bobot berdasarkan hasil perhitungan nilai
error
5. Kembali ke langkah 1
Simple Pattern Recognition Using
Perceptron
• Untuk mendapatkan nilai error dari perceptron kita dapat menghitung selisih dari output yang
diinginkan dengan output yang ditebak oleh perceptron.

ERROR = DESIRED OUTPUT – GUESS OUTPUT

• Dalam contoh kasus ini, kemungkinan output yang dihasilkan adalah +1 dan -1. Sehingga
terdapat tiga kemungkinan error.
Simple Pattern Recognition Using
Perceptron
•• Nilai
  error tersebut merupakan faktor penentu bagaimana perceptron melakukan proses
penyetelan ulang bobotnya.
• Untuk setiap bobot tertentu, yang harus dihitung adalah perubahan bobot atau di simbolkan
dengan .
• Untuk menentukan nilai bobot baru, kita dapat memperolehnya dengan cara menjumlahkan
bobot lama dengan
Simple Pattern Recognition Using
Perceptron
•   mengatur seberapa lama sebuah perceptron melakukan proses penyesuaian bobot agar
Untuk
mendapatkan nilai yang optimal, diberikan suatu konstanta yaitu Learning Constant.

Dengan menambahkan pengali berupa Learning Constant maka implikasinya adalah :


• Jika Learning Constant semakin besar, maka bobot akan berubah secara drastis. Hal ini dapat
membantu kita menemukan solusi dengan waktu yang cepat. Namun, perubahan dengan
tingkatan nilai yang besar memungkinkan kita melampaui nilai bobot yang optimal.
• Sebaliknya, jika Learning Constant semakin kecil, bobot akan di-update secara perlahan dan
memerlukan waktu pelatihan (training) yang lebih lama. Namun, hal tersebut menjadikan
network untuk membuat perubahan dengan tingkatan nilai yang sedikit, sehingga dapat
meningkatkan akurasinya secara keseluruhan.
Next
• Perceptron dapat memiliki multiple inputs, namun hanya memiliki satu buah neuron. Perceptron memiliki kemampuan yang sangat
terbatas, dimana perceptron hanya dapat menyelesaikan linearly separable problems. (contoh kasus pada gambar di sebelah kiri)

• Pada gambar di sebelah kanan, untuk memisahkan titik yang berwarna hitam dan titik yang berwarna abu-abu kita tidak
dapat menarik sebuah garis lurus (non-linearly separable)
Next
• Untuk memecahkan masalah tersebut, maka digunakan arsitektur multi-
layered perceptron (Jaringan yang terbentuk dari banyak neuron).
• Layer pertama adalah input neuron, yang akan menerima sinyal inputan;
Layer kedua dinamakan “hidden” layer, karena layer tersebut tidak
terhubung secara langsung dengan nilai input dan output; Layer ketiga
adalah output neuron, yang darimana kita akan membaca hasilnya.
• Proses training lebih kompleks dibandingkan dengan simple perceptron,
dikarenakan terdapat banyaknya connection yang terhubung di setiap layer
nya.
• Solusi untuk mengoptimalkan bobot pada multi-layered network dikenal
sebagai backpropagation. Output yang dihasilkan didapat dari cara yang
sama pada perceptron, yaitu hasil perkalian input dengan bobotnya
dijumlahkan dan di fed-forward melalui network. Perbedaannya disini
adalah melewati layer tambahan sebelum menuju ke output. Proses
training nya juga sama seperti perceptron (menghitung error). Akan tetapi,
nilai error tersebut harus di fed-backward melalui network.
Referensi
• Neural Networks and Learning Machines Third Edition by Simon
Haykin
• The Nature of Code by Daniel Shiffman. Chapter 10 – Neural Networks

Das könnte Ihnen auch gefallen