@ITとMONOistはセミナー「AI/IoT時代のソフトウェア開発〜ITとOTの出会う場所〜」を開催。同セミナーの「MONOist Quality Track」のレポートをお送りする。
AI(人工知能)やIoT(モノのインターネット)の登場により、従来はIT(情報技術)分野とOT(制御技術)分野で分かれていたソフトウェアの開発手法も変化を見せつつある。互いがつながることにより、開発スピードを重視してきたIT分野と、品質を重視してきたOT分野は融合しつつあるのだ。
そこで、主にIT分野の技術者を読者とする@ITと、製造業の技術者を読者とするMONOistは2017年12月6日、東京都内でセミナー「AI/IoT時代のソフトウェア開発〜ITとOTの出会う場所〜」を開催。「@IT Agile Track」と「MONOist Quality Track」の2トラックでさまざまな講演が行われた。
本稿では、Preferred Networks(PFN) 最高戦略責任者の丸山宏氏による基調講演を中心に、MONOist Quality Trackの講演内容を紹介する。
PFNと言えば、ディープラーニング(深層学習)用フレームワーク「Chainer」をはじめとする先進的なAI関連技術を開発しているベンチャー企業だ。また、トヨタ自動車やファナックをはじめとする国内製造業と連携し、機器やデバイスといったエッジ側にAIを組み込む「エッジヘビー」を推進していることでも知られる。
丸山氏は「深層学習を用いたシステムにおけるソフトウェア品質」と題した講演の中で、従来とは異なる深層学習の特徴を紹介するとともに、その活用法や品質確保について説明した。
同氏によれば、深層学習は状態を持たない関数であるという。例えば、摂氏を華氏に変換するための関数は、その仕様に対して、人が持つ先験的知識を基にしたモデル(華氏=1.8×摂氏+32)からソフトウェアコードとして実装するのが一般的だ。
しかし深層学習では、観測した訓練データセット(ある温度における、摂氏温度と華氏温度のデータセット)から関数を導き出す。訓練データセットさえ用意すれば、ほぼ自動で関数を作ることができるわけだ。
ただし、深層学習を含めた機械学習(統計モデリング)では、訓練データをよく再現するモデルの選択が重要になる。「機械学習ではパラメータが多いほど過学習が起こりやすい。過学習に陥らない適切なモデルを選ばなければならない」(丸山氏)。
丸山氏は、自動運転における車載カメラ画像の対象分類(セグメンテーション)や、「Amazon Picking Challenge 2016」におけるピッキング対象の分類、レーシングコースを最適に周回するためのレーシングカーへの強化学習、音声を用いたロボットの制御、線画に色を付ける「PaintsChainer」など、深層学習を用いたさまざまな事例を紹介。その上で、「汎用計算機構としての深層学習は、入力が超多次元、出力が超多次元であれば、桁違いにパラメータが多くなるものの、任意の多次元非線形関数を近似できる。これはつまり、疑似的にチューリング完全ということだ。深層学習は、機械学習の1つではあるが過学習は起こりにくい」と説明する。
だからといって深層学習はいいことばかりではない。「暴力的な計算リソース」(丸山氏)が必要だからだ。例えば、自動運転の学習を1日で終わらせるのに必要な計算リソースは1エクサ〜100エクサFlops(1エクサは10の18乗)だという。つまり、「深層学習の力を引き出すには計算リソースをどれだけ持っているかが重要になる」(同氏)わけだ。
PFNは、分散深層学習パッケージ「ChainerMN」を用いて、GPUの数にほぼ比例して学習速度を高められること(スケールアウト性能)を示すなどして、計算リソースを効率的に引き出す取り組みを進めている。しかし、深層学習にとって計算リソースの重要性が変わるわけではない。
Copyright © ITmedia, Inc. All Rights Reserved.