カスタムAI(学習モデル)の作成には高度な専門知識やコンピューターリソース、そして膨大な学習データの準備が必須だったが、すでにそんな常識は崩れてきているようだ。
AI作成の民主化が進んでいることを実感できる「Lobe」というAI作成サービスについてご紹介していく。
・カスタム学習モデルを自動生成
「Lobe」では、あらかじめ用意された学習モデルを組み合わせることで、手軽に素早く新たな学習モデルを作成し目的の処理をさせられる。
どんなことができるのか参考例を見てみると、ホットドックかそうでないかを判別したり、花びらから花の種類を予測したり…といった基本的なことから、コーヒー豆の写真から重さを予測したり、音の波形から楽器を予測したり、はたまた口の形から何を言っているのかを予測したり…といったかなり複雑なこともできてしまうようだ。
用意した学習データをドラッグ・アンド・ドロップすると、「Lobe」が自動的にカスタム学習モデルを生成し、クラウド上でトレーニングが始まる。
そしてありがたいことに、深層学習(ディープラーニング)の各レイヤーや、トレーニング過程はわかりやすく可視化される。
・パラメーターや接続を調整して判別精度を向上させる
ディープラーニングでは、学習データに対して幾層ものレイヤーで重みづけをほどこすが、「Lobe」では各レイヤーや、用意されているの学習モデルひとつひとつのことをlobesと呼んでいるようだ。
新たな学習モデルの作成では、学習データから自動生成されたlobesや用意されているlobesをつなぎ合わせて、パラメーター及び接続の調整をほどこすことになる。
たとえば、写真から手の形に対応した絵文字を予測する学習モデルを作りたいなら、まず手と顔を認識するlobesを接続し、画像からメインとなる手だけを検出するようにする。その後、手の形の特徴量を抽出し、最後はこれにラベルづけするlobesを接続。対応した絵文字を出力するといった具合だ。
・iOS/Androidアプリへの組み込み
各レイヤーや出力結果が可視化され、リアルタイムで変更が確認できるので、カスタム学習モデルの調整がわかりやすい。
トレーニングしたカスタム学習モデルをCoreMLやTensorFlowといった機械学習フレームワークにエクスポートし、開発中のiOS/Androidアプリに組み込むことができる。
「Lobe」を活用すれば、ローカルのコンピューターリソースに負荷をかることなく作業できる。また、ディープラーニングの仕組みが見えてるので、数学やプログラミングの知識が乏しくても、直感的に自分の求めていたAIを作成できそうだ。
Lobe