4D uzun makale sizi derin öğrenmedeki çeşitli evrişimli ağlardan geçirir (bölüm 1)

Lei Feng.com AI Teknolojisi Yorumu: Derin öğrenmedeki çeşitli evrişimli ağlar hakkında ne kadar bilginiz var? Bunları duymuş ancak hakkında net bir anlayışa sahip olmayanlar için Kunlun Bai'nin bu makalesi okumaya değer. Kunlun Bai yapay zeka, makine öğrenimi, fizik ve mühendislik alanlarında araştırma yapan bir bilim insanıdır.Bu yazıda ayrıntılı olarak 2D, 3D, 1x1, transpozisyon, boşluk (genişleme), boşluk ayrılabilirliği, derinlik Ondan fazla evrişimli ağ türü ayrılabilir, düzleştirilebilir, gruplandırılabilir vb. Leifeng.com AI Technology Review aşağıdaki gibi derlenmiştir.

Derin öğrenme için çeşitli evrişimli ağları duyduysanız (2D / 3D / 1x1 / transpoze / delik (genişletme) / boşluk ayrılabilir / derin ayrılabilir / düzleştirme / gruplama / karıştırılmış gruplama evrişimi gibi) ve merak ediyorsanız Bunlar nedir? Aslında nasıl çalıştıklarını bu makale ile öğrenebilirsiniz.

Makalede, derin öğrenmede birkaç yaygın evrişime kısaca değindim ve bunları herkesin anlayabileceği şekilde anlattım. Bu konuda referansınız için bu makalenin yanı sıra başka makaleler de var.Makalenin sonundaki referans kısmına bu yazıların bağlantılarını ekledim, buradan okuyabilirsiniz.

Umarım bu makale, bu tür evrişimleri anlamanıza yardımcı olabilir ve çalışmanız / araştırmanız için faydalı bir referans değeri sağlayabilir.

Bu makalenin içeriği şunları içerir:

1. Evrişim VS Korelasyon

2. Derin öğrenmede evrişimli ağ (tek kanallı sürüm, çok kanallı sürüm)

3.3D evrişim

4. 1x1 evrişim

5. Evrişim Algoritması

6. Yer değiştirmiş evrişim (ters evrişim, dama tahtası etkisi)

7. İçi boş evrişim (genişletilmiş evrişim)

8. Ayrılabilir evrişim (uzaysal ayrılabilir evrişim, derinlikle ayrılabilir evrişim)

9. Düzleştirilmiş evrişim

10. Gruplanmış evrişim

11. Karışık grup evrişimi

12. Noktadan noktaya gruplama evrişimi

1. Evrişim VS Korelasyon

Evrişim, sinyal işleme, görüntü işleme ve diğer mühendislik / bilim alanlarında yaygın olarak kullanılan bir tekniktir. Derin öğrenmede, evrişimli sinir ağı (CNN) model mimarisi bu teknoloji ile adlandırılır. Bununla birlikte, derin öğrenmede evrişim, esasen sinyal / görüntü işlemede çapraz korelasyondur. İkisi arasında sadece küçük farklılıklar var.

Ayrıntılara girmeden ikisi arasındaki fark şudur: Sinyal / görüntü işlemede evrişim şu şekilde tanımlanır:

Tanımı şudur: bir fonksiyonun çarpımının ve başka bir fonksiyonun çevrilip hareket ettirildikten sonraki integrali. Aşağıdaki görsel bu fikri görselleştiriyor:

Sinyal işlemede evrişim. Filtre fonksiyonu g çevrilir ve ardından yatay eksen boyunca kayar. Fonksiyonun yatay eksende kaydığı her noktanın konumu için, f fonksiyonunun ve çevrilmiş g fonksiyonunun örtüşme alanı hesaplanır. Bu örtüşen alan, g fonksiyonunun yatay eksende kaydığı belirli bir konumun evrişim değeridir. Resim kaynağı:

Burada g fonksiyonu bir filtreleme fonksiyonudur. Bu işlev ters çevrilir ve ardından yatay eksen boyunca kayar. Fonksiyonun yatay eksende kaydığı her noktanın konumu için, f fonksiyonunun ve çevrilmiş g fonksiyonunun örtüşme alanı hesaplanır. Bu örtüşen alan, g fonksiyonunun yatay eksende kaydığı belirli bir konumun evrişim değeridir.

Öte yandan, korelasyon bu iki fonksiyonun kayan iç çarpımı veya iç çarpımıdır. Birbiriyle ilişkili filtre işlevi döndürülmez, doğrudan f işlevi aracılığıyla kayar. F fonksiyonunun ve g fonksiyonunun örtüşen alanı karşılıklı korelasyondur. Aşağıdaki şekil, evrişim ve korelasyon arasındaki farkı göstermektedir:

Sinyal işlemede evrişim ve korelasyon arasındaki fark. Resim kaynağı: https://en.wikipedia.org/wiki/Convolution

Derin öğrenmede, evrişimdeki filtre işlevi ters çevrilmez. Kesinlikle birbiriyle ilişkilidir. Esasen element bazında çarpma ve toplama yapıyoruz. Bununla birlikte, bu "evrişim" yalnızca derin öğrenmede evrişim olarak adlandırılır. Bunun nedeni, evrişimin eğitim sırasında filtre işlevinin ağırlığını öğrenmesidir. Yukarıdaki örnekte ters çevrilmiş g işlevi doğruysa Fonksiyon, eğitimden sonra, evrişim ile öğrenilen filtre fonksiyonu, ters çevrilmiş fonksiyon g'yi bulacaktır. Bu nedenle, doğru evrişimde, eğitimden önce filtre işlevini erken çevirmeye gerek yoktur.

2. Derin öğrenmede evrişim

Evrişim gerçekleştirmenin amacı, girdiden yararlı özellikleri çıkarmaktır. Görüntü işlemede, evrişim işlemlerini gerçekleştirmek için aralarından seçim yapabileceğiniz birçok farklı filtre işlevi vardır ve bunların her biri giriş görüntüsünden yatay / dikey / çapraz kenarlar gibi farklı yönleri veya özellikleri çıkarmaya yardımcı olur. Benzer şekilde, evrişimli sinir ağları, eğitim sırasında ağırlıkları otomatik olarak öğrenen işlevleri kullanarak evrişim yoluyla özellikleri çıkarır. Tüm bu çıkarılan özellikler daha sonra bir karar vermek için birlikte "birleştirilecektir".

Ağırlık paylaşımı ve çevirme değişmezliği gibi evrişim işlemlerini gerçekleştirmenin birçok avantajı vardır. Ek olarak, evrişim piksellerin uzamsal ilişkisini de dikkate alabilir. Bu avantajlar, özellikle bilgisayarla görme görevlerinin çoğunda çok faydalıdır, çünkü bu görevler genellikle diğer bileşenlerle belirli bir uzamsal ilişkiye sahip belirli bileşenlerin tanınmasını içerir (örneğin, bir köpeğin vücudu genellikle Başına, dört ayağına ve kuyruğuna bağlı).

2.1 Evrişim: Tek kanallı sürüm

Tek kanallı evrişim için görüntü şu kaynaktan gelir: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

Derin öğrenmede evrişim, element bazında çarpma ve toplamadır. Yalnızca 1 kanallı bir görüntü için, evrişim işlemi yukarıdaki şekilde gösterildiği gibidir Filtre işlevi, tüm giriş boyunca kayan 3 x 3 bileşen matrisidir. Her konumda, eleman düzeyinde çarpma ve toplama gerçekleştirir ve geçtiği her konum bir sayı ile sonuçlanır ve son çıktı 3 x 3 matristir. (Not: Bu örnekte, evrişim adım boyutu = 1; doldurma = 0. Bu kavramları aşağıdaki algoritma bölümünde tanıtacağım.)

2.2 Evrişim: Çok kanallı versiyon

Birçok uygulamada, çok kanallı görüntülerle uğraşıyoruz. Tipik bir durum RGB görüntüsüdür Aşağıdaki şekilde gösterildiği gibi, her RGB kanalı orijinal görüntünün farklı yönlerine odaklanır.

Her RGB kanalı orijinal görüntünün farklı yönlerine odaklanır. Resim çekildi: Yuanyang, Yunnan, Çin

Çok kanallı verilere bir başka örnek, evrişimli bir sinir ağındaki katmanlardır. Evrişimli bir ağ katmanı genellikle birden çok kanaldan (genellikle yüzlerce kanal) oluşur ve her kanal, önceki katmanın farklı bir yönünü tanımlar. Peki farklı derinlikteki katmanlar arasında geçişi nasıl başarabiliriz? Derinliği n olan katman, m derinliğindeki sonraki katmana nasıl dönüştürülür?

Bu süreci tanıtmadan önce, birkaç terim bulalım: katman, kanal, özellik haritası, filtre ve çekirdek. Hiyerarşik bir bakış açısından, "katman" ve "filtre" kavramları bir seviyeye aitken, "kanal" ve "evrişim çekirdeği" sonraki seviyededir. "Kanal" ve "özellik eşleme" aynı şeyi ifade eder. Bir katmanda birden çok kanal (veya özellik haritaları) olabilir; giriş bir RGB görüntüsüyse, bu giriş katmanının 3 kanalı vardır. "Kanal" genellikle "katmanların" yapısını tanımlamak için kullanılır. Benzer şekilde, "evrişim çekirdeği" bir "filtrenin" yapısını tanımlamak için kullanılır.

"Katman" ("filtre") ve "kanal" ("evrişim çekirdeği") arasındaki fark

Filtre ve evrişim çekirdeği arasındaki fark çok incedir.Bazen ikisi birbirinin yerine kullanılabilir ve bu şüphesiz biraz kafa karışıklığı yaratır. Ancak temelde, ikisi arasında bazı ince farklılıklar vardır: "evrişim çekirdeği", 2B ağırlık dizisine atıfta bulunur; "filtre", bir araya getirilmiş çoklu evrişimli çekirdeklerden oluşan bir 3B mimari konseptidir. Bir 2B filtre için, filtre bir evrişim çekirdeğine eşdeğerdir, ancak bir 3B filtre ve derin öğrenmedeki çoğu evrişim için, bir filtre bir dizi evrişim çekirdeğinden oluşur. Her evrişim çekirdeği benzersizdir ve giriş kanalının farklı yönlerini vurgular.

Bu kavramları anlayarak, çok kanallı evrişime bir göz atalım. Bir çıktı kanalı oluşturmak için, her evrişim çekirdeğini bir önceki katmanın çıktı kanalına uygulamak gerekir Bu bir evrişim çekirdek seviyesinde işlemdir. Bu işlemi tüm evrişim çekirdeklerinin birden çok kanal oluşturması için tekrarlıyoruz ve daha sonra bu kanallar tek bir çıkış kanalı oluşturmak için birleştiriliyor. Aşağıdaki resim herkesin bu süreci daha net görmesini sağlar.

Giriş katmanının 3 kanallı 5 x 5 x 3 matris olduğu varsayılmaktadır. Filtre, 3 x 3 x 3 matristir. Önce filtredeki her evrişim çekirdeği giriş katmanının 3 kanalına uygulanır ve 3 evrişim gerçekleştirildikten sonra 3 x 3 boyutunda 3 kanal elde edilir.

Çok kanallı 2D evrişimin ilk adımı: filtrenin her evrişim çekirdeği, giriş katmanının 3 kanalına uygulanır. Resim kaynağı: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

Bundan sonra, bu 3 kanal, 3 x 3 x 1 boyutunda tek bir kanal oluşturmak için birleştirilir (öğe düzeyinde ekleme). Bu kanal, bir filtre (3 x 3 x 3 matris) kullanan giriş katmanının (5 x 5 x 3 matris) sonucudur.

Çok kanallı 2D evrişimin ikinci adımı: 3 x 3 x 1 boyutunda tek bir kanal oluşturmak için 3 kanal birleştirilir (eleman düzeyinde ekleme). Resim kaynağı: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

Benzer şekilde, bu süreci giriş katmanı boyunca bir 3B filtre matrisini kaydırmak olarak düşünebiliriz. Giriş katmanı ve filtrenin derinliğinin aynı olduğuna dikkat edin (yani, kanal sayısı = evrişim çekirdek sayısı). Bu 3B filtre yalnızca 2 yönde hareket eder (görüntünün yüksekliği ve genişliği) (bu nedenle 3B filtre genellikle 3B hacim verilerini işlemek için kullanılır, ancak bu işleme hala 2B evrişim adı verilir). Her kayan konumda, eleman seviyesinde çarpma ve toplama yaparız ve sonunda bir değer alırız. Aşağıdaki örnekte, filtre yatay olarak 5 konum ve dikey olarak 5 konum boyunca kayar. Sonuçta tek bir çıkış kanalı elde ediyoruz.

2D evrişime başka bir bakış açısı: Bu işlemi, giriş katmanı boyunca bir 3D filtre matrisini kaydırmak olarak düşünün. Giriş katmanı ve filtrenin derinliğinin aynı olduğuna dikkat edin (yani, kanal sayısı = evrişim çekirdek sayısı). Bu 3B filtre yalnızca 2 yönde hareket eder (görüntünün yüksekliği ve genişliği) (bu nedenle 3B filtre genellikle 3B hacim verilerini işlemek için kullanılır, ancak bu işleme hala 2B evrişim adı verilir). Çıktı, 1 katmanlı bir matristir.

Şimdi farklı derinlikteki katmanlar arasında geçişin nasıl sağlanacağını görebiliriz. Giriş katmanının Din kanallarına sahip olduğunu varsayalım ve çıktı katmanındaki kanal sayısının Dout olmasını istiyorsak, tek yapmamız gereken Dout filtrelerini giriş katmanına uygulamaktır. Her filtrede, tümü bir çıktı kanalı sağlayan Din evrişim çekirdekleri vardır. Dout filtrelerini uyguladıktan sonra, Dout kanalları toplu olarak bir çıktı katmanı oluşturabilir.

Standart 2D evrişim. Dout filtreleri kullanılarak, Din derinliğine sahip katman, Dout derinliği ile başka bir katmana eşlenir.

3.3D evrişim

Bir önceki bölümün son görüntüsünde, evrişimin 3D hacim üzerine uygulanmasını gördük. Ancak genel olarak konuşursak, bu işlemi hala 3B hacim verilerinde derin öğrenmede 2B evrişim olarak görüyoruz: filtrenin derinliği ve giriş katmanı aynıdır; 3B filtre yalnızca 2 İki yönde hareket edin (görüntünün yüksekliği ve genişliği). Bu işlemin sonucu 2D bir görüntüdür (sadece 1 kanal).

2D evrişim ile doğal olarak 3D evrişim vardır. 3D evrişim, 2D evrişimin bir genellemesidir. 3B evrişimde, filtrenin derinliği giriş katmanının derinliğinden daha küçüktür (evrişim çekirdek boyutu

3B evrişimde, filtrenin derinliği giriş katmanının derinliğinden daha küçüktür (evrişim çekirdek boyutu.

2B alandaki hedefin uzamsal ilişkisinin kodunu çözen 2B evrişime benzer şekilde, 3B evrişim aynı zamanda 3B uzaydaki hedefin uzamsal ilişkisini de tanımlayabilir. Bazı uygulamalar için bu 3 boyutlu ilişki çok önemlidir.Örneğin CT ve MRI gibi biyomedikal görüntülerin 3 boyutlu segmentasyon / rekonstrüksiyonunda kan damarları gibi bu görüntülerin nesneleri kıvrımlı bir şekilde 3 boyutlu uzayda dağıtılır.

4. 1x1 evrişim

Önceki kısmi-3 boyutlu evrişimde derinlik seviyesi işlemlerini tartıştığımız için, bir başka ilginç işlemi, 1 x 1 evrişimi anlayalım.

Bu evrişimin neden yardımcı olduğunu merak ediyor olabilirsiniz. Giriş katmanındaki her değeri bir değerle mi çarptık? Evet değil. Sadece 1 kanallı bir katman için bu işlem önemli değildir. Yukarıdaki örnekte, her bileşeni bir değerle çarptık.

Giriş katmanında birden fazla kanal varsa, işler çok ilginç hale gelir. Aşağıdaki şekil, H x G x D boyutundaki bir giriş katmanı üzerinde 1 x 1 evrişimin işlemini göstermektedir. 1 x 1 x D boyutunda bir filtre ile 1 x 1 evrişimden sonra, çıkış kanalının boyutu Y x G x 1'dir. Bu 1 x 1 evrişimi N kez gerçekleştirirsek ve sonra bu sonuçları birleştirirsek, H x G x N boyutlarında bir çıktı katmanı elde edebiliriz.

1 x 1 x D filtre boyutunda 1 x 1 evrişim

1 x 1 evrişim ilk olarak Ağdaki Ağ makalesinde (kağıt okuma adresi: https://arxiv.org/abs/1312.4400) ve ardından Google'ın Başlangıç belgesinde (kağıt okuma adresi: https: //arxiv.org/abs/1409.4842) yaygın olarak kullanılmaktadır. 1 x 1 evrişim aşağıdaki avantajlara sahiptir:

  • Daha verimli hesaplamalar elde etmek için boyutları küçültün;

  • Daha verimli düşük boyutlu gömme veya havuz özellikleri gerçekleştirin;

  • Evrişimden sonra, doğrusal olmayan özellikler tekrar tekrar uygulanır.

Yukarıdaki görselden ilk iki avantajı gözlemleyebiliriz. 1 x 1 evrişim yaptıktan sonra, boyutun derinlik seviyesini önemli ölçüde azalttık. Orijinal girişin 200 kanala sahip olduğunu varsayarsak, 1 x 1 evrişim bu kanalları (özellikleri) tek bir kanala gömer. Üçüncü avantaj ancak 1 x 1 evrişim gerçekleştirildikten sonra ortaya çıkar ve modele doğrusal düzeltme fonksiyonu (ReLU) gibi doğrusal olmayan aktivasyon fonksiyonları ekler. Doğrusal olmayan özellikler, ağın daha karmaşık işlevleri öğrenmesine izin verir.

Bu avantajlar ayrıca Google'ın Başlangıç belgesinde açıklanmıştır:

"Yukarıdaki modüldeki en büyük sorun (en azından bu naif biçimde), makul sayıda 5 x 5 evrişimle bile, çok sayıda filtreye sahip evrişimli katmanlar üzerindeki hesaplamaların çok pahalı olmasıdır.

Bu, önerilen çerçeveye ikinci bir fikir getirir: boyutsallığı akıllıca azaltın ve projeksiyon yapın, aksi takdirde hesaplama gereksinimlerini aşırı derecede artıracaktır. Bu, gömme işleminin başarılı bir şekilde uygulanmasına dayanmaktadır: düşük boyutlu gömme bile nispeten büyük görüntü blokları hakkında pek çok bilgiyi tutabilir ... yani hesaplama açısından pahalı 3 x 3 kıvrımlar ve 5 x 5 hacim gerçekleştirirken Üründen önce, hesaplama miktarını azaltmak için genellikle 1 x 1 evrişim kullanılır. Ek olarak, çift amaç için ayarlanmış doğrusal aktivasyon fonksiyonlarını da kullanabilirler. "

1 x 1 evrişimle ilgili olarak, Yann LeCun çok ilginç bir açı ortaya koyuyor: "Evrişimli bir ağda," tam bağlı katman "diye bir şey yoktur, sadece 1x1 evrişim çekirdeği ve tamamen bağlı bir tablo içerir. Evrişimli katman

5. Evrişim Algoritması

Artık evrişimin derinliğiyle nasıl başa çıkacağımızı biliyoruz. Daha sonra, diğer iki yöndeki (yükseklik ve genişlik) evrişim ile nasıl başa çıkılacağını ve önemli evrişim algoritmalarını (onvolution aritmetiği) tartışalım.

İşte bilmeniz gereken bazı terimler:

  • Çekirdek boyutu: Evrişim çekirdeği önceki bölümde tartışılmıştır. Evrişim çekirdeğinin boyutu, evrişimin görüş alanını belirler.

  • Evrişim Adım: Görüntü boyunca kayan evrişim çekirdeğinin adım uzunluğunu belirler. Adım boyutu 1, evrişim çekirdeğinin görüntü boyunca piksel piksel kaydığı anlamına gelir; 2 adım boyutu, evrişim çekirdeği görüntü üzerinde her kaydığında, 2 piksel hareket ettiği anlamına gelir (yani, 1 piksel atlanır). Aşağıdaki örnekteki görüntü için, 2'ye eşit veya daha büyük bir adım boyutu kullanıyoruz.

  • Dolgu: Dolgu, görüntünün kenarlıklarının nasıl işleneceğini tanımlar. Gerekirse, giriş sınırı etrafındaki dolguyu 0'a ayarlayabilirsiniz. Bu şekilde, dolu evrişim (Tensorflow'daki "aynı" dolgu) uzamsal çıktı boyutunu girdi görüntüsü ile aynı tutabilir. Öte yandan, giriş sınırının çevresine 0 dolgusu eklemezseniz, doldurulmamış evrişim (Tensorflow'da "geçerli" dolgu) yalnızca giriş görüntüsünün piksellerinde evrişim gerçekleştirir ve çıktı boyutu girdi boyutundan daha küçük olacaktır.

Aşağıdaki şekil, evrişim çekirdek boyutu 3, adım boyutu 1 ve dolgu 1 olan bir 2D evrişimi göstermektedir:

İşte algoritmayı ayrıntılı olarak açıklayan güzel bir makale (Derin öğrenme için evrişim aritmetiği rehberi, https://arxiv.org/abs/1603.07285), onu okuyabilirsiniz. Bu makale onu ayrıntılı olarak tanıtmakta ve farklı evrişim çekirdek boyutu, evrişim adım boyutu ve doldurma durumlarını analiz etmektedir. Burada en sık kullanılan sonuçları özetledim:

Boyut i, evrişim çekirdek boyutu k, dolgu p ve evrişim adım boyutu s olan bir girdi görüntüsü için, evrişimden sonra çıktı görüntüsünün boyutu o:

6. Yer değiştirmiş evrişim (ters evrişim)

Birçok uygulama için ve birçok ağ mimarisinde, genellikle ters yönde standart evrişime dönüştürmemiz gerekir, örneğin yukarı örnekleme yapmak istediğimizde. Bu durumlar, yüksek çözünürlüklü görüntüler oluşturmayı ve düşük boyutlu özellikleri otomatik kodlayıcılarda veya anlamsal bölümlemede yüksek boyutlu alanlarla eşlemeyi içerir. (Sonraki durumda, anlamsal bölümleme ilk önce kodlayıcıdaki özellik haritasını çıkarır ve ardından orijinal görüntüdeki her pikselin sınıflandırılabilmesi için kod çözücüdeki orijinal görüntünün boyutunu geri yükler.)

Geleneksel olarak, araştırmacılar, enterpolasyon şemaları uygulayarak veya manuel olarak kurallar oluşturarak yukarı örnekleme uygulayabilirler. Sinir ağları gibi modern mimariler, ağın insan müdahalesi olmadan uygun dönüşümleri otomatik olarak öğrenmesine izin verme eğilimindedir. Bunu başarmak için aktarılmış evrişimi kullanabiliriz.

Yazılı ifadede, transpoze evrişime ters evrişim (ters evrişim) veya kesirli aşamalı evrişim (kesirli aşamalı evrişim) da denir. Bununla birlikte, buna "ters evrişim" demenin çok uygun olmadığından bahsetmeye değer, çünkü ters çevrilmiş evrişim, sinyal / görüntü işlemede tanımlanan ters evrişim değildir. Teknik olarak konuşursak, sinyal işlemede ters evrişim, burada bahsedilen yer değiştirmiş evrişimden farklı olan evrişimin ters işlemidir. Bu nedenle, bazı makale yazarları, ters evrişimi ters evrişim olarak adlandırmaya şiddetle karşı çıkıyorlar ve halk bunu temelde basitlik uğruna bu şekilde adlandırmak istiyor. Daha sonra, bu işleme yer değiştirmiş evrişim demenin neden doğal ve daha uygun olduğunu keşfedeceğiz.

Yer değiştirmiş evrişime ulaşmak için evrişimi doğrudan kullanabiliriz. Örneğin, aşağıdaki şekildeki durumda, 2 x 2 girdisi üzerinde aktarılmış evrişim yapıyoruz: evrişim çekirdeği 3 x 3, evrişim adımı 1 ve dolgu 2 x 2 boşluktur. Yukarı örneklemenin çıktı boyutu 4 x 4'tür.

2 x 2 girişten 4 x 4 çıkışa kadar, görüntü: https://github.com/vdumoulin/conv_arithmetic

Araştırmacıların, aynı 2 x 2 giriş görüntüsünü, süslü dolgu ve adım boyutu uygulayarak farklı görüntü boyutlarıyla eşleştirebilmeleri çok ilginç. Aşağıdaki şekilde, aynı evrişim çekirdeği 3 x 3, evrişim adımı 1 ve 2 x 2 girişi, yer değiştirmiş evrişimi yapmak için 2 x 2 boşlukla (girişler arasına bir boşluk eklenir) doldurulur, Ortaya çıkan çıktı boyutu 5 x 5'tir.

2 x 2 girdiyi 5 x 5 çıktıya yükseltin, görüntü: https://github.com/vdumoulin/conv_arithmetic

Yukarıdaki durumda yer değiştirmiş evrişimi gözlemleyerek, başlangıçta biraz anlayış oluşturabiliriz. Ancak uygulamasını daha iyi anlamak istiyorsanız, matris çarpımı ile bilgisayarda nasıl gerçekleştiğini görmek daha faydalı olacaktır. Buradan, "yeri değiştirilmiş evrişim" adının neden daha uygun olduğunu da anlayabiliriz.

Evrişimde, evrişim çekirdeğini C, giriş görüntüsünü Büyük ve evrişim çıktı görüntüsünü Küçük olarak ayarladık. Evrişim (matris çarpımı) yaptıktan sonra, büyük görüntüyü küçük bir çıktı görüntüsüne indirgiyoruz. Matris çarpımında evrişimin uygulanması C x Büyük = Küçük'ü izler.

Aşağıdaki örnek, bu işlemin nasıl gerçekleştirilebileceğini göstermektedir. Ayrıca girişi 16 x 1 matrise düzleştirir, ardından evrişim çekirdeğini seyrek matrise (4 x 16) dönüştürür ve ardından seyrek matris ile düzleştirilmiş girdi ve son matris (4) arasında bir matris çarpım işlemi gerçekleştirir. x 1) 2 x 2 çıkışa geri dönüştürün.

Evrişimin matris çarpımı: 4 x 4 boyutunda Büyük bir giriş görüntüsünden 2 x 2 boyutunda bir Küçük çıktı görüntüsüne

Şimdi, aşağıdaki şekilde gösterildiği gibi, CT matrisini denklemin her iki tarafına birden çok kez transpoze edersek ve bir matris ve onun transpoze matrisini birim matrisin niteliklerini elde etmek için çarparsak, aşağıdaki hesaplama formülünü elde edebiliriz: CT x Küçük = Büyük.

Evrişimin matris çarpımı: 2x 2 boyutunda Büyük bir girdi görüntüsünden 4 x 4 boyutunda bir Küçük çıktı görüntüsüne

Burada görebileceğiniz gibi, aktarılmış evrişim, küçük görüntülerden büyük görüntülere kadar örnekleme gerçekleştirir. Başarmak istediğimiz şey bu. Ve şimdi, "yeri değiştirilmiş evrişim" adının kökenini de anlayabilirsiniz.

Yer değiştirmiş evrişimin genel algoritması, "Derin öğrenme için evrişim aritmetiği kılavuzu" makalesinin "İlişki 13" ve "İlişki 14" bölümlerinde bulunabilir.

6.1 Dama tahtası eserleri

Sözde "dama tahtası etkisi", araştırmacıların yer değiştirmiş evrişimi kullanırken gözlemleyebileceği hoş olmayan bir fenomendir (tuhaf dama tahtası eseri).

"Dama tahtası etkisi" nin bazı örnekleri. "Deconvolution ve Dama Tahtası Eserleri" kağıdından resim, https://distill.pub/2016/deconv-checkerboard/

"Ters Evrişim ve Dama Tahtası Yapıtları" (https://distill.pub/2016/deconv-checkerboard) bu fenomenin çok iyi bir açıklamasına sahiptir. Daha fazla ayrıntı için bu makaleyi okuyabilirsiniz. Burada sadece kilit noktaları özetledim.

Dama tahtası etkisinin nedeni, aktarılmış evrişimin "düzensiz örtüşmesidir". Bu örtüşme, görüntünün bir bölümünün diğer bölümlerden daha koyu olmasına neden olabilir.

Aşağıdaki şekilde, üst katman giriş katmanıdır ve alt katman, aktarılmış evrişimden sonraki çıktı katmanıdır. Yer değiştirmiş evrişim işleminde, daha küçük katman, daha büyük katmanla eşleştirilir.

(A) durumunda, evrişim adım boyutu 1 ve filtre boyutu 2'dir. Pozitif kırmızı çizgi ile işaretlendiği gibi, giriş görüntüsündeki ilk piksel, çıktı görüntüsündeki birinci ve ikinci piksellerle eşleştirilir. Yeşil çizgi, çıktı görüntüsündeki ikinci ve üçüncü piksellerle eşlenen girdi görüntüsündeki ikinci pikseli işaretler. Bu durumda, çıktı görüntüsündeki ikinci piksel, giriş görüntüsündeki birinci ve ikinci piksellerin ikili bilgilerini alır ve tüm evrişim işlemi sırasında, çıktı görüntüsünün ortasındaki piksellerin tümü girdi görüntüsünden alınır. Evrişim çekirdeklerinin örtüştüğü alanlara götüren aynı miktarda bilgi. (B) durumunda filtrenin boyutu 3'e çıktığında en çok bilgiyi alan orta kısım küçülür. Ancak bu büyük bir sorun değil, çünkü örtüşen kısım hala tek tip. Çıktı görüntüsünün ortasındaki pikseller, giriş görüntüsünden aynı miktarda bilgi alır.

Resim, https://distill.pub/2016/deconv-checkerboard/ "Deconvolution ve Dama Tahtası Eserleri" kağıdından türetilmiş ve değiştirilmiştir.

Şimdi aşağıdaki durum için, evrişim adım boyutunu 2 olarak değiştiriyoruz. (A) durumunda, filtrenin boyutu 2'dir ve çıktı görüntüsündeki tüm pikseller giriş görüntüsünden aynı miktarda bilgi alırlar ve hepsi giriş görüntüsünden bir piksel bilgi alır Burada transpozisyon yoktur. Rulonun getirdiği örtüşen alan.

Resim, https://distill.pub/2016/deconv-checkerboard/ "Deconvolution ve Dama Tahtası Eserleri" kağıdından türetilmiş ve değiştirilmiştir.

(B) durumunda, filtre boyutunu 4'e yükselttiğimizde, tek tip örtüşme alanı azalır, ancak araştırmacı yine de çıktı görüntüsünün orta bölümünü etkili bir çıktı olarak kullanabilir, burada her piksel giriş görüntüsünden gelir. Gelen bilgiler aynı.

Ancak (c) ve (d) durumlarında, filtre boyutu 3 veya 5 olduğunda durum çok ilginç hale gelir. Bu iki durumda, çıktı görüntüsü ve bitişiğindeki pikseller üzerindeki her piksel tarafından alınan bilgi miktarı farklıdır. Araştırmacı, çıktı görüntüsünde sürekli ve tekdüze bir örtüşen alan bulamaz.

Filtre boyutu evrişim adımı boyutuyla bölünemediğinde, yeri değiştirilmiş evrişim "eşit olmayan örtüşme" ye sahip olacaktır. Bu "düzensiz örtüşme", görüntünün belirli bir bölümünün renginin diğer bölümlerden daha koyu olmasına neden olacak ve böylece bir "dama tahtası etkisi" yaratacaktır. Aslında, düzensiz örtüşme alanı iki boyutta daha aşırı olacaktır. İki boyuttaki iki mod çoğalacağından, son homojen olmama orijinal karedir.

Yer değiştirmiş evrişimi uygularken, bu etkiyi azaltmak için iki şey yapılabilir. İlk olarak, örtüşme sorununu önlemek için kullanılan filtre boyutunun evrişim adımı boyutuna bölünebileceğinden emin olun. İkinci olarak, "dama tahtası etkisini" azaltmak için evrişim adım uzunluğu 1 olan dönüştürülmüş evrişim kullanılabilir. Bununla birlikte, birçok yeni modelde görüldüğü gibi, bu fayda yine de ortaya çıkabilir.

Bu makale ayrıca daha iyi bir yukarı örnekleme yöntemi önermektedir: önce görüntü boyutunu ayarlayın (En Yakın Komşu enterpolasyonu ve çift doğrusal enterpolasyon kullanarak) ve ardından bir evrişimli katman oluşturun. Bunu yaparak, makalenin yazarı bu "dama tahtası etkisinden" başarıyla kaçınmıştır. Bu yöntemi kendi uygulamanızda da denemek isteyebilirsiniz.

(Bölüm 1)

aracılığıyla: https://towardsdatascience.com/a-comprehensive-introduction-to-different-types-of-convolutions-in-deep-learning-669281e58215

"Breaking Bad" in film versiyonu burada; Dandan "Ace Agent 3" eğlence materyaline veda edebilir
önceki
Eski siyah beyaz bir fotoğraf, üç nesil polisin sevgisini gösteriyor
Sonraki
Orta seviye bir araba satın almak için 200.000 konfigürasyon çok düşük mü? Bu SUV'leri düşünün
4D uzun makale sizi derin öğrenmedeki çeşitli evrişimli ağlara götürür (2. bölüm)
Apple, 2999 yuan'dan başlayan yeni iPad Air ve iPad mini'yi piyasaya sürdü
Önümüzdeki hafta özlem asla değişmeyecek, bu hayatta aşk değişmeyecek, 4 takımyıldız eski aşkla el ele tutuşacak ve hayatının geri kalanında seninle kalacaksın
Holding Yüksek Öğrenimde İnovasyon ve Girişimcilik Zirvesi Forumu Hakkında Duyuru
Görsel estetiği aşan OPPO R17 Pro, yeni gradyan renkleri getiriyor
Siping City'deki Yukun Guoxue Deney Okulunda başlayarak: karmanın ortadan kaldırılmasını teşvik etmek için kendi kendine yapılan sihirli ilaç "Atıştırmalık Tozu"
Wanzi Long Article | Birleşmiş Milletler Raporu: Gelişmekte olan ülkeler finansal denetimi nasıl yenileyebilir?
Orijinal OPPO markası Realme yeni bir makine piyasaya sürmek üzere, resmi web sitesi sızdırılan fotoğraflar
Coca-Cola yine bir şeyler mi yapıyor? ! Ètudes 2017 sonbahar ve kış serisi geliyor!
Huatai Santa Fe 7, üçüncü çeyrekte 1.5T / 2.0L ile listelenecek
Önümüzdeki hafta, eski aşkın takımyıldızı Akasya Kırmızı Fasulye, çelişkiyi küle çevirecek ve eskisini eski haline getirmek kolay olacak.
To Top