01.在神经网络中weight decay起到的做用是什么?momentum?normalization?
①weight decay(权值衰减)的使用既不是为了提高你所说的收敛精确度也不是为了提高收敛速度,其最终目的是防止过拟合。
在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weight decay的作用是调节模型复杂度对损失函数的影响,若weight decay很大,则复杂的模型损失函数的值也就大。
② momentum是梯度下降法中一种常用的加速技术。
一般的SGD:
带momentum:v = β * v - α * dx, x← x + v
通俗的理解上面式子就是,如果上一次的momentum(即
)与这一次的负梯度方向是相同的,那这次下降的幅度就会加大,所以这样做能够达到加速收敛的过程。
③ batch normalization的好处:1. 提高梯度流动 2.提升学习速率 3.减少模型对初始化的依赖
![v](https://i-blog.csdnimg.cn/blog_migrate/2bd40b4a76c2cad53a0283bfbae48e61.png)
③ batch normalization的好处:1. 提高梯度流动 2.提升学习速率 3.减少模型对初始化的依赖
参考:https://www.zhihu.com/question/24529483
02. NMS非极大抑制如何操作?
① 对所有窗口的score进行rank,取置信度最大的那个窗口
② 遍历其余所有窗口,如果IoU大于设定的threshold,则去除那个框,其余的保留
③ 重新选择score最大的那个窗口(这个时候已经是次大的那个),再重复第2步
参考:http://blog.csdn.net/shuzfan/article/details/52711706
03. Sliding window 如何操作?Selective Search?
http://www.pyimagesearch.com/2015/03/23/sliding-windows-for-object-detection-with-python-and-opencv/
http://www.learnopencv.com/selective-search-for-object-detection-cpp-python/