Datawhale AI夏令营 第五期——深度学习入门(1)

本次Datawhale AI夏令营 第五期——深度学习入门的内容主体围绕着《深度学习详解》(苹果书)进行。从这本书开始学习深度学习,是非常好的开端。前文内容简单易懂,而且讲明了各种理论知识。后文内容想必也会更加深入地介绍深度学习。

机器学习的基础

要学习深度学习,就要对机器学习(Machine Learing, ML)和深度学习(Deep Learning DL)有一定的了解。

所谓机器学习就是机器自己去寻找一个函数,来完成指定任务,达成指定目标。

通常可以分为3类 : 回归, 分类, 结构化学习。

回归和分类大家想必非常清楚,这边就不做过多赘述。 关于结构化学习,就是机器不只是要做选择题或输出一个数字,而是产生一个有结构的物体,比如让机器画一张图,写 一篇文章。

模型(Model)

我们将函数简化成一个一元函数便于理解:

y=wx+by=wx+b

这个带有未知参数的函数就叫模型(model),其中 xx 称为特征(feature),它是函数中的已知参数;系数 ww 称为权重(weight),bb 称为偏置(bias)。

损失的定义及参数计算

损失(loss)也是一个函数,它接受的参数是模型中的参数 ww 和 bb,返回的是模型计算结果和实际目标值之间的偏差损失。机器学习的目标是得到一个尽可能精确的函数,这意味着损失函数的值应该尽量小。

如何计算精确的 ww 和 bb 使损失 LL 的值最小?

常用的优化方法是梯度下降(gradient descent)。

梯度下降(Gradient Descent)

基本思想

为了找到使损失 LL 最小化的 ww 和 bb,我们可以使用梯度下降算法。首先,我们假定 bb 已知,然后求解 ww。通过带入不同的 ww 值,我们可以得到不同的损失 LL,从而得到一个 w−Lw−L 的函数。

求导与更新

我们对 w−Lw−L 函数求导,求导的结果代表了该函数在某点的切线斜率。如果在该点函数切线斜率为负,则将 ww 增大一点;如果斜率为正,则将 ww 减小一点。增大的量取决于两个因素:

  1. 斜率大小:斜率越大,ww 增大的步长也应该越大。
  2. 学习率(learning rate):学习率是自己设定的参数,学习率越大,每次参数更新的步长也就越大。学习率在机器学习中被称为超参数(hyperparameter)。
参数更新公式

我们可以通过以下公式来更新参数 ww:

w:=w−η⋅∂L∂ww:=w−η⋅∂w∂L​

其中,ηη 是学习率,∂L∂w∂w∂L​ 是损失函数 LL 关于 ww 的偏导数。

局部最小值(Local Minima)与全局最小值(Global Minima)

我们反复更新 ww 的大小,直到切线斜率为 0,就可以找到一个函数的局部最小值(local minima)。这个点的 ww 不一定是最优解,因为函数中可以存在多个局部最小值。所有局部最小值中最小的那个才是整个 LL 函数的最小值,称为全局最小值(global minima)。

实际应用

在实际应用中,我们通常会对 ww 和 bb 同时进行优化,使用梯度下降法更新这两个参数。这通常涉及到对损失函数 LL 关于 ww 和 bb 的偏导数的计算,然后根据这些导数更新参数。

结语

也许, 你会认为在深度发展如此繁荣的当下,优秀的开源项目也不在少数,学习这个,从数学底层原理开始学习是没什么必要的。但是,只有真正的从最底层逻辑开始学习,学习数学部分,才能让你对市面上的代码更加了解,对于使用他们有更好的底气。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值