台湾大学深度学习课程 学习笔记 lecture3-1 Recurrent Neural Network (RNN)

以下内容和图片均来自台湾大学深度学习课程。
课程地址:https://www.csie.ntu.edu.tw/~yvchen/f106-adl/syllabus.html

Recurrent Neural Network (RNN)循环神经网络常被用到的领域是Language Modeling,下面就从Language Modeling方法的发展,引入RNN。

Language Modeling

多个word组成一句话,根据一句话出现的概率可以得到更符合语法结构和有意义的句子。
比如根据给出的一段语音,可以得到两种完全不同的句子“recognize speech”、“wreck a nice beach”,但是“recognize speech”出现的可能性更大。

Language Modeling

N-Gram Language Modeling

想要估算出word sequence的概率,首先介绍了N-Gram Language Model 方法,是一种传统处理的方法。只考虑前面 (n1) 个words出现的概率。比如句子“我是谁”,令 n=2 ,“谁”这个字只考虑前面的“是”。

N-Gram

那么如何确定概率呢?
这需要先收集大量的训练资料使用机器学习的方法去训练得到概率。

概率计算

还有一个问题,假如搜集的训练集中有些sequences并没有出现,而恰好这些sequences就出现在了测试数据中。那么sequences概率就是0,这就会导致上面连乘公式 P(w1,w2,...,wm)=0 。哪怕其他概率再大,只要出现一个未知的0,最终结果也是0 。

解决方法也很简单,叫 Smoothing,就是对这些没有出现,后面计算概率是直接赋予一个比较小的结果,比如“0.0001”。在一些情况下,效果还是不错的,但是这种简单粗暴的方法总是会存在一些问题,首先准确度不够,其次不同的情况赋予值是相同的。

解决方法

以上就是传统的处理方法,存在一些局限性。下面介绍使用深度学习的方法。

Feed-Forward Neural Language Model

假设我们已经有了一个训练好的神经网络模型,可以输入数据然后的到各种word出现的概率。
下图中,输入不同的vector(黄色),经过相同的神经网络模型(蓝色区域)进行预测,得到不同word出现的概率,选择所需的概率 P 。例如,输入 vector of “wreck”,选择对应的 “a”出现的概率 P(next word is a

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值