1深度学习的介绍

文章目录

  • 1深度学习的介绍
    • 1. 深度学习的概念
    • 2. 机器学习和深度学习的区别
      • 2.1 区别1 :特征提取
      • 2.2 区别2:数据量
    • 3. 深度学习的应用场景
    • 4. 常见的深度学习框架
  • 神经网络的介绍
    • 1. 人工神经网络的概念
    • 2. 神经元的概念
    • 3. 单层神经网络
    • 4. 感知机
    • 5. 多层神经网络
    • 6. 激活函数
    • 6. 神经网络示例

1深度学习的介绍

1. 深度学习的概念

深度学习(英语:deep learning)是机器学习的分支,是一种以人工神经网络为架构,对数据进行特征学习的算法。

2. 机器学习和深度学习的区别

2.1 区别1 :特征提取

1深度学习的介绍_第1张图片

特征提取的角度出发:

  1. 机器学习需要有人工的特征提取的过程
  2. 深度学习没有复杂的人工特征提取的过程,特征提取的过程可以通过深度神经网络自动完成

2.2 区别2:数据量

数据量的角度出发:

  1. 深度学习需要大量的训练数据集,会有更高的效果
  2. 深度学习训练深度神经网络需要大量的算力,因为其中有更多的参数

3. 深度学习的应用场景

  1. 图像识别
    1. 物体识别
    2. 场景识别
    3. 人脸检测跟踪
    4. 人脸身份认证
  2. 自然语言处理技术
    1. 机器翻译
    2. 文本识别
    3. 聊天对话
  3. 语音技术
    1. 语音识别

4. 常见的深度学习框架

目前企业中常见的深度学习框架有很多,TensorFlow, Caffe2, Keras, Theano, PyTorch, Chainer, DyNet, MXNet, and CNTK等等

其中tensorflow和Kears是google出品的,使用者很多,但是其语法晦涩而且和python的语法不尽相同,对于入门玩家而言上手难度较高。

所以在之后的课程中我们会使用facebook出的PyTorch,PyTorch的使用和python的语法相同,整个操作类似Numpy的操作,并且 PyTorch使用的是动态计算,会让代码的调试变的更加简单

神经网络的介绍

1. 人工神经网络的概念

人工神经网络(英语:Artificial Neural Network,ANN),简称神经网络(Neural Network,NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型,用于对函数进行估计或近似。

2. 神经元的概念

3. 单层神经网络

是最基本的神经元网络形式,由有限个神经元构成,所有神经元的输入向量都是同一个向量。由于每一个神经元都会产生一个标量结果,所以单层神经元的输出是一个向量,向量的维数等于神经元的数目。
1深度学习的介绍_第2张图片

4. 感知机

感知机由两层神经网络组成,输入层接收外界输入信号后传递给输出层(输出+1正例,-1反例),输出层是 M-P 神经元
1深度学习的介绍_第3张图片

5. 多层神经网络

多层神经网络就是由单层神经网络进行叠加之后得到的,所以就形成了的概念,常见的多层神经网络有如下结构:

  • 输入层(Input layer),众多神经元(Neuron)接受大量输入消息。输入的消息称为输入向量。
  • 输出层(Output layer),消息在神经元链接中传输、分析、权衡,形成输出结果。输出的消息称为输出向量。
  • 隐藏层(Hidden layer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。隐层可以有一层或多层。隐层的节点(神经元)数目不定,但数目越多神经网络的非线性越显著,从而神经网络的强健性(robustness)更显著。

示意图如下:

1深度学习的介绍_第4张图片

全连接层:当前一层和前一层每个神经元相互链接,我们称当前这一层为全连接层。

思考:假设第N-1层有m个神经元,第N层有n个神经元,当第N层是全连接层的时候,则N-1和N层之间有1,这些参数可以如何表示?
1深度学习的介绍_第5张图片

6. 激活函数

所以激活函数很重要的一个作用就是增加模型的非线性分割能力

1深度学习的介绍_第6张图片

看图可知:

  • sigmoid 只会输出正数,以及靠近0的输出变化率最大
  • tanh和sigmoid不同的是,tanh输出可以是负数
  • Relu是输入只能大于0,如果你输入含有负数,Relu就不适合,如果你的输入是图片格式,Relu就挺常用的,因为图片的像素值作为输入时取值为[0,255]。

激活函数的作用除了前面说的增加模型的非线性分割能力外,还有

  • 提高模型鲁棒性
  • 缓解梯度消失问题
  • 加速模型收敛等

6. 神经网络示例

1深度学习的介绍_第7张图片

你可能感兴趣的:(pytorch深度学习,深度学习,自然语言处理)