MLP多层感知机梯度推导与反向传播

MLP多层感知机梯度推导与反向传播

1.MLP梯度推导

2.MLP链式法则

3.MLP反向传播

1.MLP梯度推导

单输出感知器模型:

图1

运算法则:

输入X乘以权重W得到y,再通过激活函数得到输出(O)。在这里,激活函数是sigmoid函数。

E是loss函数值,这里是输出值(output)与真实值(target)的欧式距离。

 

E的大小是评价感知器模型好坏的指标之一,w权重是描述这个感知器模型的参数,通过计算E来优化感知器模型,即优化w的值。

表示第I层,第j个输入链接第k个输出的权值w。以下先对一个权重(值)w求得感知器模型的梯度。

红色部分使用了链式法则,链式法则其实就是连续求导,这里将求得sigmoid函数的导数。sigmoid导数如何求,将在下一环节展示。求得的sigmoid导数是s‘(x) = s(x)(1 - s(x))

现在把单个输出的感知器模型推广成多输出感知器模型。

图2

按照上面的思路,求w的梯度:

从上图加粗的线可以知道,Wjk只对Ok值有贡献,对Oi(i不等于k)没有贡献。因此Oi(i不等于k)对Wjk的偏导为0。换句话说,相关梯度与输入结点有关。

以上,梯度推导完毕。

2.MLP链式法则

 求导过程:

链式法则如下: 

图3

3.MLP反向传播 

多层感知器模型:

图4

参考上面的公式推导,现在完成从1K的泛化处理。

首先根据前面的结论,梯度推导为:

针对多层感知器,x是该层的输入,即是上一层的输出O。如果这里用x表示会有歧义,因为O = sigmoid(x),x必须经过激活函数之后才会得到O,所以对多层感知器而言,梯度推导为

K-1便是上图所对应的J

现在,我们对结合上述结论,以及链式法则,完成下一层的梯度求导,即对求导。

先求到K层的梯度,继续使用链式法则,在K层的梯度上继续求第J层。

上述推导可以参考图4完成。I,J,K是连续的3层,即J = I + 1,K = J + 1。

通过上述推导,仔细的同学应该能发现其中的一定的规律,现在开始对其简化。

对第K层的第k结点有:

其中:

同理,对第J(K = J + 1)层的第j个结点有:

其中:

现在开始说反向传播。如果通过前向通路求得个个参数的梯度十分困难和繁琐。比如你需要先对第I层求得梯度,然后又求得第J层,最后是第K层。这样会重复计算,会造成资源浪费。对于反向传播的详细概念这里不赘述,可以参考:

https://www.jianshu.com/p/964345dddb70

如果使用反向传播的话,可以一次计算所有参数。如同上述推导过程一样,如果你要对第J层(第J层不是输出层,第K层是输出层)求得梯度,那么必须要经过求得第K层(输出层)梯度基础上才行,第I层,I-1,...,0层(输入层)同理。参考以下图示理解:

图5

图5求得

图6

在图5的基础上,在图6中求得。依此类推:

图7

图7在图5和图6的基础上,求得

以上,整个推导流程完毕。推导的时候,如果有疑惑一定要参考图示。

参考:网易公开课。

 

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mlp多层感知机与深度学习密切相关。深度学习是一种机器学习的方法,它基于神经网络的多层结构进行建模和训练。多层感知机(MLP)是最简单的神经网络结构之一,也是深度学习中常用的模型之一。 MLP由多个计算层组成,包括输入层、若干个隐层和输出层。每个隐层都由多个隐单元组成,而隐单元的个数是根据数据集的复杂度来确定的。对于简单的数据集,可以选择较少的隐单元,而对于复杂的数据集,可以选择更多的隐单元,甚至可以添加多个隐层。 例如,当我们使用MLP进行分类任务时,可以使用两个隐层,每个隐层都包含10个隐单元。这样的设置可以通过修改MLPClassifier类的hidden_layer_sizes属性来实现。具体的代码如下所示: ``` mlp = MLPClassifier(solver='lbfgs', random_state=0, hidden_layer_sizes=[10, 10]) ``` 这个设置意味着我们有两个隐层,每个隐层都有10个隐单元。 因此,通过使用MLP多层感知机,我们可以实现深度学习中的模型构建和训练,以解决各种机器学习问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [深度学习简介与MLP多层感知机](https://blog.csdn.net/qq_43355223/article/details/86593078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值