我正在尝试制作一个多类分类应用,但我的数据集有300个类别,用普通的电脑能训练所有这些类别的模型吗?
回答:
当然可以。如果你有足够的时间,你甚至可以训练包含1000个类别或更多的ImageNet数据集!;)
你只需要考虑选择哪种损失函数(分类交叉熵、稀疏分类交叉熵,或者如果你想独立惩罚每个输出节点的话,还可以使用二元损失函数),除此之外,处理10个、100个还是1000个类别并没有太大的区别。
当然,你需要增加模型的大小来适应更多的类别,所以内存可能会成为一个问题,但你总是可以减小批次大小。如果你使用的是图像和卷积网络,并且你的模型仍然太大,可以尝试下采样图像,使用池化层或更大的步长。
如果你的电脑太旧太慢,你也可以尝试使用Google Colab,它提供免费的GPU甚至是TPU在线服务!