Bagaimana SincNet Neural Network Mengalokasikan Frekuensi Signifikan dalam Suara melalui Propagasi Belakang

Baru-baru ini, sebuah artikel yang sangat menarik diterbitkan, "Pengenalan Speaker dari bentuk gelombang mentah dengan SincNet," yang menggambarkan arsitektur ujung-ke-ujung dari jaringan saraf untuk mengenali speaker dengan suara. Fitur utama dari arsitektur ini adalah lapisan konvolusional satu dimensi khusus, yang hanya memiliki dua parameter dengan interpretasi yang jelas. Penafsiran parameter jaringan saraf adalah masalah yang agak sulit, oleh karena itu artikel ini menarik minat saya.



Jika Anda tertarik dengan uraian gagasan artikel ini, dan juga mengapa gagasan ini dekat artinya dengan konstruksi spektogram kapur, maka Anda dapat menghubungi kucing.


Saya perhatikan bahwa semua gambar yang digunakan dalam posting ini diambil dari artikel asli, atau mereka dapat diperoleh dengan menggunakan Notebook Jupyter yang disimpan dalam repositori ini .


Para penulis artikel yang dijelaskan memposting kode sumber untuk github, dapat ditemukan di sini .


Spektrum kapur


Untuk memahami esensi dari artikel ini, pertama-tama mari kita ingat apa itu spektrogram kapur, bagaimana cara mendapatkannya, dan apa artinya. Jika topik ini familiar bagi Anda, maka bagian ini tidak akan terlalu menarik. Ini dihitung oleh spektogram biasa yang dibangun menggunakan jendela Fourier transform:


F(k,m)= jumlah limitn=0Lโˆ’1x[n+m]w[n]eโˆ’i2 pi lebihdariLkn


Inti dari operasi ini adalah aplikasi berurutan dari transformasi Fourier menjadi kepingan-kepingan sinyal ucapan yang dikalikan dengan beberapa fungsi jendela. Hasil penerapan transformasi jendela adalah matriks, di mana setiap kolom adalah spektrum dari bagian pendek dari sinyal asli. Lihatlah contoh di bawah ini:



Eksperimen para ilmuwan telah menunjukkan bahwa telinga manusia lebih sensitif terhadap perubahan suara pada frekuensi rendah daripada pada tinggi. Artinya, jika frekuensi suara berubah dari 100 Hz menjadi 120 Hz, seseorang sangat mungkin memperhatikan perubahan ini. Tetapi jika frekuensinya berubah dari 10.000 Hz menjadi 10020 Hz, kami tidak mungkin dapat menangkap perubahan ini.


Dalam hal ini, unit baru pengukuran pitch diperkenalkan - kapur. Ini didasarkan pada persepsi psiko-fisiologis suara oleh seseorang, dan itu tergantung secara logis pada frekuensi:


mel=1127.01048 ln(1+freq lebihdari700)



Sebenarnya, spektrogram kapur adalah spektrogram reguler, di mana frekuensinya dinyatakan bukan dalam Hz, tetapi dalam kapur. Transisi ke kapur dilakukan dengan menerapkan filter kapur ke spektrogram asli. Filter kapur adalah fungsi segitiga yang didistribusikan secara merata pada skala kapur. Sebagai contoh, berikut adalah 10 filter kapur (dalam praktiknya, mereka mengambil lebih banyak, berikut sedikit untuk kejelasan):



Ketika diterjemahkan ke dalam skala frekuensi, filter yang sama akan terlihat seperti ini:



Setiap kolom spektogram awal dikalikan secara skal dengan masing-masing filter kapur (terletak pada skala frekuensi), setelah itu diperoleh vektor angka yang ukurannya sama dengan jumlah filter. Gambar di bawah ini menunjukkan salah satu kolom spektrogram (nilai amplitudo dikonversi ke skala logaritmik untuk kejelasan, apa yang dikodekan dalam warna dalam gambar ditampilkan di sepanjang ordinat) dan dua filter kapur yang digunakan untuk membangun spektrogram kapur:



Sebagai hasil dari transformasi tersebut, nilai-nilai dari frekuensi rendah spektrogram tetap hampir tidak berubah dalam spektrum kapur, dan pada frekuensi tinggi nilai-nilai rata-rata dari kisaran yang lebih luas. Sebagai contoh, saya mengusulkan untuk melihat spektrogram kapur yang dibuat dari spektrogram sebelumnya menggunakan 64 filter kapur:



Ringkas semua hal di atas: lebih banyak informasi disimpan pada spektrogram kapur, yang dipahami dan dibedakan dengan baik oleh orang tersebut daripada pada spektogram biasa. Dengan kata lain, representasi suara ini lebih fokus pada frekuensi rendah, dan lebih sedikit pada frekuensi tinggi.


Apa hubungannya SincNet dengan itu?


Ingatlah bahwa skala kapur dibuat berdasarkan persepsi psiko-fisik suara manusia. Tetapi bagaimana jika kita ingin memilih pita frekuensi lain yang lebih menarik bagi kita daripada yang lain dalam tugas tertentu? Bagaimana memilih set filter terbaik untuk menyelesaikan masalah?


Arsitektur yang diusulkan oleh penulis memecahkan masalah ini dengan tepat.


Penulis menganggap fungsi berikut sebagai filter:


G(f,f1,f2)=rect(f over2f2)โˆ’rect(f over2f1)


rect(t)dalam rumus ini adalah fungsi persegi panjang . Filter semacam itu menetapkan rentang frekuensi dari f1sebelumnya f2. Ini jadwalnya:



Menggunakan transformasi Fourier terbalik untuk fungsi ini, Anda bisa mendapatkan analognya dalam domain waktu:


g(n,f1,f2)=2f2sinc(2 pif2n)โˆ’2f1sinc(2 pif1n)


sinc(t)=sin(t) overt



Fungsi g(t)- Ini adalah respon impuls dari filter band-pass ideal yang tidak dapat diimplementasikan dalam praktiknya, itulah sebabnya penulis memotong fungsi ini dengan jendela Hamming . Dalam pemrosesan sinyal digital, pendekatan ini disebut sintesis jendela.


Opsi fungsi terpotong jendela gpenulis menyarankan penggunaan sebagai templat untuk semua konvolusi yang diterapkan pada data audio mentah. Fungsi ini dapat dibedakan berdasarkan parameter. f1dan f2, yang berarti dapat digunakan untuk mengoptimalkan parameter jaringan dengan metode back propagation of errors.


Dengan teorema konvolusi, konvolusi sinyal asli dengan fungsi gsetara dengan mengalikan spektrum sinyal asli dengan suatu fungsi G. Secara kasar, melakukan lilitan sinyal asli dengan fungsinya g, kami "menarik perhatian" dari jaringan saraf ke rentang frekuensi tertentu dalam sinyal yang sedang dipertimbangkan.


Tentu saja, transformasi Fourier tidak diterapkan di sini dan nilai-nilai spesifik dari spektrum dalam kisaran tidak dilaporkan secara eksplisit ke jaringan saraf. [f1;f2]. Rupanya, tugas mengekstraksi karakteristik spektral ditugaskan ke blok berikut yang terletak di jaringan saraf.


Dari kelebihan pendekatan ini, penulis mencatat hal berikut:


  1. Konvergensi cepat
  2. Jumlah parameter yang jauh lebih kecil. Dalam blok konvolusional klasik, jumlah parameter sama dengan panjang konvolusi. Dengan pendekatan yang dijelaskan, jumlah parameter tidak tergantung pada panjang konvolusi dan sama dengan 2
  3. Interpretabilitas parameter

Kesimpulan


Ada banyak filter yang dikonversi spektogramnya. Misalnya, selain filter kapur yang dijelaskan, ada juga filter kulit kayu (Anda dapat membaca di sini dan di sini ). Setidaknya kulit juga merupakan nilai psikofisik, yang dipilih "untuk seorang pria."


Dalam studi mereka, penulis mengusulkan metode dimana jaringan saraf dapat secara mandiri memilih rentang frekuensi yang paling cocok dalam proses pembelajaran tergantung pada set data. Bagi saya, ini sangat mirip dengan proses membangun spektrogram kapur, di mana prioritas yang lebih tinggi diberikan kepada frekuensi rendah. Berikut ini hanya spektogram-kapur yang ditemukan atas dasar persepsi manusia tentang suara, dan dalam metode yang diusulkan, jaringan saraf itu sendiri memutuskan mana yang penting dan mana yang tidak.

Source: https://habr.com/ru/post/id462527/


All Articles