Amazon Web Services ブログ

Category: Artificial Intelligence

【開催報告】第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

AWS Machine Learning Research Awards が提案書を募集

 学術研究とオープンソースソフトウェア開発は、機械学習 (ML) 技術開発の最前線にあります。2017 年以降、 AWS Machine Learning Research Awards (MLRA) は機械学習の進化を目指し、革新的な研究への資金提供や、学生へのトレーニング、さらに研究者への最新技術の提供を行ってきました。MLRA は、MLアルゴリズム、コンピュータービジョン、自然言語処理、医学研究、神経科学、社会科学、物理学、ロボット工学などの分野において、100 件を超える最先端の ML プロジェクトをサポートしてきました。MLRA が支援するプロジェクトの多くが、メディアで取り上げられています。たとえば、「Researchers are Using Machine Learning to Screen for Autism in Children」、「The Robotic Future: Where Bots Operate Together and Learn from Each Other」、「Autonomous Vehicles: The Answer to Our Growing Traffic Woes」、「Amazon Gives AI to Harvard Hospital in Tech’s Latest Health […]

Read More

AWS DeepRacer リーグと re:Invent チャンピオンシップカップ 2019 へのカウントダウン

 AWS DeepRacer リーグは、誰でも参加できる世界初の自走型レーシングリーグです。re:Invent 2018 で発表され、楽しくてエキサイティングな方法ですべての開発者が機械学習を利用できるようにしています。2019 年を通じて、あらゆるスキルレベルの開発者が、Amazon re:MARS や一部の AWS Summit を含む世界中の 21 回の Amazon イベントでリーグに参加し、AWS DeepRacer コンソールを通じてリーグの仮想サーキットでスキルを試しました。リーグは、re:Invent 2019 で閉幕します。すぐにログインしてレースを始めましょう。全費用無料の re:Invent への旅行を勝ち取る時間が残り少なくなっています! トロントでの最終 AWS Summit レース サンタクララで開幕してから 8 か月で、リーグは 17 か国で開催され、何千人もの開発者が 13,000 ラップと 165 マイルの競争を完了しました。各都市でチャンピオンが誕生しており、re:Invent 2019 で彼らの雄姿を見ることができます! 2019 年 10 月 3 日、カナダのトロントでの AWS DeepRacer Summit で 21 戦目であり最後のレースが開催されました。このイベントで、AWS DeepRacer リーグの本人によるレースが終了しましたが、1 回ではなく、4 回の全費用無料の旅行が獲得されました。 最初はトロントのチャンピオン、Mohammad Al […]

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 Lex のフォールバックインテントを使用した会話フローの管理

質問に困惑したことがありますか? ビジネスレビューで毎週の数字を調べているときに、誰かが「費用はどうですか?」と尋ねたとします。 おそらくあなたの応答は、「わかりません。今その議論をする準備はできていません」となるでしょう。 ボットはまだ同じ理解力を持つには至っていません。答えが得られない場合、ボットはどのように対応すべきでしょうか? ボットは、応答がないときにどのように回復できるでしょうか? ボットがまだ理解していない場合、繰り返すように頼むと非常にイライラする可能性があります。おそらく、最後のやり取りに基づいてあなたが言ったことを理解するふりをすることができるでしょう。 ただし、いつもうまくいくとは限らず、愚かに聞こえることもあります。ボットがその限界を認め、何ができるかを教えてくれるでしょうか? 最初の数回は受け入れられるかもしれませんが、長期的には最適ではない可能性があります。 単一の正しい方法はありません。会話の修復戦略は、作り出そうとしているエクスペリエンスの種類によって異なります。エラー処理プロンプトを使用できます。ボットは、「現時点ではサポートできません」などのメッセージでハングアップする前に、「申し訳ありませんが、もう一度言っていただけますか?」というプロンプトを表示して明確化しようとします。  上記の会話例に基づいて、まず収益の数字に関連する質問に答えるための簡単なチャットボットを構築しましょう。このボットは、「第 1 四半期の収益は?」、「西部地域の売上は?」などの質問に答えます。 Lex ボットには、RegionDetails および QuarterDetails の 2 つのインテントだけが含まれています。このボットの定義では、誰かが費用について議論すると (「前四半期にいくら費やしましたか?」)、ボットは明確化のプロンプトを表示し、最終的に会話を打ち切りました。ビジネスロジックに介入したり実行したりすることはできませんでした。会話は、次のようになりました。 本日から、フォールバックインテントを追加して、このような状況でボットが正常に回復できるようにすることができます。フォールバックインテントを使用すると、追加情報を提供したり、対話を管理したり、ビジネスロジックを実行したりして、ボットの回復を制御できるようになります。会話をより適切に制御し、次のような理想的な結果を得るためにフローを管理できます。 フォールバックインテントの設定 以下の手順を実行して、フォールバックインテントを設定できます。 Amazon Lex コンソールで、[Create intent] を選択します。 既存のインテントで AMAZON.Fallback を検索します。 BusinessMetricsFallback ページの次のスクリーンショットを参照してください。 明確化のプロンプトがある場合は、明確化のプロンプトが実行された後にフォールバックインテントがトリガーされます。明確化のプロンプトを無効にすることをお勧めします。フォールバックが設定されている場合、ハングアップフレーズは使用されません。エラー処理ページの次のスクリーンショットを参照してください。 インテント ContactDetails を追加して、メール ID を収集します。 これは、メールアドレスだけをスロットタイプとして使用する単純なインテントです。意図の詳細については、ボットの定義を確認してください。 フォールバックインテントのフルフィルメントコードフックに AWS Lambda 関数を追加します。 この関数は 2 つの操作を実行します。まず、オペレーターのフォローアップの要求を記録するタスク (例、データベースのチケットエントリなど) を作成します。次に、メール ID などの追加情報を引き出すために、オペレーターが照会を処理した後に応答が出るようにインテントを切り替えます。コードの詳細については、Lambda の定義を確認してください。 前述のボットの定義を使用して、これで会話を制御できるようになりました。「前四半期にどのくらい費やしましたか」と尋ねると、入力は設定されたインテントのいずれとも一致せず、フォールバックインテントをトリガーします。Lambda のフルフィルメントコードフックはチケットを作成し、インテントを ContactDetails […]

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

Amazon SageMaker Ground Truth を使用してデータラベルを検証および調整し、より高品質のトレーニングデータセットを作成する

機械学習 (ML) アルゴリズムのための非常に正確なトレーニングデータセットを構築することは、反復プロセスです。ラベルがグラウンドトゥルース、または実世界で直接観察できるものを正確に表していることに満足するまで、ラベルを確認し、継続的に調整することが一般的です。ML モデルの品質には正確にラベル付けされたデータが重要であるため、ML の実務者は、データラベルを確認および更新するためのカスタムシステムを構築することがよくありました。ラベルに問題がある場合、ML モデルはグラウンドトゥルースを効果的に学習できず、不正確な予測につながります。 ML の実務者がラベル付きデータの精度を改善した 1 つの方法は、監査ワークフローを使用することです。監査ワークフローにより、レビューアーのグループはラベルの正確性を検証 (ラベル検証と呼ばれるプロセス) したり、必要に応じて調整 (ラベル調整と呼ばれるプロセス) したりすることができます。 Amazon SageMaker Ground Truth は、ラベル検証用の組み込みワークフローと、バウンディングボックスとセマンティックセグメンテーション用のラベル調整機能を備えるようになりました。この新しいワークフローを使用して、既存の Amazon SageMaker Ground Truth ラベル付けジョブを検証または調整ジョブにチェーンするか、既存のラベルを検証または調整ジョブにインポートできます。 この記事では、バウンディングボックスラベルの両方のオプションについて説明します。このチュートリアルでは、ラベル付けジョブの実行に慣れているか、既存のラベルがあることを前提としています。詳細については、「Amazon SageMarker Ground Truth – 高い精度のデータセットを構築し、ラベル付けのコストを最大 70% 削減」を参照してください。 完了した Amazon SageMaker Ground Truth ラベル付けジョブのチェーン 完了したラベル付けジョブをチェーンするには、次の手順を実行します。 Amazon SageMaker Ground Truth コンソール から、[ラベル付けジョブ] を選択します。 目的のジョブを選択します。 [アクション] ドロップダウンメニューから、[チェーン] を選択します。 次のスクリーンショットは、[ラベル付けジョブ] ページを示しています。 詳細については、「ラベル付けジョブのチェーン」を参照してください。 [ジョブの概要] ページには、チェーンされたジョブに使用した設定が表示されます。変更がない場合は、次のセクション […]

Read More

Amazon Textract が HIPAA 適格に

今日、アマゾン ウェブ サービス (AWS) は、スキャンされたドキュメントからテキストとデータを迅速かつ簡単に抽出する機械学習サービスである Amazon Textract が、HIPAA 認定を必要とするヘルスケアワークロードに対応するようになったことを発表しました。このリリースは、よりよい医療成果の提供を支援する Amazon Translate、Amazon Comprehend、Amazon Transcribe、Amazon Polly、Amazon SageMaker と Amazon Rekognition を含む、HIPAA 適格の既存の AWS 人工知能サービスのポートフォリオに基づいています。 医療提供者は、手動のデータ入力または単純な光学文字認識 (OCR) ソフトウェアを介して、医療記録やフォームなどの文書から日常的にテキストとデータを抽出しています。これは時間のかかる不正確なプロセスで、他のアプリケーションで使用する前に広範な後処理を必要とする出力を産み出します。組織が望んでいるのはむしろ、あらゆる形式のドキュメントのフォームとテーブル、およびさまざまなファイルタイプとテンプレートからテキストとデータを正確に識別して抽出する機能です。 Amazon Textract は事実上あらゆるタイプのドキュメントを分析し、非常に正確なテキスト、フォーム、およびテーブルデータを自動的に生成します。Amazon Textract は、保険請求の患者情報やスキャンしたカルテのテーブルの値など、文書のテーブルやフォームからテキストとデータを識別し、カスタマイズまたは人間の介入の必要なしに医療や保険に固有のものを含むさまざまな文書形式を認識します。Amazon Textract を使用すると、数百万のドキュメントページを数時間で正確に処理することが容易になり、ドキュメント処理コストが大幅に削減され、後処理に時間と労力を費やすことなく、テキストとデータからビジネス価値を引き出すことに集中できるようになります。結果は、機械学習の経験を必要とせずに簡単にアクセスして使用できる API を介して配信されます。 今日から、Amazon Textract は HIPAA 適格のサービスになりました。つまり、医療関係のお客様はそれを最大限に活用できます。Cerner、Fred Hutchinson Cancer Research Center、The American Heart Association などの多くの医療関係のお客様は、ML の力を利用して現在のワークロードを自動化し、HIPAA で求められるセキュリティとプライバシーの要件を満たしながら、患者へのケア方法を変革する新しい方法を既に模索しています。 Change Healthcare は、米国の医療システムにおける臨床、財務、および患者エンゲージメントの結果を改善するためのデータおよび分析主導型ソリューションを提供する大手独立系医療テクノロジー企業です。「Change Healthcare では、財務および管理上の意思決定の適時性と品質を改善することで、すべての人が手頃な価格で利用できる医療を提供できると考えています。  これは、データからより多くを理解する機械学習技術の力によって実現できます。しかし、この情報の可能性を解き放つことは、従来の光学式文字認識では分析できなかったテーブルやフォームにデータがサイロ化されているため、困難なことがよくあります」、と […]

Read More

Amazon Lex セッション API チェックポイントを使った複数トピックの会話フローの管理

 日常会話では、複数のトピックの間で行き来することがよくあります。たとえば、家の新しい窓とカーテンの改装について話し合うとき、「カーテンのスタイルはこれで決めて、色について考え直してみない?」というような質問が出てくることがあります。 AWS が Amazon Lex セッション API を開始するときに、 会話が脱線する場合の対応方法を学びました。セッション API アクションを使用して、インテントを切り替え、会話を継続することができます。しかし、毎日の対話で、「では窓の選択を終えてからカーテンについて考えましょう」というような複数の脱線に対応することが必要になる場合があります。 一連の脱線を含む会話フローをどのように設計したらよいでしょうか。 あなたが私のようである場合は、家の改装プロジェクトにおける特定の製品を考える前にでも、複数の質問がある場合があります。 セッションのチェックポイントで、あなたは多くのトピックのうちの 1 つに切り替えるサポートをするために容易に会話を設定できます。家の改装の会話を 2 つのインテント、すなわち OrderWindows と OrderCurtains、としてモデル化することができます。 今ではこのトピックの切り替えが容易にできるようになりました。OrderWindows のフローには、チェックポイントがあることがあります。ユーザーがカーテンを注文したが、窓の選択を最初に完了したい場合、「windowSelection」チェックポイントを使用して会話を OrderWindows に戻すことができました。 セッションチェックポイントの管理 Amazon Lex ランタイム API は、会話のセッションチェックポイントを管理できるようにするオペレーションを提供しています。PutSession および GetSession 呼び出しは、チェックポイントを定義して、取得できるようにします。 ここでは、API を使用して以前、説明した会話フローを管理できる方法を示します。ボットの詳細については、ボットスキーマを見直してください。 会話フローを管理するためには、次のステップに従ってください。 会話の現在の状態を保存します 以前に保存した状態を取得し、会話を継続します 会話の現在の状態を保存します フィルターなしで GetSession API を呼び出し、ボットとユーザーの間の会話の現在の状態を取得します。GetSession API 呼び出しの後に PutSession API 呼び出しが続き、チェックポイント「windowSelection」 を OrderWindows インテントに適用します。PutSession 呼び出しは、以下のコード例で示されています。 PutSession Request: 「OrderWindows」インテントで「windowSelection」チェックポイントを適用します […]

Read More