我正在实现一个神经网络,以在二进制字段中查找代码。该层实质上是学习生成器矩阵(至少尝试这样做),然后在输出处获取代码。对于任何输入u
,代码字c
都以c = matmul(u.T,G)
的形式获得。由于空格是二进制字段,因此1 + 1 = 0
而不是2
。生成器矩阵还仅包含0's
和1's
。我通过使用内核约束来强制执行此操作。现在,我将(21,11)
代码分为以下几层:
out1 = tf.layers.dense(inputs=message,units=21,activation=None)
out2 = tf.layers.dense(inputs=out1,activation=tf.nn.sigmoid)
第一层的输出out1
有一些2's
,有时还有3's
。当这进入第二层时,所有2's
都将转换为接近1
的值(3's
不会遇到该问题)。
我想知道的是,是否有任何方法可以在密集层中进行模2加法运算。任何帮助表示赞赏。