图像算法岗位面试笔试题目(长期更新)

怎么去介绍深度学习和神经网络

把深度学习任务比作一个建筑工程,那么它可以被分为五块积木

1、连接模式
连接模式包括全连接、卷积、池化、残差,甚至inception。这些结构的相互连接组成了神经网络的框架。
2、非线性模块
正是因为神经网络具有非线性模块,多层神经网络在理论上是可以无限逼近任意的函数。如果没有非线性模块,即使再多的层结构堆叠,最后的作用也仅仅是相当于一个感知机。
常见的非线性模块有 tanh,sigmoid,ReLU,根据ReLU衍生出来的pReLU 等等。
ReLU是目前应用最为广泛的非线性激活函数。
缺点:*********
优点:*********
3、优化器
优化器是指在训练过程中,调整神经网络每层的参数,使得最后的输出结果最好,并优化调整参数的时间,也就是训练时间。常见的优化器有SGD(随机梯度下降),momentum 等等。
4损失函数
怎么去定义优化器最后输出的结果的好坏程度呢?就是通过损失函数来衡量的。优化器每次将一批训练样本迭代计算之后,会计算出一个结果,拿这个结果和实际标签的真实值进行对比,这两者之间一定会有差别,这个差值就是loss值。然后优化器将损失值再反向的传播回来,反向经过的每一层,再去调整每一层的参数,使得下次loss值降低。
计算loss值的方法也直接回影响到网络的性能,常见的有SoftMax Loss,交叉熵损失,均方差损失。
对于细粒度分类中,例如人脸识别应用中的损失函数有:TripletLoss,Center Loss,A-softMax Loss,AM Loss。
事实证明,采用相同的网络结构,不同的loss计算方法对识别结果有很大的影响。
5、超参数
在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。例如,学习率,batch size,dropout rate,data augmentation。

神经网络基本结构

神经网络是一种层次模型,其输入是原始数据,例如RGB图像等,通过卷积,池化,全连接等操作一系列的映射,将高层语义信息逐层有原始数据中抽取出来,逐层抽象,这个过程便称之为前向运算。

怎么理解端到端

通俗地说,就是从原始输入数据直接输出想要的结果。例如图像分类中,输入RGB原始图像,输出直接是类别;例如自动驾驶,输入路面信息,输出直接是左转还是右转。
在深度学习时代之前,处理问题图像问题都是采用传统的方式,样本表示都是采用人工特征,所以人工特征的好坏直接决定了最后的任务精度。在计算机领域中,表示特征的描述子就有很多种,例如SIFT,SURF,HOG,LBP等,有的适合做边缘检测,有的适合做纹理检测,选择一个好的特征描述子就至关重要了。
在过去解决一个人工智能的问题,比如图像分类,往往是通过分治法来解决,图像预处理,特征选择和提取,分类器设计等步骤。分治法这样的目的是将一个复杂问题分为简单可控的小问题,虽然在子问题上能得到最优解,但是不能代表在全局问题上得到最优解。对此,深度学习则为我们提供了另一种范式,即“端到端”学习方式,整个学习流程并不进行人为的子问题划分,而是完全交给深度学习模型直接学习从原始输入到期望输出的映射。相比分治策略,“端到端”的学习方式具有协同增效的优势,有更大可能获得全局最优解。

语义分割(Semantic Segmentation)与实例分割(instance segmentation)的区别

语义分割,对图像中的每一个像素点都划分出对应的类别,实现出像素级别的分类。
实例分割,在像素级别的分类之后,还需要在具体的类别基础上区别开不同的实例。

对于上图而言,语义分割的目的是找出每个像素是否是 “person”
但是,实例分割的目的是找出属于person的像素之后,还要区分出哪些属于不同的person。





一,给定0-1矩阵,求连通域,不能使用Mat类。


二,写一个均值滤波



发布了65 篇原创文章 · 获赞 63 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/qq_17278169/article/details/79299345