Amazon Web Services ブログ

Category: Artificial Intelligence

Apache MXNet で事前にトレーニングを受けたモデルを使用する

このブログ記事では、Apache MXNet で事前トレーニングを受けたモデルの使用方法について解説します。複数モデルを試してみようと思われた理由は? 最高の精度をもったモデルを選ばないのはなぜでしょう? この記事の後半で説明するように、同じデータセット上でこれらのモデルがトレーニングを受け最高の精度を得るために最適化されたとしても、個々のイメージではその動作にわずかながら違いが生じます。また、予測速度も変動する可能性があります。これは多くのアプリケーションにとって重大な要素です。事前にトレーニングされたモデルをいくつか試すことで、自分のビジネス課題を解決するのに最適なモデルを見つけることができます。 まず、Apache の MXNet モデルズーから、3 つのイメージ分類モデルをダウンロードしてみましょう。 VGG-16 (研究報告)、ImageNet Large Scale Visual Recognition Challenge (ImageNet 大規模ビジュアルリコグニッションチャレンジ) における 2014 年度の分類最優秀モデル。 Inception v3 (研究報告)、GoogleNet の発展、オブジェクト検査での 2014 年度最優秀モデル。 ResNet-152 (研究報告)、複数カテゴリにおける 2015 度最優秀モデル。 各モデルについて次に示す 2 種類のファイルをダウンロードする必要があります。 ニューラルネットワークの JSON 定義を含むシンボルファイル: レイヤー、接続、アクティベーション機能など。 全接続加重、バイアスの値を保存する加重ファイルで別名パラメーター。トレーニングフェーズ中にネットワークにより習得。 # MacOS users can easily install ‘wget’ with Homebrew: ‘brew install wget’ !wget http://data.dmlc.ml/models/imagenet/vgg/vgg16-symbol.json -O […]

Read More

Amazon SageMaker での機械学習で、Amazon Pinpoint キャンペーンを加速

成功した多くのビジネスの中心には、顧客に対する深い理解があります。以前のブログ記事では、AWS データレイク戦略の一環として Amazon Redshift Spectrum を使用することで、全方向の顧客イニシアティブを強化する方法を説明しました。 このブログ記事では、敏捷性、コスト効率、そして AWS が顧客分析の実践を通じてどのように革新を起こすのかを実証するテーマを続けたいと考えています。みなさんの多くは、AI がどのようにして顧客イニシアティブを強化できるかを探っているでしょう。そこで、Amazon SageMaker と Amazon Pinpoint を活用したソリューションを通じて、ターゲットとするキャンペーンを機械学習 (ML) によってどのように推進できるかを実証します。 小売りの例を見てみましょう。消費者として、私たちには購入習慣の直感があります。私たちは、良い経験をした製品を再購入する傾向があります。あるいは、逆に、不満足な経験の結果として代替製品に移る可能性があります。三部作の一部である本を購入した場合、そのシリーズの次の本を購入する可能性が高くなります。スマートフォンを購入すると、近い将来にアクセサリーを購入する可能性が高くなります。 顧客の購買行動を知る能力があればどうなるでしょうか?次の購入がどうなるかを比較的高い確率で知ることができたら、どうすればいいでしょうか?私たちがこの予測能力を持っていれば、対処できる多くのことがあります。たとえば、在庫管理の効率を改善したり、マーケティングキャンペーンのパフォーマンスを向上させることができます。 このブログ記事では、Amazon SageMaker を使用してカスタムの長・短期記憶リカレントニューラルネットワーク (LSTM RNN) モデルを構築、トレーニング、使用して購入行動を予測し、予測を活用して Amazon Pinpoint によるキャンペーンを配信する方法を紹介します。 RNN は、特殊なタイプのニューラルネットワークであり、ML のアルゴリズムです。RNN は、通常、シークエンスデータと共に使用します。一般的なアプリケーションとしては、音声のテキストへの変換、言語の翻訳、¥感情分析などの自然言語処理 (NLP) の問題があります。このケースでは、少し創造的になり、UCI 機械学習リポジトリからダウンロードした 現実のオンライン小売データセット[i] の顧客取引履歴に RNN モデルを適用します。 課題 ソリューションに入る前に、こうしたプロジェクトをコンセプトから本番運用に移行する際の課題を理解してみましょう。標準的な ML プロセスを考えてみましょう。 いくつかの重要な観察があります。 このプロセスには、データエンジニアリングプロジェクトに共通のデータパイプラインが含まれているため、大規模なビッグデータの課題に直面します。このブログで紹介しているデータセットは小規模ですが、Amazon.com などの大手小売業者の類似データセットはビッグデータの規模であり、さまざまなフォーマットのバッチやストリームから集められています。モデルのパフォーマンスが向上するため ML プロジェクトには大量のデータが適していますが、データを大規模に活用するには適切なプラットフォームが必要です。AWS データレイク戦略は、運用の複雑さを最小限に抑え、コスト効率を最大化する、将来を見越したソリューションを提供することができます。AI イニシアチブだけでなく、他のデータエンジニアリングプロジェクトでも、引き続き基盤が実を結ぶことになります。 多様な活動をサポートする必要があります。多様な活動は、チームメンバーの役割やスキルセットに最も適した豊富な種類のツールの必要性につながります。データ処理、発見、大規模な機能エンジニアリングなどの活動には、Spark のようなツールが適しています。AWS では、Amazon EMR が […]

Read More

Policybazaar.com が、Amazon Polly を採用して、効率とカスタマーエクスペリエンスを強化

これは、PolicyBazaar.com の最高技術責任者兼チーフプロダクトオフィサーである、Ashish Gupta 氏のゲストブログ記事です。彼ら自身の言葉によれば、「PolicyBazaar.com はインドで最大の保険マーケットプレイスであり、顧客は購入前に複数の保険商品を比較することができます。」 2008 年の創業以来、Policybazaar.com は、インドが保険を購入する方法を再定義した新しい FinTech エコシステムを開拓してきました。私たちの 10 年間の長い旅の間、課題は私たちの絶え間ない進化と進歩の内在的な部分でした。  私たちのビジネスが成長するための核心は、消費者の問題を迅速かつ効率的に解決することです。私たちには哲学があります — つぼみのうちに摘み取る!2017 年、事業規模が拡大しました。平均取引件数が、以前の月当たり 12 万件から月当たり 25 万件に増加したのです。これは、私たちが以前よりもより多くの消費者を管理し、以前よりも多くの消費者の問題を解決したことを意味しました。2017 年、約 1 億件の顧客からの電話問い合わせを管理しました。 明らかに、この成長に追いつくために革新する必要があります。従来のツールを使って顧客の期待に応えることは不可能です。 したがって、新しい最先端の技術革新を採用することが最重要です。TTS (text-to-speech) ソリューションである、Amazon Polly が、日常の課題を解決するのに最適なツールでした。Amazon Polly の採用により、顧客サービスを次のレベルに引き上げ、より大きな成果性と高い生産性を実現しました。現在、Amazon Polly は次の方法で使用しています。 音声ブロードキャスト 重大な音声アラート 受信通話 Amazon Polly は、多目的用途に適した事前定義の応答の共有から、「ドキュメントが保留中です」や「アップロードに問題がありました」などの顧客の問い合わせにシフトすることを可能にして、プロセスと効率に差をつけました。Amazon Polly では、システムがお客様を識別し、個人ベースで質問を解決する音声通話を生成します。 つまり、特定の問題に重点を置いて関連性のあるメッセージを送信できるようになったのです。一例があります。「住所の証明を提出していただきありがとうございます。ただし、お客様が提出された所得の証明は間違っています。3 ヶ月の銀行口座明細書、または 3 ヶ月分の給料明細を送っていただけますか?」Amazon Polly への移行により、シームレスなカスタマーエクスペリエンスが増加し、より実践的なコミュニケーションが促進されます。 Amazon Polly と社内 IVR 通話サービスである PBee Connect を統合して以来、特に対処の通話がある場合に、顧客関与の大幅な改善が見られました。 私たちの場合、4 […]

Read More

異常検出にビルトイン Amazon SageMaker Random Cut Forest アルゴリズムを使用する

本日、Amazon SageMaker 向けの最新ビルトインアルゴリズムとして、Random Cut Forest (RCF) のサポートを開始しました。RCF は監視を伴わない学習アルゴリズムで、データセット内の異常なデータポイントや外れ値を検出します。このブログ記事では異常検出に関する問題について紹介するとともに、Amazon SageMaker RCF アルゴリズムについて説明し、実世界のデータセットを使った Amazon SageMaker RCF の使用法を実演します。 異常検出は極めて重要です たとえば、いくつもの街の区画で長期間にわたり交通量のデータを収集してきたとします。交通量が急増した場合、その背後にあるのが何らかの事故なのか、一般的なラッシュアワーなのかを予測することはできますか?交通量の急増が 1 区画だけで起きているのか、複数の区画で起きているのかは重要ですか? また、1 つのクラスターにあるサーバー間にネットワークのストリームがあるとします。そのインフラストラクチャが目下 DDoS 攻撃を受けている最中なのか、またはネットワークアクティビティの増加が良好な状態であるかを自動的に見極めることはできますか? 異常とは、 よく系統立てられた、またはパターン化されたデータから逸脱する観測結果を意味します。たとえば、異常は時系列データ上の想定外の急増、周期性のある中断、または分類不能なデータポイントを示します。データセットにそうした異常なデータが含まれる場合、「通常」データはシンプルなモデルで記述されることから、機械学習タスクの複雑性を急激に増大させる可能性があります。 Amazon SageMaker Random Cut Forest アルゴリズム Amazon SageMaker Random Cut Forest (RCF) アルゴリズムはデータセット内の異常なデータポイントを検出するための監視を伴わないアルゴリズムです。特に、Amazon SageMaker の RCF アルゴリズムは 1 件の異常スコアと各データポイントを関連付けます。異常スコアの値が低ければ、データポイントが「通常」であることを意味し、スコアの値が高ければ異常があることを意味します。「低い」と「高い」の定義はアプリケーションによって異なりますが、慣例から平均スコアから 3 つの値が逸脱していた場合、異常と見なされます。 Amazon SageMaker の RCF アルゴリズムの処理ではまず、トレーニングデータからランダムなサンプルを取得することから始めます。トレーニングデータが 1 台のマシンに入りきらない可能性がある場合は、レザボアサンプリングと呼ばれる手法で、データストリームから効果的にサンプルを抽出します。その後、ランダムカットフォレストの各構成要素ツリーにサブサンプルが配分されます。各サブサンプルはそれぞれの葉が単独のデータを含む 1 つのバウンディングボックスを表すように分割されるまでランダムにバイナリツリーへと分割されていきます。入力データポイントへ割り当てられた異常スコアは、そのフォレストの平均的な深度に対し、逆比例します。詳細については、SageMaker […]

Read More

ノートブックインスタンスのトレーニングに Amazon SageMaker のローカルモードを使用する

Amazon SageMaker が最近、事前構築型の TensorFlow と MXNet コンテナを使用したローカルトレーニングのサポートを開始しました。  Amazon SageMaker はフレキシブルな機械学習プラットフォームで、機械学習モデルを本番環境に、より効果的に構築、トレーニング、およびデプロイできるようにします。  Amazon SageMaker トレーニング環境は管理されています。つまり、即時のスピンアップ、アルゴリズムコンテナのロード、Amazon S3 からのデータ取得、コードの実行、Amazon S3 への結果の出力、クラスターの解体などの処理について、ユーザーが考える必要がなくなります。  トレーニングを別々のマルチノード GPU クラスターにオフロードできる機能は大きな利点です。毎回新しいハードウェアをスピンアップすることは、反復性とセキュリティの面で良いことですが、アルゴリズムコードのテストやデバッグの際には無駄に回転させることになります。 Amazon SageMaker の深層学習コンテナを使用することで、普段通りに TensorFlow または MXNet のスクリプトを書けるようになります。しかし、今後は、これらをトレーニングとホスティングの両方の目的で、管理されている本番グレードの環境にプレビルトコンテナとしてデプロイすることになります。  これまで、こうしたコンテナは Amazon SageMaker 固有の環境でのみ使用できました。  最近これらのコンテナがオープンソース化されました。これにより、ユーザーは自身のアルゴリズムをローカルでテストするためにわずか 1 行のコードを書き換えるだけで、自分の作業環境にコンテナを取り込み、Amazon SageMaker Python SDK でカスタムコードビルトを使用できるようになるのです。  つまり、毎回新しいトレーニング用またはホスティング用のクラスターが構築されるのを待つことなく、自分の作業を反復したり、テストしたりできることを意味します。  小さなデータセットのサンプルをローカルで反復し、フルデータセットを分散してトレーニングするためにスケーリングするのが機械学習の一般的な手法です。  多くの場合、プロセス全体を再度書き込むことになるため、バグが生じないのを願うばかりです。  Amazon SageMaker のローカルモードでは、コードを 1 行書き換えるだけで、ローカルと分散されたマネージドトレーニング間をシームレスに切り替えられます。その他の動作はすべて同じです。 Amazon SageMaker Python SDK のローカルモードは、TensorFlow または MXNet エスティメーターの 1 […]

Read More

Amazon EC2 インスタンスでのより高いパフォーマンスのために最適化された Chainer 4 と Microsoft Cognitive Toolkit (CNTK) 2.5.1

AWS Deep Learning AMIs for Ubuntu および Amazon Linux に、Amazon EC2 インスタンスでのより高いパフォーマンスのために最適化された Chainer 4 と Microsoft Cognitive Toolkit (CNTK) 2.5.1 が付属します。AMI はまた、5 つの追加リージョンでも利用できるようになり、対応の AWS リージョンが 16 か所に拡大します。 Chainer 4 で深層学習を加速する この AMI にはアマゾンの コンピューティング最適化 C インスタンスをサポートするインテルアーキテクチャのコンボリューションや ReLU (rectified linear units) ルーチンといった深層学習処理を加速するために構成された Intel’s Deep Learning Extension Package (iDeep) 搭載の Chainer 4 が付属します。 たとえば、開発者は CPU 専用の EC2 […]

Read More

Amazon Polly が HIPAA に準拠

Amazon Polly は、文章をリアルな音声に変換できるサービスです。話すことができるアプリケーションを構築可能な、まったく新しいカテゴリの音声対応製品です。Amazon Polly API は、AWS HIPAA 準拠サービスです。 何十種類もの生き生きとした音声を多数の言語に変換でき、最適な音声を選択して、音声対応アプリケーションを構築できます。例として、英国最大の診断およびヘルスケアソリューション提供企業 Inhealthcare 社 の事例があります。同社は Amazon Polly を使用して、英国の全人口向けに遠隔ホームモニタリングをサポートする、デジタルインフラストラクチャを構築しました。この事例では、サービスを大規模に展開するために自動電話システムが最適なコミュニケーションチャネルとして使われています。なぜならば、インターネットにアクセスできなかったり、スマートフォンを持っていなくても、ほぼすべての人がサービスを使用できるからです。また多くの高齢者の方々にとって、従来の電話機は使い勝手がよく、安心して使えます。Inhealthcare 社が患者様のケアを提供するために、どのように Amazon Polly を使用しているのかについて、詳しくはブログ投稿を参照してください。 HIPAA 準拠は、Amazon Polly を利用できる、すべての AWS リージョンに適用されます。PHI を保存、処理、転送するように AWS HIPAA 準拠サービスを設定する方法に関する情報およびベストプラクティスについては、アマゾン ウェブ サービスの HIPAA セキュリティおよびコンプライアンスのためのアーキテクチャ設計ホワイトペーパーを参照してください。 AWS Business Associate Addendum (BAA) をご使用の場合は、Amazon Polly で医療情報 (PHI) が含まれているテキストから音声を作成することができます。AWS BAA を使用していない場合や AWS HIPAA で規制されているワークロードの実行に関するその他のご質問があれば、お問い合わせください。 今回のブログ投稿者について Binny Peh は AWS Machine Learning […]

Read More

Amazon Rekognition Video と Amazon Kinesis Video Streams を使用してサーバーレスのビデオ分析環境を構築し、ライブフィードをベースにした顔分析を簡単に実行する

ビデオを撮影し、保存するとろこまではごく一般的に行われていますが、そのビデオに主要人物、場所、またはものが映り込んでいるかどうかは、だれかが画面の前に座って、そのビデオを見る時間がとれるまで分析されることはありませんでした。  深層学習を活用した使い勝手の良いサービスを使用して、ビデオを分析するプロセスを合理化し、自動化できるとしたらどうでしょう? Amazon Rekognition Video は、人物を追跡したり、活動を検出したり、物体、有名人、および不適切なコンテンツを認識したりする、深層学習を使用した動画分析サービスです。Amazon Rekognition Video は、ライブストリーム内の顔を検出して認識できます。Rekognition Video は、Amazon S3 に保存されている既存のビデオを分析し、活動、人物と顔、物体を示すラベルをタイムスタンプ付きで返すため、シーンを簡単に見つけることができます。Amazon Kinesis Video Streams からライブビデオの顔認識を実行することも可能です。Amazon Kinesis Video Streams を使用することで、分析、機械学習 (ML)、およびその他の処理のために、接続されたデバイスから AWS へ動画を簡単かつ安全にストリーミングできるようになります。 今回のブログ記事では、自分で顔認識機能をテストする方法をご紹介します。この機能を利用することで、ライブビデオフィードから、既知の個人の顔情報を集めた特定の顔情報コレクションに一致する顔がそのビデオに含まれているかを判別することもできます。 これらの例としては、要人、参考人、会社や組織の特定の人々、または個々のユースケースで意味をなすあらゆる種類の顔情報コレクションが挙げられます。 サーバーレスアーキテクチャの概要 以下はこのブログ記事でご紹介するビデオ分析フローを図式化したものです。このコレクションでは単一の顔を使用しますが、容易に数百万の顔情報コレクションに拡張することができます。 このブログ記事では、Amazon Kinesis Video Stream にライブフィードを送信するためにあなたのノート PC のウェブカムを使用します。 そこから Amazon Rekognition Video のプロセッサがフィードを分析し、私たちの作成したコレクションと比較します。  一致した結果は、AWS Lambda と Amazon Simple Notification Service (Amazon SNS) との統合によりメールで私たちに送信されます。 結果を理解する 次に、ライブのビデオストリームで顔情報が特定されたときに、Amazon Rekognition Video からの結果を見てみます。この結果はウェブカムのフィードに既知または未知の顔が現れたときに、Amazon […]

Read More

EFS ファイルシステムを Amazon SageMaker ノートブックに (ライフサイクル設定を含めて) マウントする

今回のブログでは、Amazon Elastic File System (EFS) を Amazon SageMaker ノートブックインスタンスにマウントする方法について説明します。この方法を使えば、大規模なデータセットを保存してアクセスすること、そして SageMaker ノートブックインスタンスからの機械学習スクリプトを共有することが容易になります。 Amazon SageMaker ノートブックには、Jupyter Notebook サーバーを実行している自分自身のインスタンスに高速にアクセスするための機能が用意されています。そこから、Amazon SageMaker の分散マネージドトレーニング環境にアクセスし、リアルタイムで、実用グレードのホストエンドポイントをセットアップすることができます。Amazon SageMaker の高速でスケーラブルなアルゴリズムや、構築済みディープラーニングフレームワークコンテナを使用できます。Amazon EFS はシンプルでスケーラブルなファイルストレージを提供します。これは同時に複数の AWS リソース間で共有することができます。これら 2 つを組み合わせれば、まさに自分のノートブック環境から、大規模な機械学習データセットや共有コードに簡単にアクセスできます。 現在のところ、 Amazon SageMaker のノートブックインスタンスは、5 GB の Amazon Elastic Block Store (EBS) ストレージから開始し、約 20 GB の非永続的ストレージに拡大するようになっています。さらに大きなファイルは Amazon S3 からアクセスできますが、ファイルシステムと同じほどの柔軟性は提供されていません。柔軟性と大規模なデータセットを必要とするユースケースでは、EFS をノートブックインスタンスにマウントすることにより、その要件を満たすことができます。一部の顧客はまた、すでに EFS をマウントして、ファイルを保存し、既存の EC2 インスタンスにわたって共有しています。これは EFS と Amazon SageMaker が協力できる、別の分野です。 既存の EFS […]

Read More

Amazon Translate を使用したチャットチャンネル

世界では毎日、数百万のユーザーがメール、ソーシャルネットワーク、およびチャットプラットフォームやメッセージボードなど、他のオンラインコミュニティを通じて互いに通信しています。しばしばユーザーは特定のコミュニティに興味を抱いてチャットの会話に参加したいと思いますが、オンラインコミュニティの第一言語がユーザーが理解できる言語とは異なる場合があります。 このようなコミュニティの 1 つがゲーマー向けの世界最大のソーシャルビデオサービスである Twitch です。毎日、共有している関心事について見たり、話したり、チャットしたりするために、数百万のコミュニティメンバーが集まります。チャットはどのストリームにも内蔵されているので、ストリームを受動的に見ている代わりに、ショーに参加することができます。あなたは Twitch にはあなたの言語を必ずしも話す必要のない多くのストリーマーがいることに気付きますが、それでもあなたはストリームを楽しんだり、チャットに参加したりしたいと思うかもしれません。 このようなコミュニケーションを実現するため、AWS は、高速、高品質、適正価格の言語翻訳機能を備えたニューラルマシン翻訳サービスである Amazon Translate を用意しています。Amazon Translate は、ユーザー間のクロスリンガルコミュニケーションを可能にするオンデマンド翻訳機能を提供します。チャット、メール、ヘルプデスク、チケット発行アプリケーションにリアルタイム翻訳機能を追加すれば、英語を話す担当者や従業員は複数の言語で顧客とコミュニケーションをとることができるようになります。 このブログポストは、Twitch チャネルで Amazon Translate を使ってクロスリンガルチャットを実現する方法をカバーします。あなたはまた、受信したリアルタイムメッセージを有声音で発音するテキスト読み上げサービス、Amazon Polly の使用法も学習します。この追加機能によって、アクセス機能が強化され、ユーザーは、他のタスクに集中しながらメッセージを聞くことができます。 ソリューションの概要 このポストでは、CSS と JavaScript を備えた HTML ページを作成します。JavaScript ライブラリを使用して、Twitch チャネルに接続し、メッセージの受信を開始します。リアルタイムメッセージを受信すると、AWS SDK を使用して Amazon Translate を呼び出し、翻訳されたこれらのメッセージを UI に表示します。音声オプションを有効にした場合、AWS SDK を使用して Amazon Polly を呼び出し、音声合成されたこれらのメッセージをユーザー先で再生します。 Twitch アカウントを作成して構成する twitch.tv に移動して、Twitch アカウントにサインアップします。 Twitch アカウントのサインアップに成功したら、https://twitchapps.com/tmi に移動して、Twitch OAuth トークンを作成します。 [Connect with […]

Read More