Bilgisayarla görme ve evrişimsel sinir ağında çeviri değişmezliği nedir?


36

Bilgisayarla görüşme geçmişim yok, ancak bazı görüntü işleme ve evrimsel sinir ağları ile ilgili makale ve makaleleri okuduğumda, sürekli olarak translation invarianceya da translation invariant.
Veya evrişim işleminin sağladığını çok okudum translation invariance? !! Ne anlama geliyor?
Ben kendimi her zaman kendime çevirmişim gibi bir görüntüyü herhangi bir şekilde değiştirirsek, görüntünün gerçek kavramı değişmez demektir.
Örneğin, bir diyelim ağacın görüntüsünü döndürürsem, o resme ne yaparsam yapayım yine bir ağaç.
Ben de bir görüntüye gelebilecek ve onu bir şekilde dönüştürecek tüm işlemleri görüyorum (kırpma, yeniden boyutlandırma, gri tonlama, renklendirme vb.). Bunun doğru olup olmadığı hakkında hiçbir fikrim yok, bu yüzden eğer biri bana açıklarsa minnettar olurum.

Yanıtlar:


57

Doğru yoldasın.

Değişmezlik , görünümü bir şekilde değişse bile, bir nesneyi nesne olarak tanıyabileceğiniz anlamına gelir . Bu genellikle iyi bir şeydir, çünkü izleyicinin / kameranın ve konumun göreceli konumları gibi nesnenin kimliğini, kategorisini (vb.) Görsel girişin özelliklerinde yapılan değişiklikler arasında korur.

Aşağıdaki resim aynı heykelin birçok manzarasını içermektedir. Siz (ve iyi eğitilmiş sinir ağları), gerçek piksel değerleri oldukça farklı olsa bile, her resimde aynı nesnenin göründüğünü anlayabilirsiniz.

Çeşitli değişmezlik, kanıtlanmış

Buradaki çevirinin , geometriden ödünç alınan vizyonda belirli bir anlamı olduğunu unutmayın . Fransızca'dan İngilizceye veya dosya formatları arasında bir çeviriden söz edilmemektedir. Bunun yerine, görüntüdeki her nokta / pikselin aynı miktarda aynı yönde taşındığı anlamına gelir. Alternatif olarak, orijini ters yönde eşit miktarda kaydırılmış olarak düşünebilirsiniz. Örneğin, her satırdaki 50 veya 100 pikseli sağa hareket ettirerek ilk satırdaki 2. ve 3. görüntüleri birinci sıradan oluşturabiliriz.


Biri, evrişim operatörünün çeviriye göre işlediğini göstermektedir. Eğer convolve Eğer f ile g , o olsun Evrişmiş çıktı çevirmek etmezse fg çevirmek eğer, ya f veya g , sonra onları evriştirilir. Wikipedia'da biraz daha var .

Tercüme-değişmeyen nesne tanıma yaklaşımlarından biri, nesnenin bir "şablonunu" almak ve onu nesnenin görüntüdeki her olası konumu ile bükmek. Bir konumda büyük bir yanıt alırsanız, şablona benzeyen bir nesnenin o konumda bulunduğunu gösterir. Bu yaklaşıma genellikle şablon eşleştirme denir .


Değişmezliğe Karşı Eşdeğerlik

Santanu_Pattanayak'ın cevabı ( burada ) çeviri değişmezliği ile çeviri denkliği arasında bir fark olduğunu belirtir . Tercüme değişmezliği, girişin nasıl kaydırıldığına bakılmaksızın, sistemin tamamen aynı cevabı vermesi anlamına gelir. Örneğin, bir yüz dedektörü üst satırdaki her üç resim için de "YÜZ VAKFI" rapor edebilir. Eşdeğerlik, sistemin konumlar arasında eşit derecede iyi çalıştığı anlamına gelir, ancak yanıtı hedefin konumuyla birlikte değişir. Örneğin, bir "yüz giriş" ısı haritası, ilk resim sırasını işlerken solda, merkezde ve sağda benzer çıkıntılara sahip olacaktır.

Bu bazen önemli bir ayrımdır, ancak birçok kişi her iki fenomene "değişmezlik" adını verir, özellikle de eşdeğer bir yanıtı değişmez bir cevaba çevirmek genellikle önemsizdir, çünkü tüm konum bilgisini dikkate almayın).


2
Yardımcı olduğuma sevindim. Bu benim büyük araştırma ilgi alanlarımdan biri, bu yüzden yararlı olacak başka bir şey olursa ne yapabileceğime bakarım.
Matt Krause

CNN ile çeviri değişmezliğinin nasıl sağlandığını açıklayabilir misiniz? Bir CNN'deki evrişimli bir katmanın aktivasyonları çeviriler altında değişmezdir: görüntü hareket ettikçe hareket eder (yani çeviriler için değişmez değil, eşdeğerdir). Bu aktiviteler, genellikle çeviriler için de değişmeyen bir havuz katmanına beslenir. Ve havuzlama katmanı tamamen bağlı bir katmana beslenebilir. Tamamen bağlı bir katmandaki ağırlıklar, translasyonu değişmez çeviri davranışına eşdeğer olarak değiştiriyor mu?
en fazla

@max, Pooling, çeviri havuzunu, özellikle de havuz mahallesindeki mekansal bilgileri tamamen göz ardı eden max-pooling'i (!) arttırır. Deeplearningbook.org/contents/convnets.html ( 9. sayfadan başlayarak) bölümündeki Derin Öğrenme Bölüm 9'a bakın . Bu fikir aynı zamanda sinirbilimde de popülerdir - HMAX modeli (örneğin, burada: maxlab.neuro.georgetown.edu/docs/publications/nn99.pdf ), çeviri (ve diğer türlerde değişmezlik.
Matt Krause

1
Doğru, havuzlama küçük çeviriler üzerinde değişmezlik sağlar (daha büyük değişimler hakkında düşünüyordum, ama belki de art arda gelen her bir havuzlama katmanı giderek daha büyük değişimleri kaldırabilir). Peki ya tamamen evrişimli ağlar ? Havuz olmadan, (en azından yaklaşık) değişmezliği ne sağlar?
max

1
@Fredom, bu yeni bir soru olarak daha iyi olabilir, ama kısaca - ses sinyali, zaman içinde ileriye doğru kaydırdığınızda bile aynı şekilde çalar (örneğin, başında bir demet sessizlik ekleyerek). Bununla birlikte, onu frekans alanında kaydırırsanız, kulağa farklı geliyor : sadece spektrum değişmiyor, frekanslar arasındaki ilişkiler (örneğin harmonikler) de bozuluyor.
Matt Krause

4

Çeviri değişmezliği ile ne kastedildiği konusunda bazı karışıklıklar olduğunu düşünüyorum. Evrişim, bir görüntüdeki bir nesne A alanındaysa ve evrişim yoluyla B alanındaki bir çıktıda bir özellik algılanırsa, o zaman resimdeki nesne A '' ya çevrildiğinde aynı özellik algılanır. Çıkış özelliğinin konumu, filtre çekirdeği boyutuna bağlı olarak yeni bir B 'alanına çevrilecektir. Buna çeviri denkliği denir, çeviri değişmezliği denir.


2

Cevap aslında ilk başta göründüğünden daha zor. Genel olarak, çeviri değişmezliği, çerçevede nerede göründüğünden bağımsız olarak nesneyi tanıyacağınız anlamına gelir.

A ve B çerçevesindeki bir sonraki resimde, vizyonunuz kelimelerin çeviri değişimini destekliyorsa "vurgulanmış" kelimesini tanırsınız . görüntü tanımını buraya girin

Kelimelerin altını çizdim çünkü değişmezliğiniz yalnızca harflerle destekleniyorsa, C çerçevesi aynı zamanda A ve B çerçevelerine de eşit olacaktır: tam olarak aynı harflere sahiptir.

Pratik olarak, CNN'nizi harflerle eğitirseniz, MAX POOL gibi şeyler harflerin çeviri değişimini sağlamaya yardımcı olur, ancak kelime üzerinde çeviri değişmesine yol açmayabilir. Havuzlama, özelliği (karşılık gelen bir katmanla çıkarılan) diğer özelliklerin konumuyla ilişkilendirmeden dışarı çıkarır, bu nedenle D ve T harflerinin göreceli konumu ve STRESSED ve TESSERTS kelimelerinin aynı şekilde görüneceği bilgisini kaybeder.

Terimin kendisi muhtemelen fnslasyonel simetrinin uzaydaki çeviriden bağımsız olarak denklemlerin aynı kaldığı anlamına geldiği fizikten geliyor.


1

@Santanu

Cevabınız kısmen doğruysa ve karışıklığa yol açar. Konvolüsyon katmanlarının kendileri veya çıktı özellik haritalarının çeviri eşdeğeri olduğu doğrudur. Max-pooling katmanlarının yaptığı, @Matt'ın işaret ettiği gibi bazı çeviri değişmezliği sağlamaktır.

Başka bir deyişle, özellik haritalarındaki eşdeğerlik, maksimum havuzlama katmanı işlevi ile birlikte ağın çıktı katmanında (softmax) çeviri değişmezliğine yol açar. Yukarıdaki ilk resim seti, sola veya sağa çevrilmiş olmasına rağmen “heykel” olarak adlandırılan bir tahminde bulunacaktır. Girdiyi çevirmesine rağmen tahminin "heykel" (yani aynı) kalması, ağın bazı çeviri değişmezliği elde ettiği anlamına gelir.


Havuzlaşmanın çeviri değişmezliğine yol açtığından emin değilim.
Aksakal

Orta derecede öyle. Maksimum havuzlama operatörünün, verilen pencerede çıktısı olarak maksimum piksel değerini aldığını unutmayın. Bu, matematiksel olarak, bazı pikselleri zorunlu kılar, çünkü maksimum piksel değerlerinin uzamsal konumu alakasızdır (bazı toleranslar dahilinde).
mr e
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.