共计 3894 个字符,预计需要花费 10 分钟才能阅读完成。
论文提出超参数优化办法 AABO,该办法外围基于贝叶斯优化和 Sub-Sample 办法,可能自适应的搜寻最优的 anchor 设置。从试验后果来看,AABO 可能仅通过 anchor 设置优化,为 SOTA 指标检测办法带来 1.4%~2.4% 的性能晋升
起源:晓飞的算法工程笔记 公众号
论文: AABO: Adaptive Anchor Box Optimization for Object Detection via Bayesian Sub-sampling
- 论文地址:https://arxiv.org/abs/2007.09336
Introduction
目前,支流的指标检测算法应用多种形态的 anchor box 作为初始预测,而后对 anchor box 进行回归调整,anchor box 的配置是检测算法中非常重要的超参数。一般而言,anchor box 的配置都是简略地通过人为指定,比方 Faster R-CNN 经典的的 9 种形态,也能够像 YOLO 一样通过 k -means 对数据集进行剖析,得出特定的配置。
为了人工设置超参数的环节,近年来很多对于超参数优化问题 (HPO, hyper-parameter optimization) 的钻研,最无效的办法为贝叶斯优化 (BO) 和 bandit-based 策略。在剖析了以后办法的优劣后,论文提出一种自适应的 anchor box 优化办法 AABO,该办法基于贝叶斯优化和 Sub-Sample 办法,可能主动且高效地搜寻到最优的 anchor 设置,榨干支流指标检测算法的后劲。
Relative Method
这里先对论文常常提及的 3 种超参数搜寻办法进行简略的介绍,不便上面的了解。
Bayesian optimization
超参数的验证通常须要进行模型训练,会消耗大量的工夫,所以贝叶斯优化的外围是应用代替模型 (prior function) 来代理指标模型,代替模型个别为概率分布模型。在失去代替模型后,应用采集函数 (acquisition function) 从候选集中抉择一组适合的超参数进行测试,采集函数须要可能很好地均衡 exploitation 和 exploration,测试则是应用指标模型进行失常的训练和验证,最初将以后后果退出观测数据中,用于训练代替模型,重复进行上述的操作。
贝叶斯优化的残缺流程如下面所示,在每轮的迭代中基于代替模型和采集函数获取一组超参数,而后应用指标模型进行验证,最初将验证后果退出观测数据集并更新代替模型。
Hyperband
Bandit-based 办法在限定资源的状况以高效的策略寻找最优超参数,资源可为工夫、迭代次数等,而 Hyperband 是经典的 bandit-based 办法。Hyperband 在 Successive Halving 算法的根底上进行了扩大,每次选取一批超参数进行多轮迭代,每轮迭代将资源 $B$ 平均地调配给待验证的超参数组合,每轮完结时保留 $1/\eta$ 超参数组合进行下一轮。
Hyperband 的残缺流程如下面所示,$R$ 为单超参数分组可调配的最大资源,蕴含两个循环,外循环负责管制每次验证的初始可调配的资源数 $r$ 以及验证的分组数 $n$,逐渐减少 $r$ 和缩小 $n$,分组由随机采样所得。内循环则进行 Successive Halving 算法,共进行 $s$ 次迭代,逐渐减少每组的可分配资源,并且每次保留最优的 $1/\eta$ 分组。
BOHB
实际上,下面的两种经典超参数办法都有其各自的优缺点,贝叶斯优化尽管搜寻高效,然而容易陷入部分最优解,而 Hyperband 尽管搜寻比拟全面,但效率不够高。所以,BOHB 联合了贝叶斯优化和 Hyperband 进行超参数优化。
BOHO 的残缺流程如上所示,可简略地认为将 Hyperband 的随机采样替换为贝叶斯优化进行采样,而后将 Hyperband 的超参数组合及其对应的输入退出到观测数据中,用于更新代替模型。须要留神的是,BOHO 的代替模型是一个多维核密度估计 (KDE) 模型,相似于 TPE(Tree Parzen Estimator)。如论文提到的,BOHO 有一个比较严重的问题,对于难学习的样本,个别须要较长的训练周期,而因为 BOHO 应用 HyperBand 进行疾速验证,所以不肯定能残缺地测出超参数的实在准确率,导致最终的后果有偏差。
Preliminary Analysis
Default Anchors Are Not Optimal
随机采样 100 组不同的 anchor 设置,每组蕴含 3 种尺寸和 3 种长宽比,而后与 Faster R-CNN 的默认 anchor 配置进行性能比照。后果如上图所示,红线为默认设置的性能,能够看到,默认设置并不是最优的。
Anchors Influence More Than RPN Structure
应用 BOHB 同时搜寻 RPN head 构造以及 anchor 设置,RPN head 的搜寻空间如上图所示。
后果如上表所示,能够看到 anchor 设置搜寻带来的性能晋升在肯定水平上要高于 RPN head 构造搜寻。
Search Space Optimization for Anchors
论文通过剖析指标 bbox 的散布个性,设计了严密的搜寻空间,次要基于以下两个个性。
Upper and Lower Limits of the Anchors
论文对 COCO 数据集指标的尺寸和长宽比进行统计,并且失去了 ratio 的上界和下界:
统计后果如上图所示,其中蓝点为每个指标,黄线别离为上界和下界,两头的彩色长方形为 BOHB 搜寻试验的搜寻空间。能够看到,有一部分的搜寻空间在上界和下界之外,是有效的搜寻,所以束缚搜寻空间在上界和下界之间是有必要的。另外,图中有 5 个红色的框,是论文为 RPN 的每层设定的对应搜寻空间,上面会提到。
Adaptive Feature-Map-Wised Search Space
论文对 FPN 每层的输入进行了统计,后果如上图所示。能够看到,不同层蕴含不同数量和不同形态的输入,随着层数的减少,anchor 的数量越少,长宽比范畴也越小。
基于下面的剖析,论文设计了自适应 FPN 的搜寻空间,图 4 中的 5 个红框与上下界之间的区域即为 FPN 每层对应的搜寻空间。具体搜寻如上图所示,每层都有独立的搜寻空间,层数越大,anchor 的数量、尺寸范畴和长宽比范畴越小。实际上,与图 4 的黑矩形框搜寻空间比照,这种自适应 FPN 搜寻空间更大,而且每层较小的搜寻空间有助于 HPO 算法的更集中地进行搜寻。
Bayesian Anchor Optimization via Sub-sampling
论文提出的搜寻办法如图 7 所示,蕴含 BO 和子采样办法,别离用于抉择潜在的设置以及为不同的设置调配不同的计算资源。整体思路和 BOHB 相似,将其中的 Hyperband 替换成了 Sub-Sample 办法。
Bayesian Optimization
论文在实现时,BO 模块与与 BOHB 相似,应用 TPE(Tree Parzen Estimator)作为核密度函数进行建模,TPE 蕴含两个概率密度函数:$l(x)=p(y<\alpha | x, D)$ 和 $g(x)=p(y>\alpha | x, D)$,别离示意后果好的概率和后果差的概率,其中 $D=\{(x_0, y_0), \cdots, (x_n, y_n)\}$ 为以后的观测数据,$\alpha=min\{y_0, \cdots, y_n\}$ 为以后观测数据的最优后果,采样时取 $l(x)/g(x)$ 最大的超参数组合。须要留神的是,因为 Hyperband 只保障最终输入的后果的准确性,其它后果因为在中途就进行了,资源有余,输入不肯定精确,间接用这些后果来对 $g(x)$ 进行训练会造成很大的误差,所以须要一个更好的办法来解决这个问题。
Sub-Sample Method
Sub-Sample 也是 bandit-based 办法,在资源无限的状况,尽可能测试出优质的候选超参数组合。定义 $\mathcal{I}=\{1,2,\cdots, K\}$ 为候选超参数组合,Sub-Sample 办法基于观测数据 $Y^{(k)}_1$ 进行抉择, $Y^{(k)}_1,Y^{(k)}_2,\cdots,1\le k\le K$ 为以后观测点绝对于上一个观测点的收益。
Sub-Sample 办法如上所示,首先对所有超参数组合进行最小资源 $b$ 的测试,失去一批观测数据,而后每轮选取已应用资源最多超参数组合作为 leader,若其它组合优于 leader,则赋予其资源 $b$,否则赋予 leader 资源 $b$,判断以后组合 $k^{‘}$ 是否优于 leader 组合 $k$ 有以下两个规定:
第一条规定依据观测次数进行判断,$c_n$ 为非负枯燥阈值,用于管制每个超参数的最小观测次数,个别设为 $\sqrt{\log n}$。第二条规定依据两个组合的近期收益进行判断,收益更高即为优。
Experiment
COCO 数据集上搜寻到的最优 anchor 组合。
在不同的数据集上进行比照。
嵌入 SOTA 办法进行比照。
与其它办法的比照试验。
Conclustion
论文提出超参数优化办法 AABO,该办法外围基于贝叶斯优化和 Sub-Sample 办法,可能自适应的搜寻最优的 anchor 设置。从试验后果来看,AABO 可能仅通过 anchor 设置优化,为 SOTA 指标检测办法带来 1.4%~2.4% 的性能晋升。
参考内容
- BOHB — https://nni.readthedocs.io/zh/latest/Tuner/BohbAdvisor.html
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】