李宏毅老师课程:Conditional Generation by RNN & Attention

2018 台大李宏毅老师RNN第一课 -- 课件及笔记 https://www.yuque.com/duzh929/szyxim/qg7d0s https://www.yuque.com/duzh929/szyxim/qg7d0s 阅读详情

Generation

可以generation文字,也可以generation图片
在这里插入图片描述
如果想生成一张图片,我们可以把图片的每个pixel看成一个character,从而组成一个sentence,比如下图中蓝色pixel就表示blue,红色的pixel表示red,…

接下来就可以用language model来生成图片,最初时间步的输入是特殊字符BOS
在这里插入图片描述
对于一般的generation,如下图的右上部分所示,先根据蓝色pixel生成红色pixel,再根据红色pixel生成黄色pixel,再根据黄色pixel生成灰色pixel,…,并没有考虑pixel之间的位置关系

还有另外一个比较理想的生成图像方法,如果考虑了pixel之间的位置关系,如下图的右下部分所示,黑色pixel由附近的红色和灰色pixel生成
在这里插入图片描述
在上图的左上角部分,该lstm块输入了三组参数,也输出了三组参数,把这些方块叠起来就可以达到中部位置图像的效果
在这里插入图片描述
在这里插入图片描述

Conditional Generation

在这里插入图片描述
如果要对一张图片进行解释,我们先使用一个CNN model将image转化为一个vector(红色方框),先生成了第一个单词"A",在生成第二个单词时,还需要将整个image的vector作为输入,不然RNN可能会忘记image的一些信息
在这里插入图片描述
RNN也可以用来做机器翻译,比如我们想要翻译“机器学习”,就先把这四个字分别输入绿色的RNN里面,最后一个时间节点的输出(红色方框)就包含了整个sentence的information,这个过程称之为Encoder

把encoder的information再作为另外一个rnn的input,再进行output,这个过程称之为Decoder

encoder和decoder是jointly train(联合训练)的,这两者的参数可以是一样的,也可以是不一样的
在这里插入图片描述
encoder将之前所有说过的话都进行整合了,再作为decoder的input
在这里插入图片描述

Attention

Dynamic Conditional Generation

如果需要翻译的文字非常复杂,无法用一个vector来表示,就算可以表示也没办法表示全部的关键信息,这时候如果decoder每次input的都还是同一个vector,就不会得到很好的结果

因此我们现在先把“机器”作为decoder的第一个输入,这样就可以得到更好的结果
在这里插入图片描述

Machine Translation

绿色方块为RNN中hidden layer的output;还有一个vector,是可以通过network学出来的;把这两者输入一个match函数,可以得到match分数

这个match函数可以自己设计,可以有参数,也可以没有参数
在这里插入图片描述
得出的结果再输入softmax函数进入下一步运算
在这里插入图片描述
再来计算match分数
在这里插入图片描述
再继续算出input,从而得出第二个单词“learning”
在这里插入图片描述
一直重复这个过程,只到全部翻译完成
在这里插入图片描述

Speech Recognition

语音信号也可以看成一系列的vector sequence,第一个红色方框所在的帧match分数很高,就把对应的vector放到decoder,machine就会得出“h”
在这里插入图片描述

Image Caption Generation(图片字幕生成)

image可以分成多个region,每个region可以用一个vector来表示,计算这些vector和 z 0 z^0 z0之间match的分数,为0.7、0.1…,再进行weighted sum,得到红色方框的结果,再输入RNN,得到Word1,此时hidden layer的输出为 z 1 z^1 z1
在这里插入图片描述
再计算 z 1 z^1 z1和vector之间的match分数,把分数作为RNN的input,从而得出Word 2
在这里插入图片描述
这里是一些具体的例子
在这里插入图片描述

Memory Network

问machine一个问题,machine能够给出对应的答案
在这里插入图片描述
还有一个更加复杂的版本
在这里插入图片描述
在这里插入图片描述

Neural Turing Machine(神经图灵机)

Neural Turing Machine不仅可以读取memory的内容,也可以根据match分数来修改memory的内容;即你不仅可以通过memory读取information,也可以把information写到memory里面去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Tips for Generation

Attention

attention是可以调节的,有时会出现一些bad attention,在产生第二个word(women)时,focus到第二个component,在产生第四个word时,也focus到第二个component上,也是women,多次attent在同一个frame上,就会产生一些很奇怪的结果
在这里插入图片描述
Good Attention:至少要包含input的每一个frame,每个frame都应该attent一下,每个frame进行attent的量也不能太多,这个量最好是同等级的

Mismatch between Train and Test

在这里插入图片描述
在这里插入图片描述
Exposure Bias(曝光偏差):在training的时候,input为真正的答案;但在testing的时候,input为上一个时间节点的output

在下图中,由于RNN从来没有到右子树B训练过,但如果在testing时一开始就遇到了B,network就会出现错误
在这里插入图片描述

Modifying Training Process?

那么我们如何解决这种mismatch问题呢?可以尝试modify训练process

如果machine现在output B,即使是错误的output(和reference A不一样),我们也应该让这个错误的output作为下一次的input,那么training和testing就是match的

但在实际操作中,training是非常麻烦的;现在我们使用gradient descent来进行training,第一个gradient的方向告诉我们要把A的几率增大,output B,在第二个时间点,input为B,看到reference为B,把B的几率增大,就可以和reference相对应起来;

但实际上,第一个output为A的几率上升,那么output发生了变化,第二个时间点的input就发生了变化,是A;那么我们之前学习到的让B上升就没有意义了
在这里插入图片描述

Scheduled Sampling

由于使用Modifying Training Process很难train,现在我们就使用Scheduled Sampling

对于到底是model里的ouput,还是reference来作为input,我们可以给一个几率;铜板是正面,就使用model的output,如果是反面,就用reference

右上角的图,纵轴表示from reference的几率,一开始只看reference,reference的几率不断变小,model的几率不断增加
在这里插入图片描述
在这里插入图片描述

Beam Search(光束搜索)

在这里插入图片描述
同时走两条path
在这里插入图片描述
在这里插入图片描述

Better idea?

为什么不直接把distribution作为下一个input呢?即下图中的右图

但右边的结果会比较差,对于几率接近的输入,左图会sample一个几率最高的(高兴),但右图会保留这个distribution
在这里插入图片描述

Object level v.s. Component level

在这里插入图片描述

Reinforcement learning?

在这里插入图片描述
在这里插入图片描述
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

李宏毅机器学习2016 第二十二讲 循环神经网络RNN 视频链接:李宏毅机器学习(2016)_演讲•公开课_科技_bilibili_哔哩哔哩 课程资源:Hung-yi Lee 课程相关PPT已经打包命名好了:链接:https://pan.baidu.com/s/1c3Jyh6S 密码:77u5 我的第二十一讲笔记:李宏毅机器学习2016 第二十一讲 隐马尔可夫模型与条件随机场 Recurrent Neur 阅读详情

相关推荐

李宏毅教授Attention课程笔记总结

Generation 可以用RNN生成文本、图片(grid lstm)、视频、手写字、语音 *grid lstm Conditional generation:不是随机产生,而是有情境地产生 应用:image caption/machine translation/chat-bot Encoder和Decoder的参数可以一样或者不一样,当参数一样时,参数比较少,比较不容...

weixin_42825220的博客 1619

机器学习-28-Conditional Generation by RNN&Attention(条件生成和注意力机制)

文章目录GenerationConditional GenerationAttentionDynamic Conditional GenerationMachine TranslationSpeech RecognitionImage Caption Generation(图片字幕生成)Memory Network(在Memory上做attention)Neural Turing Machine(神经图灵机)Tips for GenerationAttention的正则化Mismatch between T

迷雾总会解 1352

junyi PSLC 数据集处理 —— txt 转 csv

网上的代码 import numpy as np import pandas as pd txt = np.loadtxt('junyi_ProblemLog_for_PSLC.txt') txtDF = pd.DataFrame(txt) txtDF.to_csv('junyi_ProblemLog_for_PSLC.csv',index=False) 实测不行 改进的代码 import numpy as np import pandas as pd txt = np.genfromtxt('ju

APythonC的博客 1068

李宏毅深度学习ppt总结

Lecture 1: introduction of deep learning 深度学习3步骤: 1.定义神经网络 2.loss 评价 预测值和真实的测试数据的目标值进行比对,它们的差距就是Loss。一个好的神经网络应该使loss尽可能小。 3.获取最佳的神经网络参数(学习方法) 采用梯度下降算法 Lecture II:Tips for Training DNN A.网络优化训练 ...

qq_43145072的博客 4033

04目标检测-Two-stage的目标检测算法

前面我们对进行了对比分析,同时上一篇我们介绍了传统算法在目标检测的原理和效果,此篇我们记录了我学习目标检测算法的深度,深入讲述一下深度学习算法在目标检测的原理和效果。原文链接:https://blog.youkuaiyun.com/qq_41946216/article/details/132800752。版权声明:本文为优快云博主「爱吃面的猫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。One-stage(YOLO和SSD系列):直接回归目标位置。

qq_41946216的博客 3651

Zephyr,设备树概述

Zephyr使用设备树(DTS)描述硬件配置,通过设备树源码和绑定文件生成C头文件供开发使用。设备树采用树状结构,节点对应硬件设备,属性描述硬件特性。示例展示了I2C总线及其外设的节点层级关系,包括单元地址、兼容性标识等关键属性。构建系统将设备树转换为devicetree.h中的宏,使开发者能通过DT_前缀宏访问硬件信息,同时保留Kconfig覆盖默认值的能力。

汽车电子软件领域知识分享 723

李宏毅机器学习:RNN(上)

以订票系统中的Slot Filling为例,我们希望订票系统听到用户说:”I would like to arrive Taipei on November 2nd.” 时做好Slot Filling, 即识别出语音中 Taipei 属于 Destination 这个slot, November 2nd 属于 Time of arrival 这个slot, 而其它词汇不属于任何slot。 能否用F...

lavender*的博客 1017

数字IC后端手把手实战教程 | Innovus verify_drc VIA1 DRC Violation解析及脚本自动化修复方案

数字IC后端实战项目案例之Innovus verify_drc DRC Violation脚本自动化修复方案

weixin_37584728的博客 4054

深度学习Conditional Generation by RNN & Attention的原理和方法(李宏毅视频课笔记)

文章目录0 前言1 Generation1.1 Base Method1.2 Conditional Generation(有条件的生成)1.2.1 Image Caption Generation1.2.2 Machine Translation1.2.3 Chat-bot(聊天机器人)2 Attention2.1 Machine Translation(Attention-based Model)2.2 Speech Recognition2.3 Image Caption Generation(Att

双鸭山•克里菲斯•北方孤星之堕 1336

微信公众号网页H5跳转小程序实战指南(开放标签wx-open-launch-weapp)微信H5跳转小程序、wx-open-launch-weapp、小程序跳转按钮、微信开放标签、H5打开小程序

跳转小程序(wx-open-launch-weapp)唤起App显示支付按钮等等……而我们这次要用的,就是跳转小程序的标签。场景是否支持服务号网页✅ 支持小程序静态网页托管✅ 支持订阅号❌ 不支持微信外部浏览器❌ 不支持这个“开放标签”功能其实很强大,除了跳转小程序,还有唤起APP、跳支付、调用客服等能力。但可惜资料零散,很多坑等着你亲自踩一遍。这篇文章我整理的流程基本涵盖了从“能不能跳”到“怎么跳”的完整路径,希望你能像我一样省下几个小时的踩坑时间。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1163

thinkphp 微信商户转账到微信用户零钱(v3密钥版)(含SDK和文档)

一种是用v3密钥的接口:微信商户转账到零钱(听说是v2接口的微信商户容易被限制,后来就改成v3了)这几天做项目有一个需求,小程序用户提交记录后,商家后台审核通过自动转账到用户的微信零钱中.今天分享下如何实现自动打款,v3微信商户转账到零钱。接口返回状态查看原因。

hanzhuhuaa的博客 428

【李宏毅2020 ML/DL】P53-55 Conditional Generation by RNN & Attention & Pointer Network& Recursive

介绍了很多,主要是基于 NLP 技术。

记录学习痕迹的公众号:Piper蛋窝 1489

Claude Code 任务编排 头脑风暴与 疯狂拷问:Superpowers vs Grill-me 硬核对比与工程落地

Superpowers和Grill-me是AI编程中的互补工具:Superpowers提供工程化开发流程(从需求梳理到代码审查),确保规范执行;Grill-me通过持续追问帮助厘清需求,避免方向偏差。两者结合形成"构思-拷问-执行"工作流,前者负责方案生成与落地,后者专注需求审查。根据场景选择:个人项目可用Grill-me快速澄清需求,企业项目推荐Superpowers全流程,复杂开发则建议组合使用。它们分别解决"如何落地"和"是否对齐"的问题,共

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 328

李宏毅 2020 深度学习与人类语言处理 DLHLP-Conditional Generation by RNN and Attention-p22

前言 本文是李宏毅 2020深度学习与人类语言处理 DLHLP 课程中 Conditional Generation by RNN and Attention 部分的笔记。这一课属于 Self-StudyAutoregressive Generation部分,看了一下应该是 17 年 Post 出来的。 https://speech.ee.ntu.edu.tw/~hylee/dlhlp/2020-spring.html课程官网 Autoregressive Generation-p22 哔哩...

Haulyn5的博客 804

红火蚁巢穴AI智能识别,提供方案与思路!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1045

【推荐100个unity插件】Animator 的替代品?—— Animancer Pro插件的使用介绍

Animancer与Unity Animator对比及使用指南 摘要: 本文对比了Animancer与Unity官方Animator的核心差异,分析了Animancer的优势特点。Animancer采用代码驱动模式,相比Animator的状态机系统更灵活高效,支持实时调试、动态混合和深度逻辑集成。文章详细介绍了Animancer的快速使用方法,包括动画播放、切换和触发机制,并区分了免费版与专业版的功能差异。适合需要高效动画开发、复杂交互逻辑的中小项目,为开发者提供了一种现代化的动画解决方案。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2435

李宏毅深度学习(五):Conditional Generation by RNN & Attention

最近看了李宏毅老师的深度学习视频课程,真的是讲得十分细致,从头到尾看下来一遍,对深度学习模型有了一个基本的认识,趁着脑子还能记着一些东西,赶紧把学到的东西记录下来,以备后用。 视频地址:https://www.bilibili.com/video/av9770302/from=search&seid=905421046757750252 ppt地址:http://speech.ee.ntu...

abcdefg90876的博客 61

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

阅读笔记--《Abstractive Text Summarization using Sequence-to-sequence RNNs and Beyond》

本文主要是对论文中的算法技巧和创新点进行总结介绍,借鉴了一些博主的文章也有一些自己的理解。 一、论文的基准模型 Sequence-to-Sequence 参考 https://blog.youkuaiyun.com/dcrmg/article/details/80327069 Seq2Seq是一类End-to-End算法框架,是从序列到序列转换模型框架,一般是通过Encoder-Decoder(编码/解码...

czc的博客 1168

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

台湾大学李宏毅机器学习课程

李宏毅((Hung-yi Lee)目前任台湾大学电机工程学系和电机资讯学院的助理教授,他曾于2012年获得台湾大学博士学位,并于2013年赴麻省理工学院(MIT)计算机科学和人工智能实验室做访问学者。他的研究方向主要是语义理解、语音识别、机器学习和深度学习)老师的机器学习课程以机器学习和深度学习的基础知识为主,包含了AI领域的各种最新知识和技术点。课程深入简出,通俗易懂,颇受欢迎,非常适合对AI感兴趣的学习者。本课程已经获得李宏毅老师授权。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

李宏毅:conditional generation by RNN & attention

1、Generation 生成句子或者文章。 在生成好的RNN模型里,我们输入开头,模型可以输出一系列的输出,如下图,我们根据输出得到了“床”,然后把“床”作为下一个时间点的输入,得到“前”,依次类推。这是测试时的一种做法,并不是唯一做法。在训练RNN模型的时候,并不是拿上一时刻的输出当作下一时刻的输入,而是拿句子真正的序列当作输入的。 2、condition generation 我...

jiaojiaolou的博客 1223

李宏毅机器学习笔记——16. Conditional Generation by RNN&Attention(RNN条件生成与注意力机制)

摘要: 文章目录1. generation(生成)1.1 生成句子1.2 生成图片2. Conditional Generation(条件生成) 1. generation(生成) 模型通过学习一些数据,然后生成类似的数据。我们可以生成一个句子,文章,图片,声音等。 1.1 生成句子 如上图中以生成句子为例:通过RNN生成一个句子 做法:我们将特殊字符BOS(begin of sentence)输入(BOS是经过机器训练得到的一个vector),在第一个RNN的输出中得到一个character distr

weixin_44790306的博客 1640

第十八节 Conditional Generation by RNN & Attention

Reast1nPeace的博客 233

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

由RNN和Attention条件生成1. Generation2. Attention3. Tips for Generation4. Pointer Network 视频链接 1. Generation 按组件生成结构化对象组件(Generating a structured object component-by-component) 句子是由字符/语料库组成的 通过RNN每次生成一个字符/单词 图像是由像素组成的 每次用RNN生成一个像素 RNN可以生成图像、手写汉字、语音、文字,但

YoungSeng's Blog 864

李宏毅学习笔记21.Conditional Generation by RNN&Attention

文章目录简介Generation例子Conditional GenerationAttentionMachine TranslationSpeech RecognitionImage Caption GenerationMemory NetworkNeural Turing MachineTips for Generationattention的正则化Mismatch between Train ...

老毛的博客 937

李宏毅机器学习笔记

一.Regression1.机器学习的分类1.根据生成结果分类2.根据运用场景分类3.根据model分类2.机器学习三大步1.step12.step23.step34.总结step1:loss on training data small or large?step2:loss on testing data small or large?3.机器学习三大步三级目录 1.机器学习的分类 1.根据生成结果分类 Regression:scalar classification:binary or multipl

qq_16600319的博客 865

Classification:Probabilistic Generative Model(概率生成模型)

分类问题输入数值化How to do Classification三级目录 分类问题就是输入找⼀个function,它的input是⼀个object,它的输出是这个object属于哪⼀个class 以宝可梦为例,已知宝可梦有18种属性,做⼀个宝可梦种类的分类器,找⼀个function的input是某⼀只宝可梦,output是这只宝可梦属于这18属性中的哪⼀个。 输入数值化 要想把⼀个东西当做function的input,就需要把它数值化,即用一组数字来描述一只宝可梦的特性(可以理解成各项属性的种族值) Ho

APythonC的博客 966
上一篇: 李宏毅老师课程:Network Compression
下一篇: 李宏毅老师课程:Unsupervised Learning:Neighbor Embedding
APythonC
博客等级 码龄7年 23粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值