深度学习_07_3_随机梯度下降_单输出&多输出感知机梯度&链式法则

本文详细介绍了单输出和多输出感知机模型,重点阐述了它们的梯度计算以及链式法则的应用。在单输出感知机中,模型采用sigmoid激活函数,通过梯度推导得到权重更新规则。而在多输出感知机中,输出节点增多,每个输出节点分别与标签比较,梯度计算涉及所有输出和权重的关联。最后,链式法则被用于将损失从输出层反向传播到中间层,更新权重以优化模型。代码实现部分展示了如何在实际问题中应用这些概念。
摘要由CSDN通过智能技术生成

07_3_随机梯度下降_单输出&多输出感知机梯度&链式法则

单输出感知机及其梯度

recap(回顾)

单层的感知机模型:每个输入节点 x i x_i xi和它对应的 w i w_i wi节点相乘,加上bias得到预测值。图是数学模型。

在这里插入图片描述

Perception(感知)

单层感知机前面激活函数是不积函数(阶梯),不可导。目前使用sigmoid函数,用 σ \sigma σ表示。

规范化定义:输入层为第0层;

x 1 0 x^0_{1} x10,上标0表示第0层;这个1表示0~n,表示第0层一共有N个元素节点的第1个元素;

输入,累加,和激活函数整个成为1层,图上为第1层;

W i j 1 W^1_{ij} Wij1,上标1表示第1层,i表示联结上一层的 x i 0 x^0_i xi0,j表示联结这一层的j号节点,因为这一层只有一个节点,这里总是等于0;

加权求和的变量名称为 x 0 1 x^1_0 x01,1表示第1层的x;0表示第1层上面的0号节点,与 x 1 0 x^0_{1} x10的定义相同;

经过激活函数后,得到输出 O 0 1 O^1_0 O01,1表示第1层;0表示第0号节点;

后面和target值做error(loss)- ∑ ( O 0 1 − t ) 2 \sum (O^1_0 - t)^2 (O01t)2

W i j l W^l_{ij} Wijl,l表示层数,i表示上一层节点的编号,j表示这一层节点的编号。

在这里插入图片描述

Derivative(梯度推导)

这里引用了 1 2 \frac{1}{2} 21,加了后,它的梯度单调性不会改变。

对w偏导,j表示0~n之间的数。

求解后,可以得到偏导,公式中的值都已知。

在这里插入图片描述

Perception

可以看出,对某个w的偏导为一系列 O 0 , t O_0, t O0,t x j 0 x_j^0 xj0可得,求哪个j的w就用哪个j的x。

在这里插入图片描述

代码实现

  • x:1个样本,输入3个维度
  • w:3维的Vector变成1维
  • b:bias
  • y:输出,P(y is 1|x)

图中logits的名字应该为Prob。

在这里y不需要one-hot,因为只有1个维度。

在这里插入图片描述

多输出感知机及其梯度

Perception

回顾单输出。

在这里插入图片描述

Multi-output Perception(多输出感知)

输出节点变多;所有的输出和所有的label作比较。

x的第0层一共有N个节点,x的第1层一共有M个节点。

W j k 1 W_{jk}^1 Wjk1,表示从j到k的连接,j属于0~N,k属于0~M。

一共有N*M个连接(偏微分)。

在这里插入图片描述

接下来对偏导通式 E W j k \frac{E}{W_{jk}} WjkE进行运算。

Derivative(梯度推导)

1/2还是另加的。

偏导后只剩下 O k − t k O_k - t_k Oktk,是因为只有 O k O_k Ok(里面包含 w j k 1 w_{jk}^1 wjk1,关键在于k,k决定了w和O是否有关系)和 w j k w_{jk} wjk有关系,求导后其他都消失了。

类似的, x k 1 = ∑ j w j k x j 0 x_k^1 = \sum_j w_{jk}x_j^0 xk1=jwjkxj0,因此 δ x k 1 δ w j k = x j 0 \frac{\delta x_k^1}{\delta w_{jk}} = x_j^0 δwjkδxk1=xj0

在这里插入图片描述

Multi-output Perception

多输出感知机的偏导只和 连线的x和O有关系。

在这里插入图片描述

代码实现

  • x:2个样本,每个样本是4维的Vector
  • w:4维降到3维
  • y:label是0.1.2的一种,这里2个样本的label是2和0

x@w+b表示是全连接层,经过softmax,axis=1的含义:因为得到的输出是[b,3],3的维度表示概率,在axis=1的维度转变成概率并且概率之和为1。

y做one-hot,比如2变成001,随后和输出值做loss,一共2个样本,reduce_mean获得2个样本的平均值。

在这里插入图片描述

链式法则

它把最后一层的误差,一层一层地输出到中间层的权值上去,从而得到中间层的梯度信息,通过梯度信息更新权值,达到优化效果。

Derivative Rules

常用公式:

链式法则的一种表达形式: d y d x = d y d u d u d x \frac{dy}{dx} = \frac{dy}{du} \frac{du}{dx} dxdy=dudydxdu

在这里插入图片描述

Basic Rule

导数的基础知识:

在这里插入图片描述

Product rule

导数的基础知识:

在这里插入图片描述

Quotient Rule

导数的基础知识:

在这里插入图片描述

Chain rule

链式法则,x是输入,u是hidden layer,y是输出

在这里插入图片描述

绿色的是 σ \sigma σ

δ E δ W 2 \frac{\delta E}{\delta W^2} δW2δE用来更新 W 2 W^2 W2的, δ E δ W 1 \frac{\delta E}{\delta W^1} δW1δE用来更新 W 1 W^1 W1的。W2好求,现在用链式法则求W1。

三个部分都好求解。

在这里插入图片描述

代码实现

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值