拓展深度学习一种变相的马尔可夫链

你可以创建一个递归神经网络一个字符一个字符地学习语言特征。但是这个结果模型与为同样目的设计的马尔可夫链有什么不同呢?本文用R实现了一个字符-字符的马尔可夫链来一探究竟。

Andrej Karpathy的文章《递归神经网络不可思议的有效性》(The Unreasonable Effectiveness of Recurrent Neural Networks)在去年名噪一时。其基本假设是你可以创建一个递归神经网络一个字符一个字符地学习语言特征。但是这个结果模型与为同样目的设计的马尔可夫链有什么不同呢?我用R实现了一个字符-字符的马尔可夫链来一探究竟。

来源:@shakespeare
首先,我们来玩模仿游戏的一个变种游戏,使用Karpathy的微小莎士比亚数据集(tinyshakespeare dataset)生成的文本。哪些片段是来自于RNN,哪些又是来自于马尔可夫链?可以注意到Karpathy的例子来自于全集,而我的马尔可夫链来自于微小莎士比亚集(大约是前者的四分之一),因为我比较懒。

DUKE VINCENTIO:
Well, your wit is in the care of side and that.
FRIAR LAURENCE:
Or walk liest;
And the ears.
And hell!
In self.
PETRUCHIO:
Persuading to our the enemy, even woman, I‘ll afford show‘d and speaking of
England all out what least. Be satisfied! Now, sir.
Second Lord:
They would be ruled after this chamber, and
my fair nues begun out of the fact, to be conveyed,
Whose noble souls I‘ll have the heart of the wars.
如果你分辨不出,也不必苛求自己。不起眼的马尔可夫链在学习拼写(奥尔德)英语单词方面与最先进的RNN同样有效。这怎么可能?让我们看看这些系统如何工作的。两者都将字符序列作为输入,并试图“预测”出序列中下一个字符。RNN是这样实现的,调整权值向量,得到适合指定响应的输出向量。隐藏层在训练集上保持状态。最后,对于每个可能输出字符都计算出一个置信度值,它用来预测下一个字符。


来源:Andrej Karpathy
在另一方面,训练马尔可夫链只是简单地构造一个概率密度函数,逐步跨越今后可能的状态。这意味着所得到的概率密度函数与RNN的输出置信度不会有太大区别。下面是概率密度函数跨越字符“walk”的例子:

> table(chain[[‘walk ‘]]) / length(chain[[‘walk ‘]])

a b i l m o u
0.4 0.1 0.1 0.1 0.1 0.1 0.1
这告诉我们,有40%的可能字符序列“walk”后跟着字母“a”。在生成文本时,我们可以把这个作为预测值,或者使用概率密度函数来支配采样。我选择后者因为它更有趣。

但是在马尔可夫链中状态如何捕获呢?因为马尔可夫链是无状态的。很简单:我们使用一个字符序列而不是单独字符作为输入。在这篇文章中,我使用了长度为5的序列,那么马尔可夫链基于前面5个状态来选择下一状态。这是在作弊吗?还是这就是RNN中隐藏层的作用吗?

虽然RNN机制与马尔可夫链大不相同,但基本概念非常相似。RNN和深度学习可能在这个领域非常酷,但不要忽视简单的东西。你可以从简单模型中学到许多知识,它们一般都经受住了时间的考验,很好理解并易于解释。

注:我没有使用包来训练和运行马尔可夫链,因为它低于20 LOC。这段代码的一个版本将会出现在我即将出版的一本书中

时间: 2024-07-28 20:31:08

拓展深度学习一种变相的马尔可夫链的相关文章

深度学习几种典型架构

介绍几种典型的深度学习架构. 卷积神经网络(CNN) 卷积神经网络由LeCun提出.在Kaggle竞赛中取得了巨大成功. 典型的卷积网络有两部分. 第一个是负责特征提取,由一对或多对卷积和子采样/最大池化层组成. 第二部分是经典的全连接多层感知器,将提取的特征作为输入.如下图所示. 卷积神经网络架构 长短期记忆网络(LSTM) 长短期记忆网络是比较流行的一种网络结构. LSTM架构 长短期记忆网络用两个门来控制单元状态的内容,一个是遗忘门(forget gate),决定了上一时刻的单元状态有多少

人工智能、机器学习和深度学习之间的区别与联系

大家都知道,在2016年,Google DeepMind的AlphaGo打败了韩国的围棋大师李世乭九段.在媒体描述DeepMind胜利的时候,将人工智能(AI).机器学习(machine learning)和深度学习(deep learning)都用上了.这三者在AlphaGo击败李世乭的过程中都起了作用,但它们说的并不是一回事. 今天就用最简单的方法——可视化的展现它们三者的关系和应用. 如上图,人工智能是最早出现的,也是范围最大的:其次的机器学习,稍晚一点:最内侧,是深度学习,当今人工智能大

免费领取16套深度学习权威实践课,从零基础小白到大牛

摘要:想学习人工智能却无从下手,听过两三遍网课还是不懂什么是卷积神经网络,好不容易啃完了视频却发现没源码没法调参跑代码,快来AI Studio课程!免费优质课程,系统化学习, 名师指导,提供真实开发案例,在线实训调参,提升学习效果,带你快速入行人工智能! 很多学习AI算法的人都很痛苦,尤其是希望进入大热的深度学习领域的你,是否遇到过以下囧境? 网上有大量的学习资料,质量参差不齐,且不知道知该从何学起: 听过两三遍网课,还是不懂什么是卷积神经网络: 好不容易啃完了视频却发现没源码,没法调参跑代码,

干货:机器学习领域的几种主要学习方式,如深度学习

干货:机器学习领域的几种主要学习方式,如深度学习 学习方式 根据数据类型的不同,对一个问题的建模有不同的方式.在机器学习或者人工智能领域,人们首先会考虑算法的学习方式.在机器学习领域,有几种主要的学习方式.将算法按照学习方式分类是一个不错的想法,这样可以让人们在建模和算法选择的时候考虑能根据输入数据来选择最合适的算法来获得最好的结果. 监督式学习: 在监督式学习下,输入数据被称为“训练数据”,每组训练数据有一个明确的标识或结果,如对防垃圾邮件系统中“垃圾邮件”“非垃圾邮件”,对手写数字识别中的“

7种深度学习工具介绍

1)TensorFlow TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理. –Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图像的一端流动到另一端的计算过程. –TensorFlow是将复杂的数据结构,传输至人工智能神经网中进行分析和处理过程的系统. TensorFlow表达了高层次的机器学习计算,可被用于语音识别或图像识别等多项机器深度学习领域. –TensorFl

深度学习中几种常用的模型

最近再从事深度学习方面的工作,感觉还有很多东西不是很了解,各种网络模型的结构的由来还不是很清晰,在我看来所有的网络都是一层层的卷积像搭积木一样打起来的,由于还没实际跑所以还没很深刻感受到几种网络类型的区别,在此我想梳理一下几种常见的网络结构,加深一下理解. 本文转自此文https://www.cnblogs.com/houkai/p/6553221.html,此文条理清晰,总结较为到位. 目前常见的网络结构:AlexNet.ZF.GoogLeNet.VGG.ResNet等等都可谓曾一战成名,它们

腾讯优图&港科大提出一种基于深度学习的非光流 HDR 成像方法

目前最好的高动态范围(HDR)成像方法通常是先利用光流将输入图像对齐,随后再合成 HDR 图像.然而由于输入图像存在遮挡和较大运动,这种方法生成的图像仍然有很多缺陷.最近,腾讯优图和香港科技大学的研究者提出了一种基于深度学习的非光流 HDR 成像方法,能够克服动态场景下的大范围前景运动. 论文:Deep High Dynamic Range Imaging with Large Foreground Motions 论文链接:https://arxiv.org/abs/1711.08937 摘要

一种基于脑电图情感识别的新型深度学习模型

目录 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区(微信号:Brain_Computer).QQ交流群:903290195 机器学习的最新进展使得检测和识别人类情绪的技术也得到了快速的发展.其中一部分机器学习技术中是通过分析脑电图(EEG)信号来工作的,这些信号本质上是对从一个人的头皮上收集的脑电活动的记录. 过去十多年来,大多数基于脑电图的情绪分类方法都采用了传统的机器学习方法,例如支持向量机(SVM)模型,因为这些方法需要的训练样本较少.事实上之所以使用需要训练样本量少的方法是因

深度学习数学《矩阵分析与应用第2版》资料+《最优化理论与算法第2版》电子书资料+《人工智能一种现代的方法第3版》资料学习

理性模型的建模和算法,经验模型的决策建模和算法,构成了目前人工智能的基础,基于学习反馈的模型构成了它的进化.学习人工智能,必须有较好的数学基础. <矩阵分析与应用第2版>电子书中总结了大量线性代数的知识,是一本很不错的书,数学专业可以跳过,主要是给工科生用的.归纳了不少论文中的解法,是做信号处理的一本很不错的工具书,建议认真学习,做电子笔记,对书的重点内容要好好研究. <矩阵分析与应用第2版>系统.全面地介绍矩阵分析的主要理论.具有代表性的方法及一些典型应用,包括矩阵代数基础.特殊