图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)

图森 

  • 自我介绍

  • 介绍实习项目

  • 是简单的L1loss吗

  • Homography矩阵有几个自由度,为什么

图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)_第1张图片

单应矩阵表达的是射影变换 其描述的是二维图像点之间的关系 二维图像用齐次坐标来表达 单应矩阵有九个变量 考虑到齐次坐标 所以这九个变量存在一个尺度问题 所以是八个自由度 说白一点 你把这个矩阵乘以一个scale 表达的是一个单应 因为本身其次坐标乘以任意scale. 是表达一个点

作者:Jones
链接:https://www.zhihu.com/question/273701816/answer/489718212
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 

  • 训练中要对Homography矩阵数值进行缩放,如何缩放

  • 图像级目标用L1-loss的前提是什么

“亮度恒定”: 图像中目标的像素强度在连续帧之间不会发生变化。

  • 能有其他loss直接或间接的监督吗
  • 车道线检测有什么方法能利用上车道线数据本身的特殊性(长条形)

SCNN 

CRF后处理?;DFN中的Smooth Network 

图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)_第2张图片

图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)_第3张图片

 

  • 如何过滤误检

  • 如何保证过滤有效

  • 有没有在训练中考虑到类内一致性,或者怎么克服intra-class inconsistency:类内不一致

  • 模型如何优化加速的

  • DW卷积在哪种情况下比较慢

1、cudnn支持之前(cudnn 7 才开始支持 depthwise convolution),大部分gpu下的实现都是for循环遍历所有group,所以group很多时极慢 ,例如caffe

2、

 

文章的Motivation 就是为了解决depthwise 比较慢的问题,原因在文中进行了分析。首先,depthwise 的卷积核复用率比普通卷积要小很多,内存中的置换率比普通卷积要高;同时,depthwise 是per channel 的,每个卷积的操作矩阵都很小,这么小的矩阵不容易得到充分并行,这两点是根本原因。


作者:刀刀宁
链接:https://www.zhihu.com/question/265434464/answer/422172195
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 为什么要拟合直线

  • 弯道如何处理

  • ransac原理

  • BN训练测试区别

商汤

 

  • 自我介绍 
  • 介绍生成模型判别模型,区别

生成模型和判别模型 - yyHaker的文章 - 知乎   

  • batchsize大小对网络训练的影响,如何选择batchsize,大了有什么好处缺点,小了有什么好处坏处

3.1 大的batchsize减少训练时间,提高稳定性

这是肯定的,同样的epoch数目,大的batchsize需要的batch数目减少了,所以可以减少训练时间,目前已经有多篇公开论文在1小时内训练完ImageNet数据集。另一方面,大的batch size梯度的计算更加稳定,因为模型训练曲线会更加平滑。在微调的时候,大的batch size可能会取得更好的结果。

3.2 大的batchsize导致模型泛化能力下降

在一定范围内,增加batchsize有助于收敛的稳定性,但是随着batchsize的增加,模型的性能会下降,如下图,来自于文[5]。

图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)_第4张图片

这是研究者们普遍观测到的规律,虽然可以通过一些技术缓解。这个导致性能下降的batch size在上图就是8000左右。

那么这是为什么呢?

研究[6]表明大的batchsize收敛到sharp minimum,而小的batchsize收敛到flat minimum,后者具有更好的泛化能力。两者的区别就在于变化的趋势,一个快一个慢,如下图,造成这个现象的主要原因是小的batchsize带来的噪声有助于逃离sharp minimum。

图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)_第5张图片

Hoffer[7]等人的研究表明,大的batchsize性能下降是因为训练时间不够长,本质上并不是batchsize的问题,在同样的epochs下的参数更新变少了,因此需要更长的迭代次数。

3.3 小结

batchsize在变得很大(超过一个临界点)时,会降低模型的泛化能力。在此临界点之下,模型的性能变换随batch size通常没有学习率敏感。

来自知乎https://zhuanlan.zhihu.com/p/64864995

 

 

  • batchsize大了还是小了更容易过拟合,为什么

研究[6]表明大的batchsize收敛到sharp minimum,而小的batchsize收敛到flat minimum,后者具有更好的泛化能力。两者的区别就在于变化的趋势,一个快一个慢,如下图,造成这个现象的主要原因是小的batchsize带来的噪声有助于逃离sharp minimum。

图森未来感知算法研究院一面凉经(2019/8/9)以及商汤计算机视觉算法一面凉经(2019/7/30)_第6张图片

Hoffer[7]等人的研究表明,大的batchsize性能下降是因为训练时间不够长,本质上并不是batchsize的问题,在同样的epochs下的参数更新变少了,因此需要更长的迭代次数。

  • batchsize和学习率关系

通常当我们增加batchsize为原来的N倍时,要保证经过同样的样本后更新的权重相等,按照线性缩放规则,学习率应该增加为原来的N倍[5]。但是如果要保证权重的方差不变,则学习率应该增加为原来的sqrt(N)倍[7],目前这两种策略都被研究过,使用前者的明显居多。

从两种常见的调整策略来看,学习率和batchsize都是同时增加的。学习率是一个非常敏感的因子,不可能太大,否则模型会不收敛。同样batchsize也会影响模型性能,那实际使用中都如何调整这两个参数呢?

研究[8]表明,衰减学习率可以通过增加batchsize来实现类似的效果,这实际上从SGD的权重更新式子就可以看出来两者确实是等价的,文中通过充分的实验验证了这一点。

研究[9]表明,对于一个固定的学习率,存在一个最优的batchsize能够最大化测试精度,这个batchsize和学习率以及训练集的大小正相关。

对此实际上是有两个建议:

  • 如果增加了学习率,那么batch size最好也跟着增加,这样收敛更稳定。
  • 尽量使用大的学习率,因为很多研究都表明更大的学习率有利于提高泛化能力。如果真的要衰减,可以尝试其他办法,比如增加batch size,学习率对模型的收敛影响真的很大,慎重调整。

阿里

  • cnn为什么有效
  • cnn为什么对图像语音有效
  • 视频个性化推荐cv的用处

字节(室友面的)

  • BP原理
  • 为什么梯度就是下降最快的方向
  • softmax前向反向实现

你可能感兴趣的:(面经)