文章目录
前述
还记得当年那个手动调参的自己吗?犹记得当年的自己,为了找到最优参数,不断的人肉修改超参,一次又一次的启动程序,比较每一个参数,最后选择一个局部最优的参数组合。
那时候的自己就在想,重复这些没有无聊的事情到底有没有必要。提前配置好参数范围,自动取参,自动训练也不是很难吧?但是,自己懒,怪不了别人。
另一方面,机器学习的热度也导致编写运行一个模型,门槛变得越来越低。对于客户来说,也不想关心那么多,最好有一个平台,数据丢进去,就能出来一个结果。
这样的时代虽然早几年都来了,但是如今也越来越完善。
传统训练模型的工作流
传统方式下,模型是如何从思想到现实的呢?
- 分析抽象问题
- 选择合适的算法(cnn?rnn?强化学习?)
- 选择框架(MXnet?tensorflow? pytorch?DL4J?)
- 特征工程
- 数据预处理 (缺失值、异常值)
- 特征提取、融合
- PCA
- 选择模型
- 机器学习
- 机器学习目前有很多集成好的工具库,可以直接调用。例如决策树里非常有名的lightgbm
- 深度学习
- 编写网络结构
- 机器学习
- 超参调整
- 诸多参数影响模型的效果,例如:batch_size, learning_rate
- 参数的不同组合,可能效果也不一样
- 加载模型预测
- 直接加载
- 可以选择直接加载,但往往参数量比较大,内含很多不需要的信息,导致模型文件也大
- 模型压缩
- 不影响模型效果的情况下,尽量压缩模型文件
- 直接加载
AutoML简介
AutoML的目标在于打造一个端到端的系统,一端输入你的数据,其他的你什么都不要管,中间涉及的特征工程、模型选择、网络构建、超参调优,都由AutoML在后台完成,随后输出结果。
是不是很酷? 是不是很心动?