深度学习之 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。

相关推荐
大猫子的技术日记2 分钟前
Playwright 自动化测试入门指南:Python 开发者的端到端实战
开发语言·人工智能·python
数琨创享TQMS质量数智化3 分钟前
数琨创享:以数智化质量目标管理闭环赋能可量化、可追溯、可驱动的质量运营
大数据·人工智能·qms质量管理系统
laplace012315 分钟前
Kv cache
人工智能·agent·claude·rag·skills
Maynor99615 分钟前
OpenClaw 中转站配置完全指南
linux·运维·服务器·人工智能·飞书
马拉AI22 分钟前
Transformer范式改变?稀疏线性混合SALA架构发布,单卡5090跑通百万长文!
深度学习·架构·transformer
Eric22322 分钟前
CLI-Agent-Manager:面向 Vibe Coding 的多 Agent 统一管理面板
人工智能·后端·开源
如若12327 分钟前
SoftGroup训练FORinstance森林点云数据集——从零到AP=0.506完整复现
人工智能·python·深度学习·神经网络·计算机视觉
InternLM28 分钟前
LMDeploy重磅更新:从支撑模型到被模型反哺,推理引擎迈入协同进化时代!
人工智能·大模型·多模态大模型·大模型推理·书生大模型
AI周红伟29 分钟前
周红伟老师《企业级 RAG+Agent+Skills+OpenClaw 智能体实战内训》的完整课程大纲(5 天 / 40 小时)
人工智能
火红色祥云43 分钟前
深度学习入门:基于Python的理论与实现笔记
笔记·python·深度学习