成功上岸阿里,深度学习知识考点总结

从2018年开始,就有人开始担忧算法工程师的前景,一直到如今的算法岗灰飞烟灭。

经常听到的一句话是:我们这届找工作太难了。

这就跟老师挂在嘴边的「你们是我带过的最差的一届学生」,有异曲同工之处。

不说算法岗,程序员这个职业,找工作也是越来越难。

试问,哪个职业找工作是越来越简单的?

N年前,应聘小学、初中老师,需要什么要求,现在需要什么要求?

N年前,博士留校任教,需要什么要求,现在又需要什么要求?

中国的快速发展,必然会带来这些问题。只有跟紧社会发展的步伐,才能不被淘汰。

与其担忧算法岗的未来发展,不如想一想,这个岗位是自己喜欢的吗?自己有动力去坚持学习吗?

「强者恒强」。

「每场面试都录音,面试后听录音整理并分析问题」

答:sigmoid将一个realvalue映射到(0,1)的区间,用来做二分类。而softmax把一个k维的realvalue向量(a1,a2,a3,a4….)映射成一个(b1,b2,b3,b4….),其中bi是一个0~1的常数,输出神经元之和为1.0,所以相当于概率值,然后可以根据bi的概率大小来进行多分类的任务。

二分类问题时sigmoid和softmax是一样的,求的都是crossentropyloss(交叉熵损失),而softmax可以用于多分类问题。softmax是sigmoid的扩展,因为,当类别数k=2时,softmax回归退化为logistic回归。

0-1损失函数:

函数曲线:

函数曲线为如上的阶梯函数。有三个特点:不连续,非凸,不平滑。由于这三个特点,损失函数的优化难度很大。

Hingeloss:

在0-1loss函数基础上,做了两点改动:对于正例(y[i]=1),f(x[i])必须大于等于1;而对于负例(y[i]=-1),f(x[i])必须小于等于-1(相比之前f(x[i])与0对比,加强条件,提高稳定性);没有达到要求的情况,视为错误。f(x[i])权值偏离越大,错误越严重。

函数曲线(连续,凸,非平滑):

cross-entropyloss(logloss):

常用于多分类问题,描述了概率分布之间的不同,y是标签,p是预测概率:

在逻辑回归也就是二分类问题中,上述公式可以写成:

这就是logisticloss。logisticloss其实是cross-entropyloss的一个特例。

指数损失函数:

AdaBoost算法常用的损失函数。

答:1)数据集不够;2)参数太多,模型过于复杂,容易过拟合;3)权值学习过程中迭代次数太多,拟合了训练数据中的噪声和没有代表性的特征。

Regularizationisatechniquewhichmakesslightmodificationstothelearningalgorithmsuchthatthemodelgeneralizesbetter.正则化是一种技术,通过调整可以让算法的泛化性更好,控制模型的复杂度,避免过拟合。1)L1&L2正则化;2)Dropout(指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络);3)数据增强、加噪;4)earlystopping(提前终止训练);5)多任务联合;6)加BN。

答:L1正则化向目标函数添加正则化项,以减少参数的绝对值总和;而L2正则化中,添加正则化项的目的在于减少参数平方的总和。线性回归的L1正则化通常称为LASSO(LeastAbsoluteShrinkageandSelectionOperator)回归。LASSO回归可以使得一些特征的系数变小,甚至还有一些绝对值较小的系数直接变为0,从而增强模型的泛化能力,因此特别适用于参数数目缩减与参数的选择,因而用来估计稀疏参数的线性模型。

为什么L1正则化相比L2正则化更容易获得稀疏解?采用L1范数时平方误差项等值线与正则化项等值线的交点常出现在坐标轴上,即w1或w2为0,而在采用L2范数时,两者的交点常出现在某个象限中,即w1或w2均非0。因此,L1范数比L2范数更易于得到稀疏解。(周志华机器学习)

答:weightdecay特指神经网络的正则化,是放在正则项前的一个系数,正则项表示模型的复杂度,weightdecay的作用就是调节模型复杂度对损失函数的影响。一般用l2正则化。

答:sigmoid公式:

它输入实数值并将其“挤压”到0到1范围内,适合输出为概率的情况,但是现在已经很少有人在构建神经网络的过程中使用sigmoid。

tanh公式:

Tanh非线性函数图像如下图所示,它将实数值压缩到[-1,1]之间。

relu公式:

ReLU非线性函数图像如下图所示。

LeakyReLU公式:

其中α是很小的负数梯度值,比如0.01,LeakyReLU非线性函数图像如下图所示。这样做目的是使负轴信息不会全部丢失,解决了ReLU神经元“死掉”的问题。

ELU公式:

ELU函数是针对ReLU函数的一个改进型,相比于ReLU函数,在输入为负数的情况下,是有一定的输出的,而且这部分输出还具有一定的抗干扰能力。这样可以消除ReLU死掉的问题,不过还是有梯度饱和和指数运算的问题。

答:BatchNormalization。归一化的作用,经过BN的归一化消除了尺度的影响,避免了反向传播时因为权重过大或过小导致的梯度消失或爆炸问题,从而可以加速神经网络训练。BN一般放在激活函数前面。

1)BN归一化的维度是[N,H,W],那么channel维度上(N,H,W方向)的所有值都会减去这个归一化的值,对小的batchsize效果不好;2)LN归一化的维度是[H,W,C],那么batch维度上(H,W,C方向)的所有值都会减去这个归一化的值,主要对RNN作用明显;3)IN归一化的维度是[H,W],那么H,W方向的所有值都会减去这个归一化的值,用在风格化迁移;4)GN是将通道分成G组,归一化的维度为[H,W,C//G]。

答:防止梯度消失;传递浅层信息,比如边缘、纹理和形状。CNNswithskipconnectionshavebeenthemainstreamformodernnetworkdesignsinceitcanmitigatethegradientvanishing/explodingissueinultradeepnetworksbythehelpofskipconnections.

答:第一,softmax+crossentropyloss,比如fcn和u-net。

第二,第一的加权版本,比如segnet,每个类别的权重不一样。

第三,使用adversarialtraining,加入ganloss。

(第四,sigmoid+diceloss,比如v-net,只适合二分类。

第五,onlinebootstrappedcrossentropyloss,比如FRNN。

第六,类似于第四,sigmoid+jaccard(IoU),只适合二分类,但是可推广到多类。)

答:在BN的原始论文中,BN是放在非线性激活层前面的。但是现在目前在实践中,倾向于把BN放在ReLU后面,也有评测表明BN放ReLu后面更好。还有一种观点,BN放在非线性函数前还是后取决于你想要normalize的对象,更像一个超参数。

答:无人驾驶分割主要用的是视频语义分割。

答:语义分割:该任务需要将图中每一点像素标注为某个物体类别。

同一物体的不同实例不需要单独分割出来。比如标记出羊,而不需要羊1,羊2,羊3,羊4,羊5。

实例分割是物体检测+语义分割的综合体。相对物体检测的边界框,实例分割可精确到物体的边缘;相对语义分割,实例分割可以标注出图上同一物体的不同个体(羊1,羊2,羊3...)。

答:VGGNet论文中全部使用了3*3的卷积核和2*2的池化核,通过不断加深网络结构来提升性能。使用3*3的卷积核,既可以保证感受野,又能减少卷积的参数。两个3*3的卷积层叠加,等价于一个5*5的卷积核的效果,3个3*3的卷积核的叠加相当于一个7*7的卷积核,而且参数更少,拥有和7*7卷积核一样的感受视野,三个卷积层的叠加,经过了更多次的非线性变换,对特征的学习能力更强。

计算一下5×5卷积核参数,输入时RGB三通道图像,输出channel为2,计算一共需要多少参数。其中,25×3×2=150。

v4版本添加了reductionblock,用于改变网格的宽度和高度。

inception-resnet引入残差连接,将inception模块的卷积运算输出添加到输入上。

答:采用VGG堆叠的思想和Inception的split-transform-merge思想,但是可扩展性比较强,可以认为是在增加准确率的同时基本不改变或降低模型的复杂度。本质上是引入了group操作同时加宽了网络。

答:1)可以升维降维;2)卷积参数少;3)加入非线性;4)在一篇论文中看到的描述,1×1learnscomplexcross-channelinteractions.在一个blog看到的描述,Thisconvolutionisusedinorderto“blend”informationamongchannels.

答:1)平均池化,把一个patch中的值求取平均来做pooling,那么反向传播的过程也就是把某个元素的梯度等分为n份分配给前一层,这样就保证池化前后的梯度之和保持不变。2)最大池化是把patch中最大的值传递给后一层,而其他像素的值直接被舍弃掉。那么反向传播也就是把梯度直接传给前一层某一个像素,而其他像素不接受梯度,也就是为0。所以maxpooling操作和meanpooling操作不同点在于需要记录下池化操作时到底哪个像素的值是最大。

答:出自NIN论文,主要是是将最后一层的特征图进行整张图的一个均值池化,形成一个特征点,将这些特征点组成最后的特征向量。

答:个人理解。输入的图像尺寸可以是动态的,如果是全连接输入的图像尺寸必须是固定的;可以输出密集的像素级别的预测,将端到端的卷积网络推广到语义分割中;卷积可以减少参数量。

答:SegNet是典型的编码解码的过程,Encoder过程中,卷积的作用是提取特征,卷积后不改变图片大小;在Decoder过程中,同样使用不改变图片大小的卷积,卷积的作用是为upsampling变大的图像丰富信息,使得在Pooling过程中丢失的信息可以通过学习在Decoder中得到。decoder不是采用的转置卷积,而是池化+卷积实现的上采样。每次Pooling,都会保存通过max选出的权值在2x2filter中的相对位置,在Upsamping层中可以得到在Pooling中相对Poolingfilter的位置。所以Upsampling中先对输入的特征图放大两倍,然后把输入特征图的数据根据Poolingindices放入。

答:PSPNet的提出是为了聚合不同区域的上下文信息,从而提高获取全局信息的能力。比如语义分割结果的大环境是一条河,河里的船有可能被识别成车,但是如果有了全局信息,就知道河里是不可能有车的,所以就不会出现这种问题的。encoder部分采用的是ResNet,和普通的resnet不一样的部分是把7*7卷积换成了3个3*3卷积,我觉得这点就挺有用的,因为7*7会降低分辨率,损失了很多信息,用3个3*3的卷积感受野没有变,但是信息损失的相对小了。而且在resnet中还用到了空洞卷积,空洞卷积的作用就是让卷积核变得蓬松,在已有的像素上,skip掉一些像素,或者输入不变,对conv的kernel参数中插一些0的weight,达到一次卷积看到的空间范围变大的目的,所以感受野变大了,同时计算量不变,更重要的是图像的分辨率没有改变不会损失信息。提取特征之后用到了金字塔池化模块,分别用四个池化等级加卷积提取不同尺度的特征,最终和原提取特征一起用concat操作聚合到了一起。

答:Deeplab-v1是用了含有空洞卷积的VGG加上CRF后处理。

v2是在v1基础上改进的,用的是有空洞卷积的ResNet101,还提出了ASPP模块,并行的采用多个采样率的空洞卷积提取特征,再将特征融合。不再使用传统的CRF方法,而是利用denseCRF的方法,得到较为优秀的结果。

v3+将encoder部分替换成了X-inception,加入了深度可分离卷积,鉴于对最后的概率图依然使用大倍数的双线性插值恢复到与原图一样的大小还是过于简单,因此在这个版本中,增加了一个恢复细节的解码器部分。

答:数据集比较小的时候。因为数据集小的时候容易产生过拟合,但是DenseNet能很好解决过拟合问题,这一点从DenseNet不做数据增强的CIFAR数据集上的表现就能看出来,错误率明显下降了。DenseNet抗过拟合的原因有一个很直观的解释:神经网络每一层提取的特征都相当于对输入数据的一个非线性变换,而随着深度的增加,变换的复杂度也在增加,因为有着更多的非线性函数的复合。相比于一般神经网络的分类器直接依赖于网络最后一层(复杂度最高)的特征,DenseNet可以综合利用浅层复杂度低的特征,因而更容易得到一个光滑的泛化性能好的函数。

答:ColorJittering:对颜色的数据增强:图像亮度、饱和度、对比度变化;RandomScale:尺度变换;RandomCrop:采用随机图像差值方式,对图像进行裁剪、缩放;Horizontal/VerticalFlip:水平/垂直翻转;Shift:平移变换;Rotation/Reflection:旋转/仿射变换;Noise:高斯噪声、模糊处理。

答:第一个stage图像尺寸没有变,接下来每一个stage图像尺寸都缩小二倍。resnet50一共有四个stage,分别有3,4,6,3个block。resnet101一共有四个stage,分别有3,4,23,3个block。每个block有3层,resnet101相比resnet50只在第三个stage多了17个block,也就是多了17*3=51层。

答:根据shufflenetv2,组卷积使用过多,内存访问量比较大。

答:空洞卷积是在已有的像素上,skip掉一些像素,或者输入不变,对conv的kernel参数中插一些0的weight,达到一次卷积看到的空间范围变大的目的。连续空洞卷积的感受野是指数级增长。

空洞卷积有两个问题:1)TheGriddingEffect:空洞卷积使卷积核不连续,损失了连续信息,而且当扩张率增加的时候,采样点之间间隔较远,局部信息丢失,就会产生很差的网格效应;2)Long-rangedinformationmightbenotrelevant:我们从dilatedconvolution的设计背景来看就能推测出这样的设计是用来获取long-rangedinformation。然而光采用大dilationrate的信息或许只对一些大物体分割有效果,不利于小物体分割。如何同时处理不同大小的物体的关系,则是设计好dilatedconvolution网络的关键。

解决办法:1)图森组的论文UnderstandingConvolutionforSemanticSegmentation设计了HDC的结构,第一个特性是,叠加卷积的dilationrate不能有大于1的公约数。比如[2,4,6]则不是一个好的三层卷积,依然会出现griddingeffect。第二个特性是,我们将dilationrate设计成锯齿状结构,例如[1,2,5,1,2,5]循环结构。第三个特性是,我们需要满足一下这个式子:

一个简单的例子:dilationrate[1,2,5]with3x3kernel(可行的方案),而这样的锯齿状本身的性质就比较好的来同时满足小物体大物体的分割要求(小dilationrate来关心近距离信息,大dilationrate来关心远距离信息)。

答:牛顿法虽然收敛速度很快,但是需要计算梯度和二阶导数,也就是一个Hessian矩阵:1)有些时候,损失函数的显式方程不好求;2)输入向量的维度N较大时,H矩阵的大小是N*N,计算量很大而且内存需求也很大;3)牛顿法的步长是通过导数计算得来的,所以当临近鞍点的时候,步长会越来越小,这样牛顿法就很容易陷入鞍点之中。而sgd的步长是预设的固定值,相对容易跨过一些鞍点。

在鞍点数目极大的时候,这个问题会变得非常严重。高维非凸优化问题之所以困难,是因为高维参数空间存在大量的鞍点。

目标函数关于参数的梯度:

根据历史梯度计算一阶和二阶动量:

更新模型参数:

SGD的缺点在于收敛速度慢,可能在鞍点处震荡。并且,如何合理的选择学习率是SGD的一大难点。

SGD还有一个问题是困在局部最优的沟壑里面震荡。想象一下你走到一个盆地,四周都是略高的小山,你觉得没有下坡的方向,那就只能待在这里了。可是如果你爬上高地,就会发现外面的世界还很广阔。因此,我们不能停留在当前位置去观察未来的方向,而要向前一步、多看一步、看远一些。因此有了NAG。

然后用下一个点的梯度方向,与历史累积动量相结合,计算步骤2中当前时刻的累积动量。

SGD、SGD-M和NAG均是以相同的学习率去更新θ的各个分量,此前我们都没有用到二阶动量。二阶动量的出现,才意味着“自适应学习率”优化算法时代的到来。SGD及其变种以同样的学习率更新每个参数,但深度神经网络往往包含大量的参数,这些参数并不是总会用得到(想想大规模的embedding)。对于经常更新的参数,我们已经积累了大量关于它的知识,不希望被单个样本影响太大,希望学习速率慢一些;对于偶尔更新的参数,我们了解的信息太少,希望能从每个偶然出现的样本身上多学一些,即学习速率大一些。

对于此前频繁更新过的参数,其二阶动量的对应分量较大,学习率就较小。这一方法在稀疏数据的场景下表现很好。但是需要手动设置一个全局的学习率。

其二阶动量采用指数移动平均公式计算,这样即可避免二阶动量持续累积的问题。和SGD-M中的参数类似,γ通常取0.9左右。不依赖于全局学习率。

THE END
1.公共领域名词解释公共领域:定义特点与现代社会影响力解析...然而,真正意义上的现代公共领域形成于17世纪至18世纪的欧洲,随着印刷术的普及、咖啡馆文化的兴起以及报纸、杂志等大众媒介的发展,公众开始有了更多获取信息与表达意见的渠道,公共讨论逐渐从贵族沙龙走向更广泛的民众之中 到了19世纪末20世纪初,随着工业化、城市化的加速以及社会结构的复杂化,公共领域经历了显著的转型 ...http://www.09wl.com/2024/11/6658b.html
2.万字总结5大拉新技巧,这次把老底都翻出来了主要是利用微信群和QQ群进行公众号(内容)的曝光以达到吸粉目的。这些社群都是由同一类型的人组成,包括合作群、互推群、阅读量群等等,人数在几十到几百不等。社群里面既有我们公众号的潜在目标粉丝,也能为公众号内容带来二次传播(让群员把文章转发到各自的朋友圈)。 https://www.hy755.cn/article/2020/1024/21099.html
3.微信公众号互选广告有哪些推广目标?巨宣网络为你解答微信公众号互选广告是一种创新的广告模式,通过微信公众号互选平台,广告主和流量主可以双向互选、自由达成内容合作。这种广告模式允许广告创意在公众号文章内容中呈现,具有真实、全面的数据服务和安全、高效的交易流程等特点。今天就由巨宣小编带大家一起看看互选广告的位置、优势以及有哪些推广目标吧! https://m.weibo.cn/ttarticle/p/show?id=2309404984298406019146
1.社会公众在宏观经济政策制定中的地位与作用在一个国家或地区的发展过程中,宏观经济调控是维护经济稳定、促进可持续增长的重要手段。它涉及到对整个经济体系的整体管理和调整,以达到预定的目标,如高就业率、低通货膨胀率等。然而,这一过程往往涉及到复杂的决策和多方利益关系,因此社会公众对于宏观经济政策的参与和影响也成为了研究的一个热点。 https://www.kzzrptof.cn/nv-sheng-fen-zu/486072.html
2.自媒体作者评说,人气聚起来商气汇起来科普在当今社会,随着互联网的普及和社交媒体的兴起,人们对于信息的获取和交流方式发生了巨大的变化,在这样的时代背景下,“人气聚起来、商气汇起来”成为了一个引人注目的口号,它不仅仅是一个简单的宣传语,更是对现代社会发展的深刻洞察和期待,本文将围绕这一主题展开评说,探讨其背后的意义和价值。 https://www.doumengai.com/post/30417.html
3.自媒体与新媒体:概念辨析在我看来,自媒体是互联网赋予个人的一个全新的舞台,它让每个人都有机会成为自己领域的意见领袖。自媒体的核心在于“自”,即个人或小规模团队通过独立的渠道(如微信公众号、微博、抖音等)进行内容的创作和传播。 1、自媒体的独立性 自媒体的最大特点就是其独立性。它不受传统媒体机构的约束,可以自由选题、创作和发布...https://www.batmanit.cn/blog/k/50139.html
4.观点教授/研究加快培育一批B类世界级优秀企业,构建并优化形成“A类+B类+C类”组合的有中国特色的企业制度群体结构,对于提升中国企业的全球竞争力和全球资源整合能力,可能具有非常现实的战略意义。https://www.ckgsb.edu.cn/faculty/article/detail/157/5705
5.江苏自考常见问题解答自考考生可登录江苏教育考试公众信息服务平台(sdata.jseea.cn),点击“查询”中的“考生成绩查询”按钮即可查询该准考证下所有通过的课程成绩。也可以在江苏省教育考试院官网(www.jseea.cn)的“自学考试栏目”页面左侧点击“考生成绩查询”按钮查询。 28. 考生如对考试成绩有疑问,如何办理成绩复核手续? https://www.educity.cn/zikao/221279.html
6.干货如何利用SocialListening从社会化媒体中“提炼”有价值...通过社会化媒体去倾听目标消费者的需求和意见已经成为了今天品牌运营者的必修之技。企业们通过捕捉网络上与品牌/产品/营销事件相关的关键词,去监测消费者都对品牌/产品/营销事件说了什么的行为,被称作社会化聆听(Social Listening)。 说的通俗一点,社会化聆听(Social Listening)就是指倾听目标消费者和潜在消费者主动在...https://www.aiyingli.com/44130.html
7.社群话术范文12篇(全文)“罗胖书单”分栏目中每期设置一个主题, 在该主题下有罗振宇及其团队推荐的书单, 还附上优酷视频中《罗辑思维》脱口秀的视频链接。而在“逛商城”栏目中罗辑思维公众账号的粉丝可以在该店铺中购物。 二、罗辑思维社群运营特点分析 (一) 激发用户参与社群活动...https://www.99xueshu.com/w/filetwdctcqh.html
8.VC老板的日常:6成找钱,3成投钱,还有1成要写公号04:41 在 VC 机构做老板和做投资人,有什么差别 08:40 我的工作分配比例:募资、投资、写公众号 17:39 作为小的黑马机构如何寻找目标创业者 23:34 创业=拿投资=IPO,这是一种很大的错觉 26:39 遇到什么样的创业者会愿意见面深度聊一下 27:28 遇到「乙里乙气」的创业者要警惕,也许是个坑 ...https://www.thepaper.cn/newsDetail_forward_25821548
9.小学法制安全教育教案(精选12篇)通过交通知识竞赛、说唱拍手歌两种形式的表演来达到教育目标,接受“交通安全”方面的法制教育。 三、活动准备: 收集交通标志、交通警示语、交通知识竞赛题、编写儿歌、制作警示语书签。 四、活动时间: 9月5日第四、五节课 五、活动内容及过程: (一)、主持人宣布活动开始。 https://xiaoxue.ruiwen.com/jiaoan/334399.html
10.微信营销方案精选15篇为有力保证事情或工作开展的水平质量,通常会被要求事先制定方案,方案可以对一个行动明确一个大概的方向。那么应当如何制定方案呢?下面是小编为大家整理的微信营销方案,仅供参考,希望能够帮助到大家。 微信营销方案1 第一步:获取大量的目标客户 每一个培训行业做了3、5年都有大量的会员、目标客户,有了微信的公众平...https://www.oh100.com/a/202302/6062554.html