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

相关推荐
王知无(import_bigdata)4 分钟前
一个极简的AI Agentic Engineering技术栈学习路线
人工智能·学习
ToB营销学堂11 分钟前
B2B AI内容实战指南:AI提效 x GEO获客 x 增长闭环
人工智能·geo·b2b营销获客
东离与糖宝22 分钟前
Java 玩转 AI 智能体性能优化:OpenClaw 高并发调用与 Token 成本控制实战
java·人工智能
芯片-嵌入式28 分钟前
具身智能(3):有哪些AI模型
人工智能·深度学习·机器学习
skywalk816329 分钟前
在LMStudio中使用microsoft_Fara-7B 模型(未实践)
人工智能·microsoft
cxr82830 分钟前
创建专业虚拟一人公司的 Skills 深度对比分析
人工智能·ai智能体·openclaw
未来之窗软件服务1 小时前
vosk-ASR python调用[AI人工智能(五十一)]—东方仙盟
人工智能·vosk·仙盟创梦ide·东方仙盟
AI浩1 小时前
小目标检测:微小目标的精准感知调研
人工智能·目标检测·计算机视觉
工业机器视觉设计和实现1 小时前
人工智能的革命范式(对称美)
人工智能·cudnn微积分
trsoliu1 小时前
本地 AI Agent Memory 系统建设方案
人工智能