这一份视频教程中,我会用简明的例子和手绘图,为你讲解循环神经网络(Recurrent Neural Network, RNN)的原理和使用方法。 关于深度学习,我已经为你讲解了不少内容了。 咱们简单回顾一下。常见的深度学习任务,面对的数据类型主要是三类: 第一类,是结构化数据,也就是样本和属性组成的表格。例如《如何用Python和深度神经网络锁定即将流失的客户?》一文中,我们用到的表格: 这种数据格式,最为简单。你也很容易理解深度神经网络的结构和处理方法。 第二类,是图像数据。《如何用 Python 和 fast.ai 做图像深度迁移学习?》一文中,我给你详细介绍过如何用卷积神经网络来处理它。 第三类,是序列数据,例如文本。《如何用 Python 和深度迁移学习做文本分类?》一文里面,咱们已经展示了如何使用 fast.ai 提供的语言模型对其进行处理。 其中,图像和序列数据,处理起来更需要你对深度神经网络结构的理解。 作为文科生,你在学习卷积神经网络和循环神经网络的时候,可能会遇到一些问题。因为它们大多采用比较复杂的结构图和公式进行描述。 当然,你看到了,即便你对于循环神经网络不了解,把它当成一个黑箱,你依然可以用高阶的深度学习框架,例如 fast.ai ,执行自然语言处理任务,而且效果还很突出。 François Chollet 在他的 'Deep Learning with Python' 一书中,也提到过这种观点(注意这里说的是 RNN 的一个变种,叫做 LSTM):
但是注意, François Chollet 后面还有一句话:
也就是说,它的实现细节,你不需要考虑。 当然,它的作用,你还是得了解的。 如果你需要做研究,就得针对具体的任务,对神经网络中的各种模块进行调整、拼装和整合。 这时候,如果你对深度神经网络的理解,基本上等同于黑箱,那么你甚至都不知道该如何把它的输出和其他模块拼接起来。 之前,我给你做了个视频讲解《文科生如何理解卷积神经网络?》,为你把卷积神经网络的原理进行了拆解剖析。 从读者和观众们的反馈来看,许多人觉得有帮助。 有不少人留言,希望我以同样通俗易懂的讲法,讲讲用于处理序列数据(例如文本)的循环神经网络(Recurrent Neural Network, RNN)的原理。 其实,我也早就想为你讲解这一部分的知识。无奈序列是个动态的概念,所以用文字来给你讲解循环神经网络模型,效率不高。 好在,我最近刚刚学会,如何在录制视频的时候,使用手写输入。于是我立即把这一技术,纳入到咱们的教程制作中来。 我花了一个晚上的时间,为你做了这份视频教程。已发布到了腾讯视频,链接在这里。 从我们耳熟能详的一个故事讲起,触类旁通,让你更容易理解循环神经网络的作用、特点和结构。 除了前文提到的一些材料,视频中还提及了词嵌入(word embedding)的相关知识。这一部分,你可以参考《如何用Python处理自然语言?(Spacy与Word Embedding)》和《如何用 Python 和 gensim 调用中文词嵌入预训练模型?》。 希望这份视频教程,对你了解循环神经网络能有帮助。 祝(深度)学习愉快! |
|
来自: LibraryPKU > 《机器学习》