You are on page 1of 70

Lecture Series on Artificial Intelligence

Neural Network
Dr. Ir. Kurnianingsih, S.T., M.T.
Outlines

• Linier Classifier: NN – Single Layer Perceptron

• Multiple Layer Perceptron (MLP)


Learning Objectives

• Understand neural networks

• Apply neural networks for single layer perceptron

• Apply neural networks for multiple layer perceptron


Neural Network
• Instead of traditional vonNeumann machines, researchers
wanted to build machines based on the human brain (membuat
robot semirip mungkin umannnya langsung contoh robot shopia
yang sudah dipindahkan Ketika anda berbicara dengan nya
bagaikan anda berbicara seperti manusia nyata bukan sebuah
roboit)
• An architecture as well as a learning technique Connection
Machine( mesin bisa mengenali suara,tulisan manusia ,mengenali
wajah)
• The data structure is a network of units that act as "neurons"
(mesin juga bisa menghendel pekerjaan manusia )
• Tested as a computing device originally by researchers such as
Jon Hopfield (Cal Tech), Hebb (1949), Minsky (1951), and
Rosenblatt (1957)
• Also models human performance
Voice recognition, handwriting recognition, face recognition
(traditionally computers bad at these tasks, humans great)
Sejarah NeuralNetwork
1943: Model Neural Network

• bertemunya beberapa unit input akan


memberikan computational power

• Adanya threshold
Warren S.Mcculloch (pembuat medul unit pertama kali Walter Pitts

1949 : learning rule


• alasan bahwa jika 2 neurons aktif pada
saat yang bersamaan maka kekuatan
antar mereka akan bertambah
Donaldo Hebb membuat aturan pembelajaran
ataiu learning lurr
Struktur Jaringan Syaraf Manusia
Power in Number
•Each neuron is not extremely powerful by itself
•Neuron switching time is ~ second
•Each message 100,000 times slower than a computer
switch (pada otak manusia bisa mencapai 1 M
•10 billion - 1 trillion neurons
•Each neuron has 1,000 - 100,000 connections
•Computational neural networks are inspired by biology,
but do not exactly imitate biology
Neuron
A neural network is made up of neurons, or processing elements
Konsep Dasar Neural Network
Model Neural Networktanpa Bias
Masukan /Inputs
p1

w1 Penjumlahan Fungsi Aktifasi

p2 n=Σpi.wi
w2
Σ
F(y)
a=f(n)
.

.
wi

pi
Bobot/Weight = bisa diatur
Model Neural Networkdengan Bias

Masukan /Inputs
p1

w1 Penjumlahan Fungsi Aktivasi

p2 n=Σpi.wi
w2
Σ F(y)
a=f(n)
.
.
. b (Bias)=Fix
wi
pi
Bobot/Weight = bisa diatur
Ilustrasi Kasus Backpropagation untuk mendeteksi eror atau propagation balik agar dapat
mengulang input supaya erornya bisa lebih kecil
Ilustrasi Proses Suapaya menghasilkan akurasi lebih besar karean adengan akurasi yang
besar bisa meperkecilnya eror
A Simple Neural Network– Single Perceptron/
single neural
Multi Layer Perceptron (MLP)
Neuron
• Each activation value xi is weighted by wi
• The output y is determined by the NN transfer function

n
y= 1 if i =1 wi xi > Threshold
0 otherwise

• This is a step transfer function


Neural Networks Learn a Function
• y = function(x1, x2, ..., xn)
• Perceptrons use one input neuron for each input parameter x1..xn
• y is computed using the transfer function applied to values coming in to the output
node
• Suppose we are trying to learn the concept “all binary strings of length five with a 1
in the first and last positions”
• 10101 -> 1
10100 -> 0
• 5 input units, 1 output unit
Input units are assigned value 0 or 1
In this case, output is 0 or 1
• Input units are always assigned a value
If we need symbolic inputs, can map to numeric inputs (convert to binary)
• f(2 legs, brown, flat, 3' high) = chair
Aplikasi Neural Networks
• Handwriting recognition
• Control problems
• Autonomous navigation
• Stock market / weather prediction
• Image recognition
Kapan menggunakan Neural Networks

• saat Input is high-dimensional (dimensi berbicara


tentang data atau punya banyak kolom atau fitur
{memiliki data set yng punya bisa ratusan kolom
atau dimensi yang sangat tinggi} discrete or real-
valued (e.g. raw sensor input)
• Output is discrete or real valued
• Output is a vector of values
• Possibly noisy data
• Form of target function is unknown
• Human readability of result is unimportant
Fase Komputasi
1. Training
2. Testing y adalah prediksi ,kalo mengecilkan menggunakan
• During
backpropagatrion
training, run perceptron on examples and compare network output
(y) to desired output (yd)
• Weights are adjusted after each training step using function
new old d
w =w + ( y − y) x
• Optionally, the threshold can be adjusted as well using function
new old d
t =t −( y − y)
• Notice that x is the value of the input feature, thus weights are changed
ONLY for nodes that are activated (used in the computation)
Parameter yangmempengaruhiPerformansi
• Initial weights (can be initialized to 0, usually better if
randomly set)
• Initial threshold, y = 1 if i w * x Threshold
i

• Transfer function
• Learning rate, w
new
= w
old
+ ( y
d
− y) x
• Threshold update function
• Number of epochs
Fungsi Aktivasi
• Digunakan untuk menentukan apakah hasil dari
perhitungan jaringan benar atau salah.
• Fungsi aktivasi dibagi 2:
a. Linear Activation Function
b. Non-linear Activation Function
Fungsi Aktivasi – Linear

f(x) = x
Fungsi Aktivasi – Non Linear

• Sigmoid
• tanh
• ReLU
• Leaky ReLU
• ELU
Fungsi Aktivasi – Sigmoid (Non Linear)
• Tepat jika digunakan untuk model yang memprediksi probabilitas karena output probabilitas 0 atau 1.
• Hanya saja outputnya not zero centered, sehingga membuat outputnya susah dioptimasi.
• Exp ( ) is a bit compute expensive
Fungsi Aktivasi – tanh (Non Linear)
• Rentang: -1 sampai 1
• Keuntungan: jika inputnya negative akan di-map-kan negative, jika inputnya 0 akan
di-map-kan mendekati 0.
• Zero centered
• Digunakan untuk klasifikasi antara 2 kelas.
Fungsi Aktivasi – Rectified Linear Unit (ReLU)
• Fungsi aktivasi yang paling sering digunakan
• f(z) akan bernilai 0 jika z kurang dari 0 dan f(z) sama dengan z jika z di atas atau sama
dengan 0
• Komputasinya efisien dan lebih cepat dibanding sigmoid atau tanh, tapi tidak zero centered.
Fungsi Aktivasi - Leaky ReLU
• Untuk mengatasi permasalahan di ReLU, jika nilai negative maka akan dikalikan dengan konstanta.
• Jika di ReLU f(y) = 0, maka menghasilkan max(0, y).
• Jika dalam Leaky ReLU f(y) = ay, maka menghasilkan max (ay, y) dimana a biasanya diberi nilai 0.01
Fungsi Aktivasi – Exponential Linear Unit (ELU)
• Memiliki seluruh kelebihan ReLU
• Keluaran lebih dekat dengan 0
• Komputasinya membutuhkan exp ( )
Mengapa perlu ada Bias?
• Membantu neuron mempermudah menghitung weighted sum, biar bisa
dimasukkan ke fungsi aktivasi.
• Agar neuron yang kita jalankan itu tidak mati di tengah jalan saat kita
belum mendapatkan weight yang optimal dan error mendekati nol (0).
Single Layer Perceptron (SLP)
Linier Classifier
Linier Classifier
Linier Classifier
Linier Classifier
Linier Classifier
Linier Classifier
Single Layer Perceptron– Gradient Descent
Single Layer Perceptron– Gradient Descent
0`1(wi/w2).bias

Delta teta 1 untuk mendapatkan update teta satu bariu dengan carat teta lama di kurangi perubahan

g= aktivition fungtion

yang bisa di ubah hanya teta,weight dan bias(nilai velue yng bisa diubah) agar menghasilkan eror yang lebih kecil.
Single Layer Perceptron– Gradient Descent
Single Layer Perceptron– Gradient Descent
Single Layer Perceptron– Gradient Descent
Single Layer Perceptron– Gradient Descent

1. Inisialisasi Bobot dan Bias secara random


2. Hitung error function, jika error masih besar:
a. Lakukan update bobot
b. Lakukan update bias
Contoh Kasus
Single Layer Perceptron (SLP)
Single Layer Perceptron
I1

W = 0.5

I2
W =- 0.4 t = 0.0

W = -0.3

I3

I I I Penjumlahan Output
1 2 3

0 0 1 (0*0.5) + (0*-0.4) + (1*-0.3) = -0.3 0

0 1 1 (0*0.5) + (1*-0.4) + (1*-0.3) = -0.7 0

1 0 1 (1*0.5) + (0*-0.4) + (1*-0.3) = 0.2 1

1 1 1 (1*0.5) + (1*-0.4) + (1*-0.3) = -0.2 0


Single Layer Perceptron– Operasi AND

x=[0 0; x
W=?
t=[0;
0 1; 0;
y t = 0.0
1 0; W=?
0;
1 1]; 1
W=?
1];
Membuat Kode Python
• Load dataset untuk 2 kelas
• Mendefinisikan fungsi: sigmoid
• Mendefinisikan fungsi algoritma pembelajaran gradient descent:
• Error
• Sum of cross product
• Perubahan bobot dan bias
• Update bobot
• Update bias
• Prediksi
• Mendefinisikan fungsi akurasi
• Mendefinisikan fungsi training dan validasi
• Memvisualisasikan error dan akurasi setiap epoch untuk 300 epoch
Multi Layer Perceptron (MLP)
Multi Layer Perceptron
Backpropagation
SLP - MLP
SLP - MLP
SLP - MLP
Multi Layer Perceptron
Multi Layer Perceptron
MLP - Backpropagation
MLP - Backpropagation
MLP
MLP - Backpropagation
MLP - Backpropagation
MLP - Backpropagation
Output Layer in MLP
1. Binary Representation
2. Each Class Representation (One Hot Encoding)
Arsitektur MLP
Dua Hidden Layer dan One Hot Encoding
Membuat Kode Python
• Load dataset – visualisasi data
• Mendefinisikan fungsi: sigmoid
• Mendefinisikan fungsi algoritma pembelajaran gradient descent:
- Inisialisasi
- Error
- Feedforward
- Backpropagation
- Prediksi
• Mendefinisikan fungsi akurasi
• Mendefinisikan fungsi training (80%) dan validasi (20%)
• Mem-visualisasikan error dan akurasi setiap epoch untuk 300 epoch

You might also like