亲爱的同学们,这是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:基本概念到内部结构