:::: MENU ::::

MATLAB ile Derin Öğrenmeye Giriş (Introducing Deep Learning with MATLAB)

Mathwork firması tarafından hazırlanan “Introducing Deep Learning with MATLAB” tanıtımını okurken aldığım notlar aşağıdadır. Dokümanı incelemek için tıklayınız.

Derin öğrenme, makine öğrenmesinin bir parçası olup bir sınıflandırma modelinin direk resim, müzik ve metinlerden öğrenmesini amaçlamaktadır. Genellikle sinir ağları mimarisi üzerine uygulanan derin öğrenme, birkaç katmanlı sinir ağının yüzlerce katmanlı hale gelmiş hali gibi düşünülebilir.

Bazı derin öğrenme uygulamaları:

-Otonom bir aracın yaya şeridi gördüğü anda daha dikkatli olması.
-ATM’nin sahte parayı reddetmesi.
-Görüntüden anlık çeviri yapmak.

Son yıllarda sınıflandırma başarısı giderek artmakta, böylece Derin Öğrenme popülerliğini artırmaktadır.

ImageNet ve PASCAL VoC gibi çok büyük veri kümelerine erişim imkanı sağlanması, GPU ile çok uzun süren hesaplamaların çok kısa sürelerde yapılabilmesi, ön tanımlı eğitim ile büyük veri kümelerinin daha küçük boyutlu verilerle temsilinin sağlanması Derin Öğrenme’nin popülerliğini artırmıştır.

Derin Sinir Ağı (Deep Neural Network):

Bir Derin Sinir Ağı Nasıl Öğrenir?

Başlangıçta ham girdi resmi verilir, daha sonraki katmanlarda ise modelin kendi oluşturduğu RELU (rectified linear units) bilgisi aktarılır ve sonuç olarak resim içerisindeki objeler tahmin edilmeye çalışılır.

Ham Girdi -> Convolution -> RELU (rectified linear units) -> Pooling -> aşamaları sürekli tekrar eder.

Dönüşümlü Sinir Ağları (Convolutional Neural Networks)

CNN veya ConvNet olarak kısaltılan Dönüşümlü Sinir Ağları, resim ve videolardan öğrenen en etkili derin öğrenme yaklaşımlarındandır.

Veriye convolution, pooling, rectified linear unit (ReLU) işlemleri onlarca veya yüzlerce katmanda tekrar edilerek veriden farklı öznitelik çıkarıp öğrenilmeye çalışılmaktadır.

Konvolüsyon(convolution), girdi görüntülerini her biri görüntülerden bazı özellikleri aktive eden bir dönüşümlü filtre kümesine yerleştirir.

Havuzlama (pooling), doğrusal olmayan örneklem azaltmayı gerçekleştirerek çıktıyı basitleştirerek ağın öğrenmesi gereken parametre sayısını azaltır.

Doğrultulmuş doğrusal birim (rectified linear unit (ReLU)), negatif değerleri sıfıra eşleyerek ve pozitif değerleri koruyarak daha hızlı ve daha etkili bir eğitim sağlar.

Özellik çıkarım aşamasından sonra sınıflandırma aşamasına geçilir:

Sonuncu katman, K’nın boyutlarının bir vektörünü çıkartan tamamen bağlı bir katmandır (K), burada, K, ağın tahmin edebileceği sınıfların sayısıdır. Bu vektör, sınıflandırılan herhangi bir görüntünün her sınıfının olasılıklarını içerir.

CNN mimarisinin son katmanı, sınıflandırma çıktısını sağlamak için bir softmax işlevi kullanır.

Derin Öğrenme ve Makine Öğrenmesi arasındaki farklar nedir?

Derin öğrenme, makine öğrenmesinin bir alt koludur. Makine öğrenmesi ile bir resimden özellikler çıkarılabilirken, derin öğrenme ile ham verilerden özellik çıkarımı yapılır. Derin öğrenme, yüzlerce, binlerce hatta milyonlarca veriye ihtiyaç duyar.

Makine Öğrenmesi Derin Öğrenme
Küçük veri setleriyle iyi sonuçlar Çok büyük veri setlerine ihtiyaç duyar
Eğitim hızlıdır Eğitim için yoğun hesaplama gerekir
İyi sonuçlar için farklı öznitelikler ve sınıflandırıcılara ihtiyaç duyar Öznitelikleri ve sınıflandırıcıları kendisi öğrenir
Doğruluk platoludur Doğruluk sınırsızdır

Yukarıdaki tablo aşağıdaki tablonun çevirisidir:

Derin Öğrenme Uygulaması

AlexNet, 2012 yılında yayınlanmış olan bir milyondan fazla resim ile eğitilmiş, yaklaşık 1000 kategoride sonuç veren bir önceden eğitilmiş resim sınıflandırma ağıdır.

Not: Mevcut MATLAB sürümün AlexNet entegrasyonunu desteklemediği için burada bırakıyorum. Siz kaynak dosyadaki uygulamayı inceleyebilirsiniz.


Görüşlerinizi önemsiyorum...