Transformer neden bir grafik sinir ağıdır?

Yazar | Chaitanya Joshi

Tercüman | Kolen

Üretildi | AI Teknolojisi Ana Kampı (ID: rgznai100)

Önsöz

Bazı mühendislik arkadaşları bana sık sık böyle bir soru soruyor: "Grafik derin öğrenme kulağa harika geliyor, ancak şu anda çok başarılı bir iş durumu var mı? Pratik uygulamalarda kullanıldı mı?"

Pinterest, Alibaba ve Twitter tarafından dağıtılan öneri sistemleri gibi bariz durumlara ek olarak, NLP endüstrisinde bir kargaşaya neden olan Transformer mimarisinin uygulanması biraz farklı başarılı bir durumdur.

Bu makale aracılığıyla, grafik sinir ağları (GNN'ler) ve Transformers arasında bir bağlantı kurmak istiyorum. Spesifik olarak, önce NLP ve GNN alanındaki model mimarisinin temel ilkelerini tanıtacağım, ardından ikisi arasındaki ilişkiyi göstermek için formüller ve diyagramlar kullanacağım ve son olarak bu alandaki araştırma ilerlemesini desteklemek için ikisinin birlikte nasıl çalışacağını tartışacağım.

Öncelikle model mimari-temsil öğrenmenin amacından bahsedelim.

NLP temsili öğrenme

Daha yüksek bir analiz seviyesinden, hemen hemen tüm sinir ağı yapıları, verilerdeki yararlı istatistiksel ve anlamsal bilgileri kodlamak için vektörler veya yerleştirmeler biçiminde girdi verilerini temsil eder. Bu gizli veya gizli temsil yöntemleri, görüntüleri sınıflandırmak veya cümleleri çevirmek gibi bazı yararlı görevleri gerçekleştirmek için kullanılabilir. Bunların arasında sinir ağı, geri bildirim alarak (genellikle hata / kayıp işlevleri aracılığıyla) daha iyi ve daha iyi temsiller oluşturmayı öğrenir.

Doğal dil işlemede (NLP), geleneksel şekilde, insanlar bir cümledeki her kelimenin temsilini sıralı bir şekilde (yani bir zaman adımı bir kelimeye karşılık gelir) oluşturmak için tekrarlayan sinir ağlarını (RNN'ler) kullanmaya alışkındır. Sezgisel olarak, RNN katmanını bir konveyör bandı olarak düşünebiliriz ve üzerindeki sözcükler soldan sağa doğru otomatiktir. Son olarak, cümledeki her kelimenin gizli bir özelliğini alırız ve onu bir sonraki RNN katmanına geçiririz veya seçtiğimiz NLP görevi için kullanırız.

Transformatörler başlangıçta makine çevirisi alanında kullanılıyordu, ancak şimdi yavaş yavaş ana akım NLP'de RNN'lerin yerini aldılar. Mimari yeni bir temsil öğrenme yöntemi kullanır: özyinelemeli yöntemi tamamen terk eden Transformers, cümledeki diğer tüm kelimelerin yukarıdaki kelimelere göre önemini bulmak için her kelimenin özelliklerini oluşturmak için dikkat mekanizmasını kullanır. Bu kilit noktayı anladıktan sonra, bir kelimenin güncelleme özelliğinin sadece tüm kelime özelliklerinin doğrusal dönüşümlerinin toplamı olduğunu ve bu özelliklerin önemlerine göre ağırlıklandırıldığını anlayabiliriz.

2017 gibi erken bir tarihte, bu fikir kulağa çok radikal geliyor, çünkü NLP dünyası metin dizilerini (her seferinde bir kelime) işlemek için RNN kullanmaya alıştı. Bu yazının başlığı yangına yakıt katabilir!

Yannic Kilcher, bununla ilgili mükemmel bir video özeti yaptı.

Ayrıştırma Trafosu

Bir önceki bölümün içeriğini matematiksel semboller ve vektörlerin diline çevirerek bu mimariye dair anlayışımızı derinleştirelim. Aşağıda gösterildiği gibi cümle yapacağız

İ-inci kelimenin gizli özelliği h

Katman şu şekilde güncellendi:

Kat:

onların arasında,

Cümledeki kelime setini temsil eder ve

Öğrenilebilen doğrusal ağırlıklardır (dikkat hesaplamasında Sorgu, Anahtar ve Değeri temsil eder). Cümledeki her kelime dikkat mekanizmasını paralel olarak yürütür, böylece güncellenmiş özellikleri bir seferde elde edilebilir - bu, Transformer'in RNN'lere göre başka bir bonus noktasıdır ve bu, modelin özellikleri kelime kelime güncellemesini sağlar.

Aşağıdaki akış şeması aracılığıyla dikkat mekanizmasını daha iyi anlayabiliriz:

Cümledeki kelime özelliklerini ve diğer kelime setlerini girin

Her çifti hesaplamak için iç çarpım işlemini kullanıyoruz

Dikkat ağırlığı ve ardından hepsinde softmax işlemi gerçekleştirin. Sonunda hepsini koy

I kelimesinin güncellenmiş kelime dağarcığı özelliklerini elde etmek için karşılık gelen ağırlıklar toplanır.

. Cümledeki her kelime, özelliklerini güncellemek için paralel olarak aynı süreçten geçecektir.

Çok başlı dikkat mekanizması

Gerçekler, bu iç ürün dikkat mekanizmasını çalıştırmanın zor olduğunu kanıtlamıştır - eğer rastgele başlatma iyi işlenmezse, tüm öğrenme süreci istikrarı kaybedecektir. Paralel olarak birden fazla dikkat "kafasını" uygulayarak ve sonuçları birleştirerek bu sorunun üstesinden gelebiliriz (her dikkat başının artık ayrı bir öğrenilebilir ağırlığı vardır):

onların arasında,

K'inci dikkat başlığının öğrenilebilir ağırlığı ve

Çapraz katmanla eşleşmek için aşağı doğru bir projeksiyondur

Ve boyut.

Çok başlı mekanizma, üst katmandaki gizli özelliklerin farklı dönüşüm süreçlerini ve yönlerini gözlemleyerek, dikkat mekanizmasının esasen "risklerden kaçınmasına" izin verir. Bu noktada daha sonra detaylı olarak tartışacağız.

Ölçek sorunları ve ileriye doğru yayılma alt katmanı

Transformer yapısının son formun oluşumunu teşvik eden temel sorunu, dikkat mekanizmasından sonraki kelimelerin özelliklerinin farklı ölçeklerde veya önemde olabilmesidir: (1) Bu, bazı kelimelerin diğer kelimelerin özelliklerini toplarken çok yoğun özelliklere sahip olmasından kaynaklanıyor olabilir. Veya çok rahatsız edici ağırlıklar. (2) Tek özellik / vektör girdi seviyesinde, çoklu dikkat başlıkları arasında basamaklama (her biri farklı oranlarda değerler verebilir), son vektör girdisi için geniş bir değer aralığı ile sonuçlanabilir. Geleneksel makine öğrenimi fikirlerini takiben, yukarıdaki sürece bir normalleştirme katmanı eklemek makul bir seçim gibi görünüyor.

Transformers, problemin üstesinden gelmek için LayerNorm kullanır (2) LayerNorm, özellik seviyesinde normalleşir ve afin bir dönüşümü öğrenir. Ayrıca, özellik boyutunun karekökünü alarak nokta ürün dikkatini ölçeklendirmek, problemi önlemeye yardımcı olur (1).

Son olarak, yazar ölçek problemini kontrol etmek için başka bir "beceri" önermektedir: konumu dikkate alan özel bir yapıya sahip iki katmanlı bir MLP. Çok başlı dikkatten sonra, daha yüksek bir boyuta projeksiyon yapmak için öğrenilebilir bir ağırlık kullanırlar. Bu boyutta, bir ReLU doğrusal olmayan dönüşüme uğrarlar ve ardından orijinal boyutuna geri yansıtırlar ve ardından başka bir normalleştirme işlemi gerçekleştirirler:

Dürüst olmak gerekirse, hiperparametreli ileri besleme alt katmanın arkasındaki kesin mantığın ne olduğundan emin değilim ve kimsenin bununla ilgili soruları yok gibi görünüyor! LayerNorm'un iç çarpımının ve ölçeklemenin, göze çarpan sorunu tamamen çözemeyeceğini düşünüyorum, bu nedenle büyük MLP, özellik vektörlerini birbirinden bağımsız olarak yeniden ölçeklendirmenin bir yoludur.

Transformer katmanının son şekli aşağıdaki gibidir:

Transformer mimarisi ayrıca çok derin ağlar için çok uygundur ve NLP topluluğunun hem model parametrelerini hem de genişletilmiş verileri genişletmesini sağlar. Her çok başlı dikkat alt katmanı ile ileri besleme alt katmanı arasındaki artık bağlantı, Transformer katmanını istiflemenin anahtarıdır (ancak netlik açısından yukarıdaki şekilde ihmal edilmiştir).

GNN'lerin inşaat grafiğinin temsili

Şimdilik NLP'yi tartışmayacağız.

Grafik Sinir Ağları (GNN'ler) veya Grafik Evrişimli Ağlar (GCN'ler), grafik verilerindeki düğümlerin ve kenarların temsillerini oluşturur. Komşu toplama (veya mesaj geçişi) yoluyla uygulanırlar Komşuluk toplamada, her düğüm çevresindeki yerel grafik yapısını güncellemek için mahallesinden özellikleri toplar. Model, birden fazla GNN katmanını istifleyerek, her düğümün özelliklerini, komşularından komşularına vb. Tüm grafiğe yayabilir.

Bu emoji sosyal ağını örnek olarak alın: GNN tarafından oluşturulan düğüm özellikleri, en etkili üyeleri belirlemek veya potansiyel bağlantıları önermek gibi öngörücü görevler için kullanılabilir.

En basit haliyle, GNN'ler, katmandaki i düğümünün gizli katman özelliğini h güncellemek için aşağıdaki yöntemi kullanır (örneğin), yani önce düğümün özelliklerini her bir komşu düğüm ile birleştirir.

özellik

Kümelenmesi toplanır ve ardından aşağıdaki gibi bir bütün olarak doğrusal olmayan bir dönüşüm gerçekleştirilir:

onların arasında

GNN katmanının öğrenilebilir ağırlık matrisidir ve

ReLU gibi doğrusal olmayan bir dönüşümdür. Yukarıdaki örnekte, N () = {,,,}. Mahalle düğümü

Yukarıdaki toplama, basit bir ortalama / maksimum işlevi veya diğer daha güçlü işlevler (dikkat mekanizmasına göre ağırlıklı toplam gibi) gibi sabit girdi boyutuna sahip diğer toplama işlevleriyle değiştirilebilir.

Bu tanıdık geliyor mu?

Belki böyle bir süreç bir bağlantı kurmaya yardımcı olabilir:

Birden çok paralel komşu toplama kafaları gerçekleştirmek ve alandaki toplamı bir dikkat mekanizması (yani ağırlıklı toplam) ile değiştirmek istiyorsak, bir grafik dikkat ağı (GAT) elde edeceğiz. Normalleştirme ve ileri beslemeli MLP ekleyin ve işte, Graph Transformer'a sahibiz.

Bir cümle, birbirine tamamen bağlı sözcüklerden oluşan bir grafiktir

Bağlantıyı daha net hale getirmek için, bir cümleyi her kelimenin diğer her kelimeyle bağlantılı olduğu tamamen bağlantılı bir grafik olarak düşünebilirsiniz. Şimdi, grafikteki (cümle) her düğüm (kelime) için özellikler oluşturmak için GNN'yi kullanabiliriz ve sonra onu NLP görevlerini gerçekleştirmek için kullanabiliriz.

Genel olarak konuşursak, Transformers'ın yaptığı budur: Transformatörler, komşu toplama işlevi olarak çok kafalı dikkat çeken GNN'lerdir. Standart GNN'ler yerel komşuluk düğümlerinden özellikleri toplarken, NLP Transformers tüm cümleyi yerel bir mahalle olarak ele alır ve her bir katmanda her kelimeden gelen özellikleri toplar.

Özellikler.

Önemli olarak, çeşitli probleme özgü teknikler (konum kodlama, nedensel / maske birleştirme, öğrenme oranı tabloları ve kapsamlı ön eğitim gibi) Transformers'ın başarısı için kritik öneme sahiptir, ancak GNN dünyasında nadiren ortaya çıkarlar. Aynı zamanda Transformers'a GNN perspektifinden bakmak, model yapısındaki birçok süslü şeyden kurtulmamız için bize ilham verebilir.

Transformers ve GNN'den neler öğrenilebilir?

Artık Transformers ve GNN arasında bir bağlantı kurduğumuza göre, bazı yeni sorunları inceleyelim ...

8.1 Tam olarak bağlı grafik, NLP için en iyi giriş formatı mı?

NLP ve ML'yi saymadan önce, Noam Chomsky gibi dilbilimciler kendilerini sözdizimi ağaçları / grafikler gibi en son dil yapısı teorilerini geliştirmeye adadılar. Tree LSTM'ler bunu denedi, ancak Transformers / GNN'ler dil teorisi ile istatistiksel NLP'yi daha yakından bütünleştirebilen daha iyi bir mimari olabilir mi?

8.2 Uzun vadeli bağımlılık nasıl öğrenilir?

Tamamen bağlantılı grafikler, kelimeler arasındaki çok uzun vadeli bağımlılıkları öğrenmeyi çok zorlaştırır, bu da tamamen bağlantılı grafiklerin bir başka problemidir. Bunun nedeni, grafikteki kenarların sayısının düğüm sayısı ile ikinci dereceden olması, yani n kelimelik bir cümlede Transformer / GNN n ^ 2 çift kelime üzerinde hesaplama yapmasıdır. N büyükse, çok zor bir problem olacaktır.

NLP topluluğunun uzun diziler ve bağımlılık sorunları hakkındaki görüşü çok ilginçtir: örneğin, dikkat mekanizmasını girdi boyutu açısından seyrek veya uyarlanabilir hale getirmek, her katmanda yineleme veya sıkıştırma eklemek ve yerelliğe duyarlı hashing kullanmak Etkili dikkat, bunlar Transformers'ı optimize etmek için umut verici yeni fikirlerdir.

İlginç bir şekilde, GNN dünyasından bazı fikirlerin de karıştırıldığını görebiliriz.Örneğin, cümle grafiği seyrekliği için ikili bölümleme başka bir heyecan verici yöntem gibi görünüyor.

8.3 Transformers sinir ağlarının sözdizimini öğreniyor mu?

NLP topluluğunda Transformers'ın neler öğrenebileceği hakkında birkaç ilginç makale var. Temel öncül dikkat mekanizmasının cümledeki tüm kelime çiftleri için kullanılmasıdır (amaç, hangi kelime çiftlerinin en ilginç olduğunu belirlemektir), böylece Transformers göreve özgü sözdizimi gibi şeyler öğrenebilir.

Çok başlı dikkatteki farklı kafalar, farklı sözdizimsel niteliklere de "odaklanabilir".

Grafiğin perspektifinden, tüm grafikte GNN kullanarak, en önemli kenarları ve olası etkilerini GNN'nin her katmanda komşu kümelenme gerçekleştirdiği yöntemden kurtarabilir miyiz? Hala bu görüşe tam olarak inanmıyorum.

8.4 Neden çok başlı dikkati kullanmalı? Dikkat mekanizması neden kullanılır?

Çok başlı mekanizmanın optimizasyon görünümüne daha çok katılıyorum - birden fazla ilgiye sahip olmak, öğrenmeyi geliştirebilir ve kötü rastgele başlatmanın üstesinden gelebilir. Örneğin, bu makaleler, Transformers kafalarının önemli performans etkisi olmadan eğitimden sonra "kırpılabileceğini" veya "çıkarılabileceğini" göstermektedir.

Çok başlı komşu toplama mekanizmasının da GNN'lerde etkili olduğu kanıtlanmıştır.Örneğin, GAT'de aynı çok başlı dikkat kullanılır ve MoNet, özellikleri toplamak için birden çok Gauss çekirdeği kullanır. Çok başlı teknik dikkat mekanizmasını stabilize etmek için icat edilmiş olsa da, ek model performansı elde etmek için standart olabilir mi?

Buna karşılık, basit toplama işlevlerine (toplam veya maksimum gibi) sahip GNN'ler, kararlı eğitimi sürdürmek için birden fazla toplama başlığına ihtiyaç duymaz. Cümledeki her kelime çifti arasındaki ikili uyumluluğu hesaplamamız gerekmiyorsa, Transformers için harika olmaz mıydı?

Transformers dikkat çekmekten fayda sağlayabilir mi? Yann Dauphin ve işbirlikçilerinin son çalışması, başka bir ConvNet mimarisi öneriyor. Transformers ayrıca ConvNets'e benzer bir şey yapabilir.

8.5 Transformatörleri eğitmek neden bu kadar zor?

Yeni Transformer makalesini okumak, en iyi öğrenme oranı tablosu, ısınma stratejisi ve bozunma ayarlarını belirlerken bu modelleri eğitmenin kara büyüye benzer bir şey gerektirdiğini hissettirdi. Bunun nedeni, modelin çok büyük olması ve incelenen NLP görevinin çok zor olması olabilir.

Bununla birlikte, son sonuçlar bunun aynı zamanda yapıdaki belirli bir normalizasyon ve artık bağlantı kombinasyonundan da kaynaklanabileceğini göstermektedir.

Bununla ilgili endişelerim var, ama aynı zamanda şüphe uyandırıyor: gerçekten pahalı eşleştirilmiş çok başlı dikkat yapılarına, hiperparametreli MLP alt katmanlarına ve karmaşık öğrenme planlarına ihtiyacımız var mı?

Gerçekten büyük karbon ayak izine sahip büyük ölçekli bir modele ihtiyacımız var mı (Çevirmenin Notu: Birisi şimdi bir model eğitmenin günde 5 arabanın karbon emisyonuna eşdeğer olduğunu öne sürdü)?

İyi bir endüktif önyargıya sahip bir mimariyi eğitmek kolay değil mi?

Orijinal bağlantı: https://dwz.cn/eE9kZK6q

Bu makale bir CSDN çevirisidir, lütfen yeniden basımın kaynağını belirtin.

Huawei, Wuhan'daki çalışanları günde 2.000 RMB'ye kadar sübvanse ediyor; iPhone SE 2 seri üretimi veya erteleme; PowerShell 7.0 yayınlandı | Geek Headlines
önceki
Tencent Cloud Weimeng'i "kurtarıyor"! 766 çevrimiçi toplantı düzenleyin, 100'den fazla sunucu tahsis edin ve alarm saati yalnızca 2 saat için ayarlanabilir
Sonraki
1w2'nin altındaki programcılar 2020'de gerçeklerle yüzleşecek ...
Ali mühendisleri size bir B-end dikey pazarlama merkezinin nasıl tasarlanacağını öğretir
Duotu sizi Wuhan'a götürüyor: Hubei, 0! Wuhan, 0
Wuhan'da beyaz melek sayesinde binlerce ışık yanıyor, en sıcak olanı Wuhan halkının kalbi.
Kimura Takuya'nın 18 yaşındaki kızı da çıkış yaptı! Alev kırmızı dudaklar fotoğraf pozlama
Guiyang County Köprüsü Merkez Okulu bahar girişinde acil durum tatbikatını başlattı
Suxian Bölgesinde Wugaishan Eyaletine ait Orman Çiftliği, gerçek çatışmaya yakın orman yangını söndürme tatbikatları gerçekleştirdi.
Li County, Changde: İşleri Dengelemek ve Yoksul Haneler için Gelir Artışı Motorları Kurmak için Yoksulluğu Azaltma Çalıştayı
Juxian Wenxin Lisesi: Tam süreç, tam eleman simülasyon alıştırmaları, okulun başlangıcına hazırlanın
Juxian No.4 Orta Okulu: Salgın önleme ve kontrol gevşek değildir ve gerçek savaş tatbikatı okula hazırdır
Yemek yerken öğrenciler maskelerini nereye koyarlar? Juxian 1 Nolu Ortaokul açılış alıştırması parmak uçlarına "iyi"
Aşk birbirinden ayrılmıyor, aile ve okul "bulut" buluşuyor, Juxian 5 Nolu Ortaokul çevrimiçi kalite kontrol testi yaptı
To Top