İnternette İstediğiniz Gibi Çevrimiçi Para Kazanma!

Sentetik veri üretimi için GAN: yapay zekaya doğru

Şu yazıyı okuyorsunuz: Sentetik veri üretimi için GAN: yapay zekaya doğru

İlk olarak dünyanın önde gelen yapay zeka ve teknoloji haber ve medya şirketi Towards AI’da yayınlandı. Yapay zeka ile ilgili bir ürün veya hizmet yaratıyorsanız sizi yapay zeka destekçisi olmayı düşünmeye davet ediyoruz. Towards AI’da yapay zeka ve teknoloji girişimlerinin ölçeklenmesine yardımcı oluyoruz. Teknolojinizi kitlelere ulaştırmanıza yardımcı olalım.

Teknolojik gelişmeler, tek bir dakika içinde milyonlarca gigabaytlık gerçek dünya verisi üretmenin yolunu açtı; bu, verileri kullanan herhangi bir kuruluş veya birey için harika olurdu. Ancak veri yığınlarından hayati bilgilerin temizlenmesi, işlenmesi ve çıkarılması sırasında çok büyük miktarda zaman ve kaynak tüketilecektir.

Böyle bir sorunun üstesinden gelmenin cevabı, .

İçerik

  1. Sentetik veri nedir?
  2. GAN’lara kısa bir giriş
  3. Daralt modu
  4. Wasserstein GAN (WGAN)
  5. Sentetik veri üretimi için GAN’ın uygulanması
  6. Veri seti
  7. Sentezleyici tasarımı ve eğitimi
  8. Son sözler
  9. Referanslar

Sentetik veri nedir?

Sentetik verinin tanımı oldukça basittir: Gerçek dünya verilerini taklit eden, yapay olarak oluşturulmuş veriler. Kurumlar ve bireyler ihtiyaçları doğrultusunda sentetik veri kullanımından faydalanabilmekte ve kendi spesifikasyonlarına göre ihtiyaç duydukları kadar veri üretebilmektedirler.

Sentetik verilerin kullanılması, bilgiye duyarlı alanlarda mahremiyetin korunması açısından oldukça faydalıdır: hastaların tıbbi verileri ve bankacılık müşterilerinin işlem ayrıntıları, bilgilerin paylaşılmasına izin verecek şekilde gerçek verileri maskelemek için sentetik verilerin kullanılabileceği bazı örneklerdir. kuruluşlar arasındaki gizli veriler.

Büyük miktarda sentetik veri oluşturmak için az sayıda iyi etiketlenmiş veri kullanılabilir; bu da, büyük gerçek dünya verilerini işlemek için gereken süreyi ve enerjiyi hızlandırır.

Sentetik veri üretmenin birçok yolu vardır: SMOTE, ADASYN, varyasyonel otomatik kodlayıcılar ve üretken çekişmeli ağlar, sentetik veri üretmeye yönelik bazı tekniklerdir.

Bu makale, sentetik veri üretmek için üretken rakip ağların kullanımına ve açık kaynak kitaplıkları kullanarak sentetik veri üretmenin pratik bir gösterimine odaklanacaktır.

GAN’lara kısa bir giriş

Birçok makine öğrenimi ve derin öğrenme mimarisi, rakip manipülasyona eğilimlidir; yani modeller, eğitmek için kullanıldıklarından farklı verilerle beslendiğinde başarısız olur. Ian Goodfellow, çekişme sorununu çözmek için Üretken Çekişmeli Ağları (GAN’lar) tanıttı. [2]ve şu anda GAN’lar sentetik veri oluşturmada çok popüler.

Tipik bir GAN iki bileşenden oluşur: her iki ağın birbiriyle rekabet ettiği jeneratör ve ayırıcı.

Jeneratör, gerçek verilerin özelliklerini öğrenerek gerçek gibi görünen sahte veriler üretmeye çalışan GAN’ın kalbidir.

Ayırıcı, üretilen verileri gerçek verilerle karşılaştırarak, oluşturulan verilerin gerçek görünüp görünmediğini sınıflandırır ve veri üretimini iyileştirmek için jeneratöre geri bildirim sağlar.

Jeneratörün amacı, ayrımcıyı kandırabilecek veriler üretmektir.

Daralt modu

Mod çöküşü, jeneratörün sürekli olarak belirli bir veri türü ürettiği, çekişmeli eğitim sırasında GAN tabanlı mimarilerin karşılaştığı yaygın bir sorundur. Bu durum, jeneratör, ayırıcıyı bir veri türüyle kandırabileceğini tespit ettiğinde meydana gelir ve jeneratör aynı verileri üretmeye devam eder.

Metrikler model eğitiminin sorunsuz çalıştığını gösterdiğinden, ancak oluşturulan sonuçlar aksini gösterdiğinden bu sorun kolaylıkla gözden kaçabilir.

Wasserstein GAN (WGAN)

Standart bir GAN’daki temel sorun, jeneratör ve ayırıcı çıktılarının karmaşıklığındaki farktır.

Standart bir vanilya GAN, İkili Çapraz Entropi (BCE) kayıp fonksiyonunu kullanır [5] kayıp fonksiyonunun çıkışının 0 ile 1 arasında olduğu, üretilen verinin gerçek görünüp görünmediğini değerlendirmek. Jeneratörün görevi birçok özellik ve değere sahip olabilecek sentetik veriler üretmektir ve ayırıcının çıkışı yeterli değildir. jeneratör öğrenir ve rehberlik eksikliği nedeniyle jeneratör kolayca çökme moduna girebilir.

WGAN [6] Ayırıcıyı bir eleştirmenle değiştirerek sorunu hafifletir; burada eleştirmen, gerçek verinin dağılımını üretilen verinin dağılımına göre değerlendirecek ve oluşturulan verinin gerçek veriyle karşılaştırıldığında ne kadar gerçek göründüğüne dair bir puan oluşturacaktır. WGAN’da kullanılan Wasserstein kayıp fonksiyonu, yer konveyörüne olan mesafeye bağlı olarak gerçek dağıtım ile oluşturulan dağıtım arasındaki farkı ölçer.

Earth Mover’s Distance, oluşturulan verinin dağılımının gerçek verinin dağılımına benzer görünmesini sağlamak için gereken çabayı ölçer. Bu nedenle ihraç edilen değerde herhangi bir sınırlama yoktur. Yani her iki dağılım birbirinden uzaksa Toprak Motor Mesafesi gerçek bir pozitif değer verirken, BCE kaybı sıfıra yakın gradyan değerleri verecektir. Bu nedenle Wasserstein kayıp fonksiyonu, eğitim sırasında eğimin kaybolması probleminin çözülmesine olanak tanır.

Yukarıdaki resim, BCE kaybına kıyasla nispeten basit olan Wasserstein kayıp denklemini göstermektedir. Denklemin ilk kısmı, gözden geçirenin gerçek veriler hakkında sağladığı tahminin beklenen değeridir. Denklemin ikinci kısmı, incelemeyi yapan kişinin oluşturulan verilere ilişkin sağladığı tahminin beklenen değeridir. Eleştirmenin amacı gerçek veri ile üretilen veri arasındaki mesafeyi maksimuma çıkarmak, üretecin amacı ise bu farkı en aza indirmektir.

Wasserstein kaybı pozitif ve gerçek herhangi bir değer ürettiğinden, WGAN’lar gradyan sorunlarından yararlanmaya eğilimlidir; Dolayısıyla üretilen verinin dağılımı gerçek verinin dağılımından farklı olduğunda gradyanların değeri kontrolsüz bir şekilde artabilmektedir. Bu, bir düzenleme terimi olan gradyan cezasının getirilmesiyle çözülür. [7]bu da degradelerin kontrol altına alınmasını sağlar ve bu, WGAN modelinin daha iyi optimizasyonunu sağlar.

GAN’ları derinlemesine anlamak için GAN’da Coursera uzmanlığıile deeplearning.ai Ve Sharon ZhouŞiddetle tavsiye edilir.

Sentetik veri üretimi için GAN’ın uygulanması

O ydata-sentetik Kitaplık, aksi takdirde zorlayıcı ve sıkıcı olabilecek tablosal veri kümeleri için sentetik veriler oluşturmak üzere GAN’ların oluşturulmasına son derece yardımcı olur.

Sentetik veri oluşturmak için kullanılabilecek çok sayıda farklı GAN türü vardır: vanilya GAN standart ve koşullu GAN ve gelişmiş WGAN, degrade cezalı WGAN, Derin Pişmanlık Analitik GAN, CramerGAN ve Koşullu WGAN ve bir GAN seçeneği mevcuttur ayrıca zaman serileri için (TimeGAN).

Modeller küçük değişikliklerle kutudan çıktığı gibi kullanılabilir ve hemen hemen her tablo veri setinde kullanılabilir.

Kütüphane python ortamına sadece basit bir komutla kurulabilir:

pip install ydata-sentetik

Veri seti

O Diyabet Sağlık Göstergeleri Veri Kümesi seçilir, yani CC0 lisansı. Veri setinde hastaların tıbbi kayıtları gibi hassas veriler bulunmaktadır ve diyabet tanısı alan hastalar hakkında daha fazla veri elde edilmesine ihtiyaç vardır; bu nedenle sentetik verilerin kullanılması çok faydalı olacaktır. Veri seti 21 özellikten oluşmakta olup hedef özellik hastanın diyabet tanısı alıp almadığıdır.

Başka bir açık kaynak araç, panda profilleri, keşfedici veri analizi, özellikleri ve ilişkileri yalnızca iki satır kodla görselleştirmek için kullanışlıdır ve bu araç, Diyabet Sağlık Göstergeleri veri kümesinde keşfedici veri analizi gerçekleştirmek için kullanılır. Bu, veri setinde bulunan tüm değişkenler hakkında ayrıntılı bir rapor oluşturur, verilerde mevcut olan anormallikler hakkında uyarı verir, değişkenler arasındaki ilişkiyi (veya korelasyonu) gösterir ve her sütundaki eksik değerleri ve verilerde bulunan kopyaları gösterir.

Diyabet hastası olmayan 218.000’den fazla hasta örneği ve diyabet tanısı almış 35.000’den fazla hasta bulunmaktadır.

Veri seti ön işleme tabi tutulduğundan tüm değişkenler kayan tiptedir. Pandas profil kütüphanesi yardımıyla 3 adet sayısal değişkenin (BMI, MentHlth ve PhysHlth) olduğu, diğer değişkenlerin ise kategorik olduğu tespit edilmiştir. Pandaların profil oluşturma aracı, veri setinin yaklaşık %4’ünün kopyalardan oluştuğunu vurguladı.

Pandaların profil oluşturma aracı aynı zamanda belirli değişkenler arasındaki yüksek derecede ilişkili ilişkileri de vurguladı; bu ilişkiler daha sonra özellik mühendisliği görevleri için değerlendirilebilir.

Değişkenler arasındaki ilişkiyi görüntülemek için seçenekler vardır ve yukarıdaki şemada görebileceğiniz gibi, pandas profil oluşturma aracı altı sayısal değişken tespit etmiş ve değişkenler arasındaki ilişkiyi temsil eden dağılım grafiklerini çizmiştir.

Araç aynı zamanda değişkenler arasında istatistiksel korelasyon testleri yapmak için de çok kullanışlıdır çünkü sayısal korelasyon testlerinin yanı sıra kategorik korelasyon testlerini gerçekleştirmek için seçenekler sunar.

Pandaların profil oluşturma aracı, veri setinde eksik değer olmadığını gösterir.

Verilerin %4,5’i kopyalardan oluştuğundan, kopya satırların tam olarak hangi satırlarda olduğunu ve bu satırların kaç kez tekrarlandığını kontrol etmek mümkündür.

Pandaların profil raporunun tamamını görüntüleyebilirsiniz Burada.

Sentezleyici tasarımı ve eğitimi

GAN modelini eğitmek için değişkenlerin türü gerekli olduğundan, başlangıçta sayısal ve kategorik sütunlar ayrılır. Yukarıda yapılan veri analizine göre üç adet sayısal değişken bulunmaktadır ve geri kalanlar kategorik değişkenlerdir.

Sentetik veri oluşturma sürecini başlatmak için hasta etiketleri diyabet durumlarına göre ayrılır. İlk olarak bir GAN, diyabetik hastalar için sentetik veriler üretmek üzere eğitilir.

Bir sonraki adım GAN modelini seçmektir ve yukarıda tartışıldığı gibi Kademeli Cezalı Wasserstein GAN seçilir. Ydata sentetik kütüphanesini kullanarak GAN’ı başlatmak oldukça kolaydır.

GAN başlatıldığında eğitim süreci başlar.

Eğitim süresi, eğitim için kullanılan makineye bağlıdır. NVIDIA GPU ile eğitim, CPU üzerinde eğitime kıyasla çok daha hızlıdır. Ancak kitaplık aynı zamanda CPU üzerinde iyi eğitim verecek şekilde optimize edilmiştir.

Eğitim tamamlandıktan sonraki adım sentetik veri oluşturmaktır. GAN modeli, diyabet hastalarının veri dağılımını anlayacak şekilde eğitilir ve diyabet hastalarını temsil eden 100.000 satırlık veri oluşturulur.

Orijinal veri setinde mevcut olan 35.000 satırlık diyabet hastası ile karşılaştırıldığında, GAN tabanlı bir model kullanıldığında, diyabet hastalarına ait 100.000 satırlık sentetik veri mevcuttur. Ydata-synthetic kullanmanın bir diğer avantajı da sentetik verilerin, tüm sütunlar bozulmadan girdi verileri biçiminde döndürülmesidir.

GAN’ı çoğunluk sınıfı üzerinde eğitme adımları, azınlık sınıfı için veri oluşturmak için atılan önceki adımlara benzer. Diyabetik olmayan hastalardan alınan veriler için GAN’ı eğitecek dönem sayısı, eğitim süresini azaltmak amacıyla 100’e ayarlandı.

Çoğunluk ve azınlık sınıflarının sentetik örneklerini birleştirmek için basit bir kod işlevi kullanılır.

Panda profil oluşturma aracı, sentetik verilerin hızlı keşifsel veri analizini elde etmek için kullanılır.

Gerçek veri seti ile oluşturulan veri setinin sayısal sütunlarının dağılımları değerlendirilir.

BMI özelliği göz önüne alındığında, sentetik veriler gerçek veri setini kabul edilebilir bir şekilde temsil etmektedir. Sentetik verilerin değer aralığı gerçek verilerin değer aralığı içerisindedir. Sentetik verilerin ortalaması sağa kaymıştır ancak genel olarak sentetik verilerin BMI sütunu gerçek verilerle karşılaştırılabilir durumdadır.

“MentHlth” ve “PhysHlth”i karşılaştırmak biraz karmaşık olabilir. Verilere dayalı sütunların tanımına göre, bu iki sütun sırasıyla son 30 gündeki ruh sağlığının bozulduğu gün sayısını ve son 30 gündeki fiziksel yaralanma günlerinin sayısını temsil ediyor. Dolayısıyla bu sütunlardaki birçok değer sıfırdır ve gün sayısına bakıldığı için veriler sayısaldır.

Sentetik veriler her iki sütun için de negatif değerler üretti ve negatif değerler sıfıra dönüştürüleceğinden, modellemeye geçmeden önce bazı özelliklerin işlenmesi gerekiyor.

“MentHlth” fonksiyonu dikkate alındığında, üretilen tüm değerler 30’un altında olduğundan sentetik veriler kabul edilebilir bir dağılım oluşturdu. Sentetik verilerin ortalaması sola kaydırıldı.

Ancak “PhysHlth” sütunundaki sentetik verilerin ortalaması önemli ölçüde sağa kaydı. Ancak oluşturulan değerler 30’dan küçüktür ve negatif değerlerin sıfırla değiştirilmesi, oluşturulan sonuçları biraz iyileştirebilir.

Sentetik veriler için pandaların profilini oluşturan HTML raporunun tamamını görüntüleyebilirsiniz Buradave tüm çalışmaların deposu bulunabilir Burada.

Son sözler

Yapay zeka paradigması, model merkezli yaklaşımlardan veri merkezli yaklaşımlara dönüşüyor ve sentetik verilerin kullanımı bu dönüşümü hızlandırıyor.

Sentetik veriler, gerçek dünya verilerinin toplanması ve etiketlenmesine karşı düşük maliyetli, gizlilik açısından güvenli bir alternatif sağlar ve herkes, kendi özel kullanım durumlarına yönelik veri oluşturmak için güçlü açık kaynak araçlarını kullanabilir.

Çok var açık kaynak araçları Kaliteli sentetik veriler oluşturmak için kullanılabilir ve bu makalede açıklandığı gibi, ydata-synthetic yardımıyla GAN’ların gücünden yararlanarak sentetik veriler oluşturmak nispeten kolaydır.

Umarım tablosal veri kümeleri için sentetik veriler oluşturmanın ne kadar basit olduğunu öğrenmişsinizdir ve bu güçlü araçları, denemeler yapmak ve sentetik veriler oluşturmak için nasıl kullanacağınızı görmek için sabırsızlanıyorum. Sağlık!

Referanslar

[1] T. Karras, S. Laine ve T. Aila, “Üretken Rekabetçi Ağlar için Stil Tabanlı Bir Jeneratör Mimarisi”, s. 1–1, 2020, doi: 10.1109/tpami.2020.2970919.

[2] IJ Goodfellow, “Üretici rakip ağlar”, 2014. https://arxiv.org/abs/1406.2661

[3] GH de Rosa ve JP Papa, “Üretici çekişmeli ağlar kullanılarak metin üretimi üzerine bir araştırma”, cilt. 119, s. 108098, Kasım 2021, doi: 10.1016/j.patcog.2021.108098.

[4] M. Pasini, “GAN eğitiminde bir yıl boyunca öğrendiğim 10 ders,” 28 Temmuz 2019. https://towardsdatascience.com/10-lessons-i-learned-training-generative-adversarial-networks-gans-for-a-year-c9071159628

[5] UR Dr A, “Görüntü sınıflandırması için derin öğrenme tekniğiyle ikili çapraz entropi”, cilt. 9, hayır. 4, s. 5393–5397, Ağustos 2020, doi: 10.30534/ijatcse/2020/175942020.

[6] M. Arjovsky, S. Chintala ve L. Bottou, “Wasserstein GAN”, 2017. https://arxiv.org/abs/1701.07875

[7] I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin ve A. Courville, “Enhanced Training of Wasserstein GANs” Aralık 2017, [Online]. Mevcut: https://arxiv.org/abs/1704.00028

[8] “Temel üretken rakip ağların (GAN’lar) oluşturulması”, . https://www.coursera.org/learn/build-basic-generative-adversarial-networks-gans?specialization=generative-adversarial-networks-gans (28 Temmuz 2022’de erişildi).


Sentetik Veri Üretimi için GAN’lar ilk olarak Towards AI on Medium’da yayınlandı; burada insanlar bu hikayeyi vurgulayarak ve yanıtlayarak sohbeti sürdürüyorlar.

Towards AI aracılığıyla yayınlandı

Diğer ilginç konular: