Sinir ağlarında uygunluğun ötesinde evrişimin matematiksel nedenleri var mı?


14

Evrişimli sinir ağlarında (CNN), her adımdaki ağırlık matrisi, evrişime devam etmeden önce çekirdek matrisini elde etmek için satırlarını ve sütunlarını döndürür. Bu Hugo Larochelle tarafından video dizisiyle açıklanmıştır burada :

Gizli haritaların hesaplanması, bir çekirdek matrisi [...] kullanarak önceki katmandaki bir kanalla ayrı bir kıvrım yapmaya karşılık gelir ve bu çekirdek, satırları ve satırları çevirdiğimiz gizli ağırlık matrisi hesaplanır . sütunlar.Wij

resim açıklamasını buraya girin

Bir kıvrımın azaltılmış basamaklarını, diğer NN türlerinde olduğu gibi düzenli matris çarpımıyla karşılaştırırsak, uygunluk açık bir açıklama olacaktır . Ancak, bu en uygun karşılaştırma olmayabilir ...

Dijital görüntüleme işleminde , bir görüntüye bir filtrenin konveksiyon uygulaması ( bu, pratik bir sezgi için harika bir youtube videosudur ) ile ilgili görünüyor:

  1. Evrişimin çağrışımsal olduğu (çapraz-) korelasyon olmadığı gerçeği .
  2. Zaman etki alanındaki evrişim , frekans etki alanındaki çoğalmaya ( evrişim teoremi ) eşdeğer olduğundan, görüntünün frekans etki alanında çarpma olarak filtre uygulama olasılığı .

DSP korelasyonunun bu özel teknik ortamında şu şekilde tanımlanır:

FI(x,y)=j=NNi=NNF(i,j)I(x+i,y+j)

bu aslında bir Hadamard ürünündeki tüm hücrelerin toplamıdır:

FI(x,y)=[F[N,N]I[xN,yN]F[N,0]I[xN,yN]F[N,N]I[xN,y+N]F[0,N]I[x,yN]F[0,0]I[x,y]F[0,N]I[x,y+N]F[N,N]I[x+N,yN]F[N,0]I[x+N,y]F[N,N]I[x+N,y+N]]

F(i,j)I(x,y)(x,y)

resim açıklamasını buraya girin

Çapraz korelasyonun objektif bir test görüntüye bir prob görüntü ne kadar benzer değerlendirmektir. Çapraz korelasyon haritasının hesaplanması evrişim teoremine dayanır.


Öte yandan, evrişim şu şekilde tanımlanır:

FI(x,y)=j=NNi=NNF(i,j)I(xi,yj)

filtre simetrik olduğu sürece, filtrenin satırları ve sütunları ile korelasyon işlemi ile aynıdır:

FI(x,y)=[F[N,N]I[xN,yN]F[N,0]I[xN,yN]F[N,N]I[xN,y+N]F[0,N]I[x,yN]F[0,0]I[x,y]F[0,N]I[x,y+N]F[N,N]I[x+N,yN]F[N,0]I[x+N,y]F[N,N]I[x+N,y+N]]

resim açıklamasını buraya girin


[1474141626164726412674162616414741]

resim açıklamasını buraya girin


Hesaplama olarak, her iki işlem de bir matris çarpımının izini hesaplayan bir Frobenius iç ürünüdür .


Sorular (yorumlar ve ilk cevaptan sonra yeniden formüle etme):

  1. CNN'de kıvrımların kullanımı FFT ile bağlantılı mı?

Şimdiye kadar topladığımdan cevap hayır. FFT'ler , kıvrımların GPU uygulamalarını hızlandırmak için kullanılmıştır . Bununla birlikte, FFT, aktivasyon öncesi aşamalarda kıvrımların kullanılmasına rağmen, CNN'lerde genellikle yapının veya aktivasyon fonksiyonlarının bir parçası değildir.

  1. CNN'de konvolüsyon ve çapraz korelasyon eşdeğer midir?

Evet, eşdeğerler.

  1. "Fark yok" gibi basitse, ağırlıkları çekirdek matrisine çevirmenin anlamı nedir?

Ne evrişimin birliği (matematik ispatlarında yararlı) ne de FT'ler ve evrişim teoremi ile ilgili hususlar geçerli değildir. Aslında, saygısızlık bile gerçekleşmiyor gibi görünüyor (çapraz korelasyon basitçe evrişim olarak yanlış etiketleniyor) (?).


Antoni, ağırlıklarını çevirdikleri herhangi bir kaynağa işaret edebilir misiniz? @Hossein'in işaret ettiği gibi, çapraz sıralamayla, siparişi çevirerek kıvrımlarla yapabileceğiniz her şeyi yapabilirsiniz. Yani tüm bu frekans etki alanı önemsizdir.
seanv507

@ seanv507 OP'mi bana sorduğunuza inandığım şeyin kaynağını içerecek şekilde düzenledim. Bu evrişimin, ters çevrilmiş bir filtre matrisi ile çapraz korelasyonla aynı işlem olduğunu anlıyorum, ancak bunun mümkün olamayacağı bir şey yoksa, ayrı evrişimin "acısını" neden geçtiğimizi anlamıyorum. korelasyon ile başarıldı. Verilen cevap açıkça bilgilidir, ancak bir yorumda bulunabilir ve iki ayrı işlemin (DSP'den ML'ye taşınan bir "gelenek" midir), öğrenme sürecinin sonuçları, ve FT'lerle olan ilişkisi.
Antoni Parellada

1
Antoni, çevirmeye gerek yok. Bu daha çok bir kongre; dsp'de insanlar çapraz korelasyondan ziyade evrişim hakkında konuşurlar ve çapraz korelasyonel sinir ağları dili yuvarlamaz. Ancak CNN için daha doğal (insanların yorumlaması için) işlem çapraz korelasyondur (şablon eşleşmesinizdir) (örneğin bir dönüş simetrikinden ziyade dikey bir kenar filtresi düşünün). Bu yüzden bence Hugo larochelle, çapraz korelasyon yerine konvolüsyonun standart fonksiyon olduğu sayısal kütüphanelerden bahsediyor. (Etkili bir şekilde çapraz korelasyonun bir konvolüsyonla yapılabileceğini söylüyor.)
seanv507

1
Antoni, ilk 2 soru / cevap üzerinde anlaşın ve yorumum 3. soruya cevap veriyordu.
seanv507

1
CNN'ler ve FFT'ler arasında doğrudan bir bağlantı olması gerekmese de, normal evrişim toplamını koruduğunuzda FFT'leri kullanarak CNN'lerin hızlanmasını sağlayabileceğinizi gösteren kanıtlar vardır. Örnek için buraya bakınız: arxiv.org/pdf/1312.5851.pdf
Alex

Yanıtlar:


8

Sinir ağlarının evrişim veya korelasyon kullandıklarında yapabilecekleri arasında hiçbir fark yoktur. Bunun nedeni, filtrelerin öğrenilmesidir ve CNN, evrişim işlemini kullanarak belirli bir işi yapmayı öğrenebilirse, korelasyon işlemini kullanarak aynı görevi yapmayı da öğrenebilir (Her filtrenin döndürülmüş sürümünü öğrenir).

İnsanların konvolüsyon hakkında düşünmeyi bazen korelasyondan daha sezgisel bulmasının nedenleri hakkında daha fazla ayrıntı bulmak için bu yazı faydalı olabilir.

Evrişim ve çapraz korelasyon arasında fark yoksa, ağırlıkları çekirdek matrisine çevirmenin anlamı nedir? Ian Goodfellow ve ark.'nın Derin öğrenme kitabından bazı cümleler eklemek istiyorum . bu soruyu cevaplamak için:

"Çekirdeği çevirmenin tek nedeni değişmeli özelliği elde etmektir. Değişmeli özellik kanıtları yazmak için yararlı olsa da, genellikle bir sinir ağı uygulamasının önemli bir özelliği değildir ... Birçok makine öğrenme kütüphanesi çapraz korelasyon uygular ancak çağrı evrişim. "

Çözüm, evrişimin klasik yapay görme uygulamalarında favori bir operasyon olmasına rağmen, evrişimsel sinir ağlarının uygulamalarının çoğunda korelasyon ile değiştirilmesidir.


Teşekkür ederim. Bağlantı kurduğunuz blogu dikkatle okudum ve evrişim kullanımı sadece korelasyona eşdeğer değil gibi görünüyor ve frekans alanı özellik seçimine yanıt veriyor gibi görünüyor. Bu konuyla ilgili ayrıntılı bir cevap arıyorum.
Antoni Parellada

Bildiğim gibi , her ikisi de iki matrisin bir nokta ürününü yaptığından , yapabilecekleri ile eşdeğerdirler , ancak evrişim, nokta ürününden önce filtre matrisini çevirir ve CNN'ler filtreleri öğrendiğinden, çevrilmiş filtreleri öğrenebilirler.
Hossein

Hosseins açıklamasına +1, ancak blog bağlantısı için -1. Blog ağırlıklı olarak donanıma odaklanmıştır ve evrişim ve diğer sinyal işleme kavramlarında arka planı olmayan bir CS adamıdır.
seanv507

Halen CNN'lerde evrişim ve Fourier dönüşümleri arasındaki ilişki (ya da eksikliği) hakkında ek paragrafa sahip olmakta ısrar etmek istiyorum.
Antoni Parellada

2

FFT'ler ile evrişim arasındaki bağın pratik bir nedeni var.

n×nO(n2)N×Nn2N2

O(N2logN2)O(N2)O(n2N2). FFT -> çarpma -> ters FFT rotasından aşağı inmek çok daha karmaşık görünse de bu önemli bir hızlanma sağlayabilir. Daha fazla burada

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.