Konvolüsyonel sinir ağları ve derin öğrenme arasındaki fark nedir?


25

Projemde derin öğrenme kullanmak istiyorum. Birkaç kağıt okudum ve bana bir soru geldi: evrişim sinir ağı ile derin öğrenme arasında bir fark var mı? Bunlar aynı mı, yoksa büyük farkları var mı ve hangisi daha iyi?


Bana derin öğrenme ve evrimsel sinir ağı arasındaki farkın ne olduğunu söyle, bu 2 konuda biraz kafa karıştırıcıyım
Yamini,

Yanıtlar:


33

Derin Öğrenme, Derin Sinir Ağları (DNN'ler) temelli Makine Öğrenimi'nin dalıdır, yani sinir ağları en az 3 veya 4 katmanla (giriş ve çıkış katmanları dahil) anlamına gelir. Fakat bazı insanlar için (özellikle teknik olmayan), herhangi bir sinir ağı, derinliğinden bağımsız olarak Derin Öğrenme olarak nitelendirilir. Diğerleri ise 10 katmanlı bir sinir ağını sığ olarak görüyor.

Konvolüsyonel Sinir Ağları (CNN'ler) en popüler sinir ağı mimarilerinden biridir. Görüntü işlemede son derece başarılıdırlar, ancak diğer birçok görevde (konuşma tanıma, doğal dil işleme ve daha fazlası). Son teknoloji CNN'ler oldukça derindir (en azından onlarca katman), bu nedenle Derin Öğrenmenin bir parçasıdır. Ancak basit bir görev için sığ bir CNN oluşturabilirsiniz, bu durumda (gerçekten) Derin Öğrenme değildir.

Fakat CNN'ler yalnız değildir, Tekrarlayan Sinir Ağları (RNN), Otomatik Kodlayıcılar, Transformatörler, Derin İnanç Ağları (DBN = Kısıtlı Boltzmann Makineleri, RBM yığını) ve daha fazlası dahil olmak üzere birçok başka sinir ağı mimarisi vardır. Sığ veya derin olabilirler. Not: Sığ RNN'ler bile Derin Öğrenmenin bir parçası olarak görülebilir, çünkü onları eğitmek zamanla onları açmayı gerektirir, bu da derin bir ağ oluşturur.


@MiniQurak. Lütfen düzelt beni beni yanlış. Anladığım kadarıyla CNN, Autoencoder'lar, Derin İnanç Ağları, Tekrarlayan Sinir Ağları (RNN) gibi derin ağların mimarisinden sadece biri. Doğru mu?
Aadnan Farooq

Evet doğru.
MiniQuark

o zaman veri kümesine bağlı olarak hangi mimarinin daha iyi olduğunu söyleyebilir miyiz? veya anahtar faktörler nelerdir?
Aadnan Farooq

1
CNN'ler görüntü tanıma görevleri için mükemmeldir. Ayrıca, veriler daha büyük kalıplara (örneğin, ev, düzlem) monte edilmiş yerel kalıplarla (ör. Çizgi parçaları) büyük kalıplara (örneğin kareler, üçgenler) monte edilmiş bir hiyerarşik yapıya sahip olduğunda da parlarlar. Bu konuşma tanıma görevleri için iyi çalışır. RNN'ler zaman serileri için harikadır (örneğin, hava durumunu tahmin eder) ve genellikle veri dizilerini (örneğin cümleler) kullanırlar. NLP (doğal dil işleme) için çok kullanılırlar. AutoEncoder'lar denetlenmez, verilerdeki kalıpları öğrenirler.
MiniQuark

1
Tamam o zaman :)
Firebug

21

Uyarlanabilir sinyal işleme / makine öğrenmesi alanlarında, derin öğrenme (DL) , makinelerin karmaşık temsillerini eğitebileceğimiz özel bir metodolojidir.

xyWifi

y=fN(...f2(f1(xTW1)W2)...WN)

Şimdi DL içerisinde, birçok farklı mimari var : Bu tür bir mimari, evrişimsel bir sinir ağı (CNN) olarak bilinir . Başka bir mimari, çok katmanlı bir algılayıcı (MLP), vb. Olarak bilinir .

Bir MLP belki de bulabileceği en geleneksel DL mimarisi türlerinden biridir ve bu, bir önceki katmanın her elemanı bir sonraki katmanın her elemanına bağlandığı zamandır. Bu gibi görünüyor:

görüntü tanımını buraya girin

WiWR10x20vR10x1uR1x20u=vTWW Bir sonraki katmanın elemanlarının.

MLP'ler, kısmen, eğitilmesi zor olduğu için iyilikten düştü. Bu zorluğun birçok nedeni olsa da, bunlardan biri de yoğun bağlantılarının çeşitli bilgisayarlı görme sorunları için kolayca ölçeklenmelerine izin vermemesiydi. Başka bir deyişle, içine fırında çeviri eşdeğeri olmadı. Bu, görüntünün bir kısmında hassas olmaları gerektiğine dair bir sinyal olsaydı, duyarlı olmaları gerektiğinde yeniden öğrenmeleri gerekeceği anlamına geliyordu. bu sinyal etrafta dolaştı. Bu, ağın kapasitesini boşa harcadı ve böylece eğitim zorlaştı.

CNN'lerin girdiği yer burası! İşte biri neye benziyor:

görüntü tanımını buraya girin

Wi

"CNN" lerin ağ boyunca konvolüsyon tabakaları olduğu ve en sonunda da MLP'lerin olduğu ağlara atıfta bulunmak yaygındır, bu yüzden farkında olunması gereken bir uyarıdır.


1
+1 Harika cevap, toeplitz matrislerini yeni öğrendim. ;-)
MiniQuark 16:16

@ MiniQuark Teşekkürler! Evet - bir evrişimi bir toeplitz matrisinin çarpımı olarak yazabilirsiniz. :)
Tarin Ziyaee

@TarinZiyaee ve MiniQurak Acemi, Derin öğrenmeyi ayrıntılı olarak öğrenmesi için bana iyi bir kitap / dergi makalesi / öğretici önerebilir misiniz?
Aadnan Farooq

CNN'ler mutlaka derin değildir (-1)
Firebug

7

Derin öğrenme = derin yapay sinir ağları + diğer derin modeller .

Derin yapay sinir ağları = 1 kattan fazla yapay sinir ağları. ( daha fazla tartışma için derin bir sinir ağındaki veya Wikipedia'daki minimum katman sayısına bakın …)

Evrişim Sinir Ağı = Bir tür yapay sinir ağı


Yeterince adil, Deep Learning ayrıca "Çok Katmanlı çekirdek makineleri" içerir ve CNN'ler sığ olabilir. :)
MiniQuark 14:16

@ MiniQuark evet.
Franck Dernoncourt

1 katmandan fazla yapay sinir ağları ..... Sadece 2 katmanlı bir ağın derin ağ olarak adlandırıldığından emin değilim.
SmallChess

1
@StudentT Belki, pazarlamada çalışmıyorum;) en.wikipedia.org/w/…
Franck Dernoncourt 16.06

1
Bu en üst cevap olmalıdır, çünkü CNN'ler mutlaka derin değildir ve Derin öğrenme sadece YSA'larla ilgili değildir (sıradan anlamda).
Firebug

6

Yann LeCun tarafından Bu slayt bir özellik hiyerarşi sadece modelleri (alt düzey özellikleri bir bir modelin tabakasının ve ardından bu özellikleri bir sonraki seviyede birleştirildiği de öğrenilir) bu noktayı vardır yapar derin .

Bir CNN derin veya sığ olabilir; bu durum, bu "özellik hiyerarşisi" yapısını izleyip izlememesine bağlıdır, çünkü 2 katmanlı modeller de dahil olmak üzere bazı sinir ağları derin değildir.

Yann LeCun'un tanımı


3

Deep learningBirden fazla katmanı olan karmaşık bir sinir ağı ile başa çıkmak için kullanılan genel bir terimdir. Tam olarak ne olduğuna dair standart bir tanım yoktur deep. Genellikle, derin bir ağın dizüstü bilgisayarınız ve PC'nizin eğitmesi için çok büyük bir şey olduğunu düşünebilirsiniz. Veri seti o kadar büyük olur ki, hafızanıza sığamazsınız. Eğitiminizi hızlandırmak için GPU'ya ihtiyacınız olabilir.

Deep bir şeyi diğerlerinden daha profesyonel hale getirmek için bir pazarlama terimi gibidir.

CNNbir tür derin sinir ağıdır ve başka birçok tür vardır. CNN'ler popülerdir çünkü görüntü tanımada çok faydalı uygulamalara sahiptirler.


Nazikçe bu ifadelerden bazılarına itiraz etmek istiyorum: bir ağın birden fazla gizli katmanı olduğu zaman genel olarak derin kabul edilir ve çoğu insan 10'dan fazla gizli katmanı olmasının kesinlikle derin olduğu konusunda hemfikirdir. Dizüstü bilgisayarınızda derin ağlar yetiştirmek oldukça mümkün, ben her zaman yapıyorum. Veri kümesi gelmez sahip kullanırsanız transferi öğrenme (yani. Yeniden katmanları bir pretrained ağdan) özellikle büyük olması ve / veya veri büyütme. "Derin" kelimesi etrafında kesinlikle çok fazla yutturmaca var, ama derin öğrenme için özel teknikler var, bu yüzden sadece yutturmaca değil. :)
MiniQuark 16:16

@MiniQuark Veri büyütme işleminde, veri kümeniz hala büyük olacak, küçük bir şeyle başlayacaksınız ...
SmallChess

İyi nokta, haklısın. Söylemek istediğim, veri setinin anında verileri toplayacağınız için veri setinin belleğe sığacağı.
MiniQuark
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.