Makoto Koike 对 TensorFlow 如何学会了他这个黄瓜种植户的黄瓜选择和分类原则进行了详细描述。这个话题在 Hacker News 上被斥为谷歌的市场营销,而在其他地方则被当成是深度学习、神经网络和机器学习日益流行的案例。TensorFlow 的学习结果大大超出了预期。选择和分类通常是一个非常耗时的过程,在收获的高峰季节,临时员工都无法在短期内学会,这经常导致Koike 一家根据若干属性花费大量的时间对黄瓜进行仔细的整理和分类。
Koike 使用了由其家庭成员耗时三个月分类完成的 7000 张黄瓜图片作为训练数据集。在对该神经网络进行测试时,他通过 Raspberry Pi 控制图像数据的获取,供经过训练的神经网络处理。在实验组(其中的图像数据不包含在训练集中)上,该网络的成功率达到了 70% 到 90%。 CUCUMBER-9 库提供了训练数据集。据报道,TensorFlow python api 的代码实现是由 TensorFlow Deep MNIST for Experts 提供的示例代码修改而来。这篇文章没有具体说明 Koike 训练模型时使用的计算概要文件,也没有实际演示经过训练的网络。对于该模型的效率和准确率,Koike 表示:
在我对测试图片进行验证时,识别准确率超过了 95%。但如果把这个系统应用在真实的场景中,准确率降低到大约 70%。我怀疑神经网络模型因为训练图片数量不足产生了“过拟合”问题(这是神经网络中的一个现象,经过训练的模型只适合小规模的训练集)。
分类问题符合良好深度学习对象的一般模式;图像属于“我看到它就知道它”的类别,或者是直觉和经验驱动的分类,那通常很难使用语言简单地描述出来,需要丰富的经验才能做好。Koike 详细阐述了这个话题,他指出:
分类工作不是一项容易学习的任务。你不只要考虑大小和粗细,还要考虑颜色、纹理、小划痕,是直是弯,是否多刺。这需要花费几个月的时间来学习,你不能只在最忙的时候雇用兼职人员。我自己都是最近才学会如何把黄瓜整理好。
对于当前的原型,扩展性和计算时间是 Koike 面临的一项挑战,即使将图片转换成低分辨率(80x80)的图片,该训练模型仍然需要两到三天的时间处理那个包含 7000 张图片的训练数据集。虽然 Koike 表示感兴趣,但他还没有在 Google Cloud ML 上执行训练。那是谷歌推出的一个用于分布式 TensorFlow 训练的大规模集群。他还指出,他尚未对不同参数、配置和算法的组合进行测试。
查看英文原文: TensorFlow Learns Cucumber Selection and Classification
评论