机器学习和深度学习摘抄
1.
$\ell_{joint} = \ell_{ele} + \lambda_{adv} \ell_{adv}$
其中 $\ell_{ele}$ 是逐元素的重建损失 , $\ell_{adv}$ 是对抗损失, $\lambda_{adv}$ 用于平衡二者。 我们用修复序列与原始序列之间的$L_2$距离作为为逐元素的重建损失。重建损失可以解释为修复的内容错误,它是负责衡量修复结果的整体结构损失,但由于对腐蚀部分的不确定性,倾向于将模型的预测结果进行平均。 因而修复的序列往往看起来模糊且视觉上不真实。对抗损失可视为序列修复的风格损失,迫使解码网络从多种可能性结果中挑选出特定的预测模式而产生看起来逼真、自然的修复序列,即符合真实序列的分布。
2. 解码器以编码向量为输入尝试重建数据,因此解码器是条件生成模型。
3. autoencoder的任务如果是重建输入序列,对于大容量的AutoEncoder而言其缺点就是可能会只去学习一些不重要的表征信息甚至直接存储输入序列的信息,然而这些直接存储的信息对于预测未来的视频帧没有用的,因此整个复合模型不能仅仅存储输入序列的信息。另一方面,autoencoder的任务如果是重建预测以后的序列,其缺点在于可能会只存储对于预测未来帧比较重要的最后几帧的相关信息,这将会使得编码器得到的表征遗忘掉了大部分的输入,而对于AutoEncoder的重建而言,其不会允许整个模型只关注输入序列的最后的几帧。
4. 优化最大似然意味着调整生成模型的参数,以最大程度地提高模型生成观测数据的概率。
5. 在2013年,Welling和Kingma提出了变分自编码器,其思想是,编码器采集数据并将其转换为实数值编码向量,解码器利用实数值编码向量重建数据。编码器的目的有两个:第一,它希望找到一种编码,可以在先验分布下最大化该编码的概率。在实数值编码空间中,存在先验分布,通常为高斯分布,编码器尝试查找接近该高斯均值的编码。第二,它也在寻找可以重建数据的编码。解码器获取编码并尝试准确地重建数据,使用的是变分近似方法。通过使用巧妙的数学,Welling和Kingma能够获得训练变分自动编码器所需的所有导数,从而既能最大化编码处于高斯先验分布的概率,又能利用变分后验最大化数据的近似概率。
6. BERT是一种深度自编码器,经过训练可以补充句子中遗漏的单词。BERT实际上与信息检索非常相关,因为它可以提取非常好的单词表征。这对于理解文档非常有用。BERT有很多个层,并且在每一层中,都有每个输入单词的嵌入向量。第一个隐藏层中有单词的向量表征,第二个隐藏层中有相同单词的更好的向量表征。随着深入网络,给定单词的表征将变得越来越好。实际上,L + 1层中的某个单词的表征,是通过比较L层中该单词的嵌入与其它单词的嵌入生成的。这种比较是通过称为Transformer的注意力机制实现的。这种嵌入是很好的单词表征,可用于各种自然语言任务。
7. 生成模型包括隐马尔可夫模型HMM、朴素贝叶斯模型NB、高斯混合模型GMM、VAE等。
8. encoder编码得到的特征向量code一般要比input的维度更低,如果更高,则要小心了,因为如果encoder-decoder的任务是重建input的话,那么网络可能会直接把input复制到code里,也就是说其实网络没有进行学习,直接就把input复制到code中然后decoder把code解码一下,得到和input完全一样的output。所以,如果code的维度比input大的话,最好要给code加上一些很强的regularization,比如L1,即让code稀疏。(摘自https://www.bilibili.com/video/av15889450/?p=33,第21分钟)
9. inference(推理)指的是计算条件概率 ,即在观察到某些随机变量的取值时,计算其它变量的各个取值的概率或它们的联合概率。
10. PCA(principal component analysis),主成分分析法,是KL变换在协方差矩阵下的引申,KL变换是最优的正交变换,PCA也是这样一个正交变换。正如线性代数中的施密特正交化方法,将一个矩阵做正交变换是很有必要的,因为变换之后的矩阵在新的空间中可以由正交基分解,而每个正交基之间有最小的相关性:因为它们两两垂直。因此,PCA的目的是降低离散随机变量的相关性,使得数据在一个正交变换之后的新空间中具有最小的相关性,这样独立成分就可以被最大化分离,这是直观定性理解。PCA做的不仅仅是降维,更是自编码器一个基本的雏形,其意义不仅在于压缩参数,更在通过压缩后的参数重现原始信息。