谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用

萧箫发自凹非寺量子位报道|公众号QbitAI
好消息 , 谷歌将AutoML算法库开源了!
这个名为“模型搜索”(ModelSearch)的平台 , 不仅可以用多个AutoML算法自动写出你想要的AI模型 , 还能帮你选出写得最好的那个 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
最重要的是 , 各个领域都能用 。
也就是说 , 以往只支持NLP、图像分类等等单一领域模型搜索的AutoML算法 , 现在被整合到了一个平台上 , 可以帮你构建任何AI模型 。
现在 , 无需再重新设计参数、或反复微调 , “AI设计师”就能帮你写出想要的模型 。
“模型搜索”是个什么平台
此前 , AutoML算法已经被应用到了各个领域 , 用来减轻神经网络设计专家的负担 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
这种算法 , 目的是让AI来设计神经网络 , 自动对网络深度、层类型、结构、优化算法等因素进行合理搭配 , 效果通常比人工直接设计更好 。
谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用】然而 , 这种由AI来设计AI模型的方法 , 会面临两个问题 。
其一 , 这些算法通常只能针对某一特定领域 , 无法被应用到其他领域中 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
例如针对NLP的AutoML算法 , 就无法设计出图像分类的AI模型 。
其二 , 计算量很大 。
之前的NAS和PNAS算法 , 往往需要训练数千个模型 , 才能找到效果最好的 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
针对这两个问题 , 谷歌现在推出了“模型搜索”开源平台 , 致力于解决它们 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
这个系统由多个训练器(trainer)、1个搜索算法、1个迁移学习算法和1个包含多种评估模型的数据库构成 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
过程中 , 每个训练器都会独立地构建模型、进行试验 , 但这些训练器能共享数据 , 并采用横向搜索 , 决定下一步尝试什么样的模型 。
“模型搜索”能根据一组预定义模块 , 来构建神经网络模型 , 每个模块包含一个经典微结构 , 包括LSTM、ResNet或是Transformer中的某些层等等 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
这种微结构的模式 , 也减少了搜索规模 , 因为它探索的是这些模型的结构 , 而非更详细的基本部分 。
而为了进一步提高效率和准确性 , 这一算法还能在训练器完成各种实验时 , 进行迁移学习 。 主要通过知识提取和参数分配两种方法 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
通过知识提取 , 新模型可以从高性能模型中借鉴损失函数 , 提高自身准确性;而通过参数分配 , 新模型采用之前训练模型中的部分参数 , 并初始化剩余的参数 , 就能训练得更快 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
在逐渐迭代的过程中 , 最好的模型就被“搜索”出来了 。
谷歌表示 , “模型搜索”是个具有自适应性、贪婪性、而且比强化学习算法收敛速度更快的算法 。
这个算法 , 目前具有如下功能:
可以在数据上运行多个AutoML算法 , 可以自动搜索合适的模型结构、模型融合方法 , 并选择最佳模型 。
可以比较在搜索时发现的不同模型;
可以自行设计特殊的神经网络层并应用 。
目前 , “模型搜索”支持Tensorflow框架 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
也就是说 , 各模块都能实现任何以张量为输入的函数 。
比人类设计得好 , 比PNAS更高效
经过实验 , “模型搜索”平台搞出来的AI模型 , 确实还不错 。
作者们用“模型搜索”平台 , 试着写了个语音AI模型 , 主要功能是关键字检测和语言识别 。
下图中 , 实线是AI写出来的模型迭代精度 , 虚线则是此前人工设计出的SOTA模型 。

谷歌|谷歌开源AI模型“搜索引擎”,NLP、CV都能用
文章图片
显然 , 无论是最小迭代次数、还是最后的迭代精度 , “模型搜索”平台用AI写出的模型 , 都比人工设计的要好得多 。
也就是说 , 设计所用的参数量更少了(相比于人工设计的31.5万 , AI只需要18.4万) , 精度反而还上升了 。