何年もの間、ソフトウェア開発は手動で行われていました。
FORTRANでのパンチカードから、Goでの分散メソッドの作成まで、規律は基本的に同じです。問題について熱心に考え、巧妙なアプローチ(つまり、アルゴリズム)を作成し、マシンに実装するための2つの命令を与えます。
「明示的なプログラミング」と呼ばれるこのアプローチは、インターネットブームからモバイル革命に至るまで、メインフレームからスマートフォンに至るまでのすべての鍵でした。それは新しい市場を創造するのを助け、アップル、マイクロソフト、グーグル、フェイスブックのような会社を一般的な名前にしました。
それでも、何かが欠けています。フィリップディックのロボットタクシーからジョージルーカスのC-3POまで、古代のコンピューティング時代の著者によって構想されたインテリジェントシステムは、サイエンスフィクションを続けています。一見単純なタスクは、最も優秀なコンピューター科学者でさえも頑固に自動化に逆らいます。専門家は、これらの課題に直面して、シリコンバレーが基本的な進歩から離れて、インクリメンタルまたは流行主導の企業に焦点を合わせていると非難しています。
それは明らかに変わるでしょう。 Waymoの自動運転車は、最近800万キロを走行しました。 Microsoftの翻訳エンジンは、600万形式のコミュニケーションに堪能ではありませんが、中国語から英語へのタスクで人間レベルの精度に適合できます。また、新興企業は、インテリジェントアシスタント、産業オートメーション、不正検出など、さまざまな場所で新境地を開拓しています。
個人的には、これらの新しいテクノロジーは私たちの日常生活に影響を与えることを約束します。まとめると、これらはソフトウェア開発についての考え方の大きな変化を表しており、明示的なプログラミングモデルからの顕著な逸脱でもあります。
これらの進歩のそれぞれをサポートする心臓のブレークスルーは、脳の構築によって動機付けられた人工知能戦略であるディープラーニングです。比較的狭いデータ評価ツールとして始まったものが、今では一般的なコンピューティングシステムに近いものとして機能しています。これは、幅広い職種で従来のソフトウェアよりも優れており、最終的には、コンピューター科学者を長い間避けてきたインテリジェントシステムを提供する可能性があります。
しかし、深い学習の誇大宣伝の中で、ほとんどのオブザーバーは、その将来について前向きである最大の理由を見落としています。深い学習では、コーダーはほとんどコードを書く必要がありません。ディープラーニングプログラムは、事前設定されたルールやif-then請求書に依存するのではなく、前の例に基づいて原則を自動的に記述します。ソフトウェア開発者は、 「大まかなスケルトン」を作成するだけで、テスラのAndrej Karpathyを言い換えて、残りの作業をコンピューターに任せることができます。
この新しい世界では、プログラマーはすべての問題に対して特別なアルゴリズムを設計する必要がなくなりました。ほとんどの作業は、むしろ、望ましい行動を反映するデータセットの生成とトレーニングプロセスの管理に集中しています。 GoogleのTensorFlowチームのPeteWardenは、2014年までさかのぼってこれを指摘しました。 「私は以前はコーダーでした」と彼は書いています。 「私はコンピューターに独自のアプリを作成するように教えています。」
繰り返しますが、今日のアプリケーションで最も重要な改善を推進するプログラミングモデルは、実際のプログラミングを大量に必要としません。
これは、ソフトウェア開発の将来にとって何を意味しますか?
プログラミングとデータサイエンスはますます収束する
ほとんどのアプリケーションには、当面の間、「エンドツーエンド」の学習プログラムは含まれません。データモデルに依存して、コア認知能力と明示的なロジックを提供し、ユーザーとのインターフェースを取り、結果を変換します。 「この問題に対してAIを利用するべきか、それとも従来のアプローチを利用すべきか」という質問。ますます発展していきます。インテリジェントシステムを設計するには、両方を制御する必要があります。
AIの専門家はおそらくロックスターになるでしょう
AIを行うのは大変です。優秀な学者や研究者だけでなく、ランクアンドファイルのAIプログラマーは、後のソフトウェアビジネスにとって最も価値のあるツールの1つになるでしょう。これは、1950年代からさまざまな業界で自動作業を行っており、現在は自分の仕事の部分的な自動化に直面している従来のコーダーにとっては少し皮肉なことです。彼らのサービスの要件は確実に低下することはありませんが、最前線にとどまりたい個人は、健全な懐疑論を持って、AIからの水をチェックする必要があります。
AIツールチェーンを構築する必要があります
Lyftの機械学習リーダーであるGilArditiは、それが最も良いと述べました。 「機械学習は現在、原始的なスープの時代にあります。これは、80年代初頭または70年代後半のデータベースと非常によく似ています。これらのアイテムを機能させるには、世界のスペシャリストになる必要がありました。 」調査によると、多くのAIモデルは説明するのは簡単ではなく、欺くのは重要ではなく、偏見の影響を受けやすい。とりわけ、これらの問題に対処するためのツールは、AI開発者の可能性を解き放つために不可欠です。
私たちは皆、予測できない行動に精通する必要があります
PCの「教育」の概念は、プログラマーにもユーザーにも適しています。それは、コンピューターが私たちの言うことを正確に実行し、同様の入力が一貫して同様の出力を生成するという印象を強めます。対照的に、AIバージョンは、呼吸する生きたシステムのように機能します。新しいツールを使用すると、特にセーフティクリティカルな構成で、明示的なプログラムのように動作しますが、ガードレールをきつく配置しすぎると、AlphaGoの「エイリアン」の動きのようにこれらのシステムの価値を失うリスクがあります。 AIソフトウェアを成長させて使用するにつれて、確率的な結果を理解して受け入れる必要があります。
そして、AIの乗っ取りの可能性がほぼゼロになることを願っています。