23 Ekim 2018
Yazılımın Yükselen Alt Katmanı: 4 Maddede Deep Learning (Derin Öğrenme) Nedir?
Yazılım alanı yükseldikçe içinde yeni disiplinler de oluşturmaya devam ediyor. Deep Learning  kavramı ise bu konularda en çok merak edilen konulardan biri.
Bu içerikte, Deep Learning kavramını olabildiğince kolay anlaşılır bir dille 4 ana maddede anlatmaya çalışacağım.

1) Deep Learning (Derin Öğrenme) Nedir?

Son yıllarda yapay zeka, makine öğrenimi ve derin öğrenime gibi özelleşmiş üç konu altında şekillenen yazılımsal teknolojilerin giderek artması beraberinde bu üç konuya da ilginin artmasına neden olmuştur.
 Bu alanlarda çalışan uzmanlar, bu sözcükler ile ilgili henüz fikir birliğine varabilmiş olmasalar da bazen iç içe bazen ise apayrı anlamlarda kullanılan bu üç konu hakkında her gün yeni kavramlar ortaya çıkmaktadır.

İlerleyen teknolojiyle birlikte doğrudan hayatımızın merkezine giren yapay zeka, bilgisayarların karar mekanizmasını düzenleyen makine öğrenimi ve tüm bunların altındaki veri analizini ve algoritmalarını inceleyen derin öğrenme sadece mühendislik değil birçok disiplinin ortak gelecek çalışma sahası olma yolunda ilerlemektedir. Genel anlamda daha eski bir terim olduğu için yapay zeka olarak geçen bu çalışmalar teknolojinin gidişatını da doğrudan etkilemektedir.

Şu anda sayıları 100’ü çoktan aşmış olan programlama dilleri ile belirli bir seviyeye kadar işlemciye sahip cihazları rahatlıkla programlayabiliyoruz. Bu cihazlar temelde bizden aldıkları komutları sahip oldukları sistemleri aracılığıyla yine bizden aldıkları zaman diliminde başarıyla uygulamaktalar. Teknolojinin de bu kadar ileri gitmesinde en büyük pay sahibi bu kusursuz bir işleyişe sahip olan programlanabilme özelliği denilmektedir. Ancak bu yetenek ne kadar gelişirse gelişsin yapay zeka ne kadar hayatımızın içine girerse girsin insan beyni karşısında her seferinde yenilgi almıştır.

Örneğin tekrarlardan, kontrol gruplarından veya matematiksel işlemlerden oluşan yapıları çok kolay anlayabilip çözebilirken; mantık yürütülmesi gereken, kesin olmayan ifadelerde mevcut teknoloji yetersiz kalmaya devam etmektedir. Bu şekilde bu sisteme öğrenme yöntemlerini öğretmek gerektiğini esas olan Deep Learning (Derin Öğrenme) kendini göstermektedir.
Yapay zeka öğreniminden yola çıkarak öncelikle veri bilimi altında algoritma ve veri kümelerinden makine öğrenimine kadar olan süreç sonrası büyük veri olarak adlandırılan ve yapay zekanın en üst noktası haline gelen görüntü işleme ve analizi etme ve tüm bunları bünyesinde barındıran derin öğrenme de tüm bu nedenlerden ve ihtiyaçtan dolayı son yıllarda popüler bir konu haline gelmiştir.

2) Deep Learning Konusunda Kullanılan Programlama Dilleri Nelerdir?

Veri biliminde en çok kullanılan diller için yapılan verim testleri ve programlar sonrası şöyle bir tablo ortaya çıkmıştır:
Python %57 - Kodlama olarak ortak dil kabul edilmekte.
C/C++ %44 - Gömülü ve işlemciler için tercih edilmekte.
Java %41 - Pythona benzerlik geliştirici dil olarak kabul edilmekte.
R %37 - İstatistik ağırlıklı ve veri madenciliğinde tercih edilmekte.
Javascript %28 - Tamamlayıcı destek bir dil olarak kabul edilmekte
.

3) Deep Learning İçin Hangi Araçlar Gereklidir?

Genellikle firmalarda Linux işletim sistemi tercih edilse de kişisel çalışmalar için Windows tercih edilmektedir. Kullanılan dillerin seçimine göre derleyici seçmek de kolaylık sağlayacaktır. Örneğin Python için Pycharm veya Anaconda IDEleri ön plana çıkarken C/C++ programlama dilleri için Virsual Studio kullanımı daha avantajlı olacaktır. Java programlama dili için Ecplise IDEsi ve onun alt dalları varken R için de Pythonda olduğu gibi bir derleyici kullanmak hem hızlı sonuç olarak kolay derin öğrenme veya doğrudan yapay zekaya girişinizi hızlandıracak hem de çalışmalarınızdaki testlerinizde size yardımcı olacaktır.

4) Çalışmaları Hangi Yönde İlerletmek Gerekir?

Yapay zeka alanında ilerlemek amacındaysanız temellerine yoğunlaşarak bili sahibi olmanız avantaj sahibi olmanıza yardım edecektir. İnternet ortamındaki ücretsiz kaynaklar, online eğitim siteleri veya üniversitelerin açık kütüphaneleri en önemli kaynak olarak görülmektedir. Daha sonrasında ise yöneleceğiniz konu başlıklarına göre kendi alanınızı seçmek ve o alana yönelik makaleler, tezler ve akademik çalışmalara göre ilerlemeniz gerekmektedir. Genel olarak ağırlıklı olarak ilgilenilen konu başlıklarını şöyle listeleyebiliriz:
Convolutional Neural Networks – Nesne tanımı ve takibi
Long Short Term Memory – Doğal dil işleme ve simultane sinir ağları
Generative Adversarial Networks – Yapay Veri üretebilme
Reinforcement Learning – Kendi kendine öğrenebilen yapay zeka
Eğer veri bilimcisi veya derin öğrenme amacındaysanız öncelikle Python programlama dilini çok iyi bilmeniz ve bunun yanında gerektiği yerlerde kullanmak üzere R veya Java programlama dillerini iyi bilmeniz gerekmektedir. Datasetleri elde etmek ve bu datasetlerinin güvenli ve kullanışlı hale getirmeniz gerekmektedir. Veri madenciliği başta olmak üzere nesne tabanlı programlama, görüntü işleme ve veri yapıları konularına hakim olmak önemli ölçüde yarar sağlayacaktır. Veri analizi sırasında yapacağınız yöntemleri, algoritmaları ve işleme süresindeki veritabanı kullanımında ne kadar hızlı ve doğru bir tercih yapmak da hem ilerlemek hem de doğru sonuçları elde etmek adına önemli bir yol kat etmenizi sağlayacaktır.

Bu içerikler de ilginizi çekebilir:

2

Yorumlar (2)

  • Muzaffer

    "Ancak bu yetenek ne kadar gelişirse gelişsin yapay zeka ne kadar hayatımızın içine girerse girsin insan beyni karşısında her seferinde yenilgi almıştır." yorumuna katılmıyorum. Örneğin alanında en yetkin insanlar karşısında galip gelmiş çok başarılı "Satranç" ve "Go" bilgisayar uygulamaları var.

    16:43 replyYanıtla
  • Anonim

    İnsan beynindeki nöronlar birbirleriyle milyarlarca paralel bağlantı kuruyor. Bu aslında günlük hayatta farkına varamayacağımız inanılmazlıkta bir işlem hızı sağlıyor. Bu hıza yeryüzünün en hızlı bilgisayarlarının bile yaklaşabilmesi en azından günümüzde mümkün değil.

    12:55 replyYanıtla