深度学习-基于PyTorch的实现 课件 第7、8章 序列模型、深度生成模型_第1页
深度学习-基于PyTorch的实现 课件 第7、8章 序列模型、深度生成模型_第2页
深度学习-基于PyTorch的实现 课件 第7、8章 序列模型、深度生成模型_第3页
深度学习-基于PyTorch的实现 课件 第7、8章 序列模型、深度生成模型_第4页
深度学习-基于PyTorch的实现 课件 第7、8章 序列模型、深度生成模型_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章:序列模型主讲人:周静1.Word2Vec的原理与应用RNN与LSTM模型的工作原理如何训练一个RNN模型用于机器作诗如何训练一个LSTM模型用于乐曲生成编码-解码模型的原理如何训练一个端到端的机器翻译模型学习目标词嵌入词嵌入(WordEmbedding)词嵌入(WordEmbedding)是深度学习中一种流行的用于表示文本数据的方法,即将文本转换为数值的表示形式,一种常见的方式是转换为one-hot形式0123456789010000000001010000000020010000000…8000000001090000000001对0-9数字重新编码词汇表征与语义相似性预测括号中的内容Iwantabottleoforange()可能的方法步骤:把每个单词进行one-hot编码会形成一个超大的稀疏矩阵学习输入到输出的映射关系缺点:会产生维数灾难不能很好的获取词语与词语之间的相似性

对词语相似性的两种理解两个词经常在一起出现,例如:周末加班语义相关性——把这两个词的位置互换,相应的句子仍然是自然语言词语相似性本章更多关注的是语义相关性语义相关性的几何理解首先,把一个个抽象的词或句子映射到一个欧式空间中,因为欧式空间有距离的概念。需要建立一个映射关系,将词或者短句,映射到带有距离的高维欧式空间中。这样的目标称为词嵌入(WordEmbedding),即把一个个word(词),embed(嵌入)高维的欧氏空间中。词嵌入(WordEmbedding)举例:词嵌入的数学表达词嵌入就是要通过大量的文本数据学习,找到每一个词汇与高维空间的映射关系,表示该词汇在抽象空间中的位置,即它的坐标。三个词:酒店,宾馆,旅店所有的相对距离是保持不变的。这说明抽象空间中词汇的位置不可识别。词嵌入的理论原理词嵌入经典文献由托马斯·米克罗夫(TomasMikolov)等人在2013年ICLR大会上的一篇论文中提出根据上下文来预测中间词的连续词袋(continuousbag-of-words,CBOW)模型根据中间词来预测上下文的跳字(skip-gram)模型词嵌入的理论原理

词嵌入的理论原理

案例数据来源:IMDB影评数据集,收集了25000条IMDB网站上的英文影评文本及评论的情感正负向标签数据读入与展示词嵌入的程序实现分词及结果展示词嵌入的程序实现词嵌入函数——Word2Vec函数size:虚拟空间维度min_count:词频小于min_count的词不被考虑维度越低,参数越少,越灵活维度越高,参数越高,需要的样本量越大,计算时间越多词嵌入的程序实现词语相似性结果演示——model.wv.similarity函数词嵌入的程序实现绘制星空图进行可视化:bad、director、zombie词嵌入的程序实现RNN模型与机器自动作诗诗,是一种艺术作诗讲究“前言搭后语”机器作诗与回归分析机器作诗其实就是一个回归分析的概率问题。通过学习现有诗歌的搭配规律,机器也能作诗!机器作诗原理

机器作诗原理

RNN前期知识一个更为合理的建模方式对序列数据中的信息充分提取,将历史信息传递下来RNN前期知识

RNN前期知识

循环神经网络(RecurrentNeuralNetwork,RNN)是状态空间模型在文本序列数据上的一种具体的实现方法。它的核心思想是不断保留与传递历史信息,而保留和传递的载体就是状态。状态能够沉淀非常丰富的历史信息,有助于整个序列合理精确地向前演进。早期的相关RNN的文献RNN模型

RNN模型

更为一般的RNN模型展示

数据读入与展示读入与展示数据读入数据创建字符编码字典读入数据对诗歌进行编码,从原始数据到矩阵数据处理:从原始数据到矩阵数据处理:处理长短不一并对其X和Y这里需要注意的是数据,以“春眠不觉晓”这句诗为例,输入是“春眠不觉”,预测的目标是“眠不觉晓”:输入“春”的时候,网络预测的下一个字的目标是“眠”。输入“眠”的时候,网络预测的下一个字的目标是“不”。输入“不”的时候,网络预测的下一个字的目标是“觉”。输入“觉”的时候,网络预测的下一个字的目标是“晓”。……保证X和Y是这种“错位”的关系数据处理:补0、对齐X和Y构建RNN模型参数个数计算RNN写藏头诗poem_incomplete=‘深****度****学****习****‘…原理实现:RNN作诗LSTM模型与自动作曲RNN无法实现长期记忆性。skyFrench短句子长句子LSTM前期知识思考:如何实现长期记忆性?LSTM前期知识

LSTM前期知识长短期记忆模型(LongShortTermMemory,LSTM)——既兼顾长期记忆性(longtermdependency),又兼顾短期记忆性(shorttermdependency)LSTM是RNN的一个优秀的变种模型,能很好的处理“长距离依赖”问题。LSTM模型LSTM模型LSTM的非线性变换遗忘门——长期状态变量继承的更新输入门——长期状态变量吸收的更新输出门——长期状态变量的输出更新LSTM模型的三个门LSTM的非线性变换遗忘门——长期状态变量继承的更新:数据需要“过滤”一部分信息LSTM模型:遗忘门LSTM的非线性变换输入门——长期状态变量吸收的更新:下一时刻的状态需要加入多少“新信息”LSTM模型:输入门LSTM的非线性变换输出门——长期状态变量的输出更新LSTM模型:输出门MIDI乐曲文件格式介绍midi格式音乐的特征是其主要存储了音乐所使用的乐器以及具体的音乐序列(或者说音轨)及序列中每个时间点的音符信息。具体而言,每首音乐往往由多个音乐序列(或者说音轨)组成,即midi文件中的parts,(各个part在播放时是一起并行播放的)每个part又由许多elements组成,可以理解为就是按时间顺序排列的音符(包括和弦)序列,主要以数字和字母组合的音高符号来记录。利用LSTM自动作曲提供的文件Musicians:音乐家列表Seqs:乐曲序列Namelist:每首乐曲对应的音乐家例子:对音符进行编码利用LSTM自动作曲数据预处理统一维度,对于不足维度的进行补0处理(例如本例中设置为1000)与作诗类似,每次预测下一个音符,输入的是前一个音符教材中采取的是只把最后一个音符作为Y,其他前面所有的作为X(需要改进)利用LSTM自动作曲共有614首曲子,最大维度为1000,“掐头去尾”工作模型构建思路考虑到不同音乐家的乐曲风格存在差异,这里尝试用乐曲所属音乐家的序号(one-hot向量化)经可训练的dense层变换后的特征向量对不同音乐家乐曲的LSTM隐藏变量进行不同的初始化,以试图帮助模型适应不同音乐家在乐曲风格上可能存在的差异。利用LSTM自动作曲生成指定音乐家的音乐根据已有的部分乐谱,生成一首新的乐曲,并且考虑音乐家的要素。预测过程如下:首先,指定音乐家的风格,将其作为模型的一部分输入来进行隐藏状态的条件初始化其次,从所指定的音乐家乐曲中随机挑选一首作为提供部分乐谱的依据最后,与作诗模型预测类似的预测过程(只不过输入部分增加了我们所指定的音乐家向量)利用LSTM自动作曲编码-解码框架:机器翻译文本序列分析一个最广泛的应用就是机器翻译机器翻译原理机器翻译貌似很简单然而,现实是……回归分析视角模型挑战:长度不确定的时间序列,它的输出也是一个长度不确定的时间序列机器翻译解析与预测——seq2seqEncoder过程的任务是消化理解英文,将其变成状态空间中的状态变量。Decoder过程的任务是再次充分理解状态变量之后,以中文的方式把它翻译出来。机器翻译Encoder与Decoder步骤详解机器翻译Encoder与Decoder步骤详解机器翻译Encoder与Decoder步骤详解机器翻译数据展示数据集(data/cmn.txt)是采用人工翻译后的中英文语句,共20403条Wait! 等!Hello! 你好。Itry. 让我来。Iwon! 我赢了。Ohno! 不会吧。……案例:中英文翻译中英文文本准备中英文文本,首先初始化两个不同的列表,一个为English,另一个为Chinese,分别用来存储英文和中文词根。英语文本根据空格拆分中文文本利用jieba分词(在最前面需要添加一个无意义的字符B)输出:['If','I','were','you,',"I'd",'want','to','know','what','Tom','is','doing','right','now']['B','如果','我','是','你',',','我','不会','想','去','知道','Tom','现在','正在','做','什么','。']案例:中英文翻译中文/英文字符编码案例:中英文翻译补全数据:用0补齐建立输入变量和预测变量X_eng=eng_digitX_chs=chs_digit[:,:-1]Y=chs_digit[:,1:]print(X_eng.shape)print(X_chs.shape)print(Y.shape)输出:(20403,40)(20403,39)(20403,39)案例:中英文翻译仍然是“掐头去尾”的工作案例:中英文翻译第八章:深度生成模型主讲人:周静1.

深度生成模型的含义自编码器模型的结构与去噪应用变分自编码器的基本原理与图像生成应用生成式对抗网络的基本概念与理解如何训练一个DCGAN网络学习目标深度生成模型生成模型(GenerativeModels)生成模型(GenerativeModel)是一类机器学习模型,旨在通过学习数据的概率分布来生成新的数据样本。区别于判别模型(DiscriminativeModels),生成模型通过学习数据的联合概率分布P(X,Y),在给定数据下预测标签或者给定标签下预测数据。判别模型则是直接学习数据的条件概率分布P(Y|X)。深度生成模型(DeepGenerativeModels)深度生成模型(DeepGenerativeModels)是一类使用深度学习来生成数据的模型。这些模型通过学习数据的概率分布来生成新的数据样本。常见的深度生成模型包括变分自编码器(VAE)、生成对抗网络(GAN)和扩散模型(DiffusionModels)等。OpenAIDALL.E3图像生成模型变分自编码器自编码器自编码器(Autoencoder,AE)是一种利用反向传播算法使得输出等于输入的神经网络,自编码器将输入压缩并表征为潜在空间,并将这种潜在空间表征重构为输出。自编码器由编码器(Encoder)和解码器(Decoder)构成。MNIST图像去噪原理实现:自编码器图像去噪MNIST原始图像MNIST噪声图像AE去噪图像变分自编码器(VariationalAutoencoders)VAE:将图像编码为均值和方差AE是有损压缩,无法得到图像良好的潜在空间表达VAE是将图像编码为均值和方差后,再从中采样得到隐变量VAEVAE是一种深度生成模型,用于学习输入数据的高维分布。VAE通过将数据映射到一个低维潜在空间,并从这个空间中生成数据,以此来理解数据的结构。VAE结合了自编码器的架构和变分推断的原理,既能进行数据的压缩表示,也能用于数据的生成。编码器与解码器

VAE的正态分布配置为保证采样后的对应关系,VAE实际上是为每个输入样本配置了一个正态分布。VAE的推导-变分下界

ELBO推导与VAE损失函数最大化ELBO,相当于最小化KL散度项重参数技巧(ReparameterizationTrick)

VAE图像生成应用示例基于FashionMNIST的VAE图像生成生成对抗网络GAN(GenerativeAdversarialNets)通过对抗训练的方式,使生成器(Generator)和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论