从流形的观点分析神经网络

从流形的观点分析神经网络

无意中看到一本用数学分析神经网络的书,里面用各种数学工具来分析神经网络(如数学分析、线性代数、流形、信息论、概率论、优化等),书的信息如下:

Ovidiu Calin, Deep Learning Architectures - A Mathematical Approach, Springer, 2020.

我看了用流形解释神经网络那一章的前面几页,觉得写的还不错,记录一下。

考虑一个神经元,输入是 x ∈ R n \textbf{x}\in \mathbb{R}^n x∈Rn,输出是 y = σ ( w T x + b ) ∈ R y=\sigma(w^T\textbf{x}+b )\in \mathbb{R} y=σ(wTx+b)∈R。不妨取 σ \sigma σ 是 logistic function。则集合
S = { σ ( w T x + b ) ; w ∈ R n , b ∈ R } S=\{\sigma(w^T\textbf{x}+b );w\in\mathbb{R}^n,b\in \mathbb{R} \} S={σ(wTx+b);w∈Rn,b∈R}

是一个 n + 1 n+1 n+1 维的流形。它可以看成是 R n \mathbb{R}^n Rn上全体连续函数空间(其维数是无穷维)的一个子流形。事实上,计算得
∂ y ∂ b = σ ′ ( w T x + b ) = y ( 1 − y ) ∂ y ∂ w j = σ ′ ( w T x + b ) x j = y ( 1 − y ) x j \frac{\partial{y}}{\partial{b}}=\sigma'(w^T\textbf{x}+b )=y(1-y) \\ \frac{\partial{y}}{\partial{w_j}}=\sigma'(w^T\textbf{x}+b )x_j=y(1-y)x_j ∂b∂y=σ′(wTx+b)=y(1−y)∂wj∂y=σ′(wTx+b)xj=y(1−y)xj

我们说明 { ∂ y ∂ b , ∂ y ∂ w j } \{\frac{\partial{y}}{\partial{b}},\frac{\partial{y}}{\partial{w_j}}\} {∂b∂y,∂wj∂y}线性无关。若 α 0 ∂ y ∂ b + ∑ i = 1 n α i ∂ y ∂ w i = 0 \alpha_0\frac{\partial{y}}{\partial{b}}+\sum_{i=1}^{n}\alpha_i\frac{\partial{y}}{\partial{w_i}}=0 α0∂b∂y+∑i=1nαi∂wi∂y=0,则代入得 α 0 y ( 1 − y ) + ∑ i = 1 n α i y ( 1 − y ) x j = 0 \alpha_0y(1-y) +\sum_{i=1}^{n}\alpha_iy(1-y) x_j=0 α0y(1−y)+∑i=1nαiy(1−y)xj=0,由 y ( 1 − y ) ≠ 0 y(1-y)\neq0 y(1−y)=0 知道 α 0 + ∑ i = 1 n α i x j = 0 \alpha_0 +\sum_{i=1}^{n}\alpha_i x_j=0 α0+∑i=1nαixj=0。再由 x j x_j xj任意性即得结论。从而Jacobian矩阵 J y J_y Jy满秩(为 n + 1 n+1 n+1)。

接下来,训练神经网络的过程实际上是拟合一个函数 z = z ( x ) z=z(\textbf{x}) z=z(x)。如果 z z z在流形 S S S上,那么存在 w ∗ ∈ R n , b ∗ ∈ R w^*\in\mathbb{R}^n,b^*\in \mathbb{R} w∗∈Rn,b∗∈R使得 z = y ∗ = y ( w ∗ , b ∗ ) z=y^*=y(w^*,b^*) z=y∗=y(w∗,b∗)。然而,更一般的情况是 z ∉ S z\notin S z∈/S,这意味着需要找 w ∗ ∈ R n , b ∗ ∈ R w^*\in\mathbb{R}^n,b^*\in \mathbb{R} w∗∈Rn,b∗∈R使得
( w ∗ , b ∗ ) = a r g m i n w , b d i s t ( z , S ) (w^*,b^*)=\mathop{argmin}\limits_{w,b} dist(z,S) (w∗,b∗)=w,bargmindist(z,S)

给定初值 ( w 0 , b 0 ) (w_0,b_0) (w0,b0),一个学习算法会产生一个序列 ( w n , b n ) n (w_n,b_n)_n (wn,bn)n,期望它收敛到 ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗)。按作者原话:If the parameters update is made continuously (implied by an infinitesimal learning rate), then we obtain a curve c ( t ) = ( w ( t ) , b ( t ) ) c(t) = (w(t),b(t)) c(t)=(w(t),b(t)) joining ( w 0 , b 0 ) (w_0,b_0) (w0,b0) and ( w ∗ , b ∗ ) (w^*,b^*) (w∗,b∗). This can be lifted to the curve γ ( t ) = y ∘ c ( t ) γ(t) = y \circ c(t) γ(t)=y∘c(t) on the manifold S S S. The fastest learning algorithm corresponds to the "shortest" curve between y ( w 0 , b 0 ) y(w_0,b_0) y(w0,b0) and y ( w ∗ , b ∗ ) y(w^*,b^*) y(w∗,b∗). The attribute "shortest" depends on the intrinsic geometry of the manifold S S S, and this topic will be discussed in the next section. 这样这个优化问题就可以和后面的黎曼度量、测地线等概念建立关联了。

对一般的神经网络,如果我们增大神经元的个数,则对应的参数也相应增多, S S S的维数也增加。记 M = C ( [ 0 , 1 ] ) M=C([0,1]) M=C([0,1]),我们知道对于任意固定的 ϵ > 0 \epsilon>0 ϵ>0,以及任意的 f ∈ M f\in M f∈M,总有一个足够高维数的 S S S使得 d i s t ( f , S ) < ϵ dist(f,S)<\epsilon dist(f,S)<ϵ,其中
d i s t ( f , S ) = i n f s ∈ S m a x x ∈ [ 0 , 1 ] ∣ f ( x ) − s ( x ) ∣ dist(f,S)=\mathop{inf}\limits_{s\in S}\mathop{max}\limits_{x\in [0,1]}|f(x)-s(x)| dist(f,S)=s∈Sinfx∈[0,1]max∣f(x)−s(x)∣

然而实际问题中神经元个数是受限的,如何处理也是作者讨论的话题。

相关推荐
学历真的很重要5 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
普通网友5 小时前
微服务注册中心与负载均衡实战精要,微软 2025 年 8 月更新:对固态硬盘与电脑功能有哪些潜在的影响。
人工智能·ai智能体·技术问答
苍何5 小时前
一人手搓!AI 漫剧从0到1详细教程
人工智能
苍何6 小时前
Gemini 3 刚刷屏,蚂蚁灵光又整活:一句话生成「闪游戏」
人工智能
苍何6 小时前
越来越对 AI 做的 PPT 敬佩了!(附7大用法)
人工智能
苍何6 小时前
超全Nano Banana Pro 提示词案例库来啦,小白也能轻松上手
人工智能
阿杰学AI7 小时前
AI核心知识39——大语言模型之World Model(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·世界模型·world model·sara
智慧地球(AI·Earth)7 小时前
Vibe Coding:你被取代了吗?
人工智能
大、男人7 小时前
DeepAgent学习
人工智能·学习
测试人社区—66798 小时前
提升测试覆盖率的有效手段剖析
人工智能·学习·flutter·ui·自动化·测试覆盖率