代码编织梦想

神经网络后面的层被freeze住,会影响前面的层的梯度吗?

答案是不会。

 
 

假设一个最简单的神经网络,它只有一个输入 x x x,一个隐藏层神经元 h h h,和一个输出层神经元 y y y,均方差损失 L L L,真实标签 t t t

h = w 1 ⋅ x y = w 2 ⋅ h L = 1 2 ( y − t ) 2 \begin{gathered} h = w_1 \cdot x \\ y = w_2 \cdot h \\ L=\frac{1}{2}(y-t)^2 \end{gathered} h=w1xy=w2hL=21(yt)2

以下分 w 2 w_2 w2是否被freeze住,即 w 2 w_2 w2.requires_grad是否为True来讨论。

情况1: w 2 w_2 w2.requires_grad为True

这种情况下, L L L w 1 w_1 w1的梯度为:
∂ L ∂ w 1 = ∂ L ∂ y ⋅ ∂ y ∂ h ⋅ ∂ h ∂ w 1 \frac{\partial L}{\partial w 1}=\frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial h} \cdot \frac{\partial h}{\partial w 1} w1L=yLhyw1h

∂ L ∂ y = ∂ ∂ y ( 1 2 ( y − t ) 2 ) = y − t \frac{\partial L}{\partial y}=\frac{\partial}{\partial y}\left(\frac{1}{2}(y-t)^2\right)=y-t yL=y(21(yt)2)=yt

∂ y ∂ h = ∂ ∂ h ( w 2 ⋅ h ) = w 2 \frac{\partial y}{\partial h}=\frac{\partial}{\partial h}\left(w_2 \cdot h\right)=w_2 hy=h(w2h)=w2

∂ h ∂ w 1 = ∂ ∂ w 1 ( w 1 ⋅ x ) = x \frac{\partial h}{\partial w_1}=\frac{\partial}{\partial w_1}\left(w_1 \cdot x\right)=x w1h=w1(w1x)=x

因此:
∂ L ∂ w 1 = ∂ L ∂ y ⋅ ∂ y ∂ h ⋅ ∂ h ∂ w 1 = ( y − t ) ⋅ w 2 ⋅ x \frac{\partial L}{\partial w 1}=\frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial h} \cdot \frac{\partial h}{\partial w 1} = (y-t) \cdot w_2 \cdot x w1L=yLhyw1h=(yt)w2x

情况2: w 2 w_2 w2.requires_grad为False

这种情况下, w 2 w_2 w2被视为一个常数,此时 L L L w 1 w_1 w1的梯度仍然为:
∂ L ∂ w 1 = ∂ L ∂ y ⋅ ∂ y ∂ h ⋅ ∂ h ∂ w 1 = ( y − t ) ⋅ w 2 ⋅ x \frac{\partial L}{\partial w 1}=\frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial h} \cdot \frac{\partial h}{\partial w 1} = (y-t) \cdot w_2 \cdot x w1L=yLhyw1h=(yt)w2x

因为无论 w 2 w_2 w2是否被freeze住, ∂ y ∂ h = ∂ ∂ h ( w 2 ⋅ h ) = w 2 \frac{\partial y}{\partial h}=\frac{\partial}{\partial h}\left(w_2 \cdot h\right)=w_2 hy=h(w2h)=w2这一点是不会变的。

在计算 w 1 w_1 w1的梯度时,我们并不需要 w 2 w_2 w2的梯度,而是只需要 w 2 w_2 w2这个参数值。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/j___t/article/details/137139262

【神经网络】得分函数,损失函数~-爱代码爱编程

目录 引言 一、神经网络概述 1 定义 2 基本原理 二、得分函数 1 定义 2 应用方法 3 与神经网络 三、损失函数 1 定义 2实现方法 3 与神经网络 四、得分函数与损失函数的协同作用 1 关系 2 实际应用 六、代码事例 、总结与展望 引言 在人工智能与机器学习的浪潮中,神经网络已经成为了一种至

【计算机图形学】universal manipulation policy network for articulated objects-爱代码爱编程

对Universal Manipulation Policy Network for Articulated Objects的简单理解 1. 做了什么事 UMPNet是一个基于图像的策略网络,能够推理用于操纵铰接物体的动

关于举办第十五届蓝桥杯全国软件和信息技术专业人才大赛项目实战赛的通知-爱代码爱编程

各高等院校及相关单位: 为贯彻落实《中国教育现代化2035》和《国务院关于印发新时期促进集成电路产业和软件产业高质量发展若干政策的通知》有关精神,为我国制造强国和网络强国战略提供人才支持,提高学生自主创新意识和工程实践能力,工业和信息化部人才交流中心决定举办第十五届蓝桥杯全国软件和信息技术专业人才大赛——项目实战赛。大赛连续四年入围中国高等教育学会“全国

天星数科发挥数字技术价值,赋能金融服务提质增效-爱代码爱编程

近年来,我国经济处于稳定增长、产业升级持续深化的阶段。随着金融科技在各行业的不断崛起,各类创新金融工具和金融服务不断涌现,推动了实体经济的发展。以天星数科为例,其秉承小米集团技术立业的传统,保持行稳致远的节奏,发挥深耕产业的优势,坚持合规运营,规范开展供应链金融业务。 据《物权法》及《民法典》规定,应收账款质押应在中国人民银行征信中心或其各地分支机构登记

车道线检测_canny算子边缘检测_1-爱代码爱编程

Canny算子边缘检测(原理) Canny算子边缘检测是一种经典的图像处理算法,由John F. Canny于1986年提出,用于精确、可靠地检测数字图像中的边缘特征。该算法设计时考虑了三个关键目标:低错误率(即尽可能多地检测真实的边缘,同时避免误报)、边缘定位的准确性(确保检测到的边缘位置与实际边缘位置紧密对应)以及边缘的单响应性(确保图像中的每一

每天五分钟深度学习:使用神经网络完成人脸的特征点检测-爱代码爱编程

本文重点 我们上一节课程中学习了如何利用神经网络对图片中的对象进行定位,也就是通过输出四个参数值bx、by、bℎ和bw给出图片中对象的边界框。 本节课程我们学习特征点的检测,神经网络可以通过输出图片中对象的特征点的(x,y)坐标来实现对目标特征的识别,我们看几个例子。 例子 比如我们想要识别一个人眼角的具体位置,眼角可以通过一个具体坐标(x,y)来

科普:从神经网络到 hugging face——神经网络和深度学习简史-爱代码爱编程

活中没有什么可怕的东西,只有需要理解的东西。—— 居里夫人 深度信念网络 2006年,加拿大多伦多大学教授杰弗里·辛顿在研究如何训练多层神经网络,他已经在神经网络领域默默耕耘了三十多年,尽管在这个领域他算得上是泰斗级的人物,但由于神经网络在人工智能行业一直不被看好,所以他的研究成果一直不为业界所重视。 辛顿出生于英国伦敦,他的家族出过不少知名学者,创

吴恩达深度学习笔记:浅层神经网络(shallow neural networks)3.9-爱代码爱编程

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.9 神 经 网 络 的 梯 度

goolenet神经网络介绍-爱代码爱编程

一、简介 GoogleNet,也称为GoogLeNet,是谷歌工程师设计的一种深度神经网络结构,它在2014年的ImageNet图像识别挑战赛中取得了冠军。该神经网络的设计特点主要体现在其深度和宽度上,通过引入名为Inception的核心子网络结构,使得网络能够在多个尺度上提取特征,从而增强了其预测能力。 AlexNet与VGG都只有一个输出层 Go

记录何凯明在mit的第一堂课:神经网络发展史-爱代码爱编程

https://www.youtube.com/watch?v=Z5qJ9IxSuKo 目录 表征学习 主要特点: 方法和技术: LeNet 全连接层​ 主要特点: 主要特点: 网络结构: AlexNet 主要特点: 网络结构: Sigmoid ReLU(Rectified Linear Unit) 迁移学习​ VGG

基于神经网络的人脸识别系统的设计与实现-爱代码爱编程

基于神经网络的人脸识别系统的设计与实现 摘要: 随着计算技术的快速发展,人脸识别已成为身份验证、安全监控等领域的关键技术。本文旨在设计并实现一个基于神经网络的人脸识别系统,该系统能够自动地从输入图像中检测和识别出人脸。论文首先介绍了人脸识别技术的背景和意义,随后详细阐述了系统的设计框架、实现过程,并通过实验验证了系统的有效性和性能。 一、引言 人脸识

深度学习入门简单实现一个神经网络-爱代码爱编程

实现一个三层神经网络 引言测试数据 代码 引言 今天我们实现一个简单的神经网络 俩个输入神经元 隐藏层两个神经元 一个输出神经元 激活函数我们使用sigmoid 优化方法使用梯度下降 我

吴恩达深度学习笔记:浅层神经网络(shallow neural networks)3.6-爱代码爱编程

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第三周:浅层神经网络(Shallow neural networks)3.6 激活函数(Activati