深度学习模型的多个多类输出

问题描述 投票:0回答:1

我正在使用 HAM10000 数据集开发深度学习模型,其中包含不同类型皮肤癌的图像。总共有 7 个标签需要预测,这使得这是一个可以使用 softmax 函数的多类分类问题。这 7 个类别已转换为二元类别,我在其中创建了一个列,将皮肤癌分类为“恶性”或“良性”。

但是,我还尝试分析数据集中与皮肤癌标签预测相关的肤色偏差。基本上,我想了解特定皮肤癌(例如黑色素瘤)的预测:预测如何在“浅色”和“深色”肤色之间划分。

为此,我创建了另一个二进制列,它告诉我图像的背景颜色是否更亮或更暗。我想知道深度学习模型是否有可能返回 2 个独立的多类输出。我可以将 2 列组合在一起的一种方法是将它们相加,但这将是错误的,因为其中 2 个输出将为 1(基于 0+0=0、0+1=1、1+0= 的组合) 1 和 1+1=2)

我的目标最终输出是一份分类报告,其中按肤色和癌症严重程度进行了细分。

python keras deep-learning classification
1个回答
0
投票

感谢提出这么有趣的问题。 我先回答一下。是的,这是可能的。我会建议我的解决方案。 您可以使用多任务神经网络。 为此,您需要将输出层的大小设置为 9。 前七个值代表以下七类皮肤癌的概率。第八个值表示“恶性”或“良性”的概率。 0 可以表示“完全良性”,1 可以表示“肯定是恶性的”。 最终值表示皮肤的“深”或“浅”程度。 0 代表“最暗”,0 代表“最亮”。 一旦你设计了这样的网络,你应该用三个值构建损失函数。 第一个(l1)是前七个输出的分类损失。您可以使用分类问题中常用的 softmax 损失。 第二个(l2)也是第八个输出值的分类损失。 第三个(l3)是最终输出值的回归损失。 总损失可以通过这三个值的加权和来计算。

L=l1+l2w2+l3w3

通过像这样构建总损失,您可以训练模型一次输出您想要的所有值。 如果您有任何疑问,请随时询问。

© www.soinside.com 2019 - 2024. All rights reserved.