讲的是RNN:

1.RNN的基本概念:有记忆的neural network

案例:slot分类,比如地点啊,时间啊
有个订票系统,Slot Filling,听到用户说: I would like to arrive Taipei on November 2nd. 时,Slot Filling, 即识别出语音中 Taipei 对应 Destination 这个slot, November 2nd 属于 Time of arrival 这个slot, 而其它词汇不属于任何slot。

李老师说明:Feedforward network不能解决这个问题,因为Feedforward network是把word变成vector(e.g. 1-of-N encoding, word hashing)作为Feedforward network的输入,输出是该词汇属于slots(Destination, Time of arrival) 的概率,这样远远不够
有很多没有表示过的词汇

那比如说从台北出发,和到达台北,台北检索的时候不知道是出发还是离开,所以光检测是不够的,还需要有记忆:根据上下文的记忆,产生不同的output

1.1RNN特性

  • 因为是以时间为特性的网络架构,所以RNN中,hidden layer 的neuron产生的output会被存放到,memory中,之后的input,hidden layer不知考虑input,还会考虑memory
  • 另外:RNN会考虑input sequence的order,改变这个input的order,output也会随之改变
    比如输入是 1 1加上开始时memory存储的0 0 输出 2 2 相加4 4

    然后再把2 2 写到memory输出6 6相加12 12

    因为memory的值不一样所以同样的输入,可能会不同的输出

arrive先输入进去,然后存到memory。然后Taibei 作为X2 input进去,hidden layer会同时考虑memory 和input

同一个input ,memory ,导致output不同

  • RNN里面有一个双向的概念,指的是什么呢?就是说input的句子,可以正西读也可以反向读,把两者的hidden layer接到一个output layer上,这样的好处是,output看的范围广,看到整个input sequence
    先读xt再读xt+2,也可以反过来,正反方向都丢给yt,看的更远

1.2 听过Jordan Network
他的performance更好,当然是相比较Elman Network而言,Elman Network里面没有Target,导致有点难控制到底把什么东西放到Memory里面,Jordan是有target的

J是把整个output存进memory,output有target

2.LSTM:最常用的RNN

2.1概念:long short-term Memory:

  • 经典特征就是三个Gate:input gate,output gate ,forget gate,这三个门的开关都是netural network自己学的,input gate只有开着的时候,才让memory cell 写入东西,forget gate决定memory cell中的那些内容什么时候忘掉

  • 另外一个特性就是special neuron:4 input+1 ouput
    三个input是控制三个门开关的信号,一个input 是外界想存到memory cell里面的东西,不一定值能存进去
    学习什么时候开门,关门,什么时候可以读出来值

  • 相比较传统的RNN,他的特点在long,什么意思呢?传统是short-term memory,每次有新的memory,上一个都会被洗掉,LSTM控制,只要forget gate给的信号是不forget,memory的值就会永久被保存

2.2 还是举例子说明LSTM把
有一个常识就是,0:关,1:开 概率的事情用sigmoid函数知道把

  • 首先是4个scalar Z:zi,zo,zf,z
    z是怎么来的呢,input vector和weight vector计算内积+bias来,那weight vector和bias是training data用gradient decent学来的

  • 过的f用的是sigmoid函数,输出的0-1表示门开的程度,0:关 1:开
    f(zi)=1 时,允许输入; f(zi)=0 时,相当于无输入,f(zo)=1 时,允许输出;f(zo)=0 时,相当于无法输出。f(zf)=1 时,相当于记得memory cell中之前的值cc;f(zf)=0 时,相当于洗掉 memory 。z是需要存入的memory

z和zi两个结合组成input ,

input都是三维的vector,ouput都是一维的
当x2是1,写3 memory 4 得到7
当先x2是-1,重置memory 为0
当x3是1,输出 7被输出

三维乘三个weight+bias得到input

看懂这个图,memory和output

2.3:把LSTM放到netural network里

  • 你知道LSTM在哪个位置嘛?在x和a之间
    参数量变成了原来的4倍

    假设有两个netural,两个分别的4个input都不一样,所以参数量是四倍

    一排netural z zi zo zf都是三维,合起来操控运作

  • 把每个LSTM在时刻t的output ht 接到该LSTM在下一时刻的输入,同时所谓peephole的意思是把前一时刻memory cell中的值也拉到下一时刻的input中。即,操控LSTM4个input z,zi,zf,zo,z,时同时考虑了xt+1,ht,ct

  • Multiple-layer LSTM:多层是必然的,前一层各LSTM输出的ht 作为下一层对应LSTM的输入xt.

  • Keras:Keras支持三种RNN,LSTM, GRU,SimpleRNN
    GRU:LSTM的改进,两个gate,减少了参数避免了过拟合,performance与LSTM差不多

2020李宏毅学习笔记——15.Recurrent Netural Network 上相关推荐

  1. 2020李宏毅学习笔记——16.Recurrent Netural Network 下

    语音识别一定想到RNN,就像图片识别想到CNN一样. 英汉翻译有两种方法:一是语音识别,一是英汉对照直接training 1.RNN的learning 1.1loss function cross e ...

  2. 2020李宏毅学习笔记——8. Convolution Netural Network

    文章目录 摘要 1.CNN v.s. DNN 2. why CNN ? 原因1:Some patterns are much smaller than the whole image 原因2:The ...

  3. 2020李宏毅学习笔记——14.Convolution Netural Network

    CNN来了,他真的来了,带着迅速的步伐来了.那,yolo还会远吗. 1. Why 不DNN 1.1肯定是DNN有缺陷呀: 一般的全连接神经网络处理图像: 第一层识别一些最基础的线条 第二层就开始复杂 ...

  4. 2020李宏毅学习笔记——54.Anomaly Detection(4_7)

    解决一个问题, 什么问题呢? 理想的分类器是这样子的,下面是猫狗分类器: 如果有些动物没有猫的特征也没有狗的特征: 那我们会把这些东西放在边界上,分数会比较低. 但是有些动物有虽然不是猫狗但是有猫狗的 ...

  5. 台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network

    台大李宏毅Machine Learning 2017Fall学习笔记 (11)Convolutional Neural Network 本博客主要整理自: http://blog.csdn.net/x ...

  6. 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01

    @[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...

  7. Hadoop学习笔记—15.HBase框架学习(基础知识篇)

    Hadoop学习笔记-15.HBase框架学习(基础知识篇) HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase ...

  8. C++语言学习笔记15:Clean 垃圾清理插件

    C++语言学习笔记15:Clean 垃圾清理插件 对话框 STET1 图片切换功能 导入位图资源 插入图片控件并修改属性 添加消息处理函数 step2 开发思路及类关系图 step3 添加控件及MFC ...

  9. 区块链学习笔记15——ETH状态树

    区块链学习笔记15--ETH状态树 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 引入 要实现的功 ...

最新文章

  1. [pyinstaller]PermissionError: [Errno 13] Permission denied:C:\Users\xxx\AppData\Local\ucrtbase.dll
  2. SM32的USART串口设置
  3. SQL-连接查询:left join,right join,inner join,full join之间的区别
  4. JSONTools Validator的使用
  5. IDEA如何执行Maven命令总结
  6. 无胁科技-TVD每日漏洞情报-2022-7-12
  7. dither技术的原理及应用
  8. 别说华为语音助手不智能了,这3大隐藏功能都知道吗?实用又贴心
  9. 7种常见分布的数学期望及其证明
  10. Reactor模式详解(转)
  11. (ICML-2020)通过超球面的对齐和均匀性理解对比表示学习(一)
  12. matlab如何将函数做成幅度谱,好用的画包络谱和幅值谱matlab函数 | 学步园
  13. Scratch技巧—-使用克隆技术实现菜单按钮
  14. 剑网三服务器一直未响应,《剑网3》大师赛第二个比赛日赛后采访回顾
  15. iOS调试Bug技巧
  16. 伦敦8分钟,英国人在BBC上的留言,
  17. [网络工程师]-网络规划与设计-物理网络设计
  18. 基础练习-龟兔赛跑预测
  19. 计算机网络下一跳地址,计算机网络基础课程—IP路由
  20. 【ML吴恩达】1 机器学习和深度学习和AI的区别

热门文章

  1. 最速降线问题-泛函极值
  2. 记一次git冲突解决
  3. 【Python】8.有益的探索
  4. vue使用 svg图片以及修改svg图片颜色
  5. 「SDUDOC」个人总结报告
  6. 通过GCN来实现对Cora数据集节点的分类
  7. 鸿蒙是ui还是系统,鸿蒙系统UI图标设计抄袭ios?对比一下就知道了
  8. nexmo - 电话报警Alert
  9. linux服务器6t硬盘分区,linux多块6T大硬盘分区挂载GPT分区
  10. win7 搜索文件内容