ビジネス+IT

ビジネス課題別で探す

ITジャンル別で探す

会員限定

2017年11月22日

「Software 2.0」がやってくる? テスラのAI部門長が語るプログラマの「これから」

プログラミング言語を用いて開発が行われる従来のソフトウェアを「Software 1.0」とすると、その次にやってくる「Software 2.0」はニューラルネットワークで構成され、プログラマの仕事はニューラルネットワークの学習に使うデータの収集などになっていくだろう。テスラのAI部門長(Director of AI at Tesla)を務めるAndrej Karpathy氏が自身のブログのエントリ「Software 2.0」でそうした意見を記し、海外で話題になっています。

執筆:Publickey 新野淳一



photo


 Andrej Karpathy氏は、スタンフォード大学で機械学習を学び(教師は現在GoogleでAIと機械学習のチーフサイエンティストであるFei-Fei Li氏とのこと)、その後OpenAI社でコンピュータによる画像分析の研究者を経たのちに、現在TeslaのAI部門長として自動運転の実現に取り組んでいる人物です。

「Software 2.0」はニューラルネットワークで記述される

 Andrej Karpathy氏は「Software 2.0」について次のように書いています。

Software 2.0 is written in neural network weights. No human is involved in writing this code because there are a lot of weights (typical networks might have millions), and coding directly in weights is kind of hard (I tried). Instead, we specify some constraints on the behavior of a desirable program (e.g., a dataset of input output pairs of examples) and use the computational resources at our disposal to search the program space for a program that satisfies the constraints.

Software 2.0はニューラルネットワークの重み付けとして記述される。しかしそれを人間が記述することはない。なぜなら多くの重み付けがそこにはあるため(典型的なネットワークでは数百万になるだろう)、直接その重み付けを記述するのは困難だからだ(私は試した)。

その代わり、私たちは望ましいプログラムの振る舞いのための制限などを規定する(例えば入力と出力のサンプルデータのペアなど)ことや、その制限を満たすプログラムを探索するためにコンピュータリソースを用いるといったことになる。

現実の問題解決はコードを書くよりデータを集める方がずっと簡単だ

 なぜKarpathy氏がSoftware 2.0の台頭を予測するかというと、それは現実世界の問題解決においては、プログラムを書くよりも関連するデータを集める方がずっと簡単だからだといいます。だからコードを記述する「Software 1.0」から、データを学習させる「Software 2.0」へ向かうのだと。

It turns out that a large portion of real-world problems have the property that it is significantly easier to collect the data than to explicitly write the program.

これはつまり、現実世界の課題の大部分は、明示的にプログラムを書くよりも、データを収集する方がずっと容易だという性格を持っているからだ。

 そこで将来のプログラマの仕事は、コードを書くことではなく、データを集めることなどになっていくと。

A large portion of programmers of tomorrow do not maintain complex software repositories, write intricate programs, or analyze their running times. They collect, clean, manipulate, label, analyze and visualize data that feeds neural networks.

将来、プログラマの仕事の大部分は、複雑なソフトウェアリポジトリの維持やプログラミングや実行時間を分析することではない。ニューラルネットワークに与えるためのデータを集め、整理し、操作し、ラベル付けや分析、ビジュアル化などを行うのだ。

Software 2.0はSoftware 1.0を置き換えるものではない

 ただしSoftware 2.0はSoftware 1.0を置き換えるものではない、とKarpathy氏は念を押しています。例えばSoftware 1.0で用いられるインフラはSoftware 2.0においても必要です。

 ただしSoftware 2.0の範囲はSoftware 1.0の領域を侵食するとも指摘しており、いくつかの具体例を挙げています。

 例えば画像解析、音声認識、機械翻訳などの分野では、それまで全部もしくは一部が解析アルゴリズムなどで処理されてものが、いまではほとんどニューラルネットワークに置き換えられていると。

 またSoftware 1.0で用いられる複雑なコマンドや命令セット群に比べると、ニューラルネットワークはシンプルな命令の組み合わせであるためシリコンで実現しやすく、かつ処理時間が短くメモリ消費量も小さいと言った利点も挙げられました。

 一方、いまのところニューラルネットワークは多くの領域で90%程度の正確性を持つモデルは理解されているものの、99%の正確性を実現するモデルへの理解は十分でないといった制限もKarpathy氏は指摘しています。

ディープラーニングが従来のソフトウェアを侵食する

AI・人工知能・機械学習 ジャンルのセミナー

一覧へ

AI・人工知能・機械学習 ジャンルのトピックス

一覧へ

AI・人工知能・機械学習 ジャンルのIT導入支援情報

一覧へ

PR

注目のIT導入支援情報

一覧へ

注目のイベント・セミナー情報

一覧へ

イベント・セミナー情報の登録(無料)

記事アクセスランキング

イベント・セミナー情報アクセスランキング