首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

通用近似定理(学习笔记)

  • 25-03-03 18:02
  • 3313
  • 13014
blog.csdn.net

通用近似定理(学习笔记)

-----用任意深度的神经网络逼近函数,张玉宏的《深度学习之美》阅读笔记.

发展历程

“通用近似定理”1989年被提出[1],其中George Cybenko 最早提出并证明了这一定理,但是仅仅是在激活函数为 Sigmoid 函数时的特殊情况。那时,这一定理被看作是 Sigmoid 函数的特殊性质。但两年之后,Kurt Hornik 研究发现,造就通用拟合这一特性的根源并非 Sigmoid 函数,而是多层前馈神经网络这一架构本身。到2006年深度学习开始厚积薄发,但是这期间神经网络并没有因为这个理论而得到蓬勃发展。深度学习的兴起也主要只是归功于卷积神经网络的运用和GPU大规模计算能力的运用。因为机器学习深度学习在本质上就是找到个好用的函数,所以我们研究一下这个定理。

数学描述

φ ( ⋅ ) φ(\cdot) φ(⋅) :一单调递增、有界的非常数连续函数
I m Im Im: m m m维单元超立方体 (Unit hypercube) [0,1]
C ( I m ) C(Im) C(Im): I m Im Im上的连续函数的值域

对任意实数 ϵ > 0 ϵ>0 ϵ>0 与函数 f ∈ C ( I m ) f∈C(Im) f∈C(Im)(From my opinion:函数值域在预定的值域之中,任意足够小的实数误差可以被证明就说明,误差精度可以足够小),存在整数 N N N、常数 v i , b i ∈ R v_i,b_i\inℝ vi​,bi​∈R 与向量 W W W,其中向量中的权重参数 w i ∈ R ( i = 1 , … , n ) w_i \inℝ(i=1,…,n) wi​∈R(i=1,…,n),使得我们可以定义: F ( x ) = ∑ 1 n v i φ ( w T x + b i ) F(x)=\sum ^n_1{v_iφ(w^Tx+b_i)} F(x)=∑1n​vi​φ(wTx+bi​) 为 f ( ⋅ ) f(\cdot) f(⋅) 的目标拟合实现。在这里, f ( ⋅ ) f(\cdot) f(⋅)与 φ φ φ 无关,亦即对任意 x ∈ I m x∈Im x∈Im,有: ∣ F ( x ) – f ( x ) ∣ < ϵ |F(x)–f(x)|<ϵ ∣F(x)–f(x)∣<ϵ

因此,形为 F ( x ) F(x) F(x) 这样的函数在 C ( I m ) C(Im) C(Im) 里是稠密的。替换上述 I m Im Im 为 R m ℝm Rm 的任意紧子集,结论依然成立。

理论描述

人工神经网络最有价值的地方可能就在于,它可以在理论上证明:“一个包含足够多隐含层神经元的多层前馈网络,能以任意精度逼近任意预定的连续函数”。这个定理即为(Universal Approximation Theorem) 这里的“Universal”,也有人将其翻译成“万能的”,也有译为“万能逼近定理”。由此可以看出,这个定理的能量有多大。

在维基百科上的解释如下:

In the mathematical theory of artificial neural networks, the universal approximation theorem states that a feed-forward network with a single hidden layer containing a finite number of neurons can approximate continuous functions on compact subsets of R n R^n Rn , under mild assumptions on the activation function. The theorem thus states that simple neural networks can represent a wide variety of interesting functions when given appropriate parameters; however, it does not touch upon the algorithmic learnability of those parameters.

假设激活函数足够柔和的情况下,通用相似定理是指在神经元个数足够的情况下和通过单层的前馈神经网络能够近似逼近任意一个在紧子集 R n R^n Rn上的连续函数。

在这里under mlid assumptions on the activation function里面的mlid assumptions具体的含义不是很清楚。

此外,compact subsets of R n R^n Rn 表示在 R n R^n Rn上的紧子集。

数学理论就是这个样子,为了解释一个专业术语,要用两个其他的专业术语,然后依次类推术语爆炸。为了解释通用近似定理。需要去了解compact subsets 和 mlid assumptions。这里我们稍微理解一下:紧凑(有界,封闭)集合上的任何连续函数都可以通过分段函数来近似。

当然,我们大概了解一下通用近似定理表示的含义是什么就可以了

通用近似定理告诉我们,不管函数 f ( x ) f(x) f(x)在形式上有多复杂,我们总能确保找到一个神经网络,对任何可能的输入 x x x,以任意高的精度近似输出 f ( x ) f(x) f(x)(即使函数有多个输入和输出,即 f ( x 1 , x 2 , x 3 . . . x n ) f(x_1 , x_2 , x_3 . . . x_n ) f(x1​,x2​,x3​...xn​) ,通用近似定理的结论也是成立的。换句话说,神经网络在理论上可近似解决任何问题!有关神网络可以计算任何函数的可视化证明,感兴趣的读者可以参阅迈克尔·尼尔(Michael Nielsen)的博客文。

image-20201207154819897

使用这个定理时两个注意点:

  1. 定理说的是,可以设计神经网络尽可能好地去“近似”某个特定函数,而不是说“准确”计算这个函数。只能通过增加隐含层神元的个数来提升近似的精度。
  2. 被近似的函数,必须连续函数如果函数是非连续的,也就是说有极陡跳跃的函数,那神经网络就“爱莫能助”了。

即使函数是连续的,有关神经网络能不能解决所有问题,也是有争议的原因很简单,就如同那句玩笑话“理想很丰满,现实很骨感,通用近似定理在理论上是回事,而在实际操作中又是另外回事。

理论价值的局限性

深度学习新秀、生成对抗网络(GAN)的提出者伊恩·古德费洛(IanGoodfellow)就曾说过:“仅含有一层的前馈网络的确足以有效地表示任何函数,但是,这样的网络结构可能会格外庞大,进而无法正确地学习和泛化.

A feedforward network with a single layer is sufficient to represent any function,but the layer may be infeasibly large and may fail to learn and generalize correctly.

Goodfellow言外之意是说,“广而浅薄”的神经网络在理论上是万能的,但在实践中却不是那么回事儿。因此,网络往“深”的方向去做才是正途。

网络没有向着广而浅薄的网络发展,从某种程度上验证了Goodfellow的判断。

个人想法的解释说明

在训练你和过程中广而浅薄的神经网络,因为每一次更新时候浅层网络的更新是同步的,在梯度回传的过程中,计算链式求导过程中,最后与结果比较后产生的loss会以同样的权重对整个浅层网络的所有全连接位置,进行乘法,所以可以认为浅层中所有的参数都以相同的步长在更新。深层网络的价值在于虽然很容易出现梯度消失和梯度爆炸,但是正是由于网络结构较深,所以影响一个网络中参数的更新值的因素,不仅仅大概率以最后的loss为准,还会因为很多前面的链式求导所带来的一系列参数有关,可以在较少的迭代过程中在网络参数中有一定的区分性,达到更好的非线性拟合和泛化性的目的。

参考文献

通用近似定理 - 知乎

在理解通用逼近定理之前,你都不会理解神经网络 - 51CTO.COM

深度学习的万能近似原理–从图像来形象的理解这一概念_tang_1994的博客-CSDN博客

通用近似定理_猜丁壳-CSDN博客_通用近似定理

通用近似定理-----用任意深度的神经网络逼近函数_进阶女学霸-CSDN博客_通用近似定理

深度学习之美05神经网络最本质的理论基础是什么? - 知乎

[1] Hornik K, Stinchcombe M, White H.Multilayer feedforward networks are universal approximators[J]. Neural
Networks, 1989, 2(5):359-366.

[2] Michael A. Nielsen, A visual proof that neural nets can compute any function: Neural networks and deep learning

注:本文转载自blog.csdn.net的呆呆象呆呆的文章"https://blog.csdn.net/qq_41554005/article/details/110821533"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top