(CVPR-2020)动态卷积:注意力卷积核
动态卷积:注意力卷积核
论文题目:Dynamic Convolution: Attention over Convolution Kernels
paper是微软发表在CVPR2020的工作
论文地址:链接
Abstract
轻量卷积神经网络(CNN)由于其较低的计算预算限制了CNN的深度(卷积层数)和宽度(通道数),导致其表达能力有限,因此性能会下降。为了解决这个问题,作者提出了动态卷积,这是一种在不增加网络深度或宽度
的情况下增加模型复杂性的新设计。动态卷积不是每层使用一个卷积核,而是根据关注度动态聚合多个平行卷积核
,这些关注度与输入有关。动态卷积不是每层使用单个卷积核,而是根据输入依赖的注意力动态聚合多个并行卷积核
。由于卷积核尺寸小,组合多个卷积核不仅计算效率高,而且由于这些内核通过注意力以非线性方式聚合,因此具有更强的表示能力。通过简单地对最先进的架构 MobileNetV3-Small 使用动态卷积,ImageNet 分类的 top-1 准确度提高了 2.9%,而在 COCO 关键点检测上仅增加了 4% 的 FLOP 和 2.9 AP 增益。
1. Introduction
最近,人们对构建轻量级和高效的神经网络的兴趣激增。它不仅可以在移动设备上提供新的体验,还可以保护用户的隐私,避免将个人信息发送到云端。最近的工作(例如 MobileNet 和 ShuffleNet )表明,两种高效的算子设计(例如深度卷积、通道shuffle、压缩和激励 、非对称卷积
)和架构搜索对于设计高效的卷积神经网络很重要。
然而,当计算约束变得极低时,即使是最先进的高效CNN(例如MobileNetV3)也会出现显著的性能下降。例如,当MobileNetV3的计算成本从219M减少到66M Multi Adds时,ImageNet分类的最高准确率从75.2%下降到67.4%。这是因为极低的计算成本严重限制了网络深度(层数)和宽度(通道数),网络深度和宽度对网络性能至关重要,但与计算成本成正比。
本文提出了一种新的算子设计,称为动态卷积,以在不增加FLOPs的情况下提高表示能力。 动态卷积使用一组KKK个并行卷积核{W~k,b~k}\left\{\tilde{\boldsymbol{W}}_{k}, \tilde{\boldsymbol{b}}_{k}\right\}{W~k,b~k},而不是每层使用一个卷积核(见图2)。这些卷积核通过输入相关注意力πk(x)\pi_{k}(\boldsymbol{x})πk(x)为每个单独的输入 x\boldsymbol{x}x(例如图像)动态聚合W=∑kπk(x)W~k{\boldsymbol{W}}=\sum_{k} \pi_{k}(\boldsymbol{x}) \tilde{\boldsymbol{W}}_{k}W=∑kπk(x)W~k。使用相同的注意力b~=∑kπk(x)b~k.\tilde{\boldsymbol{b}}=\sum_{k} \pi_{k}(\boldsymbol{x}) \tilde{\boldsymbol{b}}_{k} .b~=∑kπk(x)b~k.聚合偏差。动态卷积是一种非线性函数,比其静态对应物具有更多的表示能力。同时,动态卷积在计算上是高效的。它不会增加网络的深度或宽度,因为并行卷积核通过聚合共享输出通道。它只引入了额外的计算成本来计算注意力πk(x)\pi_{k}(\boldsymbol{x})πk(x)和聚合内核,与卷积相比可以忽略不计。关键在于,在模型大小的合理成本范围内(因为卷积内核很小),动态内核聚合提供了一种提高表示能力的有效方法。
图2。动态感知机。它根据多个线性函数的注意力πk(x)\pi_{k}(\boldsymbol{x})πk(x)动态聚合多个线性函数,这些函数依赖于输入。
动态卷积神经网络(表示为 DY CNN)更难训练,因为它们需要对所有卷积核进行联合优化以及跨多个层的注意力。作者发现了有效联合优化的两个关键:(a)将注意力输出约束为∑kπk(x)=1\sum_{k} \pi_{k}(\boldsymbol{x})=1∑kπk(x)=1以促进注意力模型πk(x)\pi_{k}(\boldsymbol{x})πk(x)的学习,以及 (b) 在早期训练 epochs中扁平化注意力(接近均匀)以促进卷积核的学习{W~k,b~k}\left\{\tilde{\boldsymbol{W}}_{k}, \tilde{\boldsymbol{b}}_{k}\right\}{W~k,b~k}。通过使用具有较大温度的 softmax 来简单地集成这两个键来计算内核注意力。
作者展示了动态卷积在图像分类(ImageNet)和关键点检测(COCO)上的有效性。无需花里胡哨,只需在 MobileNet V2 和 V3 中将静态卷积替换为动态卷积即可实现可靠的改进,而计算成本仅略微增加 (4%)(参见图 1)。例如,在 100M 的 Multi-Adds 预算下,本文的方法在 MobileNetV2 和 MobileNetV3 的图像分类上分别获得了 4.5% 和 2.9% 的 top-1 准确度。
图 1. 计算成本 (MAdds) 和 ImageNet 分类的 top-1 准确度之间的权衡。动态卷积在 MobileNet V2 和 V3 上通过少量额外的 MAdd 显着提高了准确性。最好以彩色观看。
2. Related Work
Efficient CNNs: 最近,设计高效的 CNN 架构一直是一个活跃的研究领域。 SqueezeNet 通过在 fire 模块中广泛使用 1×11 \times 11×1 卷积来减少参数数量。 MobileNetV1 通过将 3×33 \times 33×3 卷积分解为深度卷积和点卷积,大大减少了 FLOP。基于此,MobileNetV2 引入了反向残差和线性瓶颈。MobileNetV3 在残差层中应用压缩和激励模块,并采用平台感知神经架构方法来寻找最佳网络结构。 ShuffleNet 通过通道 shuffle 操作进一步减少了 1×11 \times 11×1 卷积的 MAdds。ShiftNet 通过移位操作和逐点卷积代替了昂贵的空间卷积。与现有方法相比,本文的动态卷积可用于替代任何静态卷积核(例如 1×11 \times 11×1、3×33 \times 33×3、深度卷积、组卷积),并且可以与其他高级算子(如压缩和激励)互补。
Model Compression and Quantization: 模型压缩 ] 和量化 方法对于学习高效的神经网络也很重要。它们是本文工作的补充,有助于减少动态卷积方法的模型大小。
Dynamic Deep Neural Networks: 本文的方法与最近的动态神经网络 的工作有关,这些工作专注于跳过基于输入图像的现有模型的一部分。 D2NN 、SkipNet 和 BlockDrop 通过使用强化学习来学习用于跳过决策的附加控制器。 MSDNet 允许基于当前预测置信度提前退出。 Slimmable Nets 学习一个不同宽度的可执行神经网络。 once-for-all 提出了一种渐进式收缩算法来训练一个支持多个子网络的网络。这些子网络的准确性与独立训练的网络相同。与这些方法相比,本文的方法有两个主要区别。首先,本文的方法具有动态卷积核但静态网络结构,而现有工作具有静态卷积核但动态网络结构。其次,本文的方法不需要额外的控制器。注意力嵌入在每一层中,从而实现端到端的训练。与并发工作相比,本文的方法效率更高,性能更好。
Neural Architecture Search: 最近在神经结构搜索(NAS)方面的研究工作在寻找高精度的神经网络结构以及硬件感知的高效网络结构方面非常强大。硬件感知NAS方法通过使硬件延迟具有可区分性,将其纳入架构搜索过程。[7] 提出了一种单路径超网,用于同时优化搜索空间中的所有架构,然后执行进化架构搜索来处理计算约束。基于NAS,MobileNetV3显示出比人类设计的基线(例如MobileNetV2)有显著改进。本文的动态卷积方法可以很容易地用于NAS发现的高级体系结构。在本文后面,将展示动态卷积不仅可以提高人工设计的网络(如MobielNetV2)的性能,还可以提高自动搜索的体系结构(如MobileNetV3)的性能,并减少额外的失败次数。此外,本文的方法为丰富搜索空间提供了一个新的有效组件。
3. Dynamic Convolutional Neural Networks
本节将介绍动态卷积神经网络(DY-CNN)。其目标是在高效神经网络的范围内,在网络性能和计算负担之间提供更好的权衡。提高性能的两种最流行的策略是使神经网络“更深”或“更广”。然而,它们都需要大量的计算成本,因此对高效的神经网络不友好。
作者提出了动态卷积,它既不增加网络的深度也不增加网络的宽度,而是通过注意力聚合多个卷积核来提高模型的性能。请注意,对于不同的输入图像,这些内核的组合是不同的,动态卷积就是从这里得名的。在这一部分中,首先定义了通用的动态感知器,然后将其应用于卷积。
3.1. Preliminary: Dynamic Perceptron
Definition: 将传统或静态感知器表示为y=g(WTx+b)\boldsymbol{y}=g\left(\boldsymbol{W}^{T} \boldsymbol{x}+\boldsymbol{b}\right)y=g(WTx+b),其中W\boldsymbol{W}W和b\boldsymbol{b}b是权重矩阵和偏差向量,g是激活函数(例如ReLU)。作者通过聚合多个(K)(K)(K)线性函数{W~kTx+b~k}\left\{\tilde{\boldsymbol{W}}_{k}^{T} \boldsymbol{x}+\tilde{\boldsymbol{b}}_{k}\right\}{W~kTx+b~k}来定义动态感知器,如下所示:
y=g(W~T(x)x+b~(x))W~(x)=∑k=1Kπk(x)W~k,b~(x)=∑k=1Kπk(x)b~ks.t. 0≤πk(x)≤1,∑k=1Kπk(x)=1\begin{aligned} \boldsymbol{y} &=g\left(\tilde{\boldsymbol{W}}^{T}(\boldsymbol{x}) \boldsymbol{x}+\tilde{\boldsymbol{b}}(\boldsymbol{x})\right) \\ \tilde{\boldsymbol{W}}(\boldsymbol{x}) &=\sum_{k=1}^{K} \pi_{k}(\boldsymbol{x}) \tilde{\boldsymbol{W}}_{k}, \tilde{\boldsymbol{b}}(\boldsymbol{x})=\sum_{k=1}^{K} \pi_{k}(\boldsymbol{x}) \tilde{\boldsymbol{b}}_{k} \\ \text { s.t. } \quad 0 & \leq \pi_{k}(\boldsymbol{x}) \leq 1, \sum_{k=1}^{K} \pi_{k}(\boldsymbol{x})=1 \end{aligned} yW~(x) s.t. 0=g(W~T(x)x+b~(x))=k=1∑Kπk(x)W~k,b~(x)=k=1∑Kπk(x)b~k≤πk(x)≤1,k=1∑Kπk(x)=1
其中πk\pi_{k}πk是第kthk^{t h}kth个线性函数W~kTx+b~k\tilde{\boldsymbol{W}}_{k}^{T} \boldsymbol{x}+\tilde{\boldsymbol{b}}_{k}W~kTx+b~k的注意力权重。请注意,聚合权重W~(x)\tilde{\boldsymbol{W}}(\boldsymbol{x})W~(x)和偏差b~(x)\tilde{b}(\boldsymbol{x})b~(x)是输入的函数,并且具有相同的注意力。
Attention: 注意权重{πk(x)}\left\{\pi_{k}(\boldsymbol{x})\right\}{πk(x)}不是固定的,而是随每个输入x\boldsymbol{x}x而变化。它们代表给定输入的线性模型{W~kTx+b~k}\left\{\tilde{\boldsymbol{W}}_{k}^{T} \boldsymbol{x}+\tilde{\boldsymbol{b}}_{k}\right\}{W~kTx+b~k}的最佳聚合。聚合模型W~T(x)x+b~(x)\tilde{\boldsymbol{W}}^{T}(\boldsymbol{x}) \boldsymbol{x}+\tilde{\boldsymbol{b}}(\boldsymbol{x})W~T(x)x+b~(x)是一个非线性函数。因此,动态感知器比静态感知器具有更多的表示能力。
Computational Constraint: 与静态感知器相比,动态感知器的输出通道数相同,但模型尺寸更大。它还引入了两个额外的计算:(a) 计算注意力权重{πk(x)}\left\{\pi_{k}(\boldsymbol{x})\right\}{πk(x)},以及 (b) 基于注意力∑kπkW~k\sum_{k} \pi_{k} \tilde{\boldsymbol{W}}_{k}∑kπkW~k和∑kπkb~k\sum_{k} \pi_{k} \tilde{\boldsymbol{b}}_{k}∑kπkb~k聚合参数。额外的计算成本应该明显低于计算W~Tx+b~\tilde{\boldsymbol{W}}^{T} \boldsymbol{x}+\tilde{\boldsymbol{b}}W~Tx+b~的成本。在数学上,计算约束可以表示如下:
O(W~Tx+b~)≫O(∑πkW~k)+O(∑πkb~k)+O(π(x))\begin{aligned} O\left(\tilde{\boldsymbol{W}}^{T} \boldsymbol{x}+\tilde{\boldsymbol{b}}\right) \gg O\left(\sum \pi_{k} \tilde{\boldsymbol{W}}_{k}\right) &+O\left(\sum \pi_{k} \tilde{\boldsymbol{b}}_{k}\right) \\ &+O(\pi(\boldsymbol{x})) \end{aligned} O(W~Tx+b~)≫O(∑πkW~k)+O(∑πkb~k)+O(π(x))
其中O(⋅)O(\cdot)O(⋅)衡量计算成本(例如 FLOPs)。注意,全连接层不满足这一点,而卷积非常适合此约束。
3.2. Dynamic Convolution
本小节中展示了一个特定的动态感知器,即满足计算约束的动态卷积。与动态感知器类似,动态卷积(图 3)具有KKK个卷积核,它们共享相同的内核大小和输入/输出维度
。它们通过使用注意力权重{πk}\left\{\pi_{k}\right\}{πk}进行聚合。遵循 CNN 中的经典设计,在聚合卷积之后使用批量归一化和激活函数(例如 ReLU)来构建动态卷积层。
Attention: 应用压缩和激励模块来计算内核注意力{πk}\left\{\pi_{k}\right\}{πk}(参见图 3)。全局空间信息首先被全局平均池化压缩。然后使用两个全连接层(它们之间有一个 ReLU)和 softmax 来为KKK个卷积核生成归一化的注意力权重。第一个全连接层将维度减少4。与SENet计算输出通道上的注意力不同,本文计算卷积核上的注意力。注意力的计算成本很低。对于尺寸为H×W×CinH \times W \times C_{i n}H×W×Cin的输入特征图,注意要求O(π(x))=HWCin+Cin2/4+CinK/4O(\pi(\boldsymbol{x}))=H W C_{i n}+C_{i n}^{2} / 4+C_{i n} K / 4O(π(x))=HWCin+Cin2/4+CinK/4 Mult Adds。这远低于卷积的计算成本,即O(W~Tx+b~)=HWCin Cout Dk2O\left(\tilde{\boldsymbol{W}}^{T} \boldsymbol{x}+\tilde{\boldsymbol{b}}\right)=H W C_{\text {in }} C_{\text {out }} D_{k}^{2}O(W~Tx+b~)=HWCin Cout Dk2Mult-Adds,其中DkD_{k}Dk是内核大小,CoutC_{o u t}Cout是输出通道数。
图 3. 动态卷积层。
Kernel Aggregation: 由于较小的内核大小,聚合卷积内核在计算上是有效的。聚合具有内核大小Dk×DkD_{k} \times D_{k}Dk×Dk、Cin C_{\text {in }}Cin 输入通道和Cout C_{\text {out }}Cout 输出通道的KKK个卷积内核引入了KCin Cout Dk2+KCout K C_{\text {in }} C_{\text {out }} D_{k}^{2}+K C_{\text {out }}KCin Cout Dk2+KCout 额外的Multi-Adds。与卷积的计算成本((HWCinCoutDk2)\left(H W C_{i n} C_{o u t} D_{k}^{2}\right)(HWCinCoutDk2))相比,如果K≪HWK \ll H WK≪HW,额外的成本可以忽略不计。表 1 显示了在 MobileNetV2 中使用动态卷积的计算成本。例如,当使用 MobileNetV2 (×1.0) 时,使用 K = 4 个内核的动态卷积只会增加 4% 的计算成本。请注意,即使动态卷积增加了模型大小,它也不会增加每一层的输出维度。由于卷积核很小,增加的量是可以接受的。
表 1. MobileNetV2 中静态卷积和动态卷积的多重加法,具有四个不同的宽度乘数(×1.0、×0.75、×0.5 和 ×0.35)。
From CNNs to DY-CNNs: 动态卷积可以很容易地用作任何 CNN 架构中任何卷积(例如 1×1 卷积、3×3 卷积、组卷积、深度卷积)的替代品。它也是对其他算子(如压缩和激励)和激活函数(如 ReLU6、h-swish )的补充。在本文的其余部分,对使用动态卷积的网络使用前缀 DY-。比如DY MobileNetV2是指在MobileNetV2中使用动态卷积。为简洁起见,还使用权重W~k\tilde{\boldsymbol{W}}_{k}W~k来表示卷积核并忽略偏差b~k\tilde{\boldsymbol{b}}_{k}b~k。
4. Two Insights of Training Deep DY-CNNs
训练深度 DY -CNN 具有挑战性,因为它需要跨多个层对所有卷积核{W~k}\left\{\tilde{\boldsymbol{W}}_{k}\right\}{W~k}和注意力模型πk(x)\pi_{k}(\boldsymbol{x})πk(x)进行联合优化。本节将讨论更有效的联合优化的两个见解,这对于深度 DY -CNN 尤其重要。
4.1. Insight 1: Sum the Attention to One
第一个见解是:约束注意力输出可以促进注意力模型πk(x)\pi_{k}(\boldsymbol{x})πk(x)的学习。具体来说,在方程式中有约束∑kπk(x)=1\sum_{k} \pi_{k}(\boldsymbol{x})=1∑kπk(x)=1。将聚合内核W~=∑kπkW~k\tilde{\boldsymbol{W}}=\sum_{k} \pi_{k} \tilde{\boldsymbol{W}}_{k}W~=∑kπkW~k保持在内核空间中{W~k}\left\{\tilde{\boldsymbol{W}}_{k}\right\}{W~k}的凸包内。图 4 显示了一个具有 3 个卷积核的示例。约束0≤πk(x)≤10 \leq \pi_{k}(\boldsymbol{x}) \leq 10≤πk(x)≤1仅将聚合内核保持在两个金字塔内。sum-to-one 约束进一步将内核空间压缩为三角形。它通过对注意力总和进行归一化,将来自原点的红线压缩成一个点。当它在深度网络中与{W~k}\left\{\tilde{\boldsymbol{W}}_{k}\right\}{W~k}联合优化时,这种归一化显着简化了πk(x)\pi_{k}(\boldsymbol{x})πk(x)的学习。 Softmax 是∑kπk(x)=1\sum_{k} \pi_{k}(\boldsymbol{x})=1∑kπk(x)=1的自然选择。
图 4. 约束∑kπk(x)=1\sum_{k} \pi_{k}(\boldsymbol{x})=1∑kπk(x)=1的图示。它将聚合内核∑kπkW~k\sum_{k} \pi_{k} \tilde{\boldsymbol{W}}_{k}∑kπkW~k的空间从两个金字塔(用于 CondConv)压缩为三角形。通过对注意力总和进行归一化,一条红线被压缩成一个点。最好以彩色观看。
4.2. Insight 2: Near-uniform Attention in Early Training Epochs
第二个见解是:近乎均匀的注意力可以促进早期训练时期所有内核{W~k}\left\{\tilde{\boldsymbol{W}}_{k}\right\}{W~k}的学习。这是因为近乎均匀的注意力可以同时优化更多的卷积核。
Softmax 不能很好地解决这个问题,因为它的输出接近于独热输出。它只允许优化跨层的一小部分内核。图 5-(左)显示当使用 softmax(蓝色曲线)计算注意力时,训练收敛缓慢。在这里,使用了宽度乘数 ×0.5 的 DY -MobileNetV2。最终的 top-1 准确度 (64.8%) 甚至比其静态对应物 (65.4%) 还要差。这种低效率与动态卷积层的数量有关。为了验证这一点,将动态卷积层的数量减少了 3 个(仅对每个瓶颈残差块中的最后一个 1×1 卷积使用动态卷积),并期望在训练中更快地收敛。训练和验证错误如图 5-(右)(蓝色曲线)所示。正如预期的那样,训练最终收敛得更快,top-1 准确率更高(65.9%)。
图 5. 使用不同 softmax 温度的训练和验证错误。左:对所有层使用动态卷积。右图:对每个瓶颈残差块的最后一层使用动态卷积。我们使用宽度乘数×0.5的DY-MobileNetV2,每个动态卷积层有K=4个卷积核。最好以彩色观看。
通过在 softmax 中使用较大的温度来展平注意力,从而解决了在训练更深的 DY-CNN 时效率低下的问题,如下所示:
πk=exp(zk/τ)∑jexp(zj/τ)\pi_{k}=\frac{\exp \left(z_{k} / \tau\right)}{\sum_{j} \exp \left(z_{j} / \tau\right)} πk=∑jexp(zj/τ)exp(zk/τ)
其中zkz_{k}zk是注意力分支中第二个 FC 层的输出(见图 3),τ\tauτ是温度。原始的 softmax 是一种特殊情况(τ=1)(\tau=1)(τ=1)。随着τ\tauτ的增加,输出变得越来越稀疏。当使用较大的温度(τ=30)(\tau=30)(τ=30)时,训练效率显着提高(参见图 5-(左)中的红色曲线)。结果,top-1 的准确率提高到 69.4%。当堆叠较少的动态卷积层时,较大的温度也很有帮助(参见图 5-(右)中的红色曲线)。
温度退火,即在前 10 个 epoch 中将τ\tauτ从 30 线性降低到 1,可以进一步提高 top-1 精度(从 69.4% 到 69.9%)。这些结果支持在早期训练时期近乎均匀的注意力是至关重要的。
4.3. Relation to Concurrent Work
这两个见解是本文的方法和CondConv之间的主要区别,后者使用 sigmoid 来计算内核注意力。尽管 sigmoid 在早期训练时期提供了近乎均匀的注意力,但它的内核空间(图 4 中的两个金字塔)比本文的方法(图 4 中的阴影三角形)大得多。因此,学习注意力模型πk(x)\pi_{k}(\boldsymbol{x})πk(x)变得更加困难。因此,本文的方法每层的内核更少,模型尺寸更小,计算量更少,但精度更高(见表 2)。
参考文献
[7] Zichao Guo, Xiangyu Zhang, Haoyuan Mu, Wen Heng, Zechun Liu, Yichen Wei, and Jian Sun. Single path one-shot neural architecture search with uniform sampling, 2019.
(CVPR-2020)动态卷积:注意力卷积核相关推荐
- 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升 ICLR 2021...
导读 本文是微软&加大圣地亚哥分校的研究员在动态卷积方面的一次突破性的探索,针对现有动态卷积(如CondConv.DY-Conv)存在的参数量大.联合优化困难问题,提出了一种动态通道融合机制替 ...
- 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升 | ICLR 2021
还没开源 本文是微软&加大圣地亚哥分校的研究员在动态卷积方面的一次突破性的探索,针对现有动态卷积(如CondConv.DY-Conv)存在的参数量大.联合优化困难问题,提出了一种动态通道融合机 ...
- 动态卷积超进化!通道融合替换注意力,减少75%参数量且性能显著提升|ICLR 2021
本文首发于极市平台公众号,作者Happy.转载需获得授权并标明出处. paper: https://arxiv.org/abs/2103.08756 code: https://github.com/ ...
- 28 篇论文、6 大主题带你一览 CVPR 2020 研究趋势
关注"迈微AI研习社",内容首发于公众号 转自 | AI科技评论 首度于线上召开的CVPR 2020 会议已经落下帷幕.今年,大会共有1467篇论文被接收,共举办了29个Tutor ...
- CVPR 2020丨动态卷积:自适应调整卷积参数,显著提升模型表达能力
编者按:轻量级卷积神经网络能够在较低的计算预算下运行,却也牺牲了模型性能和表达能力.对此,微软 AI 认知服务团队提出了动态卷积,与传统的静态卷积(每层单个卷积核)相比,根据注意力动态叠加多个卷积核不 ...
- 动态卷积:自适应调整卷积参数,显著提升模型表达能力 CVPR 2020
本文转载自微软研究院AI头条. 编者按:轻量级卷积神经网络能够在较低的计算预算下运行,却也牺牲了模型性能和表达能力.对此,微软 AI 认知服务团队提出了动态卷积,与传统的静态卷积(每层单个卷积核)相比 ...
- CVPR 2020丨UDVD:用于可变退化的统一动态卷积超分辨率网络
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文作者:Alan https://zhuanlan.zhihu.c ...
- CVPR 2021 | 超越卷积,自注意力模型HaloNet准确率实现SOTA
选自arXiv 作者:Ashish Vaswani等 机器之心编译 编辑:小舟 来自谷歌研究院和 UC 伯克利的研究者开发了一种新的自注意力模型,该模型可以超越标准的基线模型,甚至是高性能的卷积模型. ...
- CVPR 2021 | 超越卷积的自注意力模型,谷歌、UC伯克利提出HaloNet
本文转载自机器之心. 作者:Ashish Vaswani 等 编辑:小舟 来自谷歌研究院和 UC 伯克利的研究者开发了一种新的自注意力模型,该模型可以超越标准的基线模型,甚至是高性能的卷积模型. 与卷 ...
最新文章
- 开发利器_Pigar.快速为Python项目生成依赖文件requirements.txt?
- 超燃!支付宝技术双11纪录片《一心一役》全球独家首发
- memcached学习笔记1(windows 7 64bit 环境下安装memcached)
- 图像处理-空间域平滑滤波
- object-c 混编 调用C,C++接口
- (23)FPGA面试题常用逻辑电平
- Java job interview:WinForm桌面小程序设计思想及项目实现思路
- Chorme 模拟分辨率设置
- Oracle | 初级-第二章 Oracle安装配置
- 硬件设计3---什么是电容?
- 为图片赋值红色或绿色的伪彩 用python、EmguCV、 OpenCvSharp实现
- html5超链接不加下划线,css怎么让超链接不加下划线
- java模仿微信QQ群聊头像拼接,根据群聊内的用户头像拼接群聊头像,九宫格
- SAP顾问生涯闲记:2016年越南鞋厂项目回忆
- 谷粒学院(五)---Maven从入门到入魔
- 我对遥感影像分类的理解(1)
- CTF jpg thumbnail隐写
- C#泛型List 的定义、作用、用法
- 开源夏令营《基于HackRF开发GPS信号仿真模拟器》开题报告
- java正则表达式语法
热门文章
- AtCoder 001 A BBQ Easy
- 情殇之《秋窗风雨夕》
- 交互式多模型算法IMM——机动目标跟踪中的应用
- 即将步入研究生,有什么建议?
- python+opencv3生成一个自定义纯色图
- libconfig c语言实例
- 【推荐系统】【论文阅读笔记】【survey】A Survey on Session-based Recommender Systems基于会话的推荐系统综述
- 移动安全--37--说说Android软件壳
- 应用时间序列分析清华大学出版社电子版_数据分析模型9——预知未来的算法:时间序列分析...
- 对OSGB倾斜摄影数据进行范围裁剪