1.什么是深度学习
深度学习(deep learning)是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。
2.机器学习与深度学习的区别
2.1 区别1:特征提取
从特征提取的角度出发:
机器学习需要人工的特征提取过程;
深度学习没有复杂的人工特征提取过程,特征提取的过程是通过深度神经网络自动完成的;
2.2 区别2:数据量
从数据量的角度出发:
机器学习中需要的数据量相对较少(参数较少,提前已经确定);
深度学习需要大量的训练数据集,会有更高的效果;
由于深度学习中有很多的不确定参数,所以训练深度神经网络需要大量的算力;
3.深度学习的应用场景
图像识别: 物体识别、场景识别、人脸检测跟踪、人脸身份认证;
自然语言处理技术:机器翻译、文本识别、聊天对话;
语音技术:语音识别
4.常见深度学习框架
企业中常见深度学习框架,如TensorFlow、Caffe2、Keras、Theano、PyTorch、Yolo、Paddle、Chainer、DyNet、MXNet、CNTK等等。
其中谷歌出品TensorFlow和Kears,使用者多但是语法晦涩难懂,使用较复杂。
FackBook出品的PyTorch由于其语法简单,广泛的Python开发环境与Numpy语法使用,同时动态计算,调试更简单,大大降低了学习门槛和语法规则;
百度出品的Paddle双浆已经成为近几年深度领域最火的开源深度学习库,其Paddle OCR广泛用于中英文、符号等字符识别领域,准确性极高;
5.什么是神经网络
人工神经网络(Artificial Neural Network, ANN),简称神经网络(Neural Network),或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构与功能的数学模型,用于对函数进行估计或近似。
和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉与语音识别。这些问题都是很难被传统基于规则的编程所解决的。
6.神经元的概念
在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值",那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。
1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P神经元模型。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。
一个简单的神经元如下图所示:
其中
1.a1,a2...an为各个输入的分量
2.w1,w··w为各个输入分量对应的权重参数
3.b为偏置
4.f为激活函数,常见的激活函数有tanh,sigmoid,relu
5.t为神经元的输出
使用数学公式表示就是
可见,一个神经元的功能是求得输入向量与权向量的内积后,经一个非线性传递函数得到一个标量结果。
|