Derin Öğrenme. M. Ali Akcayol Gazi Üniversitesi

Benzer belgeler
Zeki Optimizasyon Teknikleri

YAPAY ZEKA VE DERİN ÖĞRENMENİN GÜNÜMÜZDEKİ UYGULAMA ALANLARI

Derin Yapay Sinir Ağları ve Derin Öğrenme ye Kısa Bir Giriş

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

Yapay Sinir Ağları ve Yüksek Enerji Fiziği Uygulamaları

Büyük Veri ve Endüstri Mühendisliği

Uzaktan Algılama Uygulamaları

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN

Esnek Hesaplamaya Giriş

Yapay Sinir Ağları. (Artificial Neural Networks) DOÇ. DR. ERSAN KABALCI

Web Madenciliği (Web Mining)

YZM 3217 YAPAY ZEKA DERS#10: KÜMELEME

İş Zekası. Hafta 6 Kestirimci Modelleme Teknikleri. Yrd. Doç. Dr. H. İbrahim CEBECİ

Web Madenciliği (Web Mining)

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

Uzaktan Algılama Teknolojileri

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

DERİN ÖĞRENME SONGÜL TORANOĞLU

T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

CBS ve Coğrafi Hesaplama

İlk Yapay Sinir Ağları. Dr. Hidayet Takçı

Kolektif Öğrenme Metotları

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 10. Hata Kontrolü

İstanbul Şehir Üniversitesi Bahar

Concept Learning. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ. Yapay Zeka - Kavram Öğrenme

Web Madenciliği (Web Mining)

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Makine Öğrenmesi. Erhan AKDOĞAN, Ph.D.

Zeki Optimizasyon Teknikleri

Hafta 13 - Adversarial ML

VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

VERİ MADENCİLİĞİ VE SOSYAL AĞ ANALİZİ ARAŞTIRMA LABORATUVARI

Muhammet Fatih AKBAŞ, Enis KARAARSLAN, Cengiz GÜNGÖR

Veri ve Metin Madenciliği

Veri ve Metin Madenciliği. Zehra

İleri Diferansiyel Denklemler

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

Matematiksel Optimizasyon ve Yapay Öğrenme

Otomatik Diyet Gözetimi için Gıda İmgelerinin Anlamsal Bölütlemesi

etme çabalarının en son ürünlerinden bir tanesi yapay sinir ağları (YSA) teknolojisidir.

Uzaktan Algılama (3) Yrd. Doç. Dr. Özgür ZEYDAN Renk Teorileri

Yapay Sinir Ağlarına Giriş. Dr. Hidayet Takçı

Doğal Dil İşleme Nedir? Doğal Dil İşleme

SÜRE BİLİŞİM TEKNOLOJİLERİ ÜNİTE 1: HESAPLARIMI KARŞILAŞTIRIYORUM DERS SAATİ:

Dijital (Sayısal) Fotogrametri

Veri Madenciliği. Yrd. Doç. Dr. Mustafa Gökçe Baydoğan. blog.mustafabaydogan.

Sinirsel Benzetim ve NSL. İlker Kalaycı 06, 2008

VERİ MADENCİLİĞİ. Karar Ağacı Algoritmaları: SPRINT algoritması Öğr.Gör.İnan ÜNAL

BULANIK MANTIK VE SİSTEMLERİ BAHAR DÖNEMİ ÖDEV 1. Müslüm ÖZTÜRK Bilişim Teknolojileri Mühendisliği ABD Doktora Programı

Zeki Optimizasyon Teknikleri

1- Sayı - Tam sayıları ifade etmek için kullanılır. İfade edilen değişkene isim ve değer verilir.

GÖRÜNTÜ İŞLEME HAFTA 4 DÖNÜŞÜMLER UZAYSAL FİLTRELEME

YAPAY SĠNĠR AĞLARININ EKONOMĠK TAHMĠNLERDE KULLANILMASI

X-RAY CİHAZLARINDAKİ UYGULAMA SÜRELERİNİN YAPAY SİNİR AĞLAR YARDIMI İLE TAHMİNİ

Yapay Sinir Ağları (Artificial Neural Networks)

Otomatik Doküman Sınıflandırma

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUARI

BM-311 Bilgisayar Mimarisi

Otomatik Doküman Sınıflandırma

VERİ MADENCİLİĞİ önemsiz olmayan, gizli, önceden bilinmeyen, potansiyel olarak kullanışlı

görüntü işleme, pattern tanıma yapay zeka

OpenZeka MARC. Mini Otonom Araç Yarışması

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

Yrd. Doç. Dr. A. Burak İNNER

Destekçi Vektör Makineleri. Destekçi Vektör Makineleri(Support Vector Machines)

Bilgisayarla Görüye Giriş

Çok fazla bilgiden gizli kalmış örüntüleri ortaya çıkarma sürecine Veri Madenciliği denir.

Geriye Yayılım ve Levenberg Marquardt Algoritmalarının YSA Eğitimlerindeki Başarımlarının Dinamik Sistemler Üzerindeki Başarımı. Mehmet Ali Çavuşlu

K En Yakın Komşu Methodu (KNearest Neighborhood)

Metin Sınıflandırma. Akış

Dijital Görüntü İşleme Teknikleri

Akıllı Sistemler ve Uygulamaları Dergisi, Cilt: 1, Sayı: 1, Sayfa ,

İleri Örüntü Tanıma Teknikleri Ve Uygulamaları İçerik

Büyük Veri Analitiği (Big Data Analytics)

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

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

WEB SAYFALARINA İLİŞKİN YAPAY SİNİR AĞLARI İLE SINIFLANDIRMA YÖNTEMİ

DERİN ÖĞRENME YRD.DOÇ.DR. KADRİYE ERGÜN İREM TÜRKMEN

Koku Ölçüm Yöntemleri

Özörgütlemeli Öğrenme (SOM) A. Cumhur KINACI

A NEW APPROACH FOR IMAGE CLASSIFICATION: CONVOLUTIONAL NEURAL NETWORK. Emine Cengil* 1, Ahmet Çınar 2

KABA KÜME TEORİSİ (Rough Set Theory) Dr. Sedat TELÇEKEN

YAPAY SİNİR AĞLARI YÖNTEMİ İLE PAFTALARININ SAYISALLAŞTIRILMASI ARTIFICIAL NEURAL NETWORKS METHOD FOR MAP DIGITIZATION

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Şekil Tanıma Final Projesi. Selçuk BAŞAK

KISIM 5 COĞRAFİ BİLGİ SİSTEMİ (GIS) ANALİZİ KISIM 5: GIS ANALİZİ 1

Çekişmeli Üretici Ağlar Kullanarak Dış Mekan Görüntülerinin Geçici Niteliklerini Düzenleme

Hafta 01 - Giriş. BGM Siber Güvenlik için Makine Öğrenme Yöntemleri. Yüksek Lisans Programı. Dr. Ferhat Özgür Çatak

BÜYÜK VERI UYGULAMALARı DERS 7. Doç. Dr. Yuriy Mishchenko

Yapay Sinir Ağları GİRİŞ

Trafik Yoğunluk Harita Görüntülerinin Görüntü İşleme Yöntemleriyle İşlenmesi

Derin Öğrenme Algoritmalarında Model Testleri: Derin Testler

ESTIMATION OF EFFLUENT PARAMETERS AND EFFICIENCY FOR ADAPAZARI URBAN WASTEWATER TREATMENT PLANT BY ARTIFICIAL NEURAL NETWORK

Yapay Zeka İle Aramızdaki Fark

Karaciğerde Oluşan Hastalıkların Tespitinde Makine Öğrenmesi Yöntemlerinin Kullanılması

Görme Engelliler için Akıllı Telefon ile Nesne Arama

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Veri Bilim - Yapay Öğrenme Yaz Okulu, 2017 Matematiksel Temeller ve Vaka Çalışmaları

Transkript:

Derin Öğrenme M. Ali Akcayol Gazi Üniversitesi Giriş Yapay zeka nedir? Yapay sinir ağları nasıl çalışır? Derin öğrenme nedir? Derin öğrenme modelleri nelerdir? Derin öğrenme uygulama alanları nelerdir? 2 / 77

TANIM BOYUTU İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 3 / 77 Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Artificial Intelligence (AI), zeki insan davranışını makinelerin taklit etmesini amaçlayan çalışmaları kapsar. İlk defa McCarthy tarafından 1956 da kullanıldı. AI, iki boyutta dört farklı şekilde tanımlanmaktadır. BAŞARI ÖLÇÜTÜ İNSAN ZEKASINA GÖRE RASYONELLİĞE GÖRE DÜŞÜNCE İnsan gibi düşünen sistemler (Bellman, 1978) Rasyonel düşünen sistemler (Chamlak and McDermott, 1985) DAVRANIŞ Cognitive science İnsan gibi davranan sistemler (Kurzweil, 1990) Mantık kuralları Rasyonel davranan sistemler (Schalkoff, 1990) Turing testi Rasyonel ajanlar 4 / 77

Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları İnsan gibi davranan sistemler Turing testinde başarılı olan makinelerdir. 5 / 77 Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Rasyonel davranan sistemler (Rasyonel ajan) Rasyonel davranış: Girişlere göre en doğruyu yapmaktır. Doğru: Verilen bilgiye göre beklenen faydayı maksimum yapar. Rasyonel sistemlerin insan düşüncesini tekrarlaması veya aynı kararı vermesi beklenmez. Bir rasyonel ajan algı geçmişini yeni girişe göre davranışa dönüştüren bir fonksiyondur. D = f (A*, A) D davranış, A* algı geçmişi, A yeni algı, f fonksiyondur. Rasyonel ajan, çevresini algılar (sensörler vb.) ve en başarılı davranışı belirler. 6 / 77

Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Yapay zekanın alanları ve aralarındaki ilişkiler. 7 / 77 Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları AI, insan davranışını makinelere kazandırmayı amaçlar. Makine öğrenmesi, yapay zekanın bir alt sınıfıdır ve AI algoritmalarını makinelere uygular. Artificial Neural Network (ANN), makine öğrenmesinin bir alt sınıfıdır. Deep learning, ANN in bir alt sınıfıdır ve insan beyninin, algılama ve karar verme becerisini taklit etmeyi amaçlar. 8 / 77

İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 9 / 77 Makine Öğrenmesi Makine öğrenmesi, genellikle, karar veya tahmin oluşturmak amacıyla öğrenme işlemini gerçekleştirir. Makine öğrenmesi sınıflandırma (classification) ve kümeleme (clustering) problemlerinde başarıyla uygulanır. Makine öğrenme yöntemleri iki türdür: Supervised learning Unsupervised learning Supervised learning yönteminde, giriş ile birlikte çıkış bilgisi de sağlanır (classification). Unsupervised learning yönteminde, çıkış etiketleri sağlanmaz. Girişler arasındaki ilişki sağlanır (clustering). 10 / 77

İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 11 / 77 Yapay Sinir Ağları İnsan beyni, her görüntüde, seste, tat almada, dokunmada bir algı oluşturur. Beynimiz olmasaydı hepimiz ilkel organizmalar olurduk ve sadece basit refleksler yapabilirdik. Bebeğin beyni sadece 1 kilodur, ancak günümüzdeki çoğu süper bilgisayarların çözemediği problemleri çözer. Doğumdan sonra birkaç gün sonra, ebeveynlerinin yüzlerini tanıyabilir, arka planlarından nesneleri ayırt edebilir ve hatta ayrı sesler çıkarabilir. 12 / 77

Yapay Sinir Ağları Bir yıl içinde, fizik kurallarını algılayacak bir sezgi geliştirirler, engellerin arkasındaki nesneleri takip edebilirler, seslerle anlam ilişkilendirmesi yapabilirler. Çocukluk çağında, binlerce kelime ve karmaşık gramer yapısını anlayabilirler. Son yıllarda, insan beyni gibi beyne sahip zeki makineler geliştirilmeye çalışılmaktadır. 13 / 77 Yapay Sinir Ağları Bilgisayar programları aritmetik işlemleri hızlı yapabilir veya sıralı komutları hızlı çalıştırabilir. Ancak, klasik programlar bir kişinin el yazısını okuma gibi işlemlerde çok başarılı değildir. 14 / 77

Yapay Sinir Ağları Yapay sinir ağları, insan beyninin yapısını ve fonksiyonunu taklit eder. Sınıflandırıcı y = f (x), x girişi ile y sınıfını eşleştirir. Bir feedforward ANN y = f(x, w), w parametrelerinin değerlerini öğrenerek daha iyi tahmin yapan bir fonksiyon elde eder. Öğrenme supervised veya unsupervised olabilir. Yapay sinir ağları, metin, ses, görüntü, video gibi yapılandırılmamış veriyi alır ve neuronlardan oluşan katmanlarda işler. Neuron lar başka neuroan ları aktif yapabilir veya dış ortamda başka işlemleri başlatabilir. 15 / 77 Yapay Sinir Ağları Yapay sinir ağı, çok sayıda işlem birimine (neuron) sahiptir. Biyolojik neuron Yapay neuron 16 / 77

Yapay Sinir Ağları Perceptron Bir perceptron tek katmanlı bir neural network tür. x = (x 0, x 1, x 2 ) giriş vektörü, w = (w 0, w 1, w 2 ) ağırlık vektörü ve b bias, y = f(x 0 w 0 + x 1 w 1 + x 2 w 2 + b) olur. 17 / 77 Yapay Sinir Ağları Perceptron Transfer fonksiyonuna göre çıkış değeri değişir. Step function Sigmoid function 18 / 77

Yapay Sinir Ağları Perceptron limiti Tek neuron bir doğru ile çözüm uzayını ayırır. karar sınırı 19 / 77 Yapay Sinir Ağları Perceptron limiti Tek perceptron XOR problemini çözemez. Tutarsız!!! (bias) true false false true 20 / 77

Yapay Sinir Ağları Çok katmanlı neural network Çok katmanlı ANN daha karmaşık problemleri çözebilir. 21 / 77 Yapay Sinir Ağları Çok katmanlı neural network Katman ve neuron sayısı arttıkça çok daha karmaşık problemleri çözebilir. 22 / 77

Yapay Sinir Ağları Çok katmanlı neural network w 1, w 2, b parametredir. w 1, w 2 doğruyu döndürür, b doğrunun yerini değiştirir. w 1, w 2 ve b için en uygun değerlerin belirlenmesi gereklidir. b + - w 1, w 2 23 / 77 Yapay Sinir Ağları Çok katmanlı neural network 24 / 77

Yapay Sinir Ağları Çok katmanlı neural network 25 / 77 Yapay Sinir Ağları Perceptron öğrenme Perceptron öğrenmesinde, w 1, w 2 ve değeri belirlenir. öğrenme hızı, d(n) istenen çıkış. Yanlış sınıflandırmada ağırlık değiştirilir. w i = w i + d(n) x i (n) y = f(w 1 x 1 + w 2 x 2 + w 0 ) 26 / 77

Yapay Sinir Ağları Perceptron öğrenme y = f (x 1 +0,5x 2 ) = +1 y = f (0,6x 1 +0,9x 2-2) = -2,6 27 / 77 Yapay Sinir Ağları Çok katmanlı feedforward ANN öğrenme Çok katmanlı ANN de backpropagation yöntemi kullanılır. 28 / 77

İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 29 / 77 Derin Öğrenme Modelleri Deep learning, son yıllarda klasik yapay sinir ağlarının yerini almıştır. Deep learning, makine öğrenme teknikleri ve mimarilerinin geniş bir sınıfını ifade eder. Shallow learning, bir veya iki katman kullanarak yapılan öğrenmeyi ifade eder. Deep learning, çok sayıda katmanla öğrenmeyi ifade eder. Deep learning, işlem birimi neuron larda nonlineer fonksiyon kullanır. 30 / 77

Derin Öğrenme Modelleri Yaygın kullanılan deep learning modelleri: Convolutional Neural Network Auto-encoder Recurrent Neural Network Deep Belief Network 31 / 77 İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 32 / 77

Convolutional Neural Network Convolutional neural network (CNN), ANN lerin özel bir türüdür ve en popüler derin öğrenme mimarisidir. CNN, görüntü ile ilgili problemlerde önemli 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 görüntü sınıflandırabilmektedir. 33 / 77 Convolutional Neural Network Tüm CNN mimarileri aşağıdaki gibidir. CNN, convolution ve pooling operatörlerini kullanır. Art arda birkaç kez convolution+pooling yapılır. Daha sonra birkaç tane fully connected katman bulunur. Çok etiketli (sınıflı) sınıflandırma problemlerinde, en sonda softmax katmanı bulunur. 34 / 77

Convolutional Neural Network Convolution CNN de en temel blok convolutional katmandır. Convolution, iki kümenin birleştirilmesini sağlayan matematiksel işlemdir. Convolution filter (kernel), girişe uygulanarak özellik haritası (feature map) oluşturulur. 35 / 77 Convolutional Neural Network Convolution Örnekte, giriş 5x5 ve filtre 3x3 boyutundadır. Girişin üzerinde filtre kaydırılıp convolution işlemi yapılır. Her eleman bazında matris çarpımı sonucu özellik harita matrisinin karşılıklı elemanını oluşturur. Şekilde, 3x3 filtre ile 2D üzerinde convolution yapılıyor. 36 / 77

Convolutional Neural Network Convolution Gerçek uygulamalarda görüntü 3D gösterilir (yükseklik, genişlik ve derinlik). Derinlik, görüntüdeki renk kanallarını gösterir. RGB için derinlik 3 olarak alınır. Bir giriş üzerinde farklı filtrelere sahip farklı convolution işlemleri yapılabilir (Her birisinin özellik haritası farklı olur.). Tüm özellik haritaları birleştirilerek bir özellik haritası elde edilir. 37 / 77 Convolutional Neural Network Convolution Örnekte, 32x32x3 bir görüntü, 5x5x3 filtre kullanılmıştır. Üç tane 5x5x1 matris toplanarak 1x1x1 değer elde edilir. Elde edilen özellik haritası 32x32x1 boyutundadır. Eğer 10 farklı filtre kullanılırsa, convolution katmanı 32x32x10 boyutunda olur. 38 / 77

Convolutional Neural Network Convolution Filtre tüm girişte kaydırılır ve özellik haritası elde edilir. 39 / 77 Convolutional Neural Network Convolution CNN ün, ANN ve auto-encoder gibi non-linearity özelliğini sağlaması gerekir. ANN ve auto-encoder non-linearity özelliğini aktivasyon fonksiyonu ile sağlar. CNN de convolution operatörünün sonucunu aktivasyon fonksiyonuna gönderir. 40 / 77

Convolutional Neural Network Stride ve padding Stride, her adımda convolution filtresinin hareket adım boyutunu belirler (default = 1). Hareket adım boyutu arttıkça edilirse, özellik haritası küçülür. 41 / 77 Convolutional Neural Network Stride ve padding Padding, giriş ile aynı boyutta özellik haritası oluşturmak için kullanılır. Girişin etrafına 0 değerine sahip hücreler padding olarak eklenir. 42 / 77

Convolutional Neural Network Pooling Pooling, convolution işleminden sonra uygulanır ve boyut indirgeme yapar. Pooling katmanı, özellik haritasının yüksekliğini ve genişliğini düşürerek örnekler (derinlik aynı kalır). En yaygın kullanılan max pooling yöntemidir. Window size ve stride değerleri belirlenir. 43 / 77 Convolutional Neural Network Pooling Genellikle, window size ve stride özellik haritasının yarısı alınır. Pooling işleminden sonra özellik haritasının boyutu yarıya indirgenmiş olur. 44 / 77

Convolutional Neural Network Fully connected katmanı Pooling katmanından sonra, fully connected ANN eklenir. Pooling katmanı çıkışı 3D alınır ve fully connected ANN ile 1D vektör çıkışı elde edilir. Training CNN ün eğitimi, ANN eğitimi gibi gradient descent ile backpropagation kullanılarak yapılır. 45 / 77 Convolutional Neural Network Softmax Softmax fonksiyonu sınıflandırma problemlerinde kullanılır. Softmax, çıkışın sınıflara ait olma olasılığının dağılımını verir. 46 / 77

Convolutional Neural Network Hyperparameter Hiper parametreler, doğrudan öğrenilmezler, ancak modelin özelliklerini belirlerler. CNN de, aşağıdaki hiper parametreler kullanılır: Filtre boyutu: Genellikle 3x3 kullanılır, ancak uygulamaya göre daha büyük boyutta olabilir. Filtre sayısı: Daha çok filtre kullanıldıkça daha güçlü model elde edilir. Ancak, çok sayıdaki parametre overfitting riskini artırır. Stride: Genellikle 1 seçilir, ancak uygulamaya göre farklı değer seçilebilir. Padding: Genellikle padding uygulanır, ancak uygulamaya göre kullanılmayabilir. 47 / 77 Convolutional Neural Network Değerlendirme Bir CNN model, özellik çıkarımı ile 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ı, vb.). Fully connected katmanı ise, bir sınıflandırıcıdır (örneğin, girilen görüntünün kedi olma olasılığını belirtir). CNN modeli, girilen bir etiket ve bir görüntü için otomatik özellik algılaması gerçekleştirir. 48 / 77

İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 49 / 77 Auto-encoder Auto-encoder (AE), aldığı girişi kendi çıkışına kopyalamak amacıyla eğitilen bir neural network tür. AE, feedforward ANN lerin bir özel türüdür. AE, girişi temsil eden bir gizli katman vardır (h). Basit bir AE, iki parçadan oluşur: encoder ve decoder. Encoder fonksiyonu h= f (x), decoder fonksiyonu r= g(h). Öğrenme sürecinde r = x yapılmaya çalışılır. Eğer bir AE başarılı ise, g(f(x)) = x kümesini öğrenir. 50 / 77

Auto-encoder AE deki gizli katman h nin boyutu x in boyutundan küçükse (undercomplete), girişteki belirgin özellikleri öğrenir. AE deki gizli katman h nin boyutu x in boyutuna eşit veya büyükse, sadece belirgin özellikleri öğrenmez (overcomplete). Öğrenme sürecinde, kayıp fonksiyonu minimize edilir. Kayıp fonksiyonu L, hata ölçümü yapan bir fonksiyondur (örn., hataların karelerin ortalaması). 51 / 77 Auto-encoder AE, encoder ile katmanlardaki neuron sayılarını azaltır, ardından decoder ile katmanlardaki neuron sayılarını artırır. 52 / 77

Auto-encoder Gizli katmanda elde edilen code, girişin özeti veya sıkıştırılmış halidir. Encoder, girişi sıkıştırır ve code üretir. Decoder ise, code ile girişi yeniden elde etmeye çalışır. Bir AE oluşturmak için, encoding metodu, decoding metodu ve kayıp fonksiyonu gereklidir. 53 / 77 Auto-encoder AE, giriş verisinde boyut indirgeme için kullanılır. Giriş verilerini gizli katmanda daha küçük boyutla ifade eder. Çıkış verisi, giriş verisinden her zaman farklıdır. Çıkış etiketleri için ek bilgiye ihtiyaç duymaz, unsupervised öğrenme yapar. Çıkış etiketlerini eğitim verisinden (girişlerden) kendisi oluşturduğundan self-supervised olarak adlandırılır. 54 / 77

Auto-encoder Denoising auto-encoder (DAE) DAE, gürültülü veriden gürültüyü yok etmek için kullanılır. Elde edilen sonuç orijinalden farklıdır, ancak gürültü yok edilir. 55 / 77 İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 56 / 77

Deep Learning için Underfitting ve Overfitting Uygulamalarında, eğitim verisinin yanı sıra, yeni girişlerde de iyi sonuç vermesini sağlamaktır. Eğitim verisi için hatanın yüksek olması underfitting e, eğitim ve test verilerindeki hata farkının yüksek olması overfitting e neden olur. Underfitting Good Overfitting 57 / 77 İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 58 / 77

Deep Learning Uygulamaları Sınıflandırma: Verilen bir girişin hangi sınıfa ait olduğu bulunur (örneğin, nesne tanıma). Transcription: Yapılandırılmamış veriden text formatında veri elde edilir (örneğin, OCR, speech recognition, Google Street View adres numaralarının işlenmesi için deep learning kullanır.). Regresyon: Verilen girişe göre sayısal değer tahmin edilir (örneğin, yatırım araçları için ileriye dönük fiyat tahmini) Machine translation: Giriş bir dildeki sembollerden oluşur, çıkış başka bir dildeki sembollere dönüştürülür. (örneğin, İngilizce-Fransızca). 59 / 77 Deep Learning Uygulamaları Yapılandırılmış çıkış: Yapılandırılmamış girişlerden birbiriyle ilişkiye sahip çıkışlar elde edilir (örneğin, bir dildeki cümlenin gramer yapısının çıkarılması, hava fotoğrafları ile bir fotoğraftaki yolların belirlenmesi, görüntüye başlık metni oluşturulması). Anomaly detection: Bir grup olaydan veya nesneden olağandışı olanı bulur (örneğin, geçmiş harcamaya göre kredi kartı dolandırıcılığı, bilgisayar ağı trafik analizi). Sistem log larında anormallik algılama (RNN) Saldırı tespit sistemi (FFNN, RNN) 60 / 77

Deep Learning Uygulamaları Eksik girişlerin tamamlanması: Giriş olarak verilen bir x vektörünün eksik kısımları bulunur. Gürültü temizleme: Gürültülü veya bozuk veri girişe verilir, çıkışta gürültüsüz veri elde edilir (RNN). Text summarization: Büyük metinlerin özetleri çıkartılır (RNN, AE). 61 / 77 İçerik Yapay Zeka, Makine Öğrenmesi, Yapay Sinir Ağları Makine Öğrenmesi Yapay Sinir Ağları Derin Öğrenme Modelleri Convolutional Neural Network Auto-encoder Deep Learning için Underfitting ve Overfitting Derin Öğrenme Uygulamaları Derin Öğrenme Uygulama Örnekleri 62 / 77

Deep Learning Uygulama Örnekleri Automated image captioning (CNN+RNN) 63 / 77 Deep Learning Uygulama Örnekleri Object detection (CNN) 64 / 77

Deep Learning Uygulama Örnekleri Real time object detection (CNN) 65 / 77 Deep Learning Uygulama Örnekleri Otomatik Wikipedia makalesi yazma (RNN) 66 / 77

Deep Learning Uygulama Örnekleri Google Translate Text (CNN+RNN) 67 / 77 Deep Learning Uygulama Örnekleri Automatic translation of images (CNN+RNN) 68 / 77

Deep Learning Uygulama Örnekleri Image colorization with CNN 69 / 77 Deep Learning Uygulama Örnekleri Real time object recognition with CNN 70 / 77

Deep Learning Uygulama Örnekleri Sürücüsüz otomobil (CNN+RNN) 71 / 77 Deep Learning Uygulama Örnekleri Robotik (CNN+RNN+FLC) 72 / 77

Özet Yapay zeka, zeki insan davranışını makinelerin taklit etmesini amaçlayan çalışmaları kapsar. Turing testinde başarılı olan makineler insan gibi davranır. Rasyonel davranış, girişlere göre en doğruyu yapmaktır. Makine öğrenmesi, yapay zekanın bir alt sınıfıdır. Yapay sinir ağları, makine öğrenmesinin bir alt sınıfıdır. Derin öğrenme, yapay sinir ağlarının alt sınıfıdır. Son yıllarda, insan beyni gibi beyne sahip zeki makineler geliştirilmeye çalışılmaktadır. Yapay sinir ağları, insan beyninin yapısını ve fonksiyonunu taklit eder. 73 / 77 Özet Çok katmanlı ANN, karmaşık problemleri çözebilir. Öğrenme, parametrelerin değerlerinin belirlenmesidir. CNN, görüntü ile ilgili problemlerde önemli bir modeldir. Hiper parametreler, doğrudan öğrenilmezler, ancak modelin özelliklerini belirlerler. CNN model, özellik çıkarımı (convolution+pooling) ile sınıflandırıcının (fully connected NN) birleşimi olarak düşünülebilir. AE, aldığı girişi kendi çıkışına kopyalamak amacıyla eğitilen bir neural network tür. AE, giriş verisinde boyut indirgeme için kullanılır. DAE, veriden gürültüyü yok etmek için kullanılır. 74 / 77

Teşekkürler Deep Learning için Kullanılan Araçlar TensorFlow: En popüler deep learning lib. (Google) Keras: Deep learning algoritmaları ve TensorFlow için deep learning lib. BigDL: Apache Spark için deep learning lib. Torch: Açık kaynak deep learning lib. (Facebook, Twitter) Microsoft Cognitive Toolkit: Açık kaynak deep learning algoritmaları ConvNetJS: Deep learning modelleri için javascript lib. Apache Mahout: Apache Spark, H 2 O ve Apache Flink için ML algoritmaları Caffe: Deep learning framework (Berkeley Vision & Learning center) 76 / 77

Daha fazla bilgi için Deep Learning, Ian Goodfellow, Yoshua Bengio, Aaron Courville, MIT Press, 2016. Deep Learning Tutorial, LISA Lab, University of Montreal, 2015. Fundamentals of Deep Learning, Nikhil Buduma, O Reilly, 2016. A survey on deep learning for big data, Q.Zhangab, L. T.Yanga, Z.C.PengLi, Information Fusion, 2018. On the Origin of Deep Learning, H. Wang, B. Raj, arxiv:1702.07800v4 [cs.lg] 3 Mar 2017. https://deeplearning4j.org http://deeplearning.net/ 77 / 77