深度学习
深度学习(Deep Learning)是机器学习拉出的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
这种方法是一种模拟人类大脑神经网络运行的算法,所以这种方法又被称为“神经网络”;
神经网络是受到人类大脑结构的启发而创造出来的,这也是它能拥有真智能的根本原因。在我们的大脑中,有数十亿个称为神经元的细胞,它们连接成了一个神经网络。
人类大脑神经元细胞的树突接收来自外部的多个强度不同的刺激,并在神经元细胞体内进行处理,然后将其转化为一个输出结果。如下图所示。
x是神经元的输入,相当于树突接收的多个外部刺激。w是每个输入对应的权重,它影响着每个输入x的刺激强度。
大脑的结构越简单,那么智商就越低。单细胞生物是智商最低的了。人工神经网络也是一样的,网络越复杂它就越强大,所以我们需要深度神经网络。这里的深度是指层数多,层数越多那么构造的神经网络就越复杂。
观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。
一些著名的深度学习库
Tensorflow 最初由 Google 机器智能研究机构的 Google Brain 团队的研究人员和工程师开发。该系统旨在促进对机器学习的研究,同时也让机器学习研究原型过渡到生产系统更加高效容易。 (本站重点讲解)
pyTorch Facebook 开源的库,这是一个能让深度学习在即时战略类游戏(RTS)上进行研究的库,比如星际争霸 Brood War,通过从机器学习框架控制这些游戏从而使玩游戏变得更简单。
Theano 是一个 Python 库,用来定义、优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题。
Caffe 是一个知名的、被普遍使用的机器视觉库,其将 Matlab 的快速卷积网接口迁移到了 C 和 C++ 中。Caffe 不面向其他深度学习应用,比如文本、声音或时序数据。如同其他框架一样,Caffe 选择 Python 作为 API。
Keras一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow或Theano。
Mxnet 一个全功能、灵活且高扩展性的深度学习框架,支持深度学习模型中的卷积神经网络和长期短期记忆网络。由学术界发起,由华盛顿大学和卡内基梅隆大学的研究人员联合发起。
百度的paddlepaddle 等
深度学习框架 |
有监督深度学习 |
无监督深度学习 |
半监督深度学习 |
强化学习 |