聊一聊深度学习--包括计算前馈网络的反向传播和卷积的反向传播(二)

简介: 聊一聊深度学习--包括计算前馈网络的反向传播和卷积的反向传播

Sigmoid型函数


17.png

sigmoid是两端饱和函数:

18.png


Logistic


19.png

“挤压”函数,将把一个实数域的输入“挤压”到 (0, 1).

当输入值在0附近时,Sigmoid型函数近似为线性函数;

当输入值靠近两端时,对输入进行抑制.输入越小,越接近于 0;输入越大,越接近于 1.

导数:y’ = y(1 - y)


Tanh


 非零中心化也是不好的性质:抑制和兴奋不明显,转换成零中心化使有兴奋有抑制。

20.png

两端饱和的激活函数好吗?

不好,应该找不饱和的,因为饱和是导数为0,梯度更新速度变慢,不利于更新


Hard-Logistic

解决以上两个开销较大的问题,采用分段函数来近似:

21.png

Relu


22.png

优点:

1.计算高效:仅进行加、乘和比较操作

2.一半进行抑制一半激活,具有生物学合理性(兴奋可以很高,又具有稀疏性)

3.相比于sigmoid函数,relu是左饱和函数,且在右半边导数为1,缓解梯度消失问题,加速收敛速度(缓解梯度消失和爆炸问题)


缺点

1.非零中心化,影响梯度下降效率

2.容易死亡:某一个神经元在一次不恰当更新后(w1很小会导致所有的求和后死亡下去),所有的训练数据都不能被激活,自身梯度也会永远是0(不仅会发生在第一层,有可能会发生在其他隐藏层)

23.png

24.png

为解决左饱和的问题提出带泄露的Relu


带泄露的Relu


25.png

其中γ是一个很小的常数,比如0.01.当γ < 1时,带泄露的

ReLU也可以写为LeakyReLU(x) = max(x, γx)


带参数的Relu


26.png

27.png


Swish


在深层模型上优于Relu

可作为自控们模型

28.png


万能近似定理


 万能近似定理(universal approximation theorem):一个前馈神经网络如果具有线性输出层和至少一层具有任何一种 “挤压” 性质(非线性)的激活函数的隐藏层,只要给予网络足够数量的隐藏单元,它可以以任意的精度来近似任何从一个有限维空间到另一个有限维空间的 Borel 可测函数。在 Rn 的有界闭集上的任意连续函数是 Borel 可测的, 因此可以用神经网络来近似。

29.png

解决贡献度的过程:

先了解一下前馈网络符号定义:

30.png

w更新:

31.png

32.png

我写的是以一个神经元为例的微观计算,宏观的应该是列成这样的式子:

33.png

 反向传播含义:第L层的一个神经元的误差项是所有与该神经元相连的第L+1层的神经元的误差项权重和,然后再乘上该神经元激活函数的梯度。


梯度不稳定


34.png

初始化W时,通常使W绝对值在1附近,太大爆炸,太小就消失。

激活函数的导函数也会影响,例如logistic值域(0,0.25] 大部分趋于0


梯度不稳定的缓解方法


1.使用合适的参数初始化方法。例如使用服从标准正态分布的随机数初始化。

2.使用合适的学习率。

3.使用更好的激活函数。

4.梯度裁剪,对过大的梯度进行限制

5.使用批规范化(Batch Normalization, BN)技术。


输出层和代价函数


以恒等映射为例的均方误差代价函数:h-y

35.png

以logistic函数的均方误差代价函数:(h-y)* logistic函数导数

36.png

以logistic函数和对数似然代价函数:

37.png

38.png

计算过程不难,可以计算得到。

39.png

交叉熵应用于多分类问题


Softmax


40.png

通过ex 的函数曲线,可以看出将大于0的值扩大(x到y的映射)

多分类概率问题:softmax+交叉熵代价函数

作用:输出二分类或多分类任务中某一类的概率。

意义:将输入排序,并转换为概率表示。


卷积神经网络


使用不同的卷积核(即“边”)可以得到不同的特征图。

不同的特征图代表了不同特征(“边”)在原图中的分布情况。

n个卷积核卷积之后可以得到n个特征图,也被称为n个通道的特征图。

为了表述方便,使用“通道”代替图片与特征图,例如:

1个通道通过3次卷积生成3个通道。


特征图与原图的关系


卷积核保留了原图的局部特征信息。

特征图保留了局部特征的强弱和位置信息。

卷积核与特征图可以看做原图的另一种表达形式。


特征图与原图的大小关系


原图大小大于等于卷积得到特征图的大小

原图 i * i **卷积核 k ***

特征图大小 = (i - k + 1)/ s (s是步长)


卷积的本质是 利用特征(卷积核)进行局部特征提取,得到特征分布图的过程。


池化


特征图作为模型输入的优缺点

👍 提取到了局部特征作为输出。

👍 卷积使得图像特征具有了一定的平移不变性。

👎 特征图展开破坏了高维的位置(全局)信息。

👎 直接使用特征图输入全连接神经网络时参数规模较大。

平移不变性:抖动或微微变动,移动一个像素 对于两次卷积效果基本不变,影响不大(影响没有那么大)


特征图下采样:

最大池化:取一个区域最大值


卷积运算


卷积核要素:

1.卷积核shape

2.卷积核的值

3.卷积核滑动

对于卷积,通常外面套一个非线性激活函数

池化核要素:

1.池化核shape

2.滑动步长

3.池化方式 (最大池化 平均池化)

对于池化,外面无激活函数或线性激活函数


卷积计算量


计算量 = 卷积核大小 * 特征图大小

对特征图卷积的意义

特征提取:提取到了相对宏观的特征。

数据降维:多次卷积、池化使得数据的维度进一步降低。


卷积与池化的问题


1.卷积中不同元素参与卷积计算的次数不同 (与当初设计网络的初衷不符)

2.卷积与池化的步长不同时,边界处如何计算?(填充0值)

边界处理方法:

valid边界,只利用有效数据,盛不下就不卷了

i - k + 1 / s = 个数

SAME边界,pad填充,使完全卷到

41.png

42.png

为了不卷到垃圾数!比如下图,左边填充两个值的时候,卷到的前两个数都是0,没有意义,都是垃圾数。

43.png

44.png

45.png

卷积网络的反向传播:

与全连接神经网络相比:

1.池化层的前一层残差计算

2.卷积层的前一层残差计算

3.卷积核中的参数的偏导数计算

46.png

47.png

48.png

有问题希望大家不吝赐教!!

后边没来得及整理完,求老师让过了吧!!


相关文章
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
50 7
|
12天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
15 1
|
1月前
|
机器学习/深度学习 计算机视觉 Python
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力本文提出了一种简单且高效的卷积神经网络(ConvNets)注意力模块——SimAM。与现有模块不同,SimAM通过优化能量函数推断特征图的3D注意力权重,无需添加额外参数。SimAM基于空间抑制理论设计,通过简单的解决方案实现高效计算,提升卷积神经网络的表征能力。代码已在Pytorch-SimAM开源。
【YOLOv11改进 - 注意力机制】SimAM:轻量级注意力机制,解锁卷积神经网络新潜力
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
26天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
1月前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
67 3
|
1月前
|
机器学习/深度学习 监控 自动驾驶
卷积神经网络有什么应用场景
【10月更文挑战第23天】卷积神经网络有什么应用场景
83 2
|
1月前
|
机器学习/深度学习 自然语言处理 算法
什么是卷积神经网络
【10月更文挑战第23天】什么是卷积神经网络
48 1
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
79 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型