日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Chapter3-1_Speech Separation(Deep Clustering, PIT)

發(fā)布時(shí)間:2024/7/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Chapter3-1_Speech Separation(Deep Clustering, PIT) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 1 內(nèi)容簡(jiǎn)述
  • 2 評(píng)價(jià)指標(biāo)
    • 2.1 Signal-to-noise ratio (SNR)
    • 2.2 Scale invariant signal-to-distortion ratio (SI-SDR)
    • 2.3 其他的評(píng)價(jià)指標(biāo)
    • 3 Permutation Issue
  • 4 Deep Clustering
  • 5 PIT

本文為李弘毅老師【Speech Separation - Deep Clustering, PIT】的課程筆記,課程視頻youtube地址,點(diǎn)這里👈(需翻墻)。

下文中用到的圖片均來(lái)自于李宏毅老師的PPT,若有侵權(quán),必定刪除。

文章索引:

上篇 - 2-2 CycleGAN and StarGAN

下篇 - 3-2 TasNet

總目錄

1 內(nèi)容簡(jiǎn)述

人在一個(gè)嘈雜的環(huán)境下聽(tīng)別人說(shuō)話的時(shí)候,可以很神奇的抽取到說(shuō)話人說(shuō)話的信息,換而言之,也就是把說(shuō)話人發(fā)出的聲音和說(shuō)話人之外的聲音給分開(kāi)了。而Speech Separation要做的事情,也就是把不同物體發(fā)出的聲音給分開(kāi)。

Speech Separation可以分為兩大類:

  • Speech Enhancement
    把人的聲音和其他的聲音給分開(kāi)來(lái),也被稱為denoising

  • Speaker Separation
    把不同人說(shuō)話的聲音分開(kāi)來(lái)

本篇的著重點(diǎn)在于Speaker Separation,而且在討論的時(shí)候,都以兩個(gè)speakers單一麥克風(fēng)的情況為例子。同時(shí),要說(shuō)明的是,用于訓(xùn)練和驗(yàn)證的聲音數(shù)據(jù)來(lái)自于不同的speaker,也就是說(shuō),訓(xùn)練集是A,B,C,D說(shuō)的,驗(yàn)證集是E,F說(shuō)的,這樣子。

Speaker Separation有一個(gè)特點(diǎn),就是它的輸入和輸出的長(zhǎng)度必然是一致的,所以可以不使用seq2seq的模型來(lái)解,用seq2seq的模型有一種殺雞用牛刀的感覺(jué)。

Speaker Separation有一個(gè)好處就是,數(shù)據(jù)集很容易構(gòu)造,我們只需要找一堆單個(gè)speaker的聲音信號(hào)過(guò)來(lái),然后兩兩合成一下,就可以了。

2 評(píng)價(jià)指標(biāo)

2.1 Signal-to-noise ratio (SNR)

有一種評(píng)估模型輸出質(zhì)量的方法叫做SNR,SNR的目的是讓模型的輸出X?X^*X?X^\hat{X}X^越接近越好。SNR的計(jì)算公式如下所示

SNR=10log10∣∣X^∣∣2∣∣E∣∣2SNR=10 log_{10} \frac{||\hat{X}||^2}{||E||^2} SNR=10log10?E2X^2?

其中,X?X^*X?X^\hat{X}X^均為向量,且

E=X^?X?E=\hat{X}-X^* E=X^?X?

不難看出,當(dāng)EEE越大的時(shí)候,SNRSNRSNR就小,也就是SNRSNRSNR認(rèn)為模型的結(jié)果越差,反之越好。

這種簡(jiǎn)單粗暴的評(píng)價(jià)方式,在面對(duì)聲音的時(shí)候,會(huì)存在一個(gè)致命的問(wèn)題。比如模型輸出的X?X^*X?X^\hat{X}X^向量幾乎是平行的,只不過(guò)X?X^*X?短了一點(diǎn)(音量小了一點(diǎn)),這個(gè)時(shí)候SNR卻認(rèn)為模型學(xué)的不好,這其實(shí)是不合理的,不我們只要把音量調(diào)大一點(diǎn)就可以了。

又比如說(shuō),模型輸出的X?X^*X?X^\hat{X}X^偏差比較大,但是當(dāng)X?X^*X?被調(diào)大了音量之后,這個(gè)SNRSNRSNR就認(rèn)為模型變好了,這也是我們不希望看到的。

總而言之,SNRSNRSNR受音量大小的干擾太大。

2.2 Scale invariant signal-to-distortion ratio (SI-SDR)

另一種文獻(xiàn)中常用的評(píng)價(jià)指標(biāo)叫做SI-SDR,SI-SDR也被稱為SI-SNR,知道這兩個(gè)是同一個(gè)東西就可以了。SI-SDR的計(jì)算公式為

SISDR=10log10∣∣XT∣∣2∣∣XE∣∣2SISDR=10log_{10} \frac{||X_T||^2}{||X_E||^2} SISDR=10log10?XE?2XT?2?

其中

{XE=X??XTXT=X??X^∣∣X^∣∣2X^\left\{ \begin{aligned} X_E = X^* - X_T \\ X_T = \frac{X^* \cdot \hat{X}}{||\hat{X}||^2}\hat{X} \end{aligned} \right. ??????XE?=X??XT?XT?=X^2X??X^?X^?

這個(gè)評(píng)價(jià)指標(biāo)就是在看X?X^*X?X^\hat{X}X^的平行程度,解決了SNR被音量大小干擾的問(wèn)題。

而在實(shí)際使用的時(shí)候,我們看的,往往是SI-SDR的improvement。什么是improvement?比如我們要看下圖中藍(lán)色信號(hào)的improvement,那么我們就要先把輸入mixed audio和藍(lán)色信號(hào)的ground truth做一個(gè)SI-SDR得到SI-SDR1,然后再把藍(lán)色信號(hào)對(duì)應(yīng)的輸出和藍(lán)色信號(hào)的ground truth算一個(gè)SI-SDR2,再用SI-SDR2減去SI-SDR1來(lái)看這個(gè)增量。

為什么要這么做?因?yàn)橛行r(shí)候,mixed audio的紅色信號(hào)可能音量較低,這使得SI-SDR1本身就會(huì)比較大,SI-SDR2自然也就是大的,這個(gè)時(shí)候看增量improvement會(huì)更有意義。

2.3 其他的評(píng)價(jià)指標(biāo)

除了SNR和SI-SDR之外,還有其他很多評(píng)價(jià)指標(biāo),比如用來(lái)評(píng)價(jià)輸出聲音質(zhì)量的Perceptual evaluation of speech quality (PESQ),用來(lái)評(píng)價(jià)聲音清晰度的short-time objective intelligibility (STOI)。這些評(píng)價(jià)指標(biāo)都比較復(fù)雜,這里不多做介紹。

3 Permutation Issue

講完了評(píng)價(jià)指標(biāo)之后,我們就可以像正常了模型那樣開(kāi)始train了,我們的Loss就用L1或者L2或者SI-SDR都是可以的,SI-SDR是可以微分的。我們就輸入一個(gè)mixed audio然后經(jīng)過(guò)一個(gè)speaker Separation的model,出來(lái)一個(gè)X1X_1X1?X2X_2X2?,再算一下loss,然后反向傳播,就結(jié)束了。真的就么就結(jié)束了嗎?錯(cuò)錯(cuò)錯(cuò)

我們仔細(xì)來(lái)思考一下,輸出X1X_1X1?的這端和X2X_2X2?的這端是連接著固定的weights的,為什么X1X_1X1?一定是紅色信號(hào),X2X_2X2?一定是藍(lán)色信號(hào)。這兩個(gè)不能換一下嗎?加入我們又來(lái)了一個(gè)橙色信號(hào),那這個(gè)橙色信號(hào)應(yīng)該在哪個(gè)輸出?仔細(xì)想一下,這樣子網(wǎng)絡(luò)是沒(méi)法train起來(lái)的。這個(gè)其實(shí)就是Speech Separation中的Permutation Issue。

它不能像其他問(wèn)題那樣直接轉(zhuǎn)變?yōu)橐粋€(gè)可以直接train的神經(jīng)網(wǎng)絡(luò)。

那怎么辦?下面來(lái)介紹一下Deep Clustering和PIT。

4 Deep Clustering

在介紹deep clustering之前,我們先來(lái)說(shuō)一下其中用到的mask。由于Speech Separation只是對(duì)于輸入聲音信號(hào)的一個(gè)拆分,所以我們可以不生成聲音信號(hào),而是生成兩個(gè)mask。這兩個(gè)mask是互斥的,即M1=1?M2M_1 = 1 - M_2M1?=1?M2?,mask中的值可以是binary的(0和1),也是可以是continuous的(0至1)。如果是binary的,X1X_1X1?就是XXXM1M_1M1?對(duì)應(yīng)元素為1的元素的組合,即X1=M1?XX_1 = M_1 \cdot XX1?=M1??XX2X_2X2?就是X?X1=M2?XX-X_1 = M_2 \cdot XX?X1?=M2??X

這種binary的方式,顯得非常簡(jiǎn)單粗暴,這樣難道不會(huì)造成很多信息的丟失嗎?不管你信不信,實(shí)際情況下,這種做法是work的。不過(guò)既然要把我們的訓(xùn)練目標(biāo)變成一個(gè)mask,那在處理數(shù)據(jù),生成label的時(shí)候,也有一些相應(yīng)的操作。

如下圖中,我們有藍(lán)色的聲音和紅色的聲音,然后合成了左上角紅藍(lán)結(jié)合的聲音。藍(lán)色和紅色的矩陣表示聲音信號(hào)轉(zhuǎn)換之后得到的spectrogram,紅藍(lán)矩陣的shape是一樣的,矩陣中每個(gè)元素之間比個(gè)大小,藍(lán)的大的話,藍(lán)色mask相應(yīng)為止的值就是1,反之是0。紅色的也是一樣。mask就是用這種方式構(gòu)造出來(lái)的。

然后用這種方式得到的mask在mixed audio上去取值,得到左下角的信號(hào),這個(gè)信號(hào)的聲音,和藍(lán)色信號(hào)的聲音,人聽(tīng)起來(lái),是沒(méi)什么區(qū)別的。這樣的mask叫做Ideal Binary Mask (IBM)。

也就是說(shuō),我們的模型只要能學(xué)到這樣的兩個(gè)IBM,就可以實(shí)現(xiàn)Speech Separation了。那么,我們的模型就變成了下圖這樣。


但是!到現(xiàn)在為止,我們?nèi)耘f沒(méi)有解決Permutation Issue。別急,馬上給你搞定。

先來(lái)說(shuō)一下Deep Clustering的Inference的過(guò)程。我們的輸入是一個(gè)代表mixed audio的D×TD \times TD×T的矩陣,經(jīng)過(guò)一個(gè)Embedding的網(wǎng)絡(luò)之后,生成了一個(gè)D×T×AD \times T \times AD×T×A的矩陣,這個(gè)AAA就是embedding之后的特征維度。然后,我們會(huì)對(duì)這個(gè)輸出做k-means clustering,如果有2個(gè)說(shuō)話人,就把cluster的個(gè)數(shù)設(shè)置為2即可,然后每個(gè)cluster就代表一個(gè)speaker的Ideal Binary Mask。是不是很機(jī)智!完美解決Permutation Issue。

不過(guò)這個(gè)東西訓(xùn)練該怎么train呢?k-means clustering是額外的算法,且不可導(dǎo),要做loss的話,就要在D×T×AD \times T \times AD×T×A的這個(gè)矩陣上做文章。

我們是有Ideal Binary Mask這個(gè)label的,那么,我們呢就可以讓mask上值一樣的feature的距離越大越好,mask值上值不同的feature越遠(yuǎn)越好,這樣的loss是可以做成可導(dǎo)的。

神奇的是,用2個(gè)speakers的聲音mix的的數(shù)據(jù)和deep clustering模型train出來(lái)的結(jié)果,針對(duì)于3個(gè)speakers的輸入,也是有效的!這真的是很了不起。

5 PIT

PIT是一種訓(xùn)練的方法,全稱為Permutation Invariant Training。這種訓(xùn)練方式就可以end-to-end去訓(xùn)練,總體思想很直覺(jué),就是我先隨便假設(shè)一個(gè)speakers對(duì)應(yīng)于輸出的X1X_1X1?X2X_2X2?的順序,稍微train幾下,得到一個(gè)model。然后,下一次train的時(shí)候,我會(huì)算兩次SI-SDR之類的評(píng)價(jià)指標(biāo),分別是紅1,藍(lán)2和藍(lán)1,紅2,然后把Loss小的那個(gè)作為排序,然后按這個(gè)順序train下去。

每train一次,這個(gè)排序都可能會(huì)發(fā)生變化,所以剛開(kāi)始的時(shí)候,是非常不穩(wěn)定的,但只要這樣train下去,最終,是可以收斂的。感覺(jué)這個(gè)真的要靠做實(shí)驗(yàn)做出來(lái)。

還有就是,PIT相比于按照某種方式,假定一個(gè)順序的訓(xùn)練方式是要好一點(diǎn)的。

總結(jié)

以上是生活随笔為你收集整理的Chapter3-1_Speech Separation(Deep Clustering, PIT)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品电影在线 | 老汉色老汉首页av亚洲 | 亚洲AV成人无码电影在线观看 | 国产真实在线 | 国产一级免费片 | 亚洲在线不卡 | 亚洲在线播放 | 天天综合天天综合 | www视频在线 | 国产真人无码作爱视频免费 | 亚洲怡春院 | 国产亚洲自拍一区 | 蜜乳av一区二区三区 | 久久久999精品视频 国产在线xx | 国产精品日韩欧美大师 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 99av视频| 96亚洲精品久久久蜜桃 | 日本伦理一区二区 | 精品蜜桃一区二区三区 | 热热99| 欧美日韩高清在线播放 | 天堂欧美城网站 | 毛片无码免费无码播放 | 欧美日韩大陆 | 亚洲成熟毛多妇女av毛片 | 国产一级淫片免费 | 韩国女主播一区 | 国产激情文学 | 伊人色综合久久天天 | 成人午夜在线免费观看 | 善良的女朋友在线观看 | 每日更新av | 成人做受视频试看60秒 | 国产情侣自拍av | 欧美草比视频 | 色爽黄 | 人人人干| 乱色欧美 | 夜夜夜网 | 综合精品久久久 | 日韩毛片在线看 | 国产福利在线视频观看 | 3级黄色片| 免费高清视频一区二区三区 | 蜜臀av色欲a片无码精品一区 | 国产精品欧美激情在线播放 | 精品少妇人妻一区二区黑料社区 | 想要视频在线观看 | 欧美色图激情小说 | 一级欧美一级日韩 | 免费中文字幕日韩欧美 | 天天摸天天做天天爽 | 亚洲国产综合网 | 91久久久久一区二区 | 色偷偷资源 | 毛片999| 国产让女高潮的av毛片 | 蜜桃视频日韩 | 久色婷婷| 这里只有精品视频在线观看 | 国产欧美日韩成人 | 草的我好爽 | 久草精品视频在线观看 | 91在现看| 一区二区三区视频免费观看 | 波多野结衣电车痴汉 | 四虎影院在线视频 | 日本精品一区视频 | 精品欧美久久久 | 中文字幕日韩一区 | 久久久久久久久久久网 | 男人看片网站 | 制服丝袜快播 | 日韩成人一区 | 校园春色综合 | 欧美在线视频精品 | 国产精品日韩一区二区三区 | 在线播放亚洲精品 | 欧美 日韩 视频 | 国产精品中文字幕在线观看 | 日韩成人自拍 | 热热色原网址 | av网站在线免费看 | 亚洲自拍三区 | 激情av小说| 日本一本久久 | 亚洲黄片一区二区 | 97香蕉碰碰人妻国产欧美 | 午夜精彩视频 | 欧美少妇bbw| 风间ゆみ大战黑人 | av大片在线看 | 91成人国产综合久久精品 | 亚洲欧美视频在线观看 | 人人舔人人干 | 少妇久久久久久被弄高潮 | 日韩伦人妻无码 | 69**夜色精品国产69乱 |