首页 > 其他分享 >Datawhale X 李宏毅苹果书AI夏令营深度学习入门(二)

Datawhale X 李宏毅苹果书AI夏令营深度学习入门(二)

时间:2024-08-31 16:55:57浏览次数:4  
标签:蓝色 函数 Sigmoid AI 李宏毅 Hard Datawhale ReLU 线性

一.深度学习

继续上一篇文章的深度学习的定义
把 w 跟 b 更新的方向结合起来,就是一个向量,就是红色的箭头,再计算一次微分,再决定要走什么样的方向,把这个微分的值乘上学习率,再乘上负号,我们就知道红色的箭头要指向那里,就知道如何移动 w 跟 b 的位置,一直移动,期待最后可以找出一组不错的 w, b。

二.线性模型

定义:模型把输入的特征 x 乘上一个权重,再加上一个偏置就得到预测的结果,这样的模型称为线性模型(linear model)。接下来会看如何把线性模型做得更好。

(一)分段线性曲线

线性模型也许过于简单,x1 跟 y 可能中间有比较复杂的关系,对于线性模型,x1 跟 y 的关系就是一条直线,随着 x1 越来越高,y 就应该越来越大。显然线性模型有很大的限制,这一种来自于模型的限制称为模型的偏差,无法模拟真实的情况。所以需要写一个更复杂的、更有灵活性的、有未知参数的函数。红色的曲线可以看作是一个常数再加上一群 Hard Sigmoid 函数。Hard Sigmoid 函数的特性是当输入的值,当 x 轴的值小于某一个阈值(某个定值)的时候,大于另外一个定值阈值的时候,中间有一个斜坡。所以它是先水平的,再斜坡,再水平的。所以红色的线可以看作是一个常数项加一大堆的蓝色函数(Hard Sigmoid)。常数项设成红色的线跟 x 轴的交点一样大。常数项怎么加上蓝色函数后,变成红色的这一条线? 蓝线 1 函数斜坡的起点,设在红色函数的起始的地方,第 2 个斜坡的终点设在第一个转角处,让第 1 个蓝色函数的斜坡和红色函数的斜坡的斜率是一样的,这个时候把 0+1 就可以得到红色曲线左侧的线段。接下来,再加第 2 个蓝色的函数,所以第2 个蓝色函数的斜坡就在红色函数的第一个转折点到第 2 个转折点之间,让第 2 个蓝色函数

的斜率跟红色函数的斜率一样,这个时候把 0+1+2,就可以得到红色函数左侧和中间的线段。接下来第 3 个部分,第 2 个转折点之后的部分,就加第 3 个蓝色的函数,第 3 个蓝色的函数坡度的起始点设的跟红色函数转折点一样,蓝色函数的斜率设的跟红色函数斜率一样,接下来把 0+1+2+3 全部加起来,就得到完整红色的线。所以红色线,即分段线性曲线(piecewise linear curve)可以看作是一个常数,再加上一堆蓝色的函数。分段线性曲线可以用常数项加一大堆的蓝色函数组合出来,只是用的蓝色函数不一定一样。要有很多不同的蓝色函数,加上一个常数以后就可以组出这些分段线性曲线。如果分段线性曲线越复杂,转折的点越多,所需的蓝色函数就越多。

假设 x 跟 y 的关系非常复杂也没关系,就想办法写一个带有未知数的函数。直接写 HardSigmoid 不是很容易,但是可以用一条曲线来理解它,用 Sigmoid 函数来逼近 Hard Sigmoid,

其横轴输入是 x1,输出是 y,c 为常数。如果 x1 的值,趋近于无穷大的时候,e−(b+wx1) 这一项就会消失,当 x1 非常大的时候,这一条就会收敛在高度为 c 的地方。如果 x1 负的非常大的时候,分母的地方就会非常大,y的值就会趋近于 0。所以可以用这样子的一个函数逼近这一个蓝色的函数,即 Sigmoid 函数,Sigmoid 函数就是 S 型的函数。因为它长得是有点像是 S 型,所以叫它 Sigmoid 函数。为了简洁,去掉了指数的部分,蓝色函数的表达式为


所以可以用 Sigmoid 函数逼近 Hard Sigmoid 函数。


调整这里的 b、w 和 c 可以制造各种不同形状的 Sigmoid 函数,用各种不同形状的 Sigmoid函数去逼近 Hard Sigmoid 函数。如果改 w,就会改变斜率,就会改变斜坡的坡度。如果改了 b,就可以把这一个 Sigmoid 函数左右移动;如果改 c,就可以改变它的高度。所以只要有不同的 w 不同的 b 不同的 c,就可以制造出不同的 Sigmoid 函数,把不同的Sigmoid 函数叠起来以后就可以去逼近各种不同的分段线性函数;分段线性函数可以拿来近似各种不同的连续的函数。


(二)两点注意:
优化是找一个可以让损失最小的参数,只有 w 跟 b 两个参数的前提之下,可以穷举所有可能的 w 跟 b 的值,所以在参数很少的情况下。甚至可能不用梯度下降,不需要优化的技巧。但是参数非常多的时候,就不能使用穷举的方法,需要梯度下降来找出可以让损失最低的参数。
Sigmoid 的数量是由自己决定的,而且 Sigmoid 的数量越多,可以产生出来的分段线性函数就越复杂。Sigmoid 越多可以产生有越多段线的分段线性函数,可以逼近越复杂的函数。Sigmoid 的数量也是一个超参数。
(三)模型变形
其实还可以对模型做更多的变形,不一定要把 Hard Sigmoid 换成 Soft Sigmoid。HardSigmoid 可以看作是两个修正线性单元(Rectified Linear Unit,ReLU)的加总,ReLU 的图像有一个水平的线,走到某个地方有一个转折的点,变成一个斜坡,其对应的公式为


max(0, b + wx1) 是指看 0 跟 b + wx1 谁比较大,比较大的会被当做输出;如果 b + wx1 < 0,输出是 0;如果 b + wx1 > 0,输出是 b + wx1。通过 w, b, c 可以挪动其位置和斜率。把两个 ReLU 叠起来就可以变成 Hard 的 Sigmoid,想要用 ReLU,就把 Sigmoid 的地方,换成max(0, bi + wijxj )。2 个 ReLU 才能够合成一个 Hard Sigmoid。要合成 i 个 Hard Sigmoid,需要 i 个 Sigmoid,如果 ReLU 要做到一样的事情,则需要 2i 个 ReLU,因为 2 个 ReLU 合起来才是一个 Hard Sigmoid。因此表示一个 Hard 的 Sigmoid 不是只有一种做法。在机器学习里面,Sigmoid 或 ReLU 称为激活函数(activation function)。当然还有其他常见的激活函数,但 Sigmoid 跟 ReLU 是最常见的激活函数。
Sigmoid 或 ReLU 称为神经元(neuron),很多的神经元称为神经网络(neural network)。人脑中就是有很多神经元,很多神经元串起来就是一个神经网络,跟人脑是一样的。人工智能就是在模拟人脑。神经网络不是新的技术,80、90 年代就已经用过了,后来为了要重振神经网络的雄风,所以需要新的名字。每一排称为一层,称为隐藏层(hiddenlayer),很多的隐藏层就“深”,这套技术称为深度学习。
在训练数据和测试数据上的结果是不一致的,这种情况称为过拟合(overfitting)。深度学习的训练会用到反向传播(BackPropagation,BP),其实它就是比较有效率、算梯度的方法。
(四)机器学习框架
有一堆训练的数据以及测试数据如下所示,测试集就是只有 x 没有 y。

训练集就要拿来训练模型,训练的过程是 3 个步骤。

  1. 先写出一个有未知数 θ 的函数,θ 代表一个模型里面所有的未知参数。fθfθ(x) 的意思就是函数叫 fθfθ(x),输入的特征为 x;

  2. 定义损失,损失是一个函数,其输入就是一组参数,去判断这一组参数的好坏;

  3. 解一个优化的问题,找一个 θ,该 θ 可以让损失的值越小越好。让损失的值最小的 θ 为θ∗,即θ∗ = argminθL。有了 θ∗ 以后,就把它拿来用在测试集上,也就是把 θ∗ 带入这些未知的参数,本来 fθfθ(x)里面有一些未知的参数,现在 θ 用 θ∗ 来取代,输入是测试集,输出的结果存起来。

标签:蓝色,函数,Sigmoid,AI,李宏毅,Hard,Datawhale,ReLU,线性
From: https://www.cnblogs.com/CuckooAI/p/18390466

相关文章

  • 翻译领域的AI先驱——DeepL
    在全球化日益加深的今天,语言交流成为连接不同文化和国家的桥梁。然而,语言障碍依然是制约信息流动和合作效率的重要因素。为了突破这一限制,人工智能翻译技术应运而生,而DeepL无疑是这一领域的佼佼者。DeepL是一款由德国AI创业公司DeepLGmbH开发的翻译软件,以其高质量的翻译输......
  • 刚刚!Stable Diffusion 4.9更新,Ai绘画最强工具来了!(无需安装,解压即用)
    2024可以称得上是Ai技术大爆发的元年,目前两款Ai神器大火,一款是大名鼎鼎的ChatGPT。另外一款大火的是本期强哥介绍的Ai绘图软件—StableDiffusion。8月StableDiffusionAi绘画最新版本更新啦!此次从4.8.7更新至4.9版本!主要是更新优化和大模型增加,无需复杂的部署,解压即......
  • SimpleTranslationAIAgent:基于C#与LLM的翻译AI Agent
    基于C#与LLM通过简单对话即可实现文件到文件的翻译任务该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动与智谱AI等都有免费的模型可调了。这个TranslationAIAgent只是一个简单的AIAgent示例应用,可能很多人都不需要它。开源出来主要是......
  • SimpleTranslationAIAgent借助SiliconCloud API 构建自己的专属翻译助手
    SimpleTranslationAIAgent介绍SimpleTranslationAIAgent是一款基于C#与LLM通过简单对话即可实现文件到文件的翻译任务的简单应用,基于WPF与SemanticKernel构建。该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动有免费的模型可调了。这个......
  • aigc文生工程师
    文心一言(文生文):1、生成一篇短片科幻小说。文章至少有5章内容,每章内容不低于200字。罗列出小说大纲,大纲内容与小说内容一致。小说前后章节之间要有合理性和逻辑性2、请为文心一言写一篇推广文案。分析文心一言的使用人群。结合使用人群分析推广文案应该发布在哪些平台上。结合不......
  • apache flink + Paimon  快速搭建指南
    ApachePaimon是一种湖格式,可以使用Flink和Spark构建实时湖屋架构,用于流式和批处理操作。Paimon创新性地将lake格式和LSM(日志结构合并树)结构相结合,将实时流式更新引入lake架构。Paimon提供以下核心功能:*实时更新:*主键表支持写入大规模更新,具有很高的更新性能,通常通过FlinkStre......
  • NGraphX v1.8.2发布,Bug修复及增加AiEditor接入示例并托管示例源码到Github
    本次更新包括了对启动脚本、认证流程、请求Url处理的优化,以及工作流API的改进。此外,我们还新增了AiEditor接入示例,让用户体验更直观、互动性更强。示例更新内容:启动脚本主机参数默认值修改:修改启动脚本中主机参数的默认值为127.0.0.1,以增强本地访问的安全性。如需开启......
  • Datawhale X 李宏毅苹果书 AI夏令营 第五期 深度学习(进阶班)Task02 笔记分享
    文章目录Task2-1:《深度学习详解》-3.3&4&5自适应学习率(9页+38分钟)Part01:视频笔记训练技巧:自适应学习率(Adaptivelearningrate):学习率应该为每一个参数特质化:RootMeanSquare(均方根):......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......
  • 一键AI去除视频水印和字幕!
    我们做网创的,多多少少会去下载很多视频素材,但很多素材自己觉得非常好,但有那该死的水印和字幕就让人非常不爽,要么在剪辑的时候放大把字幕拉出屏幕外,又或者是用黑框该掉字幕,这着实影响美观!有什么办法可以直接去掉字幕和水印吗?答案是有的!今天就给大家分享这个神器:Video......