Amazon Web Services ブログ

Category: SageMaker

機械学習と感度分析を組み合わせてビジネス戦略を開発する

機械学習 (ML) は、意思決定を支援するために無数の企業で日常的に使用されています。ただし、ほとんどの場合、ML システムによる予測とビジネス上の決定には、判断を下すために人間のユーザーの直感がまだ必要です。 この記事では、ML を感度分析と組み合わせて、データ駆動型のビジネス戦略を開発する方法を示します。この記事では、顧客の解約 (つまり、競合他社への顧客の離反) に焦点を当て、ML ベースの分析を使用するときにしばしば発生する問題を取り上げます。これらの問題には、不完全で不均衡なデータの処理、戦略的オプションの導出、およびそれらのオプションの潜在的な影響の定量的評価に関する困難が含まれます。 具体的には、ML を使用して解約する可能性の高い顧客を特定し、機能の重要性とシナリオ分析を組み合わせて定量的および定性的な推奨事項を導き出します。次に、組織はその結果を使用して、将来の解約を減らすための適切な戦略的および戦術的決定を下すことができます。このユースケースは、以下のように、データサイエンスを実践する際に発生するいくつかの一般的な問題を示しています。 低い信号と雑音比と、特徴と解約率の間の明確な相関関係の欠如 非常に不均衡なデータセット (データセット内の顧客の 90% が解約しない) 確率論的な予測と調整を使用した、解約問題への過剰投資のリスクを最小限に抑える意思決定メカニズムの特定 エンドツーエンドの実装コードは、Amazon SageMaker で利用でき、Amazon EC2 でスタンドアロンとして利用できます。 このユースケースでは、さまざまなタイプの製品を提供する架空の会社を考えます。その会社の 2 つの主要な製品を製品 A と製品 B と呼びます。会社の製品と顧客に関して部分的な情報しか持っていません。同社は最近、競合他社への顧客離反 (解約とも) が増加している様を見ています。データセットには、数か月にわたって収集およびソートされた数千の顧客の多様な属性に関する情報が含まれています。これらの顧客の一部は解約しており、一部はそのままです。特定の顧客のリストを使用して、個人が解約する確率を予測します。このプロセス中、次のいくつかの質問に対して回答しようと思います。顧客離れの信頼できる予測モデルは作成できるのか? 顧客が解約する可能性を説明する変数は何か? 会社は解約を減らすためにどのような戦略を実行できるか? この記事では、ML モデルを使用して解約削減戦略を策定するための次の手順について説明します。 データの探索と新機能のエンジニアリング 最初に、個々の入力機能と解約ラベルの間の単純な相関関係と関連性を調べて、顧客データを探索する方法を説明します。また、機能自体の間の関連付け (相互相関、または共分散と呼ばれる) も調べます。これにより、アルゴリズムの決定、特に、どの機能を派生、変更、または削除するかを決定できます。 ML モデルのアンサンブルの開発 次に、自動機能選択を含むいくつかの ML アルゴリズムを構築し、複数のモデルを組み合わせてパフォーマンスを向上させます。 ML モデルのパフォーマンスの評価と改善 3 番目のセクションでは、開発したさまざまなモデルのパフォーマンスをテストします。そこから、解約する顧客の数を過大評価するリスクを最小限に抑える意思決定メカニズムを特定します。 ビジネス戦略設計への ML モデルの適用 最後に、4 番目のセクションでは、ML の結果を使用して、顧客の解約に影響する要因を理解し、戦略的オプションを導き出し、解約率に対するこれらのオプションの影響を定量的に評価します。そのためには、感度分析を実行します。この分析では、実際の生活で制御できるいくつかの要因 (割引率など) […]

Read More

Amazon SageMaker RL Notebook を使用した AWS DeepRacer のカスタム深層強化学習およびマルチトラックトレーニング

re:Invent 2018 で開始された AWS DeepRacer は、開発者が強化学習 (RL) を実践するのに役立ちます。  それ以来、世界中の AWS Summits で開催された 21 の AWS DeepRacer リーグイベントで、何千人もの人々が仮想的に AWS DeepRacer コンソールを通じてモデルを開発し、競い合いました。サミット以外にも、AWS Lofts でのいくつかのイベント、開発者のミートアップ、パートナーセッション、企業イベントなどがありました。 AWS DeepRacer で学び、実験する開発者の熱意は非常に高いものがあります。多くの人は、さらに探求し、ニューラルネットワークアーキテクチャやトレーニングプリセットを改良したり、複数のトラックで並行してトレーニングしたりする能力を高めたいと考えています。 AWS DeepRacer は、Amazon SageMaker、AWS RoboMaker、Amazon Kinesis Video Streams、Amazon CloudWatch、Amazon S3 など、他のいくつかの AWS のサービスを利用しています。こうした各コンポーネントをよりきめ細かく制御してシミュレーション環境とモデリング環境を拡張するために、この記事にはこうした環境のプロビジョニングと管理に役立つノートブック環境が含まれており、AWS DeepRacer でのエクスペリエンスのあらゆる側面を改良できます。詳細については、この記事の GitHub リポジトリを参照してください。 この記事では、環境の設定方法を探り、AWS DeepRacer コードベースの主なコンポーネントを掘り下げ、ニューラルネットワークやトレーニングプリセットの変更、アクションスペースのカスタマイズ、複数のトラックでの並行トレーニングについて詳しく説明します。最後には、Amazon SageMaker を使用して AWS DeepRacer モデルトレーニングを変更する方法を理解できているはずです。 開発者は、AWS DeepRacer コンソールの背後にあるツールを利用することで、AWS DeepRacer トレーニングとモデルのあらゆる側面をカスタマイズおよび変更し、モデルを直接レースにダウンロードして、NeurIPS […]

Read More

AWS Marketplace から使用可能状態のモデルを入手し、アプリケーションに AI を追加する

機械学習 (ML) は、エンタープライズが保持するデータや自動決定などの真の可能性を解放させ、ビジネスプロセスを変革することで顧客に提供する価値を急激に高めます。ML を活用していただくために、Amazon SageMaker では、ML モデルを素早く構築、トレーニング、デプロイするための手段をご提供しています。 最近までは、Amazon SageMaker をご使用いただく場合に、Amazon SageMaker により最適化されたアルゴリズムか、独自のアルゴリズムとモデルを導入していただくかの、2 通りから選択していただけるようになっていました。この ML のアルゴリズムとモデルに関する選択の幅が、AWS Marketplace for Machine Learning により広がります。お客様は、数百もある無料もしくは有料のアルゴリズムやモデルパッケージから選択でき、それらは次のように広範囲なカテゴリーをカバーしています。 オーディオ コンピュータビジョン 画像 自然言語処理 音声認識 構造化データ テキスト ビデオ 今回の記事では、AWS Marketplace for Machine Learning から入手する Face Anonymizer モデルパッケージをデプロイし、推論を実行させる方法をご紹介します。 概要 AWS Marketplace にあるモデルパッケージはトレーニング済みの機械学習モデルであり、バッチジョブとしてもリアルタイム推論としても使用していただけます。これらモデルパッケージはトレーニング済みであるために、お客様は次にあげるようなタスクに悩まされる必要はありません。 トレーニング用データの収集 モデルをトレーニングするためのアルゴリズムの記述 ハイパーパラメータ最適化の作業 モデルのトレーニングとリリースのための準備作業 これらの手順が必要なくなれば、アルゴリズムの記述、データセット抽出、技術的な作業、そしてモデルのトレーニングとチューニングにお客様が投じていた多くの時間と予算を節減できるわけです。 AWS Marketplace から入手できるアルゴリズムとモデルパッケージは、Amazon SageMaker とシームレスに統合されています。これらとのやり取りは、AWS マネジメントコンソール、低レベルの Amazon SageMaker API、Amazon […]

Read More

【開催報告】第9回Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクトの上総 (Twitter:@tkazusa ) です。AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を定期的に開催しています。2019年10月30日に開催された 第9回 Aazon SageMaker 事例祭り では、AWS Japan のソリューションアーキテクトによるサービスの最新情報や技術情報と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きし、実際に導入頂いたお客様による「体験談」をお話し頂きました。

Read More

Amazon SageMaker の自動モデルチューニングによるポートフォリオ値の最適化

 信用貸しを行う金融機関は、各融資申請に関連する信用リスクを評価し、引き受けるリスクのレベルを定義するしきい値を決定するという二重のタスクに直面しています。信用リスクの評価は、機械学習 (ML) 分類モデルを一般的に当てはめて行います。ただし、分類のしきい値の決定は、多くの場合、副次的な関心事として扱われ、その場しのぎで原則のない方法で設定されます。その結果、金融機関はパフォーマンスの低いポートフォリオを作成し、リスク調整後のリターンをテーブルに残している可能性があります。 このブログ記事では、Amazon SageMaker の自動モデルチューニングを使用して、融資対象の借り手のサブセットを選択する貸し手のポートフォリオ値を最大化する分類しきい値を決定する方法について説明します。より一般的には、分類設定で最適なしきい値またはしきい値のセットを選択する方法について説明します。ここで説明する方法は、経験則や一般的なメトリクスに依存しません。これは、目前の問題に固有のビジネスの成功指標に依存する体系的かつ原則的な方法です。この方法は、効用理論と、合理的な個人は期待される効用または主観的価値を最大化するために意思決定を行うという考えに基づいています。 この記事では、貸し手は、融資申し込みを、受け入れた上で貸し出すグループと、受入れを拒否するグループの 2 つのグループに分ける分類のしきい値を選択することにより、ポートフォリオの期待ドル価値を最大化しようとしていると仮定します。言い換えれば、貸し手は、ポートフォリオ値を説明する関数の最高値となるしきい値を見つけるために、潜在的なしきい値のスペースを検索しています。 この記事では、Amazon SageMaker の自動モデルチューニングを使用して、最適なしきい値を見つけます。付随する Jupyter ノートブックは、このユースケースをサポートするコードを示しています。これは、モデルのパフォーマンスを最適化するハイパーパラメータを選択するために通常使用する自動モデルチューニング機能の新しい使用法です。この記事では、特定のパラメータ空間で関数を最大化する一般的なツールとして使用しています。 このアプローチには、一般的なしきい値決定アプローチに比べていくつかの利点があります。通常、分類しきい値は 0.5 に設定されます (またはデフォルトに設定されます)。このしきい値は、ほとんどのユースケースで可能な最大の結果を生成しません。対照的に、ここで説明するアプローチでは、対処する特定のビジネスユースケースの最大の結果を生成するしきい値を選択します。この記事のユースケースでは、説明した方法で最適なしきい値を選択すると、ポートフォリオ値が 2.1% 増加します。 また、このアプローチは、最適なしきい値を決定する際に一般的な経験則と専門家の判断を使用するだけではありません。分類問題に体系的に適用できる構造化されたフレームワークをレイアウトします。さらに、このアプローチでは、モデルの予測とその利点とコストに対して実行される特定のアクションに基づいて、ビジネスがコストマトリクスを明示的に提示する必要があります。この評価プロセスは、モデルの分類結果を単純に評価するだけではありません。このアプローチは、ビジネスにおける挑戦的な議論を促し、オープンな議論と合意のためにさまざまな暗黙の意思決定や評価を明らかにすることができます。これにより、単純な「この価値の最大化」から、より複雑な経済的トレードオフを可能にするより有益な分析に至る議論が促進され、ビジネスにより多くの価値がもたらされます。 このブログ記事について 読む時間 20 分 完了するまでの時間 1.5 時間 完了するためのコスト ~2 USD 学習レベル 高度 (300) AWS のサービス Amazon SageMaker 背景 貸し手が潜在的なローンのプールからポートフォリオを構築しようとしていると仮定します。このユースケースに取り組むには、貸し手はまず、各ローンのデフォルトの確率を計算することにより、プール内の各ローンに関連する信用リスクを評価する必要があります。ローンに関連するデフォルトの可能性が高いほど、ローンに関連する信用リスクが高くなります。ローンのデフォルトの確率を計算するために、貸し手はロジスティック回帰やランダムフォレストなどの ML 分類モデルを使用します。 貸し手がデフォルトの確率モデルを推定したとすると、ローンが有し得る最大のデフォルト確率を設定し、ローンを貸し出す意思があるしきい値をどのように選択すればよいでしょうか? 分類モデルのユーザーは、多くの場合、しきい値の値を従来のデフォルト値の 0.5 に設定しています。ユースケース固有のしきい値を設定しようとしても、精度や再現率などのしきい値ベースのメトリクスを最大化することに基づいて設定します。メトリクスの問題の 1 つは、分類マトリクスに記述されている個別の結果の特定の部分を無視することです。たとえば、精度は真と偽の負の結果を見落とします。さらに、これらのメトリクスには、分類マトリクスの各セルに関連するコストと利点が組み込まれていません。たとえば、この記事で検討する場合、各ローンに関連付けられたデフォルトを考慮した金利と損失は、一般的なしきい値ベースの測定の計算では無視されます。最終的に、ビジネスの価値はそのモデルの精度や再現率ではなく、特定のモデルとしきい値を使用することによる増分利益のドル価値であるため、この状況は理想的ではありません。 したがって、一般的なメトリクスを使用する代わりに、目の前の特定のビジネスユースケースのコストと利益の構造を捉えたしきい値ベースのメトリクスを設計することが、ビジネスにとってより有益で有意義です。この記事で説明する貸し手は、特定の借り手に貸すかどうかを決定しています。そのため、予測されるデフォルトの確率を考慮して各ローンの予想利子と損失を組み込んだメトリクスは、精度や再現率などの一般的なメトリクスよりも、ビジネスとその意思決定プロセスにより関連性があります。具体的には、定義するポートフォリオ値メトリクスは、各ローンを真陽性 (TP)、偽陰性 (FN)、真陰性 (TN)、および偽陽性 (FP) の […]

Read More

Amazon SageMaker を使用したメジャーリーグベースボールでの新しいスタッツの計算

 ファンに沢山の新しい展開を見せてくれた爽快なレギュラーシーズンが終わり、2019 年のメジャーリーグベースボール (MLB) ポストシーズンがやってきました。MLB とアマゾン ウェブ サービス (AWS) は、MLB ゲームで盗塁成功確率、シフトの影響、およびピッチャーの類似点マッチアップ分析の 3 つの新しいリアルタイムの機械学習 (ML) スタッツを開発して実現するためにチームアップしました。これらの機能は、莫大な量の野球データを収集し、ファンが野球の試合を楽しむあらゆる面において、より多くの洞察、見解、および背景を提供するための MLB の最新鋭テクノロジー、Statcast Ai を通じて、ファンが野球をより深く理解できるようにしてくれます。 この記事では、ゲームへの深い洞察をファンに提供することにおいて機械学習が担う役割について見ていきます。また、これらの洞察の裏にある Amazon SageMaker でのトレーニングとデプロイメントプロセスを表すコードスニペットも提供します。 機械学習が二塁盗塁 盗塁成功確率は、ピッチャーと盗塁ランナー間におけるいたちごっこへの視聴者の理解に新たな奥行きを提供します。 盗塁成功確率を計算するため、AWS は MLB データを使用して、選手が盗塁しようとする場合に安全に二塁を踏むことができるかどうかを判断する 37 の変数を対象とした何千ものデータポイントを分析する ML モデルをトレーニングし、テストしてデプロイしました。これらの変数には、ランナーのスピードと瞬発力、キャッチャーの平均ポップタイム (二塁送球時間)、ピッチャーの球速と利き手、打者、ピッチャー、およびランナーの履歴的な盗塁成功率、そして試合状況についての関連データが含まれます。 私たちは、MLB によって提供された、約 5,500 の盗塁成功と約 1,800 の盗塁死の約 7,300 の盗塁試行に相当する 2015 年から 2018 年の履歴的なプレイデータを使用することで、ロジスティック回帰、サポートベクターマシン、ランダムフォレスト、およびニューラルネットワークなどのさまざまな分類アルゴリズムを探索する 10 分割交差検証アプローチをとりました。クラス不均衡に対応するため、クラスの重み、カスタム損失関数、およびサンプリング戦略を含む多数の戦略を適用し、盗塁成功の確立を予測するために最適なモデルが、人気の DL フレームワークで事前設定されている、Amazon Deep Learning (DL) AMI で訓練されたディープニューラルネットワークであることを突き止めました。トレーニングされたモデルは、予測をリアルタイムで試合時のグラフィックに統合するために必要な […]

Read More

Amazon SageMaker で EC2 P3dn GPU インスタンスをご利用いただけるようになりました

ここ数年、深層学習の急速な台頭によって、皮膚がんの発見 (SkinVision) および自動運転車 (TuSimple) などの素晴らしいアプリケーションが実現されました。ニューラルネットワークのおかげで、深層学習にはまさに、大量の非構造データ (画像、動画、自由形式テキストなど) から複雑なパターンを抽出し、モデル化する並外れた能力があります。 しかし、これらのニューラルネットワークのトレーニングには、同じく大量のコンピューティングパワーも必要です。グラフィック処理ユニット (GPU) にその能力があることは長年実証済みで、AWS のお客様は、Amazon Elastic Compute Cloud (EC2) の P2 および P3 インスタンスを使用し、特に AWS の完全マネージド型でモジュラー設計の機械学習サービスである Amazon SageMaker においてそのモデルをトレーニングすることができる方法を素早く理解しました。 本日は、p3dn.24xlarge と名付けられた最大規模の P3 インスタンスが Amazon SageMaker でのモデルトレーニングに利用できるようになったことをお知らせしたいと思います。去年ローンチされたこのインスタンスは、大規模で複雑な分散型トレーニングジョブを迅速化するために設計されており、他の P3 インスタンスと比べて 2 倍の GPU メモリ、50% 増の vCPU、超高速のローカル NVMe ストレージ、および 100 Gbit のネットワーキングを備えています。 では、これをAmazon SageMaker で試してみませんか? Amazon SageMaker での EC2 P3dn インスタンスの導入 Caltech-256 […]

Read More

【開催報告】第8回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 機械学習ソリューションアーキテクトの上総 (Twitter:@tkazusa) です。AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を定期的に開催しています。2019年9月19日に開催された 第8回 Amazon SageMaker 事例祭り|体験ハンズオン では、前半にセッションの部として、AWS Japan のソリューションアーキテクトによるサービスの最新情報や技術情報と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きし、実際に導入頂いたお客様による「体験談」をお話し頂きました。また後半ではハンズオンの部として、SageMakerを用いた機械学習モデル開発のプロセスを、機械学習を利用した異常検知や画像分類を例に、ご来場の皆様と共にハンズオン形式でご体験頂きました。

Read More

Amazon Sagemaker 推論モデルを構築、テストし、AWS Lambda にデプロイする

Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習 (ML) モデルを迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォームです。ML モデルをデプロイすると、Amazon SageMaker は ML ホスティングインスタンスを活用してモデルをホストし、推論を提供する API エンドポイントを提供します。AWS IoT Greengrass も使用できます。 ただし、異なるターゲットへのデプロイを可能にする Amazon SageMaker の柔軟性のおかげで、AWS Lambda でモデルをホストするといくつかの利点が得られる場合があります。たとえば、GPU が必要な場合、すべてのモデルを AWS Lambda でホストできるわけではありません。また、AWS Lambda のデプロイパッケージのサイズなどのその他の制限があり、この方法を使用できない場合があります。AWS Lambda を使用できる場合、このアーキテクチャには、低コスト、イベントトリガー、シームレスなスケーラビリティ、スパイクリクエストなどの利点があります。たとえば、モデルが小さく、頻繁に呼び出されない場合、AWS Lambda を使用する方が安価な可能性があります。 この記事では、推論を提供する Lambda 関数を構築、テスト、デプロイするためのパイプラインを作成します。 前提条件 読者は Amazon SageMaker、AWS CloudFormation、AWS Lambda、および AWS Code* スイートの使用経験があると想定しています。 アーキテクチャの説明 CI/CD のパイプラインを作成するには、AWS 開発者用ツールを使用します。このスイートは、AWS CodeDeploy、AWS CodeBuild、および AWS CodePipeline を使用します。以下にアーキテクチャの図を示します。 Amazon SageMaker を使用してモデルをトレーニングすると、出力モデルが […]

Read More

Amazon SageMaker で PyTorch を使用するグローバル最適化のためのディープニューラルネットベースの代理関数の構築

最適化とは、設計変数と呼ばれる入力に依存する関数の最小値 (または最大値) を求めるプロセスです。お客様 X には次のような問題があります。このお客様は、最大の燃料効率のために設計される新しい自動車モデルをリリースしようとしています。実際の場合、エンジン、トランスミッション、サスペンションなどに関連するチューニングパラメータを示す何千ものパラメータがあり、それらの組み合わせは様々な燃料効率値を生じます。 しかし、この記事では、特定の速度で走行する場合に燃焼される 1 時間あたりの燃料量 (ガロン単位) としてこの効率性を測定し、その他すべてのパラメータは変化しないと仮定します。従って、最小化される「関数」は「1 時間ごとに燃焼される燃料量 (ガロン単位)」になり、設計変数は「速度」になります。 この一次元最適化問題は、「1 時間ごとに燃焼される燃料量を最小限化するには、どの速度で車を走行させるべきか」という問題を提起します。これは、考慮される何千もの実際のパラメータを大幅に簡素化したものです。 目的関数 (f) が以下の合成関数のようになると仮定します。 f(x) = x⋅sin(x)+x⋅cos(2x) x および y 軸の単位を無視して、青矢印で示されているこの関数の最小値を探すのが今回のタスクになります。単一次元を扱っている場合でさえも、すべての速度値 (速度は実数) で車を走行させるのは非現実的です。 この記事では、実験を 30 回行う予算があるとします。各「実験」では、テスト装置上で車をその速度で走行させ、1 時間ごとに燃焼された燃料の平均値を測定し、収集します。こうすることで、速度の 30 の値に対応する燃焼された燃料の 30 の値だけが得られ、それ以外は得られません。また、最小値 (図の青矢印) で示されている速度の値で実施された実験が存在するという保証もありません。 各実験のセットアップには、実際に数時間かかる場合があります。このような実験を特定回数以上実施することは現実的ではないため、このタイプの関数は高コストなブラックボックス関数と呼ばれます。この関数が高コストなのは値を返すまでに時間がかかるためで、ブラックボックスと呼ばれるのは実施された実験を数式で記述できないからです。 最適化研究分野の全体が、これらのような問題を解決するアルゴリズムの作成を目的としています。この記事では、上記の関数 (f) を近似化するために、ニューラルネットワークを使用します。「代理モデル」としても知られる関数の訓練された近似化は、実際の実験の代わりに使用することができます! 訓練されたモデルが実際の関数の良好な近似化であるならば、任意の値の速度 (入力) に対して燃焼された燃料 (出力) を予測するためにこのモデルを使用できます。 技術的なアプローチ これらすべてのステップを詳しく説明するサンプルの Jupyter ノートブックについては、Build a Deep Neural Global Optimizer を参照してください。 […]

Read More