关于深度学习和autokeras的一些基础知识

师兄留了要学习automl的任务,就从autoKeras开始入手,在本篇记录一下一些入门的基础知识,仅供和我一样对ml和dl都毫无基础的小白。

  • autoKeras是automl旗下的一个免费替代产品。Google的AutoML以神经架构搜索(NAS)的算法为驱动。给定你的输入数据集,神经架构搜索算法会自动最优的结构和对应的参数。

  • Auto-Keras也利用了神经架构搜索,但应用的是"网络态射"(保持网络功能而改变网络结构)以及贝叶斯优化。用来引导网络态射实现更有效的神经网络搜索。《Auto-Keras:Efficient Neural Architecture Search with Network Morphism》中可以找到Auto-Keras框架的所有细节。

  • 关于模型参数和模型超参数
    模型参数就是模型内部的配置变量,可以用数据估计它的值。通常使用优化算法估计模型参数,优化算法是对参数的可能值进行的一种有效搜索。例如:人造神经网络中的权重;支持向量机中的支持向量;线性回归或逻辑回归中的系数。
    模型超参数是模型外部的配置,其值不能从数据估计得到。 对于给定的问题,我们无法知道模型超参数的最优值。但我们可以使用经验法则来探寻其最优值,或复制用于其他问题的值,也可以通过反复试验的方法。一些例子:训练神经网络的学习速率。支持向量机的C和sigma超参数。k邻域中的k。

对于深度学习说,超参数主要可为两类:一类是训练参数(如learning rate,batch size,weight decay等);另一类是定义网络结构的参数(比如有几层,每层是啥算子,卷积中的filter size等),它具有维度高,离散且相互依赖等特点。前者的自动调优仍是HO的范畴,而后者的自动调优一般称为网络架构搜索(Neural Architecture Search,NAS)。

  • 关于NAS-神经网络架构搜索
    这篇文章有详细讲解。简单来讲过程就是先定义搜索空间,然后通过搜索策略找出候选网络结构,对它们进行评估,根据反馈进行下一轮的搜索。

  • Google的论文《Efficient Neural Architecture Search via Parameter Sharing》提出了ENAS,其核心思想是让搜索中所有的子模型重用权重。它将NAS的过程看作是在一张大图中找

你可能感兴趣的:(autokeras)