【DL】2 Attention入门——李宏毅机器学习课程笔记

由RNN和Attention条件生成

  • 1. Generation
  • 2. Attention
    • 2.1 Attention-based model
    • 2.2 Memory Network
    • 2.3 Neural Turing Machine
  • 3. Tips for Generation
    • 3.1 Scheduled Sampling
    • 3.2 Beam Search
    • 3.3 强化学习
  • 4. Pointer Network
  • 小结

视频链接

1. Generation

按组件生成结构化对象组件(Generating a structured object component-by-component)

  • 句子是由字符/语料库组成的——通过RNN每次生成一个字符/单词
    【DL】2 Attention入门——李宏毅机器学习课程笔记_第1张图片

  • 图像是由像素组成的——每次用RNN生成一个像素

    【DL】2 Attention入门——李宏毅机器学习课程笔记_第2张图片
    【DL】2 Attention入门——李宏毅机器学习课程笔记_第3张图片
    【DL】2 Attention入门——李宏毅机器学习课程笔记_第4张图片
    RNN可以生成图像、手写汉字、语音、文字

为什么要条件生成:

  • 我们不希望简单地生成一些随机的句子
  • 根据条件生成句子

【DL】2 Attention入门——李宏毅机器学习课程笔记_第5张图片

  • 将输入条件表示为一个矢量,并考虑此作为RNN发生器的输入

【DL】2 Attention入门——李宏毅机器学习课程笔记_第6张图片

  • 机器翻译/聊天机器人(Sequence-to-sequence learning)

【DL】2 Attention入门——李宏毅机器学习课程笔记_第7张图片
这是个很好的例子:聊天时需要考虑较长的语境,例如再考虑以下对话,如果再说一次’Hi’就显得很僵硬……所以可以把很多句子放到一起进行学习
【DL】2 Attention入门——李宏毅机器学习课程笔记_第8张图片

2. Attention

Dynamic Conditional Generation
【DL】2 Attention入门——李宏毅机器学习课程笔记_第9张图片

  1. 有时候Encoder不能很好的把一个句子变成一个向量
  2. 让Decoder在产生’machine’的时候只需要考虑’机器’,只需要考虑相关的就好了

2.1 Attention-based model

机器翻译为例看一下Attention-based model
【DL】2 Attention入门——李宏毅机器学习课程笔记_第10张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第11张图片
关于 α 1 α_1 α1的产生没有一个公认的最好的方法,你可以这样:
【DL】2 Attention入门——李宏毅机器学习课程笔记_第12张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第13张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第14张图片
以上的技术也可以应用到语音识别上面

【DL】2 Attention入门——李宏毅机器学习课程笔记_第15张图片
或者图像标题生成(对图像产生一段说明)

【DL】2 Attention入门——李宏毅机器学习课程笔记_第16张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第17张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第18张图片
以下亮的地方是机器的Attention所在的地方,注意到长颈鹿生成的时候是长颈鹿周围的场景,以下都是一些表现良好的场景
【DL】2 Attention入门——李宏毅机器学习课程笔记_第19张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第20张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第21张图片
以上结果看起来表现非常好

2.2 Memory Network

对Memory上进行Attention
【DL】2 Attention入门——李宏毅机器学习课程笔记_第22张图片
可以考虑把一个句子拆成两个向量

【DL】2 Attention入门——李宏毅机器学习课程笔记_第23张图片
关于Hopping:

【DL】2 Attention入门——李宏毅机器学习课程笔记_第24张图片

2.3 Neural Turing Machine

不只从Memory里训练出数据,他还可以根据match score修改Memory的数据

【DL】2 Attention入门——李宏毅机器学习课程笔记_第25张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第26张图片
实际上由k生成attention的步骤如下所示:

【DL】2 Attention入门——李宏毅机器学习课程笔记_第27张图片
相信没有兴趣知道它,所以跳过,接下来根据attention和e、a的值修改Memory的值

【DL】2 Attention入门——李宏毅机器学习课程笔记_第28张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第29张图片

3. Tips for Generation

Training的技巧

【DL】2 Attention入门——李宏毅机器学习课程笔记_第30张图片
训练和测试之间的不匹配
【DL】2 Attention入门——李宏毅机器学习课程笔记_第31张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第32张图片
一步错,步步错:
【DL】2 Attention入门——李宏毅机器学习课程笔记_第33张图片
修改训练过程?

使训练与测试相匹配,当我们尝试减少步骤1和步骤2的损失时…在实践中,这样的训练方式很难
【DL】2 Attention入门——李宏毅机器学习课程笔记_第34张图片

3.1 Scheduled Sampling

【DL】2 Attention入门——李宏毅机器学习课程笔记_第35张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第36张图片

3.2 Beam Search

绿色路径的分数更高,不可能检查所有的路径
【DL】2 Attention入门——李宏毅机器学习课程笔记_第37张图片
每一步都要保持几条最佳路径
Beam size = 2
【DL】2 Attention入门——李宏毅机器学习课程笔记_第38张图片
本例中beam的尺寸为3:

【DL】2 Attention入门——李宏毅机器学习课程笔记_第39张图片
以下说明了为什么采样比直接把概率分布作为输入训练效果要好一些

【DL】2 Attention入门——李宏毅机器学习课程笔记_第40张图片

3.3 强化学习

对象级(Object level)与组件级(Component level)

【DL】2 Attention入门——李宏毅机器学习课程笔记_第41张图片
R不好进行微分,当句子和reference相同时,输出为0,调参数时结果不变,所以解决办法可以是强化学习

【DL】2 Attention入门——李宏毅机器学习课程笔记_第42张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第43张图片

4. Pointer Network

【DL】2 Attention入门——李宏毅机器学习课程笔记_第44张图片
Sequence-to-sequence?
【DL】2 Attention入门——李宏毅机器学习课程笔记_第45张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第46张图片
Problem?效果不好,而且训练的长度和测试的输入长度可能不一样

【DL】2 Attention入门——李宏毅机器学习课程笔记_第47张图片
这样输入的数量变化,输出的数量也跟着变化

【DL】2 Attention入门——李宏毅机器学习课程笔记_第48张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第49张图片
【DL】2 Attention入门——李宏毅机器学习课程笔记_第50张图片
更多的应用——机器翻译、聊天机器人……

【DL】2 Attention入门——李宏毅机器学习课程笔记_第51张图片

小结

这次课Conditional Generation by RNN & Attention:

  1. 从那个聊天很僵硬知道了条件生成的目的但是具体怎么解决?就是Attention(动态条件生成)吗难道
  2. Attent原理差不多知道什么意思了,需要编程动手实践一下;Memory Network和Neural Turing Machine一知半解的
  3. Scheduled Sampling就是train到后面,不用reference用model来train,可以防止出现没有的数据集;Beam Search就是为每个路径赋予一定的值,但是不可能遍历完,所以选最大的两个;强化学习提了一下,编程实现估计不简单
  4. Pointer Network提了一下,原理感觉和Attention差不多,但不像based model那样把Attention和输入向量相乘,而是直接输出输入的这个值,应用场景了解了一下,编程实现估计也用不太到

你可能感兴趣的:(【课程学习】,机器学习,人工智能,attention,神经网络,循环神经网络)