Deep learning学习记录(课程5)The end

课程名: sequence model 我的理解是时间序列模型

此课程的主要内容是关于时间序列模型,这类模型的特点是数据是一个不定长的序列,且可能随着时间不断的变化。也就是说,每一段数据都有其时间戳,且这个时间戳对于整个数据的含义来说非常重要。试想一下,把一段文字的顺序如果打乱的话,那么这段文字还是原来的文字吗?要理解sequence model,在构建模型的时候就要考虑其前后的依赖关系。

核心内容: RNN + GRU + LSTM + word embedding(从one-hot编码映射到有含义的向量空间) + 基于注意力的模型 根据序列的性质,还可以有bi-direction和uni-direction两种(单向和双向)。

其中RNN是基本模型,从一个时间序列的输入得到一个输出(也可能是一个序列)。RNN的问题在于序列很长的时候梯度传递相当困难,造成训练难以收敛,后面的输出无法从很前面的输入中学习。RNN模型中时间序列的参数是共享的。

LSTM(长短期记忆模型) 和 GRU(gated recurrent unit)通过引入一系列的gate和一个记忆细胞(cell)解决了这个问题。lstm引入3个门:input/forget/output,gru引入2个门:update/reset。 我的理解是给cpu加了一个内存,通过门逻辑控制了这个内存,内存又作用于cpu使其工作的更好。需要注意的是,lstm和gru是模块化的block,用他们来替代rnn里面原有的block就可以,不会破坏原有网络的结构。

word embedding在我看来是一个很了不起的东西,基于现成的embedding我们也可以享受到超大数据和训练过程带来的便利,类似于图像领域的迁移学习。我们自己的模型可能不需要很复杂,就可以产出令人赞叹的效果,这都要归功于word embedding。作者还介绍了一个非常有意义的工作:算法纠偏。这个工作对于人类来说应该是很重要的,算法本身没有价值观,所以从数据中习得的东西带有了偏见,但不见得是好的(可能是事实),我们需要纠正它,比如:女性不擅长科技工作?诸如此类。

基于注意力的模型:
作者首先介绍了beam search,相对于贪心算法,beam的含义就是同时选择了n个不同的分支,在后面算概率的时候就多很多选择,从而避免了贪心算法局部最优的尴尬。 这就好比走迷宫,贪心算法只会走看起来最好走的路,但可能下一步走进死胡同;beam就是同时派n个人去探路,只要有一个走通了就好,从这n个人里面选一个走的最好的。
接下来是注意力模型:
首先我认为注意力模型是相当复杂的,它针对每个输出都会训练得到每个输入的权重,这个权重会在最终决定输入到底取决于谁。lstm改进了记忆,注意力的模型则更为彻底,我对这个模型的理解还是比较肤浅,这里就不多说了。但它在目前的机器翻译里面确实是至关重要的技术。
PS: BLEU(bilingual evaluation understudy),一种评估机器翻译效果的指标,很多论文会提到

上面是一个模型的示例。可以看到attention层夹在两个lstm中间,下面一个是双向lstm(因为对于翻译来说前后的语义都有关联),上面一个是单向的lstm(输出不需要双向了,一个个的往下生成就可以)。理论上来说attention层会很大的改善(可能是因为模型本身让当前的输出知道应该注意谁,理解的比较肤浅)。

rnn相关的技术主要应用在语音/语言相关的任务中,比如语音识别/机器翻译以及这两者结合的任务:实时的同声传译。我认为同声传译目前机器的表现离人类的最好表现还相差很远(现场体验过搜狗的所谓黑科技,可以说是漏洞百出了)。

这节课的作业基于keras,不是很熟,多亏了discussion forum才把作业顺利完成。

The end. Cheers!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值