ビッグデータの時代では、ソフトウェアエンジニアは徐々に減少し、アルゴリズムエンジニアが増加しています。

ビッグデータの時代では、ソフトウェアエンジニアは徐々に減少し、アルゴリズムエンジニアが増加しています。

[[209263]]

ビッグデータは人類の歴史のどの時代にも存在していましたが、テクノロジーが一定の段階まで発達して初めて出現し始めました。そして、その未来はどこにあるのでしょうか? Intercom のエンジニアである Cathal Horan 氏は、ビッグ データに関する自身の見解を述べました。彼は、未来はコードではなくアルゴリズムに属すると考えています。

「ビッグデータ時代」という呼び名は今日の世界に限ったものではなく、データは人類文明の歴史のあらゆる時代に存在しています。これらの歴史的期間を振り返ると、離散から抽象への移行を通じて、アルゴリズムがコードよりも重要である理由がわかります。

情報はデータである

人類の歴史全体を1日と考えると、午後11時7分からしか始まりません。静かな一日です。しかし、その後の短い時間で、私たちは他の人に伝えたい多くの知識と物語を蓄積しました。人類は当初、会話を通じて、親から子へ、教師から生徒へと、世代から世代へと知識を伝えてきたと想像できます。しかし、社会全体の知識の量が急速に増加したため、元の会話形式ではそれほど多くの情報を伝達できなくなりました。

この情報を保存し、広めるために本にまとめる必要があります。文字による知識の体系化は、この時期の大きな技術的変化を表しています。実際、ソクラテス(プラトンの『パイドロス』の登場人物)は、この技術の変化が対話の本来の形式よりも劣るものだと考え、知恵と知識を発展させる能力を低下させることを懸念していました。ですから当然、ソクラテスはテレビを好まないと思います。

問題の核心は、対話が個別のコミュニケーション手段であるという点です。誰と話しているのかがわかっており、会話に参加している人々は議論や反論を通じて直接やり取りしています。一方、本は著者と読者の間に直接的なやりとりがない抽象的なコミュニケーション手段です。著者は自分の本を誰が読んだのかを知りませんし、何人の人がいつどこで読んだのかも知りません。場合によっては、潜在的な読者層が誰であるかを把握し、その読者層に基づいてコンテンツをカスタマイズすることもあります。しかし、ほとんどの場合、本は知識を広め、新しいスキルを学ぶための抽象的な手段にすぎません。

二等辺三角形のビッグデータ

単純な計算形式から、定理、記号、アルゴリズム(現在では数学と呼ばれています)で構成される抽象的な形式に移行したとき、ビッグデータの新たな時代が始まりました。記録に残る最初の計算は、紀元前 2500 年頃のメソポタミアで行われました。当時、メソポタミア人は納屋一杯の食糧で何人の人を養えるかを計算する必要がありました。

メソポタミア人は特定の問題に焦点を当てており、解決する必要がある問題が何であるかを正確に知っていました。各計算で解決できる問題は 1 つだけなので、計算は非常に離散的です。批評家がそれらは数学ではないと言うのはそのためです。紀元前 500 年頃の古代ギリシャになって初めて、ピタゴラス学派 (初期の Google ユーザーと考えてください) が三角形について奇妙な疑問を持ち始めました。たとえば、彼らは二等辺直角三角形の 3 辺すべてが整数であるかどうかを知りたかったのです (これは Google 風の面接の質問のように聞こえますか?)。

この質問に個別に答えたい場合は、メソポタミア人のように答えることができます。ただし、数が増えるとこのアプローチは面倒になる可能性があります。この仮定 (3 辺すべてが整数になることはできないため、これは間違いです) を証明するには、何回の計算を実行する必要がありますか? 二等辺三角形の問題との違いは、特定の関心点がないことです。三角形の大きさも辺の長さもわかりませんが、その大きさは無限大である可能性があります。数字に推論を適用すると、数学の領域に入り、ビッグデータが続きます。ピタゴラスの考え方は数学の抽象的な性質を体現しており、今日私たちはそのような抽象的な問題を解決するために記号、規則、推論を使用しています。

人類の歴史におけるビッグデータの他の時代について知りたいと思うかもしれませんが、ここでは 20 世紀に目を向けて、コードがどのようにして現代のテクノロジーの世界で不可欠な要素となったのかを見ていきたいと思います。

コードの台頭

コーディング (またはプログラミングですが、ここではその違いを区別しません) の重要性は、グレース ホッパーがハーバード マーク I コンピューターの開発を始めた 1945 年に現れ始めました。それ以前は、コンピューター(そう呼べるのであれば)はせいぜい計算ツールに過ぎませんでした。第二次世界大戦を例に挙げると、当時の大砲は照準を補助するためにマトリックスの助けを必要としていました。マトリックスは、距離、高度、風速、温度、湿度など、何百ものさまざまな要素を使用する方程式の結果です。コンピュータという名前も偶然に生まれました。第二次世界大戦中にコンピュータを操作していた女性たちを表すために使われました。彼女たちは「コンピュータ」と呼ばれていました。オペレーターは方程式を解くためにパンチカードとクランクを使用する必要がありました。パンチカード 1 枚を完成させるのに 170 人月かかりました。

これは先ほど説明したこととどのように似ているでしょうか? メソポタミア人は粘土のマトリックスを使用して計算を行っていましたが、20 世紀までに計算の媒体はコードになりました。大きな進歩が遂げられているものの、エンコーディングは特定の計算タスクを実行するため、依然として個別の操作であり、効率は向上しています。コーディングにより手作業が軽減され、より多くのデータを処理できるようになります。

アルゴリズムとコード

アルゴリズム: 問題の解決方法を説明し、正確性と有限性の基準を満たす一連の手順。これは、特定の実装に依存しない抽象的な計算ステップです。

コード: 一連のコンピューター命令。これらは、特定のプログラミング言語で記述され、特定のプラットフォーム上で実行される計算の特定の実装です。

コード化された命令をコンピューターに直接送信するこの方法は、より複雑な命令シーケンスを実装し、アルゴリズムの形式で提示するために使用できます。アルゴリズムはコーディングよりもずっと前から存在していました。イスラムの数学者アル・ハワリズムは、西暦 820 年頃に線形方程式と二次方程式を解くアルゴリズムを説明しました。アルゴリズムという言葉は数学者のラテン語名「アルゴリツミ」に由来し、「代数」はハワリズムが二次方程式を解くために使用した「アル・ジャブル」に由来します。アルゴリズムは、結果を生成する有限の一連の計算または命令で構成されます。ご存知のように、コードはコンピューターに指示を与える方法であり、アルゴリズムの実装に適しています。これらは単に、特定の順序で実行される一連の操作です。

ビッグデータの初期の頃と同様に、私たちの時代でも情報量は増加しています。ムーアの法則に従い、コードの設計と使用の改善により、デジタル化の要求に対応できるパフォーマンスが向上しました。引き続きコードを記述して、データベースにクエリを実行し、関連リソースのリストを取得できます。ハードウェアに何をすべきかを指示するコードがまだ作成されているため、これらの操作の個別的な性質は依然として保持されています。操作がますます複雑になっても、それは人間からのコード化された指示にすぎません。しかし、アルゴリズムが登場し始め、抽象化の新しい時代が到来しています。

アルゴリズムの台頭

つまり、アルゴリズムとコードには大きな違いがあります。コードを使用してアルゴリズムを実装できますが、コードの実装方法によってパフォーマンスが影響を受ける可能性があります。たとえば、シーケンス内の最大または最小の要素を検索する場合、バイナリ ヒープは他のデータ構造よりもはるかに優れたパフォーマンスを発揮します。ただし、曲を書くために音楽を聴く必要がなくなったのと同じように、アルゴリズムを実装するためにコードを書く必要はなくなりました。

ムーアの法則の魔法や、デジタル経済の発展を推進するパフォーマンスの向上がムーアの法則に従っていることは誰もが知っていますが、多くの分野で、アルゴリズムによってもたらされるパフォーマンスの向上が、ハードウェアによってもたらされるパフォーマンスの向上を上回っていることを知っている人はほとんどいません。実際、2010 年の公式レポートでは、アルゴリズムによって音声認識、ニューラル言語処理、ロジスティクスなど多くの分野でパフォーマンスが大幅に向上したことが示されています。

「さらに驚くべき、そしておそらくさらに理解しがたいのは、多くの分野でアルゴリズムによってもたらされるパフォーマンスの向上が、プロセッサ速度の向上によってもたらされるパフォーマンスの向上をはるかに上回っていることです。」—大統領および議会への報告書:デジタルの未来の設計

抽象アルゴリズム

現在私たちが持っているデータの量は膨大であり、もはや個別に考えることはできません。ビッグデータは私たちに考え方を変えるよう迫ります。私たちは一歩下がって、大量のデータを処理する方法を探す必要に迫られます。従来は、指定されたパターンまたはパラメータに基づいてデータをクエリするコードを記述していました。たとえば、過去 2 週間に 2 つの商品を購入し、30 ユーロ以上支払った顧客をデータベースから見つけて、これらの顧客に連絡し、特別オファーを推奨したいとします。このパターンを使用して一致するデータを検索します。しかし、ビッグデータはまさにその逆です。まずデータを入手し、次にそのデータに一致するパターンを探します。

考えてみてください。データは非常に多いのに、一致するパターンが見つからないので、一歩後退する必要があります。私たちは、クラスタリング、分類、機械学習、その他の新しいサポート技術を通じてパターンを探しますが、これを支援するのはコードではなくアルゴリズムです。暗闇に隠れたパターンを見つけるには、このステップを踏むことが必要です。スペクトルと同じように、目に見えない光の波長もありますし、一定量を超えるとパターンも見えなくなります。これがビッグデータです。

パターンを検索できるだけでなく、それらの操作を実行するために必要なコードを生成することもできます。ペドロ・ドミンゴスは著書『マスターアルゴリズム』の中で、「学習アルゴリズム」を使って新しいアルゴリズムを作成し、そのアルゴリズムで必要なコードを作成できる仕組みについて次のように説明しています。「機械学習により、コンピューターは自分自身をプログラムできるようになり、私たちは自由になります。」この目標を達成するには、これらのアルゴリズムがどのように機能し、それをどのようにニーズに適合させるかをより深く理解する必要があります。そうしないと、抽象化への移行ができなくなります。

「産業は手作業を自動化し、情報は頭脳労働を自動化し、機械学習は機械学習自体を自動化します。機械学習がなければ、プログラマーがボトルネックになります。機械学習があれば、開発のペースは加速します。」—ペドロ・ドミンゴス、「マスターアルゴリズム」

思考アルゴリズム

しかし、離散から抽象へどのように移行しても、依然としてプログラマーが必要ですが、それは重要ではありません。これは、コードが重要ではない、またはコードによって何の改善ももたらされないという意味ではありません。重要なのは、アルゴリズムについて考え始める必要があるということであり、これは数学者や学者だけの問題ではないということです。私たちはアルゴリズムに囲まれているため、アルゴリズムを使用したり理解したりするためにコードの書き方を知る必要はありません。現在、遺伝的プログラミングとビッグデータ技術を活用し、新しいアルゴリズムを通じてさまざまな分野を最適化し、改善している人もいます。金属の冷却を観察し、それをアルゴリズム的にモデル化することで、より優れた最適化手法が生み出された例もあります (これはシミュレーテッド アニーリングと呼ばれ、問題をアルゴリズム的に考え始めるべき理由を示す好例です)。

コーディングは、読み方を学ぶのと同じように、新しいデジタル経済にとって重要なスキルであるため、アルゴリズムに対する理解が曖昧になっています。映画の推薦からニュースのフィルタリング、パートナーの検索まで、アルゴリズムはますます私たちの生活に欠かせないものになりつつあります。私たちは、自分たちの未来をより良く理解し、コントロールするために、彼らをより良く理解する必要があります。

<<:  単一画像超解像におけるディープラーニングの応用: SRCNN、知覚損失、SRResNet

>>:  2017年データサイエンスおよび機械学習業界現状調査:Pythonが最も人気のある言語

ブログ    

推薦する

メイン検索と店内検索の共同最適化の予備調査と試み

背景と概要Taobao プラットフォームには、検索、推奨、広告など、多くのサブシナリオがあります。各...

コンピュータビジョンがビジネス課題の解決に役立つ 5 つの方法

自動運転車、交通標識検出、顔認識、セルフサービスチェックアウト。 これらすべての高度なソリューション...

一般的な機械学習アルゴリズムの包括的なリスト

1. 学習方法1.1 教師あり学習1.2 教師なし学習1.3 半教師あり学習1.4 強化学習2. ア...

...

AI後の生活

人工知能は人類史上最も革命的な技術の一つとなるでしょう。 AI テクノロジーが発展するにつれて、どの...

自己強化型機械学習プロジェクト 10 選

機械学習プロジェクトは大きな発展の可能性を秘めています。最近、韓国の人気ドラマでもこの用語が使用され...

人工知能が教室に導入されると、教育プロセスにどのような変化が起こるでしょうか?

人工知能技術の応用により、コースの内容、教授法、教師と生徒の関係が変化しています。人工知能の利用によ...

5 年以内に、8,000 万の仕事が機械に置き換えられるでしょう。インダストリアル インターネットは治療薬でしょうか、それとも毒でしょうか?

時代の発展は常に要求と矛盾の中で発展しています。あらゆる産業革命は発展の力をもたらすだけでなく、大き...

...

爆発的なソラの背後にある技術、拡散モデルの最新の開発をレビューする記事

機械が人間の想像力を持てるようにするために、深層生成モデルは大きな進歩を遂げました。これらのモデルは...

WAVE SUMMITが今年もやって来ました! AI 開発者の饗宴がこの寒い冬を盛り上げます!

WAVE SUMMIT+ ディープラーニング開発者カンファレンス 2023 が 12 月 28 日...

...

機械学習の発展が吹き替え技術の向上にどのように役立つか

翻訳者 | 李睿校正 | 梁哲、孫淑娟人工知能 (AI) テクノロジーはここ数年で急速に発展し、ビジ...

経験からの教訓: 機械学習の問題に適したアルゴリズムを選択するにはどうすればよいでしょうか?

機械学習がますます普及するにつれて、タスクを適切に処理できるアルゴリズムがますます多く登場しています...

PaddlePaddle と TensorFlow の比較分析

この記事では主に、フレームワークの概要、システム アーキテクチャ、プログラミング モデル、分散アーキ...