自动机器学习(AutoML)

news2024/11/27 16:49:40

utoML是PAI的提供的自动寻找超参组合的机器学习增强型服务。您在训练模型时,如果超参组合复杂度过高,需大量训练资源和手工调试工作,可以使用AutoML来节省模型调参时间,提升模型调优效率和模型质量。

基础概念

  • 超参数:是训练机器学习模型时用到的外部配置参数,在模型训练开始前设置。超参数不同于模型内部参数,模型内部参数在学习过程中被不断地更新和优化,超参数在学习过程开始前就设置,在模型训练过程中保持不变。

  • 超参调优:Hyper Parameter Optimization简称HPO,是指手动或者自动进行超参数调优,而本文中特指是AutoML提供的对模型参数、训练参数等进行自动搜索调优的服务。它能帮您获取较优参数,提升模型效果,节省算法工程师调参的时间,让算法开发人员聚焦在建模和业务上。

  • 搜索空间:定义了超参组合的范围,AutoML会在此范围内,搜索最佳的超参组合。

  • 实验:在PAI的AutoML服务里,一个实验的目的是在搜索空间里,寻找模型的最佳超参组合。

  • Trial:在PAI的AutoML服务里,每一个trial会用一组特定的超参数值组合生成和评估模型。一个实验通过调度运行多个trial,并比较这些trial的结果,达到找到最佳超参组合的目标。更多说明请参见AutoML工作原理。

  • 任务类型Trial使用哪种资源和环境进行训练,当前可以支持使用DLC的计算资源与MaxCompute计算资源。

背景

在机器学习模型中,超参数(Hyper Parameter,简称超参)是用来控制模型训练的一组参数,是训练机器学习模型时用到的外部配置参数。超参数在模型训练开始之前应设置好。超参数不同于模型内部参数,模型内部参数在学习过程中被不断地更新和优化。而超参数在学习过程开始前设置,在模型训练过程中保持不变。

可以把一个模型的n个超参理解成一个n维向量。在模型训练的实践中,我们需要从这个模型的所有超参向量值域里,找到一个特定的向量值,使得该模型在给定的数据集上获得最佳效果(比如最小化损失函数loss function的结果)。寻找这个最优超参向量值的过程我们称之为超参调优(Hyper Parameter Optimization,简称HPO)。

举个简单的例子,模型有2个超参A和B,A可能的取值有(a,b,c),B可能的取值有(d,e),那么这个超参调优过程就是从A、B值的6种排列组合里,选出一种,使得模型训练有最佳效果。为了选出最优组合,最简单的方式是在同一个训练数据集上,把A,B的6种值的组合分别用于模型训练,然后比较模型在同一组测试数据集上的效果,选出效果最好的模型所用的超参组合。

AutoML HPO介绍

受模型超参数量、每个超参的数据类型和值域范围影响,超参调优问题很容易达到很高的复杂度。比如模型有多个超参,有些超参是整型,有些是浮点型,此时超参调优无法通过手工来完成,通过暴力搜索需要消耗非常大的计算资源,这需要引入自动化的系统来完成这项工作。AutoML服务中的HPO功能,正是帮助用户实现自动超参调优的目标。

AutoML HPO是AutoML提供的对模型参数、训练超参数(opt、lr)等进行自动搜索调优的服务,为您提供了易用、有效、准确的自动超参调优服务:

  • 简化调优工作:通过自动化工具大幅简化算法工程师调参工作,节省算法工程师的调参时间。

  • 训练更优模型:集成了PAI的多种算法,能够有效查找到最优组合以及对应的模型,帮助您训练出精度更高、效率更高的模型。

  • 节省计算资源:超参调优工具会通过持续的评估,决定是否有必要使用下一组超参组合。这个机制下,可能不需要评估所有组合就已经得到了最优解,能帮助您节省计算资源的使用量。

  • 方便应用算力:与DLC、MaxCompute计算资源无缝衔接,方便您灵活配置并使用澎湃算力。

AutoML HPO应用场景

机器学习训练过程中,需要进行模型参数调优的,都可以使用AutoML HPO,来获得更好模型。常见的应用场景有下面几种。

  • 机器学习二分类任务,例如判断用户是否是付费用户。

  • 机器学习回归类任务,例如判断用户7日预计付费金额。

  • 机器学习聚类任务,例如确定某化妆品牌在某城市划分几个买卖点。

  • 推荐场景:排序召回模型调优,提升AUC等指标。

  • 深度学习:提升图像多分类/视频多分类等任务的精度。

AutoML工作原理

AutoML实现自动化调试参数的工作原理,是通过实验、Trial、训练任务进行循环迭代,来找到最优的超参组合。

AutoML的工作机制如下图。

 

您设定好超参数的值域、搜索算法、停止条件配置后,AutoML将其作为一次实验(experiment)传入到后端进行处理。

  1. 一次实验会根据配置的算法来生成超参组合,而每个超参组合会对应一个trial。

    说明

    您可以设置多个trials并发,以提升速度,但是单位时间耗费的资源也会增多。

  2. 每个trial除了对应一组超参组合外,并会对应一个或多个计算任务,这个任务可以是DLC任务,使用通用计算资源和灵骏智算资源;也可以是MaxCompute任务,使用MaxCompute计算资源。两种资源使用分别遵循对应服务逻辑(计费、配置、使用)。

  3. 启动试验后,AutoML会循环查看任务指标。

  4. 当实验触发了停止条件,如最大搜索次数、算法停止条件、所有组合计算完毕等,实验停止。

  5. 返回结果。这个结果可以是超参组合或者每个trial的最佳模型(您需要设置模型存储路径),同时您可以在日志数据看到。

根据上述AutoML工作原理,您启动实验前需要配置几类参数,包括实验基本配置、Trial配置、DLC/MaxCompute任务配置、超参搜索配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2219307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring 获取URL中的参数

PathVariable 获取多个变量参数重命名 获取 URL 中的 Id,可以根据 Id 到数据库中筛选相应的内容 Id 的类型是可以定义的,这里定义为 Integer 类型 并且在 RequestMapping中需要定义路径 {articleId} PathVariable 从路径中获取 变量 获取多个变量 参数…

【软件运行类文档】项目试运行方案,试运行计划书(word原件)

一、 试运行目的 (一) 系统功能、性能与稳定性考核 (二) 系统在各种环境和工况条件下的工作稳定性和可靠性 (三) 检验系统实际应用效果和应用功能的完善 (四) 健全系统运行管理体制&…

jmeter发送post请求

在jmeter中,有两种常用的请求方式,get和post.它们两者的区别在于get请求的参数一般是放在路径中,可以使用用户自定义变量和函数助手等方式进行参数化,而post请求的参数不能随url发送,而是作为请求体提交给服务器。而在…

打开游戏提示丢失(或找不到)XINPUT1_3.DLL的多种解决办法

xinput1_3.dll是一个动态链接库(DLL)文件,它在Windows操作系统中扮演着重要的角色。该文件作为系统库文件,通常存放于C:\Windows\System32目录下(对于32位系统)或C:\Windows\SysWOW64目录下(对于…

PPT自动化:快速更换PPT图片(如何保留原图片样式等参数更换图片)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 PPT更换图片 📒1. 安装 `python-pptx` 模块2. 加载PPT文件3. 查找并替换图片3.1 查找图片形状3.2 获取原图片的样式和位置3.3 替换图片4. 保存修改后的PPT文件5. 设置图片的相关参数5.1 设置透明度5.2 设置边框🚀 保留所有参…

FFmpeg 4.3 音视频-多路H265监控录放C++开发四 :RGB颜色

一 RGB 的意义? 为什么要从RGB 开始讲起呢? 因为最终传输到显卡显示器的颜色都是RGB 即使能处理YUV的API,本质上也是帮你做了从 YUV 到 RGB的转换。 RGB888 表示 R 占8bit,G 占8bit,B 占8bit,也就是每一…

内网微隔离,三步防横移——基于微隔离的横移攻击防护方案

引言 在网络攻防的战场上,横移攻击如同隐匿的刺客,一旦突破边界,便在内网肆意游走,给企业网络安全带来致命损害。当前多数企业数据中心内网如同未设防的城池,面对突破外围边界的“刺客”毫无招架之力。蔷薇灵动基于多…

Thread类的介绍

线程是操作系统中的概念,操作系统中的内核实现了线程这种机制,同时,操作系统也提供了一些关于线程的API让程序员来创建和使用线程。 在JAVA中,Thread类就可以被视为是对操作系统中提供一些关于线程的API的的进一步的封装。 多线…

基于SpringBoot+Vue+uniapp微信小程序的澡堂预订的微信小程序的详细设计和实现

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

Goland 搭建Gin脚手架

一、使用编辑器goland 搭建gin 打开编辑器 新建项目后 点击 create 二、获得Gin框架的代码 命令行安装 go get -u github.com/gin-gonic/gin 如果安装不上,配置一下环境 下载完成 官网git上下载 这样就下载完成了。、 不过这种方法需要设置一下GOPATH 然后再执…

Electron-(三)网页报错处理与请求监听

在前端开发中,Electron 是一个强大的框架,它允许我们使用 Web 技术构建跨平台的桌面应用程序。在开发过程中,及时处理网页报错和监听请求是非常重要的环节。本文将详细介绍 Electron 中网页报错的日志记录、webContents 的监听事件以及如何监…

【uniapp】打包成H5并发布

目录 1、设置配置mainifest.sjon 1.1 页面标题 1.2 路由模式 1.3 运行的基础路径 2、打包 2.1 打包入口 2.2 打包成功 2.3 依据目录找到web目录 3、 将web目录整体拷贝出来 4、上传 4.1 登录uniapp官网注册免费空间 4.2 上传拷贝的目录 4.3 检查上传是否正确 5、…

【软件测试】JUnit

Junit 是一个用于 Java 编程语言的单元测试框架,Selenium是自动化测试框架,专门用于Web测试 本篇博客介绍 Junit5 文章目录 Junit 使用语法注解参数执行顺序断言测试套件 Junit 使用 本篇博客使用 Idea集成开发环境 首先,创建新项目&#…

【Python-AI篇】人工智能python基础-计算机组成原理

1. 计算机组成原理 2. python基础(查漏补缺) 2.1 字符串 2.1.1 字符串查找方法 find(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,不在的话返回-1index(): 检测某个字符串是否包含在这个字…

git命令使用一览【自用】

git常见操作: git initgit remote add master【分支名字】 gitgits.xxxxx【仓库中获取的ssh链接或者http协议的链接】检查远程仓库是否链接成功。 git remote -v出现以下画面就可以git pull,git push了

cefsharp63.0.3(Chromium 63.0.3239.132)支持H264视频播放-PDF预览 老版本回顾系列体验

一、版本 版本:Cef 63/CefSharp63.0.3/Chromium63.0.3239.132/支持H264/支持PDF预览 支持PDF预览和H264推荐版本 63/79/84/88/100/111/125 <

Java EE规范

1、简介 Java EE的全称是Java Platform, Enterprise Edition。早期Java EE也被称为J2EE&#xff0c;即Java 2 Platform Enterprise Edition的缩写。从J2EE1.5以后&#xff0c;就改名成为Java EE。一般来说&#xff0c;企业级应用具备这些特征&#xff1a;1、数据量特别大&…

java 文件File类概述

前言 在Java中&#xff0c;File类是一个与文件和目录&#xff08;文件夹&#xff09;路径名相关的抽象表示形式。它是java.io包中的一个重要类&#xff0c;用于表示和操作文件系统中的文件和目录。 File类的基本概念 表示路径&#xff1a;File类既可以表示文件路径&#xff…

【mod分享】波斯王子遗忘之沙高清重置,纹理,字体,贴图全部重置,特效增强,支持光追

各位好&#xff0c;今天小编给大家带来一款新的高清重置MOD&#xff0c;本次高清重置的游戏叫《波斯王子&#xff1a;遗忘之沙》。 《波斯王子&#xff1a;遗忘之沙》是由育碧&#xff08;Ubisoft&#xff09;开发并发行的一款动作类游戏&#xff0c;于2010年5月18日发行。游戏…

Linux执行source /etc/profile命令报错:权限不够问(已解决)

1.问题 明明以root账号登录Linux系统&#xff0c;在终端执行命令source /etc/profile时 显示权限不够 如下图&#xff1a; 2.问题原因 可能在编辑 /etc/profile 这个文件时不小心把开头的 井号 ‘#’ 给删除了 如图&#xff1a; 这里一定要有# 3.解决办法 进入/etc/pro…