Deep Learning Notlarım — 1 (3 PR to NumPy)

Kerem Hallaç
Deep Learning Türkiye
3 min readMay 4, 2020

Merhaba, Coursera’daki Deep Learning Specialization serisinin ilk kursu Neural Networks and Deep Learning’i tamamladım. Kursa başladığımda aldığım notları bu yazımda paylaşacağım. Seriye başlamak isteyenlere fikir açısından genel bir özet niteliğinde olacaktır. Kurs içerisindeki quizlerde geçen bazı ifadeleri de küçük dipnot olarak ekleyeceğim. Faydalı olmasını ümit ediyorum.

Introduction to Deep Learning

Dipnot: Sinir ağlardaki her input katmanı, karşısındaki gizli katmanın tüm node’larıyla bağlantılıdır.

Structured Data: Düzenli, analiz edilebilen ve veritabanlarında saklamaya uygun tipteki verilerdir. Örnek; fiyat, telefon no, isim vb.

Unstructured Data: Veritabanlarında saklamaya uygun olmayan, insan veya makine tarafından üretilmiş verilerdir. Örnek; pixel, ses, görüntü vb.

  • Sinir ağların ve içerisinde işlenen datanın boyutuyla arasındaki ilişkinin performans olarak gösterimi yandaki grafikteki gibidir.

Logistic Regression as a Neural Network

Binary Classification: Input olarak girilen verinin sonucunun 1–0 olarak ifade edilmesidir. Örn; bir resim girdisinin kedi olup olmadığının çıktısını verir.

Logistic Regression: Sınıflandırma için geliştirilmiş bir algoritmadır. Verilerin kategorize veya sınıflandırılmasını sağlar.

Cost Function: Logistic regression modelimizdeki parametrelerin eğitilme maliyetine denir. Mümkün olduğunca minimuma indirmeye çalışırız.

Loss Function: Modelimizde kullanılan algoritmanın veri kümesini ne kadar iyi modellediğini ölçtüğümüz bir yöntemdir.

Gradient Descent: Cost function’ı en aza indirmeye çalışan bir yöntemdir.

  • Amaç global minimum’a ulaşıp Maliyet fonksiyonu (J)’yi en aza indirmektir.

Vectorization: Logistic regression’daki Z = W*X + b işleminin sonucuna matrislerin vektorize çarpımlarıyla Z = np.dot(W, X) + b birlikte daha hızlı sonuç almamızı sağlar.

Kursun bu kısmında numpy kütüphanesiyle bolca örnekler yapılıyor. Python’da matris işlemlerinde broadcasting gibi yöntemlerle kodun daha hızlı çalışmasının örneklerine yer veriliyor.

💯💯💯

Numpy kütüphanesinin gücüne hayran kalıp issuelarının arasında gezinmeye başladım. Aralarından seçtiğim bir issue’ya katkı sağlamaya başladım ve gönderdiğim 3 tane PR kabul edildi. 🎉🎉

Shallow Neural Network

Bir yapay sinir ağının gösterimi
  • 2 katmanlı yukarıdaki sinir ağında bulunan; x1, x2, x3 girdilerinin karşısında bulunan hidden layer’ın ilk node’ndaki hesaplamalar şu şekildedir;

Hidden layer’daki node’da 2 değer hesaplanır Z ve a

  • Z = W*X + b
  • a = g(Z) -> buradaki g aktivasyon fonksiyonudur.

Bu hesaplamalar hidden layer’daki her bir node için hesaplanır.

Activation Functions: Sinir ağlarındaki input olarak verilen bir düğümün çıktısını tanımlar. Birçok çeşidir vardır, bunlardan birkaç tanesi;

Deep Neural Network

Gizli katman sayısının çok fazla olduğu sinir ağları ‘Deep Neural Network’ olarak adlandırılır.

Forward Propagation: Sinir ağındaki input değerleri ağ üzerinden ilerleyerek gizli katmanlara ulaşır. Her gizli katman bu input değerlerini kabul eder ve aktivasyon fonksiyonuna göre işleyerek bir sonraki katmana iletir.

Back Propagation: Sinir ağını etkili bir şekilde eğitmek için kullanılır. Ağın ağırlıklarını ve sapmalarını ayarlayarak cost function’ı en aza indirmeyi amaçlar.

Forward — Back Propagation Çalışmasının Birlikte Gösterimi.
  • Her katman için bir forward propagation vardır.
  • Buna karşılık gelen bir back propagation adımı da vardır.
  • Bu işlemler sırasında hesaplanan değerleri ve bilgileri birbirleri arasında aktarmak için de önbellek vardır.

Parameters vs Hyperparameters

Sinir ağlarındaki terimleri kullanıp örnek üzerinden gidersek;

Parameters; W, b, i

Hyperparameters; learning rate, hidden layers, hidden units, iterations

Yazımın amacı bu kurs serisine başlamak isteyenlere kursun içeriğiyle ilgili ön bir bilgi sunabilmekti. Serinin diğer kurslarını da bitirdikçe notlarımı paylaşacağım. ✍️

--

--