Derinlemesine Yapay Sinir Ağları

Herkese merhabalar, bu yazımda sizlere derin öğrenmenin adeta can damarı olarak tanınan ve yapay zekânın temelini oluşturan yapay sinir ağlarının çalışma mantığını ve derin öğrenme yöntemlerini aktaracağım. Eğer bu yazıda anlatılanları daha pekiştirilebilir ve anlaşılabilir hale getirmek istiyorsanız, öneri olarak programlama bilginizin normal seviyede ve veri yapılarına aşina olmanızı talep etmekteyim.

Yukarıda verdiğim görselde gördüğünüz üzere 3 adet girdi nöronlarımız mevcuttur. Çıktı katmanımızda ise y1 ve y2 olmak üzere 2 adet çıktı üretmektedir. Aslına bakarsanız size derin öğrenme ile nasıl tanıştığımı anlatmak istiyorum.

Önceki projelerimde kullanmakta olduğum klasik makine öğrenmesi yöntemlerine göre derin öğrenme yöntemlerinin daha optimize sonuçlar üretebildiğini fark ettiğim an kendimi yapay öğrenmenin kollarına attım. Haydi gelin, hep birlikte keyifli bir şekilde yapay sinir ağlarını sindirelim ki derin öğrenme metotlarına çabucak geçebilelim 👍

YAPAY SİNİR AĞI (ARTIFICIAL NEURAL NETWORK)

 📌 Yapay sinir ağlarından bahsetmeden önce sizlere bir sinir hücresinin ne anlama geldiğine değinmek isterim. Yapay sinir ağları, insan beyninden esinlenerek geliştirilmiş makine öğrenmesi yöntemidir. Sinir hücresi ya da nöron, bilgi transferini gerçekleştiren sinir sisteminin temel fonksiyonel birimidir.

Yukarıda gördüğünüz aslında bir nöron yani tipik bir sinir hücresidir. Yapay sinir ağları da üretilirken tıpkı insan beyninden esinlenilerek sinir hücresi adı verilmiştir.

📌 Tıpkı sinir sisteminde bulunan nöronlarda olduğu gibi sinir ağları da girdi-çıktı arasındaki verilerin transferini sağlamakla yükümlüdür. Bu anlattıklarımı özetlemek gerekirse yapay sinir ağları, insan beyninin çalışmasından esinlenerek geliştirilmiş makine öğrenmesi yöntemlerinin kullanıldığı teknolojidir. Günümüzde yapay sinir ağlarının modellemesi, mühendislik , ekonomi, sağlık gibi birçok problem çözümünde kullanılmaktadır. 

Derin Öğrenme Neden Daha BAŞARILI?

Önceden kullanılan klasik (geleneksel) makine öğrenimi yöntemlerinde başarı grafiği diğer yöntemlere göre biraz daha düşük seyretmektedir. Bunun aksine çok büyük bir sinir ağı eğitmek çoğu zaman daha yüksek performans sergileyecektir. Ve bu eğitim sürekli devam ettikçe makine daha fazla öğrenecek, günden güne bilgi kapasitesini artıracaktır.

Klasik makine öğrenimi yöntemleri günümüze bakıldığında artık eski yöntemler içermektedir. Grafiğe bakıldığında performansı en yüksek olan yöntemin derin öğrenme olduğu sizin de dikkatinizi çekti mi? Peki derin öğrenme ile YSA aynı şey değil midir? Hayır dediğinizi duyar gibiyim.

François Chollet’ e göre derin öğrenme, birbirini takip eden katmanlarda veriler işlenirken giderek artan şekilde daha kullanışlı gösterimler elde edebilen makine öğreniminin bir alt alanıdır.

Konumuz yapay sinir ağları olduğunda aklan gelen en temel örneklerden birisi şüphesiz tişört fiyatının ve talebin ölçülme grafiğidir. Andrew NG tarafından verilen benim de en sevdiğim kurs olan AI For Everyone kursunun ilk haftasında verilen örneği birlikte tartışalım. Gerçek hayatta da bu durum bu şekildedir. Tişört fiyatı ne kadar yüksek olursa bu tişörte olacak talep de o kadar düşük olacaktır.

Bu tür grafiklerde şu bilinmelidir ki, talep eğrisi hiçbir zaman sıfırın altına düşmemektedir. Belki talep çok azalacak ve sıfıra yaklaşacak ancak negatif olmayacaktır. Andrew NG der ki, ‘bu mavi çizginin belki de mümkün olan en basit sinir ağı olduğu ortaya çıkmaktadır’.

Grafik biraz daha ilerleme sağladığında mavi çizginin sabit bir şekilde ilerlediğini göreceğiz.

Bu yapıyı bir sinir ağına dökmek istediğimizde ise fiyatın bir input(girdi) olarak sinir ağına verilip talep değişkeninin ise output(çıktı) olarak çıkması olağandır. YSA yapısında girdiler ve çıktılar tabiki yukarıda gördüğümüz sinir hücreleri yani nöronlar ile ifade edilir. İçerisinde başka gizli katmanlar da mevcut bulunabilir. Tamamen sinir ağının mimarisine göre katman sayısı ve içerikleri değişecektir.

Derinlemesine sinir ağları biraz daha detaya inildiğinde gradyan düşüm algoritması, tensör işlemleri, geriye yayılım algoritması (zincir türev), kayıp fonksiyonu gibi önemli içerikler içermektedir. Bu yazımda sizleri bu konulara hazırlayarak sinir ağlarının mantığını göstermiş oldum.Bana göre çok araştırma yapıp çok fazla bilgiye açık olmak her zaman en önemlisidir. Yavaş yavaş ilerleyerek artık kendi sinir ağı modelimizi eğitecek seviyeye geleceğiz. Görüşmek dileğiyle! Sağlıklı günler dilerim ✨

REFERANSLAR

  1. François Chollet, Python ile Derin Öğrenme, Buzdağı Yayıncılık.
  2. Coursera, Andrew NG, AI For Everyone.
  3. Vikipedi, “Sinir hücresi”, https://tr.wikipedia.org/wiki/Sinir_h%C3%BCcresi adresinden alınmıştır.
  4. Albahnsen, “Building AI Applications Using Deep Learning”, June 6, 2017, https://albahnsen.com/2017/06/06/building-ai-applications-using-deep-learning/.

Leave a Reply

Your email address will not be published. Required fields are marked *