激活函数FReLU

2021/04/18 BasicKnowledge 共 2043 字,约 6 分钟

深度学习基础知识点激活函数FReLU

背景

作者提出了一种适用于视觉领域,简单但有效的激活函数 $FReLU$,它通过增加少量的空间开销,将 $ReLU$ 和 $PReLU$ 扩展为二维激活函数。作者在 $ImageNet$、$COCO$ 检测和语义分割任务上进行了实验,显示了 $FReLU$ 在视觉识别任务上有很大的改进和鲁棒性。

简介

作者认为在卷积神经网络中最主要的两个层是卷积层和非线性激活层。

卷积层中为了更好的自适应的捕获空间依赖关系,许多更复杂、更有效的卷积技术已经被提出,特别是在密集预测任务(如语义分割、目标检测)方面取得了巨大的成功。针对复杂卷积技术的低效实现,作者提出一个问题:规则的卷积能否达到类似的精度?

非线性激活层对卷积层的线性输出进行非线性变换,受卷积层和激活层不同作用的驱动,另一个问题出现了:能否设计一个专门针对视觉任务的激活函数?

作者认为激活中的空间不敏感是阻碍视觉任务取得显著改善的主要障碍,为此作者提出了一种新的视觉激活函数 $FReLU$ 来消除这一障碍。

Funnel 激活函数

$ReLU$ 的条件是手工设计的 $0$,$PReLU$ 的条件是参数化的 $px$,$FReLU$ 专门为视觉任务设计,作者根据空间上下文将其修改为二维漏斗式条件。


Fig2

ReLU

$ReLU$ 的形式为:

\[f(x)=max(x, 0)\]

使用 $max()$ 作为非线性,使用手工设计的 $0$ 作为条件。

PReLU

作为 $ReLU$ 的高级变体,PReLU的形式为:

\[f(x) = max(x, px) (p<1)\]

其中 $p$ 是一个可学习的参数,初始化为 $0.25$。

FReLU

$FReLU$ 采用相同的 $max()$ 作为简单的非线性函数。对于条件部分,$FReLU$ 将其扩展为依赖于每个像素的空间上下文的 $2D$ 条件。

形式上,定义的漏斗条件为 $T(x)$。为了实现空间条件,使用一个参数池窗口($Parametric \ Pooling \ Window$)来创建空间依赖,具体来说,激活函数的形式为:

\[\begin{array}{c} f\left( x_{c,i,j} \right) =\max \left( x_{c,i,j},T\left( x_{c,i,j} \right) \right)\\ T\left( x_{c,i,j} \right) =x_{c,i,j}^{w}\cdot p_{c}^{w}\\ \end{array}\]

其中,$x_{c,i,j}$ 为非线性激活 $f(\cdot )$ 在第 $c$ 个通道上的二维空间位置 $(i,j)$ 的输入像素;函数 $T(\cdot )$ 表示漏斗条件;$x_{c,i,j}^{w}$ 代表一个 $k_{h}\times k_{w}$ 的参数池窗口,中心点为 $x_{c,i,j}$; $p_{c}^{w}$ 表示为该窗口在同一通道中共享的权重。

Pixel-wise modeling capacity

像素级条件使网络具有像素级建模能力,函数 $max(\cdot )$ 为每个像素提供了查看空间上下文或不查看空间上下文的选择。

实现细节

所有区域 $x_{c,i,j}^{w}$ 在同一通道共享相同的权重 $p_{c}^{w}$,因此,它只是增加了一些额外的参数的数量。$x_{c,i,j}^{w}$ 是一个滑动窗口,大小为 $3 \times 3$ 的滑动窗口,将二维填充设置为1,在这种情况下:

\[x_{c,i,j}^{w}\bullet p_{c}^{w}=\sum_{i-1\leqslant h\leqslant i+1,j-1\leqslant w\leqslant j+1}x_{c,h,w}\bullet p_{c,h,w}\]

参数初始化

使用高斯初始化来初始化超参数。因此,得到的条件值接近于零,这不会太多地改变原始网络的性质。作者也调查了没有参数的情况,如最大池化、平均池化等,它们没有显示出改进,这显示了附加参数的重要性。

参数计算

假设有一个 $K_{h}^{‘} \times K_{w}^{‘}$ 的卷积,输入特征图尺寸为 $C \times H \times W$,输出特质图尺寸为 $C \times H^{‘} \times W^{‘}$,则计算得到的参数数量为 $CCK_{h}^{‘}K_{w}^{‘}$,$FLOPs$(浮点操作)为 $CCK_{h}^{‘}K_{w}^{‘}HW$。

在此基础上,添加了带有 $K_{h}\times K_{w}$ 窗口大小的漏斗条件,额外的参数数量 $CCK_{h}K_{w}$,和额外的浮点数操作 $CCK_{h}K_{w}HW$。为了简化计算,假设 $K=K_{h}=K_{w}$,$K^{‘}=K_{h}^{‘}=K_{w}^{‘}$。

实验

分类


Table 1

Table 2

检测


Table 3

分割


Table 4

参考

Funnel Activation for Visual Recognition

用于视觉识别的Funnel激活函数

一种新的激活函数~Funnel Activation

在视觉任务上大幅超越ReLU的新型激活函数

FunnelAct

Search

    Categories Cloud

    Blog Git BasicKnowledge Linux Classification Article MachineLearning

    Table of Contents