• Sonuç bulunamadı

Derin Öğrenme Deep Learning

N/A
N/A
Protected

Academic year: 2021

Share "Derin Öğrenme Deep Learning"

Copied!
28
0
0

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

Tam metin

(1)

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

Training

Değerlendirme

CNN mimarileri

CNN uygulamaları

2

(2)

CNN’lerin eğitimi, ANN eğitimi gibi gradient descent ile backpropagation kullanılarak yapılır.

Bir CNN aşağıdaki gibi tanımlanan bir fonksiyondur.

Burada,

x

görüntüleri,

w

ağ parametrelerini (ağırlıklar, bias),

o

softmax çıkışını gösterir.

Eğitim sürecinde çıkıştaki hatayı minimize edecek ağırlıklar hesaplanır.

Burada,

y

hesaplanan çıkışı gösterir.

Ağırlıklar gradient descent ile iteratif bir şekilde değiştirilir.

3

( , ) of x w

( , ( , )) E y f x w

( 1) ( ) E w k w k

w

  

Training – İleri geçiş

Aşağıdaki ağ için ağırlıklar ve bias değerleri rastgele başlatılır.

4

(3)

5

Matris işlemi

ReLU işlemi Örnek Layer-1

Training – İleri geçiş

6

Matris işlemi

Sigmoid işlemi Örnek Layer-2

(4)

7

Matris işlemi

Softmax işlemi Örnek Layer-3

Training – Backpropagation

8

Örnek

Hata İstenen çıkış (y) = [1.0 0.0 0.0]

Hesaplanan çıkış (Oout) = [0.2698 0.3223 0.4078]

(5)

9

Sigmoid

Backpropagation için türevler

ReLU

Softmax

Training – Backpropagation

10

Hatanın geri yayılımı (Gizli katman 2 ve çıkış katmanı arasındaki ağırlıklar için)

(6)

11

Hatanın geri yayılımı (Gizli katman 2 ve çıkış katmanı arasındaki ağırlıklar için)

Training – Backpropagation

12

Hatanın geri yayılımı (Gizli katman 2 ve çıkış katmanı arasındaki ağırlıklar için)

(7)

13

Hatanın geri yayılımı (Gizli katman 2 ve çıkış katmanı arasındaki ağırlıklar için) Learning rate = 0,01

Yeni ağırlık değerleri

Training – Backpropagation

14

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

(8)

15

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

Training – Backpropagation

16

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

(9)

17

Hatanın geri yayılımı (Gizli katman 1 ve gizli katman 2 arasındaki ağırlıklar için) Sonuç matrisi

Training – Backpropagation

18

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

(10)

19

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 ağırlık değerleri

Training – Backpropagation

20

Hatanın geri yayılımı (Giriş katmanı ve gizli katman 1 arasındaki ağırlıklar için)

(11)

21

Hatanın geri yayılımı (Giriş katmanı ve gizli katman 1 arasındaki ağırlıklar için) Tüm girişler pozitif

olduğundan hepsi 1 olur.

Training – Backpropagation

22

Hatanın geri yayılımı (Giriş katmanı ve gizli katman 1 arasındaki ağırlıklar için)

(12)

23

Hatanın geri yayılımı (Giriş katmanı ve gizli katman 1 arasındaki ağırlıklar için)

Yeni ağırlık değerleri

Training – Backpropagation

24

Tüm ağırlıkların yeni değerleri Ağırlıkların başlangıç değerleri

Ağırlıkların yeni değerleri

(13)

FC katmanı

FC katmanında klasik ANN ağırlıkları gibi eğitim yapılır.

Giriş ile ağırlıkların çarpıldığı LeNet mimarisinde geriye yayılım için çarpma işlemi alınır.

İleriye doğru geçişte

y

l-1(önceki katman çıkışı) değeri saklanır.

25

1

1 1

1

l l

*

l

l

l

l l l l

l

l l

l l l l

y w y y

E E E

y y y y w

y

E E E

w y

w y w y

  

 

   

  

  

   

İleri geçiş

Ardışık katman çıkışları arasında geriye geçiş

İlgili ağırlık için değişim değeri

Training – Backpropagation

Convolution katmanı

Çıkıştaki hataya göre filtredeki ağırlık (piksel) değerleri değişir.

Şekilde O çıkış matrisini, X giriş matrisini ve F filtre matrisini göstermektedir.

İleriye doğru geçişte filtre kaydırılarak çıkış değerleri hesaplanır.

26

(14)

Convolution katmanı

Geriye yayılımda hatanın filtre matrisindeki değerlere göre kısmi türevi alınır.

27

Training – Backpropagation

Pooling katmanı

Max pooling yapılırsa, hata değeri sadece maksimum olana doğrudan aktarılır (

window size = p*q

).

Average pooling yapılırsa, hata değeri window size’a bölünerek hepsine eşit aktarılır.

28 1

1

0, ( ( , )) ! ( ( , ))

( , )

,

l l

l

l

if y x y y x p y q

L x p y q L

otherwise

y y

 



1

( , ) 1

l * l

L L

x p y q

y p q y

Max pooling

Average pooling

(15)

Training

Değerlendirme

CNN mimarileri

CNN uygulamaları

29

Değerlendirme

Bir CNN modeli, özellik çıkarımı ve sınıflandırıcının birleşimi olarak düşünülebilir.

Convolution+pooling katmanları özellik çıkarımı yapar (iki göz, uzun kulaklar, dört ayaklı, tekerlek, vb.).

Fully connected katmanı bir sınıflandırıcıdır

ve girişteki görüntünün kedi, köpek, otomobil, vb. olma olasılığını hesaplar.

CNN modeli, girilen bir görüntü ve atanan bir etiket için otomatik olarak özellik algılaması gerçekleştirir.

30

(16)

Training

Değerlendirme

CNN mimarileri

CNN uygulamaları

31

CNN mimarileri

Yaygın kullanılan CNN mimarileri:

LeNet-5

AlexNet

VGG-16

ResNet

GoogLeNet

32

(17)

LeNet-5

1998 yılında yayınlanmış olan ve ilk başarılı sonucu veren CNN modelidir.

Banka çekleri üzerindeki sayıların okunması için geliştirilmiştir.

MNIST* veriseti üzerinde başarılı bir şekilde uygulanmıştır.

*Modified National Institute of Standards and Technology 33

CNN mimarileri

LeNet-5

LeNet-5 modelinde, boyut azaltma adımlarında average pooling yapılmaktadır.

Aktivasyon fonksiyonu olarak sigmoid ve hiperbolik tanjant kullanılmaktadır.

FC katmanına 16x5x5=400 parametre girer.

Çıkışta 0–9 arasındaki rakamlar için 10 sınıflı softmax vardır.

LeNet-5 60 bin parametre hesaplanmaktadır.

34 Filtre sayısı: 6

Filtre: 5x5 Stride: 1

Filtre: 2x2

Stride: 2 Filtre sayısı: 16 Filtre: 5x5 Stride: 1

Filtre: 2x2

Stride: 2 Ağırlık sayısı:

400*120 Ağırlık sayısı:

120*84 01 2 3 4 56 7 8 9

(18)

AlexNet

CNN modellerinin ve derin öğrenmenin popüler hale gelmesini sağlayan ilk çalışmadır.

Alex Krizhevsky, Ilya Sutskever and Geoffrey Hinton tarafından 2012 yılında geliştirilmiştir.

Art arda convolution ve pooling katmanları olmasından dolayı LeNet modeline benzemektedir.

Aktivasyon fonksiyonu olarak ReLU kullanılmaktadır.

Pooling katmanlarında max-pooling kullanılmaktadır.

35

CNN mimarileri

AlexNet

Yaklaşık olarak 60 milyon parametre hesaplanmaktadır.

ILSVRC* yarışmasında sınıflandırma doğruluk oranını

%74,3’ten %83,6’ya yükselterek önemli başarı sağlamıştır.

36

*ImageNet Large Scale Visual Recognition Competition

(19)

VGG-16

VGG-16 modeli convolution katmanlarını 2’li ya da 3’lü olarak kullanılır.

FC katmanında 7x7x512=4096 öznitelik vektörü giriş alınır.

FC katmanı çıkışında 1000 sınıflı softmax sonucu hesaplanır.

Yaklaşık 138 milyon parametre hesabı yapılmaktadır.

37

CNN mimarileri

VGG-16

Girişten çıkışa doğru matrislerin yükseklik ve genişlikleri azalırken derinlik değeri (kanal sayısı) artmaktadır.

38

(20)

VGG-16

Her konvolüsyon katanında farklı filtreler kullanılarak görüntünün öznitelikleri elde edilir.

39

CNN mimarileri

ResNet

Eğitim sürecinde ilk katmanlara gelirken öğrenme hızı önemli oranda düşer (vanishing gradient).

40

(21)

ResNet

ResNet (Residual Net) modelinde, ardışık olmayan katmanlar arasında veri aktarılır.

Katman çıkışı iki sonraki katman girişine eklenir.

41

CNN mimarileri

ResNet

ResNet modelinde, eğitim hatası katman sayısı arttıkça azalır.

42

(22)

GoogLeNet

Her katmanda birden fazla convolution ve max pooling yapılır.

Her katmanın sonunda convolution ve max pooling sonuçları concatenation yapılır.

43

CNN mimarileri

GoogLeNet

Diğer CNN uygulamalarından farklı olarak FC katmanı sadece en son katmanda değil, ara katmanlarda da yer alır.

44

(23)

GoogLeNet

GoogLeNet katman yapısı aşağıdaki gibidir.

45

Yardımcı sınıflandırıcı

İçerik

Training

Değerlendirme

CNN mimarileri

CNN uygulamaları

46

(24)

CNN, görüntüyle ilgili problemlerde başarıyla uygulanan bir modeldir.

CNN, tavsiye sistemleri, NLP ve birçok farklı alanda başarı ile uygulanmıştır.

CNN, giriş verisindeki önemli özellikleri kendisi otomatik olarak algılar.

CNN modeli, insandan daha iyi ve daha hızlı görüntü sınıflandırabilmektedir.

CNN modeli çok hızlı ve yüksek doğrulukta nesne tanımlayabilmektedir.

47

CNN uygulamaları

48

Nesne tanımlama

(25)

49

Nesne tanımlama

CNN uygulamaları

50

Gerçek zamanlı nesne tanımlama (CNN)

https://www.youtube.com/watch?v=WZmSMkK9VuA

(26)

51

Gerçek zamanlı nesne tanımlama (CNN) https://youtu.be/70Kv8Rr72ag

CNN uygulamaları

52

Görüntü renklendirme (CNN) https://youtu.be/ys5nMO4Q0iY

(27)

53

Sürücüsüz otomobil (CNN+RNN) https://youtu.be/hLaEV72elj0

CNN uygulamaları

54

Robotik (CNN+RNN+FLC) - https://youtu.be/tf7IEVTDjng

(28)

55

Robotik (CNN+RNN+FLC)

https://www.youtube.com/watch?v=kgaO45SyaO4

Referanslar

Benzer Belgeler

Kenarların orta noktalarını birbirine birleştirdiğimizde üçgenin alanı dört eşit parçaya

Taşlar, yıllar sonra kızımın masum ellerinden benim kadın ellerime akı- yor.. “Beş taş oynayalım

Katman sitilleri ve özellikleri: Katman sitili verebilmek için düğmesi ya da katmanın simgesi üzerinde iki kere tıklanır.6. Katmanlarla

Bağımlı değişken ile bağımsız değişken arasındaki ilişkinin yönüne ve kuvvetini belirleyen korelasyon katsayılarına bakıldığında ise kamu

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

 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

 Discriminator loss function, discriminator hatasını değerlendirir (gerçek veriyi sahte veya sahte veriyi gerçek sınıflandırma)..  Discriminator hata değerine göre

 Kısmi türev değeri büyük olan bir parametre için öğrenme oranı hızlı azalır, küçük olan için azalma yavaştır.  Başlangıçtan itibaren gradyan değerlerinin