有无监督,上下游任务,高斯分布,BN总结

1.无监督和有监督的区别
有无标号,label与预测结果做损失loss
transformer有监督的
BERT- 在预训练中在没有标号的数据集上训练
在微调的时候同样是用一个BERT模型,但是它的权重被初始化成在预训练中得到的权重,有标号的数据进行微调
确切来说BERT这种预训练模型属于自监督学习,将一句话屏蔽掉一分部分token,输入到模型中。然后让模型预测整句话,让模型学习数据集的上下文关系。
数据没有通过人工标记label,勉强可看成无监督式学习吧
2.p(a,b|c)和p(ab|c)的意思都是一样,表示在c发生的前提下,发生a和b的概率。p(a|b,c)表示在发生b和c的前提下,发生a的概率
p(a,b|c)=P(a,b,c)/P( c) = P(a,b,c)/P(a|b,c) * P(b,c)/P( c) = P(a|b,c) * P(b|c)
3.摘自计算机视觉的上游任务和下游任务
上游任务:
预训练模型。一般就是利用上游数据上进行预训练,以生成一个包含视觉表征的模型。
下游任务:
下游任务是计算机视觉应用程序,用于评估通过自监督学习学习到的特征的质量。当训练数据稀缺时,这些应用程序可以极大地受益于预训练模型。

下游任务更多的是评估任务,相当于项目落地,需要去做具体任务来评价模型好坏。
如目标检测、语义分割
4.
为什么机器学习中很多分布都采用高斯分布?摘自机器学习中的高斯分布
机器学习中许多模型都是基于数据服从高斯分布(不是严格服从高斯分布,近似也可以)的假设,很多以概率分布为核心的机器学习模型大部分也假设数据是高斯分布,比如生成模型:朴素贝叶斯分类、GMM。在高斯分布的情况下,我们使用相应的模型得到的结果才是稳健的。如果数据特征不是高斯分布,有时需要找到一个数学变换来把特征按照高斯分布进行变换。
根据概率论中的中心极限定理,当样本容量无穷大时,许多分布的极限就是高斯分布(正态分布),现实中的很多随机变量是由大量相互独立的随机因素的综合影响所形成的,而其中每一个因素在总的影响中所起的作用都是微小的,这种随机变量往往近似服从高斯分布(中心极限定理的客观背景)。
从熵的角度来看,在已知数据的均值和方差的情况下(原数据分布类型未知),高斯分布的熵是所有其他分布中最大的。按照熵标准,“最大熵”约等价于“同约束下最接近均匀分布”,即更符合实际。可以这样理解,“熵最大”是为了使理想更接近实际,让特殊逼近一般,从而使模型更具一般性。注意高斯分布的熵其实是由方差决定的,“高斯变量最大熵”是在方差固定的背景下的结论。不同的方差显然会带来不同的高斯分布,而熵越大的高斯分布方差越大——在实轴上也越接近“均匀”
哪些模型假设数据服从高斯分布:

涉及极大似然、EM的模型:逻辑回归、GMM、朴素贝叶斯…
涉及计算方差最大的模型(最大熵分布):PCA、LDA…
一些文章说线性回归需要数据服从高斯分布,这种说法并不准确,应该是人们希望线性回归的残差分布服从高斯分布,若残差不符合高斯分布,说明模型性能差

高斯分布与聚类之GMM
高斯混合混合模型(GMM)是一种概率生成模型,模型通过学习先验分布后推导后验分布来实现聚类。当我们做聚类任务的时候,可以根据距离最近原则,将样本聚类到距离其最近的聚类中心,如k-means算法,或者将样本聚类到距离某个簇边缘最近的簇,如DBSCAN算法,而GMM是假设样本每个类的特征分布遵循高斯分布,即整个数据集可由不同参数的高斯分布线性组合来描述,GMM算法可以计算出每个样本属于各个簇的概率值并将其聚类到概率值最大的簇。
5、BatchNorm的本质思想【摘自其他博客】
随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近(对于Sigmoid函数来说,意味着激活输入值是两端大的负值或正值),所以这导致后向传播时低层神经网络的梯度消失,这是训练深层神经网络收敛越来越慢的本质原因。
那么把激活输入x调整到这个正态分布有什么用?
假设没有经过BN调整前x的原先正态分布均值是-6,方差是1,那么意味着95%的值落在了[-8,-4]之间,那么对应的Sigmoid(x)函数的值明显接近于0,对于导数取值为梯度饱和区,意味着梯度变化很小甚至消失。而假设经过BN后,均值是0方差是1,那么意味着95%的x值落在了[-2,2]区间内,很明显这一段是sigmoid(x)函数接近于线性变换的区域,意味着x的小变化会导致非线性函数值较大的变化,也梯度变化较大,对应导数函数图中明显大于0的区域,就是梯度非饱和区。

经过BN后,目前大部分Activation的值落入非线性函数的线性区对输入比较敏感的区域内,其对应的导数远离导数饱和区,这样输入的小变化就会导致损失函数较大的变化,意思是这样让梯度变大,避免梯度消失问题产生,而且梯度变大意味着学习收敛速度快,能大大加快训练速度。因为梯度一直都能保持比较大的状态,所以很明显对神经网络的参数调整效率比较高,就是变动大,就是说向损失函数最优值迈动的步子大,也就是说收敛地快。

如果都通过BN,那么不就跟把非线性函数替换成线性函数效果相同了?多层的线性函数变换是没有意义的,因为多层线性网络跟一层线性网络是等价的,反复使用矩阵乘以输入,相当于矩阵乘法,多个矩阵相乘还是一个矩阵。有激活函数解决这个问题。
BN让输入分布均值为0方差为1在经过激活函数时,数据表达能力缺失,为了恢复数据表达能力,保证非线性的获得。对变换后的满足均值为0方差为1的x又进行了scale加上shift操作进行线性变换(y=scale*x+shift),每个神经元增加了两个参数scale和shift参数,这两个参数是通过训练学习到的,意思是通过scale和shift把这个值从标准正态分布左移或者右移一点并变宽一点或者变瘦一点,每个实例挪动的程度不一样,这样等价于非线性函数的值从正中心周围的线性区往非线性区动了动。核心思想应该是想找到一个线性和非线性的较好平衡点,既能享受非线性的较强表达能力的好处,又避免太靠非线性区两头使得网络收敛速度太慢。
6.在深度学习中,语义信息可以通俗的理解成是图像的纹理,颜色,或者目标的类别等信息,例如在检测网络中,一个图像输入到网络中,经过一层层的卷积之后,语义信息会越来越明显,但是相对的位置信息会越来越弱,因为越到高层卷积的时候,feature map映射到原图中的感受野越大,这样对局部的位置信息感受就比较差。
 图像的语义分为视觉层、对象层和概念层,视觉层即通常所理解的底层,即颜色、纹理和形状等等,这些特征都被称为底层特征语义,图像的低层的特征语义信息比较少,但是目标位置准确;;
 对象层即中间层,通常包含了属性特征等,就是某一对象在某一时刻的状态;
 概念层是高层,是图像表达出的最接近人类理解的东西,高层的特征就显示为一张人脸。高层的特征语义信息比较丰富,但是目标位置比较粗略。

猜你喜欢

转载自blog.csdn.net/weixin_44040169/article/details/127427804
今日推荐