RNN|看完发现RNN原来是这样,机器学习人门贴送上
白交 发自 凹非寺
量子位 报道 | 公众号 QbitAI
今天写给小白的机器学习入门贴 , 就来介绍一下什么是循环神经网络 , 也就是RNN 。
循环神经网络就是专门处理序列的 。 由于它们在处理文本方面的有效性 , 因此经常用于自然语言处理(NLP)任务 。
还是之前介绍的那个作者——Victor Zhou 。
本文插图
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组权重去完成它的计算 。
本文插图
此外 , 还需要两个偏差 。
本文插图
由此 , 这3个权重跟2个偏差 , 就完成了整个RNN的计算 。
将他们组合起来 , 方程式是这样的 。
本文插图
需要注意的是 , 这里的权重是矩阵 , 而其他变量是向量哦!
这里的第一个方程式 , 激活函数采用的是双曲线函数 , 当然用之前提到的S型函数也是OK的 。
文本是肯定还是否定?
接着 , 我们就来试着从头开始执行RNN吧 。
以一个简单的情感分析为例 , 就是判断一串给定的文本字符串是肯定的表达还是否定的 。
比如 , 这些数据集 。
推荐阅读
- 师站长|联想小新Air14笔记本到手,与多款笔记本对比后,却有了新发现
- zol中关村在线|苹果上架内存后发现太便宜,官方紧急调整
- 博科园|神奇啊!发现四处移动的活有机体,与地球的引力场排成一条直线!
- 蛋白质研究发现:一种蛋白质会导致乳腺癌加快恶化
- |看完这档真人秀,奇怪的知识又增加了
- 蓝媒汇|顺着“落满灰豪车”假消息,我们发现了“爆款工厂”的灰色秘密
- 科普中国网|手机号不用了,又不去注销会有什么后果?看完才明白…
- 威锋网|研究人员发现「使用Apple登录」功能存在安全漏洞
- KpopStarz娱乐|国家电视台都能进?韩国KBS洗手间发现隐藏摄像头,员工感到羞耻
- 华为|华为Mate40再次传来好消息:看完曝光信息,我放弃了iPhone!