Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【两分钟论文#19】递归神经网络创作音乐和模仿莎士比亚写小说

【两分钟论文#19】递归神经网络创作音乐和模仿莎士比亚写小说

作者头像
时见疏星
发布于 2018-06-01 03:59:54
发布于 2018-06-01 03:59:54
6210
举报
文章被收录于专栏:星流全栈星流全栈

亲爱的同学们,这是károly fajir的两分钟论文。

人工神经网络是非常有用的工具,能够学习和识别图像上的物体或学习梵高的绘画风格,并以他的风格绘制新的画作。

今天我们将讨论递归神经网络(RNN)。那么递归(recurrent)部分是什么意思?

使用人工神经网络,我们通常在输入和输出之间具有一对一的关系。这意味着一个图像进来,一个分类结果出来,无论图像描绘人脸还是火车。

使用递归神经网络,我们可以有一对多的关系。输入仍然是一个图像,但输出不会是一个单词,而是一个单词的序列,描述了我们在图像上看到的一个句子。

对于多对一的关系,一个很好的例子是情绪分析,这意味着例如句子的输入序列被分类为负或正。

这对于处理电影评论非常有用,我们想知道用户喜欢或讨厌电影,而无需阅读数十页的讨论页面。

最后,递归神经网络也可以处理将输入序列转换为输出序列的多对多关系。这样做的例子可以是机器翻译,其输入句子并将其转换为不同语言的输出句子。

对于多对多关系的另一个例子,让我们看看在阅读托尔斯泰《战争和和平》小说之后,算法学到了什么,要求它以这种风格写出来,应该注意的是,生成一本新的小说是通过字母的形式发生的,所以算法不允许记住单词。

我们来看看培训过程不同阶段的结果。最初的结果是很好的,但是算法似乎立刻意识到这些词基本上是一大堆被空格分开的字母。

如果我们稍等一会儿,我们看到它开始对结构有一个非常初步的了解。例如打开的引号必须关闭,句子可以被句号关闭,后面跟着一个大写字母开头。

后来,它开始学习更短和更常见的词,如fall,that,the,for,me。

如果我们等待更长时间,我们看到它已经掌握了较长的单词,已经开始有意义的短句子。

这是莎士比亚风格的作品片段,算法通过阅读他的所有作品之后生成的。你看到有意义的名字,你真的必须彻底检阅文本,以得出结论,这确实不是真正的莎士比亚片段。

它也可以尝试写数学论文,我不得不查看相当一段时间,直到我意识到有些东西是不对头的。我认为它可以非常容易地欺骗非专家的读者。你能相信吗?这很疯狂!

它还能够学习Linux操作系统的源代码,并生成看起来很合理的新代码。

它也可以继续撰写这首歌,迪士尼冰雪皇后的《Let it Go》。

所以递归神经网络是令人惊奇的工具,开辟了全新的视野,用于解决输入或输出不是一个东西,而是一系列东西的问题。现在一个递归神经网络正在展示它的智慧。

"Well, your wit is in the care of side and that."

无论你走到哪里,都要记住这一点。

感谢观看,下次再见!

RNN和LTSM资源:

Andrej Karpathy's original article is available here:

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

Source code:

https://github.com/karpathy/char-rnn

The paper "Long Short-Term Memory" by Sepp Hochreiter and Jürgen Schmidhuber is available here:

http://deeplearning.cs.cmu.edu/pdfs/Hochreiter97_lstm.pdf

Continuing "Let It Go" from Disney with a recurrent neural network:

https://ericye16.com/music-rnn/](https://ericye16.com/music-rnn/

A great write-up on how LSTMs work:

http://colah.github.io/posts/2015-08-Understanding-LSTMs/

了解更多: 探索LSTM:基本概念到内部结构

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 星流全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
能模仿韩寒小四写作的神奇递归神经网络(附代码)
引言 在离人工智能越来越近的今天,研究界和工业界对神经网络和深度学习的兴趣也越来越浓,期待也越来越高。 我们在深度学习与计算机视觉专栏中看过计算机通过卷积神经网络学会了识别图片的内容——模仿人类的看,而工业界大量的应用也证明了神经网络能让计算机学会听(比如百度的语音识别),于是大量的精力开始投向NLP领域,让计算机学会写也一定是非常有意思的事情,试想一下,如果计算机通过读韩寒和小四的小说,就能写出有一样的调调的文字,这是多带劲的一件事啊。 你还别说,还真有这么一类神经网络,能够在NLP上发挥巨大的
大数据文摘
2018/05/24
1.5K0
循环神经网络(RNN)和LSTM初学者指南 | 入门资料
最近,有一篇入门文章引发了不少关注。文章中详细介绍了循环神经网络(RNN),及其变体长短期记忆(LSTM)背后的原理。
量子位
2019/04/24
6670
循环神经网络(RNN)和LSTM初学者指南 | 入门资料
利用神经网络进行序列到序列转换的学习
深度神经网络是在困难的学习任务中取得卓越性能的强大模型。尽管拥有大量的标记训练集,DNN就能很好地工作,但是它们并不能用于将序列映射到序列。在本文中,我们提出了一种通用的端到端序列学习方法,它对序列结构作出最小的假设。我们的方法使用多层长短期记忆网络(LSTM)将输入序列映射到一个固定维度的向量,然后使用另一个深层LSTM从向量中解码目标序列。我们的主要结果是,在WMT 14数据集的英法翻译任务中,LSTM的翻译在整个测试集中获得了34.8分的BLEU分数,而LSTM的BLEU分数在词汇外的单词上被扣分。此外,LSTM人在长句上没有困难。相比之下,基于短语的SMT在同一数据集上的BLEU得分为33.3。当我们使用LSTM对上述系统产生的1000个假设进行重新排序时,它的BLEU分数增加到36.5,这接近于之前在这项任务中的最佳结果。LSTM还学会了对词序敏感、并且对主动语态和被动语态相对不变的有意义的短语和句子表达。最后,我们发现颠倒所有源句(而不是目标句)中单词的顺序显著提高了LSTM的表现,因为这样做在源句和目标句之间引入了许多短期依赖性,使得优化问题变得更容易。
AI研习社
2019/05/13
1.6K0
利用神经网络进行序列到序列转换的学习
递归神经网络不可思议的有效性
递归神经网络(RNNs)有一些不可思议的地方。我仍然记得我训练的第一个用于图片字幕的递归网络。从花几十分钟训练我的第一个婴儿模型(相当随意挑选的超参数)开始,到训练出能够针对图像给出有意义描述的模型。有些时候,模型对于输出结果质量的简单程度的比例,会与你的期望相差甚远,而这还仅仅是其中一点。有如此令人震惊结果,许多人认为是因为RNNs非常难训练(事实上,通过多次试验,我得出了相反的结论)。一年前:我一直在训练RNNs,我多次见证了它们的强大的功能和鲁棒性,而且它们的输出结果同样让我感到有趣。这篇文章将会给你
CSDN技术头条
2018/02/09
7640
递归神经网络不可思议的有效性
递归神经网络(RNN)
RNN是最强大的模型之一,它使我们能够开发如分类、序列数据标注、生成文本序列(例如预测下一输入词的SwiftKey keyboard应用程序),以及将一个序列转换为另一个序列(比如从法语翻译成英语的语言翻译)等应用程序。大多数模型架构(如前馈神经网络)都没有利用数据的序列特性。例如,我们需要数据呈现出向量中每个样例的特征,如表示句子、段落或文档的所有token。前馈网络的设计只是为了一次性地查看所有特征并将它们映射到输出。让我们看一个文本示例,它显示了为什么顺序或序列特性对文本很重要。I had cleaned my car和I had my car cleaned两个英文句子,用同样的单词,但只有考虑单词的顺序时,它们才意味着不同的含义。
用户9881348
2022/07/20
5271
循环神经网络(RNN, Recurrent Neural Networks)介绍
  循环神经网络(Recurrent Neural Networks,RNNs)已经在众多自然语言处理(Natural Language Processing, NLP)中取得了巨大成功以及广泛应用。但是,目前网上与RNNs有关的学习资料很少,因此该系列便是介绍RNNs的原理以及如何实现。主要分成以下几个部分对RNNs进行介绍: 1. RNNs的基本介绍以及一些常见的RNNs(本文内容); 2. 详细介绍RNNs中一些经常使用的训练算法,如Back Propagation Through Time(BPTT)、Real-time Recurrent Learning(RTRL)、Extended Kalman Filter(EKF)等学习算法,以及梯度消失问题(vanishing gradient problem) 3. 详细介绍Long Short-Term Memory(LSTM,长短时记忆网络); 4. 详细介绍Clockwork RNNs(CW-RNNs,时钟频率驱动循环神经网络); 5. 基于Python和Theano对RNNs进行实现,包括一些常见的RNNs模型。
MachineLP
2019/05/26
9860
一文简述如何为自己的项目选择合适的神经网络
你的预测建模问题适合选择何种神经网络?对于初学者而言,深度学习领域很难知道要使用什么类型的网络。因为有许多类型的网络可供选择,每天都会有新的方法被发布和讨论。
AiTechYun
2018/08/06
7220
一文简述如何为自己的项目选择合适的神经网络
递归神经网络不可思议的有效性(上)
原文作者:Andrej Karpathy 递归神经网络(RNNs)有一些不可思议的地方。我仍然记得我训练的第一个用于 图片字幕的递归网络。从花几十分钟训练我的第一个婴儿模型(相当随意挑选的超参数)开始,到训练出能够针对图像给出有意义描述的模型。有些时候,模型对于输出结果质量的简单程度的比例,会与你的期望相差甚远,而这还仅仅是其中一点。有如此令人震惊结果,许多人认为是因为RNNs非常难训练(事实上,通过多次试验,我得出了相反的结论)。一年前:我一直在训练RNNs,我多次见证了它们的强大的功能和鲁棒性,而且它们
用户1737318
2018/06/05
7960
LSTM入门
本文介绍了循环神经网络(RNNs)的简要历史和它们在自然语言处理等领域的应用。作者详细讨论了RNNs的变种,包括长短时记忆网络(LSTMs)和门控循环单元(GRUs),并介绍了这些变种在自然语言处理任务中的应用。此外,作者还讨论了RNNs的一些未来研究方向,包括注意力机制和Grid LSTMs。
GavinZhou
2018/01/02
9340
LSTM入门
循环神经网络(RNN)简易教程
假设我们正在写一条信息“Let’s meet for___”,我们需要预测下一个单词是什么。下一个词可以是午餐、晚餐、早餐或咖啡。我们更容易根据上下文作出推论。假设我们知道我们是在下午开会,并且这些信息一直存在于我们的记忆中,那么我们就可以很容易地预测我们可能会在午餐时见面。
磐创AI
2020/07/23
1.2K0
循环神经网络(RNN)简易教程
如果你还没搞懂LSTM 网络,那本文绝对值得一看
本文作者Christopher Olah是Google Brain的研究科学家,她在文中图文并茂地解释了什么是LSTM网络,为什么要用LSTM网络,以及LSTM的核心思想,并通过分步详解的形式让读者更容易接受和理解这些概念。 在文章末尾,作者有一个思考:虽然LSTM使得我们在使用RNN能完成任务上迈进了一大步,但还会有下一个大进步吗? 对此你是怎么看的呢? 作者 | Christopher Olah 译者 | 于乃通 循环神经网络(RNN) 人们的每次思考并不都是从零开始的。比如说你在阅读这篇文章时,你
AI科技大本营
2018/04/27
7970
如果你还没搞懂LSTM 网络,那本文绝对值得一看
李理:递归神经网络RNN扼要
本系列文章面向深度学习研发者,系统讲解了深度学习的基本知识及实践,以Image Caption Generation为切入点,逐步介绍自动梯度求解、卷积神经网络(CNN)、递归神经网络(RNN)等知识点。本文为第14篇,RNN系列第1篇。作者:李理 目前就职于环信,即时通讯云平台和全媒体智能客服平台,在环信从事智能客服和智能机器人相关工作,致力于用深度学习来提高智能机器人的性能。 1. 内容简介 前面我们介绍了CNN,这对于Image Caption来说是基础的特征提取部分,或者说是对图像的“理解
用户1737318
2018/06/06
5630
深度 | 如何使用神经网络弹奏出带情感的音乐?
机器之心(海外)原创 作者:Shixin Gu 参与:Joni、Nurhachu Null 神经网络在音乐方面的应用已经不是一个新鲜的话题了。在音频检索领域中,人们一直在尝试着用神经网络对一系列音乐元素进行建模 [1],例如和弦、音高等等。正如作者所提及的,人们在 1943 年开始用神经网络解决语音识别的问题。但是在那个年代,没有足够的计算能力来得到较好的结果,所以神经网络的方法在那个时候并不流行。而现在,由于 GPU 计算资源和可获得的大数据,结果可以变得相当好,于是作者就希望使用像图 1 中的神经网络
机器之心
2018/05/09
1.2K0
深度 | 如何使用神经网络弹奏出带情感的音乐?
干货|全面理解卷积神经网络及其不同架构
在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如时序问题,比如你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。这个时候,我们怎么办呢?下面有两种解决方案
abs_zero
2020/11/11
6180
干货|全面理解卷积神经网络及其不同架构
理解LSTM一种递归神经网络(RNN)
1 递归神经网络结构 一个简单的传统神经网络结构如下图所示: 给他一些输入x0,x1,x2 … xt, 经过神经元作用之后得到一些对应的输出h0,h1,h2 … ht。每次的训练,神经元和神经元之间不
刀刀老高
2018/04/11
7370
理解LSTM一种递归神经网络(RNN)
深度学习与CV教程(11) | 循环神经网络及视觉应用
本系列为 斯坦福CS231n 《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频可以在 这里 查看。更多资料获取方式见文末。
ShowMeAI
2022/06/09
1.1K0
深度学习与CV教程(11) | 循环神经网络及视觉应用
CS231n第九节:循环神经网络RNN
本章我们将介绍 循环神经网络 Recurrent Neural Networks (RNNs),RNN的一大优点是为网络结构的搭建提供了很大的灵活性。通常情况下,我们提及的神经网络一般有一个固定的输入,然后经过一些隐藏层的处理,得到一个固定大小的输出向量(如下图左所示,其中红色表示输入,绿色表示隐藏层,蓝色表示输出,下同)。这种“原始”的神经网络接受一个输入,并产生一个输出,但是有些任务需要产生多个输出,即一对多的模型(如下图 one-to-many标签所示)。循环神经网络使得我们可以输入一个序列,或者输出一个序列,或者同时输入和输出一个序列。下面按照输入输出是否为一个序列对RNN进行划分,并给出每种模型的一个应用场景:
Here_SDUT
2022/08/08
7140
CS231n第九节:循环神经网络RNN
理解 LSTM 网络
人类不会每一秒都从头开始思考。当你阅读这篇文章时,你会根据对之前单词的理解来理解每个单词。您不会扔掉所有东西并重新从头开始思考。你的思想有恒心。
小锋学长生活大爆炸
2022/05/09
6550
理解 LSTM 网络
如何配置神经网络中的层数和节点数
人工神经网络有两个重要的超参数,用于控制网络的体系结构或拓扑:层数和每个隐藏层中的节点数。配置网络时,必须指定这些参数的值。
机器学习AI算法工程
2019/10/28
5.2K0
如何配置神经网络中的层数和节点数
想了解递归神经网络?这里有一份入门教程
本文来自deeplearning4j,AI科技评论编辑。 递归神经网络是一类人工神经网络,用于识别诸如文本、基因组、手写字迹、语音等序列数据的模式,或用于识别传感器、股票市场、政府机构产生的数值型时间序列数据。 递归网络可以说是最强大的神经网络,甚至可以将图像分解为一系列图像块,作为序列加以处理。 由于递归网络拥有一种特定的记忆模式,而记忆也是人类的基本能力之一,所以下文的7个部分中,会时常将递归网络与人脑的记忆活动进行类比。 前馈网络 递归网络 沿时间反向传播 梯度消失与梯度膨胀 长短期记忆单元(LSTM
AI科技评论
2018/03/07
9800
想了解递归神经网络?这里有一份入门教程
推荐阅读
相关推荐
能模仿韩寒小四写作的神奇递归神经网络(附代码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档