【发布时间】:2018-11-22 05:40:12
【问题描述】:
我目前正在研究一个问题,我为神经网络提供一个输入变量 a 和另一个输入 x 是一个单调递增的 N 个数序列。
所以我的网络基本上看起来像这样:
a_input = Input(shape=[1], name='a')
x_input = Input(shape=[N], name='x')
nn = concatenate([a_input, x_input])
nn = Dense(100, activation='relu')(nn)
nn = Dense(N, activation='relu')(nn)
model = Model(inputs=[a_input, x_input], outputs=[nn])
model.compile(loss='mean_squared_error', optimizer="adam")
我对输入空间执行回归(其中每个 a 序列 x 是唯一的) ,并且我希望网络为每组输入 a 和 输出一个单调递增的(非负)N 个数字序列>x。
现在,我注意到到目前为止,我的输出严格来说并不是单调的,但如果你“缩小”,它们看起来就像是一样的。我的意思是,对于 a 和 x 的给定选择,如果我希望我的输出数组看起来喜欢:
[0, 0.5, 0.51, 0.7, 0.75, 0.9, 1.],
我可能会得到:
[0.001, 0.5, 0.48, 0.7, 0.75, 0.9, 1.].
因此,我想知道 Keras 中是否有标准方法或特定工具可以将模型限制为仅输出单调递增的序列?
【问题讨论】:
标签: python keras deep-learning regression