İçinde Yapay Zeka

Derin Öğrenmenin Doğuşu ve İlerleyişi

Yapay zekanın önemli alanlarından biri olan “Deep Learning” yani derin öğrenmenin doğuşu ve günümüzde geldiği noktaları özetledim.

AI: Artificial Intelligence yani “Yapay Zeka” bilgisayar biliminde şu aşamalardan oluşur;

Makine öğrenmesinin altında bir tekniktir derin öğrenme.

Top-down Yaklaşım

Kural tabanlı bir işleyiştir. Şuanki algoritmik yapıların çoğu bu yaklaşımdan oluşmuştur.

Bottom-Up Yaklaşım
Genelde biyolojiden esinlenilmiş dene-yanıl methodu ile çalışır. Veri üzerinde örnekleme yaparak sonuca ulaşmayı hedefler.

Pessimictic Yaklaşım

Üstteki 2 yaklaşımdan sonra 1970-80 döneminde AI, resmen kış dönemini yaşamıştır. Yapay sinir ağarı 1980 den beri var olan bir sistem. Çok katmanlı yapıda öğrenmeye odaklıdır. Genelde 3 katmanlı ağın herşeye yetebileceği öngörülüyordu fakat işlemci güçleri ile birlikte daha çok katmanlı yapıya geçildi ve hata payı azaldı.

Geçen yıllarda çeşitli çalışmalar yüksek işlem gücüne sahip bilgisayarlar ile yapılıyordu ve çok yüksek bir maliyeti vardı.

Büyük verinin (bigdata) artmasıyla 2012 den itibaren inanılmaz bir hız kazandı. Büyük platformların saniyede işlediği yüksek boyuttaki veriler sayesinde, derin öğrenmede bununla birlikte gelişti ve algoritmaları doğru bir şekilde test etme fırsatı verdi.

GPU

Günlük hayatta kullandığımız CPU’lar genelde paralel çalışmaya uygun değildi. Bununla birlikte ekran kartlarında olan GPU işlemciler paralel işlem yapabiliyordu. Deep learning ile paralel işlemin önemi büyük olduğundan 2012 den sonra ekran kartlarının bu işlem için kullanılmasına başlandı.

GPU lar ile birlikte derin öğrenmede hata payladıda %35 lerden %10-15 seviyelerine indi. Yani daha doğru tanımlama artık yapılabiliyordu.

Bu şu demek; makine artık bir resimi analiz ettiğinde resimde; dağ,insan,hayvan ne olduğu, hangi renk oldukları, yüz tanıma, duygu durumlarını tespit edebilecek demek.

Google TensorFlow gibi bir makine öğrenmesi platformunu çok yüksek maliyetli makinelerden, günlük kullanıma kadar indirdi. Ayrıca Google TPU işlemciler üretmeye başlayarak (tensor processing unit) paralel işlemleri çok daha hızlı yapmaya başladı. Yakında mobil cihazlarda da bu işlemciler görülebilir.

Eskiden “features” denilen, veriyi ayıklamak için hangi özelliklerin önemli olduğu bilgisi gerekiyordu. Deep learning ile makineler kendileri önemli olan değerleri kendileri tespit edebiliyor.

Bir veri input olarak girdiğinde layerlar vasıtasıyla katmanlara ayrılır. Bu katmanlar kendileri verileri işleyip bir sonraki katmana aktarıyor. Buradaki perceptron denilen hücreler tıpkı insan beyni gibi önce kenarları algılanıyor daha sonra içeriği anlamlandırmaya başlıyor. Önce lastiğin vidaları tespit edilirken sonraki katmanlarda tekerlek tümüyle görüntülenmeye başlıyor.

İlk veri geldiğinde matrislere ayrılıyor, her piksel ağırlık değerleri verildikten sonra bir sonraki katmana aktarılıyor. Örneğin bir lastiği tanımlamadan sorumlu nöron, “evet bu lastiktir” demesi için jant ve lastik nöronlarından “true” yanıtını alması gerekiyor.

Veri işlerken önce “training data” denilen bir parça veriyi makineye öğrenmesi için verilir ve daha sonra makinenin sonuç olarak beklenilen değeri verip vermediği kontrol edilir. Eğer hata payı yüksek ise ağırlık değerleri yeniden set edilir.

Yapay sinir ağlarında genelde kullanılan 3 teknik vardır.

Convolutional Neural Networks: Görüntü işlemede kullanılır. Ör: ImageNet

2. layerdan sonra “max pooling” denilen yüksek değerdekileri sub-sample olarak alıp bunların üzerinden devam ediyor.

Recurrent Neural Network: Genelde ses işlemede kullanılır. Ses geçmişteki zaman bazlı bilgilerde kullanılır. Ör: borsa, el yazısı vs.

Long Short Term Memory: Hafıza tutma, bilgiyi saklama ve bilgiyi kullanma gibi durumlarda kullanılır.Aslında Recurrent Neural Network’ten türemiş bir yöntemdir. Çünkü ses işlemede sesin başı unutuluyordu. Dil işlemede en çok kullanılan yöntem.

En çok kullanılan “deep learning” frameworkler;
Tensorflow: Büyük matrislerdir. Model kurulduktan sonra memory de çalışır. Her bir node üzerinde işi paylaştırır, datayı değil bu yüzden hızlıdır.

Microsoft CNTK: Resim işleme konusunda iyidir.

Caffe: Facebook  tarafından geliştirilen framework tür.

Yorum Yaz

Yorum