从头开始训练Resnet深度神经网络

9 neural-network conv-neural-network keras tensorflow resnet

我需要获得一些关于深度神经网络的知识.

对于'ResNet'非常深的神经网络,我们可以使用转移学习来训练模型.但Resnet已经过ImageNet数据集的培训.因此,他们的预训练权重可用于使用另一个数据集训练模型.(例如,使用CT肺部图像训练肺癌检测模型)

我觉得这种方法不准确,因为预训练的重量已经完全训练过其他物体而不是医学数据.

而不是转移学习,是否可以从头开始训练resnet?(但训练resnet的可用图像数量约为1500).是否可以使用普通计算机.

有人可以与我分享您的宝贵意见

Max*_*xim 8

是否可以从头开始训练resnet?

是的,这是可能的,但是需要达到良好准确度的时间在很大程度上取决于数据.例如,在NVIDIA M40 GPU上训练原始ResNet-50需要14天(10 ^ 18单精度操作).CNN中最昂贵的操作是早期的卷积.

ImageNet包含1400万226x226x3张图像.由于您的数据集小约10000x,因此每个纪元将减少约10000x的运算.最重要的是,如果您传递灰度而不是RGB图像,则第一个卷积将减少3倍的运算.同样,空间图像大小也会影响训练时间.对较小图像的训练也可以增加批量大小,这通常会因向量化而加速.

总而言之,我估计具有单个消费者GPU的机器,例如1080或1080ti,可以在一天内训练约100个ResNet-50型号的时代.显然,在2-GPU机器上进行训练会更快.如果这是你的正常计算机的意思,答案是肯定的.

但由于您的数据集非常小,因此过度拟合的可能性很大.这看起来是您的方法面临的最大问题.