CS224W6.2——深度学习基础
在本文中,我们回顾了深度学习的概念和技术,这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始,介绍了目标函数、梯度下降、非线性和反向传播的概念。
文章目录
- 1. 大纲
- 2. 优化问题
- 2.1 举例损失函数
- 3. 如何优化目标函数?
- 4. 梯度下降
- 4.1 对于SGD的一些概念
- 5. 如何获得目标函数?
- 5.1 反向传播
- 5.2 非线性变换
- 5.3 MLP
- 6. 总结
1. 大纲
这篇我们主要讲第一部分深度学习的基础。
2. 优化问题
我们将机器学习问题、监督学习问题看作是优化问题:
我们需要学习这样一个映射函数:将输入 x x x映射为输出的预测标签 y y y。
将这样的函数学习表述为一个优化过程。
有两件重要的是:
- 通过优化参数 Θ \Theta Θ,最小化损失函数 L \mathcal{L} L。
- 损失函数用来测量真实值与预测值之间的差距。
2.1 举例损失函数
交叉熵损失函数:
讨论多分类问题:
比如5分类问题,表示5种颜色,我们用one-hot编码表示。
我们要在某种意义上对它进行建模,使用 f ( x ) f(x) f(x)这是将某个函数 g ( x ) g(x) g(x)经过 S o f t m a x ( ) Softmax() Softmax()函数,得到一个预测5分类的概率,这些概率之和为1。
现在要衡量这个预测的质量。
通过单点的交叉熵损失函数 C E ( y , f ( x ) ) CE(y,f(x)) CE(y,f(x))得到的值越小,就表示预测值与真实的one-hot值越接近。
然后将所有单点的损失相加就得到了总的损失: L = ∑ ( x , y ) ∈ T CE ( y , f ( x ) ) \mathcal{L}=\sum_{(x,y)\in\mathcal{T}}\operatorname{CE}(y,f(x)) L=∑(x,y)∈TCE(y,f(x)),这是所有训练样本的真实值与预测值之间的总差异。
而我们想要的就是找到一个合适的函数 f ( x ) f(x) f(x)去最小化真实值与预测值之间的总差异。
3. 如何优化目标函数?
经典的优化目标函数是通过梯度下降,所以梯度的概念很重要:
某个定点的梯度是一个方向,该方向是函数的最快增长速率。
现在,我们可以对损失函数进行“询问”,关于我的参数 Θ \Theta Θ,我应该朝着哪个方向?(梯度相反的方向)改变我的参数 Θ \Theta Θ使损失 L \mathcal{L} L减少最多。
4. 梯度下降
上面是最基础的梯度下降版本,重复更新模型参数,直至收敛。
最基础的梯度下降有一些问题,所以后续提出了随机梯度下降(SGD):
传统的梯度下降每一轮迭代都需要计算所有点的梯度,计算量太大,而SGD只计算一部分。
4.1 对于SGD的一些概念
- 首先是batch_size的概念,它是我们评估梯度数据的子集,(不是在整个训练数据集上评估梯度——GD,而是在训练集的一小部分——SGD),batch_size的大小是每一批次数据点的数量,通常我们喜欢更大的batch_size,但更大的batch_size会使优化变慢。
- 其次是iteration的概念,SGD的一个迭代(iteration),是SGD的一个步骤,我们在给定的batch_size的数据点上评估梯度。迭代次数是:数据集大小/batch_size。
- 最后是epoch的概念,它是对数据集的全面遍历。
这种小批量训练的思想是深度学习的核心。
5. 如何获得目标函数?
对于简单的模型:
5.1 反向传播
反向传播的概念:使用链式法则,来传播中间步骤的梯度,最终获得关于模型参数损失的梯度。
举例:
5.2 非线性变换
目前为止只使用了简单的两层神经网络,而 W 2 W 1 W_2W_1 W2W1可以表示为另一个矩阵,它依然可以表示为一层的线性变换。
这意味着,我们通过两侧的线性变换依然得到的是一个线性模型,没有获得更多的表达能力。
而如果我们引入非线性变换,实际上增加了模型的表示能力。这将我们引向多层感知机的概念(MLP)。
5.3 MLP
6. 总结
相关文章:

CS224W6.2——深度学习基础
在本文中,我们回顾了深度学习的概念和技术,这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始,介绍了目标函数、梯度下降、非线性和反向传播的概念。 文章目录 1. 大纲2. 优化问题2.1 举例损失函数 3. 如何优化目标函…...
Linux c/c++服务器开发实践
在Linux C开发环境中,通常有两种方式来开发多线程程序,一种是利用POSIX多线程 API函数来开发多线程程序,另外一种是利用C自带线程类来开发程序。 常见的与线程相关的基本API函数: API函数含义pthread_create创建线程pthread_exi…...

2023年11月在线IDE流行度最新排名
点击查看最新在线IDE流行度最新排名(每月更新) 2023年11月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多,人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…...

视频批量剪辑:视频嵌套合并实战指南,剪辑高手速成秘籍
随着社交媒体的兴起,视频制作的需求越来越广泛。无论是个人用户还是专业团队,都需要对视频进行剪辑以符合其需求。而在这个过程中,批量剪辑视频的能力就变得至关重要。视频批量剪辑是指在一次操作中处理多个视频文件的剪辑。通过使用专业的视…...

每天一点python——day66
#每天一点Python——66 #字符串的分隔 #如图: #方法①split()从左开始分隔,默认空格为分割字符,返回值是一个列表 shello world jisuanji#首先创建一个字符串 list1s.split() print(list1)#输出结果是:[hello, world, jisuanji]注…...

搭建产品帮助中心其实很简单,方法都在这了!
网站帮助中心是一个为用户提供支持和解答问题的重要资源。它不仅可以提高用户体验,还能减少用户问题反馈的数量。通过提供清晰、易于理解的文档和指南,帮助中心可以帮助用户更好地了解产品或服务,并解决他们在使用过程中遇到的问题。接下来我…...

(离散数学)命题及命题的真值
答案: (5)不是命题,因为真值不止一个 (6)不是命题,因为不是陈述句 (7)不是命题,因为不是陈述句 (8)不是命题,真值不唯一...

计算机组成原理之处理器(流水线)
引言 为什么不采用单周期实现,硬件比较简单? 主要是因为效率太低,处理器中最长的路径(一般是ld指令)决定了时钟周期 流水线概述 流水线是一种能使多条指令重叠执行的技术。 流水线更快的原因是所有的工作都在并行执行,所以单位…...

国际阿里云:云服务器灾备方案!!!
保障企业业务稳定、IT系统功能正常、数据安全十分重要,可以同时保障数据备份与系统、应用容灾的灾备解决方案应势而生,且发展迅速。ECS可使用快照、镜像进行备份。 灾备设计 快照备份 阿里云ECS可使用快照进行系统盘、数据盘的备份。目前,阿…...

计算机msvcp140.dll重新安装的四个解决方法,专门解决dll文件丢失问题的方法
在我多年的电脑使用经历中,曾经遇到过一个非常棘手的问题,那就是电脑提示找不到msvcp140.dll文件。这个问题让我苦恼了很久,但最终还是找到了解决方法。今天,我就来分享一下我解决这个问题的四种方法,希望对大家有所帮…...
提莫的idea的bug是真滴多
问题1:maven reload功能失效 我复制了一段代码到我项目里,这段代码依赖hutool包,于是我用idea快速导入,自动导入的是hutool-all:5.8.4。后来我发现这段还是有个函数报错,需要导入更高版本的hutool包才行,于…...

STM32笔记—EXTI外部中断
一、简介 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行; 中断优先级&…...
小程序分享当前页面
小程序分享页面的时候,大部分的资料都是显示的是onShareAppMessage 这个方法 /*** 用户点击右上角分享*/onShareAppMessage(res) {return {title: 您的好友向您分享了一本通讯录: this.data.setting.name,imageUrl: this.data.setting.share_img,path: pages/shar…...

10. GPIO中断
10. GPIO中断 回顾stm32中断系统STM32中断向量表中断向量偏移NVIC中断控制器 Cortex_A7 中断系统中断向量表GIC控制器中断IDGIC逻辑分块CP15协处理器c0寄存器c1寄存器c12寄存器c15寄存器 中断使能中断优先级设置优先级数配置 GICC_PMR抢占优先级和子优先级位数设置 GICC_BPR优先…...

【离散数学必刷题】谓词逻辑(第二章 左孝凌版)刷完包过!
专栏:离散数学必刷题 本章需要掌握的重要知识: 1.利用谓词表达式表示命题 2.变元的约束 3.谓词公式的定义、谓词公式的赋值 4.谓词公式的翻译(注意在全总个体域时使用特性谓词) 5.有限论域上量词的消去 6.谓词公式中关于量词的等价…...

SpringBoot系列-2 自动装配
背景: Spring提供了IOC机制,基于此我们可以通过XML或者注解配置,将三方件注册到IOC中。问题是每个三方件都需要经过手动导入依赖、配置属性、注册IOC,比较繁琐。 基于"约定优于配置"原则的自动装配机制为该问题提供了一…...
vue3+ts 前端实现打印功能
1.安装插件 npm install vue3-print-nb --save 2.全局引用 import { createApp } from ‘vue’ import App from ‘./App.vue’ import print from ‘vue3-print-nb’ const app createApp(App) app.use(print) app.mount(‘#app’) 例子 <template><div><el-…...
egg.js sequelize数据库操作配置
egg.js sequelize数据库操作配置 文章目录 egg.js sequelize数据库操作配置1. 数据库配置2. 迁移配置3.数据表设计和迁移4.模型创建 1. 数据库配置 安装并配置egg-sequelize插件(它会辅助我们将定义好的 Model 对象加载到 app 和 ctx 上)和mysql2模块&a…...
vagrant安装k8s集群
目录 概述前期准备安装virtualbox安装vagrant安装gitbash 集群架构集群安装集群初始化集群测试 概述 使用vagrant、virtualbox创建。 前期准备 安装virtualbox 访问官网安装,版本7.0.10 安装vagrant 访问官网安装,版本2.3.7 安装gitbash 访问官网…...

ArcGIS进阶:水源涵养功能分级评价操作
首先抛出水源涵养重要性评价的公式:水源涵养量降雨量-蒸散发量-地表径流量,其中地表径流量降雨量*平均地表径流系数 声明:以下数据来源于来自于牛强老师书籍(城乡规划GIS技术)。 以下给出重要性评价阈值表࿱…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...