教学参考-18
来自cslt Wiki
目录
教学目标
- 了解深度学习几个前沿方法:(1) 残差网络、(2)词向量与对象嵌入、(3)序列对序列模型、(4)注意力机制、(5)自注意力机制与上下文建模、(6)自监督学习与基础模型、(7)对抗生成网络、(8)变分自编码器
- 体会人工智能前沿的一些基础思想
- 这一节概念较多,适合高年级学生学习,双倍课时
教学内容
极深网络学习
- 研究者发现,网络越深,深度神经网络的性能越好。然而,过深的网络训练相对困难。为了解决这一问题,研究者提出了很多方法,其中残差网络具有重要意义。
- 所谓残差网络,简单地说是包含跨层连接的网络。跨层连接将主要信息直接传递过去,因此网络只需学习缺失的信息即可,这部分信息称为残差。
- 残差网络的一个重要特性是训练时的误差信号可以通过残差连接直接回传到网络底层,因此可极大提高训练效率。2015年,研究者利用一个多达152层的残差网络,在图像分类任务中一举超过了人类的标注精度。
词向量与对象嵌入
- 传统神经网络很难处理离散数据,如自然语言中的字和词。深度学习兴起以后,研究者提出对象嵌入(Object embedding)的概念,使神经网络得以处理离散对象。词向量是对象嵌入的代表性工作。
- 所谓词向量,是给每个单词设定一个连续向量,使得语义相关的单词依这个向量计算出来的距离更近,不相关的单词计算出来的距离更远。这相当于把单词映射到一个连续的语义空间中。
- 如右图所示,高园园和刘亦菲都是影视名星,因此离的比较近,但她们都和太阳离的比远较,因为后者是天体,和明星关系不大。
- 词向量的引入拓展了深度学习的应用疆域。有了词向量,就可以利用深度神经网络处理句子和篇章这些离散对象了。
- 受此启发,研究者相继提出各种对象嵌入技术,包括人脸嵌入、发音人嵌入、知识图谱实体嵌入等。这些嵌入技术为复杂对象的神经网络建模奠定了基础。
序列到序列模型
- 很多人工智能任务可以归结为从一个序列到另一个序列的转换任务,如机器翻译。传统机器翻译对输入句子进行细致解析,再基于解析结果进行逐词翻译。深度学习的研究者们提出一个非常简洁的模型:将输入序列用一个神经网络编码器压缩成一个固定维度的编码向量,再用一个神经网络解码器从这个向量中恢复出目标序列。这一方法在机器翻译领域取得极大成功。
- 序列到序列模型确立了编码-解码这一基础学习框架,众多机器学习任务都可以归入这一框架中。例如,语音识别是语音序列到文本序列的转换,图像分割是原始图像到分割图像的转换。类似的任务还包括通过一幅画做一首诗,或通过一个文本串生成对应的书法图片等。
注意力机制
- 序列到序列模型有个明显缺陷:当输入序列较长时,编码器难以将所有语义信息记录在编码向量中,导致解码出错。
- 研究者提出注意力机制解决了这一问题。如右图所示,编码器保留整个输入序列,在翻译“苹果”时,对每个输入单词计算合适的权重(注意“Apple”的权重最大),再基于这些权重对输入的单词进行加权求和,从而得到和“苹果”相对应的输入信息。
- 这一机制类似人类处理序列问题的行为方式。例如,在语言翻译过程中,我们会一边翻译一边关注输入句子的不同位置,尽量把句子的完整意思都翻译出来。因此,这一机制称为注意力机制。
- 右图是基于注意力机制的图片到句子转换模型。可以看到,在解码“Dog”一词时模型关注到狗出现的位置。
自注意力与上下文建模
- 在序列数据中,同一个单元在不同的上下文中意义是不同的。如“打发”和“打车”的“打”,“拼搏”和“拼图”的“拼”。传统语义嵌入不考虑上下文相关信息。
- 为有效处理上下文信息,研究者提出自注意力机制。如图所示,输出序列和输入序列一一对应,且前者是后者的编码。在对某一个单词进行编码时,基于注意力机制提取和该词相关的所有信息,从而得到上下文相关编码。
- 图示句子中,决定“苹果”上下文的是“吃”, 表明这个“苹果”是水果,而不是电子设备,所以注意力机制给“吃”赋予相对较大的权重。
- 目前,自注意力机制已经成为对序列数据进行上下文编码的基础方法,广泛应用于语音、图像、自然语言处理等任务中。
自监督学习与基础模型
- 深度学习需要大量数据,然而标注数据需要花费大量人力成本和时间成本。一种解决方案是利用无监督学习方法预先训练一个模型,再利用少量标注数据对模型进行精调,使之适应目标任务。
- 自监督学习是无监督学习的一种,它借用监督学习的模型形式(如结构、目标函数)和训练方法,但标注信息通过数据本身自动生成。一般来说,自监督学习的学习任务与目标任务具有一定相关性,但并不完全相同,因此称为目标任务的“代理任务”。通过代理任务的学习,可以得到较好的初始模型。
- 代理任务设计非常灵活。在语音中,代理任务可以是利用当前数据预测未来数据;在图像中,代理任务可以是利用分块乱序后的图片还原出原图片。
- 自监督学习使得人们可以利用海量无标注数据生成庞大的基础模型,这一模型通常可以为监督学习提供非常强大的初始模型。特别是在自然语言理解领域,基于海量文档资料训练出来的基础模型被认为可能包含了人类的知识主体,具有极高的价值。
对抗生成网络
- 近年来,深度学习在生成任务上也取得了极大成功。生成任务是指给定若干条件,由模型自动生成尽可能接近真实的数据,如人脸、声音、文本等,甚至氨基酸序列、物质微观结构等。
- 传统生成方法基于概率统计模型,这种方法需要较强的人为设计,难以生成高质量数据。深度神经网络通过理解数据的深层次结构,可以极大提高生成质量。
- 对抗生成网络(GAN )是一种典型的深度生成网络。它包含一个生成器和一个判别器。判别器的任务是尽可能区分生成的假数据和真实数据,而生成器的任务是尽可能逃避判别器的检查,让判别器分辨不出真假。
- GAN的学习方式类似于一个在学画画的学生,画完之后交给老师,让老师判断是学生画的还是真的历史名画。学生越画越精,老师的鉴赏能力也越来越高,到最后已经成为专家的老师都无法把学生画的和历史名画区分开,那么学生的作品肯定是达到了极高的水平。
变分自编码器
- 变分自编码器(VAE)是另一种典型的深度生成网络。如右图所示,输入数据经过编码器得到编码z,再经过解码器恢复出原始数据。
- 模型训练时指定z符合某一简单分布p(z),当训练结束时,从p(z)中生成一个随机样本z,经过解码器后即可生成逼近真实的数据。右图是DeepMind用VAE生成的不存在的人脸照片。
- VAE相比GAN的优势是不仅可以生成数据,还可以得到数据的编码,实现对数据的特征提取。