Derin Öğrenme (Deep Learning) Nedir?

29
Erhan BURHAN / Kasım 2016 / Çanakkale Onsekiz Mart Üniversitesi – Bilgisayar Mühendisliği (Y. Lisans)

Transcript of Derin Öğrenme (Deep Learning) Nedir?

Page 1: Derin Öğrenme (Deep Learning) Nedir?

Erhan BURHAN / Kasım 2016 / Çanakkale Onsekiz Mart Üniversitesi – Bilgisayar Mühendisliği (Y. Lisans)

Page 2: Derin Öğrenme (Deep Learning) Nedir?

İçindekiler

1. Ön Bilgiler

2. Derin Öğrenme nedir ve çalışma prensibi…

3. Derin Öğrenme neden şimdi bu kadar popüler haline geldi?

4. Derin Öğrenme hangi alanlarda kullanılabilir/kullanılıyor?

5. Derin Öğrenme ile elde edilen başarılar…

6. Derin Öğrenme framework’leri

7. Ülkemizde derin öğrenme çalışmaları…

8. Kaynakça…

Page 3: Derin Öğrenme (Deep Learning) Nedir?

~ Ön Bilgiler ~

1) Sinir Ağları

2) Özellik Çıkartımı

3) Öğrenme Türleri

Page 4: Derin Öğrenme (Deep Learning) Nedir?

Ön Bilgiler

Sinir Ağları:

Giriş ve çıkışta bulunan nöronların ana amacı sistemin dışarısı ile olan etkileşimini sağlamaktır.

insanların bilgisayarlardan daha hızlı yapabildiği işlemleri,

bilgisayarların da benzer hızlarda yapabilmesi için modeller geliştirmek ve

bilgisayarların işlem gücünü verimli olarak kullanmak için ortaya atılmıştır.

İnsan beyni ve beyinde bulunan nöronların çalışmaları taklit edilmeye çalışılır.

Bu sebeple “yapay” sinir ağları olarak da isimlendirilirler.

Page 5: Derin Öğrenme (Deep Learning) Nedir?

Ön Bilgiler

Özellik Çıkartımı (Feature Extraction):

Sinir ağına gelen girdilerin bütün bir bilgi olarak değil de bu bilgiyi oluşturan

özelliklerden bazılarının çıkarılması ve sistemin bu özellikler üzerinden devam

etmesidir.

Özellik Çıkartma işlemi bir boyut azaltma işlemidir.

Karmaşık olan bir verinin boyutları azaltılarak daha basit bir problem haline indirgenir.

Örneğin çimen bölgeleri olan fotoğraflar tespit edilmek isteniyor olsun:

• Çimenler yeşildir ve fotoğraflardan yeşil tonu ağırlıkta olanların çimen içermesi ihtimali yüksektir.

• Öyleyse sisteme girdi olarak gösterilen bir fotoğrafın tamamının işlenmesi yerine,

o fotoğrafın yalnızca histogramına (renkler dağılım grafiği) bakmak yeterli olacaktır.

Hiçbir makine öğrenmesi algoritması, özellik çıkartımı yapılmadan kullanıldığında stable (istikrarlı)

çalışmaz [1]

[1] http://www.slideshare.net/g33ktalk/dataengconf-feature-extraction-modern-questions-and-challenges-at-google

Page 6: Derin Öğrenme (Deep Learning) Nedir?

Sinir Ağlarında Öğrenme:

• Sinir ağlarının eğitimi gözetimli (supervised) veya gözetimsiz (unsupervised) olarak

yapılmaktadır.

• İkisini birbirinden ayrılan en belirgin özellik;

bağlantılar üzerinde bulunan ağırlıkların bir insan tarafından girilmesi veya girilmemesidir.

Ön Bilgiler

Page 7: Derin Öğrenme (Deep Learning) Nedir?

~ Derin Öğrenme (Deep Learning) ~

Page 8: Derin Öğrenme (Deep Learning) Nedir?

2000’lerin başından beri Derin Öğrenme, yapay zekâ alanında çığır açtı ve yaygınlaşmaya başladı.

Google, Microsoft ve Apple gibi önemli şirketler ses ve görüntü tanımada derin öğrenme teknolojisini

kullanmaya başladılar.

Yapay zekâ alanında yeni bir teknolojidir. Aslında makine öğrenmesi (machine learning)

tekniklerinden sadece birisidir.

Yararlı bilgiyi, verilerden soyutlamak (ayıklamak) için kullanılır.

Görüntü, ses, metin gibi verilere anlam kazandıran sunum ve soyutlama seviyelerini öğrenmek için

çok katmanlı sinir ağlarını (deep neural networks – DNN) kullanır.

Page 9: Derin Öğrenme (Deep Learning) Nedir?

Derin öğrenmenin kilit noktası bir nesnenin gösterimindeki farklı katmanlardır.

Her katman ayrı ayrı önceden eğitilir (unsupervised pre-training). Bu, derin öğrenme ağlarını

diğer sinir ağlarından ayıran en önemli özelliktir.

Derin Öğrenme terimi 2006 yılında Hinton

tarafından çok katmanlı yapay sinir

ağlarının verimli bir şekilde eğitilebileceği

ortaya koyulduktan sonra literatürde sıkça

kullanılmaya başlanmıştır. [1]

[1] Hinton, G. E., 2012. Deep neural networks for acoustic modeling in

speechrecognition: The shared views of four research groups. Signal

ProcessingMagazine, IEEE 29.6: 82-97.

yüz tanıma işleminde katmanlar arası ilerleyiş

Örneğin bir resmi sınıflandırmak istiyorsak

resmin alt katmanlarından işe başlamalıyız

yani piksellerden.

Page 10: Derin Öğrenme (Deep Learning) Nedir?
Page 11: Derin Öğrenme (Deep Learning) Nedir?

Derin Öğrenme neden şimdi bu kadar popüler haline geldi?

Page 12: Derin Öğrenme (Deep Learning) Nedir?

1) Veri miktarının artması: Özellikle İnternet sayesinde devasa boyutlarda veri dijital ortamda

üretilir ve saklanır hale geldi. Derin Öğrenme sistemleri bu büyük veriyi (big data) kullanmayı

başararak avantaj elde ettiler.

resim kaynak: http://blog.algorithmia.com/introduction-to-deep-learning-2016/

Page 13: Derin Öğrenme (Deep Learning) Nedir?

2) GPU’lar ve işlem gücünün artması: Grafik işlemciler, paralel hesaplama yapma konusunda

özelleşmiş donanımlardır. Bu sayede CPU’nun yavaş kaldığı bazı işlemleri çok daha hızlı

yapabiliyorlar. Derin Öğrenme araştırmacıları işte işlem gücündeki bu artıştan ve ucuzlamadan

yararlanıyor.

kaynak : Nvidia Introduction to multi gpu deep learning with DIGITS 2

Page 14: Derin Öğrenme (Deep Learning) Nedir?

3) Derinliğin artması: İşlem gücünün artması sonucu, daha derin modellerin pratikte kullanılabilmesine

imkan doğdu. Derin Öğrenme modelleri çok katmanlı yapılardır.

Asıl fikri daha iyi anlamak için insan beynindeki görme sistemine bakalım:

(1) Gözlerden sinirler vasıtasıyla gelen sinyaller

birkaç katmanlı hiyerarşik bir yapıda değerlendirilir.

(2) Sinyalin gözden sonra ilk uğradığı merkezde kenarlar, köşeler gibi

daha temel özellikler tanınır.

(3) Daha sonraki katmanlarda bu kenar ve köşeler bir araya getirilerek

ağız burun gibi şekilleri, daha sonraki katmanlarda yüzleri,

daha sonraki katmanlarda ise sahnedeki kişi ve nesnelerin yerleşimi

gibi görüntünün bütününe ait olan özellikleri tanınabilir.

İşte derin öğrenme sistemleri bu prensipte çalışır.

Page 15: Derin Öğrenme (Deep Learning) Nedir?

Özetlemek gerekirse:

modellerin daha derin ve karmaşık hale gelebilmesi,

bunları eğitebilen algoritmaların keşfi,

bu ağların büyük verilerle eğitilebilmesi ve

tüm bu sürecin bir PC veya ucuz/erişilebilir bulut servisleriyle gerçekleştirilebilir hale gelmesiyle

derin öğrenme bu kadar popülerleşti

Page 16: Derin Öğrenme (Deep Learning) Nedir?

Derin Öğrenme hangi alanlarda kullanılabilir/kullanılıyor?

Page 17: Derin Öğrenme (Deep Learning) Nedir?

Derin Öğrenme genelde ZORLU ses ve görüntü tanıma işlemleri için kullanılıyor:

Plaka tanıma sistemleri

Yüz tanıma sistemleri

Parmak izi okuyucular

İris okuyucular

Ses tanımlama sistemleri

Sürücüsüz arabalar

Spam (istenmeyen) e-posta tespitinde

Page 18: Derin Öğrenme (Deep Learning) Nedir?

Kaynak:

Introduction to multi gpu deep learning with DIGITS 2 - Mike Wang

Page 19: Derin Öğrenme (Deep Learning) Nedir?

Derin Öğrenme’nin elde ettiği başarılar?

Page 20: Derin Öğrenme (Deep Learning) Nedir?

Günümüzde derin öğrenme belirli tanıma alanlarında insanlardan daha üstün bir konuma

gelmiştir.

2011’de yapılan örüntü (şablon) tanıma yarışmasında Lugano Üniversitesi’ndeki bir bilim

adamı, rakip yazılımlara ve insanlara karşı derin öğrenme metoduyla üstünlük sağlamıştır.

http://www.kurzweilai.net/how-bio-inspired-deep-learning-keeps-winning-competitions

Page 21: Derin Öğrenme (Deep Learning) Nedir?

• Derin Öğrenme tabanlı AlphaGo, dünya Go şampiyonlarından Lee Sedol’u oynadıkları

5 maçın 4'ünde yenmiştir. (mart 2016’da)

• AlphaGo, Google’un 2014 yılında 600 Milyon dolara satın almış olduğu DeepMind isimli yapay zeka şirketine aittir.

Page 22: Derin Öğrenme (Deep Learning) Nedir?

Derin öğrenme ile çalışan “yüz tanıma” algoritmalarının başarı grafikleri.

Baidu takımı, 6000 örnekten sadece 9’unda hata yaptı (sene 2015).

https://www.technologyreview.com/s/537436/baidus-artificial-intelligence-supercomputer-beats-google-at-image-recognition/

Page 23: Derin Öğrenme (Deep Learning) Nedir?

Derin Öğrenme ile fotoğraf renklendirme

ImageNet resim veritabanında bulunan 1 milyon fotoğrafla eğitildikten sonra nesneleri,

manzarayı, insan ya da hayvanları nasıl renklendireceğini öğrenmiş olan sistem gerçekleştirildi.

Makale (29 sayfa) - https://arxiv.org/pdf/1603.08511.pdf

Page 24: Derin Öğrenme (Deep Learning) Nedir?
Page 25: Derin Öğrenme (Deep Learning) Nedir?

Derin Öğrenme framework’leri

o Bir takım açık kaynak proje tarafından “derin öğrenme” herkesçe kullanılabilir hale gelmiştir.

o Derin öğrenme algoritmalarını bilgisayar diline çevirmek için birçok framework vardır.

o Bu kütüphaneler algoritmaların uygulanmasında kolaylık sağlarlar. En popülerleri şunlardır:

1)Deeplearning4j (DL4j)

JAVA programcıları için

Dağıtık ve ölçeklenebilir

https://deeplearning4j.org

2)Theano

Python programcılar için

Akademik çevrede çok popüler

3)Torch

http://torch.ch/

4)TensorFlow

https://www.tensorflow.org (Google tarafından geliştirildi)

5)Caffe

Page 26: Derin Öğrenme (Deep Learning) Nedir?

Ülkemizde Derin Öğrenme Çalışmaları

Page 27: Derin Öğrenme (Deep Learning) Nedir?

1) ASELSAN Ar-Ge Merkezi

2014’de 6. ar-ge merkezi kurulmuş

Derin öğrenme özellikle görüntü ve doğal dil işleme alanlarında kullanılıyor. Böylece silah ve

güvenlik sistemleri ile insansız sistemler gibi faaliyet alanlarına yeni teknolojiler

kazandırılması, mevcut olanların ise performansının arttırılması amaçlanıyor.

http://www.bloomberght.com/haberler/haber/1950519-aselsan-yeni-teknolojilerin-pesinde

2) OttOCR

Osmanlıca için optik karakter tanıma (OCR) sistemi

Miletos Ar-Ge A.Ş. (İTÜ kampüsünde)

http://www.ottocr.com/tr

3) Open Zeka

Görüntü ve video tanımlama için derin öğrenme kullanan API’ler sunuyor

https://openzeka.com

Page 28: Derin Öğrenme (Deep Learning) Nedir?

Teşekkürler

Erhan BURHAN

< [email protected] >

Page 29: Derin Öğrenme (Deep Learning) Nedir?

KAYNAKÇA

https://medium.com/turkce/keras-ile-derin-%C3%B6%C4%9Frenmeye-giri%C5%9F-

40e13c249ea8#.l1ion0ms0

http://blog.algorithmia.com/introduction-to-deep-learning-2016/

https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-

deep-learning-ai/

https://dctekkilic.wordpress.com/2015/03/15/derin-ogrenme-nedir/

http://www.karel.com.tr/blog/derin-ogrenme-deep-learning-ve-is-dunyasina-etkisi

http://www.derinogrenme.com/2015/07/21/derin-ogrenme-deep-learning-nedir/

http://fortune.com/ai-artificial-intelligence-deep-machine-learning/