深度学习与计算机视觉教程(3) | 损失函数与最优化(CV通关指南·完结)
- 作者:韩信子@ShowMeAI
- 教程地址:https://www.showmeai.tech/tutorials/37
- 本文地址:https://www.showmeai.tech/article-detail/262
- 声明:版权所有,转载请联系平台与作者并注明出处
- 收藏ShowMeAI查看更多精彩内容
本系列为 斯坦福CS231n《深度学习与计算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频可以在 这里 查看。更多资料获取方式见文末。
引言
在上一篇 深度学习与计算机视觉教程(2) - 图像分类与机器学习基础 内容中,我们对线性分类器做了一些介绍,我们希望线性分类器能够准确地对图像进行分类,要有一套优化其权重参数的方法,这就是本篇ShowMeAI要给大家介绍到的损失函数与最优化相关的知识。
本篇重点
- 损失函数
- 数据损失与正则损失
- SVM 损失
- Softmax损失
- 优化策略
- 梯度计算方法
- 梯度下降
1.线性分类:损失函数
1.1 损失函数的概念
回到之前讲解过的小猫分类示例,这个例子中权重值 WWW 非常差,因为猫类别的得分非常低(-96.8),而狗(437.9)和船(61.95)比较高。
我们定义损失函数(Loss Function)(有时也叫代价函数 Cost Function 或目标函数 Objective) LLL 来衡量对预估结果的「不满意程度」。当评分函数输出结果与真实结果之间差异越大,损失函数越大,反之越小。
对于有 NNN 个训练样本对应 NNN 个标签的训练集数据 (xi,yi)(x_{i},y_{i})(xi,yi)),损失函数定义为:
L=1N∑i=1NLi(f(xi,W),yi)L=\frac{1}{N} \sum_{i=1}^NL_i(f(x_i,W), y_i) L=N1i=1∑NLi(f(xi,W),yi)
- 即每个样本损失函数求和取平均。目标就是找到一个合适的 WWW 使 LLL 最小。
- 注意:真正的损失函数 LLL 还有一项正则损失 R(W)R(W)R(W),下面会有说明。
损失函数有很多种,下面介绍最常见的一些。
1.2 多类支持向量机损失 (Multiclass Support Vector Machine Loss)
SVM 的知识可以参考ShowMeAI的图解机器学习教程中的文章支持向量机模型详解,多类 SVM 可以看作二分类 SVM 的一个推广,它可以把样本数据分为多个类别。
1) 数据损失(data loss)
SVM 的损失函数想要 SVM 在正确分类上的得分始终比不正确分类上的得分高出一个边界值 Δ\DeltaΔ。
我们先看一条数据样本(一张图片)上的损失函数 LiL_iLi 如何定义,根据之前的描述,第 iii 个数据 (xi,yi)(x_{i},y_{i})(xi,yi) )中包含图像 xix_ixi 的像素和代表正确类别的标签 yiy_iyi。给评分函数输入像素数据,然后通过公式 f(xi,W)f(x_i, W)f(xi,W) )来计算不同分类类别的分值。
这里我们将所有分值存放到 sss 中,第 jjj 个类别的得分就是 sss 的第 jjj 个元素: sj=f(xi,Wj)s_j = f(x_i, W_j)sj=f(xi,Wj)。针对第 iii 条数据样本的多类 SVM 的损失函数定义如下:
Li=∑j≠yimax(0,sj−syi+Δ)L_i = \sum_{j\neq y_i} \max(0, s_j - s_{y_i} + \Delta) Li=j=yi∑max(0,sj−syi+Δ)
直观来看,就是如果评分函数给真实标签的分数比其他某个标签的分数高出 Δ\DeltaΔ,则对该其他标签的损失为 000;否则损失就是 sj−syi+Δs_j - s_{y_i}+ \Deltasj−syi+Δ。要对所有不正确的分类循环一遍。
下面用一个示例来解释一下:
深度学习与计算机视觉教程(3) | 损失函数与最优化(CV通关指南·完结)相关推荐
- 深度学习与计算机视觉教程(11) | 循环神经网络及视觉应用(CV通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与计算机视觉教程(4) | 神经网络与反向传播(CV通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与计算机视觉教程(10) | 轻量化CNN架构 (SqueezeNet,ShuffleNet,MobileNet等)(CV通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与计算机视觉教程:斯坦福CS231n · 全套笔记解读
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/37 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与自然语言处理教程(4) - 句法分析与依存解析(NLP通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与自然语言处理教程(5) - 语言模型、RNN、GRU与LSTM(NLP通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与自然语言处理教程(3) - 神经网络与反向传播(NLP通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与自然语言处理教程(6) - 神经机器翻译、seq2seq与注意力机制(NLP通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...
- 深度学习与自然语言处理教程(1) - 词向量、SVD分解与Word2Vec(NLP通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://www.showmeai.tech/article-d ...
最新文章
- 2020最新点云深度学习综述
- 关注点分离之RestTemplate的错误处理
- java 如何将word 转换为ftl_如何把word转化为pdf?职场达人必需的转换技巧
- python中对文件进行读和写
- MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束
- 深度学习数据预处理——批标准化(Batch Normalization)
- getMap(Thread t)
- 2021 年高教社杯全国大学生数学建模竞赛题目(B 题 乙醇偶合制备 C4 烯烃)
- 关于RNNLM的思考,特别是与HMM,n-gram的区别
- paip.提升用户体验----记住用户名与自动登录
- 获取棋盘格与标准模板在扫描仪上不同位置图片
- nvidia怎么查看
- HSI彩色图像空间滤波
- 显示断开连接ntp服务器,ntp服务器连接异常咋办
- 有关上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别
- 027-Mac触摸板实现窗口移动
- Relevance Vector Machine (RVM)简介
- 华为云服务器的使用方法
- 5G NR QC-LDPC MATLAB程序理解
- Dynamics 365Online 使用adal.js注册和配置SimpleSPA应用程序