【发布时间】:2018-09-25 22:01:59
【问题描述】:
我有一个 1D 图像,输入为 1x2048 像素和 32 个类,我为其定义了一层 32 个过滤器,这些过滤器具有与图像相同大小 (1x2048) 的 L1 正则化。
我的图像示例是一次性编码的。但是,我的目标是在将其中一些图像加在一起并将其提供给经过训练的模型时获得多热编码输出。
训练进行得很好,它可以分别对每个类进行分类,但是如果我将两个图像相加并将其提供给模型,它只会输出一个单热编码向量(尽管我期望一个双热编码向量)。如果我在训练后查看内核,它们是有意义的,因为除了定义我的类的权重之外,大多数权重都是零。
我不明白为什么我得到一个单热向量输出而不是多热向量。
我还没有对图像进行求和并将它们用于训练模型的原因是,将图像组合在一起的可能性超出了我的记忆力。
An image of the network I have in mind
input_shape=(1,2048,1)
model = Sequential()
model.add(Conv2D(32, kernel_size=(1, 2048), strides=(1, 1),
activation='sigmoid',
input_shape=input_shape,
kernel_regularizer=keras.regularizers.l1(0.01),
kernel_constraint=keras.constraints.non_neg() ))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=optimizer,metrics=['accuracy'])
【问题讨论】:
标签: machine-learning keras conv-neural-network one-hot-encoding multiclass-classification