Deep learning 如何最好地利用tensorflow模型中类分布的先验知识?

Deep learning 如何最好地利用tensorflow模型中类分布的先验知识?,deep-learning,tensorflow2.0,Deep Learning,Tensorflow2.0,我有一个1000多个类的分类问题,但是,对于给定的示例,只有少数几个类是有效的。更重要的是,我知道每个可思考的示例的有效类集。我觉得这是一个非常强大的先验知识,我想用它来尽可能地限制模型的“搜索空间”。问题是,我如何才能最好地利用这一点 开始工作的几个选项: 仅在后处理、屏蔽所有无效类以及从未屏蔽类中选取结果时使用这些知识 问题:神经网络没有使用知识 在softmax层之后制作一个“掩蔽层”,其作用与(1)相同,但将是培训过程的一部分 问题:NN知道什么是错的,但不知道什么是对的。此外,梯度可

我有一个1000多个类的分类问题,但是,对于给定的示例,只有少数几个类是有效的。更重要的是,我知道每个可思考的示例的有效类集。我觉得这是一个非常强大的先验知识,我想用它来尽可能地限制模型的“搜索空间”。问题是,我如何才能最好地利用这一点

开始工作的几个选项:

  • 仅在后处理、屏蔽所有无效类以及从未屏蔽类中选取结果时使用这些知识

    问题:神经网络没有使用知识

  • 在softmax层之后制作一个“掩蔽层”,其作用与(1)相同,但将是培训过程的一部分

    问题:NN知道什么是错的,但不知道什么是对的。此外,梯度可能不会很好地通过该掩蔽层(?)

  • 执行(2),并向模型提供有效的类(在开始时,或在最后一个softmax层之前),希望它能够学会使用它们

    问题:渐变可能无法很好地通过此掩蔽层(?)。另外,“希望NN会注意到”听起来也不是最优的

  • 请提供讨论此问题的论文或其他资料。即使给我提供一个更易懂的关于这种现象的描述也会很好;我只发现这两个问题(,),它们都不能描述我的情况