新智元编译
来源:medium.com
作者:Radek
编译:neko
【新智元导读】2013年,Kaggle举办过一个很受欢迎的猫狗识别竞赛(Dogs vs. Cats),比赛内容是识别图像中的是猫还是狗。当时获胜的准确率是82.7%,使用13000张图像进行训练,使用25000张图像训练取得98.914%的准确率。本文作者仅使用6张图像作为训练样本,取得89.97%的准确率。
GitHub:https://github.com/radekosmulski/dogs_vs_cats
2013年,Kaggle举办过一个很受欢迎的猫狗识别竞赛(Dogs vs. Cats)。比赛的目标是训练一种能够检测图像中是否包含猫或者狗的算法。
当时,正如比赛官网宣布的,在使用13000张猫和狗的图像进行训练后,最先进的算法分辨猫狗的准确率是82.7%。
我的结果
我应用了迁移学习的方法,这是一种训练模型完成其他类似任务,然后重新训练它来完成当前的任务的技术。
我微调了一个VGG19模型,使用6张随机选择的图像(如下图):
在经过41 epochs的训练后,我的模型达到了89.97%的准确率。验证集大小是24994。
你可以在我的GitHub仓库找到所需要的所有东西来重现这个实验:https://github.com/radekosmulski/dogs_vs_cats
这个结果是完全出乎意料的。我所使用的技术在fast.ai的“Practical Deep Learning for Coders”课程的第一节课就被介绍过,在课程提供的Jupyter笔记中,它需要7行代码来执行迁移学习。
这意味着,任何会在电脑上移动文件的人都能够学会将这一前沿技术应用到他们选择的问题上。医学诊断、异常检测、图像识别的工业应用,等等。是的,你仍然需要一些数据,你也需要对监督学习是什么以及它的工作原理有一些高层次的理解。但所需要的也就这么些。
小结
结果令人吃惊。我没有应用数据增强(data augmentation),也不需要调整学习率,也不用担心正则化。我甚至没有测试不同的架构——这就是我尝试的第一个架构。
是的,有人可能会说,从照片中将猫和狗辨别出来并非什么艰深的科学。但我得提醒你,人类在40年前就已登上月球,但40年后的今天我们仍然无法告诉计算机如何执行这个看似简单的任务,将准确率提高到85%以上。是的,我选择拿来微调的这个模型本是训练来执行视觉识别任务的,并且表现出色。
但是请稍等一下,请再阅读一下这篇文章的前两段。我打破了4年前这个任务上最先进的结果,并且毫不费力。我在云上运行一台超级计算机,费用为每小时约0.2美元(这是我付给Amazon租虚拟机的费用)。这是非常意义重大的。
这表明,今天的深度学习应用的局限不再是由技术驱动的——我们已经拥有所需的硬件和软件。是的,对于某些任务,我们需要更快的处理器,或者更多数据,或者更好的算法。但是,今天深度学习存在非常大的尚待被发现的应用范围,而限制因素是该项技术相关知识传播的速度。
以上来自一个在大学主修一年半社会学后辍学,自学编程但绝不是一个编程大师的人,只花了一个下午的时间的工作突破了4年前的最先进的结果,并且使用的数据只有它的2166分之一。那么我提出的问题是:你将应用这项技术来做什么让世界变得更好的工作?
PS. Phillipe Golle 的 Machine Learning Attacks Against the Asirra CAPTCHA 这篇论文是2013年的state-of-the-art的解决方案,论文:http://xenon.stanford.edu/~pgolle/papers/dogcat.pdf
PS. 2 Kaggle猫狗识别竞赛的优胜者准确率达到98.914%,在用25000张图像仔细训练一个机器学习系统后取得。
原文:https://medium.com/@radekosmulski/can-we-beat-the-state-of-the-art-from-2013-with-only-0-046-of-training-examples-yes-we-can-18be24b8615f
【号外】新智元正在进行新一轮招聘,飞往智能宇宙的最美飞船,还有N个座位
点击阅读原文可查看职位详情,期待你的加入~