Skip to content

Latest commit

 

History

History
209 lines (165 loc) · 21 KB

Derin-Öğrenme.md

File metadata and controls

209 lines (165 loc) · 21 KB

logo

Manisa Celal Bayar Üniversitesi Veri Topluluğu

Bu sayfa Manisa Celal Bayar Üniversitesi Veri Topluluğu üyeleri için hazırlanmış Derin Öğrenme(Deep Learning) rehberidir. Veriye ilgi duyuyorsanız Veri Bilimi topluluğuna katılmak için aktif üye formu doldurabilirsiniz.

Sosyal Medya Hesaplarımız

LinkedIn Github Badge Instagram Badge Twitter Microsoft Teams

İçindekiler

Genel Bilgi

Derin öğrenme, yapay sinir ağları ve büyük veri setlerini kullanarak karmaşık problemleri çözmek için kullanılan bir makine öğrenme yöntemidir. Derin öğrenme, sinir ağlarının çok katmanlı yapısını kullanır ve veriye dayalı özelliklerin otomatik olarak öğrenilmesine odaklanır.

Yol Haritası

Temel Konular

Frameworks

  • TensorFlow: Derin öğrenme için en popüler açık kaynaklı kütüphanelerden biridir. Çok sayıda önceden eğitilmiş model ve derin öğrenme araçları sunar.
  • Keras: TensorFlow'un üzerine inşa edilen yüksek seviyeli bir derin öğrenme kütüphanesidir. Kullanımı kolay ve hızlı prototipler oluşturmanıza olanak tanır.
  • PyTorch: Yine açık kaynaklı bir derin öğrenme kütüphanesidir. Dinamik grafikler kullanarak esnek bir şekilde model oluşturmanıza olanak sağlar.
  • scikit-learn: Genel amaçlı bir makine öğrenimi kütüphanesidir. Derin öğrenme için önceden işleme, model seçimi ve değerlendirme gibi bir dizi yardımcı işlev sunar.
  • Theano: Yüksek performanslı matematiksel işlemler yapabilen bir derin öğrenme kütüphanesidir. Biraz daha düşük seviyeli bir API'ye sahiptir ve TensorFlow ve Keras ile karşılaştırıldığında daha az popüler hale gelmiştir.
  • Caffe: Hızlı ve etkili bir derin öğrenme kütüphanesidir. Özellikle görüntü sınıflandırma ve tanıma gibi görsel işleme problemlerinde yaygın olarak kullanılır.
  • Julia: Julia, açık kaynak kodlu, yüksek performanslı ve yüksek seviyede programlanabilen bir dil olarak derin öğrenmeye giriş için uygun bir platform oluşturmaktadır. Knet.j ise Julia üzerinde Deniz Yüret ve ortakları tarafından uygulanan derin öğrenme çerçevesidir. Knet.jl derin öğrenme modellerinin program fonksiyonlarına yakın bir dille tanımlanmasına izin vermekte, alt fonksiyonlar kullanarak kompleks modellerin kolaylıkla geliştirilmesine olanak sağlamakta, model eğitimi için gerekli türev ve güncelleştirme işlemlerini otomatikleştirerek kullanıcının model yapısına konsantre olmasını kolaylaştırmaktadır
  • MatConvNet: MatConvNet, derin öğrenme platformları ve kütüphanelerinden biridir. Derin öğrenme, yapay zekâ alanında çığır açmıştır. Derin Öğrenmeyle birlikte makineler ses, görüntü, sinyal, metin gibi verileri kullanarak sınıflandırma, nesne tanıma, ses tanıma ya da dil çevirileri gibi özelleşmiş görevleri en az hatayla yerine getirirler.

Lineer Cebir

  • Vektörler ve Matrisler: Lineer cebirde, vektörler ve matrisler temel yapı taşlarıdır. Vektörler, tek bir boyutlu verileri temsil ederken, matrisler iki boyutlu veri tablolarını temsil eder. Derin öğrenme uygulamalarında, genellikle ağırlıklar, özellikler ve gradyanlar gibi bilgileri temsil etmek için vektörler ve matrisler kullanılır.
  • Doğrusal Bağımlılık: Bir vektörün diğer vektörler tarafından doğrusal bir kombinasyonu olarak ifade edilebilmesine doğrusal bağımlılık denir. Derin öğrenme uygulamalarında, özelliklerin doğrusal bağımlılığını analiz etmek, aşırı uyum (overfitting) veya özellik seçimi gibi sorunları ele almak için önemlidir.
  • Matris Çarpımı: Matrislerin çarpılması, bir matrisi diğerine dönüştüren temel bir işlemdir. Derin öğrenme modellerinde, ağırlıkların ve özelliklerin matris çarpımı yoluyla hesaplanması yaygındır. Matris çarpımı, katmanlar arasındaki bağlantıları ve veri işleme süreçlerini temsil eder.
  • Transpoz: Bir matrisin transpozu, matrisin satırlarını sütunlara ve sütunları satırlara dönüştüren işlemdir. Transpoz, matris çarpımında ve model parametrelerini güncellemede önemli bir rol oynar.
  • Lineer Denklem Sistemleri: Derin öğrenme modelleri genellikle lineer denklem sistemlerini çözmek için kullanılır. Bu denklemler, verileri temsil eden matrisler ve hedef değerleri temsil eden vektörler arasında bir ilişkiyi ifade eder. Modellerin eğitimi, bu denklem sistemlerini çözmeyi ve model parametrelerini ayarlamayı içerir.
  • Eigenvektörler ve Eigendeğerler: Bir matrisin eigenvektörleri, matrisin çarpımı sonucunda yalnızca bir ölçek faktörüyle değişmeyen vektörlerdir. Eigenvektörler ve eigendeğerler, derin öğrenme modellerinde boyut indirgeme, veri dönüşümü ve matrislerin özelliklerini anlamak için kullanılır.

Olasılık-İstatistik

  • Olasılık Dağılımları: Derin öğrenme modellerinde genellikle olasılık dağılımları kullanılır. Örneğin, sınıflandırma problemlerinde sınıflar arasındaki olasılık dağılımlarını tahmin etmek için kullanılır. En yaygın olarak kullanılan olasılık dağılımları arasında normal dağılım, Bernoulli dağılımı, çoknomiyal dağılım ve kategorik dağılım bulunur.
  • En olası tahmin (Maximum Likelihood): Derin öğrenme modellerinde, veriye dayalı en olası tahmini yapmak için maksimum olabilirlik (maximum likelihood) yöntemi kullanılır. Bu, veriyi en iyi açıklayan model parametrelerini seçmek için kullanılan bir istatistiksel tahminleme yöntemidir.
  • Örnekleme (Sampling): Derin öğrenme modelleri genellikle örnekleme işlemine dayalıdır. Örnekleme, olasılık dağılımlarına dayalı olarak yeni örnekler oluşturma sürecidir. Örneğin, jeneratif modeller, yeni görüntüler, metinler veya sesler oluşturmak için örnekleme işlemi kullanır.
  • İstatistiksel Testler: Derin öğrenme modelleri geliştirirken, modelin performansını değerlendirmek için istatistiksel testler kullanılabilir. Örneğin, hipotez testleri veya çapraz doğrulama (cross-validation) gibi yöntemlerle modelin doğruluğunu, hatayı veya performansını istatistiksel olarak analiz etmek mümkündür.
  • Bayes Teorisi: Bayes teorisi, derin öğrenme modellerinde istatistiksel çıkarımlar yapmak için kullanılan bir yöntemdir. Bayes teoremi, öncül bilgiyi ve veriyi birleştirerek sonuçları güncellemeyi sağlar. Bu, özellikle belirsizliklerin olduğu durumlarda model tahminlerini iyileştirmek için kullanılır.
  • Veri Ön İşleme ve Normalleştirme: Derin öğrenme modelleri, veri ön işleme adımlarını içerir. Bu adımlar arasında veri normalleştirme, veri temizleme, boyut indirgeme, veri standartlaştırma gibi istatistiksel yöntemler yer alır. Bu işlemler, verinin modele daha iyi uymasını sağlar ve eğitim sürecini iyileştirir.

Algoritmalar

Algoritmalar için Püf Noktaları

Yapay Sinir Ağları (Artificial Neural Networks)

Evrişimli Sinir Ağları (Convolutional Neural Networks)

Kapsül Ağları (Capsule Networks)

Çekişmeli Üretici Ağlar (Generative Adversarial Networks)

Kullanım Alanları

Doğal Dil İşleme (Natural Language Processing)

Bilgisayarlı Görü (Computer Vision)

Kütüphaneler

TensorFlow

Keras

PyTorch

Caffe

Scikit-learn

Theano

Julia

MatConvNet

Video Dersler

Kitaplar

Ücretli Kitaplar

Bloglar

Bilimsel Makaleler

Genel (Review/Survey)

Bilgisayarlı Görü (Computer Vision)

Google Colab

Github