ベースライン モデルから始めます。最初はモデルが醜く見えるかもしれませんが、心配しないでください。

ベースライン モデルから始めます。最初はモデルが醜く見えるかもしれませんが、心配しないでください。

[[229439]]

ビッグデータ概要

編纂者:張南星、静哲、荊浩南

1. 機械学習製品を効率的に開発する方法

汎用 AI を開発したい場合は、まずロジスティック回帰モデルを習得する必要があります。

基礎から始める

ほとんどの分野において、人々が世界を科学的に理解しようとするとき、すぐに重要な詳細に飛び込むのではなく、全体像を幅広く研究することから始めることを選択します。

たとえば、物理学の分野では、単純なモデル(ニュートン物理学)から研究を始めることがよくあります。その後、当初の仮定の一部が間違っていたことに徐々に気づき、徐々により複雑なモデルを使い始めます。このアプローチは、最も簡単な方法で問題を効率的に解決できます。

すべてをシンプルに保ちますが、シンプルになりすぎないようにします。

—アルバート・アインシュタイン

最も単純なモデルから始めるという同じ考え方は、AI エンジニアリングにも適用できます。そしてほとんどの場合、このアプローチは価値があります。

実際、Insight では何百ものプロジェクトがアイデアから実際の製品へと成長するのを見てきましたが、シンプルなプロトタイプをベースに始めると、最終製品の品質が向上することが多いことがわかりました。

しかし、複雑な問題を解決する場合、単純なソリューション (以下で説明するベースライン モデルなど) には多くの欠点があります。

  • 単純な解決策では、入力内容の重要な点が見落とされてしまうことがあります。たとえば、単純なモデルでは、文中の単語の順序や変数間の関係が無視されることがよくあります。
  • より繊細な製品の製造となると、これらのモデルでは不十分な場合がよくあります。したがって、ほとんどの単純なモデルでは、ヒューリスティック アルゴリズムまたは手動で定式化されたルールを使用する必要があります。
  • 勉強してもそれほど面白くないかもしれませんし、あなたが切望する最先端の研究知識が得られないかもしれません。

これらの単純なソリューションによって生成されるエラー出力は、非常に愚かに見えることが多いため、タイトルに「耐えられない」という言葉が含まれています。しかし、この記事が示すように、シンプルなモデルはプロジェクトの開始時に非常に価値があります。なぜなら、実際の問題をより深く理解し、成功する製品を開発するための最善の道筋を知るのに役立つからです。

ジョージ・EP・ボックスの言葉を借りれば、「すべてのモデルは間違っているが、少なくともいくつかは役に立つ。」

つまり、ただ楽しみたいだけなら複雑なモデルから始めても構いませんが、本当に問題を解決して本物の製品を開発したいのであれば、「見るのが耐えられない」ほどシンプルなモデルから始めてください。

2. ベースライン モデルとは何ですか?

「散布図からデータの関連性を予測するのは星座図を描くよりも難しいので、線形回帰の結果は信頼できません」:

左: 分散 0.06 の線形回帰モデル

右: Rexthor「Walking the Dog」モデル

配布タイプによって必要なベースライン モデルが異なります。検討する価値のあるベースライン モデルをいくつか示します。

  • 線形回帰:価格や年齢などの特徴値のセットから連続値を予測する最初の信頼性の高い方法
  • ロジスティック回帰: 構造化データや自然言語を分類する必要がある場合、ロジスティック回帰モデルを使用すると、信頼性の高い結果をすぐに得ることができます。
  • 勾配ブースティング決定木: 見逃せない Kaggle の定番です。時間や一般的な構造化データに関連する予測を扱う場合、勾配ブースティング決定木を無視することは不可能です。このモデルは他のベースライン モデルよりも理解と使用が少し難しいですが、非常に優れた結果を生み出すことができます。
  • シンプルな畳み込みフレームワーク: 適切に調整された VGG またはいくつかのバリエーションを持つ再トレーニングされた U-net は、ほとんどの画像分類、検出、または分類の問題に対する良い出発点となります。

選択できるベースライン モデルは他にもたくさんあります。

ベースライン モデルの選択は、データの種類とタスクの目的によって決まります。たとえば、さまざまな特徴量から住宅価格を予測する必要がある場合(つまり、一連の特徴量から特定の値を予測する場合)、線形回帰モデルの方が適していますが、音声認識アルゴリズムを構築する場合、このモデルはあまり適していません。最も適切なベースライン モデルを選択する前に、次の質問について考える必要があります。このモデルで何を達成したいですか?

なぜベースライン モデルから始めるのでしょうか?

モデルの導入から結果の取得までのプロセス

モデルの展開は簡単ではないため、実装する前にモデルを十分に理解しておく必要があります。プロジェクトの開始時に最も重要なことは、未知のリスクを予測することです。ベースライン モデルは最終モデルではありませんが、迅速に反復処理できるため、不必要な時間コストを削減できます。この主張を支持するいくつかの理由は次のとおりです。

ベースライン モデルでは、10 分の 1 未満の時間で 90% を超える結果が得られます。

生産性を9倍向上!

非常に一般的な例を見てみましょう。あるチームが、ユーザーが広告をクリックする確率を予測するモデルを見つけたいとします。彼らはロジスティック回帰モデルから始めて、短期間で(そしてほんの少しの調整で)90% の精度を達成しました。

問題は、チームは 95% の精度を達成することに重点を置くべきか、それとも同じアプローチを使用して 90% の精度で他の問題を解決するべきかということです。

最も高度なモデルのほとんどは、ランダムな性質のため、エラー率をゼロにすることはできません。精度は実際の使用事例に関連しますが、本質的にはほとんどのシステムの精度はその部品の精度の積です。

つまり、1 つのステップを 99% の精度で実行し、残りの 9 つのステップを 10% の精度で実行して全体の精度が 0.00000000099% にしかならないよりも、10 の連続したステップを 90% の精度で実行して全体の精度が 34% に達する方がよいでしょう。

ベースライン モデルから始めると、まず問題のボトルネックを特定できます。

1. ベースラインモデルは複雑なモデルをジレンマに陥れる

一般的に、さまざまなモデルを使用することで、次の 3 つのレベルのパフォーマンスが達成されると期待できます。

  • 達成可能なデフォルトのパフォーマンス レベルは、どのモデルでも達成できると期待されるレベルです。たとえば、この値は分類タスクで最も頻繁に出現するカテゴリの確率になります。
  • 人間のパフォーマンス指数は、人間がタスクを完了できるレベルを指します。コンピューターは、いくつかのタスク(AlphaGo など)では人間よりも優れたパフォーマンスを発揮しますが、他のタスク(詩の執筆など)では人間よりも劣ります。タスクを完了する際の人間のパフォーマンス レベルは、アルゴリズムのパフォーマンスに関する合理的な期待を形成するのに役立つ基準として役立ちますが、分野によって人間とコンピューターのパフォーマンスは大きく異なる可能性があるため、調整のために文献検索が必要になります。
  • 展開可能なパフォーマンス レベル、つまり、モデルが商業的に実行可能かつ使用可能になるために必要な最小限の精度。通常、この値に到達するには、慎重な設計決定システムが必要です。たとえば、Google Smart Reply は通常 3 つの提案された決定を返すため、有用な結果が表示される可能性が大幅に高まります。

上記で触れなかった基準の 1 つは、「合理的な自動生成パフォーマンス」と呼ばれるもので、比較的単純なモデルで得られる結果を指します。この重要なベンチマーク値により、複雑なモデルが適切に機能するかどうかを評価でき、精度と複雑さについて心配する必要がなくなります。

多くの場合、ベースライン モデルのパフォーマンスは複雑なモデルと同等であることがわかります。特に、複雑なモデルを選択する前にベースライン モデルの失敗の理由が十分に考慮されていない場合、ベースライン モデルが複雑なモデルよりも優れたパフォーマンスを発揮することもあります。

さらに、複雑なモデルを展開するのはより困難です。つまり、実際にモデルの展開を開始する前に、プログラマーはまず、複雑なモデルが単純なモデルに比べてどの程度の改善を達成できるかを見積もる必要があります。

2. ベースラインモデルは導入が簡単

定義上、ベースライン モデルは単純で、通常は比較的少数のトレーニング可能なパラメーターで構成され、多くの処理を必要とせずにデータにすばやく適合できます。

この利点は、実際にプログラミングを開始したときに反映されます。

  • 迅速なトレーニング: パフォーマンス フィードバックを迅速に取得できます。
  • 調査が容易: つまり、発生したエラーのほとんどは、モデルの欠陥またはデータ内のエラーに簡単に遡ることができます。
  • 迅速な推論: ベースライン モデルの導入には、アーキテクチャの変更をほとんど必要とせず、潜在的なリスクも発生しません。

ベースライン モデルを作成して展開したら、次のステップについて最終決定することになります。

4. ベースライン モデルを構築した後は何をすればよいですか?

研究文献を掘り起こす時期が来たのかもしれません。

前述のように、ベースライン モデルを使用すると、パフォーマンス ベンチマーク結果がすぐに得られます。提供されるパフォーマンス値が十分ではないことがわかった場合は、単純なモデルでは解決が難しい問題を見つけることで、次のステップに進みやすくなります。

たとえば、NLP の入門書では、ベースライン モデルのエラーを観察することで、モデルが意味のある単語と機能語を区別できなかったことがわかりました。モデルを通じて同様のニュアンスを捉えることが可能になります。

1. ベースラインモデルはデータの理解に役立ちます

選択したベースライン モデルのパフォーマンスが良好であれば、複雑なモデルを構築する際の困難のほとんどを解決できます。逆に、ベースライン モデルを構築するプロセスでエラーを見つけることは、データ内のバイアスや特定のエラーを発見する上で非常に有益です。

機械学習の進歩を妨げる多くの問題は、より複雑なモデルを選択するのではなく、データを理解して準備できないことに起因していることが多いです。ベースライン モデルのさまざまなパフォーマンスを調べることで、どのような洞察が得られますか。

  • どのクラスを分類するのが難しいか: ほとんどの分類問題では、混同行列を観察すると、モデル エラーの原因となっているクラスを見つけるのに非常に役立ちます。一連の分類に基づくモデルのパフォーマンスが非常に低い場合は、データをさらに深く掘り下げて原因を探す必要があります。
  • モデルがシグナルとして選択するもの: ほとんどのベースライン モデルは、特徴の重要性を抽出し、入力のどの側面がより予測的であるかを判断できます。特徴の重要性を分析することは、モデルがどのように決定を下すのか、また潜在的な欠落点は何かを理解するための最良の方法です。
  • モデルに欠けているシグナル: モデルにデータの非常に重要な側面が欠けている場合、次に取るべき最善のステップは、その機能を手動で追加するか、データをより有効に活用できる別のモデルを選択することです。

2. ベースラインモデルはタスクを理解するのに役立ちます

ベースライン モデルは、データの理解を深めるだけでなく、どの部分が難しく、どの部分が簡単かを理解するのにも役立ちます。この考え方に従えば、難しい部分をより適切に解決するためにモデルのどの側面を改善する必要があるかを特定することもできます。

たとえば、Bowen Yang は、オーバーウォッチでチームが勝つ可能性を予測する際にロジスティック回帰モデルを使用しました。彼は、試合の半分が過ぎたあたりから、予測の精度が著​​しく向上したことにすぐに気づきました。

この発見により、彼は次のモデリング手法をうまく選択することができました。この手法は、事前情報から学んだ技術で、試合開始から 1 分以内に予測精度を大幅に向上させることができました。

ほとんどの機械学習の問題は、「ただで得られるものはない」という定理に従います。つまり、すべての問題を解決できる単一の解決策は存在しないということです。本当の課題は、さまざまなアーキテクチャから選択し、適切な戦略を決定し、ターゲット データ構造を抽出して活用するのに最適なモデルを選択することにあります。

別の例として、Chuck-Hou Yee 氏は心臓の MRI 画像を分類しようとしたときに、最も基本的な U-net アーキテクチャから始めました。 U-net アーキテクチャを使用して、彼はモデルの分類エラーの多くがコンテキスト不足によるものであることに気付きました。

この問題を解決するために、Chuck-Hou Yee は拡張畳み込みモデルを選択し、モデリング結果を大幅に改善しました。

3. ベースラインモデルを選択しない場合

***、一部のタスクでは、効果的なベースライン モデルを構築することが実際に困難です。録音の中でさまざまな人が言っていることを分離しようとする場合 (カクテル効果)、満足のいく結果を得るには複雑なモデルから始める必要があるかもしれません。

このような場合、モデルを単純化するのではなく、データを単純化する方が適切です。つまり、この複雑なモデルを既存のデータセットのごく一部に過剰適合させるということです。モデルの表現力が十分であれば、これは簡単なはずですが、そうでない場合は、別のモデルを試す必要があるかもしれません。

カクテル効果: https://en.wikipedia.org/wiki/Cocktail_party_effect

V. 結論

より強力な解決策が利用できる場合、人々は単純な解決策を見落とす傾向があります。しかし、機械学習のほとんどの分野では、基礎から始める方が価値がある場合がよくあります。

複雑なモデルの実装方法を学ぶことは確かに難しいですが、機械学習エンジニアにとっての最大の課題は、実際には特定のタスクに対するモデリング戦略をどのように選択するかということです。

最初にシンプルなモデルを使用すると、非常に役立ちます。パフォーマンスが満足のいくものでない場合は、より複雑なモデルを使用すると、ベースライン モデルで見つかった問題を回避し、より優れたモデリング結果を得ることができます。

関連レポート:

https://blog.insightdatascience.com/always-start-with-a-stupid-model-no-exceptions-3a22314b9aaa

[この記事は51CTOコラムBig Data Digest、WeChatパブリックアカウント「Big Data Digest(id: BigDataDigest)」のオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  ニューラルネットワーク: 知っておくべきこと

>>:  2018 年に人工知能アプリケーションはどのように実装されるのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

Cacti パーセンタイル監視アルゴリズム

Cactiパーセンタイル監視アルゴリズムcacti のテンプレート自体はハードディスクの使用サイズし...

ジェネレーティブ AI 初心者ガイド

ソフトウェア アーキテクトとして、私は人工知能 (AI) の発展とさまざまな業界でのその応用を目の当...

Arthur Bench に基づいて LLM 評価を実施するにはどうすればよいでしょうか?

こんにちは、皆さん。私は Luga です。今日は、人工知能 (AI) エコシステムに関連するテクノロ...

AI バイブル PRML「パターン認識と機械学習」が Microsoft によって正式にオープンソース化されました。

機械学習やディープラーニングに携わっている人なら誰でも、「パターン認識と機械学習」、略して PRML...

...

AI エージェントに協力と競争を教えましょう。最初の大規模マルチエージェントフレームワークであるCAMELは3.6kのスターを獲得しました

「どんな魔法が私たちを賢くするのでしょうか?魔法は魔法がないことです。知性の力は、単一の完璧な原理か...

自己回帰デコードが64倍高速化、Googleが新たな画像合成モデルMaskGITを提案

生成トランスフォーマーは、高忠実度かつ高解像度の画像を合成するために急速に人気を集めています。しかし...

...

顔を自由に編集! Adobe が新世代の GAN アーティファクトを発表: 最大 35 の顔属性の変更をサポート

画像合成における重要な問題は、画像内のエンタングルメント問題です。たとえば、人物の顔にあるすべてのひ...

双子: 効率的な視覚的注意モデルの設計を再考する

著者 | 湘湘天志 張波 他Twins は Meituan とアデレード大学が提案した視覚的注意モデ...

2か月でAIをゼロから学んだ方法とは?

編集者注: 人工知能は「電気」のようなものになりつつあり、その将来の発展に関心を持つ人は誰でもそれに...

...

機械学習アルゴリズムと機械学習モデルの開発方法について知っておくべきことは何ですか?

[[201235]]概念とそれがビジネス目標に与える影響を学ぶことは非常に重要です。アルゴリズムの...

...