Introduce

  • 为什么会有RNN模型?
           每次涉及到新概念时候总不禁要问自己,为什么要引入这么模型,深度学习有深度网络DNN、图片识别CNN等,他们都是一次性输出内容的全部来识别或预测一个分类结果,然而生活中还存在另一类问题,当前的输出并完全取决于当前的输入其还依赖,这个时间点以前的输入数据,试想CNN可以做到吗?它在输入一副图片后经过卷积池化等过滤后最终输出分类,下一张图片依然这么按设定好的结构运算,貌似和前面一幅图片没有毛关系。
  • 解决了啥问题?
           再比如生活中常见的例子考试时做完形填空,我们都是结合上下文来填词,不读上下文那你填错的概率会很高,上下文的作用是提高了我们填对的概率,前面我们涉及的n-gram等模型也可以记住前后几个单词但还是太少,n=4时已经很难计算,这篇rnn为我们解决了和时间有关的序列问题,序列问题并不单单只文字序列,右前后排序时间先后的问题都叫序列问题。

RNN

basic

让我们先来看看最基本的rnn结构,如下图:

       上图中举了一个例子,采用one-hot编码输入也可以采用其它编码方式,如word2vec,输出为它属于词典8000个单词中哪个的概率大,不过在分类问题时我们并不关心中间每个输出的概率结果,我们关心的是最终分类结果。
       在结构上它还有参数共享机制:同cnn类似,rnn也有餐宿共享机制,好像rnn共享的更多一些,cnn只在卷积池化时有共享卷积核,而最简单的rnn整个网络共享一组参数U V W,这样极大提高了网络训练时间。
       这是一个单向的rnn,它只记住了一个单词前面的内容没有记住后面的,经常需要结合上下文判断才能判断出来,这样一来有人提出来了,双向rnn结构。

Bidirectional RNN

结构和主要运算如下:

       双向rnn也容易理解,仅把两个方向单向的rnn相加组装起来,构成了一个双向的,都在图里了。
       如果想再增强rnn表达能力,再增加隐层个数即可,这点很想mlp rnn等,神经网络都是随着网络深度增加表达能力越来越强。

Back Propagation Through Time

已经有了网络结构那么让我们看一下这个rnn网络是如何优化各个权重参数,mlp大家都知道是BP来优化,这里也是类似思想求解参数的梯度,首先要做的是定义loss function ,进而才能对参数u v w求梯度,由于这里是多分类概率问题,交叉熵损失可以表达预测概率和目标概率的差异度,所以我们选择交叉熵来作为损失,如下:

       从图上也可以看出来,恒左边为预测结果概率定义域为[0,1],损失函数随着横坐标逐渐增大在减小.

有了损失函数我们开始求梯度,以w为例,如下:

       上面是依据求导链式法则一次展开各层依赖关系,最后到So层,依据求导法则将各层导数相乘,即可求导最终导数。

Long Short Term Memory

lstm处理过程感觉可以理解为我们的大脑处理问题过程,每个人精力记忆有限不可能把各行各业知识都学会都记住,rnn就像傻瓜式大脑没有对知识进行管理和加工,一下都把输入的记住了,记忆的东西有限,时间长了很久以前的知识自然忘记了,lstm本质在于对自己记住的东西精细化管理,增加了一个细胞状态来保存大脑里面在线有啥记住了,并且对输入的知识选择认为不重要的过滤掉,俗称“忘记门”,忘记多少呢很容易想到一个概率函数sigmoid()来实现,同时对于输入的新知识还要选择该记住哪些,把重要的过滤出来记住,即“输入门”也用sigmoid来控制。

如上图中三个公式,分别表示忘记多少、新入多少、更新当前记忆三步,我们要先从原理上来理解,公式只是帮我们实现的手段,思想是我们的灵魂。

思考

  • lstm为什么比rnn好?
    lstm比rnn最大优势在于解决了长序列记忆问题,解决的方法在于将感觉在于细胞状态计算时将rnn中的乘法关系改为了加法关系,即使序列边长也不容易导致梯度弥散出现,问题依然可解,其次加入了过滤器(忘记门)、过滤器(输入门)等,lstm目前在各种场景如翻译、语音等领域都有成功应用。
  • 为什么lstm中既有sigmoid激活函数还有tanh?
    这个首先要了解这两激活函数在结构中起的作用,看看能否去掉或者替换成别的,sigmoid函数作用于门forget gate 、input gate、outputgate,门做的事是开关,有两种极限状态完全开、完全闭,也可以过滤一部分,正好同sigmoid极致0-1相对应,所以sigmoid发挥的作用不好替换;tanh为双曲正切,值域为[-1,1],来控制输出值,这个作用其它函数可能可以替换。
  • rnn 和 word2vec的关系
    word2vec是用来表示表达一个句子或词的表达模型,表达完了输出一个向量输入到rnn中接受训练,它们解决的问题不一样,用在的阶段不一样。

随笔

德鲁克定律
现代管理学开创者,其很多管理理念被很多大公司应用效果显著,如在知识社会中每个人都是自我管理者,都可以管理自己的行为。
1.需要用任务的契约式来管理
2.工作主动性 如果我是老板 怎么做
工作主动是做好一件事的前提
3.自己相关工作 参与决策
这是知识型员工体现,好的领导会逐渐让员工自己处理事情
4.如果删除“成就”,代替的为贡献
强调成就带来问题
1.企业或个人看重短期看到结果
比如大学教师 重课时、论文数量而对于难度大有意义事情缺乏主动
2.机构大的 短期很难看得见效果
公司的最大价值在于给客户更好服务、 员工更多机会、 股东更多回报

深度学习 (六)Long Short Term Memery相关推荐

  1. 推荐系统遇上深度学习(六)--PNN模型理论和实践

    全文共2621字,21张图,预计阅读时间15分钟. 原理 PNN,全称为Product-based Neural Network,认为在embedding输入到MLP之后学习的交叉特征表达并不充分,提 ...

  2. 深度学习六、图像风格迁移

    所谓图像风格迁移,是指利用算法学习著名画作的风格,然后再把这种风格应用到另外一张图片上的技术. 1 图像风格迁移的原理 在学习原始的图像风格迁移之前,可以先回忆一下ImageNet图像识别模型VGGN ...

  3. 深度学习(六) Word Embedding

    Word Embedding 前言 一.One-hot编码 1.为什么使用one-hot编码? 2.什么是one-hot编码? 3.one-hot编码的优缺点 二.Word Embedding(词嵌入 ...

  4. 深度学习(10):PointNet论文翻译与学习

    PointNet:用于 3D 分类和分割的点集的深度学习 PointNet: Deep Learning on Point Sets for 3D Classification and Segment ...

  5. ApacheCN 深度学习译文集 20210112 更新

    新增了六个教程: TensorFlow 2 和 Keras 高级深度学习 零.前言 一.使用 Keras 入门高级深度学习 二.深度神经网络 三.自编码器 四.生成对抗网络(GAN) 五.改进的 GA ...

  6. ApacheCN 深度学习译文集 2020.9

    协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3.c 在线阅读 ApacheCN 面试求职交流群 72418 ...

  7. 深度学习——结构递归神经网络(Recursive NN)

    深度学习--结构递归神经网络(Recursive NN) 1.递归神经网络介绍 目前,递归神经网络一共包含两种,一种是时间递归神经网络(Recurrent NN),另外一种是结构性递归神经网络(Rec ...

  8. 吴恩达深度学习笔记六:序列模型

    周末出去耍了一下,回来又玩了两天游戏,耽误了好多时间啊,关键是连输20多局.哎,以后还是少玩游戏,多去做些有趣的事情吧,免得费时费力还不开心. 1. 循环神经网络(RNN:Recurrent Neur ...

  9. 使用Keras进行深度学习:(六)LSTM和双向LSTM讲解及实践

    ###欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 介绍 长短期记忆(Long Short Term Memor ...

最新文章

  1. Cocos本地存储LocalStorage
  2. Oracle the network adapter could not establish the connection
  3. spfa 判断负环 (转载)
  4. centos7时间同步_centos 8.x系统配置chrony时间同步服务
  5. html实现图片加载动画效果,HTML5+javascript实现图片加载进度动画效果
  6. 004-全局应用程序类Global.asax
  7. 【kafka】The group member needs to have a valid member id before actually entering a consumer group
  8. Java事务之八——分布式事务(Spring+JTA+Atomikos+Hibernate+JMS)
  9. php curl获取404,php使用curl判断网页404(不存在)的方法
  10. 修复VSS 2005
  11. python爬虫cookie
  12. 基于jQuery的一个简单的图片查看器实现
  13. VBox 快照备份虚拟机
  14. 互联网平台埋点方案对比 Mixpanel vs Heap vs GrowingIO vs MTA
  15. 《互联网时代》第二集·浪潮
  16. 2017年10米分辨率全球土地覆盖产品(FROM-GLC10)Python下载爬虫
  17. C#操纵Word的坑
  18. 一小时前华为鸿蒙操作系统放出了源代码
  19. 图像去雾算法的原理、实现、效果
  20. IE-LAB网络实验室:华为认证 北京华为认证,思科ccie,sp ccie 思科ccnp 新版EI CCNP有什么变化

热门文章

  1. Mobile APP(Apple IOS app store)特性分析
  2. Windows11初体验——感觉图标变圆润、界面更清爽了
  3. Leetcode P620 DFS解法,思路简单易懂
  4. 360剑灵洪门崛起服务器维护,剑灵洪门崛起————【维护】10月24日更新维护公告...
  5. 【蓝牙】基于Android的蓝牙开发
  6. wpa/wpa2破解系统(CDlinux)U盘启动傻瓜教程
  7. 使用StretchBlt函数实现绘制透明位图
  8. android 做渠道统计,umeng 渠道统计 android
  9. POJ 3233 矩阵快速幂 等比数列
  10. Ldap ldapsearch