深度学习(概念相关)

深度学习(论文相关)

深度学习一些概念

在这里插入图片描述
通过阅读论文可以理解提取数据特征的重要性
在这里插入图片描述
在这里插入图片描述
深度学习=学习怎么去提取特征

应用领域

深度学习应用:
输入:图像输入或者文字输入
算法:还是基础的模块计算
神经网络中的参数几千万几亿,所以优化神经网络很困难
(深度学习的速度可能会很慢,创新点!!!提速)
有很多图像的数据集,以后可用!
https://image-net.org/
在这里插入图片描述
也就是我们数据规模越大,深度学习算法的优势越明显

计算机视觉任务

在这里插入图片描述
在这里插入图片描述
之所以表示为3维的,是图像的长像素,宽像素,和点的颜色(颜色0-255,颜色越深数值越大)
在这里插入图片描述
在这里插入图片描述
神经网络也会识别到有无遮挡

视觉任务中遇到的问题

在这里插入图片描述

K临近算法

在这里插入图片描述
物以类聚,人以群分
这个算法的主要思想就是:
划出不同的范围,比如第一个圈里面三角比较多,那我就认为圆点的位置可能是一个三角,假如第二个圈内比较,此时蓝色方块数量比较多,那我就认为,此时的绿点可能是一个方块
(但是这么认为还是有点主管臆断了,我们应该用更加客观的方式)
在这里插入图片描述
这个算法用的并不多,主要是了解了不能主观臆断,基本都需要综合考虑数据(关于异常数据后续在看看具体情况)
在这里插入图片描述
在这里插入图片描述
这个做减法就是灰度做减法,通俗一点就是
颜色形状差不多的
在这里插入图片描述
在这里插入图片描述
到这里都是K算法的应用,物以类聚,这里就按照大致颜色和形状进行判断了,而不是物体本身

得分函数

在这里插入图片描述
猫是由很多像素点组成的,但是我们要思考一下前面的K算法也是单独考虑了每个像素点,但是最后结果差强人意。
所以在得分函数里,我们还是关注每一个像素点,但是对不同的像素点对应不同的权重
在这里插入图片描述
!!注意:这里面几乘几都表示的是矩阵

(视频中通俗的讲解是:上面的10是10个种类,也就是我可以定义猫,狗,兔子等10个种类,然后依然是对每一个像素点进行检测,判断这个像素点是那个类别)
最后来一张图片,判断猫40%,狗30%,飞机10%(总的概率加起来应该是100%懒得写了)最后得出结论这个图片可能是个猫

b偏执参数微调
每一个种类都有各自的偏执参数(不同)
这样就能看出来这不是简单的线性函数

损失函数

在这里插入图片描述
这个图的详细讲解:
首先视频作者是画个十字将图片简单分为四个像素点先(多了不好懂)
第一行红色代表猫的权重,第二行绿色代表狗的权重,第三行紫色代表船的权重,
白色部分代表像素点的灰度
计算方式举例:
0.2X56+(-0.5)X231+0.1X24+2.0X2=1.1
也就是这四个都是每个像素点的权重(以-0.5那个权重为例:那个24的像素点我就不认为它是猫,所以我给一个低的权重)至于这个权重怎么来的(好像说是机器训练中得出的)
在这里插入图片描述
但是发现最后的结果把猫判断成狗了
思考:哪里出了问题
我们白色灰度那一块是不会变的,是最原始的数据
也就是我们的前面权重出现了问题
注意:我们是仅仅把像素点取了4个,应该选的更多会好点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里的损失函数就是计算,你这个计算结果算的有多不好,或者有多好的(评价体系)
公式讲解
Sj是错误类别
Syi是正确类别
在猫里面错误类别就是青蛙和车的数据,正确类别就是猫数据
然后看计算详情就ok
损失函数当值为0的时候认为没有损失(也就是评估正确的意思)
所以需要1给拉一下(我的判断正确的数值至少比你判断出来的错误高1以上才是没有损失的)
这个函数数值越大越不准(损失越大)

向前传播整体流程()

在这里插入图片描述

发现模型A和B都是一样的损失,但是A一定会产生过拟合(只关注局部)而B就比较平稳
在这里插入图片描述
兰姆达数值越大,证明越不想过拟合(减小这种邪门数据的影响)
在这里插入图片描述
神经网络是一个过于强大的模型,越强大的过拟合的风险越大,我们在研究中希望神经网络弱一点
在这里插入图片描述
捋一遍:
x输入数据
W权重
*得分值(得分函数计算得出)
hinge loss损失函数
R(W)防止过拟合的参数
说到底我得到的还是一个分数(评价是不是猫的分数)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的公式看起来很麻烦,但是配合例子就比较简单了
下面还是之前算出的判断猫是不是猫的成绩
猫:3.2 车:5.1 青蛙:-1.7
先进行e的x次方操作:
ex不仅放大了差异,还将所有的负数变成了正数
把大家的差距变大了,然后平均化计算是:
24.5/24.5+164+0.18=0.13得出的
剩下两个计算方式同理
在这里插入图片描述
然后在0-1之间的数值在坐标轴上是负的,所以我们要在公式前面再加上一个负数,让最终结果变成正的

返向传播计算方式

在这里插入图片描述
就相当于我有一个猫的图片,ABC步骤先后找出比较重要的部分(也就是蓝色,绿色和黄色圈出来的部分)
这个等待后续补充(视频半截)
下面这个链接的上一节,4,5P
https://www.bilibili.com/video/BV1K94y1Z7wn/?p=9&spm_id_from=pageDriver&vd_source=6ebf7a12e4cd4cf6f7d36b3d14621c4e

神经网络整体架构

在这里插入图片描述
仅仅看看数学模型啥样子就行
在这里插入图片描述
神经网络是一层一层办事的
有输入端和输出端
全连接:相当于一开始我传输了三个数据,然后这三个数据与后面的特征都进行了链接(1连4)
我也就将三个输入数据转换为了四个特征
在这里插入图片描述
权重是计算机生成的,因为计算机比较喜欢数据
在这里插入图片描述
仔细看下面这个绿色弹幕,说的很好
在这里插入图片描述
感觉前面应该是41的矩阵
4
1 14 得出一个44的矩阵
先把三个特征变成了四个特征,然后在来四个特征(现在应该是16个把)
在神经网络中,参数是最重要的也就是黑盒子里面的w,需要不断训练得到
在这里插入图片描述
wx前面得分函数
max出现过
一直堆叠

神经元个数对结果的影响

在这里插入图片描述
中间一个一个小圆圈就是神经元
神经元越多,过拟合程度越大,效果越好,但是运行效率会低
经典的几个演示神经网络的网页或者项目
很可惜ConvNetJS不维护了,找找代餐把
疑似ConvnetJS
在这里插入图片描述
惩罚力度加大,就比较平滑
就是我们平常训练,到最后测试
训练集要是数据产生一些比较大的波动会让计算机有一种习以为常的感觉,导致到最后真正测试的时候感觉不到那些比较大的波动了,所以我们还是希望测试机效果比较好的,就像图一效果那么好

正则化和激活函数

在权重计算过后要进行一组非线性变换,就是激活函数(非线性变换)
在这里插入图片描述
在这里插入图片描述
一开始这个Sigmoid函数只要有一个神经元是0,因为做乘法,后面的数据都是0了,也就是图像上显示的梯度不变了(函数没有斜率了)
后面基本上Relu函数是用的比较多的
而且还没有梯度消失的现象
主要就是知道Relu用的很多就行了,还有S那个不常用了

数据预处理,数据初始化

在这里插入图片描述
数据预处理:(就是上面显示的两个公式)
第一步:中心化:减去均值
第二步:标准化:除以标准差
在这里插入图片描述
参数初始化后面D,H哪里是数组
前面0.01*的意思是让数据都波动不是太大(尽量避免过拟合)这个0.01很显然对大数(也就是峰值高的地方影响比较大)

dropout

在这里插入图片描述
想让过拟合效果降低,舍弃部分来降低这个
在这里插入图片描述
下面的一层一层就相当于神经网络黑盒子里面的神经元,我随机割舍一部分(这里的不用不是永远不用,假如永远不用你一开始设置一层只有三个不就完了)
这里舍弃是随机舍弃
我每次不一定舍弃那几个
同时每一轮(好多次迭代)也不一定和上一轮舍弃的就完全一样
(类似运动员随机上场)
在这里插入图片描述
补一条:到最后test的时候也是右边的模型,不需要再恢复到之前的模型再进行测试了
在这里插入图片描述

卷积神经网络

在这里插入图片描述
计算机视觉已经达到预期了(可以看出来已经超过human了)
在这里插入图片描述
在这里插入图片描述
神经网络是用来做特征提取的,卷积神经网络也是
上面这不就和我们淘宝识图找衣服一样吗
在这里插入图片描述
可以看到也是有输入输出,将模糊图像变的清晰
在这里插入图片描述
和论文里面说的串起来了,当时就说DeepNovo可以在GPU和CPU上面都能跑
GPU:图像处理单元(打游戏基本在这上面)
游戏觉得卡就是连接慢,处理速度慢

卷积网络与传统网路的区别

在这里插入图片描述
相当于CNN提升了一个维度
输入的图像有了深度(空间)
在这里插入图片描述
卷积:提取特征
池化:压缩特征
在这里插入图片描述
这个举得例子和实际情况不是很贴合5X5和3X3,可以了解一下
实际上是3X3X1的小块拿出来进行的提取特征,我们也能看出来圈出来的三个进行计算就是后面3X3矩阵(绿色的)的第一行的数据
然后依次往下取得到第二行的(具体的计算交给代码实现和计算机)
在这里插入图片描述
正常情况下应该是酱紫的
长X宽X灰度

卷积特征值计算方法

在这里插入图片描述
红绿蓝都是7X7的矩阵,因为都是颜色通道,所以大小一样这很正常,没有毛病
在这里插入图片描述
这里up说前两个3X3包括下面的4X4也就是前两个数,我们可以理解为是二维层面上的一个通道(其实就是长乘宽形成的一个平面正方区域)
up说是一个滤波器(这个理解还是比较不好理解,直接上一个理解方法就行)
在这里插入图片描述
这一块计算可能是卷积的定义,之前没有看过,但是这个勉强可以看懂
计算方式:
内积之后相加得到结果
比如:
第一个矩阵
0 0 0 和 1 1 1
0 1 1 -1 -1 0
0 1 1 -1 1 0
这两个矩阵对应位置相乘(熟悉了之后只需要两个位置都不是0才有结果)
0x1+0x1+0x1+0x(-1)+1x(-1)+1x0+0x(-1)+1x1+1x0
上面这个是全公式,简化一下
1x(-1)+1x1=0
第一个矩阵算出来结果就是0
同理第二个矩阵:
2x1=2
第三个矩阵:0
然后下面还有个bais(暂且不知道怎么计算出来的)
0+2+0+1=3
对应绿色矩阵的第一行第一个数据,也就是3
剩下的循环着做就行

特征图表示

在这里插入图片描述
在这里插入图片描述
移动了两个单位,决定了特征值的大小是3x3的
假如我们只移动了一个单元格,那么大概就是5x5的了

步长与卷积核对结果的影响

在这里插入图片描述
在这里插入图片描述
这几个概念必须掌握
在这里插入图片描述
看吧我上一节说了假如步长是1的话就是5x5
步长不一样输出的大小就不一样
步长短:细粒度提取特征,比较详细
步长长:提取的比较粗糙估计(相对而言)
目前常用的是步长为1,但是效率可能比较低
在这里插入图片描述
就是每次移动的框框的大小3x3
比较常见
在这里插入图片描述
边界填充
我们刚刚通过卷积具体计算也可以看出来,越靠近矩阵中心,被计算的次数是比较多的,但是这并不能说明边界的点就不重要了,所以我们在原始数据周围加了一圈为0的数(我们本来的数据只有中间那一圈蓝紫色的)
只能是0作为填充,不会对数据产生影响
zero-padding这个你添加多少圈都可以,但是一般是添加一圈
卷积核个数
通俗的来讲就是,我最后要得到多少个特征图,就有多少个卷积核

特征图尺寸计算

在这里插入图片描述
关于F解释一下(其他的都很一目了然)
这个就是我们之前移动的框框大小3x3的
则Fh就是3
P是边界填充的0,表示有几圈0
题目举例
在这里插入图片描述
前面两个32是长宽,最后那个10是一开始我们就是10个fliter进行的计算

卷积核参数共享

在这里插入图片描述
这里up说对每个移动的小区域都是相同的卷积核进行的计算,这个可以理解的
但是为什么对于不同的区域来说卷积核数值都是固定的而不需要重新计算?不应该图像每一小块的特点都不同吗
对于上面这一块,似乎有点理解了
首先:卷积核会随着训练次数的增加而不断进行调整
但是在一次里面特征是不需要变的,在这里插入图片描述
这个计算很清晰
计算完之后发现参数才需要760,这和之前得到的函数幂指级别的参数比起来小多了,效率就高

池化层

池化相当于进行压缩了,瘦身了
在这里插入图片描述
可以看到特征值个数没变
在这里插入图片描述
平均分成几个小块之后,从每个小块里面选择最大的值
关于选取最大的值,因为在卷积神经网络里面,数值越大通常证明这块数据越重要,所以进行保留
还有一个是平均池化,就是取平均值,但是发现效果赶不上maxpooling
现在基本上用的都是这个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值