Ana içeriğe atla

Deep learning e nasıl vardık?



*
Olasılık ve istatistik ile başlayıp, makine öğrenmesi sonrasında SVM (support vector machine) ile devam eden süreç deep learning e nasıl vardı? Kısaca açıklayalım.

Nereden başladık

Olasılık teorisi ile başlayan karar verme süreçlerinde bilimden yararlanma süreci, verinin özetlenmesi için belli parametrelerin çıkarılması ile devam etti. Ortalama değer ve varyans gibi, eldeki verinin örneklem karakteristikleri, olasılık teorisinden alınan olasılık dağılım fonksiyonları ile birlikte hipotezlerin testi için kullanıldı. Bugün bazılarımızın A/B testi olarak bildikleri test de dahil olmak üzere bir çok karar alma sürecinde halen kullanılan teknikler ortaya çıktı.

Tahminleme

Karar almanın temeli tahmine dayanmaktadır. Tahmin etmek eldeki veriden girdiler ve bu girdilerin çıktı(sı/ları) olarak bir matematiksel model üretmek ve sonrasında bu modelin karar almada kullanılması ile mümkün olmaktadır. İlk modeller basit ve o anki problemlere cevap verdiği için doğal olarak lineer (doğrusal) oldu. Bunun anlamı, girdiler birbirleri ile toplama ve/veya çıkarma yapılarak çıktı üretilmekteydi. Dolayısı ile Regresyon yöntemi, eldeki verideki noktalardan bir doğru denklemi geçirme problemi olarak ele alınabilir. Tabii bu yöntem kısa zamanda nonlineer olarak bilinen lineer olmayan yani çarpma ve bölme işlemlerinin de kullanıldığı fonksiyonlara geçişi getirdi. Bu şekilde eldeki noktalardan bir eğri geçirmek ve tahminlememizi buna göre daha isabetli yapmak imkanına kavuştuk. Bu süreçte olasılık dağılım fonksiyonu kullanmak, problemin içindeki şans faktörünü modellemek için gerekliydi.

Yapay zeka

1950 li yıllarda yapay zeka ile uğraşan akademik çevreler, bir bilgisayarın öğrenebilme ve problem çözmesi ile ilgili algoritmalar üzerinde uğraşırlarken, eldeki verinin dağılım fonksiyonunu bilmeden çözüm üretme üzerine kafa yoruyorlardı. Öyle ya, canlılar istatistik bilmeden karar alma yeteneğine sahiptiler. Bu dönemlerde iki temel yöntem öne çıktı. Yapay sinir ağları ve karar ağaçları. Bu iki yöntem de, istatistiğe dayanmıyordu. Yapay sinir ağlarında sinir hücrelerinin çalışma şekli simule edilerek katmanlı bir ağ yapısı oluşturuldu. Bu yapıda girişteki katmana girdi katmanı, çıkıştakine ise çıktı katmanı dendi. Bu ikisinin arasında kalan katmanlara da gizli katmanlar (hidden layers) dendi. 1980 li yılların sonlarından 2000 li yılların başlarına kadar geçen süre altın çağ olarak hatırlanır. Bu dönemin sonunda, gizli katmanların dört ile beş katmanı aşması durumunda sistemin karmaşasının arttığı ve sonuçların daha da iyileştirilemediği görüldü. Bir anlamda ekonomik olarak ürünleştirilmesi süreci durmasa da yavaşladı. Karar ağaçları da belli problemlere uygulanmasında iyi sonuçlar verse de, veri boyutu artışı ile çıkan problemleri algoritmik çözümde çok başarılı olamaması nedeni ile sınırlı problemlere uygulanır oldu.
İstatistik dünyasında lineer olmayan ileri bazı yöntemler üretilse de, eldeki problemlere uygulanabilecek genel bir ilerleme kaydedilemedi. İleri yöntemler için zaman serileri ile ilgili lineer olmayan yöntemlere bakılabilir.

Yine yeni yeniden, çok boyutlu uzayları farklı bir kullanış

1990 lı yılların sonlarında Yapay Sinir Ağları'nın (YSA) kaldığı noktada Destek Vektör Makinesi (Support Vector Machine) olarak isimlendirilen bir yöntem YSA nın başa çıkamadığı karmaşıklık ile başa çıkmanın ümit vadeden yöntemi oldu. Bu yöntemde karmaşık problemler, karmaşıklıktan kurtulmak için matematikteki uzay yapıları ve bu uzayların arasında geçiş imkanı veren fonksiyonlar kullanılarak basitleştirilmeye çalışıldı. Tabii yapay sinir ağları da çok boyutlu uzaylarda işlem yapmayı gerektiriyordu ama uzaylar arası geçiş yoktu. Bu çok karmaşık matematiksel yönteme göre, bir uzay filmindeki boyut geçmede kullanılan kapılar gibi, çekirdek fonksiyonları (kernel functions) kullanılmaya başlandı ve birçok problemi çözmede yol alındı. Bunun temel sebebi, A uzayında karmaşık olan ve lineer olmayan bir çözüm gerektiren bir problemin, çekirdek fonksiyonları yardımı ile geçilen B uzayında lineer bir problem olarak ele alınabilmesiydi. Bu şekilde lineer yöntemleri bu uzayda kullanmak mümkün oluyordu. Bunun ticari hayata yansıması, SVM kullanılarak geliştirilen bazı ürünlerin bilim adamları dışındaki kullanıcıya SVM i kullanarak karmaşık sınıflama problemlerini çözme imkanı vermesi oldu. Yapay sinir ağlarında olduğu gibi, yöntemin kullanıcı tarafından kararı açıklarken detay verememesi, yaygınlaşmasında ciddi bir engel teşkil etti.

2000 li yılların ortalarına gelindiğinde genel resim buydu ama özellikle büyük verinin dalga dalga yayılması ile bu yöntemler ihtiyacı karşılamaktan uzak kaldılar.

Rasgele Matris Teorisi

Tam bu anda, mazisi yapay sinir ağlarının bulunması kadar eskiye giden bir matematiksel çözüm yöntemi geniş bir kitle tarafından hatırlandı. Gerçekte o kadar çok biliniyordu ki katı hal fiziğinden, kimyaya kadar bir çok alanda kullanılıyordu. Adı Rasgele Matris Teorisi (Random Matrix Theory) olan ve bilim adamlarının karmaşık sistemlerin modellemesinde keşfettikleri - evrensellik (universality) - özelliğini kullanmaya dayanan teori, veri modellemesi için kullanılınca, dünya yeni bir veriden karar üretme dalgasının etkisine girdi. RMT nin babası Nobel Fizik Ödülü sahibi Eugene Wigner in şöyle dediği söyleniyor.


"all complex, correlated systems exhibit universality, from a crystal lattice to the Internet"


Deep learning

Öyleki, atomların enerji seviyelerini modellemeden, kimyasal maddelerin spektral analizine, internette öbeklemelerin modellemesine kadar çok değişik alanlara uygulanmaya başlandı. Bu uygulamalar sırasında yapay sinir ağlarının beşten fazla gizli katman olması durumu ile başa çıkılamaması problemi de hatırlandı. Sonuçta bu da karmaşık bir problemdi ve matrislere dayanıyordu. Bu şekilde ele alındığında ardı ardına ses tanıma, doğal dil işleme ve görüntü tanıma gibi konularda eski yöntemlere fark atan çözümler ortaya çıktı. Buna Deep Learning (Derin öğrenme) dendi. İsmin yapay sinir ağlarındaki gizli katmanların sayısının arttırılmasının önündeki engelin kaldırılmasına işaret ettiği söylenebilir. Tabii 1990 lı yıllardaki yapay sinir ağları dönemindeki gibi, büyük beklenti yaratılıp küçük çözümler gelmesi de mümkün ama şu ana kadar yapılanlar çok ümit verici.

Merkezi Limit Teoremi

20.yy ın başlarında merkezi limit teoremi normal dağılımı nasıl bilimsel dünyada modellemenin temel araçlarından birisi yaptı ise, rastgele matrisler teoremine dayanan özdeğerlerin çembersel dağılımı aynı etkiyi yaratacağa benziyor.

Julia

Çok büyük matrislerle işlemler yapılmasını gerektiren bu yöntemlerin kullanılması için yazılım dünyasında neler yapılıyor. Bu modellerin mevcut büyük veri teknolojilerinden güç aldığını söylemeye gerek yok. Ama yine de devasa matrislerle işlem yapmak için yeni yazılım kütüphaneleri geliştirilip kullanılmaya başlandı. Hatta alana özel yazılım dilleri bile geliştiriliyor. Bunlardan birisi Julia. Adından gittikçe daha çok söz ettirecek dillerden birisi olmaya aday.

Bilim insanlarının çağı

Yaşadığımız dönemin veri bilimcilerinin dönemi olacağının söylenmesi, bilimin daha da öne çıkacağını zaten haber vermişti. Bu alanın en iyi bilim adamlarının şu anda Google, Microsoft ve IBM gibi firmalar tarafından kapıldığını, yakın zamanda ses ve görüntü işleme özelliği ön plana çıkan ürünlerde bu bilim adamlarının ürettikleri matematiksel modellemelerin kullanıldığını söylemeye gerek yok sanırım.

Böyle bir dünyada rekabet etmek için özellikle uygulamalı matematik alanında çalışan bilim adamlarının kurumsal şirketler ile daha çok birlikte çalışacağı bir yüz yılın başındayız.

* Grafik Simons Science News den alınmıştır.

Yorumlar

Bu blogdaki popüler yayınlar

SAS Nedir?

Anthony Barr, James Goodnight, John Sall ve Jane Helwig isimli dört kişi tarafından 1976 yılında Statistical Analysis System i smi ile kurulan fakat yazılım alanında ürettiği ürünlerle bu sınırları aşan SAS (SAS Institute) günümüzde borsaya açık olmayan dünyanın en büyük yazılım şirketlerinin başında geliyor. Hiç kuşkusuz bu dörtlüden en önemlisi, Harvard Business School tarafından* 20 inci yüzyılın en önemli iş liderleri listesinde gösterilen ve aynı zamanda şirketin CEO su olan James "Jim" Goodnight dır. İstatistik alanında doktorası olan Goodnight ayrı bir yazı konusu olmayı hakeden renkli bir kişilik. SAS denince ilk akla gelen öncelikle istatistik ve iş zekası alanlarında marketin önemli oyuncularının başında gelen ve "Bilmenin gücü (Power to know)" nü uzun yıllardır müşterilerinin hizmetine sunan Amerika Kuzey Karolayna merkezli dev bir yazılım şirketi olduğudur. Detaylarda ise genetik, tarım, finans, telekom, uzay, ilaç, kimya, bankacılık gibi birçok farkl...

Veri kalitesi işlemlerinde bulanık mantığın (Fuzzy logic) kullanılması

Bulanık mantık (Fuzzy Logic) üzerine 1995 yılında bitirdiğim yüksek lisans tezinde, bulanık mantık ile çalışan bir uzman sistem yapmıştım. O zamanlar bulanık mantık, bilişim teknolojileri alanında yeni yeni emekleme dönemindeydi. Özellikle veritabanlarında bilgi keşfi çalışmaları için kullanılması yönünde oldukça çok akademik çalışma yapılmaktaydı. Günümüzde Bilgi Teknolojileri (BT) sektöründe bulanık mantık dahil diğer bilgi belirsizliği modellerini, BT profesyonelleri "kullanıyor" dememiz zor. Fakat en zor alanlardan biri olan ve gün geçtikçe önemi artan veri kalitesinin arttırılması konusunda yapılan çalışmalarda, bulanık mantık terimi oldukça sık ismi geçen bir terim haline geldi. Bu nedenle yazımızın konusu bu terimin genel anlamından çok veri kalitesinde kullanımı konusunda olacak. Veri kalitesi çalışmalarında fuzzy logic kelimelerini ilk duyduğumda kelimelerin bulanık küme teorisinde kullanılması geldi. Örneğin; çok gürültülü kelimesinin bulanık kümesinin kurulmas...

Katılımcı bir dünya

Bugün Devveri.com da okuduğum “ data driven kavramı ve II.faz ” yazısı, yazılım ile çözüm üretme anlayışındaki değişimi bir yönü ile ele alıyor. Ben de başka bir yönü ile aynı konuya bakıyorum ve Ayhan Demirci’nin çizdiği resmi biraz daha tamamladığımı düşünüyorum. Ayhan yazıda SAS ile ilgili örnekler verdiği için, ben de benzer şekilde ilerleyeceğim. İş dünyasının problem çözmede kullandığı temel araçlar olan bilgisayarların mimarisi 1990 lı yılların sonlarından itibaren inanılmaz bir değişim geçirdi. Sıradan bilgisayarların bile çok çekirdekli bir mimariye sahip olabilmesi, konvansiyonel programlama ile ulaşılan çözümlerin sonunu getirdi. Sebep basitti, iki çekirdek bir çekirdekten üstündü ve normal programlama dilleri ile üretilen çözümler tek çekirdeği kullanıyordu. Java gibi diller thread ler vasıtası ile paralel programlama  yapmayı sağlayarak diğer çekirdekleri de kullanmaya fırsat tanıyorlardı. Ne var ki çok zor bir programlama şekli olduğu için çok az...