深度学习 神经网络

本文介绍了深度学习中激活函数的作用,包括sigmoid、relu和softmax等,讨论了为何引入非线性以增加模型复杂度。同时,解释了损失函数如均值平方差和交叉熵的意义,以及它们在凸函数和平面等高线图中的表现。此外,还探讨了梯度下降法、梯度消失和梯度爆炸问题以及解决方案,最后涉及卷积神经网络的基础知识,如卷积层、池化层和全连接层的概念。
摘要由CSDN通过智能技术生成

文章目录

基础知识

激活函数:引入非线性增加模型复杂度,不改变数据维度,a=激活函数(b) a、b维度一样

取值[0,1],如leru取值[0,正无穷)可归一化成[0,1],符合概率特点

为什么要引入?

线性函数只能进行线性划分,不能解决复杂的:如异或xor问题。
多层网络都能化成一层,为了增加复杂度;
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sigmoid函数:取值 [0,1]

sigmoid函数:函数值处于[0,1],单调递增,且导数为饱和函数。只要满足三个条件,就是sigmoid函数,有很多种,如下图
在这里插入图片描述
其中最出名的是logistic函数【可见我的逻辑斯蒂回归博文,是因为正太分布而产生的函数】,直接把它叫做sigmoid函数:取值[0,1],导数取值[0,0.25]
在这里插入图片描述

在这里插入图片描述

relu:倒数函数不连续 取值[0,正无穷],导数取值0或1

在这里插入图片描述
在这里插入图片描述

softmax

y i ^ = p ( y = i ) = σ ( i ) = e z i ∑ j n − 1 e z j n 个 类 , z = w x + b , y ^ = σ ( z ) , y i ^ 为 对 是 属 于 i 类 的 预 测 结 果 \hat{y_i}=p(y=i)=\sigma(i)=\frac{e^{ {z_i}}}{\sum\limits_j^{n-1}{e^{ {z_j}}}}\\ n个类,z=wx+b,\hat{y}=\sigma(z),\hat{y_i}为对是属于i类的预测结果\\ yi^=p(y=i)=σ(i)=jn1ezjezinz=wx+by^=σ(z)yi^i
在这里插入图片描述
多分类时,需要对每个类别输出的概率满足: p i > 0 , 且 ∑ p i = 1 p_i>0,且\sum{p_i}=1 pi>0pi=1
y的标签编码方式为one-hot【只有一个是1,其余是0,因为最终结果只可能属于某一个类,标签的one-hot算法完成的,输入仍为原始标签】

为什么引入?

第一,节省计算量:采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。
第二,防止simoid反向传播时出现的梯度消失。对于深层网络,sigmoid函数反向传播时,很容易就会出现梯度消失的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。
第三,Relu会使一部分神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生

如何用?:多层神经网络的隐藏层

ReLU 主要用在神经网络中的隐藏层作为激活函数,很少用在输出层,输出层可用sigmoid或softmax等。

relu把负值全变成0,在隐藏层作为激活函数时,可造成网络的稀疏性,加快训练过程。在最后一层作为激活函数时,所有的负值都被丢掉,丢失了大量的信息,相当于把学到的结果丢了一半,此时再进行预测效果大打折扣。

sigmoid一般用于二分类最后一层,softmax用于多分类最后一层。

选定优先级

relu>tanh>sigmoid
后两个导函数为饱和函数(类似正太分布),有学习饱和问题:接近饱和区时,导数趋于0,这种情况会造成信息丢失
问题类型	最后一层激活	损失函数二分类问题	sigmoid	binary_crossentropy多分类、单标签问题	softmax	categorical_crossentropy多分类、多标签问题	sigmoid	binary_crossentropy回归到任意值	无	mse回归到0-1范围内的值	sigmoid	mse或binary_crossentropy

损失函数

用真实值与预测值之间的差距【距离差距,分布差距】来指导模型收敛的方向。

凸函数?

平方差/均值平方差:凸函数
交叉熵(逻辑回归):凸函数
神经网络:非凸函数

等高线

梯度的导数越大,越陡,走一步造成的高度差越大,等高线越密
在这里插入图片描述

损失函数是凸函数时
损失函数3D图

在这里插入图片描述

3D图等高线图,压缩到 θ 1 O θ 2 平 面 \theta_1O\theta_2平面 θ1Oθ2:可知,中心处损失最低

在这里插入图片描述

设损失函数 y = f ( x 1 , x 2 ) y=f(x_1,x_2) y=f(x1,x2)是个曲面,被平面c(为常数)所截曲线方程为:
y = f ( x 1 , x 2 ) y = c y=f(x_1,x_2)\\ y=c\\ y=f(x1,x2)y=c
该曲线在 x 1 O x 2 平 面 上 投 影 为 一 条 曲 线 : f ( x 1 , x 2 ) = c , 即 为 y = f ( x 1 , x 2 ) 在 x 1 O x 2 平 面 上 的 一 条 等 高 线 : 由 上 图 可 知 , 中 心 处 损 失 最 低 x_1Ox_2平面上投影为一条曲线:f(x_1,x_2)=c,即为y=f(x_1,x_2)在x_1Ox_2平面上的一条等高线:由上图可知,中心处损失最低 x1Ox2线f(x1,x2)=cy=f(x1,x2)x1Ox2线
在这里插入图片描述

在 等 高 线 f ( x 1 , x 2 ) 上 任 一 点 的 切 线 斜 率 为 : d x 2 d x 1 且 由 上 面 隐 函 数 求 导 可 知 : d x 2 d x 1 = − f x 1 f x 2 则 在 该 处 的 法 线 斜 率 为 : − 1 d x 2 d x 1 = − 1 − f x 1 f x 2 = f x 2 f x 1 由 上 面 梯 度 为 : ( ∂ f ∂ x 1 , ∂ f ∂ x 2 ) = ∂ f ∂ x 1 i ⃗ + ∂ f ∂ x 2 j ⃗ 在 x 1 O x 2 平 面 的 梯 度 方 向 为 : ∂ f ∂ x 2 / ∂ f ∂ x 1 , 并 指 向 远 离 圆 圈 中 心 的 方 向 【 梯 度 方 向 是 函 数 值 增 大 的 方 向 , 对 应 的 导 数 为 正 】 在等高线f(x_1,x_2)上任一点的切线斜率为:\frac{dx_2}{dx_1}\\ 且由上面隐函数求导可知:\frac{dx_2}{dx_1}=-\frac{f_{x_1}}{f_{x_2}}\\ 则在该处的法线斜率为:\frac{-1}{\frac{dx_2}{dx_1}}=\frac{-1}{-\frac{f_{x_1}}{f_{x_2}}}=\frac{f_{x_2}}{f_{x_1}}\\ 由上面梯度为:(\frac{\partial f}{\partial x_1}, \frac{\partial f}{\partial x_2})=\frac{\partial f}{\partial x_1}\vec{i} +\frac{\partial f}{\partial x_2}\vec{j}\\ 在x_1Ox_2平面的梯度方向为:\frac{\partial f}{\partial x_2}/\frac{\partial f}{\partial x_1},并指向远离圆圈中心的方向【梯度方向是函数值增大的方向,对应的导数为正】 线f(x1,x2)线dx1dx2dx1dx2=fx2fx1线dx1dx21=fx2fx11=fx1fx2(x1f,x2f)=x1fi +x2fj x1Ox2x2f/x1f

均值平方差(MSE):真实值和预测值之间的距离的差距

一般:回归任务使用

对目标函数是sigmoid函数时,损失函数采用MSE的情况,其偏导值在输出概率值接近0或者接近1的时候非常小,这可能会造成模型刚开始训练时,偏导值几乎消失
J M S E = 1 N ∑ i = 1 N ( y ^ i − y i ) 2 J_{M S E}=\frac{1}{N} \sum_{i=1}^{N}\left(\hat{y}_{i}-y_{i}\right)^{2} JMSE=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值