從 CV 到 NLP,深度學(xué)習(xí)領(lǐng)域的數(shù)據(jù)增強(qiáng)有哪些?

劉璐

學(xué)號(hào)19021110354T

轉(zhuǎn)載自https://mp.weixin.qq.com/s/wbI3pHNlHunTzk4hXmYrtg

【嵌牛導(dǎo)讀】隨著增強(qiáng)學(xué)習(xí)的發(fā)展,從CV到NLP,使用增強(qiáng)學(xué)習(xí)的算法的領(lǐng)域越來(lái)越多了。本文主要介紹使用各種數(shù)據(jù)增強(qiáng)方法的領(lǐng)域。

【嵌牛鼻子】數(shù)據(jù)增強(qiáng)、CV、NLP

【嵌牛提問(wèn)】 一個(gè)好的方法必然可以有廣泛的適應(yīng)性,既然CV和NLP都可以使用增強(qiáng)數(shù)據(jù)方法,不知道是否其他領(lǐng)域也能適用嗎?

【嵌牛正文】

數(shù)據(jù)增強(qiáng)(Data Augmentation)是一種通過(guò)讓有限的數(shù)據(jù)產(chǎn)生更多的等價(jià)數(shù)據(jù)來(lái)人工擴(kuò)展訓(xùn)練數(shù)據(jù)集的技術(shù)。它是克服訓(xùn)練數(shù)據(jù)不足的有效手段,目前在深度學(xué)習(xí)的各個(gè)領(lǐng)域中應(yīng)用廣泛。但是由于生成的數(shù)據(jù)與真實(shí)數(shù)據(jù)之間的差異,也不可避免地帶來(lái)了噪聲問(wèn)題。

為什么需要數(shù)據(jù)增強(qiáng)

深度神經(jīng)網(wǎng)絡(luò)在許多任務(wù)中表現(xiàn)良好,但這些網(wǎng)絡(luò)通常需要大量數(shù)據(jù)才能避免過(guò)度擬合。遺憾的是,許多場(chǎng)景無(wú)法獲得大量數(shù)據(jù),例如醫(yī)學(xué)圖像分析。

數(shù)據(jù)增強(qiáng)技術(shù)的存在是為了解決這個(gè)問(wèn)題,這是針對(duì)有限數(shù)據(jù)問(wèn)題的解決方案。數(shù)據(jù)增強(qiáng)一套技術(shù),可提高訓(xùn)練數(shù)據(jù)集的大小和質(zhì)量,以便您可以使用它們來(lái)構(gòu)建更好的深度學(xué)習(xí)模型。

在計(jì)算視覺(jué)領(lǐng)域,生成增強(qiáng)圖像相對(duì)容易。即使引入噪聲或裁剪圖像的一部分,模型仍可以對(duì)圖像進(jìn)行分類(lèi),數(shù)據(jù)增強(qiáng)有一系列簡(jiǎn)單有效的方法可供選擇,有一些機(jī)器學(xué)習(xí)庫(kù)來(lái)進(jìn)行計(jì)算視覺(jué)領(lǐng)域的數(shù)據(jù)增強(qiáng),比如:imgaug (https://github.com/aleju/imgaug) 它封裝了很多數(shù)據(jù)增強(qiáng)算法,給開(kāi)發(fā)者提供了方便。?

但是在自然語(yǔ)言處理領(lǐng)域中,由于自然語(yǔ)言本身是離散的抽象符號(hào),微小的變化就可能會(huì)導(dǎo)致含義的巨大偏差,所以數(shù)據(jù)增強(qiáng)算法并不常用。很多自然語(yǔ)言處理任務(wù)在真正落地的時(shí)候,往往會(huì)遇到數(shù)據(jù)量不足的問(wèn)題,自然語(yǔ)言的數(shù)據(jù)增強(qiáng)算法值得我們深入研究。接下來(lái)我們先介紹計(jì)算視覺(jué)領(lǐng)域的數(shù)據(jù)增強(qiáng)方法,再介紹自然語(yǔ)言處理領(lǐng)域的數(shù)據(jù)增強(qiáng)算法,希望能對(duì)大家有所啟發(fā)。

計(jì)算視覺(jué)數(shù)據(jù)增強(qiáng)

計(jì)算視覺(jué)領(lǐng)域的數(shù)據(jù)增強(qiáng)算法大致可以分為兩類(lèi):第一類(lèi)是基于基本圖像處理技術(shù)的數(shù)據(jù)增強(qiáng),第二個(gè)類(lèi)別是基于深度學(xué)習(xí)的數(shù)據(jù)增強(qiáng)算法。

下面先介紹基本圖像處理技術(shù)的數(shù)據(jù)增強(qiáng)方法——

幾何變換(Geometric Transformations):由于訓(xùn)練集與測(cè)試集合中可能存在潛在的位置偏差,使得模型在測(cè)試集中很難達(dá)到訓(xùn)練集中的效果,幾何變換可以有效地克服訓(xùn)練數(shù)據(jù)中存在的位置偏差,而且易于實(shí)現(xiàn),許多圖像處理庫(kù)都包含這個(gè)功能。

顏色變換(Color Space):圖片在輸入計(jì)算機(jī)之前,通常會(huì)被編碼為張量(高度×寬度×顏色通道),所以可以在色彩通道空間進(jìn)行數(shù)據(jù)增強(qiáng),比如將某種顏色通道關(guān)閉,或者改變亮度值。

旋轉(zhuǎn) | 反射變換(Rotation/Reflection):選擇一個(gè)角度,左右旋轉(zhuǎn)圖像,可以改變圖像內(nèi)容朝向。關(guān)于旋轉(zhuǎn)角度需要慎重考慮,角度太大或者太小都不合適,適宜的角度是1度 到 20度。

噪聲注入(Noise Injection):從高斯分布中采樣出的隨機(jī)值矩陣加入到圖像的RGB像素中,通過(guò)向圖像添加噪點(diǎn)可以幫助CNN學(xué)習(xí)更強(qiáng)大的功能。

內(nèi)核過(guò)濾器(Kernel Filters):內(nèi)核濾鏡是在圖像處理中一種非常流行的技術(shù),比如銳化和模糊。將特定功能的內(nèi)核濾鏡與圖像進(jìn)行卷積操作,就可以得到增強(qiáng)后的數(shù)據(jù)。直觀上,數(shù)據(jù)增強(qiáng)生成的圖像可能會(huì)使得模型面對(duì)這種類(lèi)型的圖像具有更高的魯棒性。

混合圖像(Mix):通過(guò)平均圖像像素值將圖像混合在一起是一種非常違反直覺(jué)的數(shù)據(jù)增強(qiáng)方法。對(duì)于人來(lái)說(shuō),混合圖像生成的數(shù)據(jù)似乎沒(méi)有意義。雖然這種方法缺乏可解釋性,但是作為一種簡(jiǎn)單有效的數(shù)據(jù)增強(qiáng)算法,有一系列的工作進(jìn)行相關(guān)的研究。Inoue在圖像每個(gè)像素點(diǎn)混合像素值來(lái)混合圖像,Summers和Dinneen又嘗試以非線(xiàn)性的方法來(lái)混合圖像,Takahashi和Matsubara通過(guò)隨機(jī)圖像裁剪和拼接來(lái)混合圖像,以及后來(lái)的mixup方法均取得了不錯(cuò)的成果。

隨機(jī)擦除(Random Erasing):隨機(jī)擦除是Zhong等人開(kāi)發(fā)的數(shù)據(jù)增強(qiáng)技術(shù)。他們受到Dropout機(jī)制的啟發(fā),隨機(jī)選取圖片中的一部分,將這部分圖片刪除,這項(xiàng)技術(shù)可以提高模型在圖片被部分遮擋的情況下性能,除此之外還可以確保網(wǎng)絡(luò)關(guān)注整個(gè)圖像,而不只是其中的一部分。

縮放變換(Zoom):圖像按照一定的比例進(jìn)行放大和縮小并不改變圖像中的內(nèi)容,可以增加模型的泛化性能。

移動(dòng)(Translation):向左,向右,向上或向下移動(dòng)圖像可以避免數(shù)據(jù)中的位置偏差,比如在人臉識(shí)別數(shù)據(jù)集合中,如果所有圖像都居中,使用這種數(shù)據(jù)增強(qiáng)方法可以避免可能出現(xiàn)的位置偏差導(dǎo)致的錯(cuò)誤。

翻轉(zhuǎn)變換(Flipping):通常是關(guān)于水平或者豎直的軸進(jìn)行圖像翻轉(zhuǎn)操作,這種擴(kuò)充是最容易實(shí)現(xiàn)的擴(kuò)充,并且已經(jīng)證明對(duì)ImageNet數(shù)據(jù)集有效。

裁剪(Cropping):如果輸入數(shù)據(jù)集合的大小是變化的,裁剪可以作為數(shù)據(jù)預(yù)處理的一個(gè)手段,通過(guò)裁剪圖像的中央色塊,可以得到新的數(shù)據(jù)。在實(shí)際使用過(guò)程之中,這些數(shù)據(jù)增強(qiáng)算法不是只使用一種,而是使用一套數(shù)據(jù)增強(qiáng)策略,在AutoAugment這篇文章中,作者嘗試讓模型自動(dòng)選擇數(shù)據(jù)增強(qiáng)策略。

第二個(gè)類(lèi)別是基于深度學(xué)習(xí)的數(shù)據(jù)增強(qiáng)算法——

特征空間增強(qiáng)(Feature Space Augmentation):神經(jīng)網(wǎng)絡(luò)可以將圖像這種高維向量映射為低維向量,之前討論的所有圖像數(shù)據(jù)增強(qiáng)方法都應(yīng)用于輸入空間中的圖像?,F(xiàn)在可以在特征空間進(jìn)行數(shù)據(jù)增強(qiáng)操作,例如:SMOTE算法,它是一種流行的增強(qiáng)方法,通過(guò)將k個(gè)最近的鄰居合并以形成新實(shí)例來(lái)緩解類(lèi)不平衡問(wèn)題。

對(duì)抗生成(Adversarial Training):對(duì)抗攻擊表明,圖像表示的健壯性遠(yuǎn)不及預(yù)期的健壯性,Moosavi-Dezfooli等人充分證明了這一點(diǎn)。對(duì)抗生成可以改善學(xué)習(xí)的決策邊界中的薄弱環(huán)節(jié),提高模型的魯棒性。

基于GAN的數(shù)據(jù)增強(qiáng)(GAN-based Data Augmentation):使用 GAN 生成模型來(lái)生成更多的數(shù)據(jù),可用作解決類(lèi)別不平衡問(wèn)題的過(guò)采樣技術(shù)。

神經(jīng)風(fēng)格轉(zhuǎn)換(Neural Style Transfer):通過(guò)神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移來(lái)生成不同風(fēng)格的數(shù)據(jù),防止模型過(guò)擬合。

如果想要閱讀更多的細(xì)節(jié),請(qǐng)參考這篇文章:

https://link.springer.com/article/10.1186/s40537-019-0197-0

自然語(yǔ)言處理數(shù)據(jù)增強(qiáng)

在自然語(yǔ)言處理領(lǐng)域,被驗(yàn)證為有效的數(shù)據(jù)增強(qiáng)算法相對(duì)要少很多,下面我們介紹幾種常見(jiàn)方法。

同義詞詞典(Thesaurus):Zhang Xiang等人提出了Character-level Convolutional Networks for Text Classification,通過(guò)實(shí)驗(yàn),他們發(fā)現(xiàn)可以將單詞替換為它的同義詞進(jìn)行數(shù)據(jù)增強(qiáng),這種同義詞替換的方法可以在很短的時(shí)間內(nèi)生成大量的數(shù)據(jù)。

隨機(jī)插入(Randomly Insert):隨機(jī)選擇一個(gè)單詞,選擇它的一個(gè)同義詞,插入原句子中的隨機(jī)位置,舉一個(gè)例子:“我愛(ài)中國(guó)” —> “喜歡我愛(ài)中國(guó)”。

隨機(jī)交換(Randomly Swap):隨機(jī)選擇一對(duì)單詞,交換位置。

隨機(jī)刪除(Randomly Delete):隨機(jī)刪除句子中的單詞。

語(yǔ)法樹(shù)結(jié)構(gòu)替換:通過(guò)語(yǔ)法樹(shù)結(jié)構(gòu),精準(zhǔn)地替換單詞。

加噪(NoiseMix):(https://github.com/noisemix/noisemix),類(lèi)似于圖像領(lǐng)域的加噪,NoiseMix提供9種單詞級(jí)別和2種句子級(jí)別的擾動(dòng)來(lái)生成更多的句子,例如:這是一本很棒的書(shū),但是他們的運(yùn)送太慢了。->這是本很棒的書(shū),但是運(yùn)送太慢了。

情境增強(qiáng)(Contextual Augmentation):這種數(shù)據(jù)增強(qiáng)算法是用于文本分類(lèi)任務(wù)的獨(dú)立于域的數(shù)據(jù)擴(kuò)充。通過(guò)用標(biāo)簽條件的雙向語(yǔ)言模型預(yù)測(cè)的其他單詞替換單詞,可以增強(qiáng)監(jiān)督數(shù)據(jù)集中的文本。

生成對(duì)抗網(wǎng)絡(luò):利用生成對(duì)抗網(wǎng)絡(luò)的方法來(lái)生成和原數(shù)據(jù)同分布的數(shù)據(jù),來(lái)制造更多的數(shù)據(jù)。在自然語(yǔ)言處理領(lǐng)域,有很多關(guān)于生成對(duì)抗網(wǎng)絡(luò)的工作:

Generating Text via Adversarial Training

GANS for Sequences of Discrete Elements with the Gumbel-softmax Distribution

SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient

回譯技術(shù)(Back Translation):回譯技術(shù)是NLP在機(jī)器翻譯中經(jīng)常使用的一個(gè)數(shù)據(jù)增強(qiáng)的方法。其本質(zhì)就是快速產(chǎn)生一些翻譯結(jié)果達(dá)到增加數(shù)據(jù)的目的?;刈g的方法可以增加文本數(shù)據(jù)的多樣性,相比替換詞來(lái)說(shuō),有時(shí)可以改變句法結(jié)構(gòu)等,并保留語(yǔ)義信息。但是,回譯的方法產(chǎn)生的數(shù)據(jù)嚴(yán)重依賴(lài)于翻譯的質(zhì)量。

擴(kuò)句-縮句-句法:先將句子壓縮,得到句子的縮寫(xiě),然后再擴(kuò)寫(xiě),通過(guò)這種方法生成的句子和原句子具有相似的結(jié)構(gòu),但是可能會(huì)帶來(lái)語(yǔ)義信息的損失。

無(wú)監(jiān)督數(shù)據(jù)擴(kuò)增(Unsupervised Data Augmentation):通常的數(shù)據(jù)增強(qiáng)算法都是為有監(jiān)督任務(wù)服務(wù),這個(gè)方法是針對(duì)無(wú)監(jiān)督學(xué)習(xí)任務(wù)進(jìn)行數(shù)據(jù)增強(qiáng)的算法,UDA方法生成無(wú)監(jiān)督數(shù)據(jù)與原始無(wú)監(jiān)督數(shù)據(jù)具備分布的一致性,而以前的方法通常只是應(yīng)用高斯噪聲和Dropout噪聲(無(wú)法保證一致性)。(https://arxiv.org/abs/1904.12848)

哈工大SCIR近年來(lái)在數(shù)據(jù)增強(qiáng)領(lǐng)域發(fā)表了若干論文,例如我中心主任劉挺教授在2017年ACL會(huì)議中提出一種簡(jiǎn)單而新穎的方法來(lái)自動(dòng)生成零指代消解的大規(guī)模偽數(shù)據(jù)[12]。侯宇泰等人于2018年COLING會(huì)議中提出了對(duì)話(huà)語(yǔ)義理解的序列到序列數(shù)據(jù)增強(qiáng),相比之前的工作,在生成新語(yǔ)句時(shí)不考慮語(yǔ)句間關(guān)系,他們利用訓(xùn)練數(shù)據(jù)中與一個(gè)語(yǔ)句具有相同語(yǔ)義的其他句子,提出了基于序列到序列生成的數(shù)據(jù)增強(qiáng)框架[13]。朱海潮等人提出一種數(shù)據(jù)增強(qiáng)算法來(lái)提升模型判斷問(wèn)題是否是可回答的問(wèn)題的能力[14]。

此外,這個(gè)倉(cāng)庫(kù)(https://github.com/quincyliang/nlp-data-augmentation)中介紹了一些自然語(yǔ)言處理中的數(shù)據(jù)增強(qiáng)技術(shù)。

總結(jié)

數(shù)據(jù)增強(qiáng)是增大數(shù)據(jù)規(guī)模,減輕模型過(guò)擬合的有效方法,但是,數(shù)據(jù)增強(qiáng)不能保證總是有利的。在數(shù)據(jù)非常有限的域中,這可能導(dǎo)致進(jìn)一步過(guò)度擬合。因此,重要的是要考慮搜索算法來(lái)推導(dǎo)增強(qiáng)數(shù)據(jù)的最佳子集,以便訓(xùn)練深度學(xué)習(xí)模型。

雖然相比于計(jì)算視覺(jué),自然語(yǔ)言處理領(lǐng)域中的數(shù)據(jù)增強(qiáng)應(yīng)用更少,難度也要更大,但是同時(shí)也意味著更大的機(jī)遇。

參考文獻(xiàn)

[1] Zhang, X., Zhao, J., & LeCun, Y. (2015). Character-level convolutional networks for text classification. In?Advances in neural information processing systems?(pp. 649-657).

[2]?Shorten, C., & Khoshgoftaar, T. M. (2019). A survey on image data augmentation for deep learning.?Journal of Big Data,?6(1), 60.

[3]?Jung, A. (2015). Image augmentation for machine learning experiments.

[4]?DeVries, T., & Taylor, G. W. (2017). Dataset augmentation in feature space.?arXiv preprint arXiv:1702.05538.

[5]?Xie, Q.,?Dai. Z.,?Hovy. E,.?Luong. M., &?Le. Q. (2019).?Unsupervised Data Augmentation for Consistency Training.?arXiv preprint arXiv:1904.12848.

[6]?Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: synthetic minority over-sampling technique.?Journal of artificial intelligence research,?16, 321-357.

[7]?Berthelot, D., Carlini, N., Goodfellow, I., Papernot, N., Oliver, A., & Raffel, C. (2019). Mixmatch: A holistic approach to semi-supervised learning.?arXiv preprint arXiv:1905.02249.

[8]?Wei, J. W., & Zou, K. (2019). Eda: Easy data augmentation techniques for boosting performance on text classification tasks.?arXiv preprint arXiv:1901.11196.

[9]?Yu, L., Zhang, W., Wang, J., & Yu, Y. (2017, February). Seqgan: Sequence generative adversarial nets with policy gradient. In?Thirty-First AAAI Conference on Artificial Intelligence.

[10]?Kusner, M. J., & Hernández-Lobato, J. M. (2016). Gans for sequences of discrete elements with the gumbel-softmax distribution.?arXiv preprint arXiv:1611.04051.

[11]?Jing, Y., Yang, Y., Feng, Z., Ye, J., Yu, Y., & Song, M. (2019). Neural style transfer: A review.?IEEE transactions on visualization and computer graphics.

[12]?Liu, T., Cui, Y., Yin, Q., Zhang, W., Wang, S., & Hu, G. (2016). Generating and exploiting large-scale pseudo training data for zero pronoun resolution.?arXiv preprint arXiv:1606.01603.

[13]?Hou, Y., Liu, Y., Che, W., & Liu, T. (2018). Sequence-to-sequence data augmentation for dialogue language understanding.?arXiv preprint arXiv:1807.01554.

[14]?Zhu, H., Dong, L., Wei, F., Wang, W., Qin, B., & Liu, T. (2019). Learning to Ask Unanswerable Questions for Machine Reading Comprehension.?arXiv preprint arXiv:1906.06045.

[15]?Inoue, H. (2018). Data augmentation by pairing samples for images classification.?arXiv preprint arXiv:1801.02929.

[16]?Cubuk, E. D., Zoph, B., Mane, D., Vasudevan, V., & Le, Q. V. (2018). Autoaugment: Learning augmentation policies from data.?arXiv preprint arXiv:1805.09501.

[17]?Zhong, Z., Zheng, L., Kang, G., Li, S., & Yang, Y. (2017). Random erasing data augmentation.?arXiv preprint arXiv:1708.04896.

[18]?Summers, C., & Dinneen, M. J. (2019, January). Improved mixed-example data augmentation. In?2019 IEEE Winter Conference on Applications of Computer Vision (WACV)?(pp. 1262-1270). IEEE.

[19]?Takahashi, R., Matsubara, T., & Uehara, K. (2019). Data augmentation using random image cropping and patching for deep CNNs.?IEEE Transactions on Circuits and Systems for Video Technology.

[20]?Zhang, Y., Gan, Z., & Carin, L. (2016). Generating text via adversarial training. In?NIPS workshop on Adversarial Training?(Vol. 21).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容