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

相关推荐
javpy3 分钟前
AI生成 Python小游戏 怪物防御战???
人工智能·python·pygame
半问8 分钟前
付费投流硬控互联网
人工智能·算法·互联网·推荐·流量
爱笑的眼睛118 分钟前
超越SIFT与ORB:深入OpenCV特征检测API的设计哲学与高阶实践
java·人工智能·python·ai
西岸行者11 分钟前
学习Hammerstein-Wiener 模型,以及在回声消除场景中的应用
人工智能·学习·算法
拉姆哥的小屋14 分钟前
突破传统PINN瓶颈:基于LSTM-格林函数的3D瞬态温度场智能预测新方法
人工智能·3d·lstm
无心水15 分钟前
【神经风格迁移:深度实战】7、高级调参实战指南:从调参盲盒到科学优化方法论
人工智能·深度学习·神经网络·机器学习·vgg·神经风格迁移·vgg19
luojiezong27 分钟前
锐捷极简以太彩光网络解决方案入选《“AI中国”生态范式案例集(2025)》
网络·人工智能
Light6029 分钟前
再见,REST API?你好,MCP Server!AI时代后端开发新范式
java·人工智能·rest api·ai agent·spring ai·mcp
鲨莎分不晴31 分钟前
强化学习第四课 —— 深度强化学习:Policy Gradient 入门
人工智能·学习·机器学习
zhaodiandiandian32 分钟前
理性抉择方可行远——企业AI转型的路径选择与风险管控
人工智能