word2vec与深度学习-随记

栏目: 数据库 · 发布时间: 5年前

内容简介:给你前面的句子,我来告诉你应该回答什么。不一定是句子,可以是字或符号。这里有一个问题,如果你把每个单字作为模型输入的话,你把x1,x2,x3输入分类器,而分类器每次只能处理一个x。例如当你输入"你",我告诉你下一个字是"瞅",你告诉我"瞅",我告诉你下一个字是"啥",你告诉我"啥",我告诉你"瞅你咋地?!",用人的思维想就知道,这是不可能的,因为歧义太多了,如果我们是一个一个塞进我们的分类器的话,他们之间的关系是不能被保证的,不知道整个语境有多长,不知道语境下面它到底是什么意思,这时我们需要一种带记忆的神
word2vec与深度学习-随记

给你前面的句子,我来告诉你应该回答什么。不一定是句子,可以是字或符号。

这里有一个问题,如果你把每个单字作为模型输入的话,你把x1,x2,x3输入分类器,而分类器每次只能处理一个x。例如当你输入"你",我告诉你下一个字是"瞅",你告诉我"瞅",我告诉你下一个字是"啥",你告诉我"啥",我告诉你"瞅你咋地?!",用人的思维想就知道,这是不可能的,因为歧义太多了,如果我们是一个一个塞进我们的分类器的话,他们之间的关系是不能被保证的,不知道整个语境有多长,不知道语境下面它到底是什么意思,这时我们需要一种带记忆的神经网络来解决这个问题。

带记忆的神经网络

word2vec与深度学习-随记

X1输入保留它的状态,x2输入保留它的状态,x3输入后,输出整体的Ot

word2vec与深度学习-随记

s是指记忆的状态。

记忆

word2vec与深度学习-随记

如果说我的(context)对话非常长,例如今天吃 吃的怎么样,今天天气 天气怎么样,然后你又问刚刚 穿山甲说了什么?对于这种情况,如果我们只考虑前面的对话的话,穿山甲说了什么?你是完全不记得的。穿山甲说的话在很早之前就说过了,而现在又有人问这句话,最好的方式是 比如说把整个对话句子都囊括进RNN的N(context里面),但这件事有个非常大的问题是不经济实惠,要花太多的计算量来记住太多的东西。对于这问题怎么办,于是就有个RNN的升级版LSTM。

RNN的N(context)是要设置的,你要告诉它看有多长的路要看,多长的历史要看,把Xt的关联关系都得考虑上。

LSTM(长效的短期记忆 long short-term memory)

word2vec与深度学习-随记
word2vec与深度学习-随记
word2vec与深度学习-随记
word2vec与深度学习-随记
word2vec与深度学习-随记
word2vec与深度学习-随记

案例

题目原型:What's Next? 可以在不同的维度上:

  • 1.下一个字母是什么?
  • 2.下一个单词是什么?
  • 3.下一个句子是什么?(问答机器人)
  • 4.下一个图片/音符/...是什么?

文本分类

word2vec与深度学习-随记

把一个句子看成一幅画,然后用卷积神经网络来看这幅画。

CNN4Text

word2vec与深度学习-随记
word2vec与深度学习-随记

用滤镜处理出各种不同的特征图

word2vec与深度学习-随记

每个词处理成6维的向量,每个句子组成一个矩阵,矩阵的高是句子的长,宽是词向量。

word2vec与深度学习-随记

把每个句子做成特征向量,然后用一个一维的filter来扫描。

为什么CNN可以处理text,而RNN也可以处理text,他们的区别是?

word2vec与深度学习-随记

RNN它认为它是在模拟我们人类在看到句子的时候是一个单词一个单词进入我们的眼睛的。RNN被用在生成模型上。对生成而言我们是不能容忍语病存在的,我们要保证每句话从头到尾逻辑严谨,前后之间关系都是好的。

word2vec与深度学习-随记

我们人在看到一句话时,是以一幅画的形式进入眼睛的。CNN被用在分类模型上。CNN可以把语病的句子也模拟的很好,就是说意思上相近的东西,都能被CNN认为是一种分类。对分类而言我们要容忍语病的存在。

上面句子中的关键字(看,话,感)当做是注意力。

边界处理

我们该如何申请一个filter。申请一个3*3的filter在矩阵的中心会工作的很好,但是在矩阵的边际会怎样呢?矩阵的第一个元素,其顶部和左边都没有相邻元素,你该如何将filter应用到这样的元素上?你可以使用zero-padding(0填充)所有落到矩阵以外的元素都将用0代替。这样你就可以将filter应用到你输入的任何矩阵中了,并且可以得到一个更大或等大的矩阵作为输出。添加zero-padding也被称为wide convolution,而不使用zero-padding的将称为narrow convolution。下图是一个1维的例子:

word2vec与深度学习-随记

Narrow vs. Wide Convolution. Filter size 5, input size 7. Source: A Convolutional Neural Network for Modelling Sentences (2014)

当你的filter比输入的size还大时,你可以看到wide convolution是多么的有用,甚至说是必须的。如上所示,narrow convolution产出的尺寸是(7-5)+1=3,而wide convolution产出尺寸是(7+2*4-5)+1=11。通常,输出尺寸的规则表达式为:

word2vec与深度学习-随记

在上图我们可以看到一个典型的Stride Size为1的Convolution,而更大的Stride Size可以让你建立一个类似与RNN结构的模型,也就是看起来像一棵树。


以上所述就是小编给大家介绍的《word2vec与深度学习-随记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hit Refresh

Hit Refresh

Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37

Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具