You are on page 1of 61

Derin 

Yapay Sinir 
Ağları ve Derin 
Öğrenme’ye Kısa 
Bir Giriş
Dr. Öğr. Üyesi Emre Akbaş
Bilgisayar Mühendisliği
BMO Semineri – 24 Kasım 2018 Orta Doğu Teknik Üniversitesi

24.11.2018 - BMO Semineri 1


Yanıtlamaya çalışacağımız sorular
● Nedir bu “derin öğrenme”? 
● Neden her yerde “derin öğrenme” görüyoruz?
● Derin öğrenme modellerinin klasik yapay sinir 
ağlarından ne farkı var?
● Bu modellerin uygulamaları nelerdir? 
● Derin öğrenme modelleri nasıl eğitilir? 
● Nereden başlayabilirim? 

24.11.2018 - BMO Semineri 2


24.11.2018 - BMO Semineri 2
Makine öğrenmesi (İng. machine learning)

24.11.2018 - BMO Semineri 3


24.11.2018 - BMO Semineri 3
Makine öğrenmesi (İng. machine learning)

Verilen bir problem için veri üzerinden bir model/fonksiyon üretme 

24.11.2018 - BMO Semineri 4


24.11.2018 - BMO Semineri 4
“Derin öğrenme” nedir? 
● Makine öğrenmesinin (İng. machine learning) 
bir alt dalı. 

24.11.2018 - BMO Semineri 5


24.11.2018 - BMO Semineri 5
“Derin öğrenme” nedir? 
● Beynin yapısal ve işlevsel özelliklerinden 
esinlenilerek tasarlanmış, çok katmanlı ağ 
yapıları (İng. graph) olan “yapay sinir ağları” 
üzerinde çalışan algoritmalar ve modeller 
kümesi. 
● “Derin” birden fazla saklı katmanı (İng. 
hidden layer) ifade eder. 

24.11.2018 - BMO Semineri 6


24.11.2018 - BMO Semineri 6
İlk önce kısa bir tarih
Yapay sinir ağları yeni değil. 
Rosenblat’ın Perceptron’u, 1958

1958

Perceptron

24.11.2018 - BMO Semineri 7


24.11.2018 - BMO Semineri 7
Perceptron: bir yapay nöron modeli

24.11.2018 - BMO Semineri 8


24.11.2018 - BMO Semineri 8
Yapay sinir ağlarının “gösterim gücü” (İng. 
representation power): 
– 1957’de Sovyet matematikçi Kolmogorov, üç 
katmanlı bir sinir ağının, yeterli sayıda saklı 
nöron ve uygun non­lineer aktivasyon 
fonksiyonları verildiğinde herhangi bir sürekli 
(İng. continuous) fonksiyonu gösterebildiğini 
ispatladı. 

24.11.2018 - BMO Semineri 9


24.11.2018 - BMO Semineri 9
Kolmogorov’un ispatı 
başkaları tarafından 
geliştirildi. En bilineni 
Cybenko, 1989. 

24.11.2018 - BMO Semineri 10


24.11.2018 - BMO Semineri 10
Kolmogorov’un ispatı 
başkaları tarafından 
Bu teoremler yapay sinir ağlarının 

geliştirildi. En bilineni 
“gösterim gücü”nü açıklıyor, onların 

Cybenko, 1989. nasıl öğrenilebileceğini veya 
öğrenmenin mümkün olup olmadığını 
değil. 

24.11.2018 - BMO Semineri 11


24.11.2018 - BMO Semineri 11
Öğrenilebilirlik cephesinde...
Perceptron ve Adaline gibi algoritmalar 
1960’larda geliştirildi
Tek katmanlı perceptron’un birçok Bool 
fonksiyonunu öğrenebildiği gösterildi.

1958

Perceptron

24.11.2018 - BMO Semineri 12


24.11.2018 - BMO Semineri 12
Öğrenilebilirlik cephesinde...
1969’da Marvin Minsky tek katmanlı 
perceptron’un XOR fonksiyonunu 
öğrenemeyeceğini gösterdi. 
– (Yapay sinir ağlarının ilk “gömülüşü”.)

1958 1969

Perceptron XOR 
death

24.11.2018 - BMO Semineri 13


24.11.2018 - BMO Semineri 13
Geriyayılım (Back­propagation)
1980’lerin sonunda “geriyayılım” yönteminin 
bulunması ve iyi sonuçlar verdiğinin 
gösterilmesiyle birlikte yapay sinir ağları 
yeniden popüler oldu.  

1958 1969 1987

Perceptron XOR  Backpropagation


death

24.11.2018 - BMO Semineri 14


24.11.2018 - BMO Semineri 14
Geriyayılım (Back­propagation)
90’ların başında “Support Vector Machines” ve 
“Kernel Trick” ortaya çıkana kadar. (ikinci 
gömülüş) 

1958 1969 1987 Early 1990s

Perceptron XOR  Backpropagation SVM


death Kernel Trick
death

24.11.2018 - BMO Semineri 15


24.11.2018 - BMO Semineri 15
Yapay sinir ağları 90’larda neden terk edildi? 

● SVM’ler daha iyi sonuç veriyordu. 
● Yapay sinir ağlarında katman sayısını 
arttırmak sonucu iyileştirmiyordu. 
● Bazı modellerde (recurrent networks) 
geriyayılım hiç iyi sonuç vermedi. 

24.11.2018 - BMO Semineri 16


24.11.2018 - BMO Semineri 16
Bugünden geriye baktığımızda
90’lardaki başarısızlığın kaynakları: 
● Verisetlerinin aşırı küçük olması
● Bilgisayarlarımızın çok güçsüz olması
● Yanlış bir şekilde ilkleme (İng. initialization)
● Yanlış non­lineer aktivasyon fonksiyonları
Kaynak: G. Hinton’nın Royal Society’de verdiği konuşma, 22 Mayıs 2016, 
https://youtu.be/izrG86jycck

24.11.2018 - BMO Semineri 17


24.11.2018 - BMO Semineri 17
Derin öğrenme modellerinin klasik yapay sinir 
ağlarından ne farkı var? 
● “Temelde hiçbir farkları yok” demek yanlış 
olmaz. 
● Yeni olan şeyler: 
– Daha çok veri ve daha çok işlem gücü
– Yeni doğrusaldışı (İng. non­lineer) aktivasyon 
fonksiyonları
– Yeni ilkleme (İng. initialization) yöntemleri 
– Yeni düzenlileştirme (İng. regularization) yöntemleri 

24.11.2018 - BMO Semineri 18


24.11.2018 - BMO Semineri 18
Peki bugün? 
● Yapay sinir ağları 3. baharını yaşıyor. 
● Bu yeniden diriliş, 2009 ve 2012’de yapılan 
iki çalışmaya dayanıyor. 

1958 1969 1987 Early 1990s 2009 2012

Perceptron XOR  Backpropagation SVM Breakthroughs in


death Kernel Trick
death
Speech Image
Recognition Classification

24.11.2018 - BMO Semineri 19


24.11.2018 - BMO Semineri 19
2009’da G. Hinton ve öğrencileri konuşma tanıma 
problemi (İng. speech recognition) için yeni bir 
eğitme yöntemi geliştirdi. 

Eğitmensiz (İng. unsupervised) öğrenme ile ağı 
ilklediler. 
En sona “eğitmenli” katmanı ekleyip geriyayılım 
kullandılar. 

24.11.2018 - BMO Semineri 20


24.11.2018 - BMO Semineri 20
Bu yöntemle uzun süredir en iyi sonucu veren 
modeli geçtiler.  
Yöntemleri Android telefonlarda 2012’den 
itibaren kullanılmaya başlandı. 

İlgili çalışma: Mohamed, A. R., Dahl, G. E. and Hinton, G. E. “Deep belief 
networks for phone recognition.”  NIPS  workshop on deep learning for 
speech recognition.

24.11.2018 - BMO Semineri 21


24.11.2018 - BMO Semineri 21
Yeni düzenlileştirme yöntemi: “Dropout”

Ezberlemeyi (İng. overfitting) önleyen yeni 
yöntem
2009’daki ve sonraki sistemlerin başarılı 
olmasında önemli rol oynadı. 

24.11.2018 - BMO Semineri 22


24.11.2018 - BMO Semineri 22
İkinci başarı hikayesi (2012)
● Bilgisayar görüsü (İng. computer vision)
● ILSVRC 2012 yarışması
– 1,2 milyon görüntü, 1000 sınıf
– Problem: verilen görüntü için, o görüntüdeki 
baskın nesneyi tahmin etmeye çalışın. 5 tahmin 
üretin. Bu 5 tahminden biri doğruysa, başarılı 
sayılıyor. 

24.11.2018 - BMO Semineri 23


24.11.2018 - BMO Semineri 23
İkinci başarı hikayesi (2012)
G. Hinton ve öğrencisi Alex Krizhevsky, 2009’daki 
yöntemi kullanarak 7 katmanlı bir evrişimsel 
sinir ağı eğitti (İng. convolutional neural network)
Bu ağ, günümüzde “AlexNet” olarak biliniyor. 

İlgili çalışma: Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. 
"Imagenet classification with deep convolutional neural networks." 
Advances in neural information processing systems. 2012.

24.11.2018 - BMO Semineri 24


24.11.2018 - BMO Semineri 24
İkinci başarı hikayesi (2012)
AlexNet, %16 hata oranı elde etti. 

En iyi ikinci yöntem, 2012’deki en iyi tüm 
bilgisayar görüsü algoritmalarının (SIFT, LBP, 
GIST, Fisher vector, vd.) bir kombinasyonuydu. 
● Hata oranı %26. 

24.11.2018 - BMO Semineri 25


24.11.2018 - BMO Semineri 25
İkinci başarı hikayesi (2012)

Kaynak: G. Hinton’nın Royal Society’de verdiği konuşma, 22 Mayıs 2016, 
https://youtu.be/izrG86jycck 

24.11.2018 - BMO Semineri 26


24.11.2018 - BMO Semineri 26
2012’den bugüne
Aynı yarışmada derin öğrenme yöntemleri 
bugün hata oranını %5’in altına indirdi (Bu 
verisetinde insanın hata oranı ~%5)

… ve daha birçok başarı hikayesi

24.11.2018 - BMO Semineri 27


24.11.2018 - BMO Semineri 27
Nesne algılama (İng. object detection)

(Figure from Ren, He, Girschik,


Sun, NIPS 2015)

24.11.2018 - BMO Semineri 28


24.11.2018 - BMO Semineri 28
Kaynak: “Faster RCNN slides” by R. Girschik.

24.11.2018 - BMO Semineri 29


24.11.2018 - BMO Semineri 29
Otomatik tercüme

Google translate
Yinelgeli sinir ağları 
(İng. Recurrent neural 
networks)

[Sutskever, Vinyals and Le 2014]

24.11.2018 - BMO Semineri 30


24.11.2018 - BMO Semineri 30
Görüntü 
altyazılama (İng. 
image captioning)
Demo

24.11.2018 - BMO Semineri 31


24.11.2018 - BMO Semineri 31
Görüntü altyazılama (İng. image 
captioning)

24.11.2018 - BMO Semineri 32


24.11.2018 - BMO Semineri 32
Derin üretici (İng. generative) modeller

24.11.2018 - BMO Semineri 33


24.11.2018 - BMO Semineri 33
Derin üretici (İng. generative) modeller

Berthelot, David, Tom Schumm, and Luke Metz. "Began: Boundary equilibrium 
generative adversarial networks." arXiv preprint arXiv:1703.10717 (2017).

24.11.2018 - BMO Semineri 34


24.11.2018 - BMO Semineri 34
Sanatsal stil 
transferi

[Gatys, Ecker, Bethge 2015]

24.11.2018 - BMO Semineri 35


24.11.2018 - BMO Semineri 35
24.11.2018 - BMO Semineri 36
24.11.2018 - BMO Semineri 36
https://deepdreamgenerator.com/ Kullanılarak üretildi.
24.11.2018 - BMO Semineri 37
24.11.2018 - BMO Semineri 37
Sürücüsüz arabalar

(Figürlerin kaynağı: https://devblogs.nvidia.com/parallelforall/deep-learning-self-driving-cars/)

24.11.2018 - BMO Semineri 38


24.11.2018 - BMO Semineri 38
Neden her yerde “derin öğrenme” 
görüyoruz?
Birçok farklı problemde konvansiyonel makine 
öğrenmesi yöntemlerinden (çok) daha yüksek 
doğruluk verdiği için,

Bu doğruluk seviyesinin ticari uygulamaları olanaklı 
kılmasından dolayı 

Yeni uygulamalara olanak sağladığı için. 

24.11.2018 - BMO Semineri 39


24.11.2018 - BMO Semineri 39
Nasıl çalışıyor? 
Üç ana derin model çeşidi: 
● Çok katmanlı Perceptron (Multilayer 
Perceptrons)
● Evrişimsel Sinir Ağı (Convolutional 
Neural Networks)
● Yinelgeli Sinir Ağı (Recurrent Neural 
Networks)

24.11.2018 - BMO Semineri 40


24.11.2018 - BMO Semineri 40
Çok katmanlı perceptron

24.11.2018 - BMO Semineri 41


24.11.2018 - BMO Semineri 41
Çok katmanlı perceptron

24.11.2018 - BMO Semineri 42


24.11.2018 - BMO Semineri 42
Evrişimsel Sinir Ağları (Convolutional Neural Networks 
(CNNs))

Sparse
interactions 
and
parameter
sharing

24.11.2018 - BMO Semineri 43


24.11.2018 - BMO Semineri 43
44
45
46
47
48
49
50
Yinelgeli Sinir Ağları (Recurrent Neural Networks (RNNs))

51
Ağın eğitimi nasıl gerçekleşiyor?

Girdi

Beklenen 
çıktı

24.11.2018 - BMO Semineri 52


24.11.2018 - BMO Semineri 52
Ağın eğitimi nasıl gerçekleşiyor?

Derin Yapay 
Girdi
Sinir Ağı

Beklenen 
çıktı

24.11.2018 - BMO Semineri 53


24.11.2018 - BMO Semineri 53
Ağın eğitimi nasıl gerçekleşiyor?

Derin Yapay  Kestirilen/tahmin 
Girdi
Sinir Ağı edilen çıktı

Beklenen 
çıktı

24.11.2018 - BMO Semineri 54


24.11.2018 - BMO Semineri 54
Ağın eğitimi nasıl gerçekleşiyor?

Derin Yapay  Kestirilen/tahmin 
Girdi
Sinir Ağı edilen çıktı
Hata/kayıp 
Beklenen 
sinyali
çıktı

24.11.2018 - BMO Semineri 55


24.11.2018 - BMO Semineri 55
Ağın eğitimi nasıl gerçekleşiyor?

Derin Yapay  Kestirilen/tahmin 
Girdi
Sinir Ağı edilen çıktı
Hata/kayıp 
Beklenen 
sinyali
çıktı

Hata sinyalinin türevini al ve Derin Yapay Sinir Ağı’ndaki 
ağırlıkları türevin negatif yönünde güncelle. 

24.11.2018 - BMO Semineri 56


24.11.2018 - BMO Semineri 56
Ağın eğitimi nasıl gerçekleşiyor?

Derin Yapay  Kestirilen/tahmin 
Girdi
Sinir Ağı edilen çıktı
Hata/kayıp 
Beklenen 
sinyali
çıktı

Geriyayılım (Backpropagation)

Hata sinyalinin türevini al ve Derin Yapay Sinir Ağı’ndaki 
ağırlıkları türevin negatif yönünde güncelle. 

24.11.2018 - BMO Semineri 57


24.11.2018 - BMO Semineri 57
Geriyayılım (Backpropagation)

Türevde zincir kuralı (chain rule)

24.11.2018 - BMO Semineri 58


24.11.2018 - BMO Semineri 58
Nasıl ve nereden başlamalı? 

Başlamak için en uygun kütüphaneler: 
PyTorch https://pytorch.org/
Keras https://keras.io/

En iyi online ders:  http://cs231n.stanford.edu/ 
Bölümümüzde de ders açılıyor: CENG 783 ve 793 

24.11.2018 - BMO Semineri 59


24.11.2018 - BMO Semineri 59
Örnek Keras kodu

24.11.2018 - BMO Semineri 60


24.11.2018 - BMO Semineri 60
Teşekkürler!

İletişim: 
emre@ceng.metu.edu.tr 
http://user.ceng.metu.edu.tr/~emre/ 

24.11.2018 - BMO Semineri 61


24.11.2018 - BMO Semineri 61

You might also like