Keras中每个样本的条件串联



我的模型只包含一个输入,它有两个头和三个隐藏层,都是线性的。但棘手的部分是:我的输入是两个大小为64的一维向量的组合,我通过每一半64个神经元的另一层。然后,我将它们连接成128的单个向量,并像往常一样处理所有剩余的层。但是,我想使连接成为有条件的,并根据该条件更改顺序。因此,我需要在连接每个批次中的每个样本之前进行检查,这是我不知道如何做到的

我使用的生成器将输入作为单个向量,并使用Keras中的Functional API选择每一半通过第一个隐藏层。但这是我陷入困境的条件串联部分。

听起来您有一个问题,可以通过完全连接的层轻松解决。虽然效率不高,但我们不要从优化开始。

复制您的128矢量输入。将原始条件乘以您的条件(编码为0/1(,将副本乘以1条件。将两者连接起来,并将它们放入256x128大小的冷冻FC层中。上半部分是单位矩阵(128x128(,下半部分是置换矩阵(每行和每列都有一个1.0值(。

基本思想是,乘以0.0会丢弃一个值,乘以1.0会保留一个值。冻结的FC层相当稀疏。

最新更新