Introducing Fuzzy Layers for Deep Learning

Introducing Fuzzy Layers for Deep Learning

1. New activation functions:

  • Leaky ReLU:

Introducing Fuzzy Layers for Deep Learning

  • ReS = ReLU + Sigmoid:

Introducing Fuzzy Layers for Deep Learning

2. Introducing Fuzzy Layers for Deep Learning

​ DL 正在成为分类任务的标准方法。 但是,DL 分类器展现的性能通常是对工作中使用的特定数据集的超参数和各种网络体系结构进行详尽评估的结果。 融合技术可以通过组合来自多个 DL 分类器的分类输出,从而利用不同的 DL 分类器优势来帮助减轻综合评估的负担。 也就是说,如果可以适当地融合多个分类器的优势,那么找到最佳解决方案可能不需要为特定数据集找到理想的参数和体系结构。(注一)

​ 本文作者试图将融合技术(利用FM)纳入DL分类系统的体系结构内部,网络不在仅仅是输入层、隐藏层和输出层,加入了模糊层。

​ 在本文中,利用DL策略来学习the up-sampling filters,而不是执行真正的反卷积来重建每一层的特征图。(注二)

Introducing Fuzzy Layers for Deep Learning

从理论上讲,模糊层可以包含希望使用的任何模糊策略,本文采用Choquet积分作为融合手段的模糊策略。论文中给出了 FM 和 Choquet积分公式。文中将FM定义为五个已知的运算符和一个随机的运算符。根据其熵值对前5个源(即卷积/解卷积滤波器输出)进行排序,并通过ChI进行融合。 因此,模糊层接受前一层的输出作为其输入,按某种度量(此处使用的熵)对图像(源)进行排序,并对每个定义的FM执行ChI,从而得到六个融合输出(我们有六个 不同的FM)传递给网络的下一层。

Introducing Fuzzy Layers for Deep Learning

优势:

  • 随着DL的体系结构变得越来越复杂,有必要帮助减轻由于权重接近零而在学习过程中容易发生的问题。
  • batch normalization
  • 降低了模型复杂度;
  • 改善了在网络上一层学习的信息的利用率。

网络架构:

本文用来验证Fuzzy Layers是否有效,搭建了用于道路分割的网络。数据集中每个像素有一个对应的标签,road or non-road。网络架构如下:

Introducing Fuzzy Layers for Deep Learning

初始学习率,梯度衰减率和梯度衰减权平方分别设置为0.1、0.9和0.999。

实验结果:

Introducing Fuzzy Layers for Deep Learning

Introducing Fuzzy Layers for Deep Learning


注一:

普通的融合技术/融和策略:

首先GBDT(XGBOOST)、DNN和LR这三种基本的分类器。

  • LR2GBDT
    首先训练出LR,然后把LR预测数的分数和原来样本的特征一起作为GBDT的输入特征。

  • GBDT2DNN
    首先训练出GBDT,把GBDT的预测分数和原来的样本特征一起作为DNN的输入特征。

  • LR2DNN
    首先训练出一个LR,然后把LR的分数和原来的特征一起作为DNN的输入特征。如图所示:

Introducing Fuzzy Layers for Deep Learning

模糊积分分类器

  • 与其他分类器相比较,模糊积分分类器具有可以表示特征属性间交互作用的特性.确定合适的
    模糊测度是其关键因素之一。模糊测度的确定通常有2种方式:领域专家指定和从历史数据学习。

  • 模糊测度(FM):设有某个元素 xXx{\in}X,我们猜想 x 可能属于A**的某个元素 A (即A∈***A***,且 xx{\in}A)。这种猜想是不确定的,是模糊的。FM(模糊测度)通常用于对信息源的不同子集的价值(可能是主观的)进行编码。

注二:

down-sampling(降采样/下采样):

图像的down-sampling也称图像sub-sampling,通过舍弃一些元素,实现图像的缩放。

Introducing Fuzzy Layers for Deep Learning

Upsampling(上采样

图像的up-sampling 是指,通过向图像中添加一些,实现图像的放大或分辨率的优化等。常用方法有:

  • Bilinear(双线性插值法)
    • 不需要进行学习,运行速度快,操作简单。
    • 只需要设置好固定的参数值即可,设置的参数就是中心值需要乘以的系数。
  • Deconvolution(反卷积)
    • 参考https://github.com/vdumoulin/conv_arithmetic
  • Unpooling(反池化)
    • 在池化过程中,记录下max-pooling在对应kernel中的坐标
    • 在反池化过程中,将一个元素根据kernel进行放大,根据之前的坐标将元素填写进去,其他位置补0