微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用神经网络进行大量类别的分类?

如何解决如何使用神经网络进行大量类别的分类?

是否有我可以使用大量类对数据进行分类的技术(我使用的是 pytorch)?

我注意到,如果我尝试构建一个多层感知器网络,我会在 GPU 上耗尽内存,因为最后一层肯定有太多神经元,即使我的 GPU 有 24Gb 的内存。我有大约 3000 节课。

有什么方法或技术可以处理这种情况吗?

请注意,我不是在征求关于哪种技术更好的意见。我要求提供可以在这种情况下使用的技术的客观列表。这可以以基于事实的方式回答,并在需要时包括引文等。

解决方法

您可以尝试遵循的一种棘手方法是将模型分成两个子 nn.Module。您将第一个发送到 GPU 并保留最后一层,即 CPU 中的分类器。这样做您会损失一些训练速度和整体性能,但您将能够处理 MLP 中的这一巨大层。

然而,拥有如此多的类并不常见,您是在做一些计算机视觉或 NLP 任务吗?如果是这样,您可以使用一些特定于任务的网络类型,例如 CNN 或 LSTM,它们在处理更有效的参数数量时表现更好(例如,在 CNN 中使用池化层)。如果您必须使用 MLP,请尝试降低倒数第二层的维数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。