機械学習モデルのトレーニング: ビジネス向け完全ガイド
公開: 2024-02-062016 年、Microsoft は Tay という名前の AI チャットボットを発売しました。 Twitter 上のリアルタイムの会話に飛び込み、専門用語を習得し、新しいチャットごとに賢くなるはずでした。
しかし、悪意のあるユーザーがチャットボットの学習スキルをすぐに悪用したため、実験は失敗に終わりました。 立ち上げから数時間以内に、Tay はユーザーから学んだ否定的な言葉を反映して、攻撃的で不適切なツイートを投稿し始めました。
Tay 氏のツイートは急速に広まり、多くの注目を集め、Microsoft の評判を傷つけました。 この事件は、現実世界の制御されていない環境に機械学習 (ML) モデルを導入することの潜在的な危険性を浮き彫りにしました。 同社は設計上の欠陥を認め、公的に謝罪し、Tayを閉鎖する必要があった。
今日は、適切な ML モデル トレーニングの重要性について掘り下げて説明します。これこそが、Microsoft をこの PR の嵐から救うことができたかもしれません。
それで、バックルを締めてください! これは、機械学習開発会社 ITRex による ML モデル トレーニングのガイドです。
機械学習モデルのトレーニング: 機械学習へのさまざまなアプローチがトレーニング プロセスをどのように形作るか
まずこれから始めましょう。ML には万能のアプローチはありません。 ML モデルをトレーニングする方法は、データの性質と目指す結果によって異なります。
ML への 4 つの主要なアプローチを簡単に見て、それぞれがトレーニング プロセスをどのように形成するかを見てみましょう。
教師あり学習
教師あり学習では、アルゴリズムはラベル付きデータセットでトレーニングされ、入力データを正しい出力にマッピングすることを学習します。 エンジニアは、モデルが独自に新しい問題に取り組む前に、解決された一連の問題をモデルにガイドします。
例: 猫と犬の画像を分類するタスクを負った教師あり学習モデルを考えてみましょう。 ラベル付きデータセットは、対応するラベル (猫または犬) でタグ付けされた画像で構成されます。 このモデルはパラメーターを改良して、新しい未見の画像のラベルを正確に予測します。
教師なし学習
ここでは逆に、アルゴリズムはラベルのないデータに飛び込み、独自にパターンと関係を探します。 類似したデータポイントをグループ化し、隠れた構造を発見します。
例: 電子商取引データセットでの顧客クラスタ化のための ML モデルのトレーニングについて考えてみましょう。 このモデルは顧客データを調べ、購買行動に基づいて個別の顧客クラスターを識別します。
半教師あり学習
半教師あり学習は、教師あり学習と教師なし学習の両方の要素を組み合わせた中間点です。 少量のラベル付きデータと大量のラベルなしデータのプールにより、アルゴリズムはバランスをとります。 完全にラベル付けされたデータセットが不足している場合、これは実用的な選択です。
例: ラベル付きデータ (結果がわかっているケース) が限られている医療診断シナリオを想像してください。 半教師あり学習では、ラベル付き患者データとラベルなし患者データの大規模なプールを組み合わせて活用し、診断機能を強化します。
強化学習
強化学習は、アルゴリズム的には試行錯誤に相当します。 モデルは環境と対話し、意思決定を行い、報酬またはペナルティの形でフィードバックを受け取ります。 時間の経過とともに、累積報酬を最大化するために戦略を洗練させます。
例: 自律型ドローンの機械学習モデルをトレーニングすることを考えてみましょう。 ドローンは、ナビゲーションの成功に対する報酬と衝突に対するペナルティを受け取ることで、環境内でのナビゲーションを学習します。 時間の経過とともに、より効率的にナビゲートできるようにポリシーを改良します。
各 ML アプローチでは、独自に調整したシーケンスと特定のステップに重点を置く必要がありますが、さまざまな方法に幅広く適用できるコアとなるステップのセットが存在します。
次のセクションでは、そのシーケンスについて説明します。
機械学習モデルのトレーニング: ステップバイステップ
機会の特定とプロジェクトの範囲の定義
このステップには、当面のビジネス問題を解読するだけでなく、ML が変革の力を発揮できる機会を正確に特定することも含まれます。
まずは、意思決定者や分野の専門家などの主要な関係者と関わり、ビジネスの課題と目標を包括的に理解します。
次に、ML モデルをトレーニングすることで対処しようとしている具体的な問題を明確に説明し、それがより広範なビジネス目標と一致していることを確認します。
その際、曖昧さに注意してください。 問題の記述があいまいだと、誤った解決策が導かれる可能性があります。 後続の段階での誤った指示を避けるために、問題を明確にして特定することが重要です。 たとえば、「ユーザー エンゲージメントを向上させる」ではなく、「次の四半期以内にパーソナライズされたコンテンツの推奨により、モバイル アプリでのユーザー エンゲージメントを 15% 増加させる」という目標を掲げます。これは定量化され、焦点が絞られ、測定可能です。
スコープ定義段階でできるだけ早い段階で実行できる次のステップは、関連データの可用性と品質を評価することです。
問題を解決するために活用できる潜在的なデータ ソースを特定します。 たとえば、サブスクリプションベースのサービスにおける顧客の離脱を予測したいとします。 顧客のサブスクリプション記録、使用ログ、サポート チームとのやりとり、請求履歴を評価する必要があります。 それとは別に、ソーシャル メディアでのやり取り、顧客からのフィードバック調査、外部の経済指標に目を向けることもできます。
最後に、特定された問題に ML 技術を適用する可能性を評価します。 技術的制約(既存インフラストラクチャの計算能力や処理速度など)、リソース(利用可能な専門知識や予算など)、データ関連(データプライバシーやアクセシビリティの考慮事項など)の制約を考慮します。
データの検出、検証、および前処理
ML モデルのトレーニングを成功させる基盤は、高品質のデータにあります。 データの検出、検証、前処理の戦略を検討してみましょう。
データディスカバリー
ML モデルのトレーニングに入る前に、所有するデータを深く理解することが重要です。 これには、データ内の構造、形式、関係を調査することが含まれます。
データディスカバリーとは具体的には何を意味するのでしょうか?
- 探索的データ分析 (EDA)。利用可能なデータセット内のパターン、相関関係、外れ値を解明し、主要な統計と分布を視覚化してデータに関する洞察を得ることができます。
価格戦略の最適化を目指している小売業を想像してみてください。 EDA フェーズでは、過去の販売データを詳しく調査します。 散布図やヒストグラムなどの視覚化手法を通じて、プロモーション期間と売上増加の間に強い正の相関関係があることがわかります。 さらに、分析によりホリデーシーズン中の異常値が明らかになり、さらなる調査が必要な潜在的な異常を示しています。 したがって、EDA を使用すると、販売パターン、相関関係、異常値の行動のダイナミクスを把握できます。
- 機能の特定。目前の問題に大きく寄与する機能を特定します。 また、設定されたビジネス目標を達成するための各機能の関連性と重要性も考慮します。
上記の例に基づいて、機能の特定には、どの側面が売上に影響を与えるかを認識することが含まれる場合があります。 注意深く分析することで、製品カテゴリ、価格帯、顧客層などの機能が潜在的な要因として特定される場合があります。 次に、各機能の関連性を検討します。 たとえば、プロモーション期間中は製品カテゴリの重要性が異なる可能性があるとします。 したがって、特徴を識別することで、望ましい結果に有意義な影響を与える属性に基づいて機械学習モデルをトレーニングできるようになります。
- データ サンプリング。サンプリング手法を利用して、初期調査用にデータの代表的なサブセットを取得します。 上記の例の小売業の場合、データのサンプリングが不可欠になります。 たとえば、ランダム サンプリングを使用して、さまざまな期間から販売データの代表的なサブセットを抽出するとします。 こうすることで、通常期間とプロモーション期間をバランスよく表現できます。
次に、層化サンプリングを適用して、各製品カテゴリが比例的に表現されていることを確認できます。 このサブセットを調査することで、販売傾向に関する予備的な洞察が得られ、ML モデルのトレーニングのその後の段階について情報に基づいた意思決定を行うことができます。
データ検証
ML モデルのトレーニングにおける堅牢なデータ検証の重要性は、どれだけ強調してもしすぎることはありません。 これにより、モデルに入力される情報が正確、完全、一貫していることが保証されます。 また、より信頼性の高いモデルを育成し、バイアスを軽減するのにも役立ちます。
データ検証の段階では、データの整合性を徹底的に評価し、モデルのパフォーマンスに影響を与える可能性のある不一致や異常を特定します。 実行する正確な手順は次のとおりです。
- データ品質チェック。(1) 特徴全体で欠損値を検索し、それらを削除するための適切な戦略を特定します。 (2) データ形式と単位の一貫性を確保し、モデルのトレーニングに影響を与える可能性のある不一致を最小限に抑えます。 (3) モデルのトレーニングを歪める可能性のある外れ値を特定して処理します。 (4) データの論理的妥当性を検証します。
- 相互検証。データをドメイン知識または外部ソースと照らし合わせて相互検証し、その正確性と信頼性を検証します。
データの前処理
データの前処理により、クリーンで一貫性のある代表的なデータセットでモデルがトレーニングされることが保証され、新しい未知のデータへの一般化が強化されます。 それを達成するために行うことは次のとおりです。
- 欠損データの処理: 欠損値を特定し、データの性質や解決されるビジネス上の問題に基づいて補完や削除などの戦略を実装します。
- 外れ値の検出と処理: 統計的手法を採用して外れ値を特定して処理し、モデルの学習プロセスに影響を与えないようにします。
- 正規化、標準化: 数値特徴を標準範囲にスケールし (Z スコア正規化を使用するなど)、一貫性を確保し、特定の特徴が他の特徴を支配するのを防ぎます。
- エンコーディング: データを一貫した形式に変換します (ワンホット エンコーディングや単語埋め込みなどを通じて)。
- 特徴エンジニアリング: 新しい特徴を導き出すか、既存の特徴を変更して、データ内の関連するパターンをキャプチャするモデルの能力を強化します。
機械学習モデルのトレーニング用にデータを準備するときは、データセット内に貴重な情報を保持することと、データに存在する固有の不完全性や異常に対処することとの間でバランスを取ることが重要です。 バランスを誤ると、貴重な情報が不注意で失われ、モデルの学習と一般化の能力が制限される可能性があります。
意味のあるデータの損失を最小限に抑えながら、不完全性に対処する戦略を採用します。 これには、慎重な外れ値の処理、選択的な代入、またはカテゴリ変数の代替エンコード方法の検討が含まれる場合があります。
データエンジニアリング
データが不十分な場合には、データエンジニアリングが活躍します。 データの不足は、データの拡張や合成などの技術によって補うことができます。 詳細を見てみましょう。
- データ拡張: これには、固有の意味を変更せずにさまざまな変換を適用することによって、既存のデータの新しいバリエーションまたはインスタンスを作成することが含まれます。 たとえば、画像データの場合、拡張には回転、反転、ズーム、または明るさの変更が含まれる可能性があります。 テキスト データの場合、バリエーションには言い換えや同義語の導入が含まれる場合があります。 したがって、拡張を通じてデータセットを人為的に拡張することで、モデルをより多様なシナリオに導入し、目に見えないデータで実行する能力を向上させます。
- データ合成: これには、既存のデータセットの特性に合わせたまったく新しいデータ インスタンスの生成が伴います。 合成データは、生成 AI モデル、シミュレーション、またはドメイン知識を活用して、もっともらしい例を生成することによって作成できます。 データ合成は、より多くの実世界データを取得することが困難な状況で特に価値があります。
最適なアルゴリズムの選択
データの作業が完了しました。 ML モデルのトレーニング プロセスの次の段階は、アルゴリズムに関するものです。 最適なアルゴリズムの選択は、将来のモデルのパフォーマンスと精度に影響を与える戦略的な決定です。
一般的な ML アルゴリズムがいくつかあり、それぞれが特定のタスクのセットに適しています。
- 線形回帰: 入力特徴に基づいて連続的な結果を予測する場合に適用できます。 これは、フィーチャとターゲット変数の間に線形関係が存在するシナリオ、たとえば、平方フィート、寝室の数、場所などのフィーチャに基づいて住宅価格を予測する場合に最適です。
- デシジョン ツリー: 数値データとカテゴリ データの両方を処理できるため、明確な決定境界を必要とするタスク (たとえば、送信者、件名、内容などの特徴に基づいて電子メールがスパムであるかどうかを判断するなど) に適しています。
- ランダム フォレスト: 複数のデシジョン ツリーを組み合わせて精度と堅牢性を高めるアンサンブル学習アプローチ。たとえば、過去の使用状況データと顧客人口統計を組み合わせて顧客離れを予測するなど、複雑な問題に効果的です。
- サポート ベクター マシン (SVM): 明確な意思決定境界が重要なシナリオ、特に医療画像などの高次元空間で効果的です。 SVM を適用できるタスクの例としては、画像から抽出されたさまざまな特徴に基づいて医療画像を癌性または非癌性として分類することが挙げられます。
- K 最近傍 (KNN): KNN は、近接性に基づいて、近隣のデータ ポイントの多数派クラスまたは平均に基づいて予測を行います。 このため、KNN は推奨システムにおける協調フィルタリングに適しており、同様の視聴履歴を持つユーザーの好みに基づいてユーザーに映画を提案できます。
- ニューラル ネットワーク: 複雑なパターンと関係の捕捉に優れており、画像認識や自然言語処理などのさまざまな複雑なタスクに適用できます。
ML モデルのトレーニングのアルゴリズムの選択に影響を与える要因は次のとおりです。
- 問題の性質: 問題の種類 (分類、回帰、クラスタリングなど)。
- データセットのサイズと複雑さ: 大規模なデータセットでは、拡張性に優れたアルゴリズムの恩恵を受ける可能性がありますが、複雑なデータ構造にはより洗練されたモデルが必要になる場合があります。
- 解釈可能性の要件: 一部のアルゴリズムは、より解釈可能性を提供します。これは、モデルの決定を理解することが最重要であるシナリオにとって非常に重要です。
機械学習モデルのトレーニング
モデルのトレーニング段階では、最適なパフォーマンスを得るためにアルゴリズムをトレーニングおよび調整します。 このセクションでは、モデルのトレーニング プロセスの重要な手順について説明します。
まず、データセットをトレーニング セット、検証セット、テスト セットの 3 つの部分に分割します。
- トレーニング セット: このデータのサブセットは、モデルを教えるための主要なソースです。 これは ML モデルのトレーニングに使用され、入力と出力の間のパターンと関係を学習できるようになります。 通常、トレーニング セットは利用可能なデータの大部分を構成します。
- 検証セット: このデータ セットは、トレーニング中のモデルのパフォーマンスを評価するのに役立ちます。 これは、ハイパーパラメーターを微調整し、モデルの汎化能力を評価するために使用されます。
- テスト セット: このデータ セットは、モデルの最終検査として機能します。 これは、モデルがトレーニングまたは検証中に遭遇しなかった新しいデータで構成されます。 テスト セットは、現実のシナリオでモデルがどのように動作するかの推定を提供します。
テスト データ セットを通じてアルゴリズムを実行した後、モデルのパフォーマンスを最初に理解し、ハイパーパラメーターの調整に進みます。
ハイパーパラメータは、モデルの学習プロセスをガイドする事前定義された構成です。 ハイパーパラメータの例としては、トレーニング中のステップ サイズを制御する学習率や、ランダム フォレストのデシジョン ツリーの深さなどがあります。 ハイパーパラメータを調整すると、モデルに最適な「設定」を見つけるのに役立ちます。
モデルの評価と検証
モデルの最適なパフォーマンスを確保するには、設定されたメトリックに照らしてモデルを評価することが重要です。 当面のタスクに応じて、特定のメトリクスのセットを選択できます。 機械学習モデルのトレーニングで一般的に使用されるものは次のとおりです。
- 精度は、モデルの予測の全体的な正確さを定量化し、その一般的な習熟度を示します。
- 精度と再現率。前者は肯定的な予測の精度に焦点を当て、モデルが肯定的な結果を主張するたびにそれが正しく行われることを保証し、後者はデータセット内のすべての肯定的なインスタンスを捕捉するモデルの能力を評価します。
- F1 スコアは、精度と再現率のバランスをとることを目指しています。 モデルのパフォーマンスを表す単一の数値を提供します。 精度と再現率はトレードオフの関係にあることが多いため (これらの指標のいずれかを改善すると、通常、もう一方の指標が犠牲になります)、F1 スコアは両方の側面を考慮した統一された尺度を提供します。
- AUC-ROC、つまり受信機動作特性の下の領域は、正のクラスと負のクラスを区別するモデルの能力を反映します。
- 「距離メトリクス」は、予測値と実際の値の差、つまり「距離」を定量化します。 「距離メトリック」の例には、平均二乗誤差 (MSE)、平均絶対誤差 (MAE)、および R 二乗があります。
モデルの製品化/展開およびスケーリング
ML モデルのトレーニングと検証が完了したら、次の重要なステップはデプロイメントです。つまり、モデルを現実の環境で動作させることです。 これには、モデルを既存のビジネス インフラストラクチャに統合することが含まれます。
モデルのデプロイメントで注意すべき主要な側面は次のとおりです。
- スケーラビリティ
導入されたモデルは、さまざまなワークロードを処理し、データ量の変化に適応できるように設計する必要があります。 スケーラビリティは、特にモデルが大量のデータをリアルタイムで処理することが予想されるシナリオでは非常に重要です。
- 監視とメンテナンス
導入後は継続的な監視が不可欠です。 これには、現実世界の条件におけるモデルのパフォーマンスを追跡し、精度の逸脱や低下を検出し、問題に迅速に対処することが含まれます。 定期的なメンテナンスにより、ビジネス環境が進化してもモデルの有効性が維持されます。
- フィードバックループ
継続的な改善にはフィードバック ループの確立が不可欠です。 現実世界でのモデルの予測からフィードバックを収集することで、データ サイエンティストは時間をかけてモデルを改良し、強化することができます。
機械学習モデルのトレーニングにおける課題を克服する
実際の例を見て、ML モデルのトレーニングの詳細を詳しく見てみましょう。 以下に、AI 機能を備えた革新的なスマート フィットネス ミラーを作成するまでの道のりを記録し、機械学習の実践的な側面についての洞察を提供したいと考えています。
最初に少しコンテキストを共有しましょう。 新型コロナウイルスのパンデミックによりジムが閉鎖され、在宅フィットネスの台頭が加速する中、当社のクライアントは、パーソナルコーチとして機能するスマートフィットネスミラーという、革新的なソリューションを構想しました。 ユーザーの動きを捕捉し、リアルタイムのガイダンスを提供し、パーソナライズされたトレーニング計画を作成します。
この機能を実現するために、私たちは独自の ML モデルを設計し、トレーニングしました。 ソリューションの複雑な性質により、ML モデルのトレーニング プロセスは簡単ではありませんでした。 いくつかの課題に遭遇しましたが、それらはうまく対処できました。 最も注目すべきものを見てみましょう。
- トレーニングデータの多様性の確保
高性能のモデルをトレーニングするには、トレーニング データセットが多様で代表的で、バイアスがないことを確認する必要がありました。 これを達成するために、私たちのチームは外れ値の検出と削除を含むデータ前処理技術を実装しました。
さらに、データセット内の潜在的なギャップを補い、その多様性を高めるために、さまざまな環境、異なる照明条件、さまざまな運動器具で運動する人々を紹介するカスタムビデオを撮影しました。
この広範なビデオ映像でデータセットを強化することで、モデルの理解を深め、現実世界のシナリオにより効果的に適応できるようにしました。
2. モデルのアルゴリズムの複雑さをナビゲートする
私たちが直面したもう 1 つの課題は、ユーザーの動きを正確に追跡および解釈できる深層学習モデルの設計とトレーニングでした。
深度センシングを実装して、解剖学的ランドマークに基づいて動きをキャプチャしました。 これは簡単な偉業ではありませんでした。 正確な処理とランドマーク認識が必要でした。
最初のトレーニングラウンドの後、私たちは、スケルトン化 (ランドマークを効率的に識別するためにユーザーのシルエットを簡素化された骨格構造に変換することを考えてください) やトラッキング (ランドマーク認識の一貫性を確保することを考えてください) などの高度なコンピューター ビジョン技術を組み込んでアルゴリズムの微調整を続けました。時間の経過とともに、ダイナミックなエクササイズ全体を通して精度を維持するために不可欠です)。
3. IoT デバイスのシームレスな接続と統合の確保
フィットネスミラーは体の動きを追跡するだけでなく、ユーザーがトレーニングに使用する重量も追跡するため、個々の機器に取り付けられたワイヤレス粘着センサーを導入しました。
センサーとミラー間の中断のない接続を確保し、リアルタイムのデータ同期を可能にする必要がありました。 そのために、最適化されたデータ転送プロトコルを実装し、データ送信における潜在的な不具合に対処するためのエラー処理戦略を開発しました。 さらに、動的演習中のリアルタイム同期に不可欠な迅速な通信を促進するために、帯域幅最適化技術を採用しました。
4. 音声認識の実装
フィットネス ミラーの音声認識機能によりインタラクティブ レイヤーが追加され、ユーザーは音声コマンドを通じてデバイスを制御し操作できるようになりました。
ユーザーがシステムを操作できるようにするために、フィットネス関連コマンドの固定リストを備えた音声起動マイクと、新しい単語を学習し、ユーザーが与えた新しいプロンプトを理解できる音声認識テクノロジーを実装しました。
課題は、ユーザーが周囲の騒音のある自宅環境で運動することが多く、音声認識システムがコマンドを正確に理解することが困難であることでした。 この課題に取り組むために、私たちはノイズキャンセリングアルゴリズムを実装し、音声認識モデルを微調整して、騒がしい状況での精度を高めました。
機械学習モデルトレーニングの将来の傾向
ML の状況は進化しており、ML モデルのトレーニング プロセスの再構築を約束する注目すべきトレンドの 1 つは、自動機械学習 (AutoML) です。 AutoML は、ML モデルを開発するための、よりアクセスしやすく効率的なアプローチを提供します。
これにより、上記のワークフローの多くを自動化できるため、ML に関する広範な専門知識を持たない人でも ML の力を活用できるようになります。
AutoML が ML トレーニング プロセスに影響を与えるように設定される方法を次に示します。
- すべてのユーザーへのアクセシビリティ: AutoML は、モデルのトレーニングに伴う複雑さを簡素化し、ML を民主化します。 経験豊富なデータ サイエンティストだけでなく、さまざまな背景を持つ個人も AutoML ツールを活用して強力なモデルを作成できます。
- 効率と速度: 従来の ML 開発サイクルは、リソースを大量に消費し、時間がかかる場合があります。 AutoML はこのプロセスを合理化し、特徴量エンジニアリング、アルゴリズムの選択、ハイパーパラメーターの調整などのタスクを自動化します。 これにより、モデル開発ライフサイクルが加速され、より効率的になり、ビジネス ニーズに対応できるようになります。
- 専門知識を必要としない最適化: AutoML アルゴリズムは、深い専門知識を必要とせずにモデルを最適化することに優れています。 彼らはアルゴリズムとハイパーパラメータのさまざまな組み合わせを繰り返し探索し、最高のパフォーマンスを発揮するモデルを探します。 これにより、時間が節約されるだけでなく、最適なパフォーマンスが得られるようにモデルが微調整されるようになります。
- 継続的な学習と適応: AutoML システムには、継続的な学習の側面が組み込まれていることが多く、時間の経過によるデータ パターンやビジネス要件の変化に適応します。 この適応性により、動的な環境でもモデルの関連性と効果性が維持されます。
ML を使用してデータの可能性を最大化したい場合は、当社までお問い合わせください。 当社の専門家が、プロジェクトの計画からモデルの製品化に至るまで、ML モデルのトレーニングをガイドします。
この記事はもともとITRex Webサイトに掲載されたものです