首页 > 其他分享 >只要你用ReLU,就是“浅度学习”:任意ReLU神经网络都有等效3层网络

只要你用ReLU,就是“浅度学习”:任意ReLU神经网络都有等效3层网络

时间:2023-07-03 20:44:45浏览次数:44  
标签:教程 模型 浅度 网络 ReLU 浅层 神经网络 专栏

前言 只要你用了ReLU,我们就是好朋就是“浅度学习”。

本文转载自量子位

仅用于学术分享,若侵权请联系删除

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!

最近有研究证明,所有基于ReLU的深度神经网络都可以重写为功能相同的3层神经网络。

基于这个证明,伦敦国王学院的研究团队还提出一种为任意ReLU网络找到相应浅层网络的算法。

由此产生的浅层网络是透明的,可用于解释网络的行为。

只要通过算法,就能找到任意深度ReLU网络的对应浅层网络。

对此网友惊呼:我要读这篇论文,立刻马上!

任何深度ReLU网络都是浅层的

ReLU是深度学习领域最常用的一种激活函数,由Nair & Hintonw在2010为限制玻尔兹曼机(restricted Boltzmann machines)提出的。

由于常常在实践中有着比其他常用激励函数(例如逻辑函数)更好的效果,而被深度神经网络广泛用于图像识别等计算机视觉人工智能领域。

论文指出,每个深度ReLU网络都可以转换为一个功能相同且具有“三个隐藏层”的浅层网络。并提供了一个找到对应浅层网络权重的算法,提高神经网络的全局可解释性。

简单来说就是,通过划分输入空间,使用线性函数对每个分区进行建模,来实现深层网络浅化。

具体分为这三步。

首先,需要构建一个将线性模型和半空间编码的第一层,通过使用一个矩阵来表示半空间条件,其中每个行向量表示一个半空间的线性方程。

然后,构建第二层,该层根据输入的所属区域决定哪些边界是活跃的。

最后,构建第三层,通过将输入与每个线性模型相乘并使用指示函数来选择正确的模型。

基于此,每一个深度ReLU网络都可以被转换为一个功能上相同的三层网络,其权重值在扩展实数中。

当然要完成浅化,还需要一些咒(suan)语(fa)。

动图封面  

根据论文,使用算法时只需找到H、c、α、β这些参数,并知道每个区域所需的半空间就可以,主要分三步。

首先,识别可行的模式集,对于每个可行模式,计算全局线性规划的参数A(l)和d(l)。

然后,确定半空间条件,将这些矩阵堆叠起来,确定每个激活模式的半空间条件。最终得到矩阵H和向量c。

最后,计算局部线性模型,根据模型的权重和激活模式,使用显式公式,计算局部线性模型α和β。


简单理解,就是根据已训练好的网络,通过启发式搜索在可能的神经元激活空间中找到合适的权重值。

通过构建浅层白盒网络,能够快速计算出每个数据点的SHAP值,大大提高数据的可解释性。

实验表明,通过上面算法就可以找到给定深度ReLU网络对应的浅层网络的显式权重。

网友:实验很酷,但也有些问题

论文很新颖的提出一个算法,可以实现“深转浅”,不过该方法仍有一些缺点。

比如构建浅层网络使用了无限权重,尽管这些权重可以在Python中实现,但不能使用梯度下降进行微调。

当然,“找茬儿”这块,怎能少得了热心肠的网友。

根据论文可以发现,如果使用团队提供的算法,实验过程中计算时间其实是会随着神经元数量增加呈指数增长。

所以就有网友提出疑惑:算法运行时间与神经元数量成指数关系,12个神经元需要近10分钟,那计算一个普通大小的DNN所需时间岂不是长了去了……

网友指出:假设单层神经网络可以计算任何函数,那么对于任何神经网络来说,这不是都成立吗?

对于这个研究,也有网友犀利表示:这就是个「普遍逼近定理」,没什么大惊小怪的。

不过无论网友怎么说,这篇论文仍然有一些出彩点。

比如,通过这个方式得到的浅层网络是透明的,可以用来生成模型行为的解释。

此外还提供了用于复现实验的代码,供其他研究人员使用来探索和实验。

论文地址已经贴在下面,感兴趣可以去看看~

论文传送门:
https://arxiv.org/abs/2306.11827

参考链接:
[1]https://twitter.com/mathemagic1an/status/1672430954152083456?s=46&t=iTysI4vQLQqCNJjSmBODPW

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

中科院自动化所发布FastSAM | 精度相当,速度提升50倍!!!

大核卷积网络是比 Transformer 更好的教师吗?ConvNets 对 ConvNets 蒸馏奇效

MaskFormer:将语义分割和实例分割作为同一任务进行训练

CVPR 2023 VAND Workshop Challenge零样本异常检测冠军方案

视觉魔法师:开启语义分割的奇幻之旅

沈春华团队最新 | SegViTv2对SegViT进行全面升级,让基于ViT的分割模型更轻更强

刷新20项代码任务SOTA,Salesforce提出新型基础LLM系列编码器-解码器Code T5+

可能95%的人还在犯的PyTorch错误

从DDPM到GLIDE:基于扩散模型的图像生成算法进展

CVPR最佳论文颁给自动驾驶大模型!中国团队第一单位,近10年三大视觉顶会首例

最新轻量化Backbone | FalconNet汇聚所有轻量化模块的优点,成就最强最轻Backbone

ReID专栏(二)多尺度设计与应用

ReID专栏(一) 任务与数据集概述

libtorch教程(三)简单模型搭建

libtorch教程(二)张量的常规操作

libtorch教程(一)开发环境搭建:VS+libtorch和Qt+libtorch

NeRF与三维重建专栏(三)nerf_pl源码部分解读与colmap、cuda算子使用

NeRF与三维重建专栏(二)NeRF原文解读与体渲染物理模型

NeRF与三维重建专栏(一)领域背景、难点与数据集介绍

异常检测专栏(三)传统的异常检测算法——上

异常检测专栏(二):评价指标及常用数据集

异常检测专栏(一)异常检测概述

BEV专栏(二)从BEVFormer看BEV流程(下篇)

BEV专栏(一)从BEVFormer深入探究BEV流程(上篇)

可见光遥感图像目标检测(三)文字场景检测之Arbitrary

可见光遥感目标检测(二)主要难点与研究方法概述

可见光遥感目标检测(一)任务概要介绍

TensorRT教程(三)TensorRT的安装教程

TensorRT教程(二)TensorRT进阶介绍

TensorRT教程(一)初次介绍TensorRT

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

聊聊计算机视觉入门

标签:教程,模型,浅度,网络,ReLU,浅层,神经网络,专栏
From: https://www.cnblogs.com/wxkang/p/17523966.html

相关文章

  • 神经网络通过优化方法进行训练。然而,优化技术似乎不是深度学习中最重要的主题。为什么
    在深度学习中,神经网络通过优化方法进行训练,目的是最小化损失函数并获得最佳的模型参数。然而,优化技术在深度学习中并不是最重要的主题,主要原因如下:数据和模型的重要性:在深度学习中,数据的质量和数量以及模型的设计和复杂性对于模型的性能和泛化能力起着至关重要的作用。优化技术......
  • 什么是神经网络
    神经网络和泰勒展开或者傅里叶变换本质上都是拟合。泰勒展开式是用多项式来拟合函数(要能够在展开点任意阶可导)。傅立叶级数是用正弦和余弦函数拟合周期函数。神经网络本质也是去拟合函数。只要层数够多,神经网络可以拟合出几乎任意的函数。神经网络的本质是函数,这个函数可以接......
  • 循环神经网络入门基础
    文章和代码已经归档至【Github仓库:<https://github.com/timerring/dive-into-AI>】或者公众号【AIShareLab】回复神经网络基础也可获取。循环神经网络序列数据序列数据是常见的数据类型,前后数据通常具有关联性例如“Catsaverage15hoursofsleepaday”语言模型语言模型是......
  • bp神经网络交叉验证算法和确定最佳隐含层节点个数matlab 程序
    bp神经网络交叉验证算法和确定最佳隐含层节点个数matlab程序,直接运行即可。数据excel格式,注释清楚,效果清晰,一步上手。"使用交叉验证算法和确定最佳隐含层节点个数的bp神经网络,可以通过编写注释清晰、效果清晰的Matlab程序来处理Excel格式的数据。这个方法可以帮助您快速上手,实现......
  • Tensorflow整理[6].卷积神经网络
    概述对CIFAR-10数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组32x32RGB的图像进行分类,这些图像涵盖了10个类别:飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船以及卡车。重点CIFAR-10教程演示了在TensorFlow上构建更大更复杂模型的几个种重要内容:相关核心数学对象,如卷积、修正......
  • m基于simulink的PID,模糊PID以及神经网络模糊PID三种控制器的控制性能对比仿真
    1.算法仿真效果matlab2013b仿真结果如下:     2.算法涉及理论知识概要        基于Simulink的神经网络模糊PID控制器的控制原理和工作步骤。首先,我们将介绍模糊控制和神经网络控制的基本原理,然后介绍如何将这两种控制策略结合起来实现更好的控制效果。最......
  • TensorFlow11.5 循环神经网络RNN-LSTM、LSTM实战
    LSTM的产生我们之前在求RNN的loss的时候很容易出现梯度弥散或者梯度爆炸。这个LSTM的出现很大程度上减少了梯度弥散的情况。还有一个很重要的就是RNN只能够记住一个比较短的序列,如果一个句子单词很多的话,它学到最后一个的时候可能它的前面的就忘记了。而这个LSTM能够改善这问题......
  • R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化|附代码数据
    被客户要求撰写关于灰色模型的研究报告,包括一些图形和统计输出。以苏州商品房房价为研究对象,帮助客户建立了灰色预测模型GM(1,1)、BP神经网络房价预测模型,利用R语言分别实现了GM(1,1)和BP神经网络房价预测可视化由于房价的长期波动性及预测的复杂性,利用传统的方法很难准确......
  • TensorFlow11.4 循环神经网络-梯度弥散与梯度爆炸
    RNN并没有我们想象中的那么完美,虽然它的参数会比卷积神经网络少,但是它长时间的Training可能会出现Training非常困难的情况。我们知道在卷积神经网络中我们层数堆叠的越多的时候会出现很多问题,这个RNN中也是这样的如果我们在时间的维度上拓展的很深的话,也会出现一个梯度爆炸或者......
  • TensorFlow11.3 循环神经网络RNN-情感分类实战
    这个就是好评和差评的一个分类。这个输入一般\(h_0\)全为0.要想实现这个结构有两种方案:SimpleRNNCell(这个更接近原理)singlelayermulti-layersRNNCell(这个方便使用)1.加载数据(x_train,y_train),(x_test,y_test)=keras.datasets.imdb.load_data(num_words=1000)#......