当参数时随机变量时,该参数分布中的参数就是超参数,简单的说就是参数的参数,感觉一般在贝叶斯方法中出现
所谓超参数,就是机器学习模型里面的框架参数,比如聚类方法里面类的个数,或者话题模型里面话题的个数等等,都称为超参数。它们跟训练过程中学习的参数(权重)是不一样的,通常是手工设定,不断试错调整,或者对一系列穷举出来的参数组合一通枚举(叫做网格搜索)。深度学习和神经网络模型,有很多这样的参数需要学习,这就是为什么过去这么多年从业者弃之不顾的原因。以前给人的印象,深度学习就是“黑魔法”。时至今日,非参数学习研究正在帮助深度学习更加自动的优化模型参数选择,当然有经验的专家仍然是必须的。
超参数的学习早已有之,但是直到最近才做出一点进展。这里面比较早期的主要贡献者(在应用到机器学习非参数学习领域之前)是Frank Hutter团队,他在2009年的博士论文就是关于软件系统里面如何用非参数学习来代替人手设定参数。我之前的博士生James Bergstra和我一起在这个问题上也研究过几年,我们提出了网格搜索的一种简单的取代方法,称作随机采样(random sampling),实验结果非常好,也很容易实现。
随后我们就将Hutter在其他领域使用过的非参数学习方法引入了深度学习,称作序列优化(sequential optimization),发表在NIPS 2011,我的另外一个联合培养博士生 Remi Bardenet和他的导师Balazs Kegl(前同事,现在法国)也参与了这个工作。
这个工作被多伦多大学的研究人员看好并继续深入,其中有Jasper Snoek(Hinton教授的学生),Hugo Larochelle(我毕业的博士生)以及Ryan Adams(哈佛大学教授),他们的工作发表在NIPS2012。文中展示了他们利用自动化的方法,改进了Krizhevsky,Sutskever和Hinton教授非常著名的ImageNet物体识别神经网络算法,刷新了这个数据集的学术记录。
Snoek等人开发了一个软件,被相关学者广泛使用,叫做spearmint,我最近发现Netflix在他们用深度学习做电影推荐的新项目中也用到了它。