基于Theano的深度学习(Deep Learning)框架Keras学习随笔-09-约束限制

        原地址:http://blog.csdn.net/niuwei22007/article/details/49228447可以查看更多文章

        除了规则化外,Keras还有一个约束限制功能。函数可以设置在训练网络到最优时对网络参数的约束。这个约束就是限制参数值的取值范围。比如最大值是多少,不允许为负值等。这一部分比较简单,内容很少。

一、如何使用约束限制

        在Keras的Dense LayerTimeDistributedDense LayerMaxoutDense LayerConvolution1D LayerConvolution2D Layer中有一个统一的API用来使用约束。

        2个关键的参数:

  • W_constraint:约束主要的权值矩阵
  • b_constraint:约束偏置值

        使用示例代码如下:

from keras.constraintsimport maxnorm
model.add(Dense(64, W_constraint =maxnorm(2))) #限制权值的各个参数不能大于2


二、可用的约束限制

  • maxnorm(m=2): 最大值约束
  • nonneg(): 不允许负值
  • unitnorm(): 归一化 

参考资料:

  • 官方教程

你可能感兴趣的:(constraints,深度学习,Keras,theano,keras教程)