参数(Parameter)和超参数(HyperParameter)是指什么呢?

参数是我们训练神经网络 最终要学习的目标,最基本的就是神经网络的权重 W和bias b,我们训练的目的,就是要找到一套好的模型参数,用于预测未知的结果。这些参数我们是不用调的,是模型来训练的过程中自动更新生成的。


超参数是我们控制我们模型结构、功能、效率等的 调节旋钮,具体有哪些呢:


learning rate

epochs(迭代次数,也可称为 num of iterations)

num of hidden layers(隐层数目)

num of hidden layer units(隐层的单元数/神经元数)

activation function(激活函数)

batch-size(用mini-batch SGD的时候每个批量的大小)

optimizer(选择什么优化器,如SGD、RMSProp、Adam)

用诸如RMSProp、Adam优化器的时候涉及到的β1,β2等等

......

太多了,上面是一些最常见的超参数,一般的深度学习框架就是调节这些玩意儿。


具体怎么调节,在不同的场景中基本都不同,没有统一的标准说learning rate取多少比较好、epochs多少比较好,都是在在实际情况中反复试验的。当然,如果我们可以借鉴一些知名的项目的超参数的选择,来应用到我们类似的项目中去。


蓝海大脑 京ICP备18017748号-1