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

相关推荐
吴佳浩 Alben1 分钟前
Vibe Coding 时代:Vue 消失了还是 React 太强?
前端·vue.js·人工智能·react.js·语言模型·自然语言处理
llm大模型算法工程师weng1 分钟前
Palantir 商业化关键时间点深度解析:从政府基本盘到 AI 爆发的战略跃迁
人工智能
飞哥数智坊2 分钟前
OpenClaw 中国行济南站圆满结束
人工智能
飞哥数智坊2 分钟前
openclaw 最近版本的崩溃与抢救
人工智能
起个名字总是说已存在2 分钟前
github开源AI Vibe Coding训练你的AI编程工具
人工智能·开源·github
饼干哥哥2 分钟前
OpenClaw真变态!我跑通了跨境电商的10个落地场景
人工智能
Mintopia3 分钟前
为什么同样写代码,有的人越写越轻松,有的人越写越乱
人工智能
hhzz5 分钟前
Openclaw案例之构建《全自动化、高适配、可定制”的AI绘画生产体系》
人工智能·ai作画·自动化·openclaw
飞哥数智坊5 分钟前
没有内测邀请码?我来帮你实测下 SOLO 网页端
人工智能·trae
G皮T7 分钟前
【OpenClaw】创建一个每日热点新闻 Skill
人工智能·ai·大模型·agent·skills·openclaw·龙虾