[笔记]飞浆PaddlePaddle-百度架构师手把手带你零基础实践深度学习-21日学习打卡(Day 2)

[笔记]飞浆PaddlePaddle-百度架构师手把手带你零基础实践深度学习-21日学习打卡(Day 2)

logo

(Credit: https://gitee.com/paddlepaddle/Paddle/raw/develop/doc/imgs/logo.png)


接着昨天的内容。

今天介绍了梯度下降的代码实现,以及随机梯度下降(SGD)的原理与实现。

有N个样本,m个特征,以均方误差损失函数为例:
L = 1 2 N ∑ i = 1 N ( y i   −   z i ) ² L = \frac{1}{2N}\sum_{i=1}^{N}{(y_i - z_i)²} L=2N1i=1N(yizi)²其中 z i z_i zi是网络对第 i i i个样本的预测 z i = ∑ j x i j ⋅ w j + b z_i = \sum_{j}{x_i^j \cdot w_j + b} zi=jxijwj+b

梯度定义如下:
g r a d i e n t = ( ∂ L ∂ w 0 , ∂ L ∂ w 1 , … , ∂ L ∂ w m , ∂ L ∂ b ) gradient = (\frac{\partial{L}}{\partial{w_0}}, \frac{\partial{L}}{\partial{w_1}}, \dots, \frac{\partial{L}}{\partial{w_m}},\frac{\partial{L}}{\partial{b}}) gradient=(w0L,w1L,,wmL,bL)

数学计算如下:
∂ L ∂ w j = 1 N ∑ i = 1 N ( z i   −   y i ) ∂ z i ∂ w j = 1 N ∑ i = 1 N ( z i − y i ) x i j ∂ L ∂ b = 1 N ∑ i = 1 N ( z i   −   y i ) ∂ z i ∂ b = 1 N ∑ i = 1 N ( z i   −   y i ) \begin{aligned} \frac{\partial{L}}{\partial{w_j}} &= \frac{1}{N} \sum_{i=1}^{N}{(z_i - y_i) \frac{\partial{z_i}}{\partial{w_j}}}\\ &= \frac{1}{N} \sum_{i=1}^{N}{(z_i-y_i)x_i^j}\\ \frac{\partial{L}}{\partial{b}} &= \frac{1}{N} \sum_{i=1}^{N}{(z_i - y_i) \frac{\partial{z_i}}{\partial{b}}}\\ &= \frac{1}{N} \sum_{i=1}^{N}{(z_i - y_i)} \end{aligned} wjLbL=N1i=1N(ziyi)wjzi=N1i=1N(ziyi)xij=N1i=1N(ziyi)bzi=N1i=1N(ziyi)

对于参数的更新,则使用
w j ← w j   −   η ∂ L ∂ w j w_j \leftarrow w_j - \eta \frac{\partial{L}}{\partial{w_j}} wjwjηwjL

梯度下降法是将所有样本梯度的贡献取平均,根据梯度更新参数。但是在面对海量样本时,每次都计算全部样本的梯度开销很大。而随机梯度下降法(SGD)则提供另一个思路,每次选取一部分数据代替争取,基于这部分数据来更新参数。

在SGD中,有如下概念

  • min_batch: 每次迭代时抽取出来的一批数据
  • batch_size: 一个min_batch所包含的样本数目
  • epoch: 按min_batch逐次抽取样本,当将整个样本集遍历后,即完成了一轮的训练,称为一个epoch

第二部分介绍了飞桨平台

深度学习框架的优势:

  • 节省编写大连底层代码的精力
  • 省去了部署和适配环境的烦恼

飞桨支持动态图,也支持静态图

  • 静态图模式:先编译后执行的方式。用户需预先定义完整的网络结构,在对网络结构进行编译优化后,才能执行或者计算结果。
  • 动态图模式:解析式的执行方式。用户无需预先定义完整的网络结构,每写一行网络代码,即可同时获得计算结果。
    # 定义飞桨动态图的工作环境
    with fluid.dygraph.guard():
    	pass
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值