javascript|人工智能中CNN和RNN技术原理和区别?( 二 )


文本中的实体提取是一个很好的例子 , 说明序列中不同部分的数据如何相互影响 。 对于实体 , 句子中实体之前和之后的词直接影响它们的分类方式 。 为了处理诸如句子之类的时间或顺序数据 , 我们必须使用旨在从序列中的过去数据和“未来数据”中学习的算法 。 幸运的是 , 递归神经网络正是这样做的 。
什么是递归神经网络?
递归神经网络结构
递归神经网络是旨在解释时间或顺序信息的网络 。 RNN使用序列中的其他数据点进行更好的预测 。 他们通过接受输入并重用序列中先前节点或后续节点的激活来影响输出来实现此目的 。 如前所述 , 这在诸如实体提取之类的任务中很重要 。 以以下文本为例:


罗斯福总统是美国历史上最有影响力的总统之一 。 但是 , 曼哈顿的罗斯福街却没有以他的名字命名 。
在第一句话中 , 罗斯福应被标记为个人实体 。 而在第二句中 , 应将其标记为街道名称或位置 。 如果不考虑它们之前的“总统”和后面的“街道”这两个词 , 就不可能知道这些区别 。
自动校正的RNN为了更深入地研究RNN的工作原理 , 让我们看一下如何将它们用于自动更正 。 在基本级别上 , 自动更正系统会将您键入的单词作为输入 。 使用该输入 , 系统可以预测拼写是否正确 。 如果该单词与数据库中的任何单词都不匹配 , 或者不适合该句子的上下文 , 则系统会预测正确的单词可能是什么 。 让我们直观地看一下该过程如何与RNN一起工作:

RNN将接受两个输入源 。 第一个输入是你输入的字母 。 第二个输入将是与你先前键入的字母相对应的激活功能 。 假设你想输入“ network” , 但误输入了“ networc” 。 系统接受先前字母“ networ”和你输入的当前字母“ c”的激活功能 。 然后将“ k”作为最后一个字母的正确输出 。