智能计算平台应用开发(高级)-智能计算机应用平台开发人工智能算法优化-智能计算机网络优化_第1页
智能计算平台应用开发(高级)-智能计算机应用平台开发人工智能算法优化-智能计算机网络优化_第2页
智能计算平台应用开发(高级)-智能计算机应用平台开发人工智能算法优化-智能计算机网络优化_第3页
智能计算平台应用开发(高级)-智能计算机应用平台开发人工智能算法优化-智能计算机网络优化_第4页
智能计算平台应用开发(高级)-智能计算机应用平台开发人工智能算法优化-智能计算机网络优化_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章人工智能算法优化网络优化性能优化网络优化人工智能算法通常包含多个需要预先选择或者设置的超参数,设置得当的超参数能够有效提升构建的模型的性能和实际应用的效果。手动设置和调整超参数是一项极为艰难的任务,需要具有丰富的经验并进行大量的反复尝试。超参数优化超参数的优化可以定义为:对于模型需要设置的n个超参数,找到最优的超参数设置,使得基于此超参数设置训练得到的模型具有最优的性能评价指标。优化超参数的难点每个类型的超参数都有很多选择,且数据规模较大,构建的模型结构复杂,使得计算成本很高。通过算法实现高效和自动化的超参数优化已经成为一个重要的研究方向。超参数优化常见的超参数优化方法网格搜索随机搜索贝叶斯优化遗传算法……超参数优化——网格搜索网格搜索是一种最基本的超参数优化算法,其实质上是在一定的空间范围内按照拟定的坐标系将待搜索参数划分成长短相同的网格,坐标系中每一个点代表一组参数组合,将这个给定区间内的每个点依次带入模型中,验证每个点对应的模型的性能,能够使得模型的性能最佳的点被认为是最优参数。超参数优化——网格搜索网格搜索的优点在所划分网格内,大部分的点所对应的分类准确率都非常低,只有在一个较小的区间中所对应的参数的准确率较高。由于网格搜索的算法需要遍历所有网格对应的点,所以这必然会产生大量不必要的无效计算,从而导致浪费大量的计算时间。当设定区间足够大,且步长足够小时,网格搜索法可以找出全局最优解。网格搜索的缺点超参数优化——随机搜索随机搜索与网格搜索不同之处在于,随机搜索没有将坐标系中每一个点都带入模型进行验证,而是给每个超参数定义一个边缘分布,从指定的分布中随机选取固定数量的超参数进行组合。由于实际中超参数的最优值往往仅存在于一个完整分布中的一小块部分,使用网络搜索并不能保证能直接搜索到合适的超参数,而随机搜索则大大提高了找到合适参数的可能性。超参数优化——随机搜索网格搜索的优点不能利用先验知识选择超参数组合,否则容易陷入局部最优,使得随机搜索的结果无法保证能够取得全局最优。随机搜索中的每个超参数是独立的,收敛速度更快,能够更快地减少验证集的误差。网格搜索的缺点超参数优化——贝叶斯优化贝叶斯优化是一种近似逼近的方法,属于基于序列模型优化(SMBO)的算法。SMBO算法使用先前观察到的函数确定函数的下一个采样点。贝叶斯优化假设函数符合高斯过程,在函数方程未知的情况下根据已有的采样点来预估函数最大值。高斯过程可简要表示为在某个连续空间上的观测域的统计模型,每个点的输入空间都是高斯分布的随机变量,只需要确定期望和协方差函数,即可得到一个高斯过程。超参数优化——贝叶斯优化贝叶斯优化通过无限维的高斯过程来描述最优超参数搜索问题。在这个高斯过程中可以得到每一组输入超参数的均值和方差。均值代表这组超参数最终的期望效果,均值越大表示模型最终指标的值越大。方差表示这组超参数效果的不确定性,方差越大表示这组超参数越不确定是否能够取得最大值。超参数优化——贝叶斯优化定义一个Acquisitionfunction用于平衡均值和方差的比例,目前主流的方法为EI方法。EI方法描述的是下一个待搜索的点能比当前最好的值拥有更好的期望,如式(1)所示。式(1)在式(1)中,

表示当前最优的一组超参数,

为当前超参数对应的指标的值,由于EI方法是一个高斯过程,所以后验概率为高斯形式,实现过程较为简单。超参数优化——贝叶斯优化贝叶斯优化算法的过程(1)对于给定的观测值,使用高斯过程更新函数的后验期望值。(2)找到能够最大化EI的一组超参数。(3)计算该组超参数对应的函数的值。(4)上述过程重复指定的迭代次数,或者直到收敛为止。超参数优化——遗传算法遗传算法源于达尔文的进化论、孟德尔的群体遗传学说和魏茨曼的物种选择学说,模拟生物在自然环境中优胜劣汰、适者生存的遗传和进化过程而形成,是一种具有自适应能力的、全局性的概率搜索算法。超参数优化——遗传算法上述的这个过程使种群像自然进化一样,后代种群比前代更加适应于环境,末代种群中的最优个体经过解码可以作为问题近似最优解。遗传算法首先进行编码将表现型映射到基因型,从而将解空间映射到编码空间,每个编码对应问题的一个解,称为染色体或个体。初始种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解。在每一代根据问题域中个体的适应度大小选择个体,并借助自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。(3)双亲选择超参数优化——遗传算法根据染色体的适应度计算出每个染色体被选为亲代染色体的概率,如式(2)所示。

表示染色体

被选为亲代染色体的概率。根据每个染色体对应的概率,随机从种群

中选择2个染色体作为亲代染色体,分别表示为

。式(2)超参数优化——遗传算法将亲代染色体

进行基因交叉重组,更新各自的基因编码如式(3)所示。

分别是染色体

基因重组前后的编码,

分别是染色体

基因重组前后的编码,

为随机重组因子,且

。(4)基因重组式(3)自动机器学习机器学习的应用需要大量的人工干预,主要表现在特征提取、模型选择和参数调节等步骤,这些需要人工干预的步骤对操作人员有一定的要求。为了能够降低机器学习的使用门槛,使得在机器学习领域没有什么经验的人也能够使用,自动机器学习诞生在这样的需求之中。自动机器学习——自动机器学习是什么自动机器学习(AutomaticMachineLearning,AML)是对机器学习模型从构建到应用的全过程自动化,最终构建出端对端的模型。自动机器学习试图实现整个机器学习过程的自动化,能够将与特征、模型、优化、评价有关的重要步骤自动化地进行,尽可能的减少机器学习过程中的人工干预。自动机器学习——自动机器学习是什么机器学习的角度自动化角度实现自动机器学习能够通过自动执行的重复性任务来提高工作效率,有助于数据科学家将注意力集中在问题上而不是模型中。自动化机器学习管道还有助于避免可能因人工误操作而引入的错误,从而提升整个系统的健壮性。自动机器学习可以看作是一个在给定数据和任务上学习和泛化能力非常强大的系统,并且非常容易使用。自动机器学习可以看作是设计一系列高级的控制系统去操作机器学习模型,使得模型可以自动化地学习到合适的参数和配置而无需人工干预。自动机器学习——自动学习框架目前已经有很多框架实现了自动化部分或整个机器学习的管道。TPOTauto-sklearnAutoKeras自动机器学习——自动学习框架TPOTTPOT(Tree-basedPipelineOptimizationTool)是宾夕法尼亚大学遗传算法实验室开发的一个自动机器学习框架。TPOT能够智能地探索自动机器学习中的繁琐的部分,从诸多种可能的组合中找到最适合当前数据情况的算法及其参数。自动机器学习——自动学习框架TPOT框架的运作流程图自动机器学习——自动学习框架TPOT能够自动执行特征选择、特征构造等方法构建新特征,并通过特征预处理将数据变换至更适合建模要求。并且能够选择合适的算法与模型,进行模型参数的调节与优化。实际的模型训练过程中TPOT框架主要包括了特征预处理、特征降维、特征选择、模型选择4部分所使用的大部分算法都基于scikit-learn机器学习框架。自动机器学习——自动学习框架特征预处理主要用于变换数据,包括了数据标准化(StandardScaler),数据缩放(RobustScaler),多项式特征构造(PolynomialFeatures)。特征降维使用基于随机SVD的一种主成分分析变种RandomizedPCA。自动机器学习——自动学习框架特征选择(包含4种方法)采用递归特征消除策略的RFE;选择最佳前n个特征的SelectKBset方法;选择最优前n%特征的SelectPercentile;移除不符合最小方差阈值特征的SelectPercentile。自动机器学习——自动学习框架模型选择(包含的模型分为分类与回归两类)DecisionTreeClassfier(决策树分类器)DecisionTreeRegressor(决策树回归器)RandomForestClassifier(随机森林分类器)RandomForestRegressor(随机森林回归器)LogisticRegression(逻辑回归)LinearRegression(线性回归)KNeighborsClassifier(K-近邻分类器)GaussianNB(高斯朴素贝叶斯)……自动机器学习——自动学习框架针对模型选择和参数调优的问题,TPOT使用了遗传编程。遗传编程遗传编程是在遗传算法的基础之上发展出来的一种利用自然进化的原理进行程序进化的编程方法,与遗传算法的最大区别在于其个体是可以执行的程序而非字符串。自动机器学习——自动学习框架遗传编程先随机生成一个初始种群,构成最优化问题搜索空间,该种群每个个体均为树状结构,且适用于给定问题环境。计算每个个体的适应度,通过遗传算子处理适应度较高的个体,通过复制、突变、交叉等遗传操作对种群不断进行迭代和优化,产生下一代群体。经过不停迭代,直至下一代满足目标函数且稳定后为止。自动机器学习——自动学习框架auto-sklearnauto-sklearn是FrankHutter团队开发的工具包,先通过元学习对机器学习模型及其超参数配置进行筛选,选出一批性能表现可能优秀的候补之后,使用贝叶斯优化对这批模型进行超参数优化,最后得到一个最推荐使用的模型和超参数配置。自动机器学习——自动学习框架auto-sklearn的整体流程图自动机器学习——自动学习框架元学习auto-sklearn使用的元学习又被称为学会学习(LearningtoLearn),在机器学习领域中指让计算机具备选择机器学习方法的能力,是一种通过大数据指导样本数据的学习方法。auto-sklearn中采用元学习方法作为贝叶斯优化的补充,能够缩小算法选择和超参数优化的搜索范围,显著地提高效率。自动机器学习——自动学习框架元学习在初始阶段,评估每个候选算法在各个数据集上的性能,并提取这些数据的元特征,构成元数据。采用适当的元算法对元数据进行元学习,获得数据集特征与算法性能间的映射关系,形成元知识库。算法的选择需要依靠元知识的指导,当新的数据集加入时,可先对该数据集进行特征提取,然后根据与元知识库的特征匹配程度,选择最优的算法。自动机器学习——自动学习框架AutoKerasAutoKeras是一个用于自动化机器学习的开源软件库,提供自动搜索深度学习模型的架构和超参数的功能。AutoKeras基于深度学习数据库Keras构建,具有高效、安装简单、参数可调、案例丰富、易于修改等特点。AutoKeras不仅能帮助开发人员快速准确地创建模型,也利于研究员更深刻的理解架构搜索的方法。自动机器学习——自动学习框架AutoKeras的运作流程图自动机器学习——自动学习框架初始化模型初始化模型时会将网络模块放入生成器作为种子。网络模块包括MlpModule和CnnModule两种。CnnModule包括CnnGenerator、ResNetGenerator和DenseNetGenerator,它们用于在初始时生成3个对应的model,分别为CNN、ResNet和DenseNet。自动机器学习——自动学习框架训练过程程序会将所有的模型放进训练队列中,然后开始弹出模型并且训练,得到模型在相应数据集中的评分。这个训练过程只为了评估,因此不需要充分训练以节省资源。自动机器学习——自动学习框架搜索过程在搜索的过程中,将模型和训练后得到的对应评估进行排序并放入搜索队列,在允许的时间范围内,使用退火算法判定队列中的模型是否需要进行变形。假如产生了变形且变形结果并不在已有的模型中,使用高斯过程回归估计变形后的模型对应的acq分数(Acquisitionfunction的得分),最后acq分数最高的网络将被加入模型列表中和训练队列中。自动机器学习——自动学习框架在AutoKeras运作流程中,训练和搜索是同时进行的。在训练的同时进行网络结构的搜索。最终程序训练acq分数最高的模型得到对应的评分,然后输出结果。变形是随机的,选择哪种变形方式或者选取加宽哪一层都是随机的。在AutoKeras中提供了网络的3种变形方式深度宽度层之间的连接自动机器学习——ModelArts自动学习ModelArts自动学习是帮助人们实现AI应用的低门槛、高灵活、零代码的定制化模型开发工具,能够根据标注数据自动设计模型、自动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论