人工知能とビッグデータを開発する際に留意すべき12のこと

人工知能とビッグデータを開発する際に留意すべき12のこと

人工知能は近年の科学技術発展の重要な方向です。ビッグデータの時代において、データの収集、マイニング、応用の技術はますます注目を集めています。人工知能やビッグデータの開発プロセスにおいて、特に注意すべき重要なポイントは何でしょうか?

[[243659]]

人工知能分野のアルゴリズムの専門家であり、ワシントン大学の教授であるペドロ・ドミンゴス氏は、この問題について深く考えてきた。

私たちが最近翻訳した書籍「インテリジェント Web アルゴリズム (第 2 版)」では、ペドロ・ドミンゴス教授の見解を要約し、業界の開発実践に重要な参考となる 12 の注目点を抽出しています。

注1: ​​データは信頼できない可能性があります

実際のアプリケーションでは、データが信頼できない理由は多数あります。したがって、データを使用して問題を解決する前に、そのデータが信頼できるかどうかを常に注意深く確認する必要があります。どれほど賢い人でも、悪いデータに基づいてマイニングを行うと、必ず悪い結果になります。データの信頼性の問題を引き起こす可能性のある一般的な要因は次のとおりです。

開発に使用されるデータは、実際のデータとは異なる方法で配布されることがよくあります。たとえば、ユーザーを身長に基づいて高身長、中身長、低身長の 3 つのカテゴリに分類するとします。ただし、システムの開発時に使用したデータセット内の最も身長の低いユーザーが 6 フィート (184 cm) の場合、開発するシステムでは、身長が 6 フィートしかないユーザーを「低身長」ユーザーと呼ぶ可能性が高くなります。

データセットには欠落したデータが多数あります。実際、データセットを人為的に構築しない限り、欠損データの問題を回避することは困難です。欠損データの問題にどのように対処するかは、巧みな問題です。実際には、不完全なデータを単純に破棄するか、これらの欠落値を埋めるためにいくつかの値を計算する方法を見つけます。どちらの方法でも、アプリケーションの結果が不安定になる可能性があります。

データはいつでも変更される可能性があります。データベースのテーブル構造が変更される可能性があり、データ定義も変更される可能性があります。

データが正規化されていない可能性があります。ユーザーのグループの体重を観察しているとします。有効な結論を導き出すには、まず各体重の測定単位(ポンドかキログラムか)を正規化する必要があり、これらを混同してはなりません。

データは対応するアルゴリズムに適していない可能性があります。データにはさまざまな形式と仕様、つまりデータ型があります。数値データもあれば、そうでないデータもあります。一部のデータ セットは並べ替えることができますが、一部は並べ替えることができません。いくつかは離散データ(部屋内の人数など)であり、他のものは連続データ(温度や気圧など)です。

注2: 計算は瞬時に行われるわけではない

あらゆる人工知能ソリューションの計算を完了するには一定の時間がかかり、ソリューションの応答速度は商用アプリケーションの成功に重要な役割を果たします。どのアルゴリズムでも、すべてのデータ セットで指定された時間内にタスクを完了できると盲目的に想定することはできません。アルゴリズムのパフォーマンスが許容可能なアプリケーション範囲内にあるかどうかをテストする必要があります。

検索エンジンを例にとると、ユーザーには結果が返されるまでの時間に制限があります。ユーザーが 10 秒以上待機すると、50% のユーザーが失われます。待機時間が 1 分を超えると、90% 以上のユーザーが失われます。インテリジェントアプリケーションシステムを開発する場合、アルゴリズムの精度を高めるためにシステム計算と待機時間を無視することはできません。そうしないと、製品全体の失敗につながります。

注3: データのサイズは非常に重要です

インテリジェントなアプリケーションを考えるとき、データの規模は重要な要素です。データ規模の影響は、2 つの点から検討できます。1 つ目は、規模がアプリケーション システムの応答速度に影響を与えることです。これは前のセクションで説明しました。2 つ目は、大規模なデータ セットから貴重な結果をマイニングする能力がテストされることです。たとえば、100 人のユーザー向けに開発された映画や音楽の推奨システムはうまく機能するかもしれませんが、同じアルゴリズムを 100,000 人のユーザーがいる環境に移植すると、うまく機能しない可能性があります。

第二に、より多くのデータでトレーニングされたより単純なアルゴリズムは、次元の呪いに悩まされる複雑なアルゴリズムよりもはるかに優れたパフォーマンスを発揮することがよくあります。膨大な量のデータを持つ Google のような大企業の場合、優れたアプリケーション結果は、洗練された複雑なアルゴリズムだけでなく、膨大なトレーニング データの大規模な分析とマイニングからも得られます。 (大観データ 陳雲文)

注4: アルゴリズムによってスケーラビリティは異なります

インテリジェント アプリケーション システムは、サーバーを追加するだけでパフォーマンスを拡張できるとは限りません。拡張可能なアルゴリズムもあれば、拡張不可能なアルゴリズムもあります。

たとえば、数億の記事タイトルから類似したタイトルを持つ記事のグループを見つけたい場合、現時点ではすべてのクラスタリング アルゴリズムを並列に実行できるわけではないことに注意してください。システムを設計する際には、スケーラビリティを考慮する必要があります。場合によっては、データを小さなセットに分割し、各セットでインテリジェントなアルゴリズムを並行して実行できるようにする必要があります。システムを設計するときに選択されたアルゴリズムには、多くの場合、並列バージョンが必要です。これは、アルゴリズムを取り巻く多くの関連するビジネス ロジックとアーキテクチャを一緒に考慮する必要があるため、最初から考慮する必要があります。

注5: 万能なアプローチはない

「ハンマーを持っていると、すべてが釘に見える」ということわざを聞いたことがあるかもしれません。これは、すべてのインテリジェント アプリケーションの問題を解決できる汎用的なアルゴリズムは存在しないことを意味します。

スマート アプリは他のソフトウェアと同様に、特定の適用領域と制限があります。新しい応用分野に直面するときは、元の方法の実現可能性を十分に検証する必要があり、特定の問題を解決するときには異なるアルゴリズムがより効果的で適切であるため、まったく新しい視点から問題を検討してみることをお勧めします (Chen Yunwen、Daguan Data)。

注6: データがすべてではない

基本的に、機械学習アルゴリズムは魔法ではありません。トレーニング データから始めて、徐々に未知のデータに拡張する必要があります。

たとえば、データの分布パターンについてすでにある程度理解している場合は、この事前知識をグラフィカル モデルを通じて表現すると非常に効果的です。データに加えて、その分野におけるどのような事前知識を適用できるかを慎重に検討する必要があり、これはより効果的な分類器の開発に役立ちます。データと業界の経験を組み合わせると、半分の労力で 2 倍の結果を達成できる場合がよくあります。

注7: モデルのトレーニング時間は大きく異なります

特定のアプリケーションでは、特定のパラメータを少し変更するだけで、モデルのトレーニング時間に大きな違いが生じる可能性があります。たとえば、ディープニューラルネットワークをトレーニングする場合、さまざまなパラメータの調整が行われます。

パラメータを調整すると、トレーニング時間は基本的に安定するだろうと直感的に考える傾向があります。たとえば、地球上の任意の 2 点間の距離を計算するシステムがあるとします。この場合、任意の 2 点の座標が与えられた場合、計算時間はほぼ同じになります。しかし、他のシステムではそうではありません。他のシステムでは、小さな調整によって大きな時間差が生じ、時には数秒ではなく数時間にも及ぶことがあります。

注8: 一般化が目標である

機械学習の実践で最もよくある間違いの 1 つは、細部にこだわりすぎて、調査を通じて問題に対処するための普遍的な方法を得るという当初の目標を忘れてしまうことです。

テストフェーズは、メソッドに一般化能力があるかどうかを検証するための重要なステップです(クロス検証、外部データ検証などを通じて)が、適切な検証データセットを見つけるのは簡単ではありません。わずか数百の例のコレクションで数百万の特徴を持つモデルをトレーニングして高い精度を得ようとするのは無意味です。

注9: 人間の直感は正確ではないかもしれない

特徴空間が拡大するにつれて、入力情報間の組み合わせ関係が急速に増加するため、中規模のデータセットで行うようにデータの一部をサンプリングすることが困難になります。さらに問題なのは、特徴の数が増えるにつれて、データに関する人間の直感が急速に低下することです。

例えば、高次元空間では、多変量ガウス分布は平均に沿って分布するのではなく、平均の周囲にホタテ貝のような形に分布しており、これは人間の主観的な知覚とはまったく異なります。低次元空間では分類器を構築することは難しくありませんが、次元が大きくなると人間が直感的に理解することが難しくなります。

注10: さらなる新機能の導入を検討する

「ゴミを入れればゴミが出る」ということわざを聞いたことがあると思いますが、これは機械学習アプリケーションを構築するときに特に当てはまります。マイニング効果が制御不能にならないようにするには、問題が存在する分野を十分に理解し、調査データを通じてさまざまな特徴を生成することが重要です。このアプローチは、分類の精度と一般化能力を大幅に向上させるのに役立ちます。分類器にデータを入力するだけで優れた結果が得られるという幻想は実現不可能です。

注11: さまざまなモデルを学ぶ

アンサンブル技術は、わずかなバイアスを犠牲にしてアルゴリズムの不確実性を大幅に削減できるため、ますます人気が高まっています。有名なNetflixアルゴリズムコンテストでは、優勝チームと優秀な成績を収めたチームはすべて、複合モデル方式を採用し、100以上のモデルをマージ(モデルに高レベルモデルを重ねて組み合わせを形成)して効果を高めました。人工知能が実際のアプリケーションで使用される場合、実務家は一般的に、将来のアルゴリズムはモデルの組み合わせ方法を通じて必然的に精度が向上すると考えていますが、これにより、専門家以外の人がシステムのメカニズムを理解するためのハードルも高くなります。

注12: 相関関係は因果関係と同じではない

この点は繰り返し強調されるべきであり、冗談めいた言葉で説明することができます。「地球温暖化、地震、竜巻、その他の自然災害は、18 世紀以来世界中で海賊の数が減少していることに直接関係しています。」これら 2 つの変数の変化には相関関係がありますが、第 3 の (または第 4 や第 5 の) 種類の観測されない変数が作用していることが多いため、因果関係があるとは言えません。相関関係は潜在的な因果関係の尺度として見なされるべきですが、さらなる研究が必要です。

人工知能やビッグデータ応用システムを開発する際に、上記の 12 のポイントを把握しておくと、実戦におけるさまざまな「落とし穴」を効果的に回避でき、技術が研究室から実際の応用に移ったときに、より堅牢で強力な役割を果たすのに役立ちます。

<<:  人工知能は人々を失業させるだけでしょうか?マッキンゼーの調査と分析では、異なる答えが出ました。

>>:  機械学習でよく使われる損失関数についてどれくらい知っていますか?

ブログ    

推薦する

感じてください:XiaoIce、XiaoAi、Xiaodu、LingyuanがAIサミットのテーマソングを共同で歌いました

7月9日、 2020年世界人工知能大会クラウドサミットのテーマソング「スマートコネクテッドホーム」が...

一貫性のあるハッシュは難しいですか?これを読んで全て理解できました

[51CTO.com からのオリジナル記事] この記事では、コンシステント ハッシュとは何か、そして...

...

...

ハッシュアルゴリズムに基づくMySQLテーブルパーティション

以下に紹介する Mysql テーブルのパーティショニング プロセスは、ハッシュ アルゴリズムに基づい...

ボストン・ダイナミクスのロボット犬「スポット」が新たなスキルを獲得:縄跳びや服拾い

海外メディアCNETによると、ボストン・ダイナミクスのロボット犬「スポット」はすでにダンス、鉱山探索...

科学春節祭、それはBステーションに違いない:志会君のロボットアームが広漢宮殿を建設し、アカデミー会員の下半身が直接消えた

Bilibiliが科学春節祭-スーパーサイエンス祭を開催すると聞きました。この興奮を味わうには、現地...

権限の取得方法についての簡単な説明: ファイルのアップロード

概要ファイルアップロードの脆弱性は、アップロード機能を持つアプリケーションで発生します。アプリケーシ...

ボストンダイナミクス「人間と犬のダンス」:PK韓国ボーイズバンド、ロボットダンスの神グループが登場

[[408381]]ロボット犬とボーイズバンドが一緒に「ダンス」すると、どんな火花が散るのでしょうか...

...

人工知能が中国の古典「古いドラマ」と「古い映画」に新たな表情を与える

映画「トンネル戦争」修復前と修復後の比較。画像はインタビュー対象者より提供新華社北京1月1日(記者フ...

機械学習の基本概念を10枚の画像で説明する

機械学習の基本的な概念を説明するとき、私はいつも限られた数の図に戻ってしまいます。以下は、私が最も啓...

...

Tensorflow はディープラーニングに基づいて画像補完をどのように実装するのでしょうか?

[[191038]]ブランドン・エイモス編集:モリー・ハン・シャオヤン目次1. はじめに2. ステ...

ブースティングとバギング: 堅牢な機械学習アルゴリズムを開発する方法

導入機械学習とデータ サイエンスでは、単にデータを Python ライブラリに投入してその結果を活用...