Page 107 - 《软件学报》2024年第4期
P. 107

李晴  等:  神经网络结构搜索在脑数据分析领域的研究进展                                                    1685


         个受限玻尔兹曼机(restricted  Boltzmann machine, RBM)堆叠而成.  通过显性神经单元和隐性神经单元的交
         替迭代和逐层训练,  DBN 具有在尽可能保留原始特征的同时降低特征维度的特点,  注重特征学习,  因此非
         常适合对单维度脑功能或结构数据进行特征提取与建模                      [18] .  Transformer 完全依赖于自注意力机制,  采用编
         码器-解码器结构:  编码器由自注意力层和前馈网络基于不同的权重参数构成,  解码器由自注意力层、编码
         器-解码器注意力层和前馈网络构成.  由于 Transformer 引入了自注意力机制,  能够从全局角度计算体素活
         动信息的时序依赖关系以及体素与体素间的空间关系,  因此可对大脑的动态活动进行预测或识别                                    [19] .
         2    神经网络结构搜索概述

             近年来,  为了搜索深度神经网络的最优结构,  提升算法性能,  NAS 算法被广泛应用于神经网络结构的自
         动构建中,  并在机器学习的众多应用领域取得了令人瞩目的成果.
         2.1   NAS的基本研究框架

             如图 2 所示,  经典的 NAS 框架首先定义搜索空间(search space),  通过搜索策略(search strategy)在搜索空间
         中进行采样,  进行性能评估(performance estimation),  并将评估结果反馈给搜索策略.  通过反复上述过程,  最
         终得到针对特定场景或特定任务下的表现最佳的神经网络结构                       [7,8] .




                                          图 2    NAS 的基本框架定义

             具体来说,  在定义好搜索空间后,  首先初始化深度神经网络的结构概率分布和性能状态.  在此基础上,
         根据结构概率分布在搜索空间中进行采样.  基于当前训练数据,  对采样的算法结构模型进行训练,  得到当
         前网络权重,  并进行记录.  根据预定义的性能评估策略,  计算网络结构性能.  若该网络结构性能优于当前最
         优状态,  则根据记录更新网络结构权重,  从而获得当前最佳模型.  整个过程首先在训练集上更新权重,  并在
         验证集上搜索性能最佳的算法结构.  重复上述操作,  直到获得适应于该场景下的最优结构.  其中,  性能评估策
         略可根据研究目的和场景进行设计,  或与搜索策略高度相关,  形成整体的搜索方法.
         2.2   NAS搜索空间介绍

             搜索空间定义了 NAS 在进行搜索时可能会考虑或搜索的神经网络结构,  是全部未知或已知结构的空间子
         集,  决定了搜索结构的范围、搜索速度、搜索周期及最终搜索效果.  因此,  一般需要根据训练数据的规模大小、
         研究目的等多种因素综合进行考虑.  搜索空间一般可分为宏观搜索空间(macro)和微观搜索空间(micro)两类.
             •   宏观搜索空间
             宏观搜索空间是将神经网络结构作为一个整体进行定义的空间,  主要包含链式结构及其衍生结构(如图 3
         所示).  其主要目的是对整体网络的深度或宽度两个超参数进行搜索,  即对深度神经网络的层数、每一层的节
         点数量及各层是否连接进行搜索和优化.  链式空间结构是最为经典的宏观搜索空间,  将不同层的操作简化为
         有序连接,  可对神经网络的卷积层、池化层、全连接层、循环层的操作数据量进行搜索.  由于宏观搜索空间
         较大,  因此在进行网络结构搜索时,  可根据先验知识排除掉明显不符合预期的搜索结果,  或采用轻量级搜索
         策略来配合平衡计算资源、搜索时间和搜索结果.
             •   微观搜索空间
             微观搜索空间是将构成整体神经网络的内部结构作为图进行定义的空间(如图 4 所示),  通过重复堆叠多
         个块(block)或细胞(cell)获得最终的网络结构.  通常来说,  微观结构内嵌于一个预定义的宏观结构中,  搜索策
         略只对微观搜索空间内部的拓扑结构进行搜索.  首先,  将搜索空间定义为一个有向无环图;  然后,  对空间内
         的内部连接节点操作进行搜索,  包括操作块(如 conv3×3, pooling 等)或激活函数(如 skip, tanh 等).  每个搜索空
   102   103   104   105   106   107   108   109   110   111   112