量子位 机器学习人门贴送上,看完发现RNN原来是这样
白交发自凹非寺
量子位报道|公众号QbitAI
今天写给小白的机器学习入门贴 , 就来介绍一下什么是循环神经网络 , 也就是RNN 。
循环神经网络就是专门处理序列的 。 由于它们在处理文本方面的有效性 , 因此经常用于自然语言处理(NLP)任务 。
还是之前介绍的那个作者——VictorZhou 。

文章图片
RNN有什么用?
传统的神经网络 , 以及CNN , 它们存在的一个问题是 , 只适用于预先设定的大小 。
通俗一点 , 就是采用固定的大小的输入并产生固定大小的输出 。
就比如上次提到的CNN例子 , 以4×4图像为输入 , 最终指定输出2×2的图像 。
而RNN呢?它专注于处理文本 , 其输入和输出的长度是可变的 , 比如 , 一对一 , 一对多 , 多对一 , 多对多 。
看这个图 , 我想你就可以明白了 。

文章图片
其中 , 输入是红色、RNN本身是绿色 , 输出为蓝色 。
这种处理序列的能力十分有用 , 于是 , RNN就有了丰富的应用场景 。
比如 , 机器翻译 。
像你见到的 , 某歌、某道、某度 , 还有最近很火的DeepL翻译器 , 它们都是“多对多”进行的 。
原始文本序列被馈送到RNN , 然后RNN生成翻译后的文本作为输出 。
再比如 , 情绪分析 。
通常使用的是“多对一”的RNN进行 。 将想要分析的文本输入到RNN中 , 然后产生一个单一的输出分类 。
举个例子:分析一个评论是正面还是负面的评论 。
输出得出:这是一个肯定的评论 。
怎样实现RNN?
我们就先来考虑一下 , “多对多的RNN , 输入为x0、x1、x2……xn , 输出为y0、y1、y2……yn , 这些xi , yi都是向量 , 具有任意维度 。
RNNs的工作原理是迭代更新一个隐藏状态h , 它是一可以有任意维度的向量 。
而对于任意的一个ht:
1、由对应的输入xt与上一个隐藏层ht-1来计算2、输出yt是由ht计算出的结果 。
这样 , 前一次的输出结果 , 就会带到下一次的隐藏层中 , 跟着一起训练 。 这样看 , 是不是就感受到了循环二字了 。

文章图片

文章图片
每一个步骤都是采用的相同的权重 , 通常来讲 , 一个典型的RNN通常只需3组权重去完成它的计算 。

文章图片
此外 , 还需要两个偏差 。

文章图片
【量子位 机器学习人门贴送上,看完发现RNN原来是这样】由此 , 这3个权重跟2个偏差 , 就完成了整个RNN的计算 。
将他们组合起来 , 方程式是这样的 。

文章图片
需要注意的是 , 这里的权重是矩阵 , 而其他变量是向量哦!
这里的第一个方程式 , 激活函数采用的是双曲线函数 , 当然用之前提到的S型函数也是OK的 。
文本是肯定还是否定?
接着 , 我们就来试着从头开始执行RNN吧 。
以一个简单的情感分析为例 , 就是判断一串给定的文本字符串是肯定的表达还是否定的 。
比如 , 这些数据集 。

文章图片
从这个表格看出 , 我们将使用“多对一”的RNN类型 。

文章图片
每个输入x都将是一个向量 , 代表文本中的一个单词 。
而输出y则是一个包含两个数字的向量 , 一个代表正数 , 一个代表负数 , 然后应用Softmax将这些值转化为概率 , 并最终得出正负 。
推荐阅读
- 崇明区委组织部|崇明区:抓统筹 抓重点 抓融入 全面推进“四史”学习教育
- 金山区委组织部|金山区房管局:念好“三字诀”扎实推进“四史”学习教育
- 扫地机器人哪个牌子好?高效清洁首选德国大牌
- 机器人|达闼科技赴美上市一路坎坷 列入“实体名单”后会回归A股吗
- 搞笑大魔王|我的心里感觉很不是滋味啊,搞笑GIF趣图:看到老婆学习拉丁舞
- 追着幸福跑|两只“量子柴郡猫”交换笑脸
- 空心|红米K30系列之618销量冠军!学习荣耀跳水换销量?
- 光一样的少年|电商大促爆仓 智子跃迁分拣机器人直击行业痛点
- 玩玩直播|传奇:玩法师?快捷键这样设置PK最强!不来学习下吗
- 博科园量子计算机诞生,再连接光量子通信网络,就能实现量子互联网啦!
