「データセットの準備を丸投げしない」――健康管理アプリ「FiNC」AI開発5つの教訓:“おいしいデータ”で、成果が出るAIモデルを育てる(2)(1/2 ページ)
ヘルスケアプラットフォームアプリ「FiNC」を開発するFiNC Technologiesで代表取締役CTOを務める南野充則氏は、AI研究開発プロジェクトを通じて得た「5つの教訓」を紹介した。その教訓とは。
「FiNC」は、パーソナルトレーナーAI(人工知能)が、利用者一人一人の興味関心や悩みに適した健康メニューを推薦するヘルスケアスマートフォンアプリだ。FiNCでは、「撮影した料理の写真から栄養素とカロリーを自動計算する」機能に、深層学習で生成されたAIモデルを活用しているという。
連載「“おいしいデータ”で、成果が出るAIモデルを育てる」第2回は、2019年3月4〜5日に開催された「SIX 2019」において、FiNCを開発、運営するFiNC Technologiesで代表取締役CTO(最高技術責任者)を務める南野充則氏が講演した内容から、「どのような形でプロジェクトを進めたのか」「どのような教訓を得たのか」などについてお伝えする。
画像から「栄養素」や「カロリー」を推定――人々の健康を支えるアプリの裏側
FiNCでは、「アプリ利用者の入力をいかに簡単にするか」と「利用者の入力を基に、どのような情報を推薦するか」の2つで機械学習や深層学習を活用している。
FiNC開発陣はアプリを改善する中で、「食事を手入力で毎日記録する煩わしさからユーザーが継続して食事を記録できていない」課題を発見。そこで「食事の画像を撮影するだけで食事内容を記録できる」コンセプトを基に、深層学習を活用する研究開発プロジェクトをある企業と共同で開始した。
「FiNCでは画像から食事を推定することは実現済みだったが、画像から栄養素やカロリーを推定することはできていなかった。さらに食事を推定する画像認識の精度にも課題を感じていた。そこで企業から『栄養素やカロリーを推定する機能をAPIで活用したい』と打診があり、協力すれば学習データを増やしたり、AIモデルの精度を向上させたりできると考え、ある企業と共同で研究開発を開始した」
研究開発では、画像からカロリーを推定する手法から検討を開始。撮影画像から「麦ごはん」「焼き魚」のような料理名の「カテゴリー」を推定するAIモデルと、撮影画像から「豚バラ」「120g」のような食材と量を推定するAIモデルの2つを開発して、そのアウトプットと「カテゴリー」ごとのデータベースを合わせて栄養素やカロリーを算出することにした。データベースを作成するために、料理本や料理検索サイトを活用して『2000種類の料理の栄養成分量』と『400種類の食材量(1人分)』といった標準化を行った。
「AIモデルの開発では、オフィスにあるキッチンで2カ月かけて2000種類分の料理を調理し、3視点分の料理画像と、1人前の食材量(調理前、調理後)を評価用データセットとして用意した。技術顧問を務めるAI研究者の松尾豊さんから『これほどやる企業はなかなかいない』といわれるくらい、手間をかけてデータセットを作成した」
この仕組みによって、管理栄養士による計算との誤差を約3%まで縮められているという。
AI開発5つの教訓
講演後半は、この研究開発プロジェクトを振り返り、AIモデル開発をどのように進めるべきか5つの教訓を挙げた。それぞれ見ていこう。
- AI開発プロジェクトは「アジャイル開発」で進める
- 評価方法を定めてからAI開発プロジェクトを始める
- AIプロジェクトのゴールを「AIモデルの実装」にしない
- データセットの準備やアノテーションを丸投げしない
- AI/ML人材はソフトウェアエンジニアから輩出する
AI開発プロジェクトは「アジャイル開発」で進める
1つ目の教訓は、アジャイル開発を標準にすべしということだ。FiNCのAI開発プロジェクトでは、もともとアジャイル開発で進めるのが一般的だったものの、今回の研究開発プロジェクトの場合、共同研究企業側に「半年で成果を出さなければならない」制約があったため、ウオーターフォール開発で綿密にスケジュールを組んで研究開発することにした。しかしウオーターフォールで組んだスケジュール通りにAIモデルを開発できず、スケジュールに遅れが発生してしまったという。
「深層学習の理論を理解しても大部分はブラックボックスになってしまうため、精度の評価が難しい。今回の研究開発プロジェクトでも、精度が80%のところから研究開発を始めてゴールまでのスケジュールを組んだ。しかし、モデルの精度が改善せず、画像のラベリングからやり直した結果、1カ月分スケジュールが遅延した。ブラックボックスがあるAIモデルの精度改善では、綿密にスケジュールを組むのは難しく、改善を繰り返しやすいアジャイル開発で進めるのが好ましい。ウオーターフォールで行う場合は、余裕の持ったスケジュールを組まない限り、途中でプロジェクトが成り立たなくなる可能性があるだろう」
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 無断でダウンロードしたデータでもAI開発に使える? 改正著作権法を弁護士が解説
AIモデル開発を目的とするなら、著作権者に許諾を得ずとも、データのダウンロード、整形、加工がより広い範囲で行えるようになった。弁護士法人STORIAの柿沼太一弁護士が、2019年1月1日に施行された「改正著作権法」のポイントとAIモデル開発時の注意点について解説した。 - 「失敗しないAI開発プロジェクト」の作り方をエンジニアに聞いた
さまざまなAI開発現場を渡り歩いた現役のエンジニアが、「AI開発プロジェクトを成功させる開発チーム作り」について、国内のさまざまな企業や有識者を集めたイベント「THE AI 2018」で語った。 - 開発費5000万円、売り上げ10万円!――オリジナルプロダクト開発に失敗し続けたシステム開発会社の今
トラブルの原因は何だったのか、どうすれば良かったのか。実在する開発会社がリアルに体験した開発失敗事例を基に、より良いプロジェクトの進め方を山本一郎氏が探る本連載。今回は未経験分野のゲーム分野に勢いで参入して、火だるまになった事例を紹介します。