Amazon Web Services ブログ

Category: Artificial Intelligence

多言語対応自動字幕トラックを使用した AWS ライブストリーミングを始めよう

多言語対応自動字幕トラックを使用したライブストリーミング は、ライブストリーミングビデオのコンテンツに、多言語字幕をリアルタイムで自動生成するためのソリューションです。このソリューションをそのまま使用することも、特定のユースケースに合わせてソリューションをカスタマイズすることも、AWS パートナーネットワーク (APN) パートナーと協力してエンドツーエンドの字幕作成ワークフローを実装することもできます。 AWS ライブストリーミング のソリューションをベースとして、この実装には Amazon Transcribe や Amazon Translate といった機械学習サービスが組み合わされています。このソリューションは、いわゆるオーバーザトップ (OTT) のライブチャネルに最終的な段階で字幕を自動生成を提供します。一般に字幕を作成するのに高い翻訳費用がかかりますが、専門の翻訳家を雇う必要はありません。また、このソリューションは、基本のアーキテクチャを拡張したいと考える誰でも利用可能な、オープンソースの形で提供されています。独自のワークフローに合わせ込むためのカスタム機能を追加できるのです。GitHub のリポジトリは こちらから入手可能です。 他に提供されている AWS ソリューションは、「AWS ソリューションポートフォリオを詳しく見る」から入手可能です。お客様は、特定ビジネスニーズに対応する AWS の検証済みで、自動化された、ターンキーリファレンス実装を製品カテゴリーや業界別にソリューションを見つけることができます。 注: このブログ投稿で解説するソリューションは、Amazon Transcribe Streaming、AWS MediaLive、AWS MediaPackage を使用しています。こちらは現在、特定の AWS リージョンでのみ利用可能です。したがってこのソリューションは、これらすべてのサービスが利用可能な AWS リージョンで起動する必要があります。リージョン別の最新の AWS サービスの提供状況については、「製品およびサービス一覧 (リージョン別) 」をご覧ください。 ステップ 1: 多言語対応自動字幕トラックを使ったライブストリーミングのデプロイ AWS マネジメントコンソールにサインインした後、「Live Streaming with Automated Multi-Language Subtitling」ソリューションのページへ移動します。[Launch solution in the AWS Console] をクリックします。 ステップ 2: AWS […]

Read More

EC2 用の Amazon Elastic Inference 設定ツールを使用して、EI アクセラレータを数分で起動する

Amazon Elastic Inference (EI) 設定ツールは、EI をすぐに使い始めることができる Python スクリプトです。 Amazon Elastic Inference を使用すると、低コストの GPU によるアクセラレーションを Amazon EC2 および Amazon SageMaker のインスタンスに適用して、深層学習推論の実行コストを最大 75 パーセント削減することができます。初めてEIを使用する場合は、アマゾン ウェブ サービス (AWS) PrivateLink VPC エンドポイント、IAM ポリシー、セキュリティグループルールなど、設定が必要な依存関係がいくつかあります。この作業を早く行えるように、EI 設定スクリプトを使用すると、必要なリソースを作成することで作業を簡単に始めることができて、EI アクセラレータを数分で起動できるようになります。このブログ記事では、スクリプトの使用方法、スクリプトの機能、実行時に予想されることについて説明します。 高レベルで言うと、このスクリプトは以下のことを行います。 AWS Elastic Inference サービスに接続できるようにする IAM ポリシーを使用して、インスタンスの IAM ロールを作成します。 インスタンスがアクセラレータと通信できるようにするために必要な入力ルールと出力ルールを使用してセキュリティグループを作成します。 目的のサブネット内に AWS PrivateLink VPC エンドポイントを作成します。 選択したオペレーティングシステム用の最新の AWS Deep Learning AMI (DLAMI) を使用して、EI アクセラレータで目的の EC2 インスタンスを起動します。 前提条件 EI を設定するには、以下でリンクされているスクリプトを実行します。以下のエンティティに依存しています。 […]

Read More

Amazon SageMaker の因数分解機械アルゴリズムを拡張し、レコメンデーション上位 x 件を予測しています。

Amazon SageMaker により、機械学習ワークロードで複雑なビジネス上の問題に対応するために必要な柔軟性が向上します。組み込みアルゴリズムを使用すると、すぐに開始できます。 このブログ記事では、組み込みの因数分解機アルゴリズムを拡張してレコメンデーション上位 x 件を予測する方法について、概説します。 この手法は、ユーザーに対し一定数のレコメンデーションをバッチ処理で生成する場合に最適です。例えば、この手法を使用して、ユーザーと製品購入に関する大量の情報から、あるユーザーが購入しそうな上位 20 製品を生成することができます。その後、将来的にダッシュボードへの表示やパーソナライズメールマーケティングなどで利用するため、このレコメンデーションをデータベースに保存できます。AWS Batch または AWS Step Functions を使用して、このブログで概説する手順を自動化し、定期的な再トレーニングや予測を行うこともできます。 因数分解機は、汎用教師あり学習アルゴリズムで、分類と回帰の両方のタスクに使用できます。このアルゴリズムは、レコメンデーションシステムのエンジンとして設計されました。このアルゴリズムでは、二次係数を低ランク構造に制限しながら、特徴について二次関数を学習することで協調フィルタリング手法を拡張します。この制限は、過学習を避け、また非常にスケーラブルであるため、大きな疎データによく適してします。これにより、入力特徴が何百万である一般的なレコメンデーションの問題に対するパラメーターが、何兆とあるのではなく、何百万となるようにします。 因数分解機のモデル方程式は、つぎのように定義されます。 次のようなモデルパラメータが推定されます。 ここでは、n は入力サイズ、k は潜在空間のサイズです。これらの推定されるモデルパラメータを使用して、モデルを拡張します。 モデルの拡張 Amazon SageMaker の因数分解機アルゴリズムを使うことにより、ユーザーと項目のようなペアについて、これらが合致する程度に基づき、そのペアのスコアを予測できます。レコメンデーションモデルの適用時、ユーザーを入力すると、そのユーザーの好みに合致する上位 x 件の項目リストを返すようにしたい場合がよくあります。アイテム数が多くなければ、可能性のあるアイテムすべてに対しユーザーと項目のモデルをクエリすることができます。ただし、この手法では項目数が多くなるとうまくスケールできません。このシナリオでは、Amazon SageMaker k 近傍法 (k-NN) アルゴリズムを使用して、上位 x 件の予測タスクを高速化できます。 以下の図は、このブログ記事で扱う手順のおおまかな概要を示しています。これには、因数分解機モデルの構築、モデルデータの再パッケージ化、k-NN モデルのフィッティング、および上位 x 件予測の作成が含まれます。 先に進めるため、手引きとなる Jupyter ノートブック をダウンロードすることもできます。以下の各セクションは、このノートブックのセクションと対応していますので、読みながら各ステップのコードを実行できます。 ステップ 1: 因数分解機モデルの構築 手引きとなる Jupyter ノートブックのパート 1 で、因数分解機モデルの構築手順を確認します。因数分解機モデルの構築に関する詳細は、因数分解機アルゴリズムのドキュメントを参照してください。 ステップ 2: モデルデータの再パッケージ化 Amazon SageMaker 因数分解機アルゴリズムでは、Apache […]

Read More

Amazon SageMaker Ground Truth でのラベリングジョブ用の優れた説明の作成

Amazon SageMaker Ground Truthは、機械学習 (ML) 用の高精度なトレーニングデータセットをすばやく構築するお手伝いをします。ご自身のワークフォース、データラベリングに特化したベンダー管理ワークフォースの選択、または Amazon Mechanical Turk が提供するパブリックワークフォースを使用して、人が生成するラベルを提供することができます。質の高いのラベルを取得するには、特にパブリックワークフォースを使用している場合、簡単かつ簡潔で明確な説明が必要です。良い説明が書ければ、アノテーションの品質を向上させることができます。正しく行えば、この作業に時間を費やす価値はあります。 このブログ記事では、パブリックワークフォースに効果的な説明を作成するためのベストプラクティスをご紹介します。ここで重要なポイントが 2 点あります。ワークフォースへの認知負荷をできるだけ減らすこと、そして説明を微調整して後で発生する問題を避けるためにもプロセスの早い段階で実験することです。たとえば実験で、データの一部に自分でラベルを付けたり、プロセス全体の中でも小規模なジョブをパブリックワークフォースに行ってもらうことができます。 以下のスクリーンショットは、ワーカーの観点から見て適切な説明のある Ground Truth のバウンディングボックスのラベリングタスク例を示しています。このタスク例では、Google Open Images Dataset から取得したイメージにある花の周りを囲む四角形の枠を描くようワーカーに伝えます。ワーカーがアノテーションを付けている作業中、イメージの左側にあるサイドバーには短い説明が表示されます。はっきりと要領を得た、かつタスクに特化した説明で、サンプルのイメージに焦点を当てています。 以下の図は、サイドバーにある [View full instructions] を選択すると表示される完全な説明のサンプルです。ワーカーが混乱しやすいあいまいな説明が、明確に表記されています。この投稿を最後まで読むと、ご自身のラベリングジョブで優れた説明を作成することができるでしょう。 推奨するワークフロー Ground Truth が提供するツールを使用してデータの一部にアノテーションを付けるのが、適切な説明を作成する最も簡単な方法です。作成後、その結果を説明のサンプルとして使用できます。これを行うには、以下の手順を行います。 データからサンプルをいくつか選択する。 Ground Truth でプライベートジョブを実行し、選択したサンプルにラベルを付ける。 結果を使って、簡単な説明を作成する。サンプルイメージと少しのテキストに焦点を当てる。 タスクのあいまいさを回避し明確にするため、完全な説明を作成する。 小さなパブリックジョブを実行し、説明をテストする。満足する結果が出るまで繰り返す。 タスクの単純化を考慮し、正当な価格を設定する。 注: プライベートラベリングジョブを実行すると、1 サンプルにつき 0.08 USD の費用がかかります。料金の詳細については、Amazon SageMaker Ground Truth料金ページをご覧ください。 質の高い説明を作成したら、フルラベリングジョブをパブリックワークフォースに送信します。チェックリストの各ステップを見ていきましょう。 データからサンプルをいくつか選択する データセットを閲覧して、データの多様性を捉えたサンプルを選択します。一般的なサンプルではなく、ラベルを付けたい項目からサンプルを選択すると、ご自身の特定のタスクについてアノテーターの理解が得られやすくなります。 ここでは、さまざまな形や大きさの花が異なる数で写っているイメージを選択します。これらのイメージにある一部の花は、他の花の後ろに隠れたり、フレームの端に触れたりしています。さまざまなケースを選択すると、説明を作成するのに良いサンプルを見つけやすくなります。また、ワーカーから見て難しいタスクについて、洞察や発見を得ることもできます。 Ground Truth でプライベートジョブを実行し、選択したサンプルにラベルを付けます。 前回のブログ投稿では、AWS […]

Read More

AWS DeepRacer リーグが開発者のさらなる楽しみとワクワクを目指してスタート!

  開発者から機械学習の開発者まで AWS DeepRacer リーグは、スキルレベルを問わず開発者が参加できる世界初の自走型レーシングリーグです。カリフォルニア州サンタクララで先週、開幕しました。2019 年のシーズン最初のチャンピオンに輝いたのは Chris Miller でした。Chris はカリフォルニア州サンタクルズに本拠を置く Cloud Brigade の創業者です。機械学習についてさらに理解を深めるため、AWS Summit を訪れました。 AWS では、スキルレベルを問わず全ての開発者に機械学習を身近なものにし、機械学習の体験を楽しく易しいものにすることに注力しています。サンタクララにおいて、最上位の完走者 3 人は全員オンサイトのワークショップの1つでモデルを構築し、その過程をとても楽しみました。 Chris Miller はウィニングラップタイム 10.43 秒を達成しましたが、今後 re:Invent 2019 で行われる決勝に進み、AWS DeepRacer Championship Cup獲得を目指すことになります。AWS Summit にやってくるまで、Chris には機械学習の経験がありませんでした。 Chris は語ります。「今日ここに来た時点では機械学習は未経験でした。まさにそれを学ぶためにやって来ましたし、そのためのすばらしい手段でした」 カリフォルニア州フレモントから参加した Rahul Shah は 2 位に入りました。Rahul にとって、自身で作成したモデルが好成績を収めたことはうれしい驚きで、AWS DeepRacer はたいへん楽しいものでした。Rahul は機械学習には過去数年間取り組んできましたが、強化学習は今回が初めてでした。 「今回の取り組みは簡単でした。開発者なら誰でもうまくできますよ。DeepRacer は AWS Summit の本当に楽しくてワクワクするイベントです」と、Rahul は語ります。 3 位で完走したのはカリフォルニア州サンマテオの Adrian Sarno […]

Read More

Amazon Comprehend が、カスタムモデルのリソースタグ付けをサポート開始

Amazon Comprehend の顧客は、カスタム分類およびエンティティタイプのモデルを使用してさまざまなユースケースを解決しています。たとえば、毎日の利用客からのフィードバックを「ロイヤルティ」、「売上」、「製品の不良」などのカテゴリに分類する分類子を構築しています。 カスタムのエンティティモデルを使用すると、在庫システムの製品 ID など、独自の用語やフレーズについてテキストを分析することができます。Amazon Comprehend は、こうしたモデルの作成から生じる複雑さを取り除きました。必要なものは、ラベルとサンプルテキストを含む CSV ファイルだけです。 使いやすさにおけるこの大きな前進のために、より多くのチームのより多くの従業員がプロジェクトのためにカスタムモデルを作成しています。このようにより多くのチームにわたってより多くのモデルが広まるため、内部的な請求および使用管理のために各モデルに関連した使用量およびコストを項目別に分類できるようにする必要があります。 このリリースでは、Amazon Comprehend のカスタム分類子およびカスタムのエンティティモデルにリソースタグを割り当てることができるようになりました。こうしたリソースにタグ付けすると、それらのリソースの使用量やコストを識別、追跡、分類するのに役立ちます。たとえば、販売テキスト分析用のモデルとマーケティングテキスト分析用のモデルがあるとします。リソースのタグ付け機能を使用すると、SDK を使用して、あるいはコードなしの AWS マネジメントコンソールで新しいモデルを作成するときに、カスタムモデルリソースにタブラベルを付けることができます。モデルに対して使用量と請求が生成されると、これらのリソースタグを使用して使用量とコストが項目化されて表示されます。 カスタムモデルの作成中にリソースタグを追加することができます。次の例は、モデルをトレーニングする準備をしている間にカスタムモデルにタグを追加する方法を示しています。 カスタム分類子およびカスタムエンティティタイプへのタグ付けの詳細については、カスタム Comprehend を参照してください。 著者について Nino Bice は、AWS の自然言語処理サービス Amazon Comprehend の製品をリードするシニアプロダクトマネージャです。            

Read More

Amazon Comprehend で KMS 暗号化のサポートが開始されました

Amazon Comprehend は完全マネージド型の自然言語処理 (NLP) サービスで、重要なワークロードに対するテキスト分析を可能にします。たとえば、市場調査を分析することで PII 情報を含む主要な市場指標やデータを洗い出します。機密性の極めて高い暗号化データを取り扱うお客様は、今後、Comprehend を活用し、AWS Key Management Service との統合を介して暗号化データを処理できるようになります。 AWS KMS により、幅広い AWS のサービスとアプリケーションにおいて、キーの生成と管理、さらに暗号化の制御が容易になります。AWS KMS はお客様のキーを保護するために、FIPS 140-2 認証済みのハードウェアセキュリティモジュールを使用する安全で回復力のあるサービスです。AWS KMS は、AWS CloudTrail と統合されており、すべてのキー使用状況のログを提供し、規制やコンプライアンスのニーズを満たすのにも役立ちます。 データへのアクセスに Comprehend で KMS キーを使用できるようにするには、AWS マネジメントコンソール経由、または SDK と Amazon Comprehend の非同期トレーニングと推論ジョブのサポートを使って設定できます。利用を開始するには、まず AWS KMS サービスでキーを作成する必要があります。  KMS キーを作成する方法について詳しくは、次のサイトをご覧ください: https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html 非同期ジョブの設定時には、Comprehend が S3 でデータにアクセスするために使用する必要のある KMS 暗号キーを指定します。以下はジョブ設定時の詳しい解説の一部として Amazon Comprehend コンソールでエイリアス「Comprehend」を選択してキーを選択するところを示した例です。 AWS KMS キーを管理するには、AWS KMS 管理ポータルにアクセスするか、KMS […]

Read More

Amazon SageMaker の自動モデルチューニングで、ランダム検索とハイパーパラメータスケーリングをサポート

Amazon SageMaker の自動モデルチューニングで強くお勧めできる 2 つの機能、ランダム検索とハイパーパラメータスケーリングを紹介します。この記事では、これらの機能について説明し、いつどのように有効にするかについて説明し、どのようにハイパーパラメータの検索におけるパフォーマンスを向上させることができるかを示します。お急ぎの場合は、デフォルト値で実行すると、ほとんどの場合はうまく機能します。しかし、もっと詳しく知りたい場合、もっと手動で制御したい場合は、読み続けてください。 Amazon SageMaker 自動モデルチューニングを初めて使用する場合は、「Amazon SageMaker 開発者ガイド」を参照してください。 ランダム検索とハイパーパラメータの対数スケーリング使用方法の実施例については、GitHub の Jupyter ノートブックの例を参照してください。 ランダム検索 ランダム検索を使用して、Amazon SageMaker に、ランダムな分布からハイパーパラメータ設定を選択するように指示します。 ランダム検索の主な利点は、すべてのジョブを並行して実行できることです。対照的に、デフォルトのチューニング手法であるベイズ最適化は、チューニングジョブの進行につれて過去のトレーニングから学習する順序アルゴリズムです。これにより、並列処理のレベルが大幅に制限されます。ランダム検索の欠点は、匹敵するモデル品質に到達するために、一般的にかなり多くのトレーニングジョブを実行する必要があることです。 Amazon SageMaker では、以下のように、チューニングジョブを作成するときに [戦略] フィールドを [ランダム] に設定するのと同じくらい簡単に、ランダム検索を有効にすることができます。 { “ParameterRanges”: {…} “Strategy”: “Random”, “HyperParameterTuningJobObjective”: {…} } AWS SDK for Python (Boto) を使用している場合は、HyperparameterTuner クラスで strategy=”Random” に設定します。 tuner = HyperparameterTuner( sagemaker_estimator, objective_metric_name, hyperparameter_ranges, max_jobs=20, max_parallel_jobs=20, strategy=”Random” ) 次のプロットは、左側のランダム検索で選択されたハイパーパラメータと、右側のベイズ最適化で選択されたハイパーパラメータを比較したものです。この例では、モデルチューニングのノートブックの例で作成した銀行マーケティングのデータセットを使用して、XGBoost アルゴリズムを調整しました。視覚化するために、alpha […]

Read More

Java と Amazon SageMaker Random Cut Forest アルゴリズムを使ってサーバーレスの異常検知ツールを構築する

ビジネスオーナーの方達が、共通して直面する問題の一つが、ビジネス上で普段と違う出来事に遭遇する、というものです。例えば、ユーザーが日ごろとは違う行動を取ったり、日々のトラフィックパターンに変化が起きるなどは、それらの問題の一部にすぎません。データやメトリクスが常に増加しつづける中、機械学習の力を借りて異常検知をすることは、積極的な問題特定のための、非常に有益な手法と言えます。 今回のブログでは、Amazon SageMaker と Java を使って、サーバーレスの異常検知ツールを作成する方法を解説していきます。Amazon SageMaker を使えば、機械学習モデルのトレーニングとホスティングを簡単に行え、ビルトインのアルゴリズムが、ビジネスに共通の問題を解決します。こういったビジネス上の特有な問題解決には、Random Cut Forest (RCF) 異常検知アルゴリズムを使います。Amazon Web Services ではお客様に、素早い対応力、低い IT コスト、そしてスケーリングなどを提供する、国際的なクラウドベースの製品を幅広く提案しています。ここでは、それらを使い、サーバーレスの異常検知ツールを構成する方法をご提示しましょう。Python は、機械学習の問題を追跡するための、最も普及したプログラミング言語の一つですが、多くのユーザーは、Java やその他の JVM ベース言語を使って、マイクロサービスやサーバーレスのアプリケーションを構築しているでしょう。このブログを読み終えた段階で、 お客様はAmazon SageMaker を使い、Java アプリケーションの中で機械学習を動作させられるようになると思います。 このブログ全体を通して、Java コードのスニペットを示しながら、本ツールの特徴的な側面に焦点を当てていきます。こちらから、構築およびデプロイされたコードを、ご自身の AWS アカウントのために取得することが可能です。 問題の概要 今回の例では、Java 開発者の Alice さんにご登場願います。彼女は、複数の AWS サービスの上層で走るビデオストリーミングプラットフォームを運営しており、顧客は数千人におよびます。Alice さんは、彼女のプラットフォームが上手く機能しているかを表示するメトリクスを追跡するため、ダッシュボードの設定を行っています。彼女にとって最も重要なメトリクスの 1 つは、次の図に示すような、プラットフォーム上のアクティブユーザーの総数です。 このメトリクスは、ユーザー数の基本的な日次パターンを示していますが、同時に、周期的な変化も見せています。 アクティブユーザー数の低い点、高い点、そして日常パターンから外れた動きなどは、すべて変則値として捉えられます。主に Alice さんが関心を寄せているのは、これらの変則的データポイントの根本原因を突き止めるということです。現在のところ彼女は、データ内の異常を見つけるための自動ツールは使っていません。代わりに、データのスパイクやくぼみ、周期性から外れた部分をみつけるため、マニュアル操作を行い多くの時間を費やしています。そして、この周期性に変化があることから、固定的なしきい値やそのウィンドウを設定しても、さほどの効果は上がりません。彼女には、もっと良い解決策が必要というわけです。 Alice さんの仕事を楽にする方法とは? ソリューションのアーキテクチャ 異常検知についてAlice さんが抱える問題を解決するには、まず、異常検知ツールの全構成ブロックを確認することが必要でしょう。 Amazon SageMaker – メトリクスデータの履歴をもとにしたモデルの構築を容易にするには、Amazon SageMaker を使います。これにより、(前週の値を参考に) 現在の変則的なデータポイントを見つけ出すことができます。Amazon SageMaker […]

Read More

AWS DeepRacer リーグサミットサーキット初の優勝者の発表!

本日、カリフォルニア州サンタクララ市で開催された AWS サミットでは、世界初のグローバル自律型レーシングリーグの2019年シーズンが開始されました。AWS DeepRacer リーグは、すべてのスキルレベルの開発者が、 世界中のAWS グローバル サミット の一連のレーシングイベントを通じて、Machine Learning を使った実践を行うことを許可します。AWS DeepRacer リーグは、年間を通じた仮想イベントとトーナメントを含みます。 開発者として、Machine Learning のスキルをテストするエキサイティングな日でした! 9 時間後に、400 周の自律走行、5 マイルを超えるレースで、サンタクララの優勝者が発表されました。カリフォルニア州サンタクララを拠点にする Cloud Brigade の創立者である Chris Miller は、リーダーボードを突破し、ネバダ州ラスベガスで開催される re:Invent 2019 でAWS DeepRacerチャンピオンシップカップへの経費支給の旅に進める最初の勝者です。10.43 秒の優勝者のタイムで Chris と彼のチームはサンタクララサミットに AI トML について学ぶことを目的に来ました 「私は最新の用途で利用できる Machine Learning と技術に興奮しています」。 Chris はサミットの AWS DeepRacer ワークショップの 1 つで彼の勝利したモデルをトレーニングしました。次は Chris のアジェンダです。彼は現在、Machine Learning と彼のモデルをさらにカスタマイズする方法についてもっと多く学習することにより、re:Invent の準備をしています。 リーダーボードの 3 つのトップの開発者: […]

Read More