我需要获得一些关于深层神经网络的知识。
对于一个“ResNet”非常深的神经网络,我们可以使用转移学习来训练一个模型。但是Resnet已经在ImageNet数据集上接受了培训。因此,它们经过预先训练的权重可以用来训练另一个数据集的模型。(例如,用CT肺图像训练肺癌检测模型)
我觉得这种方法将是不准确的,因为预先训练的重量已经完全训练过其他物体,但没有医疗数据。
是否有可能从零开始培训resnet,而不是转移学习?(但训练resnet的可用图像数量约为1500张)。能不能用一台普通电脑。
有人能和我分享一下你的宝贵想法吗?
发布于 2018-01-02 14:33:39
是否有可能从头开始训练resnet?
是的,这是可能的,但一个人需要多少时间才能达到良好的准确性,这在很大程度上取决于数据。例如,在NVIDIA M40 GPU上培训原始ResNet-50需要14天(10^18次精确操作)。CNN最昂贵的操作是早期层的卷积。
ImageNet包含1400万226x226x3图像。因为你的数据集较小10,000倍,所以每个时代的运算量都会减少10,000倍。最重要的是,如果你通过灰度而不是RGB图像,第一个卷积将花费3倍的运算量。同样,空间图像大小也会影响训练时间。关于较小图像的培训也会增加批处理的大小,这通常会因为矢量化而加快速度。
总之,我估计一台单用GPU的机器,例如1080或1080 50,一天就能训练出100年代的ResNet-50型。显然,在2-GPU机器上的训练会更快.如果这就是你所说的普通电脑的意思,答案是肯定的。
但是,由于您的数据集非常小,很有可能会过度拟合。这看起来是你的方法面临的最大问题。
https://stackoverflow.com/questions/48051670
复制相似问题