图森
-
自我介绍
-
介绍实习项目
-
是简单的L1loss吗
-
Homography矩阵有几个自由度,为什么
单应矩阵表达的是射影变换 其描述的是二维图像点之间的关系 二维图像用齐次坐标来表达 单应矩阵有九个变量 考虑到齐次坐标 所以这九个变量存在一个尺度问题 所以是八个自由度 说白一点 你把这个矩阵乘以一个scale 表达的是一个单应 因为本身其次坐标乘以任意scale. 是表达一个点
作者:Jones
链接:https://www.zhihu.com/question/273701816/answer/489718212
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
-
训练中要对Homography矩阵数值进行缩放,如何缩放
-
图像级目标用L1-loss的前提是什么
“亮度恒定”: 图像中目标的像素强度在连续帧之间不会发生变化。
- 能有其他loss直接或间接的监督吗
-
车道线检测有什么方法能利用上车道线数据本身的特殊性(长条形)
SCNN
CRF后处理?;DFN中的Smooth Network
-
如何过滤误检
-
如何保证过滤有效
-
有没有在训练中考虑到类内一致性,或者怎么克服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训练测试区别
商汤
- 自我介绍
- 介绍生成模型判别模型,区别
- batchsize大小对网络训练的影响,如何选择batchsize,大了有什么好处缺点,小了有什么好处坏处
3.1 大的batchsize减少训练时间,提高稳定性
这是肯定的,同样的epoch数目,大的batchsize需要的batch数目减少了,所以可以减少训练时间,目前已经有多篇公开论文在1小时内训练完ImageNet数据集。另一方面,大的batch size梯度的计算更加稳定,因为模型训练曲线会更加平滑。在微调的时候,大的batch size可能会取得更好的结果。
3.2 大的batchsize导致模型泛化能力下降
在一定范围内,增加batchsize有助于收敛的稳定性,但是随着batchsize的增加,模型的性能会下降,如下图,来自于文[5]。
这是研究者们普遍观测到的规律,虽然可以通过一些技术缓解。这个导致性能下降的batch size在上图就是8000左右。
那么这是为什么呢?
研究[6]表明大的batchsize收敛到sharp minimum,而小的batchsize收敛到flat minimum,后者具有更好的泛化能力。两者的区别就在于变化的趋势,一个快一个慢,如下图,造成这个现象的主要原因是小的batchsize带来的噪声有助于逃离sharp minimum。
Hoffer[7]等人的研究表明,大的batchsize性能下降是因为训练时间不够长,本质上并不是batchsize的问题,在同样的epochs下的参数更新变少了,因此需要更长的迭代次数。
3.3 小结
batchsize在变得很大(超过一个临界点)时,会降低模型的泛化能力。在此临界点之下,模型的性能变换随batch size通常没有学习率敏感。
- batchsize大了还是小了更容易过拟合,为什么
研究[6]表明大的batchsize收敛到sharp minimum,而小的batchsize收敛到flat minimum,后者具有更好的泛化能力。两者的区别就在于变化的趋势,一个快一个慢,如下图,造成这个现象的主要原因是小的batchsize带来的噪声有助于逃离sharp minimum。
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前向反向实现