Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Ses

Yapay zekâ sesi nasıl duyar?

Basınç dalgasından spektrograma, oradan kelimelere: bir ses kaydı, konuşma tanıma modeline hangi sayılarla ulaşır? İki deneyle Fourier dönüşümünü ve spektrogramı kur.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Ses, zamana göre değişen bir sayı dizisidir#

Bir mikrofon, havadaki basınç değişimini her saniyede binlerce kez ölçer ve her ölçümü bir sayıya çevirir. Elde edilen şey bir dalga biçimidir: zamana karşı basınç. Konuşma tanıma modellerinin işlediği ham madde budur; ama bu hâliyle “merhaba” kelimesinin neye benzediğini görmek neredeyse imkânsızdır. Aynı sözcüğü iki farklı kişi söylediğinde dalga biçimleri bambaşka görünür.

İnsan kulağı ise sesi farklı bir biçimde çözümler: hangi frekansların ne kadar güçlü olduğuna bakar. Bir flütün ince sesi, bir davulun kalın sesinden bu yüzden ayrılır. Yapay zekâ tarafındaki ilk iş de buna benzer: dalgayı frekanslarına ayırmak.

02Fourier: bir sesi sinüslere ayır#

Her ses, farklı frekanslardaki sinüs dalgalarının toplamı olarak yazılabilir. Fourier dönüşümü, bir dalga biçiminin hangi frekanstan ne kadar içerdiğini hesaplar. Aşağıda üç sinüs dalgasını kendin kur; üstte toplanmış dalgayı, altta ise spektrumunu görürsün.

01

Aynı ses, iki görünüm

Hesaplanan · temsili girdiler

Üst grafik, zamana göre basınç (dalga biçimi). Alt grafik, her frekansın ne kadar güçlü olduğu (spektrum). Tonların frekansını ve gücünü değiştir.

dalga biçimi (ilk 16 ms)spektrum (0–2000 Hz)0500100015002000
SPEKTRUMDA GÖRÜNEN TEPELER250 Hz (0,80) · 750 Hz (0,50)
ÖRNEK SAYISI256
Hesabı gör

Örnekleme hızı 8000 Hz, pencere 256 örnek (32 ms). k. çubuk, X[k] = Σ x[n]·e^(−2πikn/N) değerinin büyüklüğüdür; sinyal sinüs toplamı olduğundan, bir tonun gücü kendi çubuğunda aynen görünür.

Sinyal, seçtiğin sinüs dalgalarının toplamıdır ve Fourier dönüşümü tarayıcıda gerçekten hesaplanır. Frekanslar 31,25 Hz’in katlarıdır; böylece her ton tam olarak tek bir çubukta görünür. Bu bir konuşma kaydı değil, kurulmuş bir sinyaldir.

İki tonun toplamı, dalga biçiminde karmaşık bir desen oluşturuyor; spektrumda ise hâlâ iki net çubuk var. Bu, dönüşümün asıl yararıdır: karışık görünen sinyal, ayrı ayrı okunabilen bileşenlere ayrılır. Gücü sıfıra çektiğin ton, spektrumdan da kayboluyor.

03Zaman ekle: spektrogram#

Konuşmada frekanslar zamanla değişir: her ünlü ve ünsüz farklı bir frekans dağılımı taşır. Tek bir spektrum, tüm kaydı tek bir ortalamaya sıkıştırır ve değişimi saklar. Çözüm, kaydı kısa pencerelere bölüp her pencerenin spektrumunu yan yana dizmektir. Sonuç, yatayda zaman, dikeyde frekans, renkte güç olan bir tablodur: spektrogram.

02

Spektrogram: zamanla değişen frekanslar

Hesaplanan · temsili girdiler

Yatay eksen zaman, dikey eksen frekans, koyuluk güç. Süpürme dalgasının nasıl bir çizgi çizdiğine, gürültünün ise her yere yayılan bir zemin oluşturduğuna bak.

0100020003000064128192256zaman (ms)frekans (Hz)
Hesabı gör

Pencere 256 örnek, adım 128 örnek; her pencere Hann penceresiyle çarpılıp Fourier dönüşümünden geçer. Sonuç, kareler (zaman) × çubuklar (frekans) tablosudur. Konuşma tanıma modelleri genellikle bu tabloyu, frekansı insan işitmesine yaklaşan bir ölçeğe (mel) çevirerek girdi olarak kullanır.

256 ms’lik bir kayıt, kayan 32 ms’lik pencerelerle (Hann penceresi) parçalanır ve her pencerenin spektrumu gerçekten hesaplanır. Sabit ton ve yükselen süpürme dalgası kurulmuş sinyallerdir; gürültü sabit bir rastgele dizidir. Bu, bir konuşma kaydının spektrogramı değildir.

Süpürme dalgasını aç ve kapat: yükselen frekans, spektrogramda yükselen bir çizgi olarak görünüyor. Gürültüyü artır: çizginin etrafına her yere yayılan bir zemin ekleniyor. Bir model, “sesin içindeki örüntüyü” çizgilere, şekillere ve dokulara bakarak tanır; yani bir tür görüntü olarak.

Pratikte frekans ekseni çoğunlukla mel ölçeğine çevrilir; bu ölçek, insanın perde algısına yaklaşır: alçak frekanslarda ince ayrımlar, yüksek frekanslarda kaba ayrımlar yapar. Yaygın bir formül mel = 2595 · log₁₀(1 + f/700)’dür.

Frekans (Hz)Mel
100150
500607
10001000
20001521
40002146

Frekans iki katına çıktığında (2000 → 4000 Hz) mel değeri yalnızca yaklaşık %41 artıyor; yüksek frekanslar sıkıştırılıyor.

04Spektrogramdan kelimelere#

Elde edilen tablo bir vektör dizisi gibi okunabilir ve bir Transformer’a verilebilir: zaman adımları “token”, frekans değerleri ise vektör bileşenleridir. wav2vec 2.0, bu fikri etiketsiz ses üzerinde öğrenmeye taşıdı: konuşma önce bir evrişimli ağdan geçer, gizli temsillerin bazı bölümleri maskelenir ve model, maskelenen kısmı ayrık hedefler arasından seçmeyi öğrenir. Yazarlar, 53 bin saatlik etiketsiz sesle önceden eğitip yalnızca on dakikalık etiketli veriyle ince ayar yaptıklarında 4,8 / 8,2 kelime hata oranı (WER) bildirdi. wav2vec 2.0 ↗

Whisper ise başka bir yol izledi: internetten toplanmış 680.000 saatlik, çok dilli ve çok görevli, zayıf denetimli (gürültülü) transkriptlerle bir encoder–decoder Transformer eğitti. Model, ince ayar olmadan (zero-shot) birçok standart ölçütte, tam denetimli sistemlerle rekabet edebilir sonuçlar verdi; aynı model tanıma, çeviri, dil belirleme ve konuşma bölgesi tespiti gibi birkaç görevi yapar. Whisper ↗

İki yaklaşım da aynı soruya yanıt arar: elde yeterince temiz etiket yokken nasıl öğrenilir? wav2vec 2.0 etiketsiz sesi, Whisper ise çok büyük ama kusurlu etiketleri kullanır.

05Gerçek hayatta nerede zorlanır?#

ZorlukNedenNot
Aksan ve lehçeEğitim verisinde az temsil edilen konuşma biçimlerinde hata artabilirBunu görmek için aksan ve konuşmacı grubuna göre ayrı ölçüm gerekir (veri yazısı)
GürültüSpektrogramdaki zemin, ince yapıyı örterYukarıdaki deneyde gürültüyü artırarak çizginin silikleşmesine bak
Konuşmacı değişimi, üst üste konuşmaTanıma modeli tek bir akış bekler; “kim ne söyledi” ayrı bir işlemdir (konuşmacı ayrıştırma)Toplantı kayıtlarında bu ikisi birlikte kullanılır
Özel adlar ve alan terimleriEğitimde nadir görülen sözcükler yanlış yazılabilirBağlama terim listesi vermek yardımcı olabilir

Ses tanıma da başka modeller gibi akıcı ama yanlış bir çıktı üretebilir (halüsinasyon yazısına bak). Bir transkripti önemli bir karar için kullanırken, kayıt ve metni birlikte tutmak ve kritik kısımları dinleyerek doğrulamak sağlam bir alışkanlıktır.

Yönü tersine çevirelim: metinden sese. Yapay ses nasıl üretilir?

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Sesin zamana göre değişen bir sayı dizisi olduğunu ve Fourier dönüşümünün ne yaptığını anlatabilirsin.
  • Spektrogramı okuyup sabit ton ile süpürme dalgasının nasıl göründüğünü söyleyebilirsin.
  • Konuşma tanımanın spektrogramdan kelimelere nasıl gittiğini ve nerede zorlandığını özetleyebilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler