文科生如何理解循环神经网络(RNN)?

简介: 这一份视频教程中,我会用简明的例子和手绘图,为你讲解循环神经网络(Recurrent Neural Network, RNN)的原理和使用方法。
img_ddaf81e78bb8d6f7dbbf77192de035c8.png

这一份视频教程中,我会用简明的例子和手绘图,为你讲解循环神经网络(Recurrent Neural Network, RNN)的原理和使用方法。

关于深度学习,我已经为你讲解了不少内容了。

咱们简单回顾一下。常见的深度学习任务,面对的数据类型主要是三类:

第一类,是结构化数据,也就是样本和属性组成的表格。例如《如何用Python和深度神经网络锁定即将流失的客户?》一文中,我们用到的表格:

img_993063869f9ec4b77833cf9b8f3445e2.png

这种数据格式,最为简单。你也很容易理解深度神经网络的结构和处理方法。

第二类,是图像数据。《如何用 Python 和 fast.ai 做图像深度迁移学习?》一文中,我给你详细介绍过如何用卷积神经网络来处理它。

img_29c6e8353a16745ebc6317cb7df438b0.png

第三类,是序列数据,例如文本。《如何用 Python 和深度迁移学习做文本分类?》一文里面,咱们已经展示了如何使用 fast.ai 提供的语言模型对其进行处理。

img_fcbdcc334ac34bb61164263b79afda1a.jpe

其中,图像和序列数据,处理起来更需要你对深度神经网络结构的理解。

作为文科生,你在学习卷积神经网络和循环神经网络的时候,可能会遇到一些问题。因为它们大多采用比较复杂的结构图和公式进行描述。

当然,你看到了,即便你对于循环神经网络不了解,把它当成一个黑箱,你依然可以用高阶的深度学习框架,例如 fast.ai ,执行自然语言处理任务,而且效果还很突出。

img_25ad4102ea1e2c1a8e522a48c8c6c204.png

François Chollet 在他的 "Deep Learning with Python" 一书中,也提到过这种观点(注意这里说的是 RNN 的一个变种,叫做 LSTM):

you don’t need to understand anything about the specific architecture of an LSTM cell; as a human, it shouldn’t be your job to understand it.

img_fc7240c69691eeaf48cc40836a8378c6.jpe

但是注意, François Chollet 后面还有一句话:

Just keep in mind what the LSTM cell is meant to do.

也就是说,它的实现细节,你不需要考虑。

当然,它的作用,你还是得了解的。

如果你需要做研究,就得针对具体的任务,对神经网络中的各种模块进行调整、拼装和整合。

这时候,如果你对深度神经网络的理解,基本上等同于黑箱,那么你甚至都不知道该如何把它的输出和其他模块拼接起来。

img_f3ff8cd6b6df802f8454d0be8e4a9708.jpe

之前,我给你做了个视频讲解《文科生如何理解卷积神经网络?》,为你把卷积神经网络的原理进行了拆解剖析。

img_b548a5790cf84e64efa2d3893440166c.png

从读者和观众们的反馈来看,许多人觉得有帮助。

img_1225b7b57228ebf12e93b4b11f278815.jpe

有不少人留言,希望我以同样通俗易懂的讲法,讲讲用于处理序列数据(例如文本)的循环神经网络(Recurrent Neural Network, RNN)的原理。

其实,我也早就想为你讲解这一部分的知识。无奈序列是个动态的概念,所以用文字来给你讲解循环神经网络模型,效率不高。

好在,我最近刚刚学会,如何在录制视频的时候,使用手写输入。于是我立即把这一技术,纳入到咱们的教程制作中来。

img_6f6845f238da410504f180fe13ce61c9.jpe

我花了一个晚上的时间,为你做了这份视频教程。已发布到了腾讯视频,链接在这里

img_382e3f94d43ab5802c8805972bda6899.jpe

从我们耳熟能详的一个故事讲起,触类旁通,让你更容易理解循环神经网络的作用、特点和结构。

除了前文提到的一些材料,视频中还提及了词嵌入(word embedding)的相关知识。这一部分,你可以参考《如何用Python处理自然语言?(Spacy与Word Embedding)》和《如何用 Python 和 gensim 调用中文词嵌入预训练模型?》。

希望这份视频教程,对你了解循环神经网络能有帮助。

祝(深度)学习愉快!

喜欢请点赞和打赏。还可以微信关注和置顶我的公众号“玉树芝兰”(nkwangshuyi)

如果你对 Python 与数据科学感兴趣,不妨阅读我的系列教程索引贴《如何高效入门数据科学?》,里面还有更多的有趣问题及解法。

目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 人工智能
Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)
Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)
Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)
|
19天前
|
自然语言处理 C# 开发者
Uno Platform多语言开发秘籍大公开:轻松驾驭全球用户,一键切换语言,让你的应用成为跨文化交流的桥梁!
【8月更文挑战第31天】Uno Platform 是一个强大的开源框架,允许使用 C# 和 XAML 构建跨平台的原生移动、Web 和桌面应用程序。本文详细介绍如何通过 Uno Platform 创建多语言应用,包括准备工作、设置多语言资源、XAML 中引用资源、C# 中加载资源以及处理语言更改。通过简单的步骤和示例代码,帮助开发者轻松实现应用的国际化。
28 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
7.1 NLP经典神经网络 RNN LSTM
该文章介绍了自然语言处理中的情感分析任务,探讨了如何使用深度神经网络,特别是循环神经网络(RNN)和长短时记忆网络(LSTM),来处理和分析文本数据中的复杂情感倾向。
|
2月前
|
机器学习/深度学习 数据采集 人工智能
循环神经网络RNN
7月更文挑战第2天
62 11
|
2月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
RNN、LSTM、GRU神经网络构建人名分类器(三)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
3月前
|
机器学习/深度学习
RNN、LSTM、GRU神经网络构建人名分类器(二)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
3月前
|
机器学习/深度学习 数据采集
RNN、LSTM、GRU神经网络构建人名分类器(一)
这个文本描述了一个使用RNN(循环神经网络)、LSTM(长短期记忆网络)和GRU(门控循环单元)构建的人名分类器的案例。案例的主要目的是通过输入一个人名来预测它最可能属于哪个国家。这个任务在国际化的公司中很重要,因为可以自动为用户注册时提供相应的国家或地区选项。
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
Python实现循环神经网络RNN-LSTM回归模型项目实战(股票价格预测)
Python实现循环神经网络RNN-LSTM回归模型项目实战(股票价格预测)
123 0
|
2天前
|
人工智能 安全 算法
网络安全与信息安全:构建数字世界的防线
在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系社会秩序、保障个人隐私与企业机密的关键。本文旨在探讨网络安全漏洞的成因、加密技术的应用及安全意识的提升策略,以期为读者提供一个全面而深入的网络安全知识框架。

热门文章

最新文章