save decoder / Özkodlama (Autoencoding)

Save Decoder

save decoder

Özkodlama (Autoencoding)

Özkodlamanın yaptığının bir tür "veriyi sıkıştırma" işlemi olduğu söylenebilir. Yapay öğrenmede algoritmaların denetimli ve denetimsiz olarak ikiye ayrıldığından bahsetmiştik, özkodlama denetimsiz çalışır yani ortada etiket yoktur, daha doğrusu özkodlama verinin kendisini etiket olarak kullanır.

Yani girdi olarak verilen veriyi çıktı olarak ta kullanırsak, YSA'yı kendi çıktısını tekrar oluşturmayı öğrenmeye zorlamış oluruz, bu YSA'yı veriyi özetlemeye doğru yöneltecektir, ve bu tekrar oluşturma için ileri besleme sırasında veriyi dar bir noktadan geçmeye zorlarsak (üstteki resimde görülüyor, 7 nöronluk girdi 5 nöronluk "daha dar" bir katmandan geçmeye zorlanıyor), bu YSA'yı "sıkıştırma" yapmaya daha da meyillendirecektir.

Üstteki kodla modeli eğittikten sonra herhangi bir sayı resmini alıyoruz, kodluyoruz, kodçözme yapıyoruz ve tekrar oluşturulmuş hali ekrana basıyoruz,

9 resmini elde ettik.

Biraz onceki resmin kodlanmis halini gosterelim,

32 boyutlu bir vektör içinde reel sayılar bunlar. Şimdi bu sayıları alıp başka bir sınıflayıcı içinde kullanabilirdim. Öyle bir uygulama düşünelim ki mesela müşterilerin yaşı, cinsiyeti bilgisi var, biz ayrıca herkesin fotoğrafları üzerinden bir özkodlayıcı eğitiyoruz, ve müşterinin resmi üzerinden elde edilen üstteki gibi bir temsili sıkıştırılmış gizli tabaka verisini yaş, cinsiyet ile beraber bu ayrı sınıflayıcıya verip cevap bekliyoruz. Bu sınıflayıcı "potansiyel yaz alışverişçisi mi / değil mi" şeklinde bir sınıflama yapıyor olabilir mesela, belki kişilerin resminde bu sınıflayıcıya yardım edecek bir şeyler vardır.. Bu ayrı sınıflayıcı bir YSA olabilir, ama çoğu zaman basit lojistik regresyon bile kullanılabiliyor. Ayrıca sadece bir değil, farklı veriler üzerinde işletilmiş pek çok özkodlayıcıdan gelen özet bilgisini de yan yana aynı lojistik regresyona verebiliriz.

Zaman Serisi Özkodlaması, RNN

Eğer zamana bağlı bir veri yapısını özkodlamak istesek nasıl bir model kullanırdık? Mesela birkaç boyutlu bir finans verisini (bir andaki hisse fiyatı, satım miktarı çok boyutlu bir vektörde olabilirdi) modelliyor olabilidiik. MNIST verisini bu şekilde kullanabiliriz aslında, 28 x 28 boyutlu veride sanki 28 tane 28 boyutlu veriyi zamana bağlı alıyormuşuz gibi görebilirdik, sanki resimde soldan sağa doğru dikey şeritler alıp teker teker bunları işlediğimizi düşünebiliriz. MNIST sayı görüntülerine bu şekilde bakmak aslında çok anlamsız değil, mesela bir altı görüntüsünü düşünürsek soldan sağa giderken kavisli yukarı doğru bir gidiş vardır, bu gidişi zamana bağlı bir NN yakalayabilir.

Varyasyonel Özkodlayıcılar (Variational Autoencoder -VAE-)

Standard özkodlayıcıların bir problemi kodlama yaptıkları daralmış alandaki vektörlerin sürekli olmayabileceği, ve buradaki değerlerin kolay bir şekilde interpolasyon yapılmasındaki bazı zorluklar.

VAE özkodlayıcılarda, kodlayıcı tabaka bir tamamen bağlanmış / yoğun (dense) bir katmandan geçiyor ama bir değişiklik var; yoğun katman $\mu,\sigma$ rasgele değişkenleri haline geliyor ve ondan bir sonraki katman bu değişkenlerden örneklem alıyor! Bu dahiyene bir düşünce. Fakat akla gelebilir - YSA yapısı deterministik bir yapıdır, örneklem, yani zar atma rasgele (stochastic) bir hesap. Bu kavramı YSA mekanizmasına nasıl dahil ediyoruz?

Çözüm örneklem operasyonunu gürültü, yani Gaussian $N(0,1)$ + $\mu$ çarpı $\sigma$ olarak modellemek, bu şekilde sanki $N(\mu,\sigma)$'dan örneklem alıyoruz, ama eğitilen, optimize edilen çarpma, toplama üzerinden $\mu,\sigma$ değişkenleri, ve halen YSA mekanizması devrede ve bu değişkenler deterministik değişkenler. Gürültü işin içinde var, ama gürültü eh, Gaussian sıfır merkezli bir stardart sapmalı gürültü. Bir gürültü bir diğerinden farklı değil, model için hepsi aynı gürültü.

Üstteki mantığın temelinde şu bilgi var: Biliyoruz ki herhangi bir dağılıma sahip rasgele değişken $z$'yi bir $g$ fonksiyonu kullanarak $X=g(z)$ ile başka bir dağılıma çevirebiliyoruz. Altta örneği görülüyor, soldaki resim Gaussian dağılımdan, sağdaki resim soldaki verilerin $g(z) = z/10 + z/

9.6. Kodlayıcı-Kodçözücü Mimarisi¶

Section 9.5 içinde tartıştığımız gibi, makine çevirisi, girdinin ve çıktının ikisinin de değişken uzunlukta diziler olduğu dizi dönüştürme modelleri için önemli bir problem sahasıdır. Bu tür girdi ve çıktıları işlemek için iki ana bileşenli bir mimari tasarlayabiliriz. İlk bileşen bir kodlayıcıdır (encoder): Girdi olarak değişken uzunlukta bir diziyi alır ve sabit bir şekle sahip bir duruma dönüştürür. İkinci bileşen bir kodçözücüdür (decoder): Sabit şekilli bir kodlanmış durumu değişken uzunlukta bir diziye eşler. Bu, Fig. 9.6.1 şeklinde tasvir edildiği gibi kodlayıcı-kodçözücü mimarisi olarak adlandırılır.

../_images/encoder-decoder.svg

Fig. 9.6.1 Kodlayıcı-kodçözücü mimarisi.¶

Örnek olarak İngilizce’den Fransızca’ya makine çevirisini ele alalım. İngilizce bir girdi dizisi göz önüne alındığımızda, örneğin “They”, “are”, “watching”,”.“, (Onlar izliyorlar.) gibi, kodlayıcı-kodçözücü mimarisi önce değişken uzunluklu girdiyi bir duruma kodlar, sonra da durumu her seferinde bir andıç işleyerek çevrilmiş dizi çıktısını oluşturmak üzere çözer: “Ils”, “regardent”, “.”. Kodlayıcı-kodçözücü mimarisi, sonraki bölümlerdeki farklı dizi dönüştürme modellerinin temelini oluşturduğundan, bu bölüm bu mimariyi daha sonra uygulanacak bir arayüze dönüştürecektir.

9.6.1. Kodlayıcı¶

Kodlayıcı arayüzünde, kodlayıcının girdisi olarak değişken uzunlukta dizileri aldığını belirtiyoruz. Uygulaması, bu temel sınıfından kalıtımla türetilmiş model tarafından sağlanacaktır.

frommxnet.gluonimportnn#@saveclassEncoder(nn.Block):"""Kodlayıcı-kod çözücü mimarisi için temel kodlayıcı arabirimi."""def__init__(self,**kwargs):super(Encoder,self).__init__(**kwargs)defforward(self,X,*args):raiseNotImplementedError
fromtorchimportnn#@saveclassEncoder(nn.Module):"""Kodlayıcı-kod çözücü mimarisi için temel kodlayıcı arabirimi."""def__init__(self,**kwargs):super(Encoder,self).__init__(**kwargs)defforward(self,X,*args):raiseNotImplementedError
importtensorflowastf#@saveclassEncoder(tf.keras.layers.Layer):"""Kodlayıcı-kod çözücü mimarisi için temel kodlayıcı arabirimi."""def__init__(self,**kwargs):super(Encoder,self).__init__(**kwargs)defcall(self,X,*args,**kwargs):raiseNotImplementedError

9.6.2. Kodçözücü¶

Aşağıdaki kodçözücü arayüzünde, kodlayıcı çıktısını () kodlanmış duruma dönüştürmek için ek bir işlevi ekliyoruz. Bu adımın Section 9.5.4 içinde açıklanan girdinin geçerli uzunluğu gibi ek girdiler gerektirebileceğini unutmayın. Her seferinde bir andıç yaratarak değişken uzunlukta bir dizi oluşturmak için, her zaman kodçözücü bir girdiyi (örneğin, önceki zaman adımında oluşturulan andıç) ve kodlanmış durumu şu anki zaman adımındaki bir çıktı andıcına eşler.

#@saveclassDecoder(nn.Block):"""Kodlayıcı-kod çözücü mimarisi için temel kodçözücü arabirimi."""def__init__(self,**kwargs):super(Decoder,self).__init__(**kwargs)definit_state(self,enc_outputs,*args):raiseNotImplementedErrordefforward(self,X,state):raiseNotImplementedError
#@saveclassDecoder(nn.Module):"""Kodlayıcı-kod çözücü mimarisi için temel kodçözücü arabirimi."""def__init__(self,**kwargs):super(Decoder,self).__init__(**kwargs)definit_state(self,enc_outputs,*args):raiseNotImplementedErrordefforward(self,X,state):raiseNotImplementedError
#@saveclassDecoder(tf.keras.layers.Layer):"""Kodlayıcı-kod çözücü mimarisi için temel kodçözücü arabirimi."""def__init__(self,**kwargs):super(Decoder,self).__init__(**kwargs)definit_state(self,enc_outputs,*args):raiseNotImplementedErrordefcall(self,X,state,**kwargs):raiseNotImplementedError

9.6.3. Kodlayıcıyı ve Kodçözücüyü Bir Araya Koyma¶

Sonunda, kodlayıcı-kodçözücü mimarisi, isteğe bağlı olarak ekstra argümanlarla beraber, hem bir kodlayıcı hem de bir kodçözücü içeriyor. İleri yaymada, kodlayıcının çıktısı kodlanmış durumu üretmek için kullanılır ve bu durum daha sonrasında kodçözücü tarafından girdilerinden biri olarak kullanılacaktır.

#@saveclassEncoderDecoder(nn.Block):"""Kodlayıcı-kod çözücü mimarisi için temel sınıf."""def__init__(self,encoder,decoder,**kwargs):super(EncoderDecoder,self).__init__(**kwargs)self.encoder=encoderself.decoder=decoderdefforward(self,enc_X,dec_X,*args):enc_outputs=self.encoder(enc_X,*args)dec_state=self.decoder.init_state(enc_outputs,*args)returnself.decoder(dec_X,dec_state)
#@saveclassEncoderDecoder(nn.Module):"""Kodlayıcı-kod çözücü mimarisi için temel sınıf."""def__init__(self,encoder,decoder,**kwargs):super(EncoderDecoder,self).__init__(**kwargs)self.encoder=encoderself.decoder=decoderdefforward(self,enc_X,dec_X,*args):enc_outputs=self.encoder(enc_X,*args)dec_state=self.decoder.init_state(enc_outputs,*args)returnself.decoder(dec_X,dec_state)
#@saveclassEncoderDecoder(tf.keras.Model):"""Kodlayıcı-kod çözücü mimarisi için temel sınıf."""def__init__(self,encoder,decoder,**kwargs):super(EncoderDecoder,self).__init__(**kwargs)self.encoder=encoderself.decoder=decoderdefcall(self,enc_X,dec_X,*args,**kwargs):enc_outputs=self.encoder(enc_X,*args,**kwargs)dec_state=self.decoder.init_state(enc_outputs,*args)returnself.decoder(dec_X,dec_state,**kwargs)

Kodlayıcı-kodçözücü mimarisindeki “durum” terimi, muhtemelen durumlara sahip sinir ağlarını kullanarak bu mimariyi uygulamak için size ilham vermiştir. Bir sonraki bölümde, bu kodlayıcı-kodçözücü mimarisine dayanan dizi dönüştürme modellerini tasarlamak için RNN’lerin nasıl uygulanacağını göreceğiz.

9.6.4. Özet¶

  • Kodlayıcı-kodçözücü mimarisi, hem değişken uzunlukta diziler olan girdi ve çıktıları işleyebilir, bu nedenle makine çevirisi gibi dizi dönüştürme problemleri için uygundur.

  • Kodlayıcı, girdi olarak değişken uzunlukta bir diziyi alır ve sabit bir şekle sahip bir duruma dönüştürür.

  • Kodçözücü, sabit şekilli bir kodlanmış durumu değişken uzunlukta bir diziye eşler.

9.6.5. Alıştırmalar¶

  1. Kodlayıcı-kodçözücü mimarisini uygulamak için sinir ağları kullandığımızı varsayalım. Kodlayıcı ve kodçözücü aynı tür sinir ağı olmak zorunda mıdır?

  2. Makine çevirisinin yanı sıra, kodlayıcı-kodçözücü mimarisinin uygulanabileceği başka bir uygulama düşünebiliyor musunuz?

VINfo Vin Decoder Scanner

Bu uygulama hakkında

(Freewood tarafından) VINfo ücretsiz tam özellik VIN dekoder ve tarayıcıdır. Oku ve araçların birçok marka ve model için araç tanımlama numaraları, kod çözme VIN bilgilerini kaydetmek, favori ya da son zamanlarda taranmış Vins kaydedin. Bu uygulama Ulusal Otoyol Ulaştırma Güvenliği Ajansı (NHTSA) sonuçlar görüntülenir. Kullanıcı bir VIN CARFAXtan sonuçlarını kontrol etmenizi sağlar.

NOT: BU UYGULAMA BT OKUYUN YA VIN diğer formları çözülemiyor OLACAK, 16 RAKAM ABD VIN NUMARALARI İÇİN TASARLANMIŞ

YENİ: Bu uygulama, bakım bilgileri döndürmek kullandığınız VIN ve bu bilgiler belli araç için kullanılabilir durumdaysa bağlı bilgileri ve güvenlik bilgilerini hatırlayacaksınız.

VINfo yeni VIN tararken ancak biz sadece göstermek için tam ekran reklamlar sınırlı, desteklenen özgür ve reklamdır, tüm yeni ve favori VIN kontrolleri reklamlar olmadan tamamlanır. Ek bakım ve hatırlama bilgi banner reklamlar ile sağlanacaktır. , Tarama ve bu uygulaması ile sınırsız Vins deşifre deşifre eden VIN üzerinde hiçbir sınırlama yoktur.

İzinler:
KAMERA: Biz barkodlu Vins taramak için kamerayı kullanın
AĞ: Biz VIN göndermek ve kodu çözülmüş bilgi almak için ağ kullanmak
TELEFON DEPOLAMA: Dışa ve içe seçerseniz Biz okuma / Vins listesini yazmak için depolamayı kullanmak
TELEFON DURUMU: Biz / yazma tercihlerini okuma ve Vins listenizi kaydedebilirsiniz sağlamak için kullanabilir
C2D MESAJ / ALMAK: Firebase izni adet / analiz için


Birçok VIN en Honda, Toyota, Ford, Hyundai, Chrysler, Dodge, Jeep, BMW, Acura, Mazda, Porsche, Tesla, Chevy, Chevrolet, Kia, Land Rover'ın, Merkür dahil ile çalışır,

Güncellenme tarihi

16 Ağu 2019

nest...

çamaşır makinesi ses çıkarması topuz modelleri kapalı huawei hoparlör cızırtı hususi otomobil fiat doblo kurbağalıdere parkı ecele sitem melih gokcek jelibon 9 sınıf 2 dönem 2 yazılı almanca 150 rakı fiyatı 2020 parkour 2d en iyi uçlu kalem markası hangisi doğduğun gün ayın görüntüsü hey ram vasundhara das istanbul anadolu 20 icra dairesi iletişim silifke anamur otobüs grinin 50 tonu türkçe altyazılı bir peri masalı 6. bölüm izle sarayönü imsakiye hamile birinin ruyada bebek emzirdigini gormek eşkiya dünyaya hükümdar olmaz 29 bölüm atv emirgan sahili bordo bereli vs sat akbulut inşaat pendik satılık daire atlas park avm mağazalar bursa erenler hava durumu galleria avm kuaför bandırma edirne arası kaç km prof dr ali akyüz kimdir venom zehirli öfke türkçe dublaj izle 2018 indir a101 cafex kahve beyazlatıcı rize 3 asliye hukuk mahkemesi münazara hakkında bilgi 120 milyon doz diyanet mahrem açıklaması honda cr v modifiye aksesuarları ören örtur evleri iyi akşamlar elle abiye ayakkabı ekmek paparası nasıl yapılır tekirdağ çerkezköy 3 zırhlı tugay dört elle sarılmak anlamı sarayhan çiftehan otel bolu ocakbaşı iletişim kumaş ne ile yapışır başak kar maydonoz destesiyem mp3 indir eklips 3 in 1 fırça seti prof cüneyt özek istanbul kütahya yol güzergahı aski memnu soundtrack selçuk psikoloji taban puanları senfonilerle ilahiler adana mut otobüs gülben ergen hürrem rüyada sakız görmek diyanet pupui petek dinçöz mat ruj tenvin harfleri istanbul kocaeli haritası kolay starbucks kurabiyesi 10 sınıf polinom test pdf arçelik tezgah üstü su arıtma cihazı fiyatları şafi mezhebi cuma namazı nasıl kılınır ruhsal bozukluk için dua pvc iç kapı fiyatları işcep kartsız para çekme vga scart çevirici duyarsızlık sözleri samsung whatsapp konuşarak yazma palio şanzıman arızası

© 2024 Toko Cleax. Seluruh hak cipta.