Googleのマーケティングだと批判している人もいれば(Hacker Newsのスレッド)、ディープラーニング、ニューラルネットワーク、機械学習がいろいろな領域に広がっている事例だと賞賛している人もいる。小池誠氏はどのように農家におけるキュウリの選別・仕分け作業を学習させたかを説明した(日本語記事)。 結果は期待を上回るものだった。通常、選別・仕分けは時間のかかる作業で、収穫のピーク時にパートさんにすぐに教えられるようなものではない。したがって、小池氏の家族が何時間もかけて、さまざまな特性に基づいて、キュウリを慎重に選別して仕分ける必要があった。
小池氏はトレーニングデータに7,000枚のキュウリの画像を使った。お母さんが仕分けるのを撮影して、およそ3ヶ月かけて用意したものだ。そして、トレーニング済みのニューラルネットワークで処理する画像の撮影をRaspberry Piで制御した。トレーニングデータに含まれる画像を除いた実験グループにおいて、成功率は70%から90%に達成したという。トレーニングデータセットはCUCUMBER-9リポジトリに公開されている。記事によると、TensorFlow Python APIコード実装は、TensorFlowのサンプルコード「Deep MNIST for Experts」に手を加えたものだそうだが、執筆時点では公開されていない。また、小池氏がモデルをトレーニングするのに使ったコンピュータの詳細については書かれていないが、トレーニング済みのネットワークの動作デモが公開されている。効率とモデルの精度について、小池氏は次のように語った。
「学習用と合わせて用意したテスト用の画像で検証すると、正解率は95%に達します。しかし、その後新たに作成したキュウリ画像で試すと、70%程度に落ちてしまいます。まだまだ学習用画像の数が少ないため、『過学習』(少数の学習用データに偏って学習してしまう現象)が発生しているようです」
キュウリの仕分け問題は、ディープラーニングに適した一般的なパターンに当てはまる。すなわち、ン「見れば分かる」カテゴリへの画像分類や、言葉では簡単に説明できなくて、上達するのに経験を必要とする直感や経験による分類などだ。小池氏はテーマについて詳しく説明した。
「キュウリの仕分けは、誰にでもすぐにできる仕事ではありません。キュウリの長さ、太さだけでなく、色艶などの質感、凹凸やキズがあるか、形がいびつかどうか、イボが残っているかなど様々な要素を加味して等級を決めます。それを体得するには何ヶ月もかかり、忙しい時期だけパートさんに頼む、といったことがしにくい。私もやっと最近きちんと仕分けできるようになりました。」
小池氏が現在のプロトタイプで直面している課題は、スケーラビリティと計算時間だ。モデルをトレーニングするためのキュウリ画像は80x80ピクセルという低解像度に変換しているが、それでも7,000枚を用いた学習が完了するのに、2・日を要しているという。分散TensorFlowトレーニングのための大規模クラスタとして売り出されているCloud MLでのトレーニング実行はまだ試していないが、小池氏は期待しているようだ。彼はまた、望むほどパラメータの組み合わせ、設定、アルゴリズムを試せていないと述べている。
Rate this Article
- Editor Review
- Chief Editor Action