TEORI DASAR NEURAL NETWORK (1)
Pengantar Deep Learning
Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) atau Artificial Neural Network (ANN) adalahsuatu model matematik atau komputasi untuk mensimulasikan struktur danfungsi dari jaringan syaraf dalam otak.
Terdiri dari :
• Node atau unit pemroses (penjumlah dan fungsi aktivasi) • Weight/ bobot yang dapat diatur • Masukan dan Keluaran
Sifat :
• Adatif• Mampu belajar
• Non-linear
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
Σ
p1
p2
pi
.
.
.
Penjumlahanw1
w2
wi
Bobot/Weight = bisa diatur
F(y)n=Σpi.wi
a=f(n)
Fungsi Aktifasi
Model Neuron Dengan Bias
Masukan / Input
Σ
p1
p2
pi
.
.
.
Penjumlahanw1
w2
wiBobot/Weight = bisa diatur
F(y)n=Σpi.wi
a=f(n)
Fungsi Aktivasi
b (Bias)=Fix
Neuron Sederhana
Model Matematis
X = input/masukan I = banyaknya input
W = bobot/weight
Keluaran Penjumlah à n = Σpi.wi
• Jumlah semua Input (pi) dikali bobot (wi)
Output/Keluaran Neuron=
• a = f(n) f = fungsi aktivasi
Fungsi Aktivasi
¨ Beberapa fungsi aktivasi a=f(n)
¨ Hardlimit functionà a =
¨ Linear Function à a = n
¨ Sigmoid Function à a = 1 /( 1+ e-n )
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 digunakan linear
Model McCulloch and Pitts
Neuron menghitung jumlah bobot dari setiap sinyal input danmembandingkan hasilnya dengan nilai bias/threshold, b. Jika inputbersih kurang dari threshold, output neuron adalah -1. Tetapi, jikainput bersih lebih besar dari atau sama dengan threshold, neurondiaktifkan dan outputnya ditetapkan +1 (McCulloch and Pitts, 1943).
îíì
<-³+
=
=å=
bnjikabnjika
a
wpni
iii
11
1
Fungsi aktivasi ini disebut Fungsi Tanda (Sign Function). Sehingga output aktual dari neuron dapat ditunjukkan dengan:
úû
ùêë
é-= å
=
i
iii bwpsigna
1
Perceptron
Perceptron (Rosenblatt, 1958): JST training yang sederhana dipakaikanprosedur algoritma training yang pertama kali. Terdiri dari neurontunggal 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
iii bwp
10
Proses Belajar
Target = Nilai yang diinginkan
Output = Nilai yang keluar dari neuron
Proses Compare (membandingkan) antara output dengan target• Jika terjadi perbedaan maka weight/bobot di adjust/atur sampai nilai ouput=
(mendekati) nilai target
Target
Σ
p1
p2
Masukan
pi
.
.
.
w1
w2
wi
F(y)n=Σpi.wi a=f(n)
b
+-
Error=target-a
Keluaran
Error digunakan untuk pembelajaran /mengatur bobot
Proses Belajar
Analog
Target à apa yang diinginkan
Input/masukan à Kekurangan dan kelebihan/potensi
Bobot à seberapa besar usaha
Output à hasil dari potensi AND kelemahan dikalikan denganusaha terhadap potensi OR kelemahan
Error à Kesalahan/Introspeksi diri à Perkuat potensiOR/AND lemahkan kekurangan
Proses Belajar
Σp1
Masukan
w1 F(y)n=p1.w1
a=f(n)Bobot
Proses Belajar jika masukan positif
Target
Σp1
Masukan
w1 F(y)n=p1.w1 a=f(n) +
-
Error=target-a
Keluaran
F=linear
(10)
(2)
(3)
(6)
e=10-6=4 (+)Karena e ≥ 0 maka keluaran a hrs dinaikan untuk menaikan a maka naikan nilai w1 karena masukan positif w1 next= w1 old + delta w1
Untuk masukan positif penambahan bobot menyebabkan peningkatankeluaran
Proses Belajar jika masukan negatif
Σp1
Masukan
w1 F(y)n=p1.w1 a=f(n) +
-
Error=target-a
Keluaran
Target
F=linear
(10)
(-2)
(3)
(-6)
e=10-(-6)=16 (+)Karena e ≥ 0 maka keluaran a hrs dinaikan untuk menaikan a maka turunkan nilai w1 karena masukan negatifw1 next= w1 old + (- delta w1)
Untuk masukan negatif penambahan bobot menyebabkan penurunankeluaran
Proses Perceptron Belajar
Pada awalnya bobot dibuat kecil untuk menjaga jangansampai 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 masukandengan bobot.
Jika terjadi perbedaan antara keluaran dengan target, e(k)= a(k) – t(k), k = iterasi ke- 1, 2, 3, maka:• Bobot diupdate/diatur sedikit demi sedikit untuk mendapatkan keluaran
yang sesuai dengan target w(k+1) = w(k) + Δw(k)
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
ŋ kecil belajar lambat à stabil
Langkah Pembelajaran
Langkah pertama :
Inisialisasi Awal
• Mengatur bobot w1, w2, ..., wn interval [-0.5 – 0.5], mengaturbias/threshold b, mengatur kec pembelajaran ŋ, fungsi aktivasi
Langkah kedua : Menghitung
keluaran
• Mengaktifkan perceptron dengan memakai masukan p1(k), p2(k), ..., pi(k) dan target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1
• i adalah jumlah input perceptron dan step adalah fungsi aktivasi
úû
ùêë
é-= å
=
i
iii bpwppstepka
1)()()(
Langkah ke tiga : Menghitung error
• e(k) = t(k) – a(k) t(k) = target,a(t)=keluaran perceptron
Langkah ke empat :
Mengatur Bobot
• Mengupdate bobot perceptron
• wi(k+1) = wi(k) + Δwi(k) • w(k+1)à bobot baru w(k)à bobot yg lalu• Δwi(p) adalah pengkoreksian bobot pada iterasi k, yang dihitung dengan
• Δwi(p) = ŋ x pi(k) x e(k)
Langkah Pembelajaran
Langkah kelima :
pengulangan
• Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkahke dua dan ulangiproses sampai keluaran= target atau mendekatitarget
Langkah Pembelajaran
Melatih Perceptron: Operasi OR
Variabel Input OR
x1 x2 Fd
0 0 0
0 1 1
1 0 1
1 1 1
Fungsi OR
Σp1
p2
w1
w2
F(y)n=Σpi.wi
a=f(n)b
x1
x2
+-
Fd=target
Perceptron
error
Contoh Pembelajaran
1. Langkah pertama : Inisialisasi Awaln Mengatur bobot w1, w2 interval [-0.5 – 0.5], w1(1)=0.3 w2(1)=0.1,
mengatur bias/threshold b=0.2, mengatur kec pembelajaran ŋ =0.2, fungsi aktivasi-> step
2. Langkah kedua : Menghitung keluarann Mengaktifkan perceptron dengan memakai masukan p1(k), p2(k) dan
target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1
bwpwpn -+= )1().1()1().1()1( 2211
úû
ùêë
é-= å
=
2
1)1()1()1(
iii bwpstepa
îíì
<³
=0)1(00)1(1
)1(njikanjika
a
bwpwpn -+= )1().1()1().1()1( 2211
2.01.003.00)1( -+= XXn
0)1(
)(2.0)1(
=
-=
amaka
negatifn
Contoh Pembelajaran
Contoh Pembelajaran
3. Langkah ke tiga : Menghitung error¤ e(k) = t(k) – a(k) ¤ e(1) = 0 – 0 = 0
4. Langkah ke empat : Mengatur Bobot¤ Mengupdate bobot perceptron¤ wi(k+1) = wi(k) + Δwi(k)¤ w1(2) = 0.3(1) + Δw1(1)¤ Δw1(1) = ŋ x pi(1) x e(1) = 0.2 x 0 x 0 = 0
n maka w1(2) = 0.3(1) + 0 = 0.3 (tidak berubah) ¤ wi(k+1) = wi(k) + Δwi(k)¤ w2(2) = 0.3(1) + Δw2(1)¤ Δw2(1) = ŋ x pi(1) x e(1) = 0.2 x 0 x 0 = 0
n maka w2(2) = 0.1(1) + 0 = 0.1 (tidak berubah)
Contoh Pembelajaran
5. Langkah ke lima : pengulangann Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah
ke dua dan ulangi proses sampai keluaran = target ormendekati target.
Contoh Pembelajaran
l K=2w1(2)= 0.3 w2(2)=0.1, p1(2)=0, p2(2)=1 target(2)=Fd(2)=1
l Hitung keluaran:
0)2(0)2(1.0)2(
2.01.013.0.0)2()2().2()2().2()2( 2211
=<-=
-+=-+=
ann
XXnbwpwpn
Contoh Pembelajaran
¨ Hitung error ¤ 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
n maka w2(3) = 0.1(1) + 0.2 = 0.3 (berubah sebelumnyaw2(2)=0.1)
Multilayer Perceptron
Multi-Layer Perceptron adalah jaringan syaraftiruan feed-forward yang terdiri dari sejumlahneuron yang dihubungkan oleh bobot-bobotpenghubung.
Neuron-neuron tersebut disusun dalam lapisan-lapisan yang terdiri dari satu lapisan input (inputlayer), satu atau lebih lapisan tersembunyi (hiddenlayer), dan satu lapisan output (output layer).
Lapisan input menerima sinyal dari luar, kemudianmelewatkannya ke lapisan tersembunyi pertama,yang akan diteruskan sehingga akhirnya mencapailapisan 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.
Setiap neuron, kecuali pada layer input, memiliki input tambahan yang disebut bias.
Bilangan yang diperlihatkan pada gambar di atas digunakan untuk mengidentifikasi setiap nodepada masing-masing layer.
Multilayer Perceptron
Kemudian, jaringan dilatih agar keluaran jaringan sesuaidengan pola pasangan masukan-target yang telahditentukan.
Proses pelatihan adalah proses iteratif untuk menentukanbobot-bobot koneksi antara neuron yang paling optimal.
Kata back propagation yang sering dikaitkan pada MLPmerujuk pada cara bagaimana gradien perubahan bobotdihitung.
Jaringan MLP yang sudah dilatih dengan baik akanmemberikan keluaran yang masuk akal jika diberimasukan yang serupa (tidak harus sama) dengan polayang dipakai dalam pelatihan.
Tahapan Dalam Penyelesaian Masalah Menggunakan MetodeJaringan 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 sertakeluaran pada jaringan.
2. 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 jaringanmenjadi rendah.
3. 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 MetodeJaringan 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 parametertraining terlebih dahulu, seperti penentuan jumlah iterasi, learningrate, error yang diijinkan. Setelah itu dilakukan pelatihan yangmerupakan proses iteratif untuk menentukan bobot koneksi antarneuron.
6. Menggunakan jaringan untuk pengenalan pola¤ Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk
pengenalan pola. Kemampuan jaringan dalam mengenal polasangat bergantung dari bagaimana jaringan tersebut dilatih.
Gradient Descent
Gradient descent (ascent) adalah algoritma optimasi ordepertama.
Untuk menemukan minimum lokal dari fungsi menggunakan gradiendescent, diambil langkah sebanding dengan negatif dari gradien(atau perkiraan gradien) dari fungsi pada titik sekarang.
Jika diambil langkah sebanding dengan gradien positif, makaakan didapatkan maksimum lokal fungsi tersebut; prosedur inikemudian dikenal sebagai gradient ascent
Gradient descent juga dikenal sebagai steepest descent,sedangkan gradient ascent dikenal dengan steepest ascent.
Algoritma (maksimisasi)
¨ Mulai dari titik awal v0
¨ Bergerak dari v0 ke v1 dengan arah Ñf(v0) :v1 = v0 + t0 Ñf(v0)
dengan t0 adalah solusi dari masalah optimisasiberikut:
max f(v0 + t0 Ñf(v0) )s.t t0≥ 0
¨ Langkah – langkah tersebut diulangi sampaididapat nilai vi dan vi+1 yang cukup dekat
Algoritma (minimisasi)
¨ Mulai dari titik awal v0
¨ Bergerak dari v0 ke v1 dengan arah Ñf(v0) :v1 = v0 - t0 Ñf(v0)
dengan t0 adalah solusi dari masalah optimisasiberikut:
min f(v0 - t0 Ñf(v0) )s.t t0≥ 0
¨ Langkah – langkah tersebut diulangi sampaididapat nilai vi dan vi+1 yang cukup dekat
Ilustrasi
Contoh Soal
Gunakan metode steepest ascent untuk aproksimasi solusi darimax 𝑧 = − 𝑥( − 3 * − 𝑥* − 2 *
s.t 𝑥(, 𝑥* ∈ 𝑅*
Dengan titik awal v0 = (1,1)
Jawab: Ñf(x1, x2) = (– 2(x1 – 3), – 2(x2 – 2))
Ñf(v0) = Ñf(1,1) = (4,2)Pilih t0 yang memaksimumkan
f(v0 + t0 Ñf(v0) ) ® max f[(1,1)+t0(4,2)]
® max f[1+4t0 , 1+2t0]max 𝑧 = − 1 + 4𝑡0 − 3 * − 1 + 2𝑡0 − 2 *
Contoh Soal
max 𝑧 = − 1 + 4𝑡0 − 3 * − 1 + 2𝑡0 − 2 *
max 𝑧 = − −2 + 4𝑡0 * − −1 + 2𝑡0 *
f ‘(t0)=0 ® - 2(-2+4t0)4 -2(-1+2t0)2 = 020 – 40 t0 = 0t0 = 0.5
v1 = [(1,1)+0.5(4,2)] = (3,2)Karena Ñf(3, 2) = (0,0) maka iterasi dihentikanKarena f(x1, x2) adalah fungsi konkaf, maka (3,2) adalah solusi yang dicari
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
bila dibandingkan metoda lainnya.
Kesimpulan
Metode MLP merupakan salah satu metode dariJaringan Syaraf Tirual (JST) sangat cocok untukmenyelesaikan masalah yang tidak linear dan nondeterministik.
Contoh aplikasinya antara lain:
• Untuk speech recognition• Untuk image recognition• Untuk software mesin translasi
TERIMA KASIH
Top Related