国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

序列數(shù)據(jù)的數(shù)據(jù)增強(qiáng)方法綜述

2021-07-22 17:02葛軼洲楊鎖榮申富饒
計(jì)算機(jī)與生活 2021年7期
關(guān)鍵詞:標(biāo)簽模型方法

葛軼洲,許 翔,楊鎖榮,周 青,申富饒

1.通信信息控制和安全技術(shù)重點(diǎn)實(shí)驗(yàn)室,浙江 嘉興 314033

2.中國(guó)電子科技集團(tuán)公司 第三十六研究所,浙江 嘉興 314033

3.計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室(南京大學(xué)),南京 210023

深度學(xué)習(xí)在計(jì)算機(jī)視覺、自然語(yǔ)言處理等多個(gè)機(jī)器學(xué)習(xí)的子領(lǐng)域上均取得了耀眼的成績(jī),這歸功于越來越龐大復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型。以圖像分類任務(wù)為例,解決這類問題的網(wǎng)絡(luò)層數(shù)由2012 年的8 層增加到如今的101 層,甚至有人嘗試過1 202 層的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[1]。神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,意味著待學(xué)習(xí)參數(shù)數(shù)量的增加。為了學(xué)習(xí)更多的參數(shù),就需要更多的訓(xùn)練數(shù)據(jù)。當(dāng)前效果最好的自然語(yǔ)言處理模型GPT-3,其參數(shù)量達(dá)到了1 700 億,為此需要45 TB 的數(shù)據(jù)進(jìn)行訓(xùn)練[2]。盡管GPT-3 的情況較為極端,但想要將最先進(jìn)的模型應(yīng)用到一個(gè)現(xiàn)實(shí)任務(wù)時(shí),經(jīng)常面臨數(shù)據(jù)不足的問題,數(shù)據(jù)增強(qiáng)技術(shù)應(yīng)運(yùn)而生。

“數(shù)據(jù)增強(qiáng)”一詞還沒有一個(gè)統(tǒng)一的定義,數(shù)據(jù)增強(qiáng)可以認(rèn)為是基于少量樣本構(gòu)造出更多樣本以擴(kuò)充數(shù)據(jù)量的方法。以數(shù)據(jù)增強(qiáng)技術(shù)應(yīng)用最廣泛的計(jì)算機(jī)視覺任務(wù)為例,通過對(duì)一張圖片進(jìn)行旋轉(zhuǎn)(rotations)、翻轉(zhuǎn)(flipping)、裁剪(cropping)等操作,就可以把一張圖片“增強(qiáng)”成至少四張圖片。若對(duì)數(shù)據(jù)集中的所有圖片都進(jìn)行類似的操作,該數(shù)據(jù)集可以增加到原來的四倍。

數(shù)據(jù)增強(qiáng)一般被認(rèn)為是在訓(xùn)練數(shù)據(jù)集上實(shí)施的操作,在訓(xùn)練前進(jìn)行??梢赃x擇先對(duì)數(shù)據(jù)集整體進(jìn)行操作,再把增強(qiáng)后的數(shù)據(jù)集送入整個(gè)機(jī)器學(xué)習(xí)流程的后續(xù)部分,這種方法被稱為線下增強(qiáng)(offline augmentation)。這種方法會(huì)顯式地增加數(shù)據(jù)集的大小,只適用于數(shù)據(jù)較少的情況。更為常用的是線上增強(qiáng)(online augmentation),對(duì)即將送入到模型的每一批(batch)數(shù)據(jù)執(zhí)行轉(zhuǎn)換,不必顯式地占用磁盤空間?,F(xiàn)有的機(jī)器學(xué)習(xí)框架實(shí)現(xiàn)的圖片增強(qiáng)方法大多為線上增強(qiáng)方法,并基于GPU 進(jìn)行加速[3]。本文介紹的針對(duì)序列數(shù)據(jù)的增強(qiáng)大多采用線下增強(qiáng)方法。本文將先介紹針對(duì)序列數(shù)據(jù)的數(shù)據(jù)增強(qiáng)的基礎(chǔ)方法,再介紹基于深度學(xué)習(xí)的數(shù)據(jù)增強(qiáng)方法。

1 序列數(shù)據(jù)增強(qiáng)的基礎(chǔ)方法

不同于圖像數(shù)據(jù),序列數(shù)據(jù)的樣本間具有時(shí)序關(guān)系,因此對(duì)序列數(shù)據(jù)進(jìn)行增強(qiáng)時(shí)要特別關(guān)注新生成樣本間的時(shí)序關(guān)系。序列數(shù)據(jù)的類型很多,如連續(xù)取值的時(shí)間序列數(shù)據(jù)、離散取值的文本數(shù)據(jù)、音頻數(shù)據(jù)等。盡管數(shù)據(jù)類型不同,但應(yīng)用的數(shù)據(jù)增強(qiáng)方法背后有共通的設(shè)計(jì)思路,例如翻轉(zhuǎn)、拉伸或添加噪聲等。

本章主要介紹在各類序列數(shù)據(jù)上通用的基于人們的直觀經(jīng)驗(yàn)設(shè)計(jì)的數(shù)據(jù)增強(qiáng)基礎(chǔ)方法。圖1[4](a)展示了一個(gè)原始的時(shí)間序列,本章將基于此展示部分方法的效果。

Fig.1 Data augmentation methods applied on time series圖1 在時(shí)間序列上應(yīng)用的一些數(shù)據(jù)增強(qiáng)方法

1.1 幾何變換

幾何變換(geometric transformations)是最簡(jiǎn)單和常用的數(shù)據(jù)增強(qiáng)方法,如變換取值維度的翻轉(zhuǎn)、縮放(scaling)或變換時(shí)間維度的窗口規(guī)整(window warping)[4]等,分別如圖1(b)~(d)所示。圖中藍(lán)色虛線是原始序列,紅色實(shí)線是變換序列(下同)。類似“翻轉(zhuǎn)”方法也可以應(yīng)用在時(shí)間維度上,被稱作時(shí)間鏡像操作[5]。窗口規(guī)整、下采樣(down sampling)[6]等操作會(huì)改變序列長(zhǎng)度,可能需要引入額外操作來保持整體長(zhǎng)度不變。

應(yīng)用不同幾何變換會(huì)產(chǎn)生不同的結(jié)果。例如,對(duì)于異常檢測(cè)任務(wù),縮放操作可能會(huì)將異常值縮放到正常范圍內(nèi),窗口規(guī)整就不會(huì);窗口規(guī)整或下采樣操作可能會(huì)丟失異常點(diǎn);翻轉(zhuǎn)操作不適合預(yù)測(cè)任務(wù),因?yàn)椴僮鲝氐赘淖兞嗽蛄械内厔?shì)??偠灾瑤缀巫儞Q方法相對(duì)簡(jiǎn)單、直觀,易于結(jié)合具體任務(wù)分析不同操作的合理性,但每次只對(duì)一個(gè)序列進(jìn)行操作,沒有考慮數(shù)據(jù)集整體的分布特點(diǎn)。

1.2 窗口裁剪

對(duì)序列數(shù)據(jù)進(jìn)行裁剪,被稱為窗口裁剪(window cropping)或窗口切片(window slicing)[4],通過一個(gè)滑動(dòng)窗口在序列上不斷滑動(dòng)取樣,生成多個(gè)長(zhǎng)度更短的新序列。可將新序列拉長(zhǎng)到與原序列長(zhǎng)度相同,如圖1(e)所示;或在采樣過程中引入隨機(jī)性,只保留部分新序列。將這種方法應(yīng)用在異常檢測(cè)任務(wù)時(shí)要小心異常點(diǎn)是否被裁去。

對(duì)于自然語(yǔ)言文本,類似的做法是隨機(jī)刪除(random deletion)[7]。針對(duì)文本數(shù)據(jù)的很多數(shù)據(jù)增強(qiáng)方法會(huì)改變文本長(zhǎng)度,但自然語(yǔ)言模型對(duì)于文本長(zhǎng)度并不敏感,長(zhǎng)度的變化不影響數(shù)據(jù)進(jìn)入后續(xù)的訓(xùn)練流程。

1.3 添加噪聲

在訓(xùn)練數(shù)據(jù)中添加噪聲被認(rèn)為是防止機(jī)器學(xué)習(xí)模型過擬合的有效手段。對(duì)于數(shù)值型序列數(shù)據(jù),可以對(duì)每一個(gè)取值隨機(jī)地添加一定的噪聲來生成新的序列[4,8],且不影響序列的整體性質(zhì)和標(biāo)簽信息,如圖1(f)所示。最常被用來添加的噪聲是高斯噪聲(Gaussian noise)。

除時(shí)間域外,頻率域也可實(shí)現(xiàn)類似操作。時(shí)間域上的序列經(jīng)過傅里葉變換后可以得到其在頻率域的振幅譜(amplitude spectrum)和相位譜(phase spectrum)。在振幅譜上隨機(jī)選擇區(qū)間,用基于原始振幅的統(tǒng)計(jì)參數(shù)重新生成一段信號(hào)替換,如圖2[9](b)所示;在相位譜上隨機(jī)選擇區(qū)間并添加白噪聲(white noise),如圖2(c)所示。在時(shí)間域?qū)Ρ扔眠@種方法的前后效果如圖2(a)所示。這種方法不改變序列的整體性質(zhì)。

Fig.2 Data augmentation on frequency domain圖2 在頻率域進(jìn)行數(shù)據(jù)增強(qiáng)

噪音也可添加到音頻上模擬嘈雜的環(huán)境[10],常用信噪比(signal to noise ratio,SNR)量化。

也可向自然語(yǔ)言文本添加噪音,如用一個(gè)雙向語(yǔ)言模型來生成新詞,以替換原始文本中某個(gè)單詞[11]?;谡Z(yǔ)言模型產(chǎn)生的單詞可以保證文本中的語(yǔ)法、語(yǔ)義等信息不被破壞。一個(gè)簡(jiǎn)化版本是用同義詞替換的方法替代上述的語(yǔ)言模型[7],將過程簡(jiǎn)化為查表,降低計(jì)算量。相關(guān)方法還有隨機(jī)交換(random swap)和同義詞的隨機(jī)插入(random insertion)。這兩種方法連同前述的隨機(jī)刪除和同義詞替換方法,被統(tǒng)一命名為EDA(easy data augmentation)方法[7],已被證明在文本分類上有效,但相對(duì)本文后續(xù)方法而言EDA的數(shù)據(jù)生成過程較為機(jī)械。

1.4 在頻率域變換

時(shí)頻變換是常見的信號(hào)分析思路,同樣可用于數(shù)據(jù)增強(qiáng)。在頻率域添加噪聲是方法之一。

有研究者首先對(duì)傳感器信號(hào)應(yīng)用短時(shí)傅里葉變換(short Fourier transform,STFT)得到具有時(shí)序關(guān)系的譜特征,再在譜特征上應(yīng)用兩種數(shù)據(jù)增強(qiáng)方法[12]。一是對(duì)每一個(gè)屬性做局部平均,將局部平均序列拼接在原始序列的后面;二是打亂時(shí)序順序(shuffling),以增加數(shù)據(jù)的方差。這種方法會(huì)使得數(shù)據(jù)尺寸發(fā)生變化。由于STFT 變換得到的譜特征仍然具有時(shí)序關(guān)系,這種數(shù)據(jù)增強(qiáng)方法也被認(rèn)為是在時(shí)間-頻率域上進(jìn)行的。

賦值調(diào)整傅里葉變換(amplitude adjusted Fourier transform,AAFT)[13]及由其衍生的IAAFT(improved amplitude adjusted Fourier transform)[14]可實(shí)現(xiàn)只在頻率域進(jìn)行數(shù)據(jù)增強(qiáng)。Lee 等人將這些方法應(yīng)用在信號(hào)分類上,可以令原本只有約45%~60%的準(zhǔn)確率提高到80%以上[15]。這類方法很好地保留了時(shí)域和頻域特征,但不適合短周期信號(hào)。

對(duì)于音頻數(shù)據(jù),SpecAugment[16]是一種在時(shí)間-頻率域上做數(shù)據(jù)增強(qiáng)的方法,在信號(hào)的對(duì)數(shù)梅爾頻譜(log Mel spectrogram)上操作。圖3[16](a)展示了一段信號(hào)的對(duì)數(shù)梅爾頻譜,頻譜圖的橫軸是時(shí)間軸,縱軸是頻率大小。在時(shí)間軸上,可以進(jìn)行時(shí)間規(guī)整(time warping)或時(shí)間掩蔽(time masking),分別如圖3(b)和圖3(c)。時(shí)間規(guī)整是在序列中隨機(jī)選擇一個(gè)時(shí)間點(diǎn),拉伸該點(diǎn)之前(之后)的信號(hào),壓縮該點(diǎn)之后(之前)的信號(hào),保證序列的長(zhǎng)度不發(fā)生改變;時(shí)間掩蔽是在整個(gè)序列中用指定值填充一隨機(jī)片段。在頻率軸也可以進(jìn)行類似的掩蔽操作,形成圖3(d)的效果,被稱為頻率掩蔽(frequency masking)。實(shí)驗(yàn)證明該方法在語(yǔ)音識(shí)別任務(wù)上可以顯著降低字錯(cuò)誤率(word error rate,WER)。上述方法都是針對(duì)單個(gè)序列做數(shù)據(jù)增強(qiáng),生成的效率更高,但只利用序列本身的性質(zhì),沒有考慮數(shù)據(jù)集整體的分布。

Fig.3 Data augmentation on log Mel spectrogram圖3 對(duì)信號(hào)的對(duì)數(shù)梅爾頻譜圖進(jìn)行數(shù)據(jù)增強(qiáng)

1.5 基于分解或混合的方法

研究時(shí)間序列的一種常見思路是用STL(seasonal and trend decomposition using Loess)[17]方法將序列分解為基礎(chǔ)項(xiàng)、趨勢(shì)項(xiàng)、季節(jié)項(xiàng)和殘差項(xiàng),前三者是確定性部分,包含了原序列的絕大部分信息。為了在新序列中保持這部分信息,Kegel 等人基于相似矩陣(similarity matrix)和最近鄰搜索等方法為不同成分分配權(quán)重,組合新的時(shí)間序列[18]。隨機(jī)的殘差項(xiàng)則利用其分布特征和自相關(guān)特征重新建模生成。

Bergmeir 等人的方法更為簡(jiǎn)單。對(duì)時(shí)間序列信號(hào)進(jìn)行分解后得到除趨勢(shì)項(xiàng)和季節(jié)項(xiàng)以外的剩余項(xiàng)(reminder)。對(duì)剩余項(xiàng)進(jìn)行有放回的重復(fù)采樣(bootstrap),可以得到新的剩余項(xiàng)序列,再和前兩者混合成新的時(shí)間序列[19]。這種方法很好地保留了原始時(shí)間序列所具有的性質(zhì)。在M3 數(shù)據(jù)集[20]上的實(shí)驗(yàn)證明這種方法在月頻數(shù)據(jù)上對(duì)預(yù)測(cè)精度的提升最為突出,但在長(zhǎng)度較短的序列數(shù)據(jù)上表現(xiàn)一般。

二者相比,第一種方法以數(shù)據(jù)集為單位產(chǎn)生新的序列,第二種方法以序列為單位產(chǎn)生新的序列。第一種方法更能利用數(shù)據(jù)集整體的分布特征來進(jìn)行數(shù)據(jù)增強(qiáng),避免出現(xiàn)使用第二種方法可能會(huì)發(fā)生的對(duì)不典型的序列進(jìn)行增強(qiáng)的情況。

混響(reverberation)可以看作是在音頻數(shù)據(jù)上一種基于混合的數(shù)據(jù)增強(qiáng)方法?;祉懸辉~本身描述的是在如音樂廳、禮堂等地發(fā)生的室內(nèi)聲波經(jīng)過多次反射和吸收而產(chǎn)生的一種聲音現(xiàn)象,在計(jì)算機(jī)上可以通過混合多個(gè)不同強(qiáng)度且具有一定時(shí)間差的聲音序列來模擬混響效果,用于數(shù)據(jù)增強(qiáng)[21]。相比于SpecAugment,混響以數(shù)據(jù)集為單位生成新的數(shù)據(jù),但是并沒有學(xué)習(xí)和利用數(shù)據(jù)之間的內(nèi)在關(guān)系。彌補(bǔ)這一缺點(diǎn)的是后續(xù)的基于深度學(xué)習(xí)的模型。

1.6 異常標(biāo)簽擴(kuò)展

異常標(biāo)簽擴(kuò)展(label expansion)是一種僅針對(duì)異常檢測(cè)任務(wù)的數(shù)據(jù)增強(qiáng)方法。出于類別平衡的目的,人們想要增加數(shù)量較少的異常標(biāo)簽的數(shù)量。Gao等人利用了異常的模糊性和持續(xù)性,將與已經(jīng)標(biāo)注為異常的數(shù)據(jù)點(diǎn)在時(shí)間上和屬性取值上都接近的點(diǎn)也標(biāo)注成異常點(diǎn),來達(dá)到增加異常數(shù)據(jù)點(diǎn)的目的。圖4[9]對(duì)比了原始序列數(shù)據(jù)和異常標(biāo)簽擴(kuò)展后的數(shù)據(jù)。這種方法操作方便,在雅虎數(shù)據(jù)集[22]上的實(shí)驗(yàn)證明了該方法的有效性。

Fig.4 Abnormal label expansion圖4 異常標(biāo)簽擴(kuò)展

2 基于深度學(xué)習(xí)的序列數(shù)據(jù)增強(qiáng)方法

使用數(shù)據(jù)增強(qiáng)方法是為避免模型在較小的原始數(shù)據(jù)集上發(fā)生過擬合。如果像中小學(xué)的教輔材料那樣對(duì)難題進(jìn)行重點(diǎn)突破,可以構(gòu)造出模型學(xué)不好的數(shù)據(jù),讓模型顯式地在這些數(shù)據(jù)上也進(jìn)行學(xué)習(xí),就有可能提高模型的“答題能力”,從而取得更好的精度或準(zhǔn)確度?;谏蓪?duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)的一系列方法即出于此目的,生成人類無法分辨但可以讓模型判斷錯(cuò)誤的數(shù)據(jù)。

生成對(duì)抗網(wǎng)絡(luò)最先應(yīng)用在計(jì)算機(jī)視覺領(lǐng)域,應(yīng)用在序列數(shù)據(jù)上的方法可以看作是這些方法的擴(kuò)展。因此,本章會(huì)介紹一些應(yīng)用在圖像數(shù)據(jù)上的研究成果,幫助讀者更好地理解這類基于深度學(xué)習(xí)的數(shù)據(jù)增強(qiáng)方法。

2.1 生成式對(duì)抗網(wǎng)絡(luò)

生成式對(duì)抗網(wǎng)絡(luò)直接生成能“以假亂真”的與訓(xùn)練數(shù)據(jù)非常接近的新數(shù)據(jù)。Goodfellow 等人在2014年提出的GAN[23]是后續(xù)深度卷積GAN(deep convolutional generative adversarial network,DCGAN)[24]、CycleGAN[25]等各類衍生結(jié)構(gòu)的基礎(chǔ)。GAN 由生成器(generator)和判別器(discriminator)組成,如圖5[26]所示。判別器判斷樣本是原始數(shù)據(jù)集的還是模型生成的,而生成器盡可能地最大化判別器判斷錯(cuò)誤的概率,整個(gè)模型的優(yōu)化是一個(gè)二元極大極小博弈(minimax two-player game)。如今深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為了生成器和判別器的默認(rèn)選擇,整個(gè)GAN 的優(yōu)化都通過反向傳播來實(shí)現(xiàn)。

Fig.5 Generative adversarial network圖5 生成式對(duì)抗網(wǎng)絡(luò)

生成器把一個(gè)簡(jiǎn)單的分布映射到一個(gè)和真實(shí)數(shù)據(jù)集相近的復(fù)雜分布,這一簡(jiǎn)單的分布可以視作一種隱分布。如果同時(shí)得到把復(fù)雜分布映射回一種隱分布的方法,這種方法就可以被用來做特征表示,雙向GAN(bidirectional GAN,BiGAN)[27]就是出于此目的而被發(fā)明的一種無監(jiān)督方法。其學(xué)習(xí)到的特征表示不僅可以用作后續(xù)監(jiān)督學(xué)習(xí)模型的輸入,從數(shù)據(jù)增強(qiáng)的角度,GAN 也可以在這個(gè)特征空間生成新的數(shù)據(jù),而不一定在原始的輸入空間生成。有人認(rèn)為GAN是最值得期待能用于數(shù)據(jù)增強(qiáng)的生成式建模方法[28]。

2.2 基于CNN 的GAN

DCGAN[24]利用了CNN 的特征提取能力,條件GAN(conditional GAN,CGAN)[29]則同時(shí)在生成器和判別器引入額外的條件輸入,讓模型生成指定標(biāo)簽的數(shù)據(jù)。也有人設(shè)計(jì)不同的損失函數(shù)應(yīng)用在GAN 結(jié)構(gòu)上,具體實(shí)現(xiàn)有CycleGAN[25]、StarGAN 及其變體[30]等。

后續(xù)會(huì)介紹將RNN(recurrent neural network)和GAN 結(jié)合起來應(yīng)用在序列數(shù)據(jù)上的方法。盡管RNN及其變種被認(rèn)為是處理序列數(shù)據(jù)的默認(rèn)選擇,但實(shí)驗(yàn)證明CNN在處理序列數(shù)據(jù)方面的能力并不亞于RNN,還擁有可以并行化等優(yōu)點(diǎn),用基于CNN 的GAN 來生成序列數(shù)據(jù)自然而然地成為了一個(gè)選擇?;贑GAN的時(shí)間條件GAN(time-conditional GAN,T-CGAN)[31]是在GAN 上使用一維卷積的工作之一,將時(shí)間戳作為條件輸入使模型可以處理時(shí)間間隔不規(guī)則的情形。同樣使用了一維卷積的ehrGAN[32]被用于增強(qiáng)電子健康記錄數(shù)據(jù),半監(jiān)督學(xué)習(xí)的引入讓生成樣本和原始樣本的類別更有可能一致。也有人嘗試將RNN 和CNN結(jié)合起來用在生成對(duì)抗網(wǎng)絡(luò):BiLSTM-CNN GAN[33]將RNN 用于生成器,將CNN 用于判別器。RNN 生成時(shí)間序列可以充分利用時(shí)序依賴性,基于前一時(shí)刻的值決定下一時(shí)刻的值;用CNN 做判別器可以在不影響準(zhǔn)確度的基礎(chǔ)上通過并行化加快判別速度。

對(duì)于音頻數(shù)據(jù),有人參考在頻率域進(jìn)行數(shù)據(jù)增強(qiáng)的方法,將頻譜圖看作圖片,用DCGAN 生成新的頻譜圖,如SpecGAN[34]。將DCGAN 擴(kuò)展到一維的情況,直接對(duì)音頻信號(hào)應(yīng)用一維CNN 得到WaveGAN。在不同的評(píng)價(jià)標(biāo)準(zhǔn)下,SpecGAN 和WaveGAN 二者各有優(yōu)劣[6]。SpecGAN 更能充分利用數(shù)據(jù)間的內(nèi)在關(guān)系,WaveGAN 簡(jiǎn)化了增強(qiáng)流程,生成的數(shù)據(jù)和原始數(shù)據(jù)更加相似。不過二者都只能生成1 s 左右的短音頻,離實(shí)際應(yīng)用仍有差距。

字詞天生的離散特性為GAN 應(yīng)用在自然語(yǔ)言處理任務(wù)上增加了難度。前述方法往往只針對(duì)實(shí)值的、具有連續(xù)特征的數(shù)據(jù)。生成字詞的最后一步是選擇最大可能性的單詞,這一argmax 操作是不可導(dǎo)的。若直接利用現(xiàn)有的語(yǔ)言生成模型作為生成器,整個(gè)模型無法反向傳播判別器計(jì)算的損失。一種方法是引入自編碼器(auto-encoder),利用GAN 生成其中的連續(xù)的編碼表示[35]。不過性能優(yōu)良的自編碼器需要大量的真實(shí)語(yǔ)料做訓(xùn)練,與進(jìn)行數(shù)據(jù)增強(qiáng)的目的相悖。

2.3 基于RNN 的GAN

類比于DCGAN 和CGAN,有研究者將RNN 引入GAN 設(shè)計(jì)出循環(huán)GAN(recurrent GAN,RGAN)和循環(huán)條件GAN(recurrent conditional GAN,RCGAN)[36],生成實(shí)值的多維時(shí)間序列數(shù)據(jù),如圖6[36]所示。RGAN在每一時(shí)間點(diǎn)都根據(jù)不同的隨機(jī)數(shù)種子生成一個(gè)隨機(jī)值,交給生成器生成一段時(shí)間序列;判別器在每一時(shí)間點(diǎn)都給出一個(gè)關(guān)于當(dāng)前時(shí)間序列是否為真實(shí)序列的判斷,最后通過投票機(jī)制得到判別結(jié)果。RCGAN在此基礎(chǔ)上引入條件輸入。在醫(yī)學(xué)領(lǐng)域的二分類問題上,盡管使用RGAN 生成的數(shù)據(jù)進(jìn)行訓(xùn)練并沒有直接使用真實(shí)數(shù)據(jù)訓(xùn)練的效果好,但是考慮到醫(yī)學(xué)領(lǐng)域的很多數(shù)據(jù)難以獲得等現(xiàn)實(shí)問題,這種方法仍然具有其應(yīng)用價(jià)值。

Fig.6 RGAN and RCGAN圖6 RGAN 和RCGAN

時(shí)間序列GAN(time-series GAN,TimeGAN)[37]則在基于RNN 的GAN 的基礎(chǔ)上引入可學(xué)習(xí)的嵌入空間(embedding space),用監(jiān)督學(xué)習(xí)和對(duì)抗學(xué)習(xí)共同訓(xùn)練。用有監(jiān)督的損失函數(shù)指導(dǎo)模型學(xué)習(xí),可以讓模型學(xué)習(xí)到每一時(shí)間點(diǎn)的條件分布,而不是只讓模型判斷每一個(gè)序列的真假;嵌入網(wǎng)絡(luò)用來降低對(duì)抗學(xué)習(xí)空間的維度。在股票、能源等多個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)表明TimeGAN 顯著優(yōu)于RCGAN 等模型,其中TimeGAN 的有監(jiān)督的損失函數(shù)、嵌入網(wǎng)絡(luò)和共同訓(xùn)練這三點(diǎn)都發(fā)揮了非常重要的作用。

在實(shí)際應(yīng)用中,一個(gè)數(shù)據(jù)集可能包含從多種分布產(chǎn)生的時(shí)間序列??梢詫?shù)據(jù)分成多個(gè)子集,對(duì)每一個(gè)子集應(yīng)用一個(gè)GAN 來生成符合具有這一部分子集特點(diǎn)的數(shù)據(jù),最后將所有GAN 生成的數(shù)據(jù)匯總起來。這種使用多個(gè)GAN 的方法的有效性在多種數(shù)據(jù)集上被驗(yàn)證[38-39],但會(huì)引入較大計(jì)算量。

基于RNN 的GAN 在音頻數(shù)據(jù)上的應(yīng)用多集中在音樂生成任務(wù)上。音樂被視為是離散的符號(hào)序列,同樣會(huì)面對(duì)與用GAN 生成自然語(yǔ)言文本類似的不可導(dǎo)問題。為了解決這一問題,在生成器和判別器都使用了RNN 的C-RNN-GAN[40]將每一時(shí)刻的音樂特征化為了連續(xù)值,SeqGAN[41]則引入了強(qiáng)化學(xué)習(xí)的策略梯度方法,但只在生成器使用RNN。用于人聲和伴奏分離任務(wù)的G-RNN-GAN[42]將判別器簡(jiǎn)化成了多層感知機(jī)。簡(jiǎn)單的結(jié)構(gòu)有助于提高模型效率,但是該方法的作者并沒有證明使用多層感知機(jī)的充分性,判別器的性能提升空間仍有待探索。DCRGAN(deep convolutional recurrent generative adversarial network)[43]是將RNN 結(jié)構(gòu)的生成器用于語(yǔ)音增強(qiáng)任務(wù)的一例,而判別器使用CNN。相比于CNN,RNN 在音頻數(shù)據(jù)上的應(yīng)用很少且多只在生成器上應(yīng)用,判別器使用CNN 等可以并行化的結(jié)構(gòu)有助于提高判別效率。

增強(qiáng)自然語(yǔ)言文本同樣存在不可導(dǎo)問題。前述的引入自編碼器的思路也可以在編碼空間使用RNN生成和判別[44],但相應(yīng)的缺陷依然存在。有人提出了更為簡(jiǎn)單的方法,用可導(dǎo)的Gumbel-Softmax 函數(shù)替代原來的argmax 操作[45]。這種方法有對(duì)現(xiàn)有模型的修改小,“即插即用”的優(yōu)點(diǎn),但只被證明在簡(jiǎn)單符號(hào)序列上有效。整體而言,用GAN 做語(yǔ)料生成的技術(shù)并不成熟,距離工業(yè)應(yīng)用有一定差距。

3 總結(jié)與討論

3.1 總結(jié)

本文以應(yīng)用在不同序列數(shù)據(jù)上的增強(qiáng)方法背后的共同點(diǎn)為線索,介紹了在時(shí)間序列、音頻、自然語(yǔ)言等多種序列數(shù)據(jù)上進(jìn)行數(shù)據(jù)增強(qiáng)的方法,分別如表1~表3 所示。這些方法更多地適用于分類問題,而應(yīng)用在其他任務(wù)上的數(shù)據(jù)增強(qiáng)方法還有待更多的研究。

Table 1 Comparison of augmentation methods for time series表1 時(shí)間序列數(shù)據(jù)的增強(qiáng)方法比較

Table 2 Comparison of augmentation methods for audio data表2 音頻數(shù)據(jù)的增強(qiáng)方法比較

Table 3 Comparison of augmentation methods for text data表3 文本數(shù)據(jù)的增強(qiáng)方法比較

3.2 在測(cè)試集上應(yīng)用數(shù)據(jù)增強(qiáng)方法

數(shù)據(jù)增強(qiáng)方法一般被應(yīng)用在訓(xùn)練數(shù)據(jù)集上,實(shí)際也可以應(yīng)用在測(cè)試數(shù)據(jù)集上,實(shí)現(xiàn)類似于集成學(xué)習(xí)的方法。這樣的方法被稱為測(cè)試時(shí)間的數(shù)據(jù)增強(qiáng)(test-time augmentation),用以和常見的訓(xùn)練時(shí)間的數(shù)據(jù)增強(qiáng)(train-time augmentation)相區(qū)別。

例如在時(shí)間序列分類任務(wù)中,對(duì)一個(gè)原始序列應(yīng)用窗口切片方法得到多個(gè)序列,分別預(yù)測(cè)這些序列的標(biāo)簽,再投票決定原始序列的標(biāo)簽輸出[4]。在通用的UCI 數(shù)據(jù)集上的實(shí)驗(yàn)表明了該方法的有效性。類似的方法也被應(yīng)用在醫(yī)學(xué)領(lǐng)域[46-47],減少了以高置信度輸出錯(cuò)誤答案的情況。這類方法可以幫助模型輸出更好的不確定性估計(jì),但是會(huì)顯著增加測(cè)試時(shí)間。

3.3 標(biāo)簽上應(yīng)用數(shù)據(jù)增強(qiáng)方法

不同于常見的對(duì)輸入數(shù)據(jù)變換的增強(qiáng)方法,DisturbLabel[48]是對(duì)標(biāo)簽進(jìn)行修改,在訓(xùn)練過程中的每一輪引入小部分標(biāo)簽被故意改錯(cuò)的數(shù)據(jù)。盡管這種做法是反直覺的,但這種方法被證明在心電圖數(shù)據(jù)[47]和調(diào)制信號(hào)[49]等多個(gè)序列數(shù)據(jù)的分類任務(wù)中有效。在信噪比較高時(shí)DisturbLabel 的效果最好。不過整體而言這種方法應(yīng)用在序列數(shù)據(jù)上的情況較少,有待后續(xù)研究探索更多在序列數(shù)據(jù)上的應(yīng)用。

3.4 用數(shù)據(jù)增強(qiáng)方法緩解數(shù)據(jù)不平衡問題

如果在使用數(shù)據(jù)增強(qiáng)方法時(shí)指定生成那些原始數(shù)據(jù)量較少的類的樣本,數(shù)據(jù)增強(qiáng)方法可以用來緩解數(shù)據(jù)不平衡的問題。前述的異常標(biāo)簽擴(kuò)展方法就是為了增加樣本數(shù)量較少的異常數(shù)據(jù)而設(shè)計(jì)的。CycleGAN 被用來生成情緒分類(emotion classification)數(shù)據(jù)中出現(xiàn)次數(shù)較少的情緒標(biāo)簽,使得分類任務(wù)的精度提升5%~10%[50];GAN 的一個(gè)變種對(duì)抗自編碼器(adversarial autoencoder,AAE)[51]被應(yīng)用在異常檢測(cè)任務(wù)中生成不頻繁但是正常的數(shù)據(jù)點(diǎn),幫助異常檢測(cè)算法更好地判斷哪些是真正的異常點(diǎn)[52]。這同時(shí)也證明了數(shù)據(jù)增強(qiáng)技術(shù)可以應(yīng)用在無監(jiān)督任務(wù)中并取得不錯(cuò)的效果。在這些例子中,GAN 一類的方法可以看成是一種聰明的過采樣的方法。

3.5 數(shù)據(jù)增強(qiáng)可能導(dǎo)致數(shù)據(jù)標(biāo)簽發(fā)生改變

在做數(shù)據(jù)增強(qiáng)時(shí)需要特別留心的一點(diǎn),是使用增強(qiáng)方法后新得到的數(shù)據(jù)的訓(xùn)練目標(biāo)(如分類標(biāo)簽)是否和原始數(shù)據(jù)一致。比如在異常檢測(cè)任務(wù)中應(yīng)用裁剪方法可能會(huì)將異常點(diǎn)裁剪出序列,此時(shí)序列的標(biāo)簽應(yīng)是一個(gè)正常序列。不改變訓(xùn)練目標(biāo)的數(shù)據(jù)增強(qiáng)方法被稱為“標(biāo)簽保持的變換”(label-preserving transformation)[28]。而當(dāng)使用的方法不滿足這一條件時(shí),可能需要人工重新標(biāo)注新生成的數(shù)據(jù),這時(shí)需要平衡數(shù)據(jù)增強(qiáng)的效果和人工標(biāo)注的成本。

3.6 數(shù)據(jù)增強(qiáng)方法的好壞沒有統(tǒng)一標(biāo)準(zhǔn)

本篇文章所提及的數(shù)據(jù)增強(qiáng)方法大多適用于分類任務(wù),對(duì)于其他任務(wù)的研究則相對(duì)匱乏。數(shù)據(jù)增強(qiáng)方法的好壞不能一概而論,具體應(yīng)使用的方法取決于具體任務(wù)。例如,盡管CGAN 是基于GAN 衍生出來的,且實(shí)驗(yàn)證明在許多任務(wù)上CGAN 是優(yōu)于GAN 的,但Sheng 等人針對(duì)兒童語(yǔ)音識(shí)別任務(wù)的研究[53]發(fā)現(xiàn),平均來看GAN 反而優(yōu)于CGAN[4]。有研究者基于具體任務(wù)研究不同數(shù)據(jù)增強(qiáng)方法的優(yōu)劣,或設(shè)計(jì)多種評(píng)價(jià)標(biāo)準(zhǔn)來評(píng)價(jià)方法的好壞,具體可以參考文獻(xiàn)[54]。

使用數(shù)據(jù)增強(qiáng)算法本身往往伴隨著內(nèi)存、訓(xùn)練時(shí)間等資源開銷的增加,使用數(shù)據(jù)增強(qiáng)方法時(shí)應(yīng)平衡任務(wù)效果的提升和引入的資源開銷。另外,本文提及的各類數(shù)據(jù)增強(qiáng)方法可以組合使用,進(jìn)而提升數(shù)據(jù)增強(qiáng)的效果,這已被多個(gè)研究證明[55-56]。即使是同一個(gè)增強(qiáng)方法也可以在同一批數(shù)據(jù)上重復(fù)使用。圖7[12]展示了一個(gè)對(duì)序列數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)的流程例,其中局部平均這一方法被重復(fù)使用了兩次。

Fig.7 Flow chart of data augmentation on sequence data圖7 對(duì)序列數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)的流程圖

3.7 醫(yī)學(xué)數(shù)據(jù)是數(shù)據(jù)增強(qiáng)常見的應(yīng)用領(lǐng)域

不難發(fā)現(xiàn),無論是序列數(shù)據(jù),還是圖片數(shù)據(jù),數(shù)據(jù)增強(qiáng)研究和應(yīng)用最為廣泛的往往是醫(yī)療領(lǐng)域的數(shù)據(jù)[15,32-33,36,38,56-57]。一些疾病的診斷依賴于專業(yè)醫(yī)生在體征信號(hào)中根據(jù)時(shí)序關(guān)系的異常來發(fā)現(xiàn),但由于保護(hù)患者隱私、商業(yè)競(jìng)爭(zhēng)等原因,醫(yī)學(xué)數(shù)據(jù)往往是匱乏的。GAN 等方法不是簡(jiǎn)單地對(duì)現(xiàn)有的數(shù)據(jù)進(jìn)行復(fù)制,因此基于GAN 來生成相關(guān)的人造的醫(yī)療數(shù)據(jù)不僅可以起到增加訓(xùn)練數(shù)據(jù)的作用,共享相關(guān)的生成數(shù)據(jù)也不會(huì)侵犯?jìng)€(gè)人隱私。這也是GAN 被廣泛應(yīng)用在醫(yī)療數(shù)據(jù)上的一個(gè)原因。

3.8 將強(qiáng)化學(xué)習(xí)應(yīng)用于數(shù)據(jù)增強(qiáng)

隨著強(qiáng)化學(xué)習(xí)的興起,出現(xiàn)了基于強(qiáng)化學(xué)習(xí)進(jìn)行數(shù)據(jù)增強(qiáng)的工作。強(qiáng)化學(xué)習(xí)模型通過與環(huán)境的不斷交互,可以自己挑選出最優(yōu)的數(shù)據(jù)增強(qiáng)方法[58]或組合出最優(yōu)的數(shù)據(jù)增強(qiáng)流程[59]。

回顧增強(qiáng)文本數(shù)據(jù)或音樂數(shù)據(jù)時(shí)出現(xiàn)的不可導(dǎo)問題,強(qiáng)化學(xué)習(xí)解決不可導(dǎo)問題的方法給這一問題的解決提供了思路,如Hu 等人的方法[60]、TextGAIL(text generative adversarial imitation learning)[61]、CTGAN(conditional text generative adversarial network)[62]等。不過強(qiáng)化學(xué)習(xí)方法本身的魯棒性差、調(diào)參困難等問題尚未得到解決,應(yīng)用到數(shù)據(jù)增強(qiáng)時(shí)這些問題依然存在,相關(guān)方法還有很大的探索空間。

4 展望

基于深度學(xué)習(xí)的數(shù)據(jù)增強(qiáng)是當(dāng)今機(jī)器學(xué)習(xí)領(lǐng)域研究最為火熱的子領(lǐng)域之一,還有非常多的問題供研究者們探索,如結(jié)合元學(xué)習(xí)(meta-learning)和數(shù)據(jù)增強(qiáng)[63],結(jié)合神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在特征空間進(jìn)行數(shù)據(jù)增強(qiáng),用強(qiáng)化學(xué)習(xí)方法來增強(qiáng)數(shù)據(jù)等。在討論部分簡(jiǎn)單介紹了在測(cè)試階段或?qū)?biāo)簽信息進(jìn)行數(shù)據(jù)增強(qiáng)的方法,這方面的更多研究成果也值得期待。

有人可能認(rèn)為數(shù)據(jù)增強(qiáng)技術(shù)更像是一個(gè)應(yīng)用問題,依賴于深度學(xué)習(xí)技術(shù)的發(fā)展而無法給深度學(xué)習(xí)的理論研究帶來幫助。事實(shí)上一些數(shù)據(jù)增強(qiáng)方法對(duì)于效果提升的幫助的原因還不清楚,了解其背后作用的機(jī)理不僅有助于人們更好地使用、設(shè)計(jì)數(shù)據(jù)增強(qiáng)方法,也可能幫助人們更深入地理解CNN 等神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提高神經(jīng)網(wǎng)絡(luò)的可解釋性。

猜你喜歡
標(biāo)簽模型方法
適用于BDS-3 PPP的隨機(jī)模型
自制空間站模型
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
模型小覽(二)
離散型隨機(jī)變量分布列的兩法則和三模型
用對(duì)方法才能瘦
讓衣柜擺脫“雜亂無章”的標(biāo)簽
四大方法 教你不再“坐以待病”!
賺錢方法
科學(xué)家的標(biāo)簽