Video | Kağıdın en sevdiği Varyasyonel Otomatik Kodlayıcı (VAE), bilmiyor musunuz?

Lei Feng'in web sitesine göre: Makine öğrenimini ve yapay zekayı seviyorum, ancak kafamı gömmek ve pratik yapmak sıkıcı ve zaman öldürücü buluyorum? İşte Lei Feng'in altyazı grubu tarafından derlenen Arxiv Insights sütunu: Teknik açıdan, kolay ve derinlemesine öğrenmenizi sağlayacak.

Orijinal adı Varyasyonel Otomatik Kodlayıcılar

Tercüme | Zhao Meng ve Chen Shijie Altyazıları | Fan Jiang bitirme | Lin Youtian Editör | Wu Xuan

Bugünün video içeriği temel olarak varyasyonel otomatik kodlayıcı etrafında dönüyor.

Genel otomatik kodlayıcı

İlk olarak genel otomatik kodlayıcıyı tanıtın.Bir otomatik kodlayıcı için resimler veya yüksek boyutlu vektörler gibi bazı tür verileri girer. Çalıştığı sürece, veriler sinir ağı işlemleri aracılığıyla daha küçük özellik değerlerine sıkıştırılır.

Bu süreç iki ana bölümden oluşmaktadır.

İlk bölüm kodlayıcı olarak adlandırılır: kodlayıcı yalnızca bir katmandır, bunlar tamamen bağlı katmanlar veya evrişimli katmanlar olabilir. Evrişimli katman, girdi verilerini, girdi verilerinden daha düşük boyutluluğa sahip özellik değerlerine sıkıştırır Bu, darboğazdır. Ardından, giriş verilerini yeniden yapılandırmak için tamamen bağlı katmanlarla veya evrişimli katmanlarla tekrar darboğazdan başlayın.

Sonra eğitimin ikinci bölümü var: otomatik kodlayıcı, verileri kod çözme ağına göre basitçe yeniden yapılandıracak ve yeniden yapılandırma kaybını hesaplayacaktır. Daha sonra girdi verilerini ve çıktı verilerini piksel piksel karşılaştırarak, bir kayıp işlevi oluşturabilir ve görüntüyü sıkıştırması için ağı eğitebiliriz. Açıkçası, tamamen bağlı basit bir kodlayıcı kullanabilirsiniz, ancak bunu, resimleri veya sesleri işlerken olduğu gibi, evrişimli bir katmanla da değiştirebilirsiniz. Bunun etkisi, bir grup görüntüyü kodlamak ve çözmek için evrişimli bir ağı eğitirken, aslında yepyeni bir sıkıştırma algoritması yaratmasıdır.

Bu teknoloji MNIST el yazısıyla yazılmış rakam tanıma için kullanılırsa, çok ilginç olacaktır.Bazı gizli özellik değeri düğümlerinin gerçekte ne öğrendiğini göreceksiniz. Gizli katmanın özellik ölçeğini değiştirirsek, sadece 2 özellik kullanırız, yani ağın ortasındaki darboğazın sadece 2 değişkeni vardır.Onları yeniden yapılandırabiliriz gibi görünüyor ama ciddi şekilde çarpıtılmış durumda. Bozulmanın nedeni, tüm resmin tüm bilgilerini zorla yalnızca 2 değişkene sıkıştırmanız, ardından yeniden oluşturduğunuzda bazı ayrıntıların kaybolmasıdır. Daha yüksek boyutlu bir gizli katman kullanılırsa, daha net ve daha keskin bir resim yeniden oluşturulabilir, ancak darboğazda daha fazla bilgiye ihtiyaç vardır.

Otomatik kodlayıcıda harika şeyler elde etmek için bazı püf noktaları var. Bunun başlangıçta sıradan bir MNIST el yazısı rakam tanıma veri seti olduğunu hayal edin, açık ve nettir, ancak bir dizi gürültü ekledikten sonra gürültü görüntüsü hesaplanır ve daha sonra kodlama ağı ve darboğaz görüntüyü yeniden yapılandırmaya çalışır, ancak gürültüyü değil. Orijinal net görüntüyü yeniden oluşturmak yerine. Kodlayıcının gürültünün kenarlarını doğru bir şekilde alabilmesi için bu ağı eğitmek için bu sesleri ve net sayıları kullanın. Buna gürültü azaltma otomatik kodlayıcı diyoruz.

Örneğin, gürültüsüz bir girdi görüntüsünde, bu alanı silmek için basitçe dikdörtgen bir alanı durdurun, görüntüyü ağa girin ve orijinal tam görüntüyü yeniden oluşturmaya çalışın Bu tekniğe sinir ağı onarımı denir. Diğer bir deyişle, görüntünün küçük bir bölümünü seçip silebilirsiniz ve ağdan orijinal görüntüde ne olduğunu yeniden yapılandırmasını isteyebilirsiniz.Bu şekilde, görüntü filigranını kaldırmak ve bir fotoğraf çekerken gibi basit şeyler yapabilirsiniz. Bu ağı, film sırasında filmdeki arabaları kaldırmak için de kullanabilirsiniz.

Varyasyonel otomatik kodlayıcı

Geleneksel bir otomatik kodlayıcının temel konseptine sahip olduktan sonra, varyasyonel otomatik kodlayıcıyı tanıtalım. Varyasyonel otomatik kodlayıcının işlevi, bir girdi görüntüsünü sabit bir vektöre dönüştürmek veya girdi verilerini belirli bir dağıtıma dönüştürmek değildir. Varyasyonel otomatik kodlayıcıdaki bir fark, normal derinlik vektörünüz C'nin, biri dağılımın ortalamasını, diğeri dağılımın standart sapmasını temsil eden iki bağımsız vektör ile değiştirilmesidir.İletişim için bir vektöre ihtiyacınız var. Dolayısıyla, kodlama ağınızın yapması gereken tek şey, dağıtımdan örnekler çıkarmak ve kod çözücüye girmektir. Ardından, varyasyonel otomatik kodlayıcının kayıp işlevini eğitin.

Fonksiyon aslında 2 bölümden oluşur: İlk bölüm, otomatik kodlayıcı ile hemen hemen aynı olan, ancak ek bir beklenen değer operatörü ile yeniden yapılandırma kaybını temsil eder, çünkü dağıtımdan örneklememiz gerekir. Kayıp fonksiyonunun diğer kısmı göreceli entropidir. Belirlenmesi gereken, öğrenilecek dağılımın normal dağılımdan çok uzak olmaması ve ardından gizli katman veri dağılımınızın ortalama değerini 0'a ve standart sapmayı 1'e yakın yapmaya çalışmanızdır.

Ayrı Varyasyonel Otomatik Kodlayıcı

Bir sonraki adıma geçmeden önce, varyasyonel bir otomatik kodlayıcı kullanılarak elde edilebilecek görünür sonuçlara bir göz atın. Birçok değerli sonuca sahip yeni bir varyasyonel otomatik kodlayıcı sınıfı vardır, bunlara ayrı varyasyonel otomatik kodlayıcılar denir. Ayrılmanın anlamı, gizli katman dağılımındaki farklı sinir düğümleri arasındaki farkları belirlemek istediğinizde bunların alakasız olduğunu göreceksiniz, çünkü hepsi girdi verileri hakkında farklı şeyler öğreniyor. Dolayısıyla, bu adımı elde etmek için değiştirmeniz gereken tek şey, bu göreceli entropinin kayıp işlevinde ne kadarını açıklayabileceğini ölçmek için kayıp işlevine bir hiperparametre eklemektir, bu nedenle ayrılmış sürümde, otomatik kodlayıcı yalnızca değerli bir özel kullanacaktır. Gizli parametreler sıkıştırmaya değer değilse, yine de orijinal modeli izlerler.

Yazarın Deepmind laboratuvar ortamında kullandığı varyasyonel otomatik kodlayıcı, üç boyutlu dünyada rol oynayan bir aracı görmenizi sağlar.Giriş görüntüsünü sıkıştırırlar ve aracı iki gizli alanda görülebilir ve bu alanı yeniden oluştururlar. Ancak gizli değişkenleri değiştirmeye başlayabilir ve bunun yeniden düzenlemeyi nasıl etkilediğini görebilirsiniz. Sonuç olarak, gizli değişkenleri ayrı bir varyasyonel otomatik kodlayıcı ile değiştirirseniz, bu aslında çok açıklayıcı bir şeye dönüşür. İlk gizli değişkeni değiştirmenin aslında zeminin rengini değiştirdiği görülebilir, ancak başka bir şey değil.Daha sonra başka bir gizli değişken sola veya sağa dönmeye karşılık gelir, hatta dönme miktarını değiştirebilir, bu da nesnenin karakteristik etkeni ile zıttır. . Herhangi bir gizli özellik değeri ayırma olmadan değiştirilirse, resimdeki her şey yanmaya başlayacak ve böylece gizli vektörün neyi kodladığını bilmiyorsunuz.

İşte başka bir örnek: Yukarıda bahsedilen gizli boşluğun ilk değişkenini değiştirirseniz, yüz dönecektir. Aynısını sıradan değişkenlerle ya da yüzleri kodlarsanız, döndürürsünüz ancak diğer birçok özelliğin de değişeceğini göreceksiniz.

Bu nedenle, ayrılmış varyasyonel otomatik kodlayıcının nirvana'sı, yüksek boyutlu uzaydan kullanışlı geleneksel özellikleri çıkarabilen ve bunları kullanabilen bir ağın olmasıdır.Bazı öğrenme görevleri için, bu öğrenilen özellikler eğitim verileri için kullanılacaktır. Çerçeve kavramı oluşturur.

Pekiştirmeli öğrenme gibi yaygın olarak kullanılan bir alan, çünkü pekiştirmeli öğrenmenin tüm sorunu, çok seyrek ödüllere sahip olmanız ve eğitmenin çok zaman almasıdır; bu nedenle, bu değişken otomatik kodlayıcıyı bir özellik çıkarma aracı olarak kullanarak, Tüm girdi alanı yerine özdeğerleri sıkıştırma amacına ulaşmak için ajanı gerçekten gizli katmanda çalıştırın, bu nedenle pratikte çok dengelidir.

Gizli alanı çok ince bir şekilde bölerseniz, ağınız gereğinden fazla özgürlük vermiş olursunuz.Girdiğiniz eğitim verilerini nasıl yeniden yapılandıracağını öğrenebilir, ancak yeni durumlarda görülemeyen bir şeyi kavramsallaştıramaz. Öte yandan, çok kabaca bölerseniz, aslında girdi verilerinde doğru olarak tanımlanmış birçok ayrıntıyı kaybedersiniz ve bunlar birçok uygulamada performansa zarar verir. Çünkü sonunda, büyük miktarda bilgiyi sıkıştırarak dünyayı anlayabilen ve sonra gizli alanlarda faydalı davranışları öğrenebilen bir ajan yetiştirmeyi umuyoruz.

Referanslar:

Çözülmüş VAE'ler (DeepMind 2016)

https://arxiv.org/abs/1606.05579

Çözülmüş VAE'lerin RL'ye uygulanması: DARLA (DeepMind 2017)

https://arxiv.org/abs/1707.0847

Orijinal VAE kağıdı (2013)

https://arxiv.org/abs/1312.6114

Leifeng.com ile ilgili makaleler:

Tüm ağdaki en kapsamlı derin öğrenme öğrenme materyalleri koleksiyonunun modeline giriş

Yann LeCun'un en son araştırma sonuçları: GAN'ın ayrık verileri kullanmasına yardımcı olabilecek ARAE

Daha fazla makale, Leifeng.com'u takip edin

Leifeng Subtitle Group'un (leiphonefansub) WeChat hesabını arkadaş olarak ekle

Yapay Zeka Gönüllüsü Olmak İçin "Katılmak istiyorum" açıklaması

Sesi ile dünya ile rekabet eden 90'lar sonrası punk havalı kız!
önceki
Kimin nehirleri ve gölleri bunlar?
Sonraki
"Gurme Macera: Kahraman Yahni" İştah animasyonu, yemeğin tepesinde tekrar savaşmak için 817 kahramana değiştirildi
Rhea'nın yeni müzik ritmi "Music World Alpha" yeni fragmanını duyurdu
Popüler ins blog yazarları gizemli Etiket okuryazarlığı "etiketleme" gerçekten bir ruh hali meselesi mi?
Li Xin ile tam kare röportaj için EOS'u seçin: Sürekli değişen rekabetçi sporları yaratmak için ışık ve gölgeyi kullanma
Moutai'nin hisse senedi fiyatı düştü, yalan söyleme çağının sonu mu? 90 yaşında kırsal bir kadının banka hesabı 300 milyon yuan?
Satış danışmanları bir 4S mağazasında araba satın alırken neden kredi satar?
Wu Lei'nin resmi görünümü, mükemmel futbol becerileri taraftarların alkışlarını uyandırdı
Rutin yok Makyaj yapmak için "×" düğmesine dokunun ve "3" yazın?
"Adventures in the Deep" "Attack on the Undersea Cute Thing" afişini yayınladı
Yaratıcıların silahı ThinkPad X1 Hermit Review performansın zirvesine hoş geldiniz
Jin Yong: Sorun yok, ayrılma yok
Önerilen | Python hakkında 20 anahtar kelime ve 45 en iyi durum
To Top