開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 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 新野淳一

Publickey 新野淳一

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディア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氏は指摘しています。

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

この続きは会員限定です

ここから先は「ビジネス+IT」の会員の方(登録は無料)のみ、ご利用いただけます。

今すぐビジネス+IT会員にご登録ください。

すべて無料!ビジネスやITに役立つメリット満載!

  • 1

    インタビューから事例記事まで、ここでしか読めない1万本超の記事が無料で閲覧可能

  • 2

    導入事例資料や技術資料、デモ動画などを無料でダウンロード・閲覧可能

  • 3

    年間1,000本以上、会員限定のスペシャルセミナーにご招待

  • 4

    ビジネス+IT編集部が必読記事を、メールマガジンでお知らせ!

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

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

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

PR

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!