深度学习(Deep Learning)入门必备基本概念

1. 神经网络(Neural Network)基础

1.1 神经元(Neuron)
  • 神经元是神经网络的基本构成单位.
  • 在神经网络中,一个神经元接收信号作为神经元的输入,经过处理,将结果输出,输出的结果作为下一个神经元的输入,或者作为最终的输出.
    -
1.2 权重(weights)
  • 当信息作为输入传到神经元时,神经元会分配给每个信息一个相关权重,将输入的信息乘以相应的权重,就是该信息的输入
  • 开始时,神经元会初始化每个信息的权重,之后根据相应的反馈和模型训练和更新每个信息的权重
  • 被赋予高权重的信息是被神经元认为更加重要的信息,而权重为0的信息则会被认为是神经元活动影响微乎其微的信息
    eg: 如果一个信息的输入为a,该信息的权重为w1,那个该信息的输入就是a*w1
    在这里插入图片描述
1.3 偏差(bias)
  • 在信息输入到神经元时,另一个输入分量是偏差(bias),被加到权重和输入相乘的结果中
  • 引入偏差的目的是为了确定在改变权重之后,确定输入相乘的所得范围
  • 添加偏差之后,所得到的结果就是a*w1+偏差,这就是输入变换的最终线性分量
1.4 激活函数(Activation function)
  • 激活函数的作用是将输入信号转化为输出信息,应用或的激活函数类似于 f ( a w 1 + b ) f(aw_1+b) f(aw1+b)的形式

在这里插入图片描述
上面的图中,假设输入为 x 1 . . . x n x_1...x_n x1...xn,权重为 w 1 . . . w n w_1...w_n w1...wn,误差为 b 1 . . . b n b_1...b_n b1...bn,设 U = ∑ ( x i ∗ w i + b i ) U = \sum(x_i*w_i+b_i) U=(xiwi+bi),所以,激活函数 f ( U ) f(U) f(U),最终的输出为 y = f ( U ) y = f(U) y=f(U)

2. 常用的激活函数

2.1 sigmoid-用于隐层神经元的输出
  1. 函数表达式: ϕ ( x ) = 1 1 + e − x \phi_{(x)}=\frac{1}{1+e^{-x}} ϕ(x)=1+ex1
  2. sigmoid函数图像
    3.
  • sigmoid变换产生一个值为0~1之间更为平滑的范围,我们可能需要观察在输入值略有变化时输出值中发生的变化,光滑的曲线能够做到这一点,因此优于阶跃函数
  • 特别的,如果是非常大的负数,就输出0,非常大的正数,就输出1
  1. 劣势
  • 当输出非常大或者非常小的时候,这些神经元的梯度是接近于0的,从图中梯度的趋势,sigmoid的输出不是0均值,这会导致后一层神经元将得到上一层输出的非0均值的信号作为输入
2.2 ReLu(整流线型单位) - 用于隐层神经元输出
  1. 函数形式: ϕ = m a x ( 0 , x ) \phi=max(0,x) ϕ=max(0,x)
  2. ReLu图像
    在这里插入图片描述
  • 当x>0时,函数的输出值为x;当x<=0时,输出值为0

3. 神经网络(Neural Network)

3.1 输入,输出,隐藏层
  1. 输入层:接收输入的那一层,本质上是网络的第一层
  2. 输出层:生成输出的那一层,本质上的网络的最后一层
  3. 隐藏层:处理信号的中间层,隐藏层对传入的数据做特定的任务并生成输出,传递到下一层

在这里插入图片描述

3.2 MLP(多层传感器)
  • 由于单个神经元无法完成复杂的任务,所以我们使用堆栈神经元的方法来生成我们所需要的输出。在最简单的神经网络中,包含一个输入层、一个输出层、一个隐藏层。每一层中包含有若干个神经元,每一层的神经元连接这下一层的所有神经元,这样的网络也叫做全完连接网络。
3.3 正向传播(Forword Propagation)
  1. 定义:正向传播是指输入层通过隐藏层到输出层的运动
    输入层 - - - - -> 隐藏层 - - - - - - -> 输出层
  2. 在正向传播中,信息沿着一个单一的方向前进,从输入层经过隐藏层到输出层,最终输出。这个过程没有反向运动
3.4 成本/损失函数(Cost Function)
  • 当建立一个神经网络的时候,神经网络会试图将输出预测尽可能地接近实际值。使用成本函数(Cost function)函数来衡量网络的准确性。Cost function 会在发生错误的时候处罚网络
  • 我们的目的是为了能够提高我们的预测精度,减少误差,从而最大限度的降低成本。最优化的输出即使成本/损失函数最小的输出
  • 如果把成本损失定义为均方误差: C = 1 m ∑ ( y − a ) 2 C=\frac{1}{m}\sum(y-a)^2 C=m1(ya)2其中m为实验处理次数,y为实际值,a为预测值
3.5 梯度下降
  • 梯度下降是最小化成本的优化算法,找到最小化的损失函数和模型参数值
  • 首先来看看梯度下降的一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山峰低处
  • 从上面的解释可以看出,梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解
    -
3.6 学习率(Learining rate)
  • 学习率是每次迭代中成本函数最小化的量,梯度下降到成本函数最小值所对应的速率就是学习率
  • 我们应该非常仔细地选择学习率,因为它不应该是非常大的,以至于最佳解决方案被错过,也不应该非常低,以至于网络需要融合
    在这里插入图片描述
3.7 反向传播(Back Propagation)
  • 当建立神经网络的时候,会初始化一个权重和偏差,在一次迭代的过后,计算出网络的错误,然后将该错误与成本函数的梯度一同反馈给网络用来更新网络中的权重,以减少后续迭代的错误。使用成本函数梯度的权重的更新成为反向传播
  • 再反向传播中,网络的运动是向后的,错误从外层随着梯度从外层通过隐藏层流回,权重被更新
3.8 批次(Batches)
  • 在训练神经网络的同时,不用一次发送整个输入,我们将输入分成几个随机大小相等的块。与整个数据集一次性馈送到网络时建立的模型相比,批量训练数据使得模型更加广义化
3.9 周期(Epoches)
  • 一个周期是指整个输入数据的单次向前和向后传递
  • 可以自行设定训练网络的周期数量,增加周期数量可以让网络更加准确,但是会增加网络融合时间。如果周期数量过大,网络可能会出现过度拟合的现象
3.10 丢弃(Dropout)
  • 丢弃是一个正规化的名词,可以防止网络的过度拟合
  • 在训练的过程中,隐藏层的神经元会有一定数量的被丢弃掉。这意味着训练发生在神经网络不同组合的神经网络的几个架构上,可以将Dropout视为一种综合技术,然后将多个网络的输出用于产生最终输出

-

4. 卷积神经网络(CNN)

4.1 滤波器(filter)
  • CNN中的滤波器与加权矩阵一样,它与输入图像的一部分相乘以产生一个回旋输出。我们假设有一个大小为28 * 28的图像,我们随机分配一个大小为3 * 3的滤波器,然后与图像不同的3 * 3部分相乘,形成所谓的卷积输出。滤波器尺寸通常小于原始图像尺寸。在成本最小化的反向传播期间,滤波器值被更新为重量值
  • 参考一下下图,这里filter是一个33矩阵:
    [ 1 0 31 0 1 0 1 0 1 ] \left[ \begin{matrix} 1 & 0 & 31\\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{matrix} \right] 1010103101
    与图像的每个3
    3部分相乘以形成卷积特征:
    在这里插入图片描述
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值