IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【计算机视觉与深度学习北邮鲁鹏】自学笔记 -> 正文阅读

[人工智能]【计算机视觉与深度学习北邮鲁鹏】自学笔记

第1章 前言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第2章 图像分类

1. 什么是图像分类任务?

在这里插入图片描述
图像搜索是我根据给出的图片在网上找到一模一样的图片;图像识别是我根据给出的图片识别出来它是什么。

2. 图像分类任务的难点?

换个角度可能就不能很好地识别出来是同一个人。
在这里插入图片描述
算法能否应对光线多变的情况?
在这里插入图片描述
计算机系统应该要能自适应远近
在这里插入图片描述
系统提取到的特征在图片中只有很小一部分,特征不显著的时候还能识别成功吗?(抗遮挡认知)
在这里插入图片描述
特征不一定是很死板的那些,会变的话你也能识别吗?
在这里插入图片描述
跟背景相似性大时难以识别?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
遇到图像分类的任务,先按照以上提出难点去设计,针对每个难点有对应的处理方法,主要是要拆解出自己的任务对应到了哪些难点。

3. 基于规则的方法是否可行?

在这里插入图片描述
在这里插入图片描述
这样的方法首先就已经不能应对猫的形变问题了。
在这里插入图片描述

4. 什么是数据驱动的图像分类范式?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1)图像表示

a)像素表示

在这里插入图片描述

比如RGB是三通道,每个点有3个通道,如果有1个图是300300大小的话,那它就是300300深度是3的一个矩阵。(我们把计算机中存储单个像素点所用的 bit 位称为图像的深度)

关于图像三通道和单通道的解释

图像的通道和深度以及图像的像素点操作完全解析

b)全局特征表示

适合于全景图,风景啊,街景啊之类的。对于要考虑细节的、遮挡的就不太合适。

c)局部特征表示

比如从图像中抽取出100个有典型意义的区块,用这些区块来表示这个图。这样的话对遮挡问题也能解决,如果一只眼睛被遮挡住了,还有另外一只,还是可以匹配成功。但是如果你用全局特征表示的话,本来是有两只眼睛的,你遮挡了一只很有可能就匹配失败。

图像识别其实就两件事,第一是将图像表示成有意义的特征,二是用特征去识别。如果特征表示地越好就越容易被识别出来。

2)分类器

在这里插入图片描述

3)损失函数

在这里插入图片描述

4)优化算法

在这里插入图片描述
在这里插入图片描述

5. 常用的评价指标

在这里插入图片描述
在这里插入图片描述

第3章 线性分类器

在这里插入图片描述

1. 基本介绍

1)数据集

2)图像类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)图像表示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5)什么是线性分类器

在这里插入图片描述
在这里插入图片描述

6)举例说明

在这里插入图片描述
假设这个图片只有四个像素点,还都是灰度,只有一个通道的,展成列向量:
在这里插入图片描述
在这里插入图片描述
权值W的行数由类别数量确定,列数由像素点数量确定。
在这里插入图片描述
在这里插入图片描述

2. 细节理解

1)权值向量

继续上面的例子,我们的权值W是103072维的矩阵,可以将每个类对应的权值向量变成图像形式,3072=3232*3,发现权值向量的图片就像是每个类的模板一样:
在这里插入图片描述
为什么输入的图片和权值图片越相似,即向量值越相同输出的分数就越高?
两个向量点乘|c|=|a×b|=|a||b|cos<a,b>,什么时候取得最大值?夹角为0,完全重合的时候。当然,这里的前提是两个同维度空间中的单位向量,在同维度向量空间中单位化后的向量,比较是否相似其实就是比较方向(向量夹角),两向量夹角为0即重合时,显然最相似(完全一致嘛)。所以我们需要找一个函数来衡量向量夹角,向量间夹角的cos值很容易通过点积得到,因此cos值(余弦相似度)很适合作为这个衡量函数。显然,点积(余弦相似度)越大时, 俩单位向量夹角越小,越相似(余弦距离越小)。

在这里插入图片描述
特征1和特征2?

2)如何衡量分类器对当前样本的效果好坏?

在这里插入图片描述
在这里插入图片描述
两个不一样的分类器,权值不一样,第一个分类正确,第二个分类不正确。分类器2的效果差。可是如何定量表示呢?需要损失函数。
在这里插入图片描述
在这里插入图片描述

3)多类支撑向量机损失

+1只是为了不要太靠近边界,避免噪声。你也可以高两分,但没必要,这个东西只是为了防止有些图片处于决策边界,难以划分类别,所以干脆加一分,我再来看它有没有损失。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个折页函数看法是这样的:
S y i S_{yi} Syi?是变量,设 S i j S_{ij} Sij?的位置固定,然后加上1,如果 S y i S_{yi} Syi? S i j + 1 S_{ij}+1 Sij?+1要大,无论大多少,损失都为0,所以后面的线就在横轴上了;如果 S y i S_{yi} Syi? S i j + 1 S_{ij}+1 Sij?+1要小,小越多损失越大。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 损失函数

1)什么是损失函数?

损失函数其实就是在度量我当前参数的性能怎么样,因为分类模型已经确定了,改也只是改参数。损失函数一定要跟模型参数有关,不然没有意义!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述A1:最小值毫无疑问就是0,最大值的话可以是无穷。

A2:如果w和b很小,那么 S i j S_{ij} Sij? S y i S_{yi} Syi?都趋近于0, S i j ? S y i = 0 S_{ij}-S_{yi}=0 Sij??Syi?=0 m a x ( 0 , S i j ? S y i + 1 ) = 1 max(0,S_{ij}-S_{yi}+1)=1 max(0Sij??Syi?+1)=1,如果有10个类,100张样本图片, L i = 9 L_{i}=9 Li?=9则损失L会是 L = 1 N ∑ i L i ( f ( x i , W ) , y i ) = 1 100 ? 100 ? 9 = 9 L=\frac{1}{N}\sum_{i}L_{i}(f(x_{i},W),y_{i}) = \frac{1}{100}*100*9=9 L=N1?i?Li?(f(xi?,W),yi?)=1001??100?9=9
这个也可以用来检测编码正不正确,如果代码正确的话,w,b很小的时候,损失L的值应该等于类别-1。

A3:总损失多1

A4:放大N倍,不影响总结果,大家都放大了。

A5:对最后的结果是有影响的,损失大的占的比重就越大了。

2)正则项与超参数

在这里插入图片描述
在这里插入图片描述
通过引入正则项解决这个问题:
在这里插入图片描述
在这里插入图片描述
参数是学习得到的,超参数是我们给定的。超参数其实是对模型性能来说很重要的,但是我们又不能真的一个个去调,所以怎么选好参数就很重要了,让我们成了炼丹侠。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 优化

1)什么是参数优化?

在这里插入图片描述在这里插入图片描述
导数=0就是最优的

2)梯度下降算法

目标就是导数=0,千万不能忘记这一点!

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
缺点,样本N很大的时候,权值的梯度计算量很大!因此有了随机梯度算法:
在这里插入图片描述
单个样本又可能使得结果不是每次都向着整体最优化方向走,因此有了batch
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
优化算法就是通过不断的迭代来调整权重参数,使损失降到最低。

5. 训练过程

1)数据集划分

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
训练集上的参数选择是优化算法处理的,验证集上的超参数是人来选择的。

2)交叉验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第4章 全连接神经网络

在这里插入图片描述
在这里插入图片描述

1. 多层感知器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
来继续分析一下这个,很关键!以我们一直以来常用的cifar10举例。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
非线性可分要用全连接网络了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 激活函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
神经元越多,非线性越强,能描述更复杂的边界。让系统变得非线性更强的方法有两种:1.增加神经网络的深度,即神经网络的层数。2. 增加神经网络的宽度,即增加神经元的个数。主要还是增加深度,增加深度比增加宽度有效性更强,所以更加强调的是深度神经网络。
在这里插入图片描述
在这里插入图片描述

3. 损失函数

1)softmax

sofxmax的作用是让输出值范围在[0,1]之间,并且都为e的幂次方可以保证输出值恒大于0。e的次方可以将无论任何数字都转换成非负数(参考 e x e_{x} ex?图像),然后再做归一化就是softmax的执行过程啦。
在这里插入图片描述
在这里插入图片描述
softmax能将神经网络的输出从那些绝对的数值变成概率。原来的系统只能告诉你,比如,“你答对了,分数是10000分”,经过softmax之后系统会告诉你,“你答对了,你的图片属于这个类的概率是0.8”

2)交叉熵损失

在这里插入图片描述

补充流畅输出那一段!!!!

真正用来度量的是KL散度,只是当标准答案是one-hot形式的时候交叉熵的值等于KL散度,可以用交叉熵替代KL散度去衡量这件事情。

3)对比多类支撑向量机损失

在这里插入图片描述
在这里插入图片描述交叉熵得出的结果还可以指导网络继续优化,我不止要让我自己概率最高,还让别的不正确的类的可能概率越低越好。而多类支撑向量机损失只要我比别人高1分就行了,不需要高很多。交叉熵损失关键就是我的概率不止要比别人大,还要比别人大很多。

4. 优化算法

1)计算图和反向传播

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
梯度消失:如果梯度小,因为链式法则都是偏导继续相乘的,越乘越小的话就会出现梯度传到中间已经没了的情况。

正向就可以任意一个点找到它的输出,反向就可以任意一个点找到它的梯度。

还可以这样算:
在这里插入图片描述
这就引出了一个颗粒度的问题,到底是要分开来一步步算呢还是合成一个比如上面的sigmoid函数然后快速求呢?用sigmoid的话是函数颗粒大但是也计算速度快。但是,如果你要速度快,不希望一步步分开求解,你就需要先把这些函数定义出来,把它们的导数求出来,写入到计算模块中。caffe就是用这样的,可以自己列式,速度快,但是要求你自己去写这个函数;tensorflow就是不用你写这些,全部都是用这种低颗粒度的一步步地去求,但是缺点就是速度慢,计算效率比较低。
在这里插入图片描述

2)再谈激活函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
现在隐层已经很少用sigmoid、tanh这些了,用Relu即我们说的max
在这里插入图片描述
在这里插入图片描述

5. 梯度算法改进

1)动量法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)自适应梯度与RMSProp

在这里插入图片描述
在这里插入图片描述
不同地方不同学习率,平坦方向走快点,梯度大的震荡方向走慢点。
在这里插入图片描述
r越大越陡
在这里插入图片描述
动量法是通过此消彼长的感觉,自适应是在不同方向迈不同步子大小的感觉

在这里插入图片描述
修正就是防止最开始的梯度改变太慢
Adam就是自适应+动量

推荐使用Adam或者SGD+动量,手动调整(SGD+动量)的学习率得到的效果会比adam好(炼丹),但是adam在很多情况下都可以用,不用怎么调。反正普遍就用这两种。

6. 权值初始化

1)全零初始化(×)

在这里插入图片描述

2)随机初始化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 批归一化

在这里插入图片描述
在这里插入图片描述
批归一化1保证了前向传递能够往前传2能保证梯度不会消失
FC是全连接层,BN是批归一化,tanh激活函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. 过拟合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果能有很多的数据,直接把所有数据记下来就行,这样就是最优的方案了🤣。

L2正则会把方差抹平,所以很极端的曲线不可能出现
极端曲线如下,就是一个一个去圈,不是用平滑的曲线作为分界面。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
集成模型的鲁棒性很好。

第5章 卷积

在这里插入图片描述
在这里插入图片描述
这个过程就叫做对图像中的一个点进行了一次卷积操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
平移后卷积和卷积后平移是一样的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果不填充,卷积出来的图像会比原来的小
在这里插入图片描述
常用零填充
在这里插入图片描述
在这里插入图片描述
为什么不是都变成原来的1/9?此卷积非彼卷积,一般图像处理中的卷积求和都是要除以尺寸的,而CNN就是直接求和,所以不变没毛病。没有平均操作。
在这里插入图片描述
从这也可以看出卷积可以实现平移操作
在这里插入图片描述
在这里插入图片描述

原图减平滑图得到边缘图,比如一个点是250,减去1/9的卷积平滑图之后,剩下的是这个点非常显著的特征了。再用原图加细节特征,我们就可以得到锐化后的图片。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:28:48  更:2022-11-05 00:31:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:43:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码