• Buradasın

    Yapay Zeka ile Ses Gürültü Azaltma Teknikleri Eğitimi

    youtube.com/watch?v=5c7SnHkhO4U

    Yapay zekadan makale özeti

    • Bu video, Selçuk Çağlar adlı bir teknoloji uzmanı tarafından sunulan, yapay zeka ve ses işleme konularında detaylı bir teknik eğitim içeriğidir. Konuşmacı, Türk mühendisliği okumuş olduğunu belirterek, ses filtreleme projesi hakkında kapsamlı bilgiler paylaşmaktadır.
    • Video, Edinburgh Üniversitesi'nin veritabanından edinilen 40 farklı konuşmacının ses kayıtlarını gürültülü ortamlarda filtrelemek için geliştirilen Segan (Serial Enhance GAN) modelinin yapısını, eğitim sürecini ve teknik detaylarını anlatmaktadır. İçerik, Auto Encoder mantığıyla çalışan modelin nasıl eğitildiğini, optimizasyon yöntemlerini, loss fonksiyonlarını ve eğitim sürecindeki checkpoint alma stratejilerini detaylı şekilde ele almaktadır.
    • Eğitimde ayrıca spectral normalization, skip connection, windowing fonksiyonları, Sync konvolüsyon, face shift gibi teknik konulara değinilmekte ve PyTorch kütüphanesi kullanılarak oluşturulan modellerin forward ve backward işlemlerinin nasıl gerçekleştirildiği gösterilmektedir. Video, yaklaşık bir saat uzunluğunda olup, izleyicilere derin öğrenme modellerinin iç yapısı ve ses gürültü azaltma uygulamaları hakkında detaylı bilgi sunmaktadır.
    00:01Ses Filtreleme Projesi
    • Konuşmacı yaklaşık iki aydır video çekmediğini ve bunun sebebinin bir proje üzerinde çalıştığı olduğunu belirtiyor.
    • Proje, ses filtreleme için yazılım geliştirmek üzerine odaklanmış.
    • Edinburgh Üniversitesi'nin veritabanından yaklaşık 40 farklı konuşmacıdan oluşan ses dosyaları kullanılmış.
    01:20Ses Filtreleme Tekniği
    • Clean ses ve noise ses örnekleri gösteriliyor, noise sesinde arka planda makine sesi ve dedikodu sesleri bulunuyor.
    • Konuşmacı, ses filtreleme için auto encoder mantığıyla bir yazılım yazdığını belirtiyor.
    • Yazılım, 2017 yılında yapılan bir SEGAN (Serial Enhance GAN) araştırmasından esinlenerek geliştirilmiş.
    02:52Yazılım Geliştirme Süreci
    • Konuşmacı, orijinal kodlarda hatalar olduğunu ve bunları düzelttiğini, ayrıca kodların performansını artırmak için JIT özelliği eklediğini belirtiyor.
    • Eğitim sürecinin en az bir hafta süreceğini ve GPU üzerinde çalışması gerektiğini, TPU yerine GPU'nun dinamik bir network gerektirdiğini açıklıyor.
    • Yazılımın GitHub sayfasında "master thesis" adı altında paylaşıldığını, ancak dökümanının henüz tamamlanmadığını belirtiyor.
    04:13Filtreleme Sonuçları
    • Filtreleme sonucu elde edilen sesin hala kötü olduğunu, arka planda bir frekans gürültüsü olduğunu belirtiyor.
    • Eğitim sürecinin yaklaşık 24-25 saat sürdüğünü, bazı optimizasyonlarla bir gün sürebileceğini açıklıyor.
    • Bulut sisteminin aylık 560 TL civarında maliyet olduğunu ve konuşmacının 400 TL civarında ödemesi gerektiğini belirtiyor.
    07:26Teknik Detaylar
    • SEGAN (Serial Enhance GAN) teknolojisinin generative adres (GAN) ve seri network yapısına sahip olduğunu açıklıyor.
    • Network yapısında skip connectionlar (atlayış bağlantıları) ve gizli uzay parametreleri bulunuyor.
    • Yan yana eklemek (concatenation) toplamak yerine daha iyi sonuç verdiği bir deneysel bulguya dayanıyor.
    11:14Yazılım Kullanımı
    • Yazılımın "clean config" adlı bir yapılandırma dosyasıyla başladığını ve çeşitli parametreleri olduğunu belirtiyor.
    • Eğitim sürecinde checkpoint (kaydetme noktası) almanın önemli olduğunu, elektrik kesintisi gibi durumlarda eğitimden sonra başlamamak için gerekli olduğunu açıklıyor.
    • Yazılımın şu an için sadece Linux üzerinde çalıştığını ve bazı kütüphanelerin Linux için olduğunu belirtiyor.
    13:59Veri Seti Hazırlama ve Eğitim Parametreleri
    • Veri seti yaklaşık %90 eğitim, %5 test ve %5 validation olarak ayrılıyor.
    • Veriler parçalara ayrılıyor ve gürültüyü anlamak için sadece gürültü özellikleri tanımı yapılıyor.
    • Eğitim sırasında checkpoint alınarak iterasyonlar kaydediliyor, ancak bu işlem eğitim süresini uzatıyor.
    19:42Eğitim Parametreleri ve Optimizasyon
    • Eğitimde Adam optimizasyon yöntemi tercih ediliyor çünkü işlem yapmak daha kolay.
    • Learning rate (öğrenme katsayısı) parametreleri generator ve discriminator için farklı olabilir, eşit olmaları daha iyi sonuç veriyor.
    • Eğitim sırasında örnek veri almak için "not random" seçeneği kullanılabilir ancak bu eğitim süresini iki katına çıkarıyor.
    24:15Model ve Eğitim Süreci
    • İki farklı SEGAN modeli kullanılıyor ve sesin gücüne bağlı olarak bazı eklemeler yapılıyor.
    • Eğitimde L1 loss ve L2 loss kullanılıyor, sürekli veri işlendiği için L2 loss daha iyi sonuç veriyor.
    • Eğitim süresi yaklaşık bir gün sürüyor, daha önceki araştırmalarda ise bir hafta veya bir ay sürüyor.
    27:18Model Yapısı ve Eğitim Teknikleri
    • Skip connectionlar için konstant, alpha veya beta seçenekleri bulunuyor, bunlar eğitim süresini etkiliyor.
    • Skip connectionların başlangıç değeri sıfır, bir veya rastgele sayılar olabilir, rastgele sayılar simetriyi kırarak eğitim süresini kısaltıyor.
    • Jeneratör katmanları konvolüsyon katmanları ve pooling katmanları içeriyor, ses verisi 64'ten 124'e kadar büyümeye devam ediyor.
    30:12Yapay Zeka Modelindeki Teknik Detaylar
    • Modelde gizli değişkenlerin toplandığı vektör ve bu vektörlerden oluşan uzay hakkında bilgi verilmektedir.
    • Eğitim süresini kısaltmak için bazı tripler (hileler) kullanılmıştır, örneğin eskiden bağlantılar yerine sadece bir otocoder kullanılmıştır.
    • Ağırlık değerleri ve bazı hileler (miss line pair ve infertpair) false değerinde ayarlanmıştır.
    32:11Veri Ön İşleme Teknikleri
    • Görüntü verilerinde augmentasyon işlemi uygulanırken, ses verilerinde bunun karşılığı olarak face shift işlemi uygulanmaktadır.
    • Face shift, ses dalga formunda rastgele faz kaydırmalar yaparak veri çeşitliliğini artırır.
    • Bu teknik, Cornell Üniversitesi'nin sayfasında bulunan bir araştırmaya dayanmaktadır.
    33:46Syncorn Kullanımı ve Faydaları
    • Syncorn fonksiyonu, normal kompozisyon süresini kısaltır ancak sink sonsuza giderken sıfıra yaklaştığından vanish gradient problemine sebep olabilir.
    • Syncorn, FFT'deki karşılığı kare dalga gibi bir özellik kazandırır ve sesin aktif aralıklarını ayırmayı kolaylaştırır.
    • Syncorn ile birlikte kullanılan windowing fonksiyonları, sinyal işlemede kullanılan filtreleme tekniklerini içerir.
    38:14Eğitim Parametreleri ve Optimizasyon
    • Pin memory özelliği, verinin GPU üzerinde kalmasını sağlayarak CPU-GPU arasında veri alışverişinden kaynaklanan bant genişliği sorununu giderir.
    • Yapay zeka'da rastgelelik çok önemlidir, Einstein'in "hep aynı şeyi yapıp farklı sonuç elde etmek" lafı bu konuda geçerlidir.
    • Hangi veri setinin kullanılacağı ve hangi yapıların eğitileceği burada belirlenmektedir.
    42:49Eğitim Süreci ve Teknik Detaylar
    • Discriminator için micro centropi kullanılmış ve birden fazla eğitim iterasyonu denenmiştir.
    • Skip connectionlarla beraber fazladan eğitim iterasyonu azaltılabilir.
    • Tensor board, eğitim sırasında bazı değerleri kaydetmek için kullanılmaktadır.
    44:53Modüller ve Normalizasyon Teknikleri
    • Modüller kısmında oktav kompozisyonu desteklenmek istenmiş ancak başaramamıştır.
    • Dynamic routing ve attention mekanizması, arka plandaki seslerden belirli bir sesi odaklamayı sağlar.
    • Visual beş norm, eğitime başlamadan önce veri kümesinin ortalamasını ve varyasyonunu bulup normalizasyon işlemi gerçekleştirerek eğitim süresini kısaltır ve regülasyon efekti sağlar.
    47:13Neural Network Modülü Açıklaması
    • Kompozisyon blok parametreleri kullanıyor ve normalizasyon katmanları içeriyor.
    • Spectral norm, konvolüsyon katmanları arasında bir derleyici görevi görüyor ve hangi katmanın kullanılacağını aktarıyor.
    • Tek boyutlu ses işleme için normalizasyon ve aktivasyon işlemlerinin tekrarlanması gerekiyor.
    48:19Visual Normalizasyon ve Diskritizasyon
    • Visual norm işlemi için özel hesaplamalar yapılıyor ve verilerin ortalama değerleri ve karekökleri kullanılıyor.
    • Discriminator verileri parçalarına ayırarak diskritize edebiliyor.
    • Generator için GSCP bloğu ve discriminator için discriminator blokları kullanılıyor.
    50:03SK İşlemi ve Frekans Veri Tabanı
    • SK işlemi uygulanmasıyla frekans veri tabanı oluşturuluyor ve bunun hesaplanması için özel formüller kullanılıyor.
    • Frekans hesaplamaları internetten araştırılarak yapılmış ve CPU uygun hale getirilmiş.
    • Alt frekans üst frekans üzerinden kesim yapılıyor, windowing fonksiyonu ile çarpılıp filtreleniyor.
    52:14Windowing Teknikleri ve Eğitim Süresi
    • Windowing olarak çeşitli teknikler kullanılabilir veya kendi window oluşturulabilir.
    • Jit özelliği eklenince eğitim zamanı önemli ölçüde kısalıyor, özellikle 10. iterasyondan sonra.
    • Window fonksiyonları yavaş çalışıyor, bu yüzden hesaplanmış halleri ekleniyor ve deneme yanılma ile elde ediliyor.
    54:17Discriminator ve Eğitim İşlemi
    • Discriminator karmaşık bir yapıya sahip ve katman sayısı fazla olduğundan modüllüs özelliği kullanılıyor.
    • Eğitim sırasında adım adım network kuruluyor ve her modül için main fonksiyonu var.
    • Bloklar daha önceden modüller içerisinde tanımlanmış ve özellikleri girdikten sonra uygulamaya başlanıyor.
    56:21Forward İşlemleri ve Sonuçlar
    • Forward fonksiyonu nn modülünden geliyor ve spectrum normdan sonra uygulanıyor.
    • Sync discriminator kullanılarak sesler üretiliyor ve eğitim sırasında veri discriminator ve generator arasında geçiş yapılıyor.
    • Generator için skip connectionlar ile ilgili bir class kullanılıyor ve bu class içinde concatenation veya toplama işlemleri barındırıyor.
    1:00:12Jit Kullanımı ve Sonuç Beklentisi
    • Jit kullanmak zorunda değil ve hata yapabiliyor, derleme hatası verebiliyor.
    • Önemli olan forward kısmı ve eğitim sırasında forward ile ilerlemesi.
    • İzleyicilerin destekleriyle daha uzun süre eğitim yapılarak daha iyi sonuçlar elde edilebilir ve bloklar daha ayrıntılı açıklanabilir.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor