ベストプラクティスを実際のデザインパターンに抽象化することはできますか?機械学習

ベストプラクティスを実際のデザインパターンに抽象化することはできますか?機械学習

機械学習におけるデザインパターン

定義上、デザイン パターンは一般的な問題に対する再利用可能なソリューションです。ソフトウェア エンジニアリングにおいて、この概念は 1987 年に Beck と Cunningham がプログラミングに適用し始めたときに遡ります。 2000 年代までに、デザイン パターン (特に OOP 指向の SOLID 設計原則) はプログラマーの間で常識と見なされるようになりました。 15 年が経ち、私たちはソフトウェア 2.0 の時代に入りました。機械学習モデルが、ますます多くのコード箇所で従来の関数に取って代わり始めています。今日、私たちはソフトウェアを、従来のコード、機械学習モデル、および基礎となるデータの融合であると考えています。この融合には、これらのコンポーネントをシームレスに統合する必要がありますが、これらの分野の歴史や進化はそれぞれ異なるため、これは必ずしも容易な作業ではありません。

今日、私たちはソフトウェアを、従来のコード、機械学習モデル、および基礎となるデータの融合であると考えています。

しかし、デザイン パターンはまだ、この新しい時代の課題に対応できるほど拡張されていません。ソフトウェア 2.0 では、コード レベルだけでなく、問題の定義、データ表現、トレーニング方法、スケーリング、AI 対応システム設計の倫理においても共通の課題が発生します。これにより、機械学習のアンチパターンを実践するための肥沃な土壌が生まれます。残念なことに、今日では、ブログ投稿やカンファレンスでも、アンチパターン、つまり状況を改善すると考えられて実際には状況を悪化させる慣行が採用されることがあります。アンチパターンにはスキルが必要であるため、実践者はそれを認識していないことがよくあります。そこで、以下では、一般的な ML の課題の例を 2 つ挙げますが、デザイン パターンから始めるのではなく、まずその解決策のアンチパターンを紹介します。

モデルは評価指標で低いパフォーマンスを示している

一般的なシナリオでは、エンジニアはデータを収集、クリーニング、準備した後、最初のモデルをトレーニングし、そのモデルがテスト データに対して低いパフォーマンスを示すことを発見します。一般的なアンチパターンは、最初のモデルをより複雑なモデル (通常は勾配ブースティング ツリーなど) に置き換えて、その方法でパフォーマンスの向上を期待することです。このアンチパターンのバリエーションでは、モデルの平均化などにより複数のモデルを組み合わせることで、この手順に従うことができます。

これらのアプローチの問題点は、問題の一部、つまりモデルのみに焦点を当て、モデルの複雑さを増すことで問題を解決しようとすることです。このステップでは、過剰適合の大きなリスクを受け入れざるを得なくなり、解釈可能性と引き換えに予測力が追加されます。この選択による副作用を軽減する効果的な方法(LIME など)はありますが、完全に排除することはできません。

デザインパターンはエラー分析です。実際には、これは、さまざまなテスト セットでのモデルの適合性を評価することによって、またはモデルが間違っている個々のケースを調べることによって、モデルがどこで間違っているかを確認することを意味します。 「ゴミを入れればゴミが出る」ということわざを聞いたことがあると思いますが、データに多少の矛盾があってもこれが真実だと気づく人はほとんどいません。ラベルは異なる評価者から提供される場合があり、評価者ごとにラベル付けガイドラインの解釈が若干異なります。おそらく、データの収集方法は時間の経過とともに変化したのでしょう。エラー分析は、小さなデータの問題に特に効果的です。しかし、ビッグデータの状況の大部分では、ロングテールイベント(入学試験を通じて希少な才能を特定するなど)も扱っていることも忘れてはなりません。

エラー分析の真の力は、それを適用することで解釈可能性や過剰適合のリスクを犠牲にすることなく、実際にそれを適用するだけでデータの分布に関する重要な知識を得ることができるという事実から生まれます。さらに、エラー分析により、モデル中心のソリューション (より複雑なモデルなど) とデータ中心のソリューション (追加のクリーニング手順など) を選択できるようになります。

導入されたモデルのパフォーマンスは時間の経過とともに低下する

このモデルは広範囲に検証され、実稼働環境に導入されています。ユーザーは満足し、肯定的なフィードバックをくれました。そして、1 か月後、四半期後、または 1 年後には、予測の欠陥に関する報告が行われます。これは多くの場合、モデルが学習した入力と出力の接続が時間の経過とともに変化する、コンセプトドリフトの現れです。この種の概念ドリフトは、一部の分野ではよく知られていますが (単語の意味論、スパム検出器)、「概念」ドリフトはどの分野でも発生する可能性があります。たとえば、マスクや社会的距離の規制は、これまで導入されてきた多くのコンピューター ビジョン モデルにも課題をもたらしました。

よくあるアンチパターンは、これらの例をノイズに帰し、時間の経過とともに状況が安定することを期待することです。これは、行動の欠如を意味するだけでなく、不正確な帰属も含まれますが、これは通常、データ駆動型のビジネスでは避けるべきことです。もう少し良いアンチパターンは、レポートに反応して、すぐに再トレーニングし、新しいモデルを展開することです。これは、チームがアジャイル ソフトウェア開発の原則に従っていると想定し、変更に迅速に対応することを選択した場合でも、アンチパターンになります。問題は、この解決策は症状には対処しますが、システム設計の欠陥は修正されないことです。

設計パターンはパフォーマンスを継続的に評価するもので、ドリフトが発生することを想定しているため、できるだけ早くそれに気付くようにシステムを設計します。これは反応速度ではなく検出速度に重点が置かれているため、まったく異なるアプローチです。これにより、システム全体のプロセスがより制御され、あらゆる反応の優先順位をより柔軟に決定できるようになります。継続的な評価とは、少量の新しいデータセットの真実を継続的に生成するためのプロセスとツールを確立することを意味します。ほとんどの場合、これには手動でのラベル付けが含まれ、多くの場合クラウドソーシング サービスが使用されます。ただし、場合によっては、他のより洗練された方法を使用することもできますが、展開環境では、モデルとデバイスのグラウンド トゥルース ラベルを生成することは現実的ではありません。たとえば、自律走行車の開発では、1 つのセンサー (LiDAR など) からの入力を使用して、別のセンサー (カメラなど) のグラウンド トゥルースを生成できます。

機械学習のためのSOLID設計原則

私がデザイン パターンについて書いている理由は、この分野が成熟度に達し、ベスト プラクティスを共有するだけでなく、それを実際のデザイン パターンに抽象化できるようになったからです。幸いなことに、この作業はすでに複数のグループによって開始されています。実際、このテーマに関する2冊の本が最近出版されました[1]、[2]。楽しく読みましたが、私たちは正しい方向に進んでいるものの、ML 実践者にとっての SOLID 設計原則を実現するにはまだ数歩の道のりがあると感じています。基礎はすでに理解されており、今日の AI 対応製品の構築に使用されていますが、デザイン パターンとアンチパターンの取り組みは、ソフトウェア 2.0 時代に向けた重要なステップであると私は考えています。

<<:  顔認識は簡単に破られるのでしょうか?虐待と闘う方法

>>:  門戸を開くと、エンタープライズ機械学習が急成長

ブログ    

推薦する

AI は清華大学の博士号取得者がラップの歌詞を書くのを手伝い、次のレベルに進みました。AI はクロストークを行うことができるのでしょうか?

今年、「中国の声」の話題は音楽そのものの議論からは程遠いが、これは重要ではない。注目されているのは、...

この記事では人工知能とは何かを徹底的に解説します!

人工知能 (AI) は、自然科学のさまざまな分野を網羅しており、主に特定の種類の知的な人間の活動をモ...

デジタル経済の発展を深め、人工知能時代の開放性と革新性を把握する

最近、ファーウェイの副社長兼コンピューティング製品ラインのプレジデントである鄧太華は、Huawei ...

...

百度の女性デーのポスターはスマートライフの姿を描いている:人工知能は女性をより自由にする

社会の進歩と国民の意識の高まりに伴い、社会全体が女性の権利にますます注目するようになっています。 3...

科学技術の力を感じる: 人工知能とスマートヘルスケアの 4 つの注目のアプリケーションの分析

人工知能業界は急速に発展しており、医療、輸送、家具、電子機器などの業界で関連する応用事例が見つかりま...

...

...

ニューラルネットワークの問題を解決するための新しいアイデア: OpenAI は線形ネットワークを使用して非線形問題を計算します

[[205570]]深層線形ネットワーク (浮動小数点演算を使用して実装) は実際には線形ではなく、...

ドローンは「緊急産業」がインテリジェンスの時代に移行するのに大いに役立つ

私の国は、世界で最も深刻な災害に見舞われる国の一つです。自然災害は一般的に、種類が多く、被害地域が広...

情報理論に基づくキャリブレーション技術により、マルチモーダル機械学習の信頼性が向上

マルチモーダル機械学習は、さまざまなシナリオで目覚ましい進歩を遂げています。しかし、マルチモーダル学...

製造業におけるコンピューター ビジョン: 機会と導入のヒント

時計職人の片眼鏡から、絵を描くのに便利な「ルシーダカメラ」まで、職人たちは光学技術を使って感覚を高め...

...

ディープラーニングを実践するための7つのステップ

私たちの仕事では、「ディープラーニングの学習はどこから始めればよいですか?」という質問をよく受けます...