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

相关推荐
孤狼灬笑6 分钟前
自然语言处理(NLP)—发展历程(背景、技术、优缺点、未来方向)
人工智能·自然语言处理·nlp
特拉熊6 分钟前
Windows上使用Docker Desktop部署GPUStack
人工智能·程序员
LLM大模型7 分钟前
DeepSeek V3.2 AI辅助-构建可视化多维知识立方体展示知识体系
人工智能
Zyx20077 分钟前
用 OpenAI SDK 快速搭建你的第一个 AIGC 应用:从零开始生成文本
人工智能·node.js
大模型知识官8 分钟前
一位淘宝工程同学的大模型LoRA微调尝试
人工智能
杰克船长有烦恼9 分钟前
基于深度学习计算s21参数,在射频中的应用
人工智能·深度学习·射频工程
大模型知识营地10 分钟前
怎么使用 LLM 图转换器构建知识图谱
人工智能
Miku1614 分钟前
从0到1,构建你的专属AI知识库:My-Chat-LangChain项目深度解析
人工智能·langchain
智启七月18 分钟前
Dexbotic 开源深度解析:重构具身智能 VLA 研发的技术基石与实现路径
人工智能·python