Derin Öğrenme (Deep Learning) Nedir?
-
Upload
eburhan -
Category
Technology
-
view
2.385 -
download
4
Transcript of Derin Öğrenme (Deep Learning) Nedir?
Erhan BURHAN / Kasım 2016 / Çanakkale Onsekiz Mart Üniversitesi – Bilgisayar Mühendisliği (Y. Lisans)
İç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…
~ Ön Bilgiler ~
1) Sinir Ağları
2) Özellik Çıkartımı
3) Öğrenme Türleri
Ö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.
Ö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
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
~ Derin Öğrenme (Deep Learning) ~
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.
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.
Derin Öğrenme neden şimdi bu kadar popüler haline geldi?
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/
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
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.
Ö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
Derin Öğrenme hangi alanlarda kullanılabilir/kullanılıyor?
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
Kaynak:
Introduction to multi gpu deep learning with DIGITS 2 - Mike Wang
Derin Öğrenme’nin elde ettiği başarılar?
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
• 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.
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/
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
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
Ülkemizde Derin Öğrenme Çalışmaları
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
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/