Dikkat! Sinir ağlarındaki dikkat mekanizması tam olarak nedir?

Orijinal çalışma: Adam Kosiorek

Annie, GitHub'dan derlendi

Qubit Üretildi | Genel Hesap QbitAI

Dikkat Sinir ağlarının mekanizmaları büyük ilgi gördü. Bu yazıda, farklı mekanizmaların ortak noktalarını ve kullanım durumlarını bulmaya çalışacağım ve iki yumuşak görsel dikkatin ilkelerini ve uygulamasını açıklamaya çalışacağım.

Dikkat nedir?

Layman'ın terimleriyle, sinir ağı dikkat mekanizması, girdisine (veya özelliklerine) odaklanabilen ve belirli girdileri seçebilen bir sinir ağıdır. Girişi xRd olarak ayarladık, özellik vektörü zRk, ak dikkat vektörü ve f (x) dikkat ağıdır. Genel olarak, dikkatin gerçekleştirilmesi şu şekildedir:

a = f (x)

Veya za = az

Yukarıdaki denklemde, element eleman bazında çarpmaya karşılık gelen işlemi temsil eder. Burada yumuşak dikkat ve sert dikkat kavramlarını tanıtıyoruz. İlki, yumuşak değerler maskesinin 0 ile 1 arasında olduğu anlamına gelirken, ikincisi, değerler maskesinin iki türe ayrılmaya zorlandığı anlamına gelir, yani a { 0,1} k. İkincisi için, üstel özellik vektörünü gizlemek için çok dikkatli olabiliriz: za = z. Bu, boyutunu artırır.

Dikkatin önemini anlamak için, bir sinir ağının özünü düşünmemiz gerekir - bu bir işlev yaklaşımcısıdır. Mimarisine bağlı olarak, farklı işlev türlerini yaklaşık olarak tahmin edebilir. Sinir ağları genellikle zincir matris çarpımı mimarisinde ve giriş veya öz vektörlerin yalnızca toplama sırasında etkileşime girdiği karşılık gelen elemanlarda kullanılır.

Dikkat mekanizması, özellik çarpımı için kullanılabilecek maskeyi hesaplamak için kullanılabilir.Bu işlem, sinir ağı tarafından yaklaştırılan işlev alanını büyük ölçüde genişleterek yeni kullanım durumlarını mümkün kılar.

Görsel Dikkat

Şekillerine bakılmaksızın çeşitli girdi türlerine dikkat edilebilir. Görüntüler gibi matris değeri girdisi durumunda, görsel dikkat kavramını tanıtıyoruz. Görüntüyü bir bakış olarak IRH * W ve gRh * w olarak tanımlayın; bu, dikkat mekanizmasının görüntüye uygulandığı anlamına gelir.

Sert Dikkat

Görüntülerin kırpılması gibi uzun bir süredir görüntülere Sert Dikkat uygulanmıştır. Konsepti çok basit, sadece indekslenmesi gerekiyor. Python ve TensorFlow'da şu şekilde sıkı dikkat uygulanabilir:

Yukarıdaki formla ilgili tek sorun, farklılaştırılamamasıdır.Modelin parametrelerini anlamak istiyorsanız, puan-fonksiyon tahmincisi gibi bir yardım kullanmalısınız.

Yumuşak Dikkat

Dikkatin en basit varyantında, yumuşak dikkat, resim için formülde uygulanan vektör değeri özelliklerinden farklı değildir. "Göster, Katıl ve Anlat: Görsel Dikkatle Nöral Görüntü Başlığı Üretimi" makalesi ilk uygulamasını kaydediyor.

Kağıt adresi:

https://arxiv.org/abs/1502.03044

Bu model, bir görüntünün belirli bir bölümünü öğrenir ve bu parçayı açıklamak için bir dil oluşturur.

Bununla birlikte, yumuşak dikkat hesaplama için ekonomik değildir. Girişin belirsiz kısmının sonuç üzerinde hiçbir etkisi yoktur, ancak yine de hesaplanması gerekir. Aynı zamanda parametreleştirilir ve dikkati gerçekleştiren Sigmoid aktivasyon fonksiyonu birbirinden bağımsızdır. Aynı anda birden fazla hedefi seçebilir, ancak pratikte, genellikle seçimli olarak sahnedeki bir veya birkaç öğeye odaklanmak isteriz.

Aşağıda, sırasıyla DRAW ve Mekansal Trafo Ağlarını keseceğim ve yukarıdaki sorunları çözmek için iki mekanizma tanıtacağım. Performansı daha da iyileştirmek için girdinin boyutunu da ayarlayabilirler.

ÇİZİM tanıtım kağıdı adresi:

https://arxiv.org/abs/1502.04623

Mekansal Trafo Ağları tanıtım belgesi adresi:

https://arxiv.org/abs/1506.02025

Gauss Dikkat

Gauss dikkati, görüntü boyutunda bir dikkat haritası oluşturmak için parametrik tek boyutlu bir Gauss filtresi kullanır. Dikkat vektörü olarak ay = Rh, ax = Rw tanımlayın, dikkat maskesi şu şekilde yazılabilir:

Yukarıdaki şekilde, üst satır balta'yı, en sağdaki sütun y'yi ve ortadaki dikdörtgen a'yı temsil eder. Sonuçları görselleştirmek için vektörde sadece 0 ve 1 bulunur. Uygulamada, tek boyutlu Gauss fonksiyon vektörleri ile gerçeklenebilirler. Genel olarak konuşursak, Gauss fonksiyonlarının sayısı uzamsal boyuta eşdeğerdir ve her vektör üç parametre ile temsil edilir: ilk Gaussian 'nin merkezi, sürekli dağılımın Gauss merkezleri arasındaki mesafe ve Gauss dağılımının standart sapması . Bu parametrelerle dikkat ve bakışlar ayırt edilebilir hale geldi ve öğrenmenin zorluğu da çok azaldı.

Yukarıdaki örnek görüntünün yalnızca bir bölümünü seçebildiğinden, kalan görüntülerin temizlenmesi gerekir, bu nedenle dikkat çekmek biraz ekonomik görünmüyor. Vektörleri doğrudan kullanmazsak ve bunları sırasıyla AyRh * H ve AxRw * W matrislerine dönüştürmeyi seçersek daha iyi olabilir.

Şimdi, her matrisin her satırı bir Gauss değerine sahiptir ve d parametresi, ardışık satırlarda Gauss dağılımının merkezinden belirli bir mesafeyi belirtir. bir bakış şu şekilde ifade edilebilir:

Bu mekanizmayı, HART (Hierarchical Attentive Recurrent Tracking) ile ilgili olan nesne izleme için RNN dikkatine ilişkin yakın tarihli bir makalede kullandım.

Kağıt adresi:

https://arxiv.org/abs/1706.09262

İşte bir örnek, solda giriş resmi ve sağda ana görüntüdeki yeşil kareyi gösteren dikkat.

Aşağıdaki kod, TensorFlow'da küçük parti örnekleri için yukarıdaki matris değeri maskesini oluşturmanıza olanak tanır. Ay'ı oluşturmak istiyorsanız, buna Ay = gaussian_mask (u, s, d, h, H) diyebilirsiniz, burada u, s, d, sırasıyla, bu şekilde piksel cinsinden belirtilen , ve d'yi temsil eder.

Bir görüntüyü doğrudan görüntüden çıkarmak için bir işlev de yazabiliriz:

Uzay Trafosu

Uzamsal Transformatör (STN), daha genel dönüşümlere izin verir ve görüntü kırpmayı ayırt edebilir. Görüntü kırpma da olası kullanım durumlarından biridir ve iki bileşenden, bir ızgara oluşturucudan ve bir örnekleyiciden oluşur. Şebeke üreteci, örneklenecek nokta ızgarayı belirtir ve örnekleyici, örnektir. DeepMind'in son sinir ağı kütüphanesi Sonnet'te, TensorFlow ile uygulama çok basittir.

Gaunssian Dikkatine Karşı Mekansal Transformatör

Gaunssian Attention ve Spatial Transformer tarafından gerçekleştirilen davranışlar çok benzerdir.Hangi uygulamayı seçeceğimizi nasıl belirleriz? İşte bazı nüanslar:

Gauss dikkati, hiperparametrik bir kırpma mekanizmasıdır ve 6 parametre gerektirir, ancak yalnızca 4 serbestlik derecesi (y, x, yükseklik ve genişlik) gerektirir. STN yalnızca dört parametre gerektirir.

Henüz test yapmadım, ancak STN daha hızlı olmalı. Gauss dikkatinin iki matris çarpımı gerçekleştirmesi gerekirken, örnekleme noktalarının doğrusal enterpolasyonuna dayanır.

Gauss dikkatini eğitmek daha kolay olmalıdır. Bunun nedeni, sonuç olarak, anlık görüntüdeki her pikselin, kaynak görüntüdeki nispeten büyük piksel bloklarının dışbükey bir kombinasyonu olabilmesidir, bu da hatanın nedenini bulmayı kolaylaştırır. Öte yandan STN, doğrusal enterpolasyona dayanır ve her örnekleme noktasındaki gradyan, en yakın iki piksel noktasında yalnızca sıfırdan farklıdır.

sonuç olarak

Dikkat mekanizması sinir ağlarının yeteneklerini genişletir ve daha karmaşık işlevlere yaklaşabilir. Veya daha sezgisel terimlerle, girdinin belirli kısımlarına odaklanabilir, doğal dil ölçütlerinin performansını iyileştirebilir ve ayrıca görüntü alt yazıları, bellek ağlarındaki adresler ve sinir programları gibi yeni özellikler getirebilir.

Kanımca en önemli dikkat uygulaması vakası henüz keşfedilmedi. Örneğin, videodaki nesnelerin tutarlı ve tutarlı olduğunu ve kareden kareye aniden kaybolmayacağını biliyoruz. Dikkat mekanizması bu tutarlılığı ifade etmek için kullanılabilir. Sonraki gelişmesine gelince, dikkat etmeye devam edeceğim.

- Bitiş -

Samimi işe alım

Qubit, editörleri / muhabirleri işe alıyor ve merkezi Pekin, Zhongguancun'da bulunuyor. Yetenekli ve hevesli öğrencilerin bize katılmasını dört gözle bekliyoruz! Ayrıntılar için, lütfen QbitAI diyalog arayüzünde "işe alım" kelimesiyle yanıt verin.

Qubit QbitAI

' ' Yapay zeka teknolojisi ve ürünlerindeki yeni eğilimleri takip edin

Üretim ve satışlar altı ayda iki katına çıktı, yeni enerji araçlarının serin ve konforlu bir ömrü var
önceki
Yifang Jin Xinyu nasıl inşa etti? Cui Kangxi gençlik fırtınasını patlatmak istiyor! Tianjin Tianhai yün tarafından yağmalanmaktan korkuyor
Sonraki
Hala tavuk oyunu şovu hayırlı kıyafetler mi yiyorsunuz? Bunlar en popüler kıyafetler, kafadan vuruş oranlarını artırabilirler mi?
Birisi Süper Lig'de olmayan Premier Lig'de Berbatov'u devralmaya cesaret edebilir mi?
İnternet ünlü adı, Auchan COS1 ° (Kesai 1 °) tipi, duyu, yaratıcılık ve bilgelik ile İnternet ünlü arabası!
Luneng Çift Yıldızlı Hassas Kılavuz! Jin Jingdao'nun kendini kurtarması çok basit ve üç tanrılı mizah çok komik.
TI8: IG eve gidiyor, kazanan grup sadece LGD! Oyuncuların sıcak tartışması: kaybedenler grubunda bu kadar çok Çinli takımı ilk kez görüyor
AC Milan'ın "Vulture Shooting Hero" sonunda sahneye çıktı ve Serie A'da ilk golü attı.
Bin tane fikriniz var, eski bir fikrim var, Zhilian'ın yeni ekipmanlarıyla yüklü yepyeni Trumpchi GS4'ün nasıl parlayacağını görmeye çalışın
Liu Yang'ın hala deneyimlemesi gerekiyor, "National Football Kanter" koşamıyor, Lippi Wang Dalei + Wei Shihao şehir mahkemesini kullanıyor
DOTA2 TI8: Serenity, elenmeyi önlemek için iki puan aldı, LGD kazanan gruba üçüncü girdi
Satışların yükselmesi ve düşmesi arasındaki karşıtlık, otomotiv endüstrisinin karıştırması gereken kritik nokta mı?
Milli futbol takımı çeyrek finale yükselirken, 8 oyuncu İran'a sarılık yaptı! Zhang Linpeng'in yokluğunda başrolü seçmek zor
Alibaba'nın Yapay Zeka Devrimi | 4 günlük Yunqi Konferansı kuru malların özeti
To Top