这里记录下对深度学习某些知识和内容的探究、梳理,以及个人理解。
🎶 有一些学习要点的笔记和梳理我有随记在「幕布」和「有道云笔记」平台,挺杂乱的,但值得看一看:
- 01-机器学习&深度学习要点小梳理(含资料推荐)
- 02-卷积神经网络CNN探究(含反卷积、转置卷积、空洞卷积、上采样、下采样)
- 03-CNN网络模型演进(LetNet、AleNet、VGGNet、NIN、GoogleNet、ResNet等)
- 04-图像语义分割(含FCN、UNet、SegNet、PSPNet、Deeplabv1&v2&v3等)
- 数据预处理:中心化(又叫零均值化)和标准化(又叫归一化)
- 对softmax,softmax loss和cross entropy的理解
- ……
里面的内容有的会继续补充,另外,有新作的要点和内容,我会以分享链接的形式继续更新在上面,不过以上的分享链接也有可能指不定哪天被我取消了,不过关注该仓库即可,日后有时间整理成文至此。
注:对于在「幕布」上作的内容,有的我有导出成了 HTML 文件,可以在该文目录下的 html 文件夹下找到,但在 GitHub 上直接打开 HTML 文件只能看到源代码,看不到显示效果,如果想要看到正常文件内容,可以打开 htmlpreview,然后复制 HTML 文件的地址链接过去即可看到内容。
关于 dilated conv 带孔卷积、pooling 层提高感受野、反卷积的理解:
-
dilated conv带孔卷积、pooling层提高感受野 反卷积 的理解 - CSDN博客 [荐,看完你会明白的~]
pooling 为什么可以提高感受野?得这样理解:首先它第一个作用是降低 feature map 的尺寸,减少需要训练的参数;其次,因为有缩小的作用,所以之前的 4 个像素点,现在压缩成 1 个。那么,相当于我透过这 1 个点,就可以看到前面的 4 个点,这不就是把当前 map 的感受野一下子放大了嘛。所以就有以下结论:pooling 降维减少参数量,并且增大感受野。
。。。
因此,提出了 dilated conv 带孔卷积,解决保持感受野和保护图像尺寸间的互斥问题。
需要好好理解的地方是:带孔卷积并不是卷积核里带孔,而是在卷积的时候,跳着的去卷积 map(比如 dilated=2 的孔卷积,就是隔一个像素点,“卷”一下,这就相当于把卷积核给放大了(3x3 的核变成 7x7的核,多出位置的 weights 给 0 就是。)这样就使得 3x3 的卷积核也能达到 7x7 卷积核的感受野(因为它在原 map 上,确实 9 个点就跨越覆盖到了传统 conv 的49个像素点),也就扩大了感受野了,使得少一些 pooling 层也没关系。。。
推荐阅读:标准差和方差
总结:当数据比较分散时,标准差也比较大,即数据越分数,标准差也越大。另外,试着体会这句话:“差”的意思是离正常有多远。
中心化(又叫零均值化):是指变量减去它的均值。其实就是一个平移的过程,平移后所有数据的中心是(0,0)。
零均值化就是一组数据,其中每一个都减去这组的平均值。
例如,对1、2、3、4、5零均值化,
先算出其均值为3,然后每一个数都减去3,
得到-2、-1、0、1、2
就实现了零均值化
标准化(又叫归一化): 是指数值减去均值,再除以标准差。
参考:
统计学里面,正态分布(normal distribution)最常见。男女身高、寿命、血压、考试成绩、测量误差等等,都属于正态分布。
。。。。。。
比如,财富的分布就是不对称的,富人的有钱程度(可能比平均值高出上万倍),远远超出穷人的贫穷程度(平均值的十分之一就是赤贫了),即财富分布曲线有右侧的长尾。相比来说,身高的差异就小得多,最高和最矮的人与平均身高的差距,都在30%多。
这是为什么呢,财富明明也受到多种因素的影响,怎么就不是正态分布呢?
原来,正态分布只适合各种因素累加的情况,如果这些因素不是彼此独立的,会互相加强影响,那么就不是正态分布了。一个人是否能够挣大钱,由多种因素决定:
- 家庭
- 教育
- 运气
- 工作
- ...
这些因素都不是独立的,会彼此加强。如果出生在上层家庭,那么你就有更大的机会接受良好的教育、找到高薪的工作、遇见好机会,反之亦然。也就是说,这不是 1 + 1 = 2 的效果,而是 1 + 1 > 2。
统计学家发现,如果各种因素对结果的影响不是相加,而是相乘,那么最终结果不是正态分布,而是对数正态分布(log normal distribution),即x
的对数值log(x)
满足正态分布。
这就是说,财富的对数值满足正态分布。如果平均财富是10,000元,那么1000元~10,000元之间的穷人(比平均值低一个数量级,宽度为9000)与10,000元~100,000元之间的富人(比平均值高一个数量级,宽度为90,000)人数一样多。因此,财富曲线左侧的范围比较窄,右侧出现长尾。
关于「鞍点」的定义:
(1)鞍点附近的某些点比鞍点有更大的代价,而其他点则有更小的代价。
(2)一个不是局部极值点的驻点称为鞍点。
Notes:
- 驻点:一阶导数为0;
- 拐点:二阶导数为0。
Example:
(1)单变量函数:
鞍点处的一阶导为0,二阶导换正负号。
(2)多变量函数:
鞍点处,在某些方向上是峰顶,在其他方向上是谷底。
Note:
- 在高维空间中,局部最优很罕见,鞍点很常见 (在低维空间中则相反);
- 对于模型而言,它并不知道自己究竟走到的是驻点还是局部最优点。所幸的是我们常用带动量的 SGD。
参考:深度学习: 鞍点 - Online Note - CSDN博客
-
回答1:imagenet图像通常有1000个可能的类别,对每幅图像你可以猜5次结果(即同时预测5个类别标签),当其中有任何一次预测对了,结果都算对,当5次全都错了的时候,才算预测错误,这时候的分类错误率就叫top5错误率。
-
回答2:翻译一下和Yong Pan答案是一样的,top1就是你预测的label取最后概率向量里面最大的那一个作为预测结果,你的预测结果中概率最大的那个类必须是正确类别才算预测正确。而top5就是最后概率向量最大的前五名中出现了正确概率即为预测正确。
对于每个像素位置 i 具有隐变量 (这里隐变量就是像素的真实类别标签,如果预测结果有 21 类,则 (i∈1,2,..,21),还有对应的观测值 yi (即像素点对应的颜色值)。以像素为节点,像素与像素间的关系作为边,构成了一个“条件随机场”( Conditional Random Field,简称 CRF)。通过观测变量 yi 来推测像素位置 i 对应的类别标签 xi。条件随机场示意图如下:
很多以深度学习为框架的图像语义分割系统都使用了一种叫做 “条件随机场”( Conditional Random Field,简称 CRF)的技术作为输出结果的优化后处理手段。其实类似技术种类较多,比如还有马尔科夫随机场 (MRF) 和高斯条件随机场 (G-CRF) 用的也比较多,但原理都较为类似。
简单来介绍一下 “条件随机场” 的概念。
FCN 是像素到像素的影射,所以最终输出的图片上每一个像素都是标注了分类的,将这些分类简单地看成是不同的变量,每个像素都和其他像素之间建立一种连接,连接就是相互间的关系。于是就会得到一个 “完全图”:
上图是以 4x6 大小的图像像素阵列表示的简易版。那么在全链接的 CRF 模型中,有一个对应的能量函数:
嗯,不要问我这个公式里各种符号是啥,我看不懂。但是我知道这个公式是干嘛滴:
其中等号右边第一个一元项,表示像素对应的语义类别,其类别可以由 FCN 或者其他语义分割模型的预测结果得到;而第二项为二元项,二元项可将像素之间的语义联系 / 关系考虑进去。
这么说太抽象,举个简单的例子,“天空”和 “鸟” 这样的像素在物理空间是相邻的概率,应该要比 “天空” 和 “鱼” 这样像素相邻的概率大,那么天空的边缘就更应该判断为鸟而不是鱼(从概率的角度)。
通过对这个能量函数优化求解,把明显不符合事实识别判断剔除,替换成合理的解释,得到对 FCN 的图像语义预测结果的优化,生成最终的语义分割结果。
——from:十分钟看懂图像语义分割技术 | 雷锋网
update:2019-03-03