FaceApp'in Deliler Gibi Kullanılan Yaşlandırma Özelliğinin Çalışma Prensibi

Şu sıralar sosyal medyada FaceApp ile birbirini yaşlandıran insanları görüyoruz sıklıkla. Peki oldukça doğal yaşlılık hali çıkaran FaceApp bunu nasıl başarıyor?
FaceApp'in Deliler Gibi Kullanılan Yaşlandırma Özelliğinin Çalışma Prensibi

gelin sizlere faceapp uygulamasının nasıl çalıştığını oldukça basite indirgeyerek anlatmaya çalışayım.

bu uygulama teknik olarak "machine learning" yani "makina öğrenmesi" kullanıyor. spesifik olarak ise "generative adversarial network" (üretken rakip ağ) ya da kısaca "gan" kullanıyor. adı üstünde gan'lar sıfırdan veri üretiyor ve ürettiği verileri orijinal veri setindeki verilere benzetmeye çalışıyor.


peki nasıl oluyor da bu kadar doğal fotoğraflar üretilebiliyor?

gan ağları 2 farklı ağdan oluşur. 1. ağ veri üretir, 2. ağ ise bir verinin gerçek mi yoksa yapay mı olduğunu ayırt etmeye çalışır. bu 2 ağ, birbiriyle kıyasıya bir yarış içinde eğitilirler. veri üreten ağ gerçeğe yakın veri üretmeye çalışıp 2. ağı kandırmak üzere eğitilirken, 2. ağ da tahmin yeteneklerini güçlendirip kendisine verilen verilerin gerçek mi yoksa sahte mi olduğuna daha iyi anlamak için eğitilir.

belli bir süre geçtikten sonra 1. ağ veri üretmede o kadar iyi hale gelir ki 2. ağ üretilen bu verinin gerçek mi yoksa sahte mi olduğunu anlayamaz. bu noktada ağların eğitimi tamamlanır ve 1. ağ artık oldukça gerçekçi veriler üretmeye hazırdır.

işin etkileyici yanı ise, bir gan oluşturmak için uygulama alanına dair teknik bilgi bilmeye gerek yoktur. tek gereken yeterli sayıda veridir. faceapp uygulamasında ise tek gereken yeterli sayıda ve çeşitte yüz resmidir. kapsamlı bir veri seti oluşturduktan sonra yeni yüzler yaratmak için başka hiçbir bilgiye veya veriye ihtiyaç duymazsınız.


madem gan, resim üretiyor; nasıl oluyor da faceapp, resim yaratmak yerine bizim verdiğimiz bir resmi alıp onu değiştiriyor?

yukarıda anlattığım algoritma, gan ağlarının genel çalışma mantığıdır. nispeten yeni bir teknik olduğu için yoğun olarak araştırılan ve yüzlerce çeşidi olan bir ağdır gan. faceapp gibi bir uygulama yapabilmek için mevcut algoritmayı biraz değiştirmeniz yeterli olacaktır. örnek olarak aşağıdaki gibi bir süreçle faceapp gibi sonuçlar elde edebilirsiniz:

1. örneğin, yaşlılık filtresini ele alalım. güzel bir gan için yüzbinlerce, hatta milyonlarca yaşlı insan yüzü içeren veri setimizi oluşturduk.

2. sıfırdan yaşlı üretebilen bir gan ağı eğittik.

3. eğittiğimiz ağı biraz değiştirerek verilen bir resmin üstünde oynama yaptırarak yaşlandırmaya çalışacağız. bunun için 2 kritere bakarak eğitebiliriz:

a) resmi değiştir ama değişen resim orijinal resme mümkün olduğu kadar benzesin, bu sayede üretilen resimler resmin sahibine benzemek zorunda olacak.

b) değiştirilen resimi gan'ın 2. ağı yapay olarak algılamasın, gerçek olarak algılasın, yani yaşlandırılmış resim doğal dursun, yapay durmasın.

4. bu ayarlarda 2 ağı karşılıklı eğitip yeni bir tür gan elde edelim.

bu şekilde faceapp gibi sonuçlar alabiliriz. ama fark ettiyseniz sadece yaşlılık filtresi yaptık. diğer filtreler için ayrı veri setleri ve ayrı ağlar eğitmemiz gerekecek. o yüzden yeni bir filtre eklemek biraz zahmetli bir işlem.

gan dediğimiz ağların diğer kullanım alanları için ise aşağıdaki linke bakabilirsiniz:
https://machinelearningmastery.com/…arial-networks/

Sonunda Türkiye'de de Kullanıma Açılan YouTube Premium Nedir, Nasıl Kullanılır?

Dokunmatik Ekran Teknolojisinin Çalışma Prensibi Nedir?