【深度学习】全面直观认识深度神经网络

本文深入解析深度学习核心概念,涵盖非线性变换、激活函数、组合特征提取、损失函数及优化算法,探讨过拟合问题及其解决方案,适合深度学习初学者及实践者阅读。

01深度学习的精准定义

 一类通过多层非线性变换对高复杂性数据建模算法的集合。它的两个非常重要的特征是多层性和非线性。俗称多层非线性变换。所以深度学习要去线性化。

为什么呢?因为线性模型存在局限性,任意线性模型得到组合仍然还是线性模型。所以只要通过线性变换,任意层的全连接神经网络和单层神经网络模型的表达能力没有任何区别,而且他们都是线性模型,线性模型解决问题的能力是有限的。

02激活函数实现去线性化

        每个神经元(也就是神经网络上的节点)的输出通过一个非线性函数,那么整个神经网络的模型也就不再是线性的了,这个非线性函数就是激活函数。

tensorflow常见的激活函数有:

tf.nn.relu
tf.sigmoid
tf.tanh

tensorflow 也支持自定义激活函数。

带激活函数的前向传播算法:

a = tf.nn.relu(tf.matmul(x, w1) + biases1)
y = tf.nn.relu(tf.matmul(a, w2) + biases2)

03单层神经网络解决不了的问题

事实上,一个单极网络可以将平面划分为两部分,用多个单极网络组合在一起,并用其中的一个区综合其他单极网络的结果,就可以构造出一个两极神经网络。

04组合特征提取

深度神经网络具有组合特征提取的功能,这个特征对于不易提取特征向量的问题(比如图片识别和语音识别等)有很大的帮助。隐藏层的主要作用也就是隐藏层节点可以被认为代表了从输入特征中抽取更高纬度的特征。

05损失函数

损失函数用于评价模型的效果。分类问题使用最广泛的损失函数是交叉熵。

交叉熵:

        刻画两个概率分布的距离,也就是说交叉熵越小两个概率分布越接近。

交叉熵的数学定义是:

        其用来衡量在给定真实分布下,使用非真实分布所指定的策略消除系统不确定性所需付出的努力的大小。

神经网络的输出不一定是概率模型,可以使用Softmat回归将神经网络的前向传播的结果变成概率分布。

代码实例:

cross_entropy = -tf.reduce_mean(
        y_ * tf.log(tf.clip_by_value(y, 1e-10, 1.0)

        但是交叉熵一般会和softmax回归一起使用,所以会使用tf.nn.softm

cross_entropy=
    tf.nn.softmax_cross_entropy_with_logits(y,y_)

y代表原始神经网络的输出结果,而y_给出了标准答案。

在只有一个正确答案的分类问题中,Tensorflow提供了函数:

tf.nn.sparse_softmax_cross_entropy_with_logits

来加快计算过程。

 回归问题常用的损失函数是均方误差。均方误差是指各数据偏离真实值的距离平方和的平均数。

06神经网络的优化算法

梯度下降算法主要用于优化单个参数的取值,而反向传播算法则给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经网络模型在训练数据集上的损失函数尽可能的小。

反向传播算法是训练神经网络的核心算法。它可以根据定义好的损失函数优化神经网络中参数的取值,从而使神经网络模型在训练数据集上的损失函数达到一个较小的值。

神经网络模型中参数的优化过程直接决定了模型的质量。

07什么是梯度和学习率

梯度:

由导数的概念,对点x0的导数反应了函数在点x0出的瞬时变化速率,或者叫做点x0出的斜度。推广到多维函数中,就有了梯度的概念,梯度是一个向量的组合,反应了多维图形中变化速率最快的反向。

学习率:

每次参数移动的幅度。

08神经网络的优化过程

神经网络的优化过程分为两个阶段:

        1、先通过神经网络的前向传播算法计算得到预测值,并将预测值和真实值做对比得出两者之间的差距。

        2、通过反向传播算法计算损失函数对每个参数的梯度,再根据梯度和学习率使用梯度下降算法更新每一个参数。

        梯度下降算法并不能保证被优化的函数达到全局最优解,可能只得到局部最优解,只有损失函数是凸函数才能保证达到全局最优解

        结合梯度下降算法和随机梯度下降算法的优缺点,这里采用一小部分数据(batch)来进行梯度下降,所以神经网络的训练过程大致如下:

09学习率的设置

在训练神经网络时,需要设置学习率控制参数更新的速度,学习率决定参数每次更新的幅度,如果幅度过大,可能导致参数在极优值的两侧来回移动,如果幅度过小,虽然能保证收敛性,但是会大大降低优化速度。所以学习率不能过大也不能过小。

指数衰减法设置学习率:

tf.train.exponential_decay()

实现了指数衰减学习率,通过这个函数,可以先使用较大的学习率快速得到一个比较优的解,然后随着迭代的继续逐步减小学习率,使得模型训练后期更加稳定。实例代码:

上述代码设定了初始的学习率为0.1,因为指定了staircase=True,所以每次训练100轮后学习率乘以0.96。

10过拟合问题

举几个例子:

        1、过拟合就是你想多了,欠拟合就是你太天真。

        2、中国著名计算机科学家,中国机器学习之父,被业内尊称为中国图灵的鲁迅先生曾经描述过一个名为「中国人」的机器学习算法,在图像识别上严重的过拟合问题。其原文如下:

        一见短袖子,立刻想到白臂膊,立刻想到全裸体,立刻想到生殖器,立刻想到性交,立刻想到杂交,立刻想到私生子。中国人的想像惟在这一层能够如此跃进。《而已集·小杂感》

        3、遇到几个渣男就得出结论“男人没一个好东西”。

        4、举个物理学上的段子(转自他人博文),费米的话就是一个非常直观的理解:

        1953年春天,戴森和自己的学生利用赝标介子理论计算了介子与质子的散射截面,得到了与费米的实验观测值十分相符的结果。然而该理论需要4个自由参数,费米很不屑,讲了一句日后很著名的话:“我记得我的朋友约翰·冯·诺依曼(John von Neumann)曾经说过,用四个参数我可以拟合出一头大象,而用五个参数我可以让它的鼻子摆动。”

        有趣的是,2010年6月,尤根·迈尔(Jurgen Mayer)等三位德国分子生物学家在《美国物理学期刊》(American Journal of Physics)发表了题为“用四个复参数画出一头大象”的论文。他们发现,利用四个复参数可以大致勾勒出大象的形态,再引入一个复参数则可以让大象的鼻子摆动起来。

        5、直观图:

过拟合:

        当一个模型过为复杂之后,它可以很好的“记忆”每一个训练集上的随机噪声的部分而忘记要去“学习”训练数据中通用的趋势。

过拟合主要有两个原因造成:数据太少+模型太复杂

奥斯姆剃刀:

        这个原理称为“如无必要,勿增实体”,即“简单有效原理”。正如他在《箴言书注》2卷15题说“切勿浪费较多东西去做,用较少的东西,同样可以做好的事情。”

解决过拟合问题:

        增加数据,减少特征(特征提取),交叉验证,正则化。

正则化:

        避免过拟合问题最常用的方法,它的思想是在损失函数中加入刻画模型复杂度的指标。

        一般来说模型的复杂度由权重w决定,刻画模型复杂度的函数R(w)有两种,L1正则化和L2正则化。

        L1:R(w)=∑∣Wi∣;L2:R(w)=∑(∣Wi∣*∣Wi∣)

L1和L2正则化的差别很大:

        L1正则化会让参数变得更加稀疏,达到类似特征提取的功能,以及不可导,但是L2则相反。

11滑动平均模型

        在采用随机梯度下降算法训练神经网络时,使用 tf.train.ExponentialMovingAverage 滑动平均操作的意义在于提高模型在测试数据上的健壮性(robustness)。

tf.train.ExponentialMovingAverage需要提供一个衰减率(decay)。该衰减率用于控制模型更新的速度。该衰减率用于控制模型更新的速度。

        ExponentialMovingAverage 对每一个(待更新训练学习的)变量(variable)都会维护一个影子变量(shadow variable)。影子变量的初始值就是这个变量的初始值。

shadow_variable=

    decay×shadow_variable+(1−decay)×variable

        由上述公式可知, decay 控制着模型更新的速度,越大越趋于稳定。实际运用中,decay 一般会设置为十分接近 1 的常数(0.99或0.999)。所有需要计算滑动平均的变量必须是实数型。

代码示例:


参考源:全面直观认识深度神经网络-作者:石文华 

内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。
内容概要:本文系统研究了综合能源系统中的容量配置与运行调度问题,采用双层优化方法构建模型并通过Matlab代码实现求解。上层优化侧重于设备容量的科学配置,以降低投资成本并提升系统经济性;下层优化聚焦于多能源协同运行调度,综合考虑光伏、储能、电动汽车等多种能源形式的动态特性,旨在实现系统在不同运行工况下的能效最大化、运行可靠性与低碳化目标。研究融合智能优化算法(如遗传算法、粒子群算法)与电力系统建模技术,深入探讨了多能耦合、不确定性处理及复杂约束下的优化机制,并提供了完整的仿真案例与代码资源,涵盖微电网调度、风光储协同、电动汽车接入等典型应用场景,形成了具有较强实用价值的科研技术体系。; 适合人群:具备电力系统分析、优化算法理论及Matlab编程基础的研究生、科研人员和工程技术人员,特别适用于从事综合能源系统规划、微电网运行、智能调度与能源互联网等领域研究的专业人士。; 使用场景及目标:① 掌握双层优化在综合能源系统中的建模方法与求解流程;② 利用所提供Matlab代码进行科研复现、算法改进与系统仿真验证;③ 拓展应用于电动汽车集群调度、可再生能源消纳、多能互补系统优化等实际工程与学术研究场景; 阅读建议:建议结合文档中列出的相关研究方向与配套代码资源,按照主题分类循序渐进地学习,优先理解双层架构的设计逻辑与上下层耦合机制,并借助提供的网盘资料开展仿真实验与参数调试,以深化对优化模型与算法实现的理解,提升科研创新能力。
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
【重要提示】本资源设置为0积分下载,若非0积分请勿轻易下载 亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: 本资源原本已设置为“0积分下载”,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,自动将部分资源的积分调整为非0数值(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。强烈建议:仅在页面显示为0积分时进行下载。 另外,本资源描述中并未直接提供具体的下载地址或外部链接,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值