本文目录一览:

有什么深度学习的套路?

ADPM模型:提问—解码—操练—融合

提问

在学习的过程中,我觉得可以经常去思考以下四个问题:

1. 针对当前的学习材料,我已具备了哪些相关的知识?之前学习的模型是5W1H,是什么?为什么?怎么样?

2. 针对当前的学习材料,我又学到了哪些新的知识?这些知识对原有知识构成了何种补充或者挑战?学到的新知识ADPM模型,ask提问-decode解码-practise操练-merge融合 ,对比之前的5W1H模型,新的知识模型更具备操作性,转化率更高,挑战在于时时刻刻去运用这种深度学习模式

3. 针对当前的学习材料,还有哪些未知的东西,且这些东西我通过简单的探索就可以了解?其他人是怎么样提问的?阅读秋叶的如何高效读懂一本书,就可以了解一二,还可以从其他人的学习方法论中了解更多。秋叶在书中分享了10种读书方法,其中有一种树读法的主题阅读,“一般我决心要做一个领域的主题阅读,是准备快速成为这个领域的专家。要成为一个领域的专家,我就必须先建立像专家一样的视野和格局来思考整个领域有哪些需要我去学习的问题。”4. 针对当前的学习材料,还有哪些未知的东西,无法轻易地获得解答,同时又有价值成为我长期去探索的问题?深度学习的方法只有这一种么?是否还有其他更有效的深度学习法?怎么样去找到更有效的深度学习法?

解码。对于基本的解码方法,其实就不外乎下面三个层次:

1. 它说了什么?(它原本就要传达的信息和知识)这本书说了怎么样将知识变成自己的能力的深度学习法,通过四个步骤实现,分别是提问,解码,操练,融合。每一个步骤下面都进行举例论证。以证明该步骤的有效性。

2. 它是什么?(对文本的反思,以审视的目光对文本进行评价和定性)它是一本介绍作者对深度学习的理解和说明的书。

3. 它是怎么实现的?(对形式和构成的洞察,研究写作、表达的手法)它通过解释每一步骤的含义,通过对故事的解读和总结提炼出的步骤。再通过自身的运用案例来论证。

如何观察和思考?

一、不只要去寻结论,还要去寻过程二、不只要去做归纳,还要去做延展

三、不只要去比较相似,还要去比较不同

操练,操练的三种方法:

一、写作式操练「书写是更好的思考」,「教是最好的学」。

二、游戏式操练

三、设计式操练

融合。融合的三种方法:

一、迁移。文中最后的两个例子都是说作品本就存在,等人去发掘,异曲同工的让我想到了摄影,照片都不是创造出来的,而是由摄影师拍摄下来成了作品,这个是否也可以印证这个观点?

二、印证

三、互补。除了摄影之外,万有引力的发型,不也是本身就存在,牛顿只是将它的面纱揭下来,公之于众么? 生活中的点滴都可以成为素材,只要你能发现它的美 将它记录,表达出来(文字/图像/电影/公式),这就是艺术。

过拟合及解决方案

是什么

过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含 抽样误差 ,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。

具体表现就是最终模型在训练集上效果好;在测试集上效果差。模型泛化能力弱。

为什么

为什么要解决过拟合现象?这是因为我们拟合的模型一般是用来预测未知的结果(不在训练集内),过拟合虽然在训练集上效果好,但是在实际使用时(测试集)效果差。同时,在很多问题上,我们无法穷尽所有状态,不可能将所有情况都包含在训练集上。所以,必须要解决过拟合问题。

为什么在机器学习中比较常见?这是因为机器学习算法为了满足尽可能复杂的任务,其模型的拟合能力一般远远高于问题复杂度,也就是说,机器学习算法有「拟合出正确规则的前提下,进一步拟合噪声」的能力。

而传统的函数拟合问题(如机器人系统辨识),一般都是通过经验、物理、数学等推导出一个含参模型,模型复杂度确定了,只需要调整个别参数即可。模型「无多余能力」拟合噪声。

怎么样

如何防止过拟合:

主要是以下4点

1. 获取更多数据

这是解决过拟合最有效的方法,只要给足够多的数据,让模型「看见」尽可能多的「例外情况」,它就会不断修正自己,从而得到更好的结果:

如何获取更多数据,可以有以下几个方法:

2. 使用合适的模型

前面说了,过拟合主要是有两个原因造成的:数据太少 + 模型太复杂。所以,我们可以通过使用合适复杂度的模型来防止过拟合问题,让其足够拟合真正的规则,同时又不至于拟合太多抽样误差。

(PS:如果能通过物理、数学建模,确定模型复杂度,这是最好的方法,这也就是为什么深度学习这么火的现在,我还坚持说初学者要学掌握传统的建模方法。)

对于神经网络而言,我们可以从以下四个方面来 限制网络能力 :

2.1 网络结构 Architecture

这个很好理解,减少网络的层数、神经元个数等均可以限制网络的拟合能力;

2.2 训练时间 Early stopping

对于每个神经元而言,其激活函数在不同区间的性能是不同的:

当网络权值较小时,神经元的激活函数工作在线性区,此时神经元的拟合能力较弱(类似线性神经元)。

有了上述共识之后,我们就可以解释为什么限制训练时间(early stopping)有用:因为我们在初始化网络的时候一般都是初始为较小的权值。训练时间越长,部分网络权值可能越大。如果我们在合适时间停止训练,就可以将网络的能力限制在一定范围内。

2.3 限制权值 Weight-decay,也叫正则化(regularization)

原理同上,但是这类方法直接将权值的大小加入到 Cost 里,在训练的时候限制权值变大。以 L2 regularization 为例:

训练过程需要降低整体的 Cost,这时候,一方面能降低实际输出与样本之间的误差C 0 ,也能降低权值大小。

2.4 增加噪声 Noise

给网络加噪声也有很多方法:

2.4.1 在输入中加噪声:

噪声会随着网络传播,按照权值的平方放大,并传播到输出层,对误差 Cost 产生影响。推导直接看 Hinton 的 PPT 吧:

在输入中加高斯噪声,会在输出中生成 /Sigma_i/sigma^2_i/cdot w^2_i 的干扰项。训练时,减小误差,同时也会对噪声产生的干扰项进行惩罚,达到减小权值的平方的目的,达到与 L2 regularization 类似的效果(对比公式)。

2.4.2 在权值上加噪声

在初始化网络的时候,用 0 均值的高斯分布作为初始化。Alex Graves 的手写识别 RNN 就是用了这个方法

2.4.3 对网络的响应加噪声

如在前向传播过程中,让默写神经元的输出变为 binary 或 random。显然,这种有点乱来的做法会打乱网络的训练过程,让训练更慢,但据 Hinton 说,在测试集上效果会有显著提升 (But it does significantly better on the test set!)。

3. 结合多种模型

简而言之,训练多个模型,以每个模型的平均输出作为结果。

从 N 个模型里随机选择一个作为输出的期望误差 [t-y_i]^2 ,会比所有模型的平均输出的误差 [t-/bar{y}]^2 大 (我不知道公式里的圆括号为什么显示不了) :

大概基于这个原理,就可以有很多方法了:

3.1 Bagging

简单理解,就是分段函数的概念:用不同的模型拟合不同部分的训练集。以随机森林(Rand Forests)为例,就是训练了一堆互不关联的决策树。但由于训练神经网络本身就需要耗费较多自由,所以一般不单独使用神经网络做 Bagging。

3.2 Boosting

既然训练复杂神经网络比较慢,那我们就可以只使用简单的神经网络(层数、神经元数限制等)。通过训练一系列简单的神经网络,加权平均其输出。

3.3 Dropout

这是一个很高效的方法。

在训练时, 每次 随机(如 50% 概率)忽略隐层的某些节点;这样,我们相当于随机从 2^H 个模型中采样选择模型;同时,由于每个网络只见过一个训练数据(每次都是随机的新网络),所以类似 bagging 的做法,这就是我为什么将它分类到「结合多种模型」中;

此外,而不同模型之间权值共享(共同使用这 H 个神经元的连接权值),相当于一种权值正则方法,实际效果比 L2 regularization 更好。

4. 贝叶斯方法

这部分我还没有想好怎么才能讲得清楚,为了不误导初学者,我就先空着,以后如果想清楚了再更新。当然,这也是防止过拟合的一类重要方法。

深度学习入门?

其实深度学习网上的资料很多,但是大部分都不太适合初学者,如果你没有一定的数学基础,很容易过早地放弃,再者是英语水平,我推荐从李宏毅教授的PPT开始,当你有一定的基础以后,可以尝试用用Ainspir数据挖掘平台,一边学一边练习,这个平台也是最近在高校,研究院都用的比较多的,适合教学,也适合练习。

什么是深度学习?

深度学习,就是深入的去学习,深入的学习,就需要你,认真,努力勤奋。

深度学习,从表面上看,你就是要全心全意的投入,但实际上需要你开动脑筋去学习。开动脑筋,也就是你在学习的时候,比如说上课,你就得认真听课,对老师提出的每个问题都要提出质疑,然后想办法去解决,课后你就要认真的去完成作业。

作为一名学生,首先要掌握学习方法。因为有一个正确的学习方法。能够带给你很多益处。深入学习,是在你原来的基础上,更加深入了解你所获得的知识。当你浅显的了解过后,你会对知识有一个大概的了解,如果你想更加丰富自己,这就需要深度学习了。

深度学习其实也就是一个深度思考的过程。只有当你深度学习,你才真正的能了解到知识的本质。深度学习,才会使你感到快乐时你感到骄傲,使你感到自豪。

深度,就是深深的扎进去,学习就是,向别人学习优点,学习知识。那么深度学习,连起来就是,认真用心,去学习。深度学习需要毅力,每时每刻去发现身边,值得去学习的事,身边处处有学问,只要你有一双慧眼,你就会去发现知识。

深度学习是不断学习,俗话说的好活到老学到老。知识是无限的,需要我们不断去积累,我们才会变成一个知识渊博的人,这就是深度的学习。

深度学习也可以是一个不断向别人学习的过程。向别人学习能不断的提升自己,这也可以是一种深度学习。

有哪些优秀的深度学习入门书籍?需要先学习机器学习吗

周志华,西瓜书是不错的入门书籍。另外,吴恩达和林轩田的网络公开课也是很棒的入门学习资料。