如何指定与角膜下一层的神经元连接?

时间:2018-12-03 19:19:47

标签: keras neural-network deep-learning

我正在尝试在Keras中建立具有预先指定连接的神经网络。例如:

partially connected layers

例如,如果我的输入X具有特征“ a”,我只想在下一层训练神经元“ b”。

我不确定如何指定keras中各层之间的连接。

谢谢!

1 个答案:

答案 0 :(得分:0)

根据您的情况,可以结合使用Lambda层和merge的层。
因此,可以通过以下方式完成:

input = Input((6,))
# Split input to 3 streams
a = Lambda(lambda x: x[:, [0,4]], output_shape=(2,))(input)
b = Lambda(lambda x: x[:, 0:5], output_shape=(5,))(input)
c = Lambda(lambda x: x[:, 5], output_shape=(1,))(input)

# Build the hidden layer
hidden = merge([a, c, b], mode='concat')

# Split the hidden output to 2 streams
aa = Lambda(lambda x: x[:, 0:1], output_shape=(2,))(hidden)
d = Lambda(lambda x: x[:, 2], output_shape=(1,))(hidden)

# Build the output layer
output = merge([aa, d], mode='concat')

model = Model(input, output)