30

Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi
Page 2: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Topik Hari Ini

• Heteroassociative memory

• Hebb rule

Page 3: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Asosiasi

• Pada proses pelatihan, terjadi pembentukan

asosiasi antara hal-hal yang berbeda

• Contoh: bau roti di toko roti, warna, wajah

Page 4: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Sutan Sjahrir (1909–1966)

Page 5: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Yang manakah Sutan Sjahrir?

Page 6: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Asosiasi

• Sebuah jaringan associative memorymemodelkan memori manusia

• Asosiasi terjadi antara pasangan vektor 𝑠dan 𝑡

• Jika 𝑠 sama dengan 𝑡, maka jaringan yang terbentuk dinamakan autoassociative memory

• Jika tidak, maka dinamakan heteroassociative memory

Page 7: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Asosiasi

• Algoritme pelatihan yang dapat digunakan:

Hebb rule dan delta rule

Page 8: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi
Page 9: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Sumber: Fausett (1994)

Page 10: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Algoritme Pelatihan Hebb Rule

1. Inisialisasi semua bobot dengan nilai 0

2. Untuk setiap data latih 𝑠 dan target 𝑡, lakukan langkah 3–5

3. Set nilai aktivasi setiap neuron input:𝑥𝑖 = 𝑠𝑖

4. Set nilai aktivasi neuron output:𝑦𝑗 = 𝑡𝑗

5. Ubah nilai bobot:𝑤𝑖𝑗′ = 𝑤𝑖𝑗 + 𝑥𝑖𝑦𝑗

Page 11: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Algoritme Pelatihan Delta Rule

(Buka materi Adaline)

4. Hitung nilai 𝑦𝑖𝑛:

𝑦𝑖𝑛 = 𝑏 +

𝑖

𝑥𝑖𝑤𝑖

5. Update nilai bobot:

𝑏′ = 𝑏 + 𝛼 𝑡 − 𝑦𝑖𝑛𝑤𝑖′ = 𝑤𝑖 + 𝛼 𝑡 − 𝑦𝑖𝑛 𝑥𝑖

Δ𝑤 = 𝛼 𝑡 − 𝑦𝑖𝑛 𝑥𝑖

Page 12: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Algoritme Heteroassociative Memory Net

1. Inisialisasi bobot

2. Untuk setiap vektor input, lakukan langkah

3–5

3. Set nilai vektor input ke neuron input

4. Hitung 𝑦𝑖𝑛:

𝑦𝑖𝑛𝑗 =

𝑖

𝑥𝑖𝑤𝑖𝑗

Page 13: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Algoritme Heteroassociative Memory Net

5. Hitung nilai aktivasi (untuk target bipolar):

𝑦𝑗 =

1 𝑗𝑖𝑘𝑎 𝑦𝑖𝑛𝑗 > 0

0 𝑗𝑖𝑘𝑎 𝑦𝑖𝑛𝑗 = 0

−1 𝑗𝑖𝑘𝑎 𝑦𝑖𝑛𝑗 < 0

Untuk target biner:

𝑦𝑗 = ቊ1 𝑗𝑖𝑘𝑎 𝑥 > 00 𝑗𝑖𝑘𝑎 𝑥 ≤ 0

Page 14: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Contoh

1. (1, 0, 0, 0)

2. (1, 1, 0, 0)

3. (0, 0, 0, 1)

4. (0, 0, 1, 1)

1. (1, 0)

2. (1, 0)

3. (0, 1)

4. (0, 1)

𝑠 𝑡

Page 15: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Contoh

Sumber: Fausett (1994)

Page 16: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Heteroassociative Memory Net

import numpy as np

def binstep(y, th=0):return [1 if i > th else 0 for i in y]

def hebb_assoc_train(s, t):w = np.zeros((len(s[0]), len(t[0])))

for r, row in enumerate(s):for c, col in enumerate(row):

w[c] = [w[c, i] + col * t[r, i] for i in range(len(t[r]))]

return w

Page 17: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Heteroassociative Memory Net

def hebb_assoc_test(x, w):y = [np.dot(x, w[:, i]) for i in range(len(w[0]))]

return binstep(y)

s = [[1, 0, 0, 0],[1, 1, 0, 0],[0, 0, 0, 1],[0, 0, 1, 1]]

t = np.array([[1, 0],[1, 0],[0, 1],[0, 1]])

w = hebb_assoc_train(s, t)y = hebb_assoc_test([0, 0, 1, 1], w)

print(w)print(y)

Page 18: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Heteroassociative Memory Net

• Bobot pelatihan yang didapatkan:

2 0

1 0

0 1

0 2

2

0

1

0

0

1

0

2

Page 19: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Heteroassociative Memory Net

• Vektor pelatihan yang digunakan:(1, 0, 0, 0) (1, 0)(1, 1, 0, 0) (1, 0)(0, 0, 0, 1) (0, 1)(0, 0, 1, 1) (0, 1)

• Pengujian dengan vektor yang mirip:(0, 1, 0, 0) memberikan hasil (1, 0)

• Pengujian dengan vektor yang tidak mirip:(0, 1, 1, 0) memberikan hasil (1, 1) (polatidak dikenali)

Page 20: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

• Nilai bobot dapat dihitung menggunakan

outer product

𝑢1𝑢2𝑢3

𝑣1 𝑣2 =

𝑢1𝑣1 𝑢1𝑣2𝑢2𝑣1 𝑢2𝑣2𝑢3𝑣1 𝑢3𝑣2

Page 21: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

• 𝑠1 = (1, 0, 0, 0)

• 𝑡1 = (1, 0)

1000

1 0 =

10

00

00

00

Page 22: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

• 𝑠2 = (1, 1, 0, 0)

• 𝑡2 = (1, 0)

1100

1 0 =

11

00

00

00

Page 23: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

• 𝑠3 = (0, 0, 0, 1)

• 𝑡3 = (0, 1)

0001

0 1 =

00

00

00

01

Page 24: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

• 𝑠4 = (0, 0, 1, 1)

• 𝑡4 = (0, 1)

0011

0 1 =

00

00

00

11

Page 25: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

𝑊 =

10

00

00

00

+

11

00

00

00

+

00

00

00

01

+

00

00

00

11

=

21

00

00

12

Page 26: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pelatihan Menggunakan Outer Product

def hebb_assoc_train_outer(s, t):p = [np.outer(np.reshape(s[i], (-1, 1)), t[i]) for

i in range(len(s))]

return np.sum(p, 0)

Page 27: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pengujian Menggunakan Perkalian Matriks

• Pengujian juga dapat dilakukan dengan

perkalian matriks

Page 28: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pengujian Menggunakan Perkalian Matriks

• 𝑠3 = (1,0,0,0)

𝑠3𝑤 = 1,0,0,0

21

00

00

12

= 2,0

y = (1,0)

Page 29: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi

Pengujian Menggunakan Perkalian Matriks

def hebb_assoc_test_mat(x, w):return binstep(np.matmul(x, w))

Page 30: Topik Hari Inirendicahya.lecture.ub.ac.id/files/2019/05/6-JST-Jaringan... · 2019. 5. 11. · Asosiasi • Sebuah jaringan associative memory memodelkan memori manusia • Asosiasi