前几天我们回答过一个问题:机器学习要求多大的数据量?
机器学习要求多大的数据量?我做的东西到底是不是机器学习?www.zhihu.com
里面简单提到了两个技巧:10 倍法则和学习曲线。那么如果具体到如题主所说的图像数据集呢?对于这个问题,谷歌机器学习大牛 Peter Warden 发过一篇博客专门探讨过,我们看看他是怎么说的:
今天,有人问了我(Peter Warden——译者注)一个经常被问到的问题——“训练我的分类器,需要多少图像?”以前我大多时候从技术角度正确回答了这个问题,有时也会说“看情况吧”这个无意义的答案。但是这几年我认真思考后,得出了一个相对靠谱的经验法则:
对于每个类,你需要 1000 张具有代表性的训练图像。
当然这条规则不是放之四海而皆准,在有些模型上就不适用,但有时特别有用。下面我就说说这条经验法则的由来,为什么有时它不行,有时却又很有用。
1000 张图像这个数字来自最初的 ImageNet 分类挑战赛,其中数据集有 1,000 个类别,每个类别的每个类别少于 1,000 个图像(我看过的大多数大约有七八百个)。这足以训练像 AlexNet 这样的早期图像分类模型,因此证明大约 1,000 张图像就足够了。
如果数量再少些行吗?有趣的是,根据我的经验,某些情况下可以,但是如果一下子降到只有寥寥数百,从头开始训练模型就变得特别困难了。当然这里也有例外——在已经训练过的模型上使用转移学习时。因为你正在使用是已经查看过大量图像并且学会区分类的网络,所以通常可以教给模型同一领域的新类