文章目录
一 深度学习的介绍
1 深度学习的概念
深度学习(deep learning)是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。
2 机器学习和深度学习的区别
2.1 区别1 :特征提取
从特征提取的角度出发:
- 机器学习需要有人工的特征提取的过程
- 深度学习没有复杂的人工特征提取的过程,特征提取的过程可以通过深度神经网络自动完成
2.2 区别2:数据量
从数据量的角度出发:
- 深度学习需要大量的训练数据集,会有更高的效果
- 深度学习训练深度神经网络需要大量的算力,因为其中有更多的参数
3. 深度学习的应用场景
图像识别
- 物体识别
- 场景识别
- 人脸检测跟踪
- 人脸身份认证
自然语言处理技术
- 机器翻译
- 文本识别
- 聊天对话
语音技术
- 语音识别
4. 常见的深度学习框架
目前企业中常见的深度学习框架有很多,TensorFlow, Caffe2, Keras, Theano, PyTorch, Chainer, DyNet, MXNet, and CNTK等等
其中tensorflow和Kears是google出品的,使用者很多,但是其语法晦涩而且和python的语法不尽相同,对于入门玩家而言上手难度较高
PyTorch由facebook出品,PyTorch的使用和python的语法相同,整个操作类似Numpy的操作,并且 PyTorch使用的是动态计算,会让代码的调试变的更加简单
二 神经网络的介绍
1 人工神经网络的概念
人工神经网络(英语:Artificial Neural Network,ANN),简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型,用于对函数进行估计或近似。
和其他机器学习方法一样,神经网络已经被用于解决各种各样的问题,例如机器视觉和语音识别。这些问题都是很难被传统基于规则的编程所解决的。
2 神经元的概念
在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。
1943 年,McCulloch 和 Pitts 将上述情形抽象为上图所示的简单模型,这就是一直沿用至今的 M-P 神经元模型。把许多这样的神经元按一定的层次结构连接起来,就得到了神经网络。
一个简单的神经元如下图所示,
其中:
- a 1 , a 2 … a n a_1,a_2\dots a_n a1,a2…an 为各个输入的分量
- w 1 , w 2 ⋯ w n w_1,w_2 \cdots w_n w1,w2