ビッグデータは人類の歴史のどの時代にも存在していましたが、テクノロジーが一定の段階まで発達して初めて出現し始めました。そして、その未来はどこにあるのでしょうか? Intercom のエンジニアである Cathal Horan 氏は、ビッグ データに関する自身の見解を述べました。彼は、未来はコードではなくアルゴリズムに属すると考えています。 「ビッグデータ時代」という呼び名は今日の世界に限ったものではなく、データは人類文明の歴史のあらゆる時代に存在しています。これらの歴史的期間を振り返ると、離散から抽象への移行を通じて、アルゴリズムがコードよりも重要である理由がわかります。 ビッグデータといえば… 人類の歴史全体を1日と考えると、午後11時7分からしか始まりません。静かな一日です。しかし、その後の短い時間で、私たちは他の人に伝えたい多くの知識と物語を蓄積しました。人類は当初、会話を通じて、親から子へ、教師から生徒へと、世代から世代へと知識を伝えてきたと想像できます。しかし、社会全体の知識の量が急速に増加したため、元の会話形式ではそれほど多くの情報を伝達できなくなりました。 この情報を保存し、広めるために本にまとめる必要があります。文字による知識の体系化は、この時期の大きな技術的変化を表しています。実際、ソクラテス(プラトンの『パイドロス』の登場人物)は、この技術の変化が対話の本来の形式よりも劣るものだと考え、知恵と知識を発展させる能力を低下させることを懸念していました。ですから当然、ソクラテスはテレビを好まないと思います。 問題の核心は、対話が個別のコミュニケーション手段であるという点です。誰と話しているのかがわかっており、会話に参加している人々は議論や反論を通じて直接やり取りしています。一方、本は著者と読者の間に直接的なやりとりがない抽象的なコミュニケーション手段です。著者は自分の本を誰が読んだのかを知りませんし、何人の人がいつどこで読んだのかも知りません。場合によっては、潜在的な読者層が誰であるかを把握し、その読者層に基づいてコンテンツをカスタマイズすることもあります。しかし、ほとんどの場合、本は知識を広め、新しいスキルを学ぶための抽象的な手段にすぎません。 二等辺三角形のビッグデータ 単純な計算形式から、定理、記号、アルゴリズム(現在では数学と呼ばれています)で構成される抽象的な形式に移行したとき、ビッグデータの新たな時代が始まりました。記録に残る最初の計算は、紀元前 2500 年頃のメソポタミアで行われました。当時、メソポタミア人は納屋一杯の食糧で何人の人を養えるかを計算する必要がありました。 メソポタミア人は特定の問題に焦点を当てており、解決する必要がある問題が何であるかを正確に知っていました。各計算で解決できる問題は 1 つだけなので、計算は非常に離散的です。批評家がそれらは数学ではないと言うのはそのためです。紀元前 500 年頃の古代ギリシャになって初めて、ピタゴラス学派 (初期の Google ユーザーと考えてください) が三角形について奇妙な疑問を持ち始めました。たとえば、彼らは二等辺直角三角形の 3 辺すべてが整数であるかどうかを知りたかったのです (これは Google 風の面接の質問のように聞こえますか?)。 この質問に個別に答えたい場合は、メソポタミア人のように答えることができます。ただし、数が増えるとこのアプローチは面倒になる可能性があります。この仮定 (3 辺すべてが整数になることはできないため、これは間違いです) を証明するには、何回の計算を実行する必要がありますか? 二等辺三角形の問題との違いは、特定の関心点がないことです。三角形の大きさも辺の長さもわかりませんが、その大きさは無限大である可能性があります。数字に推論を適用すると、数学の領域に入り、ビッグデータが続きます。ピタゴラスの考え方は数学の抽象的な性質を体現しており、今日私たちはそのような抽象的な問題を解決するために記号、規則、推論を使用しています。 人類の歴史におけるビッグデータの他の時代について知りたい方もいるかもしれませんが、私はいきなり 20 世紀に飛び、コードが現代のテクノロジー分野でどのように重要な部分になったかを見ていきたいと思います (ビッグデータの他の時代についてご存知の方は、@cathalhoran までご連絡ください。きっと興味深い内容になると思います)。 コードの台頭 コーディング (またはプログラミングですが、ここではその違いを区別しません) の重要性は、グレース ホッパーがハーバード マーク I コンピューターの開発を始めた 1945 年に現れ始めました。それ以前は、コンピューター(そう呼べるのであれば)はせいぜい計算ツールに過ぎませんでした。第二次世界大戦を例に挙げると、当時の大砲は照準を補助するためにマトリックスの助けを必要としていました。マトリックスは、距離、高度、風速、温度、湿度など、何百ものさまざまな要素を使用する方程式の結果です。コンピュータという名前も偶然に生まれました。第二次世界大戦中にコンピュータを操作していた女性たちを表すために使われました。彼女たちは「コンピュータ」と呼ばれていました。オペレーターは方程式を解くためにパンチカードとクランクを使用する必要がありました。パンチカード 1 枚を完成させるのに 170 人月かかりました。 これは先ほど説明したこととどのように似ているでしょうか? メソポタミア人は粘土のマトリックスを使用して計算を行っていましたが、20 世紀までに計算の媒体はコードになりました。大きな進歩が遂げられているものの、エンコーディングは特定の計算タスクを実行するため、依然として個別の操作であり、効率は向上しています。コーディングにより手作業が軽減され、より多くのデータを処理できるようになります。 アルゴリズムとコード アルゴリズム: 問題の解決方法を説明し、正確性と有限性の基準を満たす一連の手順。これは、特定の実装に依存しない抽象的な計算ステップです。コード: 一連のコンピューター命令。これらは、特定のプログラミング言語で記述され、特定のプラットフォーム上で実行される計算の特定の実装です。 コード化された命令をコンピューターに直接送信するこの方法は、より複雑な命令シーケンスを実装し、アルゴリズムの形式で提示するために使用できます。アルゴリズムはコーディングよりもずっと前から存在していました。イスラムの数学者アル・ハワリズムは、西暦 820 年頃に線形方程式と二次方程式を解くアルゴリズムを説明しました。アルゴリズムという言葉は数学者のラテン語名「アルゴリツミ」に由来し、「代数」はハワリズムが二次方程式を解くために使用した「アル・ジャブル」に由来します。アルゴリズムは、結果を生成する有限の一連の計算または命令で構成されます。ご存知のように、コードはコンピューターに指示を与える方法であり、アルゴリズムの実装に適しています。これらは単に、特定の順序で実行される一連の操作です。 ビッグデータの初期の頃と同様に、私たちの時代でも情報量は増加しています。ムーアの法則に従い、コードの設計と使用の改善により、デジタル化の要求に対応できるパフォーマンスが向上しました。引き続きコードを記述して、データベースにクエリを実行し、関連リソースのリストを取得できます。ハードウェアに何をすべきかを指示するコードがまだ作成されているため、これらの操作の個別的な性質は依然として保持されています。操作がますます複雑になっても、それは人間からのコード化された指示にすぎません。しかし、アルゴリズムが登場し始め、抽象化の新しい時代が到来しています。 アルゴリズムの台頭 つまり、アルゴリズムとコードには大きな違いがあります。コードを使用してアルゴリズムを実装できますが、コードの実装方法によってパフォーマンスが影響を受ける可能性があります。たとえば、シーケンス内の最大または最小の要素を検索する場合、バイナリ ヒープは他のデータ構造よりもはるかに優れたパフォーマンスを発揮します。ただし、曲を書くために音楽を聴く必要がなくなったのと同じように、アルゴリズムを実装するためにコードを書く必要はなくなりました。 ムーアの法則の魔法や、デジタル経済の発展を推進するパフォーマンスの向上がムーアの法則に従っていることは誰もが知っていますが、多くの分野で、アルゴリズムによってもたらされるパフォーマンスの向上が、ハードウェアによってもたらされるパフォーマンスの向上を上回っていることを知っている人はほとんどいません。実際、2010 年の公式レポートでは、アルゴリズムによって音声認識、ニューラル言語処理、ロジスティクスなど多くの分野でパフォーマンスが大幅に向上したことが示されています。 「さらに驚くべき、そしておそらくさらに理解しがたいのは、多くの分野でアルゴリズムによってもたらされるパフォーマンスの向上が、プロセッサ速度の向上によってもたらされるパフォーマンスの向上をはるかに上回っていることです。」—大統領および議会への報告書:デジタルの未来の設計 抽象アルゴリズム 現在私たちが持っているデータの量は膨大であり、もはや個別に考えることはできません。ビッグデータは私たちに考え方を変えるよう迫ります。私たちは一歩下がって、大量のデータを処理する方法を探す必要に迫られます。従来は、指定されたパターンまたはパラメータに基づいてデータをクエリするコードを記述していました。たとえば、過去 2 週間に 2 つの商品を購入し、30 ユーロ以上支払った顧客をデータベースから見つけて、これらの顧客に連絡し、特別オファーを推奨したいとします。このパターンを使用して一致するデータを検索します。しかし、ビッグデータはまさにその逆です。まずデータを入手し、次にそのデータに一致するパターンを探します。 考えてみてください。データは非常に多いのに、一致するパターンが見つからないので、一歩後退する必要があります。私たちは、クラスタリング、分類、機械学習、その他の新しいサポート技術を通じてパターンを探しますが、これを支援するのはコードではなくアルゴリズムです。暗闇に隠れたパターンを見つけるには、このステップを踏むことが必要です。スペクトルと同じように、目に見えない光の波長もありますし、一定量を超えるとパターンも見えなくなります。これがビッグデータです。 パターンを検索できるだけでなく、それらの操作を実行するために必要なコードを生成することもできます。ペドロ・ドミンゴスは著書『マスターアルゴリズム』の中で、「学習アルゴリズム」を使って新しいアルゴリズムを作成し、そのアルゴリズムで必要なコードを作成できる仕組みについて次のように説明しています。「機械学習により、コンピューターは自分自身をプログラムできるようになり、私たちは自由になります。」この目標を達成するには、これらのアルゴリズムがどのように機能し、それをどのようにニーズに適合させるかをより深く理解する必要があります。そうしないと、抽象化への移行ができなくなります。 「産業は手作業を自動化し、情報は頭脳労働を自動化し、機械学習は機械学習自体を自動化します。機械学習がなければ、プログラマーがボトルネックになります。機械学習があれば、開発のペースは加速します。」—ペドロ・ドミンゴス、「マスターアルゴリズム」 思考アルゴリズム しかし、離散から抽象へどのように移行しても、依然としてプログラマーが必要ですが、それは重要ではありません。これは、コードが重要ではない、またはコードによって何の改善ももたらされないという意味ではありません。重要なのは、アルゴリズムについて考え始める必要があるということであり、これは数学者や学者だけの問題ではないということです。私たちはアルゴリズムに囲まれているため、アルゴリズムを使用したり理解したりするためにコードの書き方を知る必要はありません。現在、遺伝的プログラミングとビッグデータ技術を活用し、新しいアルゴリズムを通じてさまざまな分野を最適化し、改善している人もいます。金属の冷却を観察し、それをアルゴリズム的にモデル化することで、より優れた最適化手法が生み出された例もあります (これはシミュレーテッド アニーリングと呼ばれ、問題をアルゴリズム的に考え始めるべき理由を示す好例です)。 コーディングは、読み方を学ぶのと同じように、新しいデジタル経済にとって重要なスキルであるため、アルゴリズムに対する理解が曖昧になっています。映画の推薦からニュースのフィルタリング、パートナーの検索まで、アルゴリズムはますます私たちの生活に欠かせないものになりつつあります。私たちは、自分たちの未来をより良く理解し、コントロールするために、彼らをより良く理解する必要があります。 |
>>: トップ 10 のディープラーニング フレームワークの比較分析
AIはどのように機能し、スマートシティ開発の次のステップとして、都市や公共スペースにAIを導入でき...
人工知能は、IoT の機能を実現する上で重要な役割を果たします。 AI と IoT の融合を推進し、...
人工知能はもはや未来的な概念ではなく、私たちの日常生活に欠かせないものとなっています。私たちが目覚め...
Redis のメモリ オーバーフローの問題は、通常、次のような状況によって発生します。データが多す...
過去10年間を振り返ると、人工知能の進歩は「目覚ましい」ものと言えます。特に2015年にAlphaG...
今朝早く、ネットユーザーが私に人気の AI プロジェクトを勧めてくれました。世界中を旅して、アンジェ...
この記事では、モデルのパフォーマンスを評価する際のデータ漏洩の問題と、データ漏洩を回避する方法につい...
「公共交通機関では健康コードの提示が求められますが、提示できない場合はどうすればよいですか?」予防と...
2022年北京冬季オリンピックが新たなニュースをもたらしました。冬季オリンピックでの「ブラックテク...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
デジタル変革は、現在の企業、特にハイテクの伝統的な製造業の主なテーマとなっています。人工知能、クラウ...