Pazar, Ekim 25, 2015

Derin Öğrenme 1

Yapay Zeka ile ilgili konuları takip ediyorsanız, muhakak rastlamışsınızdır. Bu günlerin moda kavramı derin öğrenme - Deep Learning -  Gün geçmiyorki filan konuda, falan konuda  derin öğrenme uygulandı şöyle başarılıydı böyle başarılıydı haberleri duymayalım.  Dünayanın en büyük en parlak şirketleri ekipler kurup bu konu üzerinde  çalışıyorlar.  Dünyanın en iyi üniversitelerinde araştırma gurupları var.



Kısaca derin örğenme tarafına doğru güçlü bir rüzgar var. Bütün bunlar yapay zekanın bütün hedeflerine derin öğrenme ile ha ulaştık ha ulaşacağız hissiyatı veriliyor. Doğrudan konu hakkında konuşmadan önce giriş niteliğinde temel bazı konulardan bahsetmek istiyorum.

Bilim ve teknolojinin de bir tarihi var. Bilim ve Teknolojik gelişmelerde yıllara göre ilerlemeler görünür.



Bilim ve teknolojide gelişmeler her zaman aynı hızda gitmez. Aslında coğu zaman ortalama  bir hızda gelişmeler olur. Ama bazen bir buluş bir yenilik ile gelişme hızı eski hızına göre yıllar sürecek seviyeye bir kaç ayda ulaşılır.  Böyle parlak yenilikler pek çok  insanın gözlerini kamaştırır.  Olmadık beklentilere girilir.  Bir örnek verelim.  Günümüz yapay zeka çalışmalarına 1956  yılında 1 başlandı. Gelişmelerin gidişatından, 1960'lı yılllarda  "Bilgisayarlar  on yıl içinde insanlar kadar akıllı olacaklar " diyenler çıktı.  Ne mutluki !  yıllar  geçmesine rağmen ortada böyle bir gelişme olmadı.  :)


 Keza gelişmeler her zaman aynı yönde de olmadı. Mesela kütüphanemdeki en eski Yapay Zeka kitabının 2 tarihi 1991 ve içindeki konular Mantıklsal akıl yürütme, Doğal Dil İşleme, Uzman Sistemler, Robot bilim şeklinde sıralanıyordu. Güncel bir kitabın çok değişik konulardan bahsedeceği barizdir.  Yani bazı zamanlarda bazı alanlar çok öne çıkıyor, pek çok insan bu alanda çalışıyor. Sonra bir başka alanda bir gelişme oluyor, ve o alanda çalışmalar çoğalıyor.




Yukardaki grafikdeki gibi A ve D diye iki metod bulunmuş. A metodu gelişerek A1 ve A2 diye geçerliliğini korumuş. D metodu D1 ve D2 diye gelişmiş ama. İlk etapta gelişme olmamış hatta D1 hali hazırda terk edilmiş. D2 metodundan  uzun  zaman sonra  D21 , D22, D23 metodları geliştirilmiş halen güncelliğini koruyor. Grafik ve isimler farazide olsa Bilmin pek çok alanında ve elbetteki Yapay zeka araştırmalrında benzeri durumlar olmaktadır.

Bütün bunlardan anlamamız gereken şeyler nelerdir.

  • Gelişmelerde devrim niteliğinde ilerlemelere vesile olan modelleri takip etmemiz, öğrenip uygulayabilmemiz lazım ki geri kalmış olmayalım.
  • Bahsettiğimiz modele mucizevi bir hayranlıkla bağlanıp kalmamalıyızki. Bir başka metod çıkış yaptığında afallayıp kalmayalım. Çünkü yeni bir metdo bulabilmek, hali hazırdakinin eksikliklerini görebilmekle başlar....
Gelişme ve gelişmeye vesile olacak metod nasıl belirlenebilir.  Bunun en bariz yolu daha iyi olduğunu göstermekden geçer. Mesela bir motor için geliştirilecek metod eğer daha az yakıt ile daha çok güç üretiyorsa. Bir motor yaparsınız ve ispatlarsınız. Yapay Zeka çok daha geniş ve muğlak bir alan. Nihayi hedef olaran belirlenmiş bir "Turing Testi" olsada bunun pratik ölçümü pek mümkün değil. Bu durumda yapay zeka çalışmalarının çok önemli ve çok pratik bir kısmı olan  yapay öğrenme üzerinden metodların yarıştırılması mümkün olabiliyor.

Yapay Öğrenmede, motodların performanslarını ölçmek için veri setleri oluşturulmuştur. Yapay öğrenmede hali hazırda  pek çok metod vardır. Metodlardaki gelişme bu listelerde daha iyi - kesinlik anlamında - sonuçlarla ispatlanmaktadır. Derin öğrenme metodlarının uygulandığı sonuçlar günümüzde bu listelerin üst sıralarını oluşturmaktadır.

Yapay Öğrenmede pek çok metod var dedik. Peki metodlar arasında nasıl seçim yapabiliriz. Biraz da bu işin temellerine bakalım.

Mühedislikte tek önemli olan şey kesinlik değildir. Şöyle örnekleyelim ; Bir uygulama yazmaya çalıştığımızı düşünün.  Bölme işleminde virgülden sonra 1000 basamak hesaplayan bir metodun kesinliği virgülden sonra 3 basamak hesaplayana göre daha iyidir. Lakin pek çok iş için  3 basamaklık bir hassasiyet yeterlidir.

Bir başka konuda uygulamanın alanı ve ortaya çıkan verinin yapısıdır. Her meotod her çeşit veriye uygulanamayabilir.  Uygulamanın gerektirdiği kısıtlamalar olabilir. Mesela her metodun ortak bir noktası olan eğitim aşamasının hızı,  Uygulamanın anlık eğitime ihtiyaç duyması ile bazı metodların eğitim aşamasının çok uzun olması sebebiyle kullanışsız olabilir.

  • Yabancı dildeki şöyle tabirler var.  "No Silver Bullet" ve "No free lunch" . İşin özü  "armut piş ağzıma düş" durumu  hiç bir yerde olmadığı gibi Yapay öğrenmede de yoktur.  "Falan  diye bir metod  çıkmış  her şey bunu kullanmak lazımdır " anlayışı yanlışdır.

Genel olarak şunu söylemek isterim. Bir uygulamada sayılsal 3 ve algoritmik  bir çözüm varsa hesaplama süresi çok uzun değilse onu kullanın.  Bu mümkün değilse Uygulamanızın şartlarına göre  olan bir araştırma yapın seçiminiz ona göre yapın.

Yazıda epey uzamış sizleri daha fazla sıkmak istemiyorum. Bu kadar temel girizgah  Derin öğrenme konusuna daha akılcı bakmanızı sağlayacağını umarak. Derin öğrenme konusundaki aşağıdaki videoya bakmanızı  önereceğim. Bu video Ankarada  Derin Öğrenme Etkinliği ndeki   Ferhat Kurt tarafından yapılan konuşmadır.



Daha yeni başladık :) devam edecek...

Not :
1)  Aslında çalışmalar daha önceden başlansada  Yapay Zeka  adı bu yılda toplanınan bir kongrede verildi.

2)  Kitap İletişim yayınlarından - cep üniversitesi serisinden- çıkmış ve 1991 yılında okumuşum hey gidi günler hey...

3) Numerical Analysis , Türkçede Sayısal Çözümleme diye geçiyor.



1 yorum:

B Enes Kavas dedi ki...

Hocam, yapay sinir ağları ile lineer denklem sistemlerini çözmek mümkün mü?