前馈网络学习与复杂度问题解析
1. 海森矩阵计算算法
在神经网络的学习算法中,常常需要计算目标函数的梯度和海森矩阵。为了计算海森矩阵,我们可以定义一种算法。通用项 (h_{ij,lm}) 通过式 (5.5.88) 计算,它依赖于变量链 (ℏ_{ij,lm}) 和 (\delta_o^2_{\kappa li}),其计算过程可以用以下表达式树表示:
graph LR
A[hij,lm (5.5.88)] --> B[BP terms]
B --> C[ℏij,lm (5.5.90)]
B --> D[BP terms δo 2 κli (5.5.92), (5.5.93)]
C --> E[BP terms]
D --> F[BP terms]
这种计算方案被称为海森反向传播(Hessian BP),其复杂度为 (\Theta(m^2)),其中 (m) 是权重的数量。
2. 符号与自动微分
2.1 反向传播的特点
学习算法主要依赖于计算合适目标函数的梯度和海森矩阵。微分可以手动完成,但也有一些工具可用于符号微分。反向传播既不进行数值微分也不进行符号微分,它能以最优复杂度计算给定点的梯度,但不返回符号表达式。
2.2 自动微分示例
假设要计算函数 (y_o = f (x_1, x_2) = (1 + x_2) \ln x_1 + \cos x_2) 的梯度,我们可以提供以下表达式有向无环图(DAG):
1. (y_
超级会员免费看
订阅专栏 解锁全文
10

被折叠的 条评论
为什么被折叠?



