一、前言

威胁检测是网络安全领域一个重要方向。如今在网络安全公司中已经开展了很多利用机器学习、深度学习方法进行威胁检测的研究。不少安全研究人员利用专家知识结合机器学习将网络中的威胁通过模型算法检测出来。但是这个过程不仅仅需要巨大的算力,而且需要引入过多的人力才能够找到适合场景的模型算法,后期甚至花大量时间进行参数优化。花费大量精力来进行模型和算法的选择以及训练对于需求不断增长的业务场景来说往往是不够的,因此一种自动化进行机器学习的研究方向应运而生。

自动机器学习(AutoML)是最近几年兴起的一个将机器学习应用过程自动化的研究方向,并在产业界得到了越来越多的应用。目前AutoML的研究主要包括两个方向,一个是基于传统机器学习技术自动化建立一个端到端的模型方法,另一个是基于神经网络模型探索神经网络架构搜索算法(NAS)。基于传统机器学习技术进行自动化建模的AutoML方法主要是基于传统的机器学习模型算法,利用数据进行自动化特征工程,自动化建模,最后通过自动化调参搭建出一个完整的pipeline。而NAS神经网络架构搜索算法是AutoML的另一种研究方式,区别于传统的机器学习模型,NAS神经网络模型可以通过不同的神经网络结构进行定义(例如CNN、RNN等),因此在不同的业务场景中所使用的最佳神经网络架构可能是不一样的,因此在NAS神经网络架构搜索算法中可以通过先构建出单元网络结构,然后堆叠单元网络链式的形成整个网络,或者是采用分级层次的结构通过堆叠若干低级结构单元进而生成高级结构单元。AutoML的研究过程可以总结为下图所示。

图1 - AutoML流程

二、AutoML核心过程

采用传统机器学习模型进行AutoML构建的过程中,首先利用准备的数据作为输入,分别通过特征工程、模型构建以及参数优化三个阶段的处理之后,最终得到用于测试效果的算法模型,这个过程如下图所示。

图2 – 传统机器学习流程

在整个过程中三个重要的阶段可以被看作是传统机器学习模型算法自动化的核心过程。首先自动化特征工程主要是自动化特征选取以及自动化特征生成,在自动化特征选取阶段会对众多特征进行最佳特征组合选择,而自动化特征生成阶段会利用已知的特征进行自动化特征的交叉组合构成新的特征应用在后续的模型构建阶段;而模型构建阶段会选择合适的模型进行建模,这个过程和参数优化阶段相辅相成,利用合适的模型以及最优化的超参数进行自动化的模型选择以及参数调整。

图3 – 模型自动化

NAS作为AutoML方向的研究热点,主要是希望设计出最好的神经网络结构,希望通过自动化的方式找到最适合的神经网络架构。实现NAS的过程主要包括通过搜索空间确定网络结构,这个过程中结合搜索策略进行结构的优化。这个优化的过程和传统机器学习自动化过程中的参数优化是类似的,统称为优化算法。完成搜索空间和搜索策略之后,最后对模型算法进行评估。

搜索空间主要包括四种方式,主要如下:

  • entire-structure搜索空间方式:entire-structure是利用预先设计的search space进行网络结构选择,然后设计出一个网络结构,不同的神经网络层之间可以直接或者跳跃连接。该方法局限性比较高,需要人工设定好网络结构以及神经元数量

  • cell-based structure搜索空间方式:cell-based structure通过搜索得到一个最优的cell,然后堆叠这个cell得到最佳的网络结果。这种方式解决了entire-structure搜索空间方式在迁移性和扩展性方面不够好的问题。

  • Hierarchical结构搜索空间方式:分层的Hierarchical结构是利用低层次的cell来构成高层次的cell,只需要预先设定好低层次的cell结构即可,有效的解决了网络结构单一的问题。

  • Morphism搜索空间方式:Morphism搜索空间方式主要是基于已知的模型进行扩展,可以将模型在深度或者宽度上进行扩充变成更宽或者更深的网络结构。

图4 – 搜索空间分类

搜索策略的主要方法包括基于梯度的优化方法,基于强化学习的方法,随机搜索方法以及遗传进化算法等。基于梯度下降的优化算法主要是希望减少搜索过程的时间,无论是超参数的搜索还是网络结构的搜索都需要占用大量的计算和时间开销,因此基于梯度下降算法进行搜索可以更快的找到合适的结构和参数。相似的随机搜索方式是采用随机的选择网络结合和超参数进行优化,迭代实现网络结构和参数的最佳搜索,这种搜索优化策略进一步降低了时间开销。常见的网格搜索方式是一种比较鲁棒但是时间开销很大的方式,在优化网络结构和参数的过程中很难做到在网格上进行全量搜索,因此不是一种理想的实践方式。

图5 – 搜索策略分类

基于强化学习的搜索策略是一种将控制器和奖励网络应用在网络结构搜索的方式。控制器的动作是选择神经网络结构,对应的奖励网络会基于神经网络结构对数据进行效果评估,通过在奖励网络中迭代学习得到最佳的神经网络结构。

图6 – 强化学习过程

目前网络安全威胁检测领域已经部署了一些基于机器学习以及深度学习的模型算法,网络威胁检测面临数据量大、场景变化多、攻击者手法复杂的特点,因此每次安全研究专家针对单一数据集、单一攻击场景进行建模并训练检测模型,会占用一定人力和时间成本;如果针对每个不同的攻击场景都建立一套独立的模型方案,在升级算法和运营期间都会很耗时,难以支撑实时响应的需求。因此基于AutoML建立一套应用于网络威胁检测的模型算法,在面对不同的场景变化时,可以做到自动化适配不同的算法和网络结构,通过空间搜索结合模型自动化达到快速搭建检测模型并实时响应不同的攻击场景需求,能够助力网安产品提升专业竞争力。

三、总结与展望

近些年AutoML已经开始逐渐应用到计算机视觉、广告、网络安全等领域中,在后续的研究方向上除了关于NAS等热点问题的研究之外,AutoML的灵活性、鲁棒性以及可解释性都是需要进一步探索,当前无论是基于传统机器学习算法的AutoML还是通过NAS探索出的深度神经网络都还缺乏灵活性,搜索空间有时需要人为设定,需要参考现成的神经网络结构进行学习,距离完全的自动化还有一定距离,此外由于自动化特征工程以及自动化神经网络结构的解释性比较差,现在通过AutoML学习出来的算法模型依然是一个黑盒模型,很难解释其特征工程进行特征选择和特征生成的逻辑以及神经网络结构搭建的逻辑。AutoML在未来应用在产品的过程中,还需要对灵活性以及可解释性进行进一步的研究探讨。

声明:本文来自绿盟科技研究通讯,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。