Amazon Web Services ブログ

Category: Artificial Intelligence

Gluon on Amazon SageMaker 上の Gluon および AWS Batch によるテキスト分類

当社の顧客は問題を抱えていました。手作業による保証クレームの分類がボトルネックとなっていたのです。これらのクレームは、イベントの詳細を短く説明するテキストフィールドに基づくものです。テキストの例は次のようなものです。「近年、天候不順が見られるアリゾナ州において、ある暑い日にプルトニウムを燃料とする原子炉が加熱しました。高温による損傷が、流束キャパシタに及びました。交換せずに元に戻すことはできません」。このクレームを分類するとしたら、「火災」か何かになるでしょう。 クレーム部門の担当者は、通常何千件にもなる、山のような保証クレームを読み、提出者がクレームを正しく分類していたことを確認するために、それぞれの例を手作業で適切な保証カテゴリに分類しなければなりません。 会社は、クレームの解決にかかる時間をできる限り短縮するため、このパイプラインをスピードアップすることを望んでいました。これは顧客満足度を保つ点で中心的な要件です。会社は過去の保証クレームについての大規模で広範なデータベースを有していたので、次のステップとして、教師あり学習のソリューションに目を向けるのは論理的なことでした。 今回のブログでは、技術には強くないクレームチームと、よりソリューションに注意を向ける傾向のあるデータサイエンスチームの間の溝を埋めることにより、顧客のワークフローをスピードアップするのに役立つ、特定のテキスト中の感情を分析するソリューションの概要について説明します。この例示シナリオでは、当社の分類モデルを MXNet の Gluon と Amazon SageMaker によってトレーニングした後、AWS Batch の弾力性のあるリソースを用いて大量のテキストのバッチを処理するため、AWS Lambda に基づいてアプリケーションを構築することになります。 始める前の注意ですが、Python、AWS のコマンドラインインターフェース (CLI)、そして Python Boto3 向けの AWS SDK になじみがあれば、このブログから十分な益を得られるでしょう。 データ 今回のブログでのデモのため、IMDB Large Movie Review Dataset のサブセットを使うことにします。これはすでにテストとトレーニングセットに分けられています。次に示すのは、コンマ区切りのテキストと、そのテキストの感情分類です。 感情: 1、テキスト: 「あなたは今までに、スポーツのために出かけ、ベストを尽くした結果、短い時間でも自分が重要な役割に就いていて、ヒーローかチャンピオンになるチャンスが開かれていることに気づきましたが…結局失敗した、ということがありましたか? 私たちの多くは、人生できっとそのような瞬間を経験したに違いないと思います。これが、「明日へのタッチダウン」(原題は “The Best of Times.”) という映画の背景です。この物語の中で、中年の銀行員 Jack Dundee (Robin Williams) は、何年も前のフットボールの試合でのミスのために深い憂鬱を抱えていたのですが、もう一度試合をやり直そうと決心します。そのため彼は、かつて偉大なフットボールのクォーターバックだった Reno Hightower (Kurt Russell) にカムバックするように説得しなければなりませんでした。Reno は現在の苦しい生活のことをあきらめていて、心の支えであり、年とともに忘れがたくなっていた過去の栄光を書き換えることを望みません。彼らはどちらも、年月は過ぎ去ったという事実に直面しているだけでなく、結婚関係でも泥沼に陥っていて、何とかすることが必要でした。Jack の義父 (Donald Moffat) は何かにつけ、彼のミスのことを思い出させるので、容易なことではありません。それでも […]

Read More

Amazon Machine Learning API と PubNub ChatEngine でスマートなチャットアプリを開発する

これは PubNub のオープンソフトウェアエンジニアである Adam Bavosa によって投稿されたゲストブログです。彼ら自身の言葉を借りれば、「PubNub は、チャット、デバイスコントロールおよびリアルタイムのマッピングアプリのために、グローバルなスケールに拡大できるリアルタイム API を提供している、リーディングプロバイダー」です。 チャットアプリに対する要求は非常な勢いで拡大しています。ソーシャルアプリからビジネス上のコラボレーション、ゲームプレーヤー同士のチャットから顧客サポートに至るまで、あらゆる種類のアプリがチャットを必要としています。Telegram のようなチャットアプリは主要な報道機関の情報源となっており、広い範囲の関心を集めています。 しばらく前までは、スケーラブルで豊富な機能を持つチャットアプリを開発しようとすると、とてつもない困難に直面しました。今ではそのようなことはありません。PubNub ChatEngine には Amazon 機械学習 API が統合されています。これによって、モバイルとウェブ向けに、インテリジェントでスケーラブルなチャットアプリを開発することはきわめて容易になりました。 今回のブログでは、PubNub ChatEngine を基にして、Amazon Translate と Amazon Polly を加え、あらゆる場所に埋め込める、多言語対応、音声認識対応のアプリを作り上げる方法についてご紹介しましょう。\\ Amazon の新しい機械学習 (ML) API は、チャットアプリをさらに強力なものにします。そして、すでに組み込まれている PubNub との統合と組み合わせることにより、Amazon ML API は、ChatEngine を活用してきたチャットアプリに簡単に追加できます。このブログは、新しい Amazon ML API と PubNub ChatEngine を利用して、様々な種類のスマートなチャットアプリを短期間で構築してデプロイするためのクイックスタートとして用いることができます。これは、一対一のチャットであろうと、エンタープライズグレードのセキュリティと信頼性を備えた、それぞれ 100 万人以上の人々が利用できるチャットルームであろうと、変わりません。 PubNub の BLOCKS カタログには、次のような 3 種類の Amazon ML API […]

Read More

Amazon Sagemaker を使用してマーチ・マッドネスを予測する

ここは米国で 3 月中旬です。ということは、思いつくのはたった一つのことしかありません。マーチマッドネス (全米大学男子バスケットボール大会) です。毎年数え切れないほど多くの人々が、トーナメント表にメモを書き込んで、どの大学バスケットボールチームが制覇するかを予想します。あなたが 2018 年の優勝は間違いなしと思っている贔屓のチームはありますか。 このブログポストでは、Amazon SageMaker を使ってマーチマッドネスの予測変数を作成する方法を紹介します。Amazon SageMaker は、開発者やデータサイエンティストがいかなる規模の機械学習モデルであっても容易に構築、トレーニング、およびデプロイすることを可能にする完全マネージド型サービスです。このポストでは、プロセスをゼロから作り上げる手順について紹介します。モデリングのため、私たちは、チームごとの成績統計情報 (2002 年から現在) を記録している kenpom.com (https://kenpom.com/) と、過去の得点 (2011 年から現在) を記録している College Basketball Reference (https://www.sports-reference.com/cbb/) の公開されているフロントページのデータを利用します。私たちは、Jupyter Notebook をダウンロードする方法を説明しますが、このノートブックを使用すると、データの処理と探索、大学バスケットボール試合の結果の予測、そして最終的に Sagemaker エンドポイントの作成を行うことができます。 Amazon SageMaker を使用してマーチマッドネスを予測する Amazon SageMaker でサポートされるマーチマッドネス予測変数アプリケーションを作成する このポストは、Amazon SageMaker を使用するプロセスのモデリングとホスティングにフォーカスします。将来のポストでは、あなたのモデルを使用して構築するアプリケーションの作成方法を紹介します。たとえば、Amazon SageMaker エンドポイントを使ってウェブサイトを補強することによって、予定されている今後の試合に関する予測を自動的に生成したり、2018 NCAA トーナメントをシミュレートしたり、仮定の対戦に関するユーザ入力に対応したりすることができるようになります。 ザビエル大学は Sweet 16 におけるゴンザガ大学の勝敗の行方を見届ける必要がある。仮定の Elite 8 の対戦では、デューク大学とミシガン州立大学は、それぞれ、第 2 シードと第 3 シードだが、中西部では、両校とも第 1 […]

Read More

Amazon Sagemaker モデルのパフォーマンスのリアルタイム監視に Amazon CloudWatch カスタムメトリックスを使用する

ディープラーニング (DL) モデルのトレーニングおよびラーニングプロセスは、費用と時間がかかるものになりがちです。データサイエンティストは、トレーニング精度、トレーニング誤差、検証精度、検証誤差など、モデルのメトリックスを監視し、これらのメトリックスに基づいて、情報に基づく意思決定を行う必要があります。このブログポストでは、一定の時間内のモデルメトリックスの履歴を保存し、モデルパフォーマンスメトリックスをビジュアル化し、CloudWatch ダッシュボードを作成するために、Amazon SageMaker インテグレーションを Amazon CloudWatch にまで拡大する方法について説明します。私はこのデモでは MXNet フレームワークを使用しますが、このアプローチはすべての機械学習/深層学習 (ML/DL) フレームワークに適用することができます。 Amazon SageMaker には CloudWatch との既製のインテグレーションが付属しており、トレーニングジョブコンテナーの CPU、メモリ、GPU 使用率など、トレーニングジョブインスタンスの準リアルタイム使用率メトリックスについてデータを収集することができます。詳細については、『Amazon CloudWatch を使用して Amazon SageMaker を監視する』を参照してください。 ソリューションの概要 この例では、Amazon SageMaker を使用してノートブックインスタンスを作成した後、Apache MXNet 手書き数字認識モデルを構築して、トレーニングします。私は、簡素化するために、Gluon、MNIST データセット、および畳み込みニューラルネットワーク (CNN) アーキテクチャを使用します。また、トレーニングメトリックスを CloudWatch に送信して、それらのメトリックスのダッシュボードを作成するために、Amazon CloudWatch API 演算を使用します。最後に、モデルが過剰適合になった場合、私は Amazon Simple Notification Service (Amazon SNS) および AWS Lambda を使用して、通知を送信します。 アーキテクチャ 構成 Amazon SageMaker には、CloudWatch メトリックスを作成するための権限が必要です。これは必要な CloudWatch […]

Read More

Amazon SageMaker がサポートする、「マーチマッドネス」予想アプリケーションを構築する

「マーチマッドネス」バスケットボールトーナメントゲームのオープニングラウンドはどれもすごい試合でした!ブザービーターあり、歴史的な大番狂わせありで、どのゲームも興奮させるものでした。最初のブログ (パート 1) で構築したモデルは、いくつかあまり可能性のなさそうな番狂わせ (下位シード校の勝利) の候補を指摘しましたが (Loyola IL、 Butler)、一部の結果は予見できませんでした (Marshall、UMBC)。これから数週間は、さらなる熱狂 (マッドネス) が待ち受けているに違いありません。 私たちの側では、マーチマッドネス予測アプリケーションを作成することにしましょう。これはパート 1 で Amazon SageMaker を使用して作成したモデルとエンドポイントを活用するものです。 Amazon SageMaker を使用してマーチマッドネスを予測する Amazon SageMaker でサポートされるマーチマッドネス予測変数アプリケーションを作成する 今回のブログでは、静的な Amazon Simple Storage Service (Amazon S3) ウェブサイトを作成し、ユーザーが 2011~2018 年のデータから想像上の対戦をシミュレートして、本日時点での全ゲームの予想スコアを表示するとともに、2018 年 NCAA トーナメントのすべての対戦について、予想スコアと勝利確率を表示できるようにします。 私たちは AWS CloudFormation スクリプトを活用して、このウェブサイトを作成するの日必要な AWS サービスを起動します。CloudFormation は強力なサービスで、クラウド環境に必要なすべてのインフラストラクチャとリソースを、シンプルな JSON または YAML テンプレートで記述し、準備できるようにします。この例では、次の物が含まれます AWS Lambda 関数。データを変換して、予測を行う Amazon SageMaker エンドポイントに送信します。 Amazon […]

Read More

Amazon EC2 C5 および P3 インスタンスで、最適化された TensorFlow 1.6 により、高速なトレーニングを実行する

AWS Deep Learning AMI には、別々の仮想環境にプリインストールされた、よく使われるディープラーニングフレームワークの最新の pip パッケージが付属しています。それで開発者は、すぐにディープラーニングモデルのトレーニングを始めることができます。Ubuntu および Amazon Linux 向けの、ディープラーニング AMI の新しいバージョンには、Amazon EC2 インスタンスファミリー全体にわたってハイパフォーマンスのトレーニングを行えるように高度な最適化を施して構築された、TensorFlow 1.6 が付属するようになりました。 Amazon EC2 C5 インスタンスでの高速なトレーニング AMI には、インテルの Advanced Vector Instruction (AVX、AVX-2 および AVX-512) で構築された TensorFlow 1.6 が付属しており、Amazon EC2 C5 インスタンスで用いられている Intel Xeon Platinum プロセッサでのベクタ-および浮動小数点演算の性能を向上させています。AMI には、 十分な設定が施された、インテルのディープニューラルネットワーク向け Math Kernel Library (Intel MKL-DNN) も付属します。これは、ディープニューラルネットワークのトレーニングで使用される数学ルーチンを CPU で加速するためのものです。c5.18xlarge インスタンスタイプ上で、合成 ImageNet データセットに対し、当社の最適化された TensorFlow 1.6 […]

Read More

Amazon SageMaker を使用して Word-Pronunciation シーケンスツーシーケンスモデルを作成する

Amazon SageMaker seq2seq は、シーケンス ツー シーケンスタスクで、最新鋭のエンコーダーデコーダーアーキテクチャ (アテンションメカニズムなど) を利用するための非常に単純な方法を提供します。あなたがすべきことは、recordio-protobuf 形式のシーケンスデータと、JSON 形式のボキャブラリマッピングファイルを用意して、それを Amazon Simple Storage Service (Amazon S3) にアップロードすることのみです。その後は、Amazon SageMaker の内蔵アルゴリズムが、あなたに代わって、ディープラーニング (DL) アーキテクチャの構築とトレーニングを行います。 このブログポストでは、あなたに SageMaker seq2seq を習熟してもらうために、サンプルの Amazon SageMaker Word-Pronunciation ノートブックを使って手順に沿って説明します。英語の場合、単語の発音をスペルに基づいてデコードするために、暗黙的ではあるものの複雑なルールがあります。私たちは、アルファベット文字のシーケンスをソース入力として、そしてそれらに対応する音素のシーケンスをターゲット出力として使って、ルールをモデル化します。このモデルの種類は、シーケンス ツー シーケンスと呼ばれます。 seq2seq モデルの用途は、単語と発音の関係に留まりません。他の使用例としては、英語の文章からドイツ語の文章、テキストからサマリ、テキストからタイトル、質問から回答などが挙げられます。このブログポストでは、Amazon SageMaker を使用して、独自のシーケンスデータをデプロイして、独自のカスタム seq2seq モデルを開発する方法について紹介します。 Amazon SageMaker seq2seq は、Apache MXNet を使用した seq2seq モデリングのフレームワークである、Sockeye パッケージをベースにしています。詳細については、この AWS ブログを参照してください。 ただしそこでは、Amazon SageMaker を効果的に機能させるために、異なる入力データ形式が使われており、いくつかのハイパーパラメーターについては名前が変更されています。 データ: カーネギーメロン大学の発音辞書 (cmudict-0.7b) このブログポストでは、カーネギーメロン大学の発音辞書 (cmudict-0.7b)のデータを使用します。ボキャブラリの単語を音素のシーケンスにマッピングする表音辞書は、テキスト読み上げシステムでは非常に重要です。オリジナルのローデータは、以下のリンク先にあります。 […]

Read More

Initiafy と Amazon Polly でアクセス可能なトレーニングを作成する

これは、Initiafy の Ronan O’Sullivan と Conor McNally によって投稿されたゲストブログです。彼ら自身の言葉を借りれば、「Initiafy は、会社が契約社員、一時労働者、または季節労働者を採用し、仕事を始める前にトレーニングする点で助けとなる、契約社員管理ソフトウェアのリーディングプロバイダーです。このソフトウェアには、世界中に 30 万人以上のユーザーがいます」。 私たちは摩天楼、道路のネットワーク、油田リグ、水力発電のダム、原子力発電所、風力発電機、吊り橋、そして世界を満たしている他の信じがたいような人間工学の偉業に慣れてしまっており、それらの建設のために払われた驚くべき労力を見過ごしてしまうことがあります。こういったプロジェクトはロボットにより構築されたのではありません。それらを生み出すには、プロセスを設計、合理化、改善するのに用いられたテクノロジーに加えて、人々の巨大な労力が必要でした。 Initiafy は、プロジェクトの労働力の要素をより生産的で、効率的なものにします。重工業のプロジェクトは契約社員に依存しており、それには文書、健康と安全、品質管理を扱う管理上の課題が伴っています。Initiafy は、労働者に柔軟性のある仕方でトレーニングを施し、一時労働力全体にわたって高い標準を保つ点で役立つ、オンラインプラットフォームでの契約社員管理システムを提供しています。Initiafy は多くの国で事業を運営しており、様々な国から来た労働者を対象としています。それで、すべての労働者がトレーニングを受けられるようにすることは非常に重要です。 このブログでは、Amazon Polly を、様々な会社が Initiafy のプラットフォーム上で契約社員のために構築したトレーニングコースと完全に統合するという問題を扱っています。Amazon Polly が、コースの構築とコースのコンテンツにどのように柔軟性をもたらすか、そしてあらゆる種類の契約社員にとってアクセスしやすいものとするかについて説明します。 契約社員の採用に関する問題 重工業では、労働者の採用に関して、多くの課題に直面します。契約社員は、自分の役割に固有の、密度の高い技術情報を受け取ること、そして重要な健康と安全のための慣行に関するトレーニングを受けることが必要です。Initiafy は、会社に対し、契約社員のためにマルチメディアコンテンツを含むコースをデザインする機会を与えています。 非常に重要な安全と技術情報を与えることはひとつの課題です。重工業では、労働力として、様々な国からの、リテラシーのレベルも異なる契約社員を雇用するからです。Initiafy は、労働者間の言語の障壁を乗り越え、教育を受けられなかった、または教育が不足しているために非識字である場合もある労働者をサポートするためのツールを探していました。 Amazon Polly の使い方 Initiafy のプラットフォームでは、労働者はオンラインのトレーニングコースを受講します。コースはテキスト、ビデオ、画像、そして通常はコースのチャプターの終わりごとに用意されたクイズのようなインタラクティブコンテンツを含む、スライドに分割されています。Amazon Polly を使えば、テキスト形式のコンテンツは、あらゆる労働者がアクセスできるものになります。テキスト形式はなっていない、その他の音声コンテンツも追加できます。 コースを準備する担当者は、Amazon Polly で音声と言語を選択します。それからこれはオーディオファイルとして保存され、Amazon S3 バケット内に置かれます。コースの作成者は、労働者がどの程度多くのオーディオを聞く必要があるかもコントロールできます。たとえば、オーディオが 100% 再生されるまでは、次のスライドに進めないように設定することができます。このようにして、労働者がコースのコンテンツに取り組むように促します。 HTML 形式のコースコンテンツは削除されます。テキストストリームの残りはスライド単位で分割されて、バックグラウンドで Amazon Polly にアップロードされます。コースコンテンツには、次のように 3 つのタイプがあります。 HTML コンテンツは完全に削除されます。 テキストはスライドごとに含められていて、Amazon Polly によって読み上げられます。 トレーニング中に労働者に対して読み上げられる隠しテキストというものもあり、これはスライドには表示されません。 […]

Read More

Amazon Kinesis Video StreamsとAmazon Rekognition Videoでハイエンドコンシューマーエクスペリエンスを提供するために顔認識を使用する

これは 1995 年、Amazon.com のウェブサイトが誕生してからわずか 1 か月の頃の画面です。この画面から見てすぐに分かることを 1 つ、もう少しよく見なければならないことを 1 つお話ししましょう。まず、この 23 年間という時の流れを感じさせるのはウェブデザインです。2 つ目は Eyes の広告文のあなたの気に入りそうな本が見つかったら疲れを知らぬ自動検索エージェントがメールを送りますという一節です。 Eyes は Amazon 初のパーソナライズされたオンラインショッピング環境でした。これは昔ながらの、店を訪れる顧客を知り尽くした地元の店のような、最高のサービスを再現するという旅路の、最初の一歩だったわけです。皆がある時期に、私たちのニーズすべてにぴったり合った体験ができるこの種のサービスを受けたことは、だれにとっても大変幸運なことだったと言えます。 そして 23 年後の今に時代を移しましょう。様々なところで、オンライン体験が主流になりました。世界のどこからでも Amazon.com へログオンし、皆さんの日頃のお買い物の仕方と同じ、一貫した体験を受けることができます。それも偏にウェブサイトが私たちのことを「知っている」からです。人によるサービスではこれは容易なことではありません。皆さんのお気に入りの店に行くとしましょう。それも、あなたの住み慣れた町にある店です。そこでは他の一般客と同じような対応を受けるのが普通です。 これを変えるにはどうすればいいと思いますか? たとえば、あなたが服の小売店の店員だとします。もし、店にやってくる顧客のことを知っていて、この情報を賢く活用できたとしたら、あなたはその顧客に素晴らしいサービスを提供できるはずです。たとえば、その顧客が既に購入した商品にぴったりな商品をすすめられます。もし、その商品の在庫に顧客のサイズがなければ、その商品をすすめることはできません。その顧客から前回、なんらかのトラブルや苦情があれば、特に気を配ることができます。顧客の顔とその顧客に関する情報をくまなく記憶できる驚異の記憶力をもった店員がいればいいだけです。 AWS で機械学習について読んだ後、あなたはこれを構築してみることにしました。アーキテクチャの中心となるのは、re:Invent 2017 で発表された 2 つのサービス、Amazon Kinesis Video Streams と Amazon Rekognition Video です。Kinesis Video Streams を使用すると、分析、機械学習のために、接続されたデバイスから AWS へ動画を簡単かつ安全にストリーミングできるようになります。Rekognition Video は簡単に Kinesis Video Streams に統合でき、顔のメタデータを集めたプライベートデータベースに対し、リアルタイムの顔認識を実行できます。あなたのソリューションのアーキテクチャは次のとおりです。 システムのプロトタイプを素早く構築するために、Raspberry Pi でホストされているカメラを使用します。これで店内の様子を撮影し、Amazon Kinesis […]

Read More

あなたが主役の自動ビデオ編集!

何時間ものビデオ映像の中で特定の人物を見つけたいと思ったことはありませんか? 21 才のお誕生日パーティー用にビデオを準備していて、お誕生日を迎える子供の楽しい思い出を見つけたいのかもしれません。特定の社員が最後の勤務日に何をしたかを見るためにビデオ映像を探し回っているのかもしれませんし、ネイサンズ国際ホットドッグ早食い選手権での自分の活躍のハイライト映像を作りたいのかもしれません。 このブログ記事では、Amazon Rekognition Video と Amazon Elastic Transcoder の機能を組み合わせて、長時間のビデオを所定の人物の全映像を映し出すハイライトビデオに自動で変換する方法を学んでいただけます。 シンプルなデモ このプロセスを説明するため、私は AWS の Day in the Life of an AWS Technical Trainer ビデオを使用します。ビデオを見ると、カメラに向かって話す人、お客様を訓練する人、そしてオフィス内を歩く人が数人が出演しているのがわかります。 このビデオは、このブログで後ほど説明するプロセスで処理されたもので、このプロセスは具体的に選択した人物のビデオを自動で作成します。これらのアウトプットビデオを見て、最終版を確認してください。 John のビデオ Karthik のビデオ MJ のビデオ Edward のビデオ 現に、MJ のビデオは 2 つの個別のシーンが自動的に結合されたため、単一の連続した撮影ショットのように見えます。シーンがどこでつながれているかは、ビデオをじっくり見なければわかりません! プロセス これがハイライトビデオを作成するために使用された全体的なプロセスです。 Amazon Rekognition で顔コレクションを作成し、認識するべき人を教える。 Amazon Rekognition Video を使って、保存されたビデオファイル内の顔を検索する。 顔が認識された箇所の個々のタイムスタンプを収集して、それらを定義された長さのクリップに変換する。 Amazon Elastic Transcoder を使用して新しいビデオを結合する。 各ステップの説明は次のとおりです。 ステップ 1: […]

Read More