この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。

前回の記事はこちら

本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 では、機械学習を用いて何らかのシステムを構築しようとする際の体系的なアプローチとは、どのような姿になるのか。明確に見えている訳ではないが、識者の意見を総合すると、「機械学習の利用を前提とした新しい形のソフトウエア工学」を構築することがゴールとなりそうだ(図1)。

 そもそも、機械学習といっても実態はソフトウエアの一種である。このため、体系化するといってもゼロから構築するのは適切ではない。機械学習もあくまで「ソフト開発手法の一種」と捉え、「既存のソフトウエア工学をベースにして、その全体なり一部なりを機械学習向けに書き換えることになるだろう」。MLSEの発起人の1人で、前職の東芝でソフトウエア工学の研究者を務めていたLeapMindの今井氏はそう語る。このように既存のソフトウエア工学を、機械学習特有の性質を踏まえて改変したものが、MLSEなどが掲げる「機械学習工学(machine learning engineering)」だと言える。

図1 機械学習を前提とした新しいソフトウエア工学が必要
機械学習は、ソフトウエアを構築する新しいパラダイムの1つと位置付けられる。従来のソフトウエア工学の各エリアを機械学習向けに書き換えた「機械学習工学」を打ち立てる必要がある。従来のソフト工学と機械学習工学を合わせたものが、今後の新しいソフトウエア工学(Software 2.0)となる。
[画像のクリックで拡大表示]

 そして、「新時代のソフトウエア工学」とは、この「機械学習工学と既存のソフトウエア工学を足し合わせたものとなる」(PFNの丸山氏)。自動運転やロボット、IoTなどに代表されるように、今後のソフトウエアは機械学習技術を無視することはできず、それらの利用を前提に構築することになる。PFNの丸山氏は「2020年には新しく作られるソフトウエアプロジェクトの50%以上が統計的機械学習を応用したものとなるだろう」とまで予測する。

 そうした時代にあっては、ソフトウエア技術者ももはやどちらか片方の素養だけでは足りない。それぞれの利点欠点や特質を踏まえ、適材適所で使い分けるには、ソフトウエア工学と機械学習工学の両方に通じている必要がある。

 米Tesla社でDirector of AIを務め、機械学習の専門家であるAndrej Karpathy氏は、この新しい時代のソフトウエア工学を「Software 2.0」と形容している1)。従来のコードベースのソフトウエア開発を「Software 1.0」とすれば、機械学習工学を付加した新しいソフト工学の体系は「Software 2.0」になるという趣旨だ。PFN 共同創業者 取締役副社長で本誌に「AI最前線」を毎号寄稿している岡野原大輔氏も「Software 2.0は私の考えとよく似ている。これから深層学習や強化学習はソフトウエア開発の重要な構成要素となってくる」としている2)

実装工程はアジャイルに

 機械学習工学は、ソフト工学と具体的にどこがどう変わるのか。