多层感知机

多层感知机(MLP),又称为深度前馈网络

这种模型被称为前向的,是因为信息流过x的函数,流经用于定义f的中间过程,最终到达输出y
在模型的输出和模型本身之间并没有反馈连接

线性模型不能理解两个输入变量之间的相互作用,因为其指保证了输入和输出的线性关系

为了扩展线性模型来表示x的非线性函数,可以不把线性模型用于x本身,而是作用在一个变换后的输入\(\phi(x)\)上,这里\(\phi\)是一个非线性变换
深度学习的策略就是去学习\(\phi\)

反向传播

前向传播可以持续向前直到它产生一个标量代价函数\(J(\boldsymbol{\theta})\),反向传播算法允许来自代价函数的信息通过网络向后流动,以便计算梯度

链式法则

反向传播的核心就是利用了微积分中的链式法则
image

可以将反向传播算法应用于任意维度的张量,并且通过链式法则,可以写出某个标量关于计算图中任何产生该标量的节点的梯度的代数表达式

既然要实现反向传播,首先要确定前向传播的计算,令前向传播算法如下图:
image
那么有相应的反向传播算法:
image

可以注意到在计算一些反向传播表达式的过程中,有些式子会被重复计算,为此考虑使用记忆化,虽然这可能导致存储的开销变大
反向传播算法被设计为减少公共子表达式的数量而不考虑存储的开销。具体来说,它大约对图中的每个节点执行一个 Jacobian 乘积
是否采用记忆化的差别可以用下图来简要说明:
image

深度神经网络中的反向计算

image

posted @ 2025-04-12 15:09  rdcamelot  阅读(24)  评论(0)    收藏  举报