個人農家がディープラーニングを使った「きゅうり仕分け機」を開発!
静岡県で農家を営む小池誠さんは、Googleがオープンソースとして公開した機械学習ライブラリ「TensorFlow」 をつかって、きゅうりの仕分け機を開発しました。きっかけは、世界の棋士と互角に対戦した「AlphaGo」を知ってからだったそうです。
「これは凄いことが起きている、と思いました。それが、ディープラーニングを使ったきゅうり仕分け機を開発したきっかけです」。
仕分けの手間を解決しよう!
※小池さんと、その両親。
「Google」によると、小池さんは自動車部品メーカーで制御システムの開発に7年間携わっていましたが、退職を機に1年前から両親の仕事を手伝うことに。
そこで気づいたのが、「仕分け(選果)」の難しさと手間の多さでした。
両親が掲げている信条は、まっすぐで太くて、色がつややかで、イボのあるパリッとした新鮮な「棘の刺さるきゅうり」を家庭に届けること。
明確な業界基準はありませんので、農家ごとの目利きによって選定する必要があります。小池さんの畑では、9段階に仕分けているそう。
大型の仕分け機は存在していますが、能力やコストの面で制約もあり、個人農家では一般的に使用されていません。そのため、仕分け担当は小池さんのお母さん。収穫のピーク時には、1日8時間ずっと作業に追われることもあります。
「誰にでもすぐにできる仕事ではありません。長さ、太さだけでなく、色艶などの質感、凹凸やキズがあるか、形がいびつかどうか、イボが残っているかなど様々な要素を加味して等級を決めます。
それを体得するには何ヶ月もかかり、忙しい時期だけパートさんに頼む、といったことがしにくい。私もやっと最近きちんと仕分けできるようになりました。機械で仕分けるにしても、長さや形だけを見る単純な画像認識では不十分です」。
つまり、長年の経験を要する上に、どうにも省くことができない作業というわけ。ですが、小池さんはもっと美味しい野菜を作るために時間を割くべきだと考えていました。
野菜作りに時間を使うために、
ディープラーニングを生かす。
これが、2016年7月に完成した試作2号機。
開発に際して撮影したきゅうりの画像はおよそ7,000枚。母親が作業している横で写真を撮影し、2〜3ヶ月かけて学習用画像を用意したそうです。が、それでもまだ足りないと小池さん。
「テストのために用意した画像で検証すると、正解率は95%に達します。しかし、その後、新しい画像で試すと70%程度に落ちてしまいます。まだまだ『過学習』(少数の学習用データに偏って学習してしまう現象)が発生しているようです」。
もっと場数が必要なんですね。
とはいえ、計算するときのCPUへの負荷が大きいのも課題。一般的なWindowsデスクトップPCを用いて学習を行い、使用画像を80x80ピクセルと低解像度に変換していますが、それでも7,000枚を認識させて計算するには2〜3日を要したとか。
「この解像度でも、曲がり具合や長さ、太さの均一さを認識しての仕分けができています。一方で、表面の艶やイボ、色合い、キズの付き具合といった細かな状態は認識できません。もっともっと解像度を上げ接写すれば、正解率はぐんと引き上げられるものと見ています。しかし、いずれも学習時間が急激に伸びてしまうので試せていません」。
地道ではありますが、手をかければ精度が上がることは確か。そこで、Googleが新しくはじめるこんなサービスが注目されているようです。
分散学習を提供する、
クラウドサービス。
※「AlphaGo」の試合に使用されたGoogleのディープラーニング専用サーバ。
それは、クラウド上の数十〜数百のCPUやGPUによる分散学習を、低コストで提供するサービス「Cloud Machine Learning(Cloud ML)」。
同社は、ディープラーニングの普及を加速させようと、学生や研究者、製品開発者などにオープンソースとして「TensorFlow」を一般公開しました。次は、そのために必要な学習負荷をも肩代わりします。
大規模な分散学習に必要なGPUサーバーのセットアップや運用、分散環境の構築等のすべてをまかせられ、かつ必要なコストも学習に使った分だけ支払えばOK。ディープラーニングのパワーを手軽に試せるサービスが「Cloud ML」だとか。これには、小池さんもいち早く試してみたいと回答。
「より高い解像度で、より多くの画像で学習を試せます。ニューラルネットワークの段数を増やすなど、さまざまな試行錯誤も可能になる」。
AIの応用範囲はどんどん広がっています。きゅうりの仕分けは、個人農家で使用された貴重な活用例のひとつ。人間であれば疲弊してしまうような作業の連続を、へこたれずに、かつ正確に行える特性が生かされていますね。