Yapay sinir ağları, grafiklere dayanan birçok farklı türde algoritma içeren bir algoritma sınıfıdır, bu yüzden burada sorduğunuzun ötesinde ayrıntıya girmeyeceğim, çünkü söylenecek çok fazla YSA olduğu için söylenecek çok fazla şey var.
İlk tür yapay sinir ağları, ünlü McCulloch-Pitts nöronları doğrusaldı ; bu, yalnızca doğrusal karar sorunlarını (yani, bir çizgi çizerek doğrusal olarak ayrılabilen veri kümeleri) çözebilecekleri anlamına geliyordu . Zamanla, bu doğrusal sinir ağı modeli Perceptron veya Adaline olarak bilinir (ağırlık güncellemesini nasıl hesapladığınıza bağlı olarak).
Doğrusal sinir ağları , sadece sol taraftaki düğümlerin girişler ve sağ taraftaki çıkış düğümleri olduğu iki taraflı bir grafikten oluşur. Yalnızca bu düğümler arasındaki kenarların ağırlıkları öğrenilir (düğümler aktivasyon eşiği de ayarlanabilir, ancak bu nadiren yapılır).
Sığ sinir ağları icat edildiğinde büyük bir adım atıldı : sadece iki parçalı bir grafiğe sahip olmak yerine, 3 parçalı bir grafik kullanıyoruz: giriş "katmanı", "katmanı" çıkışı ve aralarında bir "gizli katmanı" . Gizli katmana teşekkür ederiz, ağ artık doğrusal olmayan kararlar alabilir ve kanonik XOR gibi sorunları çözebilir.
"Sığ" teriminin, derin sinir ağı ( n-katman sinir ağları olarak da bilinir ) icat edildiğinde geriye dönük olarak yazıldığını unutmayın. Bu, sadece bir gizli katmanı olan sinir ağlarına , n gizli katmanı olan derin sinir ağlarına karşı koymaktır . Tahmin edebileceğiniz gibi, daha gizli katmanları kullanmak, kararı modüle etmek için daha fazla katman bulunduğundan daha karmaşık veri kümelerine karar vermenize olanak sağlar (diğer bir deyişle, karar sınırlamanızın boyutsuzluğunu arttırırsınız, bu da fazla uydurmaya neden olabilir).
Sorabilirsiniz: neden kimse daha önce çok katmanlı (derin) sinir ağları kullanmaya çalışmamış? Aslında, Fukushima tarafından 1975 gibi erken bir tarihte Cognitron ve Neocognitron ile (ki bu aslında bir evrimsel sinir ağı, ama bu başka bir hikaye) yaptılar . Bununla birlikte, mesele kimsenin böyle ağları etkin bir şekilde öğrenmeyi bilmemesiydi, asıl mesele düzenli hale gelmek . Hinton'un AutoEncoder'ları yolu açtı ve daha sonra LeCun'un Rektifiye Doğrusal Birimleri sorunu çözdü.
Peki ya Derin İnanç Ağları (DBN)? Onlar sadece çok katmanlı yarı kısıtlamalı Boltzmann makineleri. Bu yüzden onlar bir tür derin sinir ağı, ama farklı bir temel ağ modeline sahip (yani: katman, bu tekrarlanan model): Boltzmann makineleri, üretken oldukları diğer ağlardan farklıdır , yani genellikle Verilerinizden onu yeniden üretmek için ("üret") öğrenmek için kullanılırken, olağan derin sinir ağları verilerinizi ayırmak için kullanılır (bir "karar sınırı" çizerek).
Başka bir deyişle, DNN veri kümenizdeki bir değeri sınıflandırmak / tahmin etmek için mükemmeldir, DBN ise bozuk bir veriyi "onarmak" için harikadır (onarımı söylerken, sadece bozuk verilerden değil, aynı zamanda mükemmel bir veri üzerinde de olabilir) sadece elle yazılmış rakamlar gibi başka bir sinir ağı ile daha kolay tanımak için biraz basmakalıp olmak için biraz düzeltmek istiyorum.
Aslında, düzgün bir şekilde özetlemek gerekirse, AutoEncoder'ların Deep In Faith Network'ün daha basit bir şekli olduğunu söyleyebilirsiniz. İşte yüzleri tanımak için eğitilmiş bir DBN örneği ancak NOT numaraları, sayılar otomatik olarak kayboluyor (bu, DBN'nin "sabitleme" etkisidir):
Sonuçta, DBN ve DNN ters değil: tamamlayıcılar. Örneğin, bir karakterin görüntüsünü daha fazla basmakalıp yapmak için önce bir karakterin görüntüsünü besleyecek el yazısı karakterleri tanımak için bir sistem hayal edebiliyor ve sonra basmakalıp görüntünün daha sonra görüntünün hangi karakteri temsil edeceğini gösteren bir DNN'ye beslemek mümkün.
Son bir not: Derin İnanç Ağları, Derin Boltzmann Makinelerine çok yakındır: Derin Boltzmann Makineleri, Boltzmann Makinelerinin (çift yönlü sinir ağları, aynı zamanda tekrarlanan sinir ağları olarak da adlandırılır) katmanlarını, Derin İnanç Ağları ise yarı sınırlı Boltzmann Makinelerini (yarı- kısıtlı, tek yönlü olarak değiştirildikleri anlamına gelir; bu nedenle, tekrarlayan bir ağ öğrenmekten çok daha etkili olan ağı öğrenmek için geri yayılımın kullanılmasına olanak tanır). Her iki ağ da aynı amaç için kullanılır (veri setini yeniden oluşturur), ancak hesaplama maliyeti farklıdır (Deep Boltzmann Makineleri, tekrarlayan doğası nedeniyle öğrenmenin maliyeti oldukça yüksektir: ağırlıkları "stabilize etmek" daha zordur).
Bonus: Konvolüsyonel Sinir Ağları (CNN) hakkında birçok çelişkili ve kafa karıştırıcı iddia bulacaksınız ve genellikle bunların sadece derin sinir ağları olduğunu göreceksiniz. Bununla birlikte, fikir birliği Fukushima'nın Neocognitron'un orijinal tanımını kullanmak gibi görünüyor: bir CNN, aktivasyondan önce bir konvolüsyon uygulayarak farklı hiyerarşik seviyelerde farklı özellikler çıkarmak zorunda kalan bir DNN'dir (bir DNN doğal olarak yapabilir, ancak bunu zorlar) ağın farklı katmanlarına farklı bir evrişim / aktivasyon işlevi ayarlayarak daha iyi sonuç verebilir, en azından CNN'in bahsi:
Ve son olarak, Yapay Zekanın daha katı bir zaman çizelgesi için, buraya bakın .