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

相关推荐
十铭忘1 分钟前
SAM2跟踪的理解5——prompt encoder
人工智能
高洁011 分钟前
向量数据库拥抱大模型
python·深度学习·算法·机器学习·transformer
深度学习lover4 分钟前
<数据集>yolo茶叶嫩芽识别数据集<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·茶叶嫩芽识别
小龙报4 分钟前
【算法通关指南:算法基础篇(四)】二维差分专题:1.【模板】差分 2.地毯
c语言·数据结构·c++·深度学习·神经网络·算法·自然语言处理
你们补药再卷啦8 分钟前
ai(四)基础知识
人工智能
得物技术13 分钟前
从0到1搭建一个智能分析OBS埋点数据的AI Agent|得物技术
人工智能·agent
乾元16 分钟前
动态路由策略回归测试:把 CI/CD 思想带入网络路由(工程化 · Near-term)
运维·服务器·网络·人工智能·ci/cd·架构·智能路由器
AI视觉网奇27 分钟前
live2d 全身数字人
人工智能·计算机视觉
HelloReader28 分钟前
用 Spark Shell 做交互式数据分析从入门到自包含应用
人工智能
Hello娃的31 分钟前
【神经网络】构成单元、网络结构、训练过程
深度学习·神经网络·机器学习