Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon SageMaker を使用した Spectral MD による創傷ケアの近代化

Spectral MD, Inc. は、臨床研究ステージの医療機器会社であり、自らを「光の障壁を破って体内の奥底を見つめる」と説明しています。 最近、FDA によって「画期的デバイス」に指定された Spectral MD は、最先端のマルチスペクトルイメージングと深層学習テクノロジーを使用して、創傷ケアに優れたソリューションを提供します。ダラスに拠点を置くこの会社は、Amazon SageMaker や Amazon Elastic Compute Cloud (Amazon EC2) などの AWS サービスに基づいて、前例のない創傷ケア分析への取り組みをサポートしています。クラウドプロバイダーとして AWS を使用することで、Spectral MD チームは、データが迅速かつ効果的に保存および処理されることを認識し、革新的な医療に集中できます。 「AWS を選択したのは、医療機器で使用される最先端の深層学習アルゴリズムを迅速にトレーニング、最適化、検証するために必要な計算リソースにアクセスできるからです」と、Spectral MD ソフトウェアチームのリードである Kevin Plant 氏は説明します。「AWS は、アルゴリズムの研究、開発、デプロイに不可欠な臨床データセットの安全なリポジトリとしても機能します」 アルゴリズムは 10 年前の会社独自の DeepView Wound Imaging System を用いています。非侵襲的なデジタルアプローチを使用して、臨床研究者が患者と接触することなく、隠れた病気を確認することができます。具体的にこのテクノロジーは、視覚的入力とデジタル分析を組み合わせて、複雑な創傷状態を理解し、創傷の治癒能力を予測します。ポータブルイメージングデバイスと AWS の計算能力を組み合わせて、臨床医は人間の目には見えない規模でも正確なスナップショットをキャプチャできます。 Spectral MD の革新的なソリューションでは、AWS サービスのおかげでコアな計算能力と機械学習による巧妙な処理、両方を実現することができました。会社は、デバイスでキャプチャしたデータを Amazon Simple Storage Service (Amazon S3) に保存し、メタデータを Amazon DynamoDB […]

Read More

Amazon Lex チャットボットで、ワンタイムパスワードを使ってユーザーを認証する

現在、多くの企業がワンタイムパスワード (OTP) を使って、ユーザーを認証しています。アプリケーションを続行するには、パスワードの入力を求められます。このパスワードはテキストメッセージを介して登録済みの電話番号に送信され、このパスワードを入力すると認証が行われます。ユーザー ID を検証するには、簡単で安全なアプローチです。このブログ投稿では、同じ OTP 機能を Amazon Lex チャットボットに統合する方法について説明します。 Amazon Lex では音声とテキストの両方を使って、既存のアプリケーションにリアルな対話型インターフェイスを簡単に構築できます。 詳細に進む前に、OTP について詳しく見てみましょう。OTP は通常、1 つのログインセッションまたはトランザクションに対してのみ有効な一連の数字です。OTP は一定の期間が経過すると失効します。その後は新しい OTP を生成する必要があります。ウェブ、モバイル、その他のデバイスなどさまざまなチャネルで使用できます。 このブログ投稿では、モバイルデバイスでの料理注文チャットボットの例を使用して、ユーザーを認証する方法をご紹介します。Amazon Lex ボットでは OTP が認証したときだけ、ユーザーの注文が行えるようになります。 OTP を使用した次の会話を考えてみましょう。 先ほど説明したやり取りを実現するために、以下のインテントで最初に出前のボットを構築します。OTP パスワードは OrderFood などのトランザクションを含むインテントで使用します。 OTP をキャプチャする 2 つの実装 (音声によるものと、テキストによるもの) をご紹介します。最初の実装では、OTP は音声またはテキストモダリティとして Amazon Lex が直接キャプチャします。OTP 値はスロット値として Amazon Lex に直接送信されます。2 つ目の実装では、OTP はクライアントアプリケーションが (テキストモダリティを使用して) キャプチャします。クライアントアプリケーションは、クライアントのダイアログボックスから OTP をキャプチャし、それをセッション属性として Amazon Lex に送信します。セッション属性は暗号化できます。 Amazon […]

Read More

Amazon SageMaker 2019年4月から8月のアップデート

みなさま、こんにちは。AWS 機械学習ソリューションアーキテクトの大渕です。 すでにみなさまにご利用いただいている機械学習のマネージドサービス Amazon SageMaker ですが、現在も新機能がどんどん追加されています。そこで今回は、2019 年 4 月から 8 月までに Amazon SageMaker に追加された機能をご紹介したいと思います。 ご自身にピッタリの機能がないか、ぜひチェックしてみてください。

Read More

Amazon ECS で Amazon Elastic Inference ワークロードを実行する

Amazon Elastic Inference (EI) はInvent 2018 で発表された新しいサービスです。Elastic Inference では、スタンドアローンの GPU インスタンスと比較して、深層学習実行コストを最大で 75% まで削減します。Elastic Inference を使えば、任意の Amazon SageMaker か Amazon EC2 インスタンスタイプにアクセラレーターをアタッチすることができ、TensorFlow、Apache MXNet、ONNX モデルでの推論を実行できます。Amazon ECS は、高度にスケーラブルかつ高性能なコンテナオーケストレーションサービスで Docker コンテナーをサポートしています。コンテナ化されたアプリケーションを、AWS の上で、容易に実行もしくはスケーリングすることが可能です。 このブログ記事では、Elastic Inference を利用して、Amazon ECS での深層学習推論ワークロードを高速化する方法を解説します。また、同じ ECS コンテナインスタンスで別々のワークロードを実行している可能性がある場合などに、複数のコンテナで 1 つの Elastic Inference アクセラレーターを共有する方法も示します。このように共有することで、アクセラレーターの利用率を高められます。 ECS では、2019 年 2 月 4 日時点で、 これらの GPU でのタスク実行をサポートしています。これは、トレーニング用ワークロードのためには良く機能するものです。しかし、推論ワークロードで ECS の Elastic Inference を利用すれば、これらの GPU […]

Read More

Amazon SageMaker Ground Truth に固有表現抽出用のデータラベル付けワークフローが追加

AWS re:Invent 2018 にて発表された Amazon SageMaker Ground Truth を使用すると、機械学習 (ML、machine learning) システムのトレーニングに必要なデータセットを、効率的かつ正確にラベル付けすることが可能になります。Ground Truth にはラベル付けのワークフローが組み込まれており、ラベル付けワーカーは、それによってステップバイステップでタスクを実行したり、成果をあげるのに役立つツールを利用したりすることができます。組み込まれたワークフローは現在、物体検出、画像分類、テキスト分類、セマンティックセグメンテーションによるラベル付けジョブで利用可能です。 そして本日より AWS は、新しいユースケースである固有表現抽出 (NER、named entity recognition) のサポートを開始しました。NER とは、テキストデータを選別して固有表現と呼ばれる名詞句を特定し、「人」「組織」「ブランド」などのラベルによってそれぞれを分類する作業のことです。 たとえば「私は最近 Amazon プライムに登録した」というテキストがあった場合、「Amazon プライム」が固有表現とみなされ、「ブランド」として分類されます。 こうしたユースケースを拡大して、あらかじめ規定されたラベルを使って、もっと長いテキストのラベル付けや配列の分類を行うことが可能です。例として、次のスクリーンショットをご覧ください。パフォーマンス評価のテキストにおいて、Amazon のリーダーシッププリンシプルである「Customer Obsession」についての言及箇所が特定されています。 概要 この記事では、NER のラベル付けジョブの作成方法について解説していきます。 データセットを収集します。 ラベル付けジョブを作成します。 労働力を選択します。 タスクの指示を作成します。 今回の例では、NER のラベル付けタスクとして、データセットからブランド名の特定を行います。サンプルのデータセットとして、Amazon の Twitter アカウントから 10 個のツイートを用意しました。これを使用してもいいですし、自分でデータセットを用意して、個々のユースケースに関連した NER のラベル付けタスクを定義してもらっても構いません。 前提条件 以下の手順を実行するには、AWS アカウントを所有していて、AWS のサービスにアクセスできることが前提となります。 ステップ 1: データセットを収集して Amazon S3 に保存する […]

Read More

クライアントの API を使用して、Amazon Lex のセッション状態を管理する

対話をサポートするためボットを構築しようとした人なら、会話の流れの管理がいかに難しいかを理解できるでしょう。リアルなユーザー (明らかにスクリプトをリハーサルしていないユーザー) の会話は、途中で本題からそれることがあります。リアルなユーザーは今話しているトピックに関連した質問することもあれば、まったく新しい会話を始めることもあります。自然な会話は動的であり、複数のトピックを扱うことがほとんどです。 この投稿では API を使用して、新しいインテントへの切り替えや以前のインテントへの復帰を含む会話のフローを管理する方法を見ていきます。次のスクリーンショットは、リアルなユーザーと人間のカスタマーサービスエージェントの会話の例を示しています。 上記の例の残高に関するユーザークエリ (「ちょっと待って。カードの残高合計はいくら?」) は、支払いという本題から逸脱しています。私たちはトピックを簡単に変更します。しかしボットは会話の脱線が発生したときにその会話状況を保存し、違う質問に答えてから、元のインテントに戻って、ユーザーに本題を思い出させる必要があります。 この例で言えば、ユーザーがカードで支払いをしたいことをボットは覚えておかなければなりません。支払いについてのデータを保存した後、コンテキストを切り替えて、同じカードの合計残高の情報を引き出しています。ユーザーに応答した後、支払いを続けます。この会話を 2 つの部分に分けるには、次のように行います。 図 2: 会話の脱線と再開 美味しそうな例を考えてみましょう。「フライドポテトも付いていますか?」と何回言ったかを考慮し、その後の会話を想像してみてください。 よく構成されたボットは、会話の脱線を検出できます。Lambda 関数を使用してサーバー側でインテントを切り替えたり、Amazon ElastiCache または Amazon DynamoDB で会話状態を維持したり、事前に入力されたスロットと新しいプロンプトで以前のインテントに戻ることができます。現在では、これらすべてを行うことが可能です。しかし実際のボットではコードを作成し管理する必要があります。これは天気をチェックするといったような簡単な作業ではありません。(ここで天気ボットを悪く言っているのではなく、正しい都市を見つけるだけなのに私の会話がそれて行ってしまうんです。) それで、何が言いたいの? 今日からは、新しいセッション状態 API を使用して、この種の脱線や他にもおもしろそうなリダイレクトに対処する Amazon Lex ボットを構築できます。この API を使用すると、クライアントアプリケーションから直接 Amazon Lex ボットとのセッションを管理し、会話フローをきめ細かく制御できます。 この投稿での会話の実装には、GetSession API 呼び出しを Amazon Lex に発行して、会話の前のインテント履歴を取得します。その後、PutSession オペレーションを使用して、正しいインテントを使用するようにダイアログマネージャーに指示し、次のダイアログアクションを設定します。これにより、ダイアログの状態、スロット値、属性を管理して、会話を前のステップに戻すことが可能となります。 前出の例では、ユーザーが合計残高についてクエリすると、クライアントは GetSession に続いて PutSession を呼び出し、支払いを続行することで、会話の脱線を処理しています。GetSession オペレーションからの応答には、ユーザーがやり取りした最後の 3 つのインテントの状態の概要が含まれます。これにはインテント MakePayment (accountType: credit, amount: $100)、および […]

Read More

Amazon SageMaker を使用して、機械学習でエネルギー価格を予測する Kinect Energy

Amazon ML Solutions Lab は最近 Kinect Energy と協働し、機械学習 (ML) に基づいて将来のエネルギー価格を予測するパイプラインを構築しました。Amazon SageMaker と AWS Step Functions でデータの自動取り込みと推論パイプラインを作成し、エネルギー価格の予測を自動化およびスケジューリングできるようにしました。 このプロセスでは、Amazon SageMaker DeepAR 予測アルゴリズムを特別に使用します。深層学習予測モデルで現在の手動プロセスをこれに置き換えることで、Kinect Energy の時間を節約し、安定したデータ主導での方法を導入できました。 次の図は、エンドツーエンドのソリューションを示しています。 データの取り込みは毎日データをロードして処理し、Amazon S3 のデータレイクに保管するステップ関数を使用して調整します。その後、データを Amazon SageMaker に渡し、Amazon SageMaker は推論パイプラインモデルをトリガーするバッチ変換呼び出しを介して推論生成を処理します。 プロジェクトが生まれたわけ 自然電力市場は消費者の需要を満たすため、風力、水力、原子力、石炭、および石油/ガスといった資源に依存しています。需要に応えるために利用する電力資源の実際の組み合わせは、その日の各エネルギー資源の価格によって変化します。価格はその日の電力需要によって変わります。そして投資家が電力の価格を公開市場で取引します。 Kinect Energy はエネルギーを売買しています。そのビジネスモデルの中でも、エネルギー価格から派生した金融契約の取引は重要な部分です。これには、エネルギー価格の正確な予測が必要です。 そのため Kinect Energy は過去に手動で行われた予測プロセスを、ML を使って改善し自動化したいと考えていました。現物価格は現在の商品価格、つまり現物を将来引き渡しするための売買価格で、先物価格やフォワード価格とは異なります。予測した現物価格と先物価格を比較することで、Kinect Energy チームは現在の予測に基づいて将来の価格変動をヘッジする機会を得ることが可能となります。 データの要件 このソリューションでは、1 時間間隔で 4 週間を見通した現物価格を予測しようとしました。プロジェクトの主要な課題の 1 つに、必要なデータを自動的に収集し処理するシステムを作成することがありました。パイプラインには 2 つの主要なデータのコンポーネントが必要でした。 過去の現物価格 エネルギー生産と消費率、および現物価格に影響するその他の外部要因 (生産率と消費率を外部データとしています。) […]

Read More

Twilio Media Streams で対話型インターフェイスとして Amazon Lex を使用する

Twilio プラットフォームを使用して、顧客との新しいコミュニケーション方法を構築している企業があります。これらの企業は、対話型の音声自動応答 (IVR) でレストランの注文を完全自動化したり、次世代の高度なコンタクトセンターを構築したりしています。Twilio は Media Streams を立ち上げ、Voice プラットフォームを開放し、リアルタイムで電話による通話の未加工オーディオストリームにアクセスできるようになりました。 Media Streams を使用すると、Amazon Transcribe Streaming WebSockets で音声をリアルタイムで文字に起こし、コールセンターの生産性を向上させたり、エンドユーザーの対話を自動化し、Amazon Lex を使用する発信者の意図に基づいたレコメンドをエージェントに行うことができます。 このブログ投稿では、Amazon Lex を使用して、Twilio Media Streams が提供する未加工オーディオストリームを使った音声アプリケーションに対話型インターフェイス (チャットボット) を統合する方法をご紹介します。Lex は深層学習を利用して、人間のスピーチの意図を認識するのに必要な大きな作業を行い、魅力的なユーザーエクスペリエンスとリアルな会話を簡単に構築できるようにします。 ソリューションは次のような手順になります。 Twilio からオーディオストリームを受信する 音声アクティビティ検出コンポーネントにオーディオストリームを送信して、オーディオの音声を判別する 音声が検出されたら、Amazon Lex へユーザーデータのストリーミングを開始する 無音を検出した場合、Amazon Lex へのユーザーデータのストリーミングを停止する Amazon Lex からの応答に基づいて、進行中の Twilio 呼び出しを更新する このサンプルで提供する Voice Activity Detection (VAD) 実装は参照とデモだけの目的で、初歩的なアプローチを使って振幅を見ることで音声と無音を検出します。そのため、本番での使用は推奨しません。本番のシナリオでの使用には、安定した形式の VAD モジュールを実装する必要があります。 次の図で、手順を示しています。 Amazon Lex ボットと Twilio […]

Read More

Amazon SageMaker Python SDK で Git 統合を利用可能

Amazon SageMaker Python SDK で Git 統合が利用可能になりました。これからはトレーニングジョブやホスティングモデルのために Git リポジトリからスクリプトをダウンロードする必要がありません。この新機能を使用すると、Python SDK でモデルをトレーニングするときに Git リポジトリに保存されているトレーニングスクリプトを直接使用できます。モデルをホスティングするときに Git リポジトリに保存されているホスティングスクリプトを使用することもできます。スクリプトは GitHub、別の Git ベースのリポジトリ、または AWS CodeCommit リポジトリでホストされています。 この記事では、Amazon SageMaker Python SDK での Git 統合の使用方法について詳しく説明します。 概要 Amazon SageMaker Python SDK を使用してモデルをトレーニングするときは、次を行うトレーニングスクリプトが必要です。 入力チャネルからデータをロード ハイパーパラメータを使用してトレーニングを設定 モデルをトレーニング モデルを保存 Estimator オブジェクトを作成するときに、entry_point 引数の値としてスクリプトを指定します。 以前は、ユーザが Python SDK で Estimator または Model オブジェクトを作成したときに、entry_point 値として指定した場合は、トレーニングスクリプトがローカルファイルシステム内のパスでなければなりませんでした。Git リポジトリでスクリプトをトレーニングしていると、ローカルでダウンロードしなければならなかったため、この場所は不便でした。 複数の開発者が Git リポジトリに貢献している場合は、リポジトリに対する更新を把握し続ける必要があります。また、ローカルバージョンが古くなっている場合は、すべてのトレーニングジョブを行う前に最新バージョンを入手しなければなりません。 これにより、定期的なトレーニングジョブのスケジューリングがさらに困難になります。 Git […]

Read More

Amazon SageMaker を使用した収穫の成功で、Bayer のデジタル農業ユニットを強化

2050 年までに、地球は 100 億人を養う必要があります。地球を拡大して農地を増やすことはできないので、食料を増やすための解決策は、農業の生産性を高め、資源への依存を軽減することです。つまり、作物を損失したり、資源を浪費したりする余地はありません。Bayer は Amazon SageMaker を使用して、世界中の田畑で発生する損失を排除しています。 家庭からは、台所での廃棄や食べ残しなどの食べ物を捨てることで、食物の損失が発生します。しかし、多くの国での食物損失の大部分は、実際には、何らかの形で「実を結ばない」作物、つまり、害虫、病気、雑草、土壌の栄養不良などによるものです。Bayer の子会社である Climate Corporation は、こうした課題の解決に役立つデジタル農業サービスを提供しています。 Climate Corporation のソリューションには、トラクターおよび衛星対応のフィールドヘルスマップからのデータの自動記録が含まれます。こうしたサービスなどを世界中の何千もの農家に提供することにより、Climate Corporation は農家が土地を健康で肥沃に保つことをサポートします。 また同社のチームは、FieldCatcher と呼ばれる新しいサービスにも取り組んでいます。このサービスでは、農家はスマートフォンの画像を使用して、雑草、害虫、病気を特定できます。「画像認識を使用して、農家に仮想農学者へのアクセスを提供し、しばしば困難である作物の問題の原因を特定する作業を支援します。これにより、アドバイスにアクセスできない農家にも力を与えるとともに、すべての農家が野外での観察をより効率的にキャプチャして共有できるようになります」と、Climate Corporation の近接センシングのリーダーである Matthias Tempel 氏は述べています。 FieldCatcher は、Amazon SageMaker でトレーニングされた画像認識モデルを使用し、Amazon SageMaker Neo を使用して携帯電話向けにモデルを最適化します。この設定により、農家はモデルを使用して、インターネットにアクセスしなくてもすぐに結果を得ることができます (多くの農地ではインターネット接続がないため)。Amazon SageMaker を使用すると、FieldCatcher が問題の原因を自信を持って特定するのに役立ちます。これは、農家に適切な修復ガイダンスを提供するうえで不可欠です。多くの場合、すぐに対処して問題に確信を持てることは、田畑の収穫量や農家の成功に大きな違いをもたらします。 FieldCatcher ソリューションを強化するため、Bayer は多種多様で高品質な画像を収集し、さまざまな環境、成長段階、気象条件、日光のレベルを含むトレーニングデータを作成しています。それぞれの写真はスマートフォンからアップロードされ、最終的には認識をさらに向上させるための継続的に拡張されるライブラリの一部になります。以下の図は、各画像の過程とそのメタデータを示しています。 具体的には、Amazon API Gateway および Amazon Simple Storage Service (Amazon S3) へのアップロードを保護する Amazon Cognito への取り込みでプロセスが始まります。サーバーレスアーキテクチャは、他のどの方法よりもスケーラブルで保守が容易であるために選択されますが、ステップを実行し、最終的に受信したデータをデータレイクに移動するために AWS Lambda […]

Read More