0


【深度学习详解】Task2 分段线性模型-引入深度学习 Datawhale X 李宏毅苹果书 AI夏令营

前言

《苹果书》第一章的内容包括
机器学习基础 -> 线性模型 -> 分段线性模型 -> 引入深度学习

这一篇章我们继续后续内容 ~
其中涉及到“激活函数”的作用理解:
除了 开源项目 - 跟李宏毅学深度学习(入门) 之外,
还有 @3Blue1Brown 的神经网络 和 @StatQuest 的深度学习 视频内容辅助。

🍎 🍎

系列文章导航

【深度学习详解】Task1 机器学习基础-线性模型 Datawhale X 李宏毅苹果书 AI夏令营
【深度学习详解】Task2 分段线性模型-引入深度学习 Datawhale X 李宏毅苹果书 AI夏令营
【深度学习详解】Task3 实践方法论-分类任务实践 Datawhale X 李宏毅苹果书 AI夏令营

本篇目录导航

分段线性模型 - 机器学习的三个步骤

Step 1:写出目标函数

激活函数

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

模型计算过程

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述
选用 Sigmoid 激活函数 逼近 Hard Sigmoid
在这里插入图片描述

只是考虑一个训练数据

  • i "分段线性模型"的段数 <=> “Sigmoid 函数”的个数

xxx

同时考虑多个训练数据

  • (得到更有灵活性 flexibility 的函数) i "分段线性模型"的线段数目 <=> “Sigmoid 函数”的个数 j "分段线性模型"的训练数据个数

xxx

  • r 代表:“分段线性模型”小括号里面的式子

xxx

  • α 代表:r 的 Sigmoid 函数

xxx

  • y 代表:分段线性模型

在这里插入图片描述

选用 ReLU 激活函数 逼近 Hard Sigmoid
只是考虑一个训练数据

  • 两个 变形的ReLU 合成 一个 Hard Sigmoid

tips:
这里的ReLU函数都不是“标准的”ReLU函数,
因为它们都是变形过的,即
① 通过对自变量x加减b:
实现函数左右平移,
② 通过对ReLU函数乘上c:
改变斜线陡峭程度
还有可能将斜线正负翻转 。
在这里插入图片描述
我们可代入具体值具体例子理解:
上面的变形Relu斜线延申y值分别是
11、12、13……
下面的变形Relu斜线对应y值分别是
-1、-2、-3……
那么用这两个Relu斜线部分合成就是
Hard Sigmoid 函数第三段(平的)
即:11-1 =12-2 =13-3 =……=10

可以观看这个视频可视化理解
@StatQuest 深度学习:【官方双语】一个例子彻底理解ReLU激活函数
该视频的例子:两个变形的ReLU
-> 分段线性模型
《苹果书》:两个变形的ReLU
-> Hard Sigmoid
-> 分段线性模型

同时考虑多个训练数据

  • (得到更有灵活性 flexibility 的函数) 2i "分段线性模型"的线段数目 <=> “ReLU 函数”的个数*2 j "分段线性模型"的训练数据个数

xxx

嵌套多层 ReLU 激活函数 逼近 Hard Sigmoid
只是考虑一个训练数据

同时考虑多个训练数据

  • (得到更有灵活性 flexibility 的函数) 2i "分段线性模型"的线段数目 <=> “ReLU 函数”的个数*2 j "分段线性模型"的训练数据个数

在这里插入图片描述

引入“深度学习”概念

引入“深度学习”概念
(旧说法)

  • Neuron 神经元 Neural Network 神经网络

(新说法)

  • hidden layer 隐藏层 Deep Learning 深度学习

在这里插入图片描述

Step 2:定义 loss 损失函数

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

Step 3:通过优化器调整超参数 更新参数

参数

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述
参数
所有未知参数“拼”成一个向量 θ

  • σ 激活函数 w weight 权重参数 b bias 偏置参数(修正) c 常数参数 b 常数参数

在这里插入图片描述

超参数

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

常见的优化器

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述
梯度下降的步骤
定义代价函数

  • 代价函数——误差表面(error surface): 尝试不同的权重参数,计算它的损失 L

在这里插入图片描述

选取初始点

  • 首先在代价函数上随机选取一个初始点。

更新 参数 θ
(以权重参数 w 为例)

  • 步伐大小接下来计算在这个点上,权重参数 w 对损失 L 的微分 (计算梯度,即代价函数的导数、微分、陡峭程度)。 调整的步伐大小是 学习率 η 乘上微分的结果。
  • 步伐方向计算在这一个点上的代价函数的切线斜率。 如果斜率大于0,则将w调小;反之,则将w调大。
  • 更新 参数 θ

上角标:迭代更新的次数
下角标:未知参数的序数在这里插入图片描述

  • 一个回合(epoch)内 把 N 笔数据(即需要迭代更新的总次数) 随机分成一个一个的批次(batch)

相当于分担了需要迭代更新的总次数:
1个epoch的更新次数 = N / B
N 需要迭代更新的总次数
B 批次的大小在这里插入图片描述

反复迭代计算

  • 输入更新后的参数 θ , 再次计算微分,再次更新参数, 反复迭代更新下去找到代价函数最低点为止。 (或者是直到不想做为止)

Read more


本文转载自: https://blog.csdn.net/sk8Love956/article/details/141753505
版权归原作者 机动人心 所有, 如有侵权,请联系我们删除。

“【深度学习详解】Task2 分段线性模型-引入深度学习 Datawhale X 李宏毅苹果书 AI夏令营”的评论:

还没有评论