深度学习之梯度下降法

代价函数

在一开始,我们会完全随机地初始化所有的权重和偏置值。可想而知,这个网络对于给定的训练示例,会表现得非常糟糕。例如输入一个3的图像,理想状态应该是输出层3这个点最亮。

可是实际情况并不是这样。这是就需定义一个代价函数。(吴恩达老师称单个样本上的代价为$Loss function$,称为损失函数 )

接下来就要考虑几万个训练样本中代价的平均值

 

梯度下降法

还得告诉它,怎么改变这些权重和偏置值,才能有进步。

为了简化问题,我们先不去想一个有13000多个变量的函数,而考虑简单的一元函数,只有一个输入变量,只输出一个数字。学过微积分的都知道,有时你可以直接算出这个最小值,不过函数很复杂的话就不一定能写出,而我们这个超复杂的13000元的代价函数,就更加不可能做到了。

(这里有个问题:神经网络中,为何不直接对损失函数求偏导后令其等于零,求出最有权重,而要使用梯度下降法(迭代)计算权重)?

知乎上对于这个问题的回答:https://www.zhihu.com/question/267021131

这里我主要关注了两点:

  1. 神经网络的代价函数其实是非凸函数
  2. 非凸优化问题被认为是非常难求解的,因为可行域集合可能存在无数个局部最优点,通常求解全局最优的算法复杂度是指数级的(NP难)。

一个灵活的技巧是:以下图为例,先随便挑一个输入值,找到函数在这里的斜率,斜率为正就向左走,斜率为负就向右走,你就会逼近函数的某个局部最小值。(其实是沿着负梯度方向,函数减少的最快)

但由于不知道一开始输入值在哪里,最后你可能会落到许多不同的坑里,而且无法保证你落到的局部最小值就是代价函数的全局最小值。

值得一提的是,如果每步的步长与斜率成比例,那么在最小值附近斜率会越来越平缓,每步会越来越小,这样可以防止调过头。

当我们提到让网络学习,实质上就是让代价函数的值最小。代价函数有必要是平滑的,这样我们才可以挪动以找到全局最小值,这也就是为什么人工神经元的激活值是连续的。

 

没道理的回答

当输入是一个噪音图片时,神经网络却仍很自信的把它识别成一个数字。换句话说,即使网络学会了如何识别数字,但是它却不会自己写数字。

究其原因,因为网络的训练被限制在很小的框架内,在网络的世界里,整个宇宙都是由小网格内清晰的静止的手写数字构成的。

 

最后,作者给出上期问题的答案:神经元根本就没有取去识别图案和短边!

 

 

参考链接:

转载于:https://www.cnblogs.com/lfri/p/10334433.html

深度学习:梯度下降法 梯度下降法 阅读详情

相关推荐

深度学习的优化:梯度下降法

深度学习的优化:梯度下降法 作者:禅与计算机程序设计艺术 1. 背景介绍 深度学习是机器学习领域近年来发展最为迅猛的分支之一。深度学习模型通常包含大量的参数需要学习优化,而梯度下降法作为一种最基础和常用的优化算法,在深度学习中扮演着至关重要的角色。本文将深入探讨梯度下降法在深度学习

AI天才研究院 1189

第二周 神经网络基础:2.4 梯度下降法

xpj8888的博客 127

梯度下降法与深度学习的实现

本文深入探讨了梯度下降法的基本概念、工作原理以及如何在TensorFlow中实现。通过图解和代码示例,详细介绍了从单变量到多变量函数的梯度下降过程,以及如何通过TensorFlow中的梯度下降优化器来求解函数的最小值。同时,本文还介绍了几种梯度下降法的改进版本,包括Adagrad、Momentum、NAG和RMSprop,以及它们在解决局部极小值和鞍点问题上的优势。

weixin_33256096的博客 324

深度学习相关概念:梯度下降

深度学习相关概念:梯度下降法、动量法与自适应梯度1. 梯度下降概念2. 梯度下降的目的3. 梯度下降的原理4. 梯度计算5. 梯度下降算法的类别及计算效率5.1 批量梯度下降(BGD)5.2 随机梯度下降(SGD)5.3 小批量梯度下降(MBGD) 1. 梯度下降概念   在深度学习中,你一定听说过“梯度下降”,在绝大部分的神经网络模型里有直接或者间接地使用了梯度下降的算法。深度学习的核心:就是把数据喂给一个人工设计的模型,然后让模型自动的“学习”,通过反向传播进而优化模型自身的各种参数,最终使得在某一组参

与君共勉,一起学习 5494

【深度学习】梯度下降(通俗易懂)

1、前言 最近有朋友问我,损失函数与激活函数的问题,由于有段时间没接触深度学习,一下子还有点蒙。最近也是复习了下。浅讲下自己对深度学习的理解。 2、梯度 相信大家对导数的概念都比较清楚, ...

感知算法 2675

Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

电商秒杀系统框架回顾项目简介外部依赖框架回顾项目要点项目中存在的问题小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以跟着视频练习一下这个项目; 项目简介 通过SpringBoot快速搭建的前后端分离的电商基础秒杀项目。项目通过应用领域驱动型的分层模型设计方式去完成:用户otp注册、登陆、查看、商品列表、进入商品详情以及倒计时秒...

ghw15221836342的博客 2925

深度学习2——梯度下降法(Gradient Descent)

最流行和最简单的想法是:每隔几个epochs将学习率降低一些系数。在最开始的时候,我们离目的地很远,所以需要使用较大的学习率;几个epochs之后,我们接近了目的地,所以我们开始降低学习率。比如使用t分之一衰变:但是Learning Rate不能一刀切完,所以需要给定不同的参数和不同的Learning Rate。而一种称为Adagrad的算法思想是:将每个参数的Learning Rate除以其先前导数的均方根。在批梯度下降法中,将w看成一个参数:在Adagrad梯度下降法中,

weixin_63194616的博客 1522

基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)

基于STM32F103C8T6的循迹避障小车完整制作过程 由于本人的一个小项目,要做一个基于STM32的循迹避障小车,前后花了约1周的时间,这个过程种也参考了很多大神分享的资料,学到很多的东西。但是资料都比较分散,有些东西也不好找,在这里就想把自己制作小车的一个整体过程记录分享一下,希望能够帮到你。 我自己也算是一个小白,之前有做过 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎...

weixin_43924857的博客 14万+

深度学习数学基础(二)~随机梯度下降(Stochastic Gradient Descent, SGD)

因为大家都是在一个真实的分布中得到的样本,对于分布的拟合都是近似的。想要以最快的方式下山,就沿着梯度的反方向走。下面的这张动图演示,乍看就像就像是在复杂地形中作战的沙盘推演,其实揭示的是随机梯度下降(SGD)算法的本质。同样是走一步路,坡度大的地方上升的高度就高,坡度小的地方上升的高度就小,对比现实生活中的盘山公路!了解之后,总的来说,随机梯度下降一般来说效率高,收敛到的路线曲折,但一般得到的解是我们能够接受的,而梯度下降算法的最终目的,是找到整个“地形”中的最低点(全局最小值),也就是海拔最低的山谷。

惟天有汉,故国有明的博客 1万+

深度学习梯度下降法的理解

深度学习梯度下降法的理解批量梯度下降法(Batch gradient descent)随机梯度下降法(Stochastic gradient descent)小批量梯度下降法(Mini-batch gradient descent)深度学习中常见的问题梯度下降的优化算法动量MomentumNesterov accelerated gradient 批量梯度下降法(Batch gradient de...

HUHAN-HIT的博客 550

人工智能入门系列之一: 鸢尾花(Iris)多分类的神经网络详解及代码实现

这是最好的时代,我们一起来打造属于自动驾驶汽车上路、无人机飞天、智能机器人管工厂的AI未来 人工智能领域分化为两个阵营:其一是规则式(rule-based)方法,在人工智能早期占主峰;其二是神经网络(neural network)方法,后起之秀。随着硬件水平的提高,算力的指数式增长;人工智能的重心已经从规则式的专家时代转移到神经网络的数据时代。 “神经网络”不选择把人脑熟稔的逻辑规则传授给计算机...

NLP家的码奴小荷的博客 2万+

深度学习优化函数详解(1)-- Gradient Descent 梯度下降法

深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 深度学习优化函数详解(3)– mini-batch SGD 小批量随机梯度下降 深度学习优化函数详解(4)– momentum 动量法 深度学习优化函数详解(5)– Neste...

史丹利复合田的博客 1万+

PowerBuilder 9 遗留系统逆向实战:3款反编译工具对比与关键DLL破解

本文深入探讨了PowerBuilder 9遗留系统的逆向工程实战,对比分析了PBKiller、PB DeCompiler和Shudepb三款反编译工具的核心功能与适用场景,并详细解析了关键DLL破解技术。通过IDA和OllyDbg等工具的应用,提供了从静态解构到动态追踪的完整逆向方法论,帮助开发者有效维护老旧PB系统。

cucanqi9387的博客 728

深度学习-梯度下降法

减少震荡: 在梯度方向来回摆动的维度上(如峡谷壁),正负动量会相互抵消一部分,使得更新方向更偏向于峡谷底部(最小值)的方向。有些方向需要小步长(高曲率,陡峭),有些方向可以承受大步长(低曲率,平缓)。在该方向上的负值(注意更新公式中的负号)会累积增大,从而加速向谷底(θ₂=0)前进,同时抑制了来回震荡。: 在山谷(损失函数等高线呈狭长峡谷状)中,梯度方向在峡谷壁之间剧烈摆动,导致沿峡谷方向(指向最小值)的进展缓慢。加速平缓方向: 在梯度平缓的方向(小梯度),分母相对较小,有效学习率相对较大,加速前进。

weixin_74126320的博客 1347

一篇文章带你搞懂深度学习中各种【梯度下降法】

详细讲解了各种梯度下降法以及之间的关系

qq_60488118的博客 2307

PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战

在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯

727

深度学习原理-----线性回归+梯度下降法

本文主要从基础的角度讲解线性回归算法和梯度下降算法,力求用通俗的语言和简单的例子进行算法的讲解。

didiaopao的博客 1万+

【Unity】制作简易三维场景

本文介绍如何制作一个三维场景

CiNian_的博客 4611

《深度学习入门:梯度下降法全解析,小白必看!》

梯度下降是一种用于优化数学函数的迭代算法,其核心目标是找到函数的最小值点。在深度学习中,这个函数通常是损失函数(Loss Function),它衡量了模型预测值与真实值之间的差异。通过最小化损失函数,我们可以使模型的预测结果尽可能接近真实值。还是以房价预测为例,梯度下降是一种优化算法,用来找到公式中最优的 w 和 b,使得预测值和真实值之间的误差最小。我们可以把误差想象成一个“山谷”,而梯度下降就是我们一步步往下走,找到山谷的最低点。

m0_66899623的博客 2446

深度学习梯度下降法

1.梯度下降()是一种,用于通过不断调整参数(权重和偏置)。在深度学习里,我们想让网络的L(θ) 尽量小。梯度()是损失函数对参数的偏导数,表示。所以,我们沿着梯度的走,就能逐步找到。更新公式:θt:当前参数η:学习率(,步长)∇L(θt):损失函数的梯度。

leiming6的博客 2717

分布式存储系统关于GDPR条例中的数据清除原则

文章目录前言HDFS存储系统数据的完全删除基于加解密的输入输出流的数据保护方案 前言 关于GDPR是什么,可能许多同学之前并不太了解,至少笔者在之前也是不清楚的。GDPR全称为通用数据保护条例,General Data Protection Regulation。它是一项来自欧盟的关于计算机数据保护相关的条约,旨在规范系统如何收集,管控用户私人数据的种种行为。但是当前的一些存储系统并没有完全符合...

走在前往架构师的路上 2797

深度学习之梯度,梯度下降法以及使用梯度下降法实现线性回归代码实例(完整代码)

我们看百科给的解释:很抽象,这也是数学的东西。百科这里,如果你对梯度理解了的话,这里就不抽象了。梯度下降法计算过程就是:沿着梯度下降的方向求解极小值,我们知道梯度是有方向的(对于多元函数来说),它是一个由偏导数组成的向量,这就相当于我们沿着该方向的逆方向移动。(常用于损失函数上)举个例子,倘若一个多元函数,有个参数x,其在该位置的梯度也就是偏导数为grad_X,我们设置的步长为Ir=0.01,那么这个过程就是。

woweibiancheng的博客 1707

core_analyzer分析c++程序内存占用

环境:centos; 进程:单进程多线程c++程序; 问题:1. 分析系统内存占用; 2. 分析ptmalloc内存空洞(bins上的空闲chunk的大小); 包括:1. 占用了很大内存的c++进程; 2. gcore(在进程不core dump的情况下生成core文件); 3. core_analyzer(分析gcor...

weixin_41644391的博客 4032

深度学习之梯度下降法,用excel体验梯度下降法

深度学习之梯度下降法什么是梯度下降法?用excel体验梯度下降法   深度学习的过程中经常需要求函数的最小值,而求最小值的最常用的方法之一就是梯度下降法。 什么是梯度下降法?   我们由一个简单的例子出发。已知z=f(x,y)z=f(x,y)z=f(x,y),如何求该函数的最小值?根据偏导数的含义,当zzz取最小值的必要条件如下:∂f(x,y)∂x=0∂f(x,y)∂y=0\frac{\partial f(x,y)}{\partial x}=0 \qquad \frac{\partial f(x,y)}{\

嗨 1651
上一篇: 深度学习之神经网络的结构
下一篇: 深度学习之反向传播算法
dianshu1593
博客等级 码龄10年 56粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值