Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow Keras中的半监督培训_Tensorflow_Keras - Fatal编程技术网

Tensorflow Keras中的半监督培训

Tensorflow Keras中的半监督培训,tensorflow,keras,Tensorflow,Keras,我想知道下面的模型在Keras中是否可行,或者是否需要降到tensorflow 想象一下,一个大的未标记数据集和一个(可能小得多)的标记数据集 直觉是为了两个目标同时训练:标记数据的分类准确度和未标记数据的分类置信度 我们的想法是像往常一样,将所有数据(标记和未标记)转发到最终的softmax层 然后,将批分为两组:标记的示例和未标记的示例 对于标记的数据,错误/损失的计算与通常一样,比如交叉熵。 对于未标记的数据,我们选取分类分布的离散函数。一个非常基本的例子是(平均值)1减去最大值(prob

我想知道下面的模型在Keras中是否可行,或者是否需要降到tensorflow

想象一下,一个大的未标记数据集和一个(可能小得多)的标记数据集

直觉是为了两个目标同时训练:标记数据的分类准确度和未标记数据的分类置信度

我们的想法是像往常一样,将所有数据(标记和未标记)转发到最终的softmax层

然后,将批分为两组:标记的示例和未标记的示例

对于标记的数据,错误/损失的计算与通常一样,比如交叉熵。 对于未标记的数据,我们选取分类分布的离散函数。一个非常基本的例子是(平均值)1减去最大值(prob)

现在两个“误差”——熵和色散——相加(根据加权超参数),这个值是梯度下降中要最小化的值

换句话说,色散因子作为拟合过程的一种正则化器


我猜实现此Keras将涉及一个自定义损失函数,但我不确定是否要拆分批次、将子集与目标匹配等。任何想法都非常受欢迎。

在这里,您可以在Keras中找到一个半监督模型的示例:

他所做的是创建两个共享层的模型。一个模型以标记数据作为输入,另一个模型以未标记数据作为输入

使用批量培训,交替使用标记数据和未标记数据进行培训