İçbükey tapınaktan on üç Qubit Raporu | Genel Hesap QbitAI
Veri kümesi GAN'ı eğitmek için çok mu küçük? Tek bir resimle başlamaya çalışın.
Google geçen yıl teklif etti SinGAN , GAN'ı tek bir doğal görüntüde öğrenen ilk koşulsuz üretici modeldir (ICCV 2019 en iyi makale).
Son zamanlarda, Adobe ve Hamburg Üniversitesi'nden araştırmacılar bu yöntemi geliştirdiler ve GAN'ın eğitim ve üretim yeteneklerini tek bir görüntüde geliştirmesine izin veren çeşitli mekanizmaları keşfettiler.
Araştırmacılar geliştirilmiş modeli çağırıyor CONSinGAN .
Öyleyse önce ConSinGAN'ın etkisine bakalım.
Yukarıdaki şeklin sol tarafı eğitim için kullanılan tek bir görüntüdür ve sağ tarafı ConSinGAN ile eğitimden sonra oluşturulan karmaşık bir küresel yapıdır.
Etkinin oldukça gerçekçi olduğu görülebilir.
Elbette, ConSinGAN, görüntü süper çözünürlüğü, görüntü animasyonu ve görüntü gizleme gibi diğer birçok görevi yerine getirmek için de kullanılabilir.
Aşağıdaki ikisi, görüntü uyumlaştırma ve görüntü düzenleme üzerindeki etkileridir.
ConSinGAN bunu nasıl yapıyor?
Öncelikle SinGAN'ın eğitim sürecine bir göz atalım.
SinGAN, görüntülerde birkaç ayrı üretim ağını eğitir.Aşağıdaki şekil ilk üreteçtir ve rastgele gürültüden görüntü üreten tek koşulsuz üreteçtir.
SinGAN'da eğitilen ilk jeneratörBuradaki ayrımcı hiçbir zaman görüntüyü bir bütün olarak görmez, bu şekilde "gerçek" bir görüntü parçasının neye benzediğini bilebilir.
Bu şekilde, jeneratör genel görünümde farklı olan ancak sadece yamadan benzer olan görüntüler üreterek "dolandırıcılık" amacına ulaşabilir.
Daha yüksek bir çözünürlükte çalışan bir jeneratör, önceki jeneratör tarafından oluşturulan görüntüyü girdi olarak alır ve bu temelde mevcut olandan daha yüksek çözünürlüğe sahip bir görüntü üretir.
Tüm jeneratörler ayrı ayrı eğitilir, bu da mevcut jeneratörün eğitilmesi sırasında önceki tüm jeneratörlerin ağırlıklarının değişmeden kaldığı anlamına gelir.
Bu süreç aşağıdaki şekilde gösterilmektedir.
Adobe ve Hamburg Üniversitesi'ndeki araştırmacılar, belirli bir zamanda yalnızca bir jeneratörün eğitilebileceğini ve görüntünün (özellik haritası yerine) bir jeneratörden diğerine aktarılabileceğini ve bu da jeneratörü sınırlandırdığını buldu. Arasındaki etkileşim.
Bu nedenle jeneratörü gerçekleştirdiler Uçtan uca eğitim Diğer bir deyişle, belirli bir zamanda birden fazla jeneratörü eğitin ve her jeneratör, önceki jeneratör tarafından oluşturulan özellikleri (görüntülerden ziyade) girdi olarak alır.
Bu, ConSinGAN-Paralel SinGAN isminin kökenidir, süreç aşağıdaki şekilde gösterilmiştir.
Bununla birlikte, bu tür önlemlerin alınması başka bir sorunla, yani aşırı uyumla karşı karşıya kalacaktır. Bu, nihai modelin herhangi bir "yeni" görüntü oluşturmayacağı, yalnızca eğitim görüntüleri oluşturacağı anlamına gelir.
Bu fenomeni önlemek için araştırmacılar iki önlem aldı:
Aşağıdaki şekil, bu iki yöntem kullanılarak uygulanan modeli göstermektedir. Varsayılan olarak, aynı anda en fazla 3 jeneratör eğitilir ve daha düşük üreticiler için öğrenme hızı sırasıyla 1/10 ve 1 / 100'e ayarlanır.
Bu süreçte ilginç bir fenomen var.
Daha düşük bir jeneratör için daha yüksek bir öğrenme oranı kullanılırsa, oluşturulan görüntünün kalitesi daha yüksek olacaktır, ancak fark daha zayıf olacaktır.
Aksine, daha düşük bir jeneratör için daha düşük bir öğrenme oranı kullanılırsa, üretilen görüntüdeki fark daha zengin olacaktır. Aşağıda gösterildiği gibi.
ConSinGAN'ın kodu GitHub'da açık kaynaklı.
Eski kurallar, önce operasyon için gerekli ortamı tanıtın: Python 3.5; Pytorch 1.1.0.
Kurulum da çok basittir:
pip kurulum -r gereksinimleri.txtModeli kağıttaki varsayılan parametrelerle eğitmek için:
python main_train.py --gpu 0 --train_mode generation --input_name Images / Generation / angkorwat.jpgNvidia GeForce GTX 1080Ti'de bir model eğitmek yaklaşık 20-25 dakika sürer.
Farklı öğrenme oranları ve eğitim aşamalarının sayısı, deneyin sonuçlarını etkileyecektir.Araştırmacılar, ikisinin varsayılan değerlerinin sırasıyla 0.1 ve 6 olmasını önermektedir.
Elbette, öğrenme oranını da değiştirebilirsiniz:
python main_train.py --gpu 0 --train_mode generation --input_name Images / Generation / colusseum.jpg --lr_scale 0.5Eğitim aşamalarının sayısını değiştirin:
python main_train.py --gpu 0 --train_mode generation --input_name Images / Generation / colusseum.jpg --train_stages 7Elbette, model "görüntü koordinasyonu" ve "görüntü düzenleme" gibi görevleri yerine getirmek için de kullanılabilir. Ayrıntılar için lütfen GitHub'a bakın.
Kağıt adresi: https://arxiv.org/pdf/2003.11512.pdf
GitHub proje adresi: https://github.com/tohinz/ConSinGAN
- Bitiş -
Qubit QbitAI · Toutiao İmzalı
Bize dikkat edin ve en son teknolojideki en son gelişmeleri alın