Merhaba, size Global AI Hub'ın internet sitesinde yer alan Introduction to deep learning kursu için notlarımı paylaşacağım. Makine öğrenimi kursuna erişmek isterseniz link: https://globalaihub.com/
Yapay zeka(artificial intelligence); insan düşünce yapısını, zihinsel faaliyetlerini, öğrenme sürecini ve daha fazlasını taklit ederek geliştirilen algoritmalardır. Yapay zeka, makine öğrenmesi(machine learning) ve makine öğrenmesinin içinde yer alan derin öğrenme(deep learning) üzerine kurulmuş bir bilgisayar bilimi dalıdır. Derin öğrenme çevreden aldığı verilerden kendisi çıkarım yaparak ve bu işlemleri sinir ağına benzeyen bir yapı ile gerçekleştirerek sonuca varmayı hedefler. Bu sinir ağında bulunan her bir hücre için black boxes(kara kutular) ifadeleri kullanılır. Bu ifade, her bir işlemin çok ileri ve derin bir süreç ile gizli bir şekilde gerçekleştirilmesi nedeni ile kullanılmaktadır. Derin öğrenme convolutional neural networks(evrişimsel sinir ağları) ve reccurrent neural networks(tekrarlayan sinir ağları) ile kullanılmaktadır. Object detection(nesne tanıma), image proccessing(görüntü işleme), speech recognition(konuşma tanıma) ve object tracking(nesne takibi) gibi faaliyetlerde kullanılır. Veri ve algoritma insanın öğrenmesini taklit etme üzerine işlenir ve yeni bilgi üretilir. Derin öğrenme, veri özelliklerini öğrenebilir ve bu durum insan öğrenmesine daha yakındır. Makine öğrenmesi ise derin öğrenmeye göre ön işleme yapılması gereken durumlar içerir.
Neural Networks(Sinir Ağlar)
Sinir ağları, input layer(giriş katmanı), hidden layer(gizli katman) veya birden fazla hidden layer ve output layer(çıktı katmanı) ile çalışır. Aktivasyon formülü ise X verisinin bir ağırlık değeri ile çarpılmasına benzer bir süreci temsil eder. X1(veri)*Ağırlık+B
Forward propagation(ileri yayılım), kullanılacak verinin katmanlarda işlenerek hep ileri bir katmana transfer edilmesi ve en sonunda ilgili sonucun sonuç katmanında ortaya çıkması ile oluşur, bilgi bir katmandan diğerine sırası ile aktarılır. Back propagation ise eğer öğrenme sürecinde istenilen performans ortaya konulmamışsa geriye dönük olarak her bir ağırlık değerinin tekrar güncellenmesi ve yenide ileri yayılım yapılması için gerekli düzenlemeler yapılmasını belirtir, geriye doğru gerekli işlemler yapılır.
YSA’lar doğrusal olmayan süreçler için kullanılması uygu algoritmalardır. İnsan nöron yapısı ve bağlantıları esas alınmıştır. Kullanıcı sadece input layer ve output layer ile etkileşim kurarken hiçbir şekilde hidden layer ile etkileşim kurmaz. Algılayıcı, katmanlar arası bağlantıyı sağlayarak bu süreci devam ettirir. Ağırlık değeri, her bir girdinin bağlantı gücüdür ve çıktı üzerinde etkisi ola bir çarpandır. Derin öğrenmesi gerekli durumlarda ağırlık değerini değiştirip daha iyi eğitim performansı sergileyebilir. Girdi ile ağırlık çarpılır ve linear(doğrusal) bir şekilde nöronlara aktarılır. Aktivasyon formülü ise non-linear(doğrusal olmayan) bir süreçtir ve ilgili aktarımın eşik değerinden düşük değer ya da yüksek değerde olduğunu belirtir. Düşük değer var ise aktarım olmaz eğer yüksek değer var ise aktarım devam eder. Karşılaştırma matrixi ise model değerlendirmesi için kullanılır.
Training Neural Networks(Sinir Ağlarının Eğitimi)
Sinir ağları iki parametre kullanılarak eğitilir. Hyper parameters(hiper parametreler), öğrenme sürecinini kontrol ederken bu parametrelerin öğrenme süreci içinde ayarlanmasıdır ve ayarlamayı insan yapmaktadır. Learnable parameters(Öğrenilebilir parametreler ise) bir yinelemeli olarak kendisi öğrenen parametredir. YSA’ların eğitimi ile bir model oluşur. Bu süreçte eğer tahmin ve eğitilmiş değer arasında bir fark var ise buna loss(kayıp) denir. Smaller learning rate(küçük öğrenme oranı) ile hızlı ama küçük bir eğitim yapılırken larger learning rate(büyük öğrenme oranı) ile yavaş ve daha iyi sonuç veren eğitimler yapılmaktadır. Bias(önyargı), doğrusal regresyondaki kesişme değeridir.
Convolutaional Neural Networks- CNNs(Evrişimsel Sinir Ağları)
Uzamsal bilgiyi, veriden öznitelik çıkarmayı, nesne ve konum arasındaki bağlantıyı kavramayı sağlayan algoritmalardır. Convolution metodları kullanılır. Görüntü işlenmek için pixel değerleri ilgili Kernel çekirdeği ile dönüştürülür. Bu bir matrixi bir diğer matrix ile değerlerini çarpıp ortaya çıkan değerlerin toplanması ile yapılır. Filtreler ise görüntüyü filtreler Vertical sobel filter, horizontal sobel filter, the laplacian filter olmak üzere çeşitleri vardır. 1 boyutlu dönüşüm ses ve yazı, 2 boyutlu dönüşüm görseller ve 3 boyutlu dönüşüm ise videolar ile yapılmaktadır. Evrişim ise doğrusal bir süreçtir ve çıkış piksel değeri giriş piksel değerlerinin doğrusal bir birleşimidir.
Semantic segmentation ile verileri segmentlere ayırır. Örnek olarak bir görüntü üzerinden tümör tespiti yapılabilir.
Makine öğrenmesi veriyi aldıktan sonra veri ön işleme yapar, sonra sınıflara böler ver çıkış verisini olıştururken derin öğrenme ise veriyi sinir ağları ile işleyip öğrenip sonuç verisini üretir.
Resim -> convulation -> convulation ->… -> output
CNNs, öğrenilebilir filtre ve önyargılı önceden eğitilmiş bir çekirdek ile modellerden yeni modeller için veri üretir. Sınıflandırma modellerini iyileştirir. Semantik segmentasyon ise genel olarak semantik bölütleme ve her pikseli sınıflandırmayı sağlar. İki adet loss fonksiyonu vardır. Back propagation ve gradient descent. Dolgu ise birleştirme işleminde kullanılır. Havuzlama ise boyutları küçültür. Maksimum havuzlama gürültü daha azdır ve önyargı ile ağırlık yoktur. Ortalama max ise ortalama değeri belirtir. Transfer learning ise bir modeldeki önyargı ve ağırlık değerlerini yeni eğitilmiş modellere taşır.
Genel olarak yavaş olan RNNs, sıralı verileri işler ve her veri noktasına bağlı olarak işlem yapar.
Training Recureent Neural Networks
İki tip RNNs vardır. GRU, iki kapısı vardır. Kapı ise önyargı ve ağırlık toplamıdır. LSTM ise uzun ve kısa süreli bellek birimlerini temsil eder. Üç adet kapısı vardır. Giriş, eklenecek bilgiyi tespit eder. Unutma kapısı, önceki hücredeki bilginin unutulmasını sağlar ve çıkış kapısı ise son işlemleri yapar. GRU, LSTM’ye göre daha kolay bir yöntemdir.
İlk olarak kayıp hesaplanır. Geri yayılım, her noktada yapılır. Sıfırlama, önceki hücrenin durumuna göre çalışır. Güncelleme ise mevcut aksiyonu günceller.
RNNs zamansal bilgiyi anlamakta işe yaramaktadır. Gizli durum, geçmişten gelen bilginin özeti ve saklanmasıdır. RNNs’de bazı yöntemler vardır. Birden çoğa yöntemi, bir görüntü için değer oluşturma işleminde çalışmaktadır. Çoktan çoğa yöntemi ise sayısal verilerden yararlanıp tahmin sonuçları elde etmeyi sağlamaktadır. RNNs genel olarak kullanım açısından bazı sınırlamalara sahiptir. Yavaş olması, kaybolan gradyan sorunu ve patlayan gradyan durumları oluşur. Bu durumlar kararsız eğitimlerin sonucunda oluşur.
Tags:
ai
algoritma
bootcamp
deep learning
derin öğrenme
machine learning
makine öğrenmesi
yapay zeka
Yazılım