モデルを最適化する方法だけを心配する必要はありません。これは機械学習のすべてではありません。

モデルを最適化する方法だけを心配する必要はありません。これは機械学習のすべてではありません。

[[263282]]

機械学習分野の学生、研究者、企業の開発者は、より高い精度/AUC/mAP などを達成することが機械学習の研究と応用のすべてであるかのように、モデルの最適化に多大な労力を費やすことに慣れています。しかし、「テスト性能に優れたモデルは、現実の問題を本当にうまく解決できるのか?」と疑問に思う人はほとんどいません。

説明可能な機械学習の分野の研究者であり、「説明可能な機械学習」の著者でもある Christoph Molnar 氏は最近、この分野の人々にこの傾向を認識し、機械学習の応用において無視してはならない問題に注意を払うよう呼び掛けるブログを公開しました。

まず少しお話をさせてください。

ドイツのどこか、静かな夜。ほとんどの人はぐっすり眠っていましたが、私はそうではありませんでした。機械学習モデルのトレーニングを完了する必要があります。私は、私と同じようにモデルに魅了されている世界中の人々と、誰のモデルが最も優れた予測結果を得られるかを競っています。パソコンのファンがうなり音を立て、キーボードをタイプするときしむ音がしました。私の現在のモデルは、公開リーダーボードの真ん中あたりで、あまり良い順位ではありませんでした。本当に腹立たしいです。モデルの精度は実際には許容範囲内ですが、このコンテストでは「許容範囲内」では十分ではありません。私の最終的な目標は、他の誰よりも優れたモデルになることです。より優れた機能エンジニアリングとより優れた学習アルゴリズムも必要です。新しい機能を構築するための良いアイデアはすでにあり、ランダム フォレストをブースト ツリーに置き換えることもできます。モデルのトレーニングには 30 分しかかからないはずなので、その後は寝なければなりません。

数時間が経過し、時刻は午前3時半でした。ついに新しいモデルの予測ができて、リーダーボードで新たな位置を獲得する準備ができました。期待して送信ボタンをクリックしました。私はすでに疲れており、「あなたの結果は評価中です」というプロンプトは非常に曖昧に思えます。どのくらい高い順位に到達できますか? 上位 10% に入ることはできますか?私は甘い空想にふけり始めました。しかし、実際の結果はすぐに私の幻想を打ち砕き、その瞬間、私は非常に疲れを感じました。新しいモデルは、ランキングが向上するどころか、以前のモデルよりもパフォーマンスが悪くなります。コードにバグはありますか?過剰適合?それとも間違ったファイルをアップロードしたのでしょうか?疑問が次々と頭に浮かんだが、理性が私に横になるよう告げた。私はベッドの中で寝返りを打ちながら、自分が理解できないほどに成長し、大きくなっていく意思決定ツリーを夢見ていました。

[[263283]]

「機械学習モデルを継続的に改善する必要があります!」

目隠しを外して見てみましょう

私自身も、機械学習のコンテストのモデルを夜遅くまで繰り返し作業するという同様の経験をしました。しかし、今は2つの理由から、もうそんなことはしていません。1. 今では通常の睡眠が私にとってはるかに重要になったこと、2. 機械学習に対する理解も大きく変わったことです。

機械学習を学び始めた当初、最も重要な機械学習スキルは、モデルをトレーニングしてパフォーマンスを向上させる方法を知ることだと考えていました。この目標を達成するために、私はモデルエラーを即座に削減するために、より多くのアルゴリズム、より多くの特徴エンジニアリング手法、より多くのアルゴリズム評価方法を学ぶことに全力を注ぎました。私はとても夢中になり、昔はランダムフォレストについての詩を書いたほどでした。

今日、私の視点は大きく変わりました。 「機械学習」という 4 つの単語の意味は、損失関数を最小化するだけではないと思います。ある意味では、モデルを適合させることは簡単な部分です。現状を改善するのに役立つ膨大な文献、教科書、演習、実用的なツールがあるからです。また、常に即時のフィードバックが得られるため(モデルがこれまでに見たことのないデータでテストするだけ)、一般的に非常に満足のいく結果が得られます。モデルのフィッティングに関しては、機械学習の分野全体がかなり成熟してきたと思います。しかし、モデルを適合させることに加えて、他の多くの困難な問題も解決する必要があります。例えば:

  • 現実世界の問題を予測タスクに変換するにはどうすればよいでしょうか?

  • 予測モデルへの信頼をどのように構築するのでしょうか?

  • トレーニングデータには偏りがありますか?トレーニング データは、展開される入力データとどの程度類似していますか?

  • システムが正しく動作していない場合、機械学習モデルをどのようにデバッグしますか?

  • モデルによる予測(特に誤った予測)は、ユーザーや製品自体にどのような影響を与えますか?

  • 現在の予測と将来のトレーニング データの間に有害なフィードバック関係はありますか?

  • 変化する環境で固定モデルはどのように機能するでしょうか?

[[263284]]

ドッグショーの入り口にて。 -「私の犬はよく訓練されています」 -「いいえ!」
— データサイエンティストが新しいモデルを現実世界に統合すると、このような感じになります

私の個人的な意見としては、機械学習の分野のほとんどの人は、まだモデルを最適化する方法にしか関心がなく、私が挙げたモデルを実際に適用する際に遭遇する問題についてはほとんど知らないということです。しかし、良いニュースとしては、全体的に人々がこれらの問題に対する認識を深め、より深く考えるようになっていることです。体系的思考、説明可能性、公平性、社会的影響、データの役割などの問題がますます注目を集めています。

モデルの誘惑

私が機械学習の仕事を始めた最初の数年間に、興味深い話がありました。当時、私はスタートアップに入社したばかりで、機械学習に関連するいくつかのアプリケーションを担当していました。当時の私のプログラミングスキルはチームの他のメンバーほど優れてはいませんでしたが、トレーニングに使用したデータが、後にアプリケーションで使用するデータと似ているかどうかを尋ねるなど、多くの質問をしました。指導教官は私が良い質問をしたと褒めてくれましたが、なぜ褒められたのか私には理解できませんでした。どうやら私は「なぜまだ Scala でプログラミングを学んでいないのか」ということの方が気になっていたようです。また、これらの質問をすることよりも、より強力な予測モデルを構築する方法を知ることの方が重要だと感じていました。今になって初めて、なぜ指導者が私を褒めてくれたのかがよく分かりました。

「優れた機械学習モデルを適合させる」ことの影響がいかに小さいかをようやく理解するのに 5 年かかりました。しかし、これを理解するのになぜ 5 年もかかったのでしょうか?簡単に言えば、機械学習の教育と研究はすべて「優れたモデル」に重点を置きすぎていて、データ、人的要因、予測モデルとその環境間の複雑な相互作用が無視されています。

これを詳しく説明するために、機械学習の仮想初心者の経験を例に挙げて見てみましょう。彼女の名前はアンナです。現在、電子工学の修士号を取得するために勉強しています。数学の基礎がしっかりしており、C と Python でコードを書くことができます。彼女は、Andrew Ng 氏のオンライン機械学習コースで機械学習に触れ、現在は「Elements of Statistical Learning」という本も読んでいます。他のすべての教材と同様に、オンライン コースと書籍では、さまざまなモデルを 1 つずつリストし、モデルの背後にある数学的原理を詳細に説明します。データの理解方法、社会的・倫理的影響の考慮方法、モデルの解釈方法、モデルの適用シナリオなどについてはほとんど触れられていません。もちろん、彼女はいくつかの応用事例を見ましたが、それらは単に注意深く設計された理想的な問題でした。

しばらくして、彼女はKaggleのさまざまなコンテストに参加するようになりました。彼女は再び、Kaggle で綿密に設計されたあらゆる種類の予測問題を見ましたが、それらは単に自分の口に運ばれただけでした。私たちが見た競争の裏では、Kaggle が最も困難で骨の折れる作業を行っており、まず企業、データ、問題を探し、問題を予測タスクに変換し、次にどのデータを使用するかを検討しています。また、データのクリーニングとマージが必要になる場合もあります。その後、モデルの評価基準を選択します。これらすべてを Kaggle が引き受けます。 Kaggle コンテストに参加する人にとって、特徴量エンジニアリング以外にやるべきことは、もちろん「適切なモデルを適合させること」だけです。コンテストの賞金を獲得したのは誰ですか?モデルのパフォーマンスが良好で説明可能なチームではありません。他のモデルでは数日かかるトレーニングを数秒で完了するチームではありません。また、これらのモデルの予測精度があまり高くないことが運命づけられているため、実際に本番環境に展開できる可能性のあるモデルを作成するチームでもありません。そこでアンナは、機械学習とは最高の予測性能を持つモデルを見つけることに他ならないと信じるようになり、この信念はますます強くなっていきました。これは冗談ではなく、ボーナスや栄誉を獲得できるのは最高の予測モデルを作成できる人々であることは誰もが知っています。

こうして、機械学習に対するアンナさんの情熱に火がつき、次のコンテストではもっといい順位を獲得したいと考えるようになりました。幸いなことに、機械学習コミュニティは素晴らしくオープンで、彼女が学ぶためのモデルのパフォーマンスをデバッグする方法を議論する技術ブログが多数あり、GitHub からクローンできる最新の機械学習ライブラリも多数あります。彼女はついに理解しました。機械学習とは、適切なモデルを適合させることだというのです。

アンナはまた、機械学習の分野がいかに新しいか、そして学界と産業界のつながりがいかに密接であるかを認識し始めました。彼女は最新の技術を理解するために、機械学習に関する学術論文を読み始めました。どこから始めればいいでしょうか? もちろん、引用数の多い論文を読むことです!では、どの論文が最も多く引用されているのでしょうか?もちろん、これらは一般的な科学研究タスクモデルとさまざまな機械学習フレームワークを研究した論文です...

[[263285]]

データ サイエンティストの生涯の夢: 1 つのモデルですべての問題を解決する (ロード オブ ザ リングの「1 つの指輪ですべてを支配する」のように)

アンナはこれまでずっと、機械学習をうまく行いたいなら、モデリング アルゴリズム (およびいくつかの特徴エンジニアリング手法) を詳しく調べる必要があるという単純なメッセージを感じてきたと言えます。他の側面についてはほとんど言及されていません。

モデルを当てはめることは重要な部分ではない

ここまで長々と話してきましたが、Kaggle のコンペティションで優勝するだけでは機械学習の専門家と呼ばれるには不十分だということは明らかだと思います。欠けている知識とは何でしょうか?私の謙虚な意見では、以下のトピックは完全に見落とされており、機械学習分野全体がこれらの問題に注意を払い始める必要があります。

  • 問題のフォーマット: 実際の問題を予測問題またはパターン認識問題に変換します。

  • データ生成プロセス: データを理解し、問題解決におけるデータの制限と適用可能性を理解します。

  • モデル解釈: クロス検証されたパフォーマンス推定を超えたモデルの分析

  • 応用シナリオ: モデルが現実世界とどのように相互作用するかを考える

  • モデルの展開: モデルを製品またはコンピューティングプロセスに統合する

ここではいくつかの簡単な項目をリストしていますが、引き続き追加することができます。

優れたモデルを適合させても、これらの領域で間違いを犯してしまう可能性は十分にあり、そうなるとモデルは役に立たなくなったり、有害になったりすることもあります。トレーニング データがアプリケーションの実際のデータと一致しない場合、モデルは正しい予測をまったく行わない可能性があります。幹部がモデルがブラックボックスであることを恐れて使用を拒む場合は、ホワイトボードを取り出して、どのように説明するかを検討する必要があります。モデルが肌の色の異なる人々に対して偏見を持っていると感じた場合は、そのモデルを使用しないでください。

問題のフォーマット、データ、説明、シナリオ、展開が適切であれば、プロジェクトは大成功を収めることができ、モデルの予測精度が平均的であっても問題はありません。他の側面がうまく行われなければ、長期間デバッグされ、テスト データでテストされた統合モデルであっても、ゴミ箱に捨てられることになります。

間違えるのは簡単だが、正しく行うのは難しい

機械学習モデルは優れた予測性能を発揮しますが、その影響は人々が期待するものとは逆になります。この点を説明するために、ある話をしましょう。私には通信会社で働いている友人がいます。その会社の事業の一つは、モバイル通信パッケージ(通話+テキストメッセージ+データ)の販売です。彼は同社のデータサイエンス チームに所属し、どの顧客がプランの使用をやめる可能性が高いかを予測するプロジェクトに参加していました。この予測の目的は、プランの使用をやめる可能性が高い顧客に、より費用対効果の高いプランを提供することでした。そこで、プロジェクトチームは、ユーザーを識別できる能力の高い機械学習モデルの構築に着手しました。次に、可能性の高いユーザーをリストアップして別のチームに渡し、別のチームがこれらのユーザーに 1 人ずつ連絡して、より有利なパッケージを提供します。

それで結果はどうでしょうか?この会社のプランをキャンセルする人は減るどころか増えています!

その後、同社は、今後サービスを利用しなくなる可能性のあるユーザーに個別に連絡し、同社のパッケージを今後利用できないことを思い出させていたことに気づいた。実際に、ユーザーに連絡するという行為が、最終的に契約を解除し、他の事業者に乗り換えるきっかけとなったのです。

なぜ何か問題があるのでしょうか?彼らは、実際的な問題を予測の問題に変換しようとした時点で最初から間違っていました。彼らのモデルは「顧客Xが契約を解除する可能性はどれくらいか」を予測しましたが、実際に予測する必要があったのは「私たちが連絡したときに顧客Xが契約を解除する可能性はどれくらいか」でした。これは、アプリケーション シナリオに関連する問題とも言えます。すでに契約を解除したいと考えている人に連絡した場合の影響を慎重に考慮していませんでした。この例では、モデル構築では 10 ポイントを獲得できますが、質問のフォーマットとアプリケーション シナリオの検討では 1 ポイントしか獲得できません。

チームメイトが信頼できると想定しないでください。

では、機械学習を使って現実世界の問題を解決するときに間違いを犯すのは初心者だけなのでしょうか?もちろん違います。モデルの適合を超えて機械学習のスキルを習得する良い方法は、現実世界の問題の解決に取り組むことです。しかし、それだけではありません。モデルに合わせること以外のことも本当に上手くなりたいと思わなければなりません。

経験だけでは十分ではありません。機械学習に大規模かつ長期的な投資を行ってきた Google や Amazon などの企業は、モデルの最適化を超えたあらゆる側面を習得しているのでしょうか?実は、違います。博士号、資金、経験、データ、専門知識をすべて揃えても、まだ完全には解明できていない。実際のところ、機械学習を現実世界のタスクに適用するのは難しいため、彼らはまだ本当に愚かな間違いを犯し続けています。

機械学習を使用して失敗した大企業の例をいくつか挙げます。

  • Google フォトは黒人をチンパンジーとして分類します。彼らの解決策は、モデルにチンパンジーのクラスを予測させないことでした。それは、壁から水漏れがあっても、上の階の隣人と話をする代わりに、壁紙を貼って隠すようなものです。

  • Google Flu Trends はインフルエンザの可能性を過大評価しています。この製品は製造中止になりました。その仕組みとしては、インフルエンザの発生と相関性の高い単語に注目し、その後「高校バスケットボール」など因果関係が全くない単語を学習するようです。

  • Amazon は性別に偏った採用ツールを構築した。 Amazon は自社の採用データを使用してモデルをトレーニングしましたが、モデルは Amazon の採用における性別による偏見 (つまり、男性を採用することを好む) を単純かつ直接的に反映していました。そのため、彼らはこのツールを一度も使用しませんでした。しかし同時に、そのサブテキストは、「このツールを使用しなくても大丈夫であり、存在する性別による偏見を無視することができます」というものです。上記と同様に、壁紙は問題を隠します。

データを使って生活をシンプルにしてみませんか?なぜだめですか?

職場で、自分が正しいことをしているのか、うまくやっているのかを知らせるフィードバックがなければ、非常に疲れを感じるかもしれません。特に学術研究を行っている場合や、直接の指導教員がいない場合は、自分が行っている研究の重要性がわからないことがよくあります。上司や先輩が何をすべきか指示してくれれば、楽に感じるかもしれませんが、本当のところ、誰もそれを理解することはできません。たとえ10年以上、あるいは何十年以上やってきたとしても、またどれほど社会経験を積んできたとしても、ある日突然、世の中のすべてを知ることは不可能です。

解決策の 1 つは、データを使用して進捗状況を測定し、フィードバックを得ることです。それは成功の指標とみなすことができます。

  • 「今日は5つの論文を読みました。」

  • 「今週は10ページのレポートを終えました。」

  • 「今月、私のウェブサイトのアクセス数が1万件に達しました。」

  • 「今年は2万ドルのボーナスをもらいました。」

ある意味、数字で成功を測ることは、仕事を簡素化し、より効率的に作業するための優れた方法です。しかし、これらのデータは「成功」の概念を単純化しすぎています。すべての条件を、いくつかの単純な数字だけで表現できるのでしょうか?

  • 例えば、収入は高いのに仕事内容が気に入らないなど。それで、あなたはまだ成功していますか?

  • たとえば、あなたの論文は頻繁に引用されていますが、現実世界にはまだ実際の影響を与えていません。それで、あなたはまだ成功していますか?

  • たとえば、フォロワーが何千人もいるのに、投稿を読んで「いいね!」したりコメントしたりする人がいないとします。それで、あなたはまだ成功していますか?

  • たとえば、機械学習のコンテストで非常に高い順位を獲得したが、上位にランクされた他の参加者と同様に、データの抜け穴を密かに利用したとします。それで、あなたはまだ成功していますか?

実際のところ、いつ特定の数字に向けて努力すべきか、いつ努力すべきでないかを判断するのは難しいです。 「数字を達成すること」と「測定が難しい仕事」(古い製品をもっと売るのではなく、新しい製品を研究することなど)の間にトレードオフがある場合、社会の嗜好は数字を達成することに大きく偏っているように私には思えます。機械学習の分野でも同様のことが言えます。

「数字を目指して努力している人」というと、私は競馬を思い浮かべます。とても美しくて強い馬がいました。人々はその馬がとても速く走れるように訓練しました。そして、競技会で良い成績を収めると、人々はニンジンで褒美を与えます(馬が特にニンジンを好むかどうかはわかりませんが、話の都合上、馬はニンジンを食べるのが好きであると仮定しましょう)。馬が標的に完全に集中できるようにするために、人々は馬の目に目隠しをしました。これにより、馬の左右の視界が遮られ、前方しか見えなくなります。今、私たちはこれらの競走馬であり、私たち一人一人が目隠しをしており、評価指標を「盲目的に」目指しています。しかし、左右を見てみると、線路の横に放置されたニンジン畑があることがよくあります。

[[263286]]

コミュニティとして、私たちは間違った機械学習ゲームで長い間競争してきました。私たちは盲目を取り去らなければなりません。そこで私は、より多くの人々が盲目から抜け出すきっかけを作り、この分野の焦点がモデルのパフォーマンスに限定されるのではなく、データ、解釈可能性、アプリケーション シナリオ、社会的影響に重点が置かれるようになることを願って、このブログを書きました。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

<<:  PaddlePaddle パノラマビューが初めて公開され、11 の新機能とサービス ハードコア リリース

>>:  マスク氏:ヒューマン・マシン・インターフェース技術は「間もなく利用可能になる」、人間のIQはAIに匹敵する

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

最大400万のトークンコンテキストと22倍の推論速度を備えたStreamingLLMは人気を博し、GitHubで2.5Kのスターを獲得しました。

会話型 AI ロボットとのコミュニケーションを経験したことがあるなら、非常にイライラした瞬間を間違い...

...

...

AIの最下層に突入! NUSのYou Yang氏のチームは拡散モデルを使用してニューラルネットワークパラメータを構築したとLeCun氏は称賛した。

拡散モデルは新たな大きな応用をもたらしました——ソラが動画を生成するのと同じように、ニューラルネット...

IT ワーカーの皆さん、AI が再びあなたの仕事を奪いに来ます。今度はデータセンターから

人工知能に関する議論は現在、自動運転車、チャットボット、デジタルツイン、ロボット工学、そしてビッグデ...

信頼とセキュリティの分野におけるデータサイエンスの典型的な 7 つの使用例

信頼とセキュリティとは何でしょうか? 現在の世界ではどのような役割を果たしているのでしょうか? 多く...

...

...

人工知能とモノのインターネット:スマートシティの交通管理

今日のスマート シティは、都市部を再形成する高度なテクノロジーによって推進されています。人工知能とモ...

...

強化学習を使用して、顧客が注目する広告を選択する方法

[51CTO.com クイック翻訳] 現在、世界中のデジタル広告代理店は、ニュースサイト、検索エンジ...

スマートシティの発展: 複数の接続デバイスと人工知能の重要な役割

コネクテッドデバイスの急速な普及により、スマートシティのコンセプトが現実に近づきつつあります。これら...

...

トランスフォーマーの簡易版がここにあります、ネットユーザー:今年の論文

Transformer アーキテクチャは、ディープラーニング分野における最近の多くの成功の原動力であ...