“超级”优化器概念

数据挖掘 机器学习 喀拉斯 张量流 优化
2022-02-20 07:40:33

我想知道为什么没有像 Keras 这样的通用 ML 库中内置一个功能,可以将许多不同的层和节点组合插入多个模型并同时训练它们以针对您的问题挑选出最佳的 NN 架构?

例如,给定训练数据、验证数据和损失函数,它比较一个由两个隐藏密集层组成的模型,每个隐藏层有 256 个神经元,另一个模型由两个隐藏密集层组成,第一个有 256 个,第二个有 64 个。然后它将根据输入损失函数以更高的精度保存模型。

这样的东西已经存在了吗?我知道 SKLearn 的 GridSeachCV 存在类似的情况,但我不确定这是否是 SKLearn 之外的常见做法。我觉得我可能过于简化了一个复杂的问题。

谢谢!

2个回答

你可以看看AutoML的工作,它提供了几种不同的方法来优化参数空间模型,并且远远超出了 Sklearn。他们甚至有一个围绕 Sklearn 的工具!

以下是他们主页的摘要:

在此处输入图像描述

这是一个更长的描述,这里是一个基于 Keras 的完整示例

这些库基本上可以结合最知名的实用优化方法,例如:

还有开源 NAS AutoKeras回答您的问题:在流行的库中没有这样的功能,因为 NAS 仍处于起步阶段。使用元启发式搜索这个空间仍处于研究阶段,请注意 - 这个空间很大。大多数人在硬件方面买不起。我们需要一些时间才能获得合理的 evo NAS 和 evo 网络优化器。它也可能证明它没有多大意义。