- Published on
Yapay Zeka ile Video Kodlamayı Geliştirme - Bölüm 5/6
Bu yazı serimizde yapay zeka ile video kodlamayı nasıl geliştirebileceğimiz hakkında konuşmaya devam ediyoruz. Bu yazıda yapay zeka tabanlı uçtan uca video kodlayıcıların mevcut durumu hakkında konuşacağız.
Aksa-yı Terakki: Uçtan Uca Yapay Zeka ile Video Kodlama
Yapay zekanın video kodlama bileşenlerini geliştirmek için nasıl kullanıldığını önceki yazılarımızda gördük. Standart kodlayıcıların bileşenlerini yapay zeka destekli bileşenlerle değiştirdiğiniz zaman gayet tatmin edici seviyede bir gelişim elde edebilirsiniz. Peki ya video kodlayıcı bileşenlerinden ziyade tamamını yapay zeka ile değişitrsek ne olurdu?
Müdahale yok, elle tasarlanmış özellikler yok, yapay zekanın işine karışmak yok. Yapay zeka literatürüne baktığımızda insan faktörünü denklemin dışına çekip, problemi çözmeyi tamamen yapay zekaya bıraktığımız zaman ne denli başarılı sonuçlar elde edildiğine dair bir çok örnek görebiliyoruz.
AlphaZero hikayesi bu konudaki en güzel örneklerden birisi. Yıllar boyunca satranç motorları insanlar tarafından "Karşı veziri alabiliyorsan al" benzeri çok sayıda önyargılarla tasarlandılar. Oyunun kuralları, hangi taşın daha önemli olduğu, mevcut durumda en iyi hamlenin hangisi olduğunun profesyonel oyuncular tarafından söylenmesi v.b gibi çok sayıda müdahale ile oluşturuldu bu satranç motorları.
AlphaZero ise tasarım olarak çok farklıydı. Satrancın ne olduğu hakkında en ufak bir fikri yoktu. Kimse ona oyunun kurallarını, mevcut durumda en iyi hamlenin hangisi olduğunu falan söylemedi. İnsanlar tarafından neredeyse hiçbir müdahalede bulunulmadı. Sadece kendisine karşı defalarca oynadı, oynadı, ve oynadı. 9 saat içerisinde 44 milyon satranç oyunu oynamıştı AlphaZero. Dokuz saatin sonunda, satrancın ne olduğun dahi bilmeyen bir yapay zeka, en iyi satranç oyuncularını kolayca yenmekle kalmayıp; o zamana kadar geliştirilmiş en gelişmiş satranç motoruna karşı da çok sayıda galibiyet alabildi. Kısaca AlphaZero bir devrimdi.
Buna benzer bir örneği Go oyununda AlphaGo Zero ile de görebiliyoruz. Hatta, daha komplike oyunlarda mesela Dota2 oyununda OpenAI Five örneğini de görebiliyoruz. Buradaki ders basit; eğer yapay zekaya hiç karışmadan uçtan uca öğrenmesine izin verirsen, çoğu zaman çok daha iyi sonuç elde edersin. O zaman biz de beklenen soruyu soralım. Video kodlamada da bu böyle mi?
Devam etmeden şunu bir söyleyelim; uçtan uca video kodlayıcıları henüz standart kodlayıcıların seviyesine ulaşabilmiş değiller. Ancak, bu konuda yapılmış birkaç çalışma var ki adeta bu gidişatın yakında tersine döneceğinin habercisi niteliğinde.
Bu alandaki en başarılı örneklerden birisi DVC: An End-to-end Deep Video Compression Framework adlı makalede sunuldu. DVC standart video kodlayıcılara benzer yapıda ancak her bir parçası yapay zeka tabanlı olacak ve tüm parçalar bir arada optimize edilecek şekilde geliştirilmiş bir yöntem. Klasik hareket telafisi (motion compensation) yöntemi yerine öğrenme tabanlı optik akış tahmini yöntemi kullanılıyor. Ek olarak, hareket ve kareler arası fark bilgilerini sıkıştırmak için iki adet oto-kodlayıcı bileşeni kullanıyor DVC. Kayıp fonksiyonu (loss function) ise bütün bu bileşenlerin birbiriyle olan uyumunu, aynı zamanda video boyutu ve görsel kalite arasındaki dengeyi de dikkate alacak şekilde tasarlanmış.
Diğer bir başarılı yapay zeka tabanlı uçtan uca video kodlama yöntemini ise Learned Video Compression makalesinde görüyoruz. Bu yöntem düşük gecikme (low latency) modu için tasarlanmış. Buradaki temel katkı ise hareket telafisine (motion compensation) alternatif bir yöntem tasarlanılması. Standart video kodlayıcılarında mevcut video karesi hakkındaki ön bilgi bir önceki karelerden doğru aktarılıyor ki bu uzun vadeli bir hafıza koruma konusunda sorun teşkil edebiliyor. Bu çalışmada buna alternatif olarak sunulan çözüm ise takdiri durum bilgisi (arbitrary state information). Bu bilgi yapay zeka modeli tarafından öğreniliyor ve bilgi kaybını en az seviyeye indirecek şekilde kareler arasında aktarılıyor. Sonuç olarak ise aşağıda da görüleceği üzere daha başarılı bir hareket tahmini yapılabiliyor.
Yapay zeka tabanlı uçtan uca video kodlayıcıları hakkında kısa bir özet geçtik. Bir sonraki ve son yazımızda video kodlama alanındaki yapay zeka tabanlı standardizasyon çalışmalarına göz atacağız.