[Day18] NLP会用到的模型(二)-GRU

一. LSTM的问题

LSTM虽然非常强大,但LSTM也是有一个问题,就是计算时间较久导致执行速度较慢,毕竟它需要三个门都计算过~时间就是金钱,所以就产生了GRU(Gated Recurrent Unit),加速计算时间以及减少计算空间。

二. GRU

GRU全名为Gated Recurrent Unit,中文不太会翻译XD,整体架构上它比LSTM少了一个门,让他的运算时间少了许多,架构如下,图片一样来自於Coupy的'NLP 深度学习马拉松':
https://ithelp.ithome.com.tw/upload/images/20210918/20140426r7xhpEduuD.png

这边可以想成GRU将LSTM的三个门变成了一个'重设门'与一个'更新门',下面稍微说明一下这两个门的目的:

  • 更新门(Update Gate): 决定保留哪些上一个GRU单元的资讯多寡,可以想成LSTM的输入门与输出门的概念,有点像更新现在的状态~
  • 重设门(Reset Gate): 决定要丢弃多少先前资讯~这个门跟遗忘门所做的事很像,经过一个sigmoid function来决定要舍弃多少先前的资讯。

然後最重要的是GRU的输出没有C(cell state)只有h(hidden state)~

但其实GRU与LSTM效果没差很多~就是差在计算时间与空间,所以之前也看到有人在网路上说过类似: 通常可以利用LSTM作为最初的选择,但当你有非常庞大的训练资料时,可以考虑使用GRU。

GRU大概说明到这~


明天预计带过一些这些model的应用情境,然後会利用LSTM实作POS任务


<<:  Day 18 实作表单 (1)

>>:  物件与类别 (object and class)

Day06 测试写起乃 - before、after

before 用法比较像是在测试之前你需要哪些前置作业? after 就是在测试之後要做哪些事情? ...

Day 5【JavaScript】可以看到,将近是20公分的深度

【前言】 我的习惯是先在 Youtube 看完落落长的影片,然後才去 Coursera 看看有什麽...

[Day4]PHP变数命名规则

PHP变数命名规则 PHP 中的变数用一个美元符号後面跟变数名称来表示。变数名是区分大小写的。 变数...

Day 13:Python基本介绍06 | 函数、读写档案、引用

早安安! 今天是Python基本介绍的最後一天了~ 6天真的太短了,有好多东西想讲但都讲不完 ಥ⌣ಥ...

WUSON CISSP应考策略

参加WUSON CISSP的培训课程,请大家务必上课作好笔记、课後复习及课前预习喔! 笔记是通过考...