降噪自动编码器(Denoising AutoEncoder)+BERT

背景:随着科技发展。出现处理更多的高维数据,比如图像、语音。1)传统的统计学-机器学习方法:由于数据维度过高,数据单调,噪声分布广,传统的特征工程很难奏效。2)降维方法,如线性学习的PCA降维方法。但很难解决非线性问题。3)CNN:利用卷积、降采样两大手段从信号数据的特点上很好的提取出了特征。但无法处理一般的非信号数据。

自动编码器 :自动编码器基于这样一个事实:原始input 经过编码再解码后,得到x~,loss取x与x~的最大似然。自动编码器本身的设计,是为了得到中间的编码(提取的特征)。如果f和g是恒等映射,则毫无意义。因此,常常需要对y做一些约束。

其中的encoder 和decoder可以通过神经网络进行学习,神经网络的每一层都可以对信息进行非线性的变换。为了学习到有意义的特征,通常会给隐层加约束。1)隐藏维度< 输入数据维度,则网络试图以更小的维度去描述原始数据,而确保信息不丢失。类似PCA。

Auto-Encoder

降噪自动编码器:一个模型,能够从有噪音的原始数据作为输入,而能够恢复出真正的原始数据。这样的模型,是更鲁棒

BERT:BERT是一种基于Transformer Encoder来构建的一种模型,它整个的架构其实是基于DAE(Denoising Autoencoder,去噪自编码器)的,这部分在BERT文章里叫作Masked Lanauge Model(MLM)。MLM并不是严格意义上的语言模型,因为整个训练过程并不是利用语言模型方式来训练的。BERT随机把一些单词通过MASK标签来代替,并接着去预测被MASK的这个单词,过程其实就是DAE的过程。BERT有两种主要训练好的模型,分别是BERT-Small和BERT-Large, 其中BERT-Large使用了12层的Encoder结构。 整个的模型具有非常多的参数。

那么BERT/ALBERT采取了哪些噪声引入方式呢?

选取15%的token做mask --> 最常规做法,也是MLM的基础;

随机做n-gram mask --> 概率上增加连续mask的数量。连续mask可以让cloze test更难;

50%概率交换两个文本段 --> 虽然这是为了NSP/SOP任务组数据,但这种方式客观上也引入了文本段层面的语义乱序——毕竟做MLM的时候模型不知道两文本段次序是否被换过;

15%的[MASK]中,80%->[MASK]/10%->origin/10%->random_token --> 论文已提,为了减少mismatch,这个严格而言不算引入噪声;

15%的token会进行文本乱序 --> 文本乱序,自然是引入噪声,但由于MLM任务只会对[MASK] token做预测,所以文本乱序可以说是间接引入噪声;


链接:https://blog.csdn.net/weixin_41712499/article/details/107034864

https://kexue.fm/archives/7038/comment-page-1

https://www.zhihu.com/question/41490383

https://zhuanlan.zhihu.com/p/108031414

你可能感兴趣的:(降噪自动编码器(Denoising AutoEncoder)+BERT)