Facebook ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄Π΅ΠΊ EnCodec, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Компания Meta/Facebook (Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Π° Π² Π Π€) прСдставила Π½ΠΎΠ²Ρ‹ΠΉ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄Π΅ΠΊ EnCodec, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ машинного обучСния для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ стСпСни сТатия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства. КодСк ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π²ΡƒΠΊΠ° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π°ΠΊ ΠΈ для кодирования для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сохранСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…. Эталонная рСализация EnCodec написана Π½Π° языкС Python с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° PyTorch ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial), Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅ΠΉ использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² нСкоммСрчСских цСлях.

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄Π²Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ:

  • ΠšΠ°ΡƒΠ·Π°Π»ΡŒΠ½Π°Ρ модСль, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ частоту дискрСтизации 24 kHz, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ монофоничСский Π·Π²ΡƒΠΊ ΠΈ натрСнированная Π½Π° Ρ€Π°Π·Π½ΠΎΠΏΠ»Π°Π½ΠΎΠ²Ρ‹Ρ… Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для кодирования Ρ€Π΅Ρ‡ΠΈ). МодСль ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ с Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π°ΠΌΠΈ 1.5, 3, 6, 12 ΠΈ 24 kbps.
  • ΠΠ΅ΠΊΠ°ΡƒΠ·Π°Π»ΡŒΠ½Π°Ρ модСль, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ частоту дискрСтизации 48 kHz, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ стСрСозвук ΠΈ натрСнированная Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΌΡƒΠ·Ρ‹ΠΊΠ΅. МодСлью ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Ρ‹ 3, 6, 12 ΠΈ 24 kbps.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ языковая модСль, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ увСличСния стСпСни сТатия (Π΄ΠΎ 40%) Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ качСства. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ€Π°Π½Π΅Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² машинного обучСния для сТатия Π·Π²ΡƒΠΊΠ°, EnCodec ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Ρ€Π΅Ρ‡ΠΈ, Π½ΠΎ ΠΈ для сТатия ΠΌΡƒΠ·Ρ‹ΠΊΠΈ с частотой дискрСтизации 48 kHz, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΡƒΡ€ΠΎΠ²Π½ΡŽ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… CD. По заявлСнию Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π΅ΠΊΠ° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ с Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ΠΎΠΌ 64 kbps ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ MP3 ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Π΄Π΅ΡΡΡ‚ΡŒ Ρ€Π°Π· ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сТатия Π·Π²ΡƒΠΊΠ° с сохранСниСм Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня качСства (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ использовании MP3 трСбуСтся полоса пропускания Π² 64 kbps, для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ с Ρ‚Π΅ΠΌ ΠΆΠ΅ качСством Π² EnCodec достаточно 6 kbps).

АрхитСктура ΠΊΠΎΠ΄Π΅ΠΊΠ° построСна Π½Π° Π±Π°Π·Π΅ Π½Π΅ΠΉΡ€ΠΎΠ½Π½ΠΎΠΉ сСти с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ «Ρ‚рансформСр» ΠΈ основываСтся Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Π·Π²Π΅Π½ΡŒΡΡ…: ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°, квантоватСля, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΈ дискриминатора. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ голосовых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΈΡ… ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ частотой ΠΊΠ°Π΄Ρ€ΠΎΠ². ΠšΠ²Π°Π½Ρ‚ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (RVQ, Residual Vector Quantizer) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊ Π² Π½Π°Π±ΠΎΡ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², сТимая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² привязкС ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Ρƒ. На Π²Ρ‹Ρ…ΠΎΠ΄Π΅ квантоватСля образуСтся сТатоС прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ΅ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ сСти ΠΈΠ»ΠΈ сохранСния Π½Π° диск.

Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ раскодируСт сТатоС прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ восстанавливаСт ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ Π²ΠΎΠ»Π½Ρƒ. Дискриминатор ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ качСство Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² (sample) с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ чСловСчСского слухового восприятия. НСзависимо ΠΎΡ‚ уровня качСства ΠΈ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚Π° примСняСмыС для кодирования ΠΈ дСкодирования ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ достаточно скромными трСбованиями ΠΊ рСсурсам (вычислСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, производятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ядрС CPU).

Facebook ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄Π΅ΠΊ EnCodec, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru