深度学习之 RefineNet

网络结构:

RefineNet block的作用就是把不同resolution level的feature map进行融合。网络结构如下:

最左边一栏就是FCN的encoder部分(文中是用的ResNet),先把pretrained ResNet按feature map的分辨率分成四个ResNet blocks,然后向右把四个blocks分别作为4个path通过RefineNet block进行融合refine,最后得到一个refined feature map(接softmax再双线性插值输出)。

注意除了RefineNet-4,所有的RefineNet block都是二输入的,用于融合不同level做refine,而单输入的RefineNet-4可以看作是先对ResNet的一个task adaptation。

RefineNet Block

接下来仔细看一下RefineNet block,可以看到主要组成部分是Residual convolution unit, Multi-resolution fusion, Chained residual pooling, Output convolutions. 切记这个block作用是融合多个level的feature map输出单个level的feature map,但具体的实现应该是和输入个数、shape无关的。

Residual convolution unit就是普通的去除了BN的residual unit;

Multi-resolution fusion是先对多输入的feature map都用一个卷积层进行adaptation(都化到最小的feature map的shape),再上采样再做element-wise的相加。注意如果是像RefineNet-4那样的单输入block这一部分就直接pass了;

Chained residual pooling中的ReLU对接下来池化的有效性很重要,还可以使模型对学习率的变化没这么敏感。这个链式结构能从很大范围区域上获取背景context。另外,这个结构中大量使用了identity mapping这样的连接,无论长距离或者短距离的,这样的结构允许梯度从一个block直接向其他任一block传播。

Output convolutions就是输出前再加一个RCU。

相关推荐
梵得儿SHI4 小时前
(第一篇)Spring AI 架构设计与优化:从单实例到万级 QPS 分布式服务的演进之路
人工智能·分布式架构·spring ai·万级 qps·ai 服务高并发·模型 / 向量 / 业务·qps分布式服务
qq_348231854 小时前
Ubuntu 24.04 环境配置 AI自动化编程 gstack
linux·运维·人工智能·ubuntu
长沙红胖子Qt4 小时前
深度学习开发笔记(一):跨平台纯C++训练和推理框架LibTorch介绍、开发环境搭建和Demo
pytorch·深度学习·c++深度学习·纯c++训练
财经资讯数据_灵砚智能4 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月20日
大数据·人工智能·python·信息可视化·自然语言处理
百杯拿铁4 小时前
WSL+Hermes Agent 保姆级教程:让你的大模型真正“动手干活”,我踩了12个坑才总结出这篇
人工智能
田井中律.4 小时前
知识图谱(BILSTM_CRF项目完整实现)【第七章】
人工智能·知识图谱
陈广亮4 小时前
Claude Code 两个你可能没用过的环境变量:EFFORT_LEVEL 和 ADDITIONAL_DIRECTORIES_CLAUDE_MD
人工智能
GISer_Jing4 小时前
微软AI战略全景:从基础设施到智能体生态
前端·人工智能·microsoft
盼小辉丶4 小时前
Transformer实战(40)——Transformer时间序列数据建模
深度学习·transformer·时间序列预测
用户5191495848454 小时前
Automad 2.0.0-alpha.4 存储型跨站脚本(XSS)漏洞利用
人工智能·aigc