计算机视觉中的深度学习3:线性分类

SuPhoebe SuPhoebe     2022-12-11     372

关键词:

Slides:百度云 提取码: gs3n

线性分类的参数

线性分类的公式

f ( x , W ) = W x + b f(x, W) = Wx + b f(x,W)=Wx+b
其中 W W W为参数或者权重

以一个有 10 10 10类的 32 × 32 × 3 32\\times 32\\times 3 32×32×3的图片为例
其中 f ( x , W ) f(x, W) f(x,W) b b b ( 10 , ) (10,) (10,)向量, W W W ( 10 , 3072 ) (10, 3072) (10,3072)的矩阵, x x x ( 3072 , ) (3072,) (3072,)的向量。


也可以把bias并到Weight里面,就变成如下了
公式也可以简化成

f ( x , W ) = W x f(x, W) = Wx f(x,W)=Wx

线性分类的效果

线性分类是在一个多维空间里面用多个超平面进行分割

线性分类的缺点

很多问题不能通过线性分类来解决,比如在上个世纪把人工智能打入谷底的XOR问题


Loss函数

如何选一个好的W让分类器表现有优秀

  1. 找一个好的loss函数
  2. 找一个能让loss函数值最小的W

高的Loss:分类器表现糟糕
低的Loss:分类器表现优秀

对于一个数据集, x i x_i xi是图片, y i y_i yi是标签
( x i ) , y i i = 1 N \\(x_i), y_i\\^N_i=1 (xi),yii=1N
那么Loss函数就是用于描述预测值与实际值中差异的函数
L i ( f ( x i , W ) , y i ) L_i(f(x_i, W), y_i) Li(f(xi,W),yi)
通常会用一个数据集的平均Loss来表示这个分类器在这个数据集上的表现
L = 1 N ∑ i L i ( f ( x i , W ) , y i ) L=1\\over N\\sum_i L_i(f(x_i, W), y_i) L=N1iLi(f(xi,W),yi)

Multiclass SVM Loss

L i = ∑ j ≠ y i ( 0 , s j − s y i + 1 ) L_i=\\sum_j\\neq y_i(0, s_j-s_y_i+1) Li=j=yi(0,sjsyi+1)

对于这张猫图,它对于这几个分类计算出来的结果是这样的

那么它的SVM Loss就是
L 0 = m a x ( 0 , 5.1 − 3.2 + 1 ) + m a x ( 0 , − 1.7 − 3.2 + 1 ) = m a x ( 0 , 2.9 ) + m a x ( 0 , − 3.9 ) = 2.9 \\beginaligned L_0 &= max(0, 5.1-3.2+1) + max(0, -1.7-3.2+1) \\\\ & = max(0, 2.9) + max(0, -3.9)\\\\ & = 2.9 \\endaligned L0=max(0,5.13.2+1)+max(0,1.73.2+1)=max(0,2.9)+max(0,3.9)=2.9

平均的Loss则是 L = ( 2.9 + = + 12.9 ) / 3 = 5.27 L = (2.9+=+12.9)/3=5.27 L=(2.9+=+12.9)/3=5.27

正则化

正则化的目的是为了防止分类器在训练集上表现过好,防止过拟合现象;同时可以增加曲率从而优化训练的过程

L ( W ) = 1 N ∑ i = 1 N L i ( f ( x i , W ) , y i ) + λ R ( W ) L(W) = 1\\over N\\sum_i=1^NL_i(f(x_i, W), y_i)+\\lambda R(W) L(W)=N1i=1NLi(f(xi,W),yi)+λR(W)

常用的正则化方式

  1. L2正则: R ( W ) = ∑ k ∑ l W k , l 2 R(W)=\\sum_k\\sum_lW^2_k,l R(W)=klWk,l2
  2. L1正则: R ( W ) = ∑ k ∑ l ∣ W k , l ∣ R(W)=\\sum_k\\sum_l \\mid W_k,l\\mid R(W)=klWk,l
  3. Elastic Net(L1+L2): R ( W ) = ∑ k ∑ l β W k , l 2 + ∣ W k , l ∣ R(W)=\\sum_k\\sum_l \\beta W^2_k,l + \\mid W_k,l\\mid R(W)=klβWk,l2+Wk,l
  4. Dropout:丢掉一些训练结果
  5. 归一化
  6. Cutout,Mixup, Stochastic depth

正则化的效果


对于w1和w2,他们的训练结果都是一样的,但是对于L2正则函数而言,他们会更喜欢均匀分布的权重,即w2。

Cross-Entropy Loss

通过将分数改变为概率,即,对于 X i X_i Xi y = k y = k y=k的概率是:

P ( Y = k ∣ X = x i ) = e s

计算机视觉中的深度学习5:神经网络(代码片段)

Slides:百度云提取码:gs3n前情回顾我们讲解了用线性模型进行图片分类用Loss函数来表示不同的权重的好坏用SGD来训练模型,使得Loss函数最小新的挑战线性分类并不能解决一切问题比如,下图的非线性分类问题再比如&#... 查看详情

计算机视觉中的深度学习8:卷积神经网络的结构

Slides:百度云提取码:gs3n今天这一讲,我们以ImageNetClassificationChallenge中使用的CNN的发展来进行介绍。AlexNet在2012年以前,ImageNetClassificationChallenge的获胜者都是人工进行特征提取的线性分类模型。在2012年,AlexNet成... 查看详情

计算机视觉中的深度学习6:反向传播

Slides:百度云提取码:gs3n神经网络的梯度下降我们之前在学习线性分类器的时候,使用Loss函数以及梯度下降法来更新权重。那么对于神经网络,我们该如何计算每层神经元的权重呢?对每层W直接求导(愚蠢的... 查看详情

深度学习·理论篇(2023版)·第003篇深度学习和计算机视觉中的基础数学知识02:特征向量和特征值+矩阵乘法的几何意义+奇异值分解+线性可分性和维度+非线性变换

查看详情

深度学习·理论篇(2023版)·第002篇深度学习和计算机视觉中的基础数学知识01:线性变换的定义+基于角度的线性变换案例(坐标变换)+点积和投影+矩阵乘法的几何意义+图形化精讲

查看详情

计算机视觉中的深度学习2:图片分类(代码片段)

计算机视觉中的深度学习2:图片分类Slides:百度云提取码:gs3n计算机与人眼的区别对于一张灰度图片,计算机能看到的是像素大小的0~255的灰度值;对于RGB图片,则是一张像素大小的3通道矩阵,即800x600x3。计算... 查看详情

计算机视觉中的深度学习7:卷积神经网络

Slides:百度云提取码:gs3n之前说了全连接神经网络,说了线性分类,这些东西全都没有保留图片原本的2D特性,全都是将图片转化为1D的数组。而今天说的CNN,则是能更好地保留图片的2D特性,在CV中有着更... 查看详情

斯坦福cs231n—深度学习与计算机视觉----学习笔记课时6

课时6线性分类器损失函数与最优化(上)多类SVM损失:这是一个两分类支持向量机的泛化SVM损失计算了所有不正确的例子,将所有不正确的类别的评分,与正确类别的评分之差加1,将得到的数值与0作比较,取两者中的最大值。... 查看详情

深度度量学习在视觉分析中的应用

      视觉模式的相似性度量是视觉计算中的一个基础问题,设计一个有效的相似性度量准则对于提高视觉分析系统的性能极为关键。度量学习旨在利用训练数据学习出有效的距离度量,进而有效地描述样本... 查看详情

opencv-python实战(18)——深度学习简介与入门示例(快来一起推开深度学习的大门吧)(代码片段)

...示例(快来一起推开深度学习的大门吧)0.前言1.计算机视觉中的深度学习简介1.1深度学习的特点1.2深度学习大爆发2.用于图像分类的深度学习简介3.用于目标检测的深度学习简介4.深度学习框架keras介绍与使用4.1keras库简介... 查看详情

深度学习中得数学,高效计算基础与线性分类器

...回归的问题。在这种可能会用到高数,线性代数,概率论中的知识。一、数学基础提一提。1.高数中得知识。 高数中最重要的就是微积分了,那在深度学习中出现最多的一个概念就是梯度。什么是梯度呢?要说导数,学过高数... 查看详情

深度学习必备基础知识

...一组W。  识别图像---其实就是分类问题 图片识别是计算机视觉的核心任务每个图片是由像素组成的200*200*3=12000个像素值(特征)单通道:灰度值【0~255】一个像素点只有一个值三通道:RGB一个像素点有三个值组成  图像数... 查看详情

计算机视觉与深度学习笔记ep1

主要资料来源:(P1-P3)计算机视觉与深度学习北京邮电大学鲁鹏清晰版合集(完整版)_哔哩哔哩_bilibili数据驱动的图像分类方法          数据集收集数据集划分与预处理        训练集:确定超... 查看详情

斯坦福cs231n—深度学习与计算机视觉----学习笔记课时12&&13

课时12神经网络训练细节part2(上)训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样。然后我们反向传播来得... 查看详情

深度学习和计算机视觉(cv)介绍(代码片段)

目录1深度学习概述1.1什么是深度学习1.2发展历史2计算机视觉(CV)2.1计算机视觉定义2.2常见任务2.3应用场景2.3.1人脸识别2.3.2视频监控2.3.3图片识别分析2.3.4辅助驾驶2.4发展历史1深度学习概述1.1什么是深度学习在介绍深度... 查看详情

学习笔记计算机视觉与深度学习(3.卷积与图像去噪/边缘提取/纹理表示)

学习视频:鲁鹏-计算机视觉与深度学习同系列往期笔记:【学习笔记】计算机视觉与深度学习(1.线性分类器)【学习笔记】计算机视觉与深度学习(2.全连接神经网络)1卷积噪声点:该点的像素和周围像素点的差异很大&#... 查看详情

可解释深度学习:从感受野到深度学习的三大基本任务:图像分类,语义分割,目标检测,让你真正理解深度学习

...录 前言一、初识感受野1.1猜一猜他是什么?1.2人眼视觉系统下的感受野1.3深度神经网络中的感受野1.3.1感受野的性质1.3.2感受野的定义1.3.3举一个例子1.3.4以VGG网络为例二、感受野的计算2.1哪些操作能够改变感受野?2.2感... 查看详情

ai遮天传dl-深度学习在计算机视觉中的应用

本文只做一些在计算机视觉中应用的简单介绍,童叟无欺。一、图像分类 a.通用图像分类将不同图片按照内容进行分类b.特定图像分类特定识别人脸、某种动物、汽车等 1.1人脸验证  下面是两种典型的人脸识别损失函数1.1.... 查看详情