Derin Öğrenme Nedir?

Derin Öğrenme, yapay sinir ağları adı verilen beynin yapısı ve fonksiyonundan esinlenen algoritmalarla ilgili makine öğrenmesinin bir alt alanıdır. Yapay zeka, makina öğrenmesi ve derin öğrenme kavramları birbirleriyle iç içe kavramlardır. Bu kavramların birbirleriyle olan ilişkileri aşağıdaki şekilde ifade edilmiştir.

(kaynak: http://fortune.com/ai-artificial-intelligence-deep-machine-learning/ ).

Yapay Sinir Ağlarının (YSA) geliştirilen ilk modeli olan Perceptron Learning algoritmasıdır. Derin öğrenme bu ilk yaklaşımın geliştirilmiş hali olarak düşünülebilir. İlk geliştirilen Perceptron modelinde nöron sayısı çok azdı, bu nedenle karmaşık problemlerin çözümü mümkün olamıyordu. Bu duruma örnek verecek olursak, ilk Perceptron modelinde Logic olarak “And” yapısı başarılı bir şekilde oluşturulabilirken, “OR” yapısı oluşturulamamaktaydı. “OR” yapısının oluşturulması için ek katmanlara ihtiyaç duyuldu. Yapay sinir ağlarında, karmaşıklığı artan bir problemin YSA ile çözülmesi artan katman sayısı ile mümkün olmuştur. Artan katman sayısı, daha derin bir karar mekanizması anlamına gelmektedir. Derin Öğrenmenin geleneksel YSA modellerine göre en önemli farklarından birisi çok çok sayıda katman ile çalışabilmesidir. Klasik YSA’daki her hücre (node) bir önceki ve bir sonraki katmanlardaki tüm hücrelere bağlıdır. Her bağlantı için hesaplanması gereken matematiksel işlemler bulunmaktadır. Katman sayısının ve hücre sayısının artması yüksek miktarda CPU gücü gerektirmektedir. Gerçekten derin bir ağ oluşturmak için kişisel bilgisayarlar içerisindeki CPU gücü tam manasıyla yeterli olamamaktadır.

İşte burası GPU’ların devreye girdiği nokta.

GPU Hızlandırmalı Hesaplama (GPU-Accelerated Computing), GPU’nun CPU ile birlikte kullanılarak, büyük miktarda işlem gücü gerektiren hesaplamaların hızlı bir şekilde yapılabilmesine olanak sağlar. Bu özellik, Derin Öğrenme uygulamalarının geliştirilmesinde hayati derecede önem taşımaktadır. (Daha fazlası için http://www.nvidia.com/object/what-is-gpu-computing.html).

CPU ve GPU arasındaki farka bir göz atalım.

En temel anlamda, GPU ve CPU arasındaki fark bir process’i işleme biçimidir. Günümüzdeki CPU’lar birkaç tane çekirdek barındırırlar. Her çekirdek yüksek işlem kapasitesine sahiptir. İşlemler, bu çekirdeklere dağıtılarak seri bir şekilde işlenir. Bir işlemin paralelleştirilme imkanı CPU’larda çok azdır. CPU’nun aksine GPU’larda yüzlerce çekirdek bulunur. Her çekirdeğin işlem kapasitesi (CPU’ya kıyasla) daha azdır. Ancak bu çok sayıdaki çekirdeğe sahip mimari, yüksek paralel işlem gücüne sahiptir. Bu sayede eş zamanlı bir çok işlem yapılabilmektedir. (Kaynak: http://www.nvidia.com/object/what-is-gpu-computing.html).

Derin Öğrenmenin, son yıllarda bu denli önem kazanmasındaki en büyük etkenlerden birisi GPU’ların bu iş için kullanılabilmesidir. Şu an işlemci kapasitesi yeterince yüksek bilgisayarlara sahip olduğumuz için çok büyük YSA’ları eğitebilmekteyiz. Yani kısaca GPU üzerinde yapılan teknolojik gelişmeler Derin Öğrenmenin uygulanabilmesi için çok önemli bir noktadır. Bu gelişmeler sayesinde çok çok büyük miktarda veriler ile sistemi eğitebilmekteyiz. Ayrıca yüksek miktarda veri ile yapılan eğitimde performans da artmaya devam ediyor. İşte bu nokta Derin Öğrenme’yi geleneksel Makine Öğrenmesi tekniklerinden ayıran noktadır. Çünkü eski Makine Öğrenmesi uygulamalarında yüksek miktarda veri, başaranın bir miktar artmasına ve daha sonra başarının sabit bir seyir izlemesine neden olmaktadır.

Elimizde çok miktarda veri olmasının avantajını kullanamamaktaydık. Son yıllarda Big Data’nın artması ve artan veri miktarı ile daha başarılı sistemlerin oluşturabilmesi, Derin Öğrenmeyi son yollarda sıkça üzerine çalışılan bir konu haline getirmiştir. Derin Öğrenme ile Eski Makine Öğrenmesi algoritmalarının artan veri miktarına ilişkin elde edebildikleri başarı oranları aşağıdaki grafikte verilmiştir. ( Source of image: Andrew Ng )

Derin Öğrenme Nasıl Çalışıyor?

Derin Öğrenme yöntemleri, verilen çok sayıda inputa göre ayırt edici özellikleri kendisi öğrenir. Bu özellik öğrenme işleminin başarı ile yapılabilmesi için sistem, yeterince eğitilmelidir. Özellik öğrenme aşaması katmanlardan oluşur. Alt seviyedeki özellikler daha az ayırt ediciliğe sahipken alt seviyedeki katmanların birleştirilmesinden oluşan üst seviye katmanlardaki özellikle daha fazla ayırt ediciliğe sahiptir. Alt seviyedeki özellikler daha anlamlı özellikler üretilebilmesi için temel oluştururlar. Bu tarz bir öğrenme yöntemi, geleneksel Makine Öğrenmesi algoritmalarından farklıdır. Çünkü geleneksel Makine Öğrenmesi algoritmalarında eğitim aşamasından önce bir insan tarafından belirlenen özelliklerin hesaplanması gerekir. Öğrenme işlemi hesaplanan bu özelliklere göre yapılır.

Kısaca eski algoritmalar insan bağımlı özellikler ile çalışabilirken, Derin Öğrenme insan bağımsız özellikler ile çalışmaktadır. Bu, Derin Öğrenme algoritmasının ayırt edici özellikleri kendi kendine öğrenmesi anlamına gelir. Bu yetenek Derin Öğrenme yaklaşımlarının başarısında çok önemli bir etkendir. Derin Öğrenme yaklaşımlarının çalışma prensibini gösteren temsili bir şekil aşağıda verilmiştir. Bu şekli dikkatle incelemenizi öneririm, zira yukarıda anlattığım karmaşık işlemleri özetleyen ve basitleştiren muhteşem bir şekildir. (kaynak: http://fortune.com/ai-artificial-intelligence-deep-machine-learning/ ).

Add a Comment

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