本笔记由博客园-圆柱模板 博主整理笔记发布,转载需注明,谢谢合作!
参数初始化(Initializations)
这个模块的作用是在添加layer时调用init进行这一层的权重初始化,有两种初始化方法,以下为样例:
model.add(Dense(64, init='uniform'))
可以选择的初始化方法有:
uniform、lecun_uniform、normal、orthogonal、zero、glorot_normal、he_normal等
对象调用
该对象必须包含两个参数:shape(待初始化的变量的shape)和name(该变量的名字),该可调用对象必须返回一个(Keras)变量,例如K.variable()返回的就是这种变量
如:
from keras import backend as K
import numpy as np
def my_init(shape, name=None):
value = np.random.random(shape)
return K.variable(value, name=name)
model.add(Dense(64, init=my_init))
或者
from keras import initializations
def my_init(shape, name=None):
return initializations.normal(shape, scale=0.01, name=name)
model.add(Dense(64, init=my_init))
所以说可以通过库中的方法设定每一层的初始化权重,也可以自己初始化权重,自己设定的话可以精确到每个节点的权重,那么是否可以在这儿做文章优化特征呢?我觉得可以针对不同的task深入试验看看