当前位置: 首页 > news >正文

工程经验:残差连接对网络训练的巨大影响

文章目录

      • 1、没有使用残差连接的网络难以训练
      • 2、loss 不下降的原因
      • 3、使用了残差连接的网络可以高效训练

1、没有使用残差连接的网络难以训练

经典的 SegNet 网络结构如下:

在这里插入图片描述

在使用上图所示的 SegNet 作为噪声预测网络训练扩散模型(DDPM)时,遇到了 loss 无法下降的问题:

在这里插入图片描述可以看到,loss 值快速下降到一个固定值就不再下降了。我尝试多次调整学习率依然如此。

2、loss 不下降的原因

从模型训练的本质上来看,loss 值固定就表示模型参数没有变化,即参数没有更新。那么参数为什么或没有更新呢?

梯度下降法更新参数的原理为:
在这里插入图片描述
所以参数没有更新的原因极有可能是梯度为0,即出现了 “梯度消失” 的现象。事实上,SegNet 有 20个卷积层和10个上/下采样层,总共有30层。这是一个层数比较多的网络,因此出现梯度消失是很正常的。

为了解决 “梯度消失” 的问题,我们自然能想到使用残差连接,这是解决梯度消失最有效的方法之一。

3、使用了残差连接的网络可以高效训练

下图是我在 SegNet 加了四个残差连接(红色箭头)的网络结构:

在这里插入图片描述

loss 变化为:

在这里插入图片描述

可以明显看到,仅仅加了几个残差连接,网络就可以顺利地训练了。

http://www.lryc.cn/news/5105.html

相关文章:

  • 靓号管理-搜索
  • B站发帖软件哪个好用?好用的哔哩哔哩发帖工具
  • docker
  • Django by Example·第三章|Extending Your Blog Application@笔记
  • 23.2.13 Drive development 设备树信息解析相关代码
  • 智能工厂以MES系统为基础,实现"信息化减人,自动化换人"
  • 【数据挖掘实战】——电力窃漏电用户自动识别
  • 树莓派 安装 宝塔linux面板5.9. 2023-2-13
  • 如何提高短视频的播放量-4个技巧
  • 搜索二叉树
  • CentOS8基础篇5:用户账号与用户组的创建
  • 阿里云服务器使用
  • 全国空气质量排行,云贵川和西藏新疆等地空气质量更好
  • Learning C++ No.8【内存管理】
  • 『 MySQL篇 』:MySQL表的相关约束
  • 家政服务小程序实战教程10-分类展示
  • 一篇文章带你学会Ansible的安装及部署
  • opencv常用函数
  • Java集合框架常见面试题
  • 医用雾化器单片机方案设计
  • python魔术方法(一)
  • IDEA配置部署tomcat详细步骤(maven web 和Javaweb)
  • 没有设置密码,每次打开RAR文件却都要输密码?
  • 想要知道有哪些免费API接口,看它就够了
  • 【Java】二叉树
  • C++学习记录——구 模板初阶
  • 筑基五层 —— 位运算看这篇就行了
  • windows安装proget实现nuget私有包部署
  • SpringBoot简单集成OpenFeign
  • dfs(九)字符串的全排列