Makoto Koike 原本在日本的一家车企当工程师,大约一年前,他辞去工作回到老家帮父母经营黄瓜农场。农场并不大,然而给黄瓜分类的工作却让 Makoto 吃了不少苦头。
日本各个农场对于黄瓜有不同的分类标准,并不是我们所想的分个大小那么简单。单是 Makoto 自己家的农场,同一个品种的黄瓜的分类就达了 9 种之多。一般来说,颜色鲜艳、刺多、体态匀称的才算是好瓜。
以下是令人震撼的 Makoto 家 9 类黄瓜图表,由上至下质量依次递减。
手里刚摘了一根黄瓜,你得仔细观察它的长短、粗细、颜色、纹理、是否有小刮痕、弯的还是直的、刺多不多......要跟9类标准对应,看它属于哪一等级,这并不是一个容易学的工作。
一个人要花好几个月才能熟练掌握整个分类标准体系,所以到了采摘旺季,Makoto 家忙不过来,却又不能临时雇人帮忙。
但是 Makoto 始终认为,给黄瓜分类不应该是瓜农的主要的工作,瓜农最重要的任务应该是专注于种植出美味的黄瓜。所以他决定,要把分类的工作交给机器,但是市面上的黄瓜分类器要么性能差要么太贵,不适合小农场。
而这时他看到了阿尔法狗的围棋大赛,一下子被人工智能吸引了,萌生了用机器学习造黄瓜分类机的想法,并开始研究谷歌开源的 TensorFlow 平台。
值得一提的是,使用 TensorFlow,并不需要具备高等数学模型、优化算法等专业知识,你只需下载简单的代码,然后阅读教程,就可以开始着手工作了。
这是 Makoto 制作的黄瓜分类机工作的场景:如果一根黄瓜属于某一个品类,小刷子就会把它推到相应的箱盒里。
Makoto 使用树莓派 3 作为主控制器,配备一个相机拍摄照片。这些照片传到 TensorFlow 平台上,起初在一个小型的神经网络上运行,以判断是否是黄瓜。之后,已经被判定为黄瓜的照片接着传输到一个更大的基于 Linux 服务器的神经网络,来对黄瓜按照不同的特质进行分类。
以下是黄瓜分类机的系统图:
机器学习首先是需要一个数据库的,为了训练这个模型,Makoto 花了 3 个月的时间给它“喂”了 7000张黄瓜照片,这些照片都是由 Makoto 的妈妈分类贴上的标签。
Makoto 测试时的准确率很高,达到了 95%,但是当他真的将这个系统用于实践时,识别准确率一下子降到了 70%。Makoto 怀疑是因为这个神经网络模型有了“过拟合”的问题,这是数据库数据不足而出现的现象。
另外,深度学习所需的计算量大,而 Makoto 使用典型的 Windows PC 机来训练神经网络,效率比较低。尽管他已经事先将所有的照片降低到 80 x 80 像素,系统仍然需要 2-3 天来完成 7000 张照片的训练。
这样低分辨率的照片导致的结果是,系统目前还并不能识别出颜色、纹理、刮痕和小刺,只能分辨出形状、长度和是否弯曲。而如果要提高照片分辨率,系统的计算量猛增,效率又会拖慢。
所以 Makoto 目前正打算使用谷歌的云机器学习(Cloud Machine Learning)平台,来进一步改善他的黄瓜分类机。
Via Engadget
延伸阅读: