• Sonuç bulunamadı

İçerik DeepLearning Derin Öğrenme

N/A
N/A
Protected

Academic year: 2021

Share "İçerik DeepLearning Derin Öğrenme"

Copied!
16
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Derin Öğrenme Deep Learning

Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Bu dersin sunumları, “Simon Haykin, Neural Networks and Learning Machines, Prentice Hall, 2016.” kitabı kullanılarak hazırlanmıştır.

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

(2)

Öğrenme nedir?

Öğrenme sürecinde, model içerisindeki parametreler problemin çözümü için optimize edilir.

Parametre sayısı geliştirilen modelin öğrenme kapasitesiyle ilişkilidir.

Modelin parametrelerinin optimizasyonu için

deterministik/nondeterministik farklı algoritmalar kullanılabilir.

Modellenen sisteme ait veriler eğitim sürecinde geliştirilen modele giriş olarak verilir.

Denetimli öğrenme yapan sistemlerde çıkış verisi de modele verilir.

3

Öğrenme nedir?

Dinamik bir sistem aşağıdaki gibi M adet giriş ve bir tane çıkışa sahip olsun.

Sistemde,

i.

sıradaki girişleri gösterir.

Eğitim veriseti aşağıdaki gibi tanımlanabilir.

Eğitim setindeki her satır için istenen çıkış ise

d(i)

ile gösterilir.

(3)

Öğrenme nedir?

Sistem aşağıdaki gibi modellenebilir.

Modelin parametreleri her girişin ağırlık değerleridir (

w

).

Öğrenme sürecinde istenen sonucu elde edecek

w

ağırlıkları belirlenir.

5

Öğrenme nedir?

Modelde ileri doğru geçişte giriş değerlerine göre ağırlıklar kullanılarak çıkış hesaplanır.

(4)

Öğrenme nedir?

Parametrelerin optimizasyonu sürecinde ağırlıkların optimal çözümü (

w

*) bulunur.

E

(w*)

maliyet fonksiyonu ağırlık vektörüne göre minimize edilir (unconstraint optimization).

Optimalite için gerekli şart,

7

Öğrenme nedir?

 gradient operatörüdür,

E(w) hata vektörünün gradient operatörüdür,

Her iterasyonda hesaplanan yeni ağırlık değerleri ile maliyet fonksiyonu daha küçük değer alır.

(5)

Öğrenme nedir?

Steepest descent algoritmasında ağırlıklar gradyan vektörünün ters yönünde değiştirilir.

E(w) gradient operatörüdür,

Burada,

ağırlıkların değişme hızını ayarlar ve öğrenme oranı veya adım boyutu olarak adlandırılır.

9

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

(6)

Perceptron öğrenme kuralı w

i+1

= w

i

+ Dw

i

Dw

i

=  * x

i

* (d - o)

 = öğrenme oranı (0-1 arasında) w

i

= i.bağlantının ağırlık değeri D w

i

= Ağırlık değişim değeri x

i

= i.girişe girilen değer d = İstenen çıkış değeri o = Hesaplanan çıkış değeri

11

x1 x2 d

1.0 1.1 3.3 0.9 1.4 2.7

… … …

2.2 3.1 0.8

w0 .5

.5 x1

x2 -1

w1

w2 o

Perceptron öğrenme kuralı

w0

a .5

.5 x1

x2 -1

w1

w2 o

x1 x2 d

1.0 1.1 3.3 0.9 1.4 2.7

… … …

2.2 3.1 0.8

(w1, w2) (w1+Dw1, w2 +Dw2)

Minimum hata

(7)

Perceptron öğrenme kuralı

13

Sum Square Error (SSE)

Mean Squared Error (MSE)

P = Eğitim kümesi boyutu

K = Çıkış vektörü boyutu (Çıkış neuronsayısı)

K

j

j p j

p P

p

o P d

MSE

1

2 , ,

1

) 1 (

K

j

j p j

p P

p

o d

SSE

1

2 , ,

1

) (

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

(8)

Çok katmanlı ileri beslemeli ağlar

15

Çok katmanlı ağlarda geriye yayılım (backpropagation) yöntemiyle öğrenme gerçekleştirilebilir.

Eğitim verisetindeki her satır için çıkış hatası hesaplanır.

Çıkış hatasına göre ağırlıklar çıkıştan girişe doğru değiştirilir.

Ağırlıkların değişimini hesaplamak için gradyan vektörü kullanılır.

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ağlarda geriye yayılım (backpropagation) yöntemiyle ağırlıklar değiştirilir (öğrenme).

Eğitim seti:

-

{(xm, tm); 1≤ m ≤ P}

Hata = t - o

o Hatanın geri yayılımı

(9)

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

17

Çok katmanlı ileri beslemeli ağlarda öğrenme

Çok katmanlı ağlarda hataların farklarının karelerinin toplamı ağırlıkları değiştirmek için geri yayılım yapılır.

Eğitim verisetindeki her satır için ağırlıklar çıkıştan girişe doğru değiştirilir.

w w

w   D

(10)

Çok katmanlı ileri beslemeli ağlarda öğrenme

19

w1,2= w1,2+ Dw1,2

Dw1,2=(∂E / ∂O2)(∂O2/ ∂net2) (∂net2/ ∂w1,2)

∂E / ∂O2 = (∂ / ∂O2)(T2-O2)2

∂E / ∂O2 = -2(T2-O2)

∂O2/ ∂net2= (∂ / ∂net2)f(net2)

∂O2/ ∂net2= f ' (net2)

∂net2/ ∂w1,2= O1,1

Dw1,2=  (T2-O2) f '(net2) O1,1

Sigmoid f(x) = 1/(1+exp(-x)) f '(x) = exp(-x)/(1+exp(-x)) 2

= 1/(1+exp(-x)) – 1/(1+exp(-x)) 2= f(x) (1 – f(x)) I1

I2 I3 I4 I5 I6

O1

O2 w1,2

1 2 3 4

1

2

Layer 2 Layer 1

O1,1

Çok katmanlı ileri beslemeli ağlarda öğrenme

wi1,2= wi1,2+ Dwi1,2

Dwi1,2=(∂E / ∂O2)(∂O2/ ∂net2) (∂net2/ ∂O1,2) (∂O1,2/ ∂net1,2)

(∂net1,2/ ∂wi1,2)

∂net2/ ∂O1,2= w2,2

∂O1,2/ ∂net1,2= f '(net1,2)

∂net1,2/ ∂wi1,2= I1

Dwi1,2=  (T2-O2) f '(net2) w2,2 f’(net1,2) I1

Dwi1,2=(∂E / ∂O1)(∂O1/ ∂net1) (∂net1/ ∂O1,2) (∂ / ∂net1,2) (∂net1,2/ ∂wi1,2)

I1 I2 I3 I4 I5 I6

O1

O2 w2,1

1 2 3 4

1

2 Layer 2 Layer 1

w2,2 wi1,2

Dwi1,2=  (T1-O1) f '(net1) w2,1 f’(net1,2) I1

O1,2

(11)

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

21

Öğrenme hızı

Öğrenme hızı çok yüksek olursa kararsızlık olur, çok düşük olursa öğrenme çok uzun süre alır.

(12)

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

23

Örnek: Ses tanıma

Problem: İki farklı kişinin “merhaba” kelimesini söylemesinin öğretilmesi

1. Kişi = Ahmet 2. Kişi = Mehmet

Frekans dağılımı 60 örnek ile alınsın.

(13)

Örnek: Ses tanıma

25

Ağ yapısı = ileri beslemeli çok katmanlı 60 giriş (her frekans örneği için) 6 gizli node

2 çıkış (0-1 ise “Ahmet”, 1-0 ise “Mehmet”)

Örnek: Ses tanıma

Ahmet

Mehmet

0 1

1

(14)

Örnek: Ses tanıma

27

Ahmet

Mehmet

0.43 0.26

0.73 0.55

Örnek: Ses tanıma

Ahmet

Mehmet

0.26 – 1 = 0.74

0.73 – 1 = 0.27 0.55 – 0 = 0.55 0.43 – 0 = 0.43

(15)

Örnek: Ses tanıma

29

Ahmet

Mehmet

0.01 0.99

0.99 0.01

İçerik

Öğrenme nedir?

Perceptron öğrenme kuralı

Çok katmanlı ileri beslemeli ağlar

Çok katmanlı ileri beslemeli ağlarda öğrenme

Öğrenme hızı

Örnek: Ses tanıma

Örnek: Karakter tanıma

(16)

Örnek: Karakter tanıma

31

A B

E D C

Output Layer

Input Layer

Hidden Layer

• İleri beslemeli çok katmanlı ağ

• Backpropagation öğrenme metodu

Referanslar

Benzer Belgeler

 Çoğu makine öğrenmesi algoritması, öğrenme algoritmasının davranışını kontrol etmek için farklı ayarlara/parametrelere sahiptir (öğrenme hızı, derin ağda

 Sinapslar veya sinir uçları, neuronlar arasında etkileşimi sağlayan temel bileşenlerdir..  Plastisite, sinir sisteminin çevresine adapte olarak gelişmesine

 Pooling katmanı çıkışı 3D alınır ve fully connected ANN ile 1D vektör çıkışı elde

Hatanın geri yayılımı (Gizli katman 1 ve gizli katman 2 arasındaki ağırlıklar için) Yeni ağırlık değerleri.. Yeni

 AE’ların eğitimi sürecinde ağırlıklar gradient descent ile değiştirilir.  AE, eğitim yaparken veriye göre kendi etiketlerini kendisi ürettiği için

 Tekrarlayan sinir ağları (recurrent neural networks) önceki çıkışı veya gizli katmanın önceki durumlarını giriş olarak alır..  Herhangi bir t zamanındaki

 Boltzmann makinesinin giriş düğümleri arasında ve çıkış düğümleri arasında bağlantıya sahip olmayan (kısıtlanmış, restricted) alt türüdür..  Birden çok

 Gizli katmanlardaki neuron sayısına bağlı olarak öğrenme hızı değişmektedir (Şekilde 3 katmanlı DBN için değişim