P2 Teori Dasar Neural Network (1)
TEORI DASAR NEURAL NETWORK (1)
Jaringan syaraf tiruan (JST) atau Artificial Neural Network (ANN) adalah suatu model matematik atau komputasi untuk mensimulasikan struktur dan fungsi dari jaringan syaraf dalam otak.
Jaringan Syaraf Tiruan
Terdiri dari :
- Node atau unit pemroses (penjumlah dan fungsi aktivasi)
- Weight/ bobot yang dapat diatur
- Masukan dan Keluaran
Sifat :
Biological Neural Network
Jaringan Syaraf Tiruan (JST) Menirukan model otak manusia
Otak Manusia JST
Soma Node Dendrites Input/Masukan
Axon Output/Keluaran Synapsis Weight/ Bobot
Milyaran Neuron Ratusan Neuron Model Neuron Tanpa Bias Masukan / Input
p
1
w Penjumlahan
1 Fungsi Aktifasi
n=Σp .w
i i
p
2
w
2 F(y)
Σ
a=f(n) . . . w
i Model Neuron Dengan Bias Masukan / Input
p
1 Penjumlahan
w Fungsi Aktivasi
1 n=Σp .w
p
i i
2 w
2 F(y)
Σ . a=f(n) . b (Bias)=Fix . w i Neuron Sederhana
Model Matematis
X = input/masukan I = banyaknya input
W = bobot/weight.w Keluaran Penjumlah à n = Σp
i i
- Jumlah semua Input (p ) dikali bobot (w )
i i
Output/Keluaran Neuron= Fungsi Aktivasi ¨ Beberapa fungsi aktivasi a=f(n) ¨
Hardlimit functionà a =
¨
Linear Function à a = n
- n
¨
Sigmoid Function à
a = 1 /( 1+ e
)
1 Jika n ≥ 0
0 Jika n < 0 Grafik Fungsi Aktivasi
Hardlimiter
Purelinear Sigmoid a=f(n) Kegunaan Aktivasi Untuk pengambilan keputusan biasanya digunakan Hardlimit Untuk pengenalan pola/jaringan back propagation biasanya digunakan sigmoid
Untuk
prediksi/aproksimasi
linear biasanya Model McCulloch and Pitts
Neuron menghitung jumlah bobot dari setiap sinyal input dan
membandingkan hasilnya dengan nilai bias/threshold, b. Jika input
bersih kurang dari threshold, output neuron adalah -1. Tetapi, jika
input bersih lebih besar dari atau sama dengan threshold, neuron
diaktifkan dan outputnya ditetapkan +1 (McCulloch and Pitts, 1943).
iFungsi aktivasi ini disebut Fungsi Tanda (Sign Function). Sehingga output aktual
n p w = å i i i
dari neuron dapat ditunjukkan dengan:
1 = i
é ù ³ ì jika n b
1 +
- a
a sign p w b í =
= å i i Perceptron
Perceptron (Rosenblatt, 1958): JST training yang sederhana dipakaikan
prosedur algoritma training yang pertama kali. Terdiri dari neuron
tunggal dengan bobot synaptic yang diatur dan hard limiter.Operasinya didasarkan pada model neuron McCulloch dan Pitts.
Jumlah input yang telah diboboti dipakaikan kepada hard limiter:
menghasilkan output +1 jika input positif dan -1 jika negatif à mengklasifikasikan output ke dalam dua area A1 dan A2. i Proses Belajar
Target = Nilai yang diinginkan Output = Nilai yang keluar dari neuron Proses Belajar Target
Masukan
p
1 Keluaran
w
1
n=Σp .w a=f(n) + i i
p
- - 2
w
2 F(y)
Σ .
.
b w
i .
Error=target-a Analog Target à apa yang diinginkan Input/masukan à Kekurangan dan kelebihan/potensi Bobot à seberapa besar usaha
Output à hasil dari potensi AND kelemahan dikalikan dengan
usaha terhadap potensi OR kelemahanProses Belajar
Σ
p
1 Masukan w
1 F(y)
n=p
1 .w
1 a=f(n) Bobot Proses Belajar jika masukan positif
Untuk masukan positif penambahan bobot menyebabkan peningkatan
keluaranTarget (10) (6) Keluaran
Masukan
(3)
n=p .w a=f(n) +
1
1
p
- - w
F(y)
1
Σ
1
(2) F=linear Karena e ≥ 0 maka
e=10-6=4 (+)
keluaran a hrs dinaikan Error=target-a untuk menaikan a maka Proses Belajar jika masukan negatif Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran
Target (10) (-6) Keluaran
Masukan
(3)
n=p .w a=f(n) +
1
1
- - p
1 w F(y)
1
Σ
(-2) F=linear Karena e ≥ 0 maka
e=10-(-6)=16 (+)
keluaran a hrs dinaikan Error=target-a untuk menaikan a maka turunkan nilai w1 karena Proses Perceptron Belajar
Pada awalnya bobot dibuat kecil untuk menjaga jangan
sampai terjadi perbedaan yang sangat besar dengan target.
Bobot awal adalah dibuat random, umumnya dalam interval
[-0.5 – 0.5]Keluaran adalah proses jumlah perkalian antara masukan
dengan bobot.
Jika terjadi perbedaan antara keluaran dengan target, e(k)
= a(k) – t(k), k = iterasi ke- 1, 2, 3, maka:
Perceptron Learning Rule (Rosenblatt, 1960)
e(k) = a(k) – t(k) , k = iterasi ke- 1, 2, 3, …..- a(k) = keluaran neuron
- t(k) = target yang diinginkan
- e(k) = error/kesalahan
w(k+1) = w(k) + Δw(k) Δ w(k) = kec belajar x masukan x error
- = ŋ x p(k) x e(k)
ŋ = learning rate à kecepatan belajar (0< ŋ ≤1) ŋ besar belajar cepat à tidak stabil Langkah Pembelajaran Langkah pertama :
- Mengatur bobot w 1 , w 2 , ..., w n interval [-0.5 – 0.5], mengatur bias/threshold b, mengatur kec pembelajaran ŋ, fungsi aktivasi
- Mengaktifkan perceptron dengan memakai masukan p 1
- = å = i i i i
- i adalah jumlah input perceptron dan step adalah fungsi aktivasi
- e(k) = t(k) – a(k) t(k) = target,a(t)=keluaran perceptron
- Mengupdate bobot perceptron
- w i i (k) + Δw i
- w(k+1)à bobot baru w(k)à bobot yg lalu
- Δw (p) = ŋ x p (k) x e(k) i i
- Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi
- F(y)
- error
- a (
- =
- =
- = >=
- = Contoh Pembelajaran ¨ Hitung error
- (
- , ∈
- Untuk speech recognition
Inisialisasi Awal
(k), p 2 (k), ..., p i (k) dan target yang dikehendaki t(k). Hitunglah output aktual pada
iterasi ke-k = 1
Langkah kedua : Menghitung keluaran
ú û ù ê
ë é
b p w p p step k a 1 ) ( ) ( ) (
Langkah ke tiga : Menghitung error
(k+1) = w (k)
Langkah ke • Δw (p) adalah pengkoreksian bobot pada iterasi k, yang dihitung dengan i empat :
Langkah ke proses sampai keluaran = target atau mendekati lima : target pengulangan Melatih Perceptron: Operasi OR Variabel Input OR x x Fd
1
2
1
1
1
1
1
1
1 x 1 Fd=target Fungsi OR x 2 p
1 n=Σp .w i i w
1
Σ
a=f(n)
w
2 p
2
b Contoh Pembelajaran 1.
Langkah pertama : Inisialisasi Awal Mengatur bobot w , w interval [-0.5 – 0.5], w =0.1,
w (1)=0.3 (1) n 1 2
1 2
mengatur bias/threshold b=0.2, mengatur kec pembelajaran ŋ =0.2, fungsi aktivasi-> step
2. Langkah kedua : Menghitung keluaran
Mengaktifkan perceptron dengan memakai masukan p (k), p (k) dan
n 1 2
target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k =
1 2
é ù
1 ) step p ( 1 ) w ( 1 ) b = ê ú ë û i = 1 n (
å i i
1 ) p ( 1 ). w ( 1 ) p ( 1 ). w ( 1 ) b = + - 1 1 2 2 Contoh Pembelajaran n ( 1 ) p ( 1 ). w ( 1 ) p ( 1 ). w ( 1 ) b
1
1
2
2 n
X X ( 1 ) . 3 . 1 .
2
n ( 1 ) . 2 ( negatif ) = - maka a (
1 ) = Contoh Pembelajaran 3.
Langkah ke tiga : Menghitung error ¤
¤
¤
wi(k+1) = wi(k) + Δwi(k)
¤
maka w1(2) = 0.3(1) + 0 = 0.3 (tidak berubah)
n
Δ w1(1) = ŋ x pi(1) x e(1) = 0.2 x 0 x 0 = 0
w1(2) = 0.3(1) + Δw1(1)
e(k) = t(k) – a(k)
¤
wi(k+1) = wi(k) + Δwi(k)
¤
Mengupdate bobot perceptron
Langkah ke empat : Mengatur Bobot ¤
e(1) = 0 – 0 = 0 4.
¤
w2(2) = 0.3(1) + Δw2(1) Contoh Pembelajaran 5.
Langkah ke lima : pengulangan
Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah n ke dua dan ulangi proses sampai keluaran = target or mendekati target.
X X n b w p w p n
) 1 . 2 ( 2 .
n n
1 <
1
2
2
) 2 ( 2 (
) ). 2 ( ) 2 (
). 2 (
1 . 3 . ) 2 (
1 .
Hitung keluaran: ) 2 (
Contoh Pembelajaran l
(2)=1 target(2)=Fd(2)=1 l
2
(2)=0, p
1
(2)=0.1, p
2
(2)= 0.3 w
1
K=2 w
¤
e(2)= target(2) - a(2) = 1 - 0 =1 (ada error)
¨ Mengatur Bobot ¤
Mengupdate bobot perceptron
n
wi(k+1) = wi(k) + Δwi(k)
n
w1(3) = 0.3(2) + Δw1(2)
n
Δ w1(2) = ŋ x p1(1) x e(1) = 0.2 x 0 x 1 = 0
n maka w1(3) = 0.3(1) + 0 = 0.3 (tidak berubah) n
wi(k+1) = wi(k) + Δwi(k)
n
w2(3) = 0.3(2) + Δw2(2)
n
Δ w2(1) = ŋ x p2(1) x e(1) = 0.2 x 1 x 1 = 0.2 Multilayer Perceptron
Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung.
Neuron-neuron tersebut disusun dalam lapisan- lapisan yang terdiri dari satu lapisan input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer).
Lapisan input menerima sinyal dari luar, kemudian melewatkannya ke lapisan tersembunyi pertama, yang akan diteruskan sehingga akhirnya mencapai lapisan output. Multilayer Perceptron Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap layernya.
Setiap neuron pada input layer terhubung dengan setiap neuron pada hidden layer. Demikian juga,
setiap neuron pada hidden layer terhubung ke setiap neuron pada output layer.Multilayer Perceptron Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola pasangan masukan-target yang telah ditentukan.
Proses pelatihan adalah proses iteratif untuk menentukan bobot-bobot koneksi antara neuron yang paling optimal.
Kata back propagation yang sering dikaitkan pada MLP merujuk pada cara bagaimana gradien perubahan bobot dihitung.
Jaringan MLP yang sudah dilatih dengan baik akan Tahapan Dalam Penyelesaian Masalah Menggunakan Metode Jaringan Syarat Tiruan Menggunakan Multilayer Percepteron
1. Identifikasi masalah
Tahap ini merupakan identifikasi masalah yang hendak diselesaikan dengan
¤
jaringan syaraf tiruan, meliputi identifikasi jenis dan jumlah masukan serta 2. keluaran pada jaringan.
Menyiapkan training data set
Training data set merupakan kumpulan pasangan data masukan-keluaran
¤ berdasarkan pengetahuan yang telah dikumpulkan sebelumnya.
Banyaknya data set harus mencukupi dan dapat mewakili setiap kondisi yang
¤
hendak diselesaikan. Terbatasnya data set akan menyebabkan akurasi jaringan 3. menjadi rendah.
Inisialisasi dan pembentukan jaringan
Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan
¤ pemilihan fungsi pelatihan jaringan.
Penentuan topologi adalah penentuan banyaknya hidden layer dan penentuan
¤ jumlah neuron pada input layer, hidden layer dan output layer. Tahapan Dalam Penyelesaian Masalah Menggunakan Metode Jaringan Syarat Tiruan Menggunakan Multilayer Percepteron
4. Simulasi jaringan Simulasi jaringan dilakukan untuk melihat keluaran jaringan
¤
berdasarkan masukan, bobot neuron dan fungsi aktivasinya.
5. Pelatihan/training jaringan Sebelum melakukan pelatihan, dilakukan penentuan parameter
¤ training terlebih dahulu, seperti penentuan jumlah iterasi, learning rate, error yang diijinkan. Setelah itu dilakukan pelatihan yang merupakan proses iteratif untuk menentukan bobot koneksi antar neuron.
6. Menggunakan jaringan untuk pengenalan pola ¤ Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan pola. Kemampuan jaringan dalam mengenal pola sangat bergantung dari bagaimana jaringan tersebut dilatih.
Gradient Descent
Gradient descent (ascent) adalah algoritma optimasi orde
pertama.
Untuk menemukan minimum lokal dari fungsi menggunakan gradien
descent, diambil langkah sebanding dengan negatif dari gradien
(atau perkiraan gradien) dari fungsi pada titik sekarang.
Jika diambil langkah sebanding dengan gradien positif, maka
akan didapatkan maksimum lokal fungsi tersebut; prosedur ini kemudian dikenal sebagai gradient ascent Algoritma (maksimisasi) ¨ Mulai dari titik awal v ¨ Bergerak dari v ke v
1
dengan arah Ñf(v ) : v
1
= v + t Ñ f(v ) dengan t adalah solusi dari masalah optimisasi berikut: max f(v + t
Ñ f(v ) ) s.t t ≥ 0
¨ Langkah – langkah tersebut diulangi sampai
didapat nilai v dan v yang cukup dekat Algoritma (minimisasi) ¨ Mulai dari titik awal v ¨ Bergerak dari v ke v
1
dengan arah Ñf(v ) : v
1
= v - t Ñ f(v ) dengan t adalah solusi dari masalah optimisasi berikut: min f(v - t
Ñ f(v ) ) s.t t ≥ 0
¨ Langkah – langkah tersebut diulangi sampai
didapat nilai v dan v yang cukup dekat Ilustrasi
Contoh Soal
Gunakan metode steepest ascent untuk aproksimasi solusi dari
max = − − 3 − − 2
s.t
( *
Dengan titik awal v = (1,1) Jawab: Ñf(x , x ) = (– 2(x – 3), – 2(x – 2))
1
2
1
2
Ñ f(v ) = Ñf(1,1) = (4,2) Pilih t yang memaksimumkan
Ñ f(v + t f(v ) ) ® max f[(1,1)+t (4,2)] ® max f[1+4t 1+2t ]
0 ,
max = − 1 + 4 − 3 − 1 + 2 − 2
max = − −2 + 4 − −1 + 2 f ‘(t )=0 ® - 2(-2+4t )4 -2(-1+2t )2 = 0 20 – 40 t = 0 t = 0.5 v = [(1,1)+0.5(4,2)] = (3,2)
1 Karena Ñf(3, 2) = (0,0) maka iterasi dihentikan
Karena f(x , x ) adalah fungsi konkaf, maka (3,2)
1
2 Kesimpulan
Jaringan syaraf tiruan cocok digunakan untuk
menyelesaikan masalah yang tidak linier, yang
tidak dapat dimodelkan secara matematis.
Jaringan cukup belajar dari pasangan data
masukan dan target yang diinginkan, setelah
itu jaringan dapat mengenali pola yang mirip
dengan masukan ketika dilakukan pelatihan.
Karena itu, kinerja jaringan pun ditentukan oleh
banyaknya pasangan data set selama training. Kesimpulan
Bila data training cukup banyak dan konsisten, akurasi jaringan akan tinggi, sebaliknya bila data training tidak memadai, akurasi jaringan rendah.
Selain data training, akurasi jaringan juga ditentukan oleh pemilihan topologi yang tepat.
Proses pembentukan jaringan sangat melelahkan, dilakukan secara terus menerus hingga diperoleh jaringan yang paling baik. Tetapi setelah jaringan yang optimal ditemukan, proses pengenalan pola dapat dilakukan secara cepat, lebih cepat Kesimpulan
Metode MLP merupakan salah satu metode dari
Jaringan Syaraf Tirual (JST) sangat cocok untuk
menyelesaikan masalah yang tidak linear dan non
deterministik.Contoh aplikasinya antara lain: