Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon Kinesis Video Streams および Amazon SageMaker を使用したリアルタイムでのライブビデオの分析

Amazon SageMaker の Amazon Kinesis Video Streams Inference Template (KIT) の発売を発表できることを嬉しく思っています。この機能により、顧客はほんの数分で Amazon SageMaker エンドポイントに Kinesis Video streams をアタッチすることが可能です。これにより、他のライブラリを使用したり、カスタムソフトウェアを作成してサービスを統合することなく、リアルタイムの推論が可能になります。KIT は、Docker コンテナとしてパッケージ化された Kinesis Video Client Library ソフトウェアと、すべての必要な AWS リソースのデプロイを自動化する AWS CloudFormation テンプレートとで構成されています。 Amazon Kinesis Video Streams を使用すると、アナリティクス、機械学習 (ML) 、再生、その他の処理のために、接続したデバイスからオーディオ、ビデオ、関連メタデータを AWS に確実にストリームすることができます。Amazon SageMaker は、開発者やデータサイエンティストが ML モデルを迅速かつ容易に構築、トレーニング、および展開するための管理プラットフォームです。 ホームセキュリティカメラ、エンタープライズ IP カメラ、トラフィックカメラ、AWS DeepLens 、携帯電話などのソースからオーディオおよびビデオフィードを Kinesis Video Streams へと取り込みます。スマートホームのざまな業界からスマートシティへ、インテリジェント製造から小売業に渡るさまざまな業界のデベロッパーとデータサイエンティストが、AWS クラウドでこれらの動画フィードを分析するために、独自の 機械学習アルゴリズムを導入したいと考えています。これらの顧客が Kinesis Video […]

Read More

Amazon SageMaker IP Insights アルゴリズムを使用して、不審な IP アドレスを検出する

本日、Amazon SageMaker の新しい IP Insights アルゴリズムが公開されました。IP Insights は、IP アドレスの異常な動作や使用パターンを検出する教師なし学習アルゴリズムです。このブログ記事では、IP アドレスを使用した不正行為の特定、Amazon SageMaker IP Insights アルゴリズムの説明、実際のアプリケーションでの使用方法のデモンストレーション、およびその結果を社内で共有する方法について解説します。 悪意ある行為と戦う 悪意のある行為には、たいていの場合、オンラインバンキングアカウント、管理コンソール、ソーシャルネットワーキングまたはウェブメールアカウントへのアクセスなどのオンラインリソースへの不正なアクセス、いわゆるアカウントの乗っ取りが含まれます。乗っ取りは通常、盗まれたり、紛失またはリークされた認証情報を使用して行われ、不正なアクセスが、アカウントのいつもとは異なる IP アドレス (例えば、ユーザーからではなくハッカーのコンピュータ) から発信されることがほとんどです。 アカウントの乗っ取りを防ぐための一般的な防御策は、オンラインリソースに以前にはなかった IP アドレスでアクセスする際にフラグを立てることです。フラグ設定された対話はブロックすることができます。もしくは、ユーザーが追加の認証形式 (SMS への応答など) を利用して、乗っ取りに挑むこともできます。しかし、ほとんどのユーザーは、これまで使用していなかった IP アドレスから定期的にオンラインリソースにアクセスします。したがって、「新しい IP をフラグする」方法は、不適当に高い偽陽性率を生み、残念な顧客エクスペリエンスをもたらします。 ユーザーは定期的に新しい IP アドレスからオンラインリソースにアクセスしますが、新しい IP アドレスは完全な無作為での選択ではありません。ユーザーの移動習慣やインターネットサービスプロバイダーの IP 割り当て戦略など、いくつかの潜在的な要因が割り当てに影響します。これらの潜在的な要因すべてを明確に列挙することは、普通では困難です。しかし、オンラインリソースのアクセスパターンを見ることで、新しい IP アドレスが予期されたイベントなのか異常なのかを予測することは可能です。Amazon SageMaker IP Insights アルゴリズムは、これを行うために厳密に設計されています。 Amazon SageMaker IP Insights アルゴリズム Amazon SageMaker IP Insights アルゴリズムは、統計的モデリングとニューラルネットワークを使用して、オンラインリソース (オンライン銀行口座など) と […]

Read More

Amazon Comprehend カスタムエンティティの利用を開始する

プライベートなカスタムエンティティタイプのサポートを可能にする Amazon Comprehend の更新をリリースしました。お客様は、完全に自動で特定の用語を抽出できる、最先端のエンティティ認識モデルのトレーニングをすることができます。機械学習の経験は必要ありません。このサービスにより、お客様は ML の入力と出力を学習しなくても、すでにお持ちのデータを使用してカスタムモデルを作成することができます。お客様はこの機能を使用して、保険証券番号、部品コード、シリアル番号などの組織のニーズに合ったカスタムエンティティを抽出するモデルを簡単に構築できます。 カスタムエンティティタイプを学習するためにサービスをトレーニングすることは、エンティティのセットや、それを含む現実のドキュメントのセットを提供するのと同じくらい簡単です。開始するには、エンティティの一覧をまとめます。製品データベースや、会社が経営計画に使っているエクセルファイルからエンティティを収集します。このブログ記事では、カスタムエンティティタイプをトレーニングして、財務書類から主要な財務用語を抽出します。 CSV 形式では、カラムヘッダとして「Text」と「Type」を必要とします。エンティティとタイプを含む文字列が、作成しようとしているエンティティタイプの名前です。 次に、それらのエンティティがどのように使われているかという観点から、エンティティを含むドキュメントのセットを集めます。このサービスでは、一覧のエンティティを少なくとも 1 つ以上含むドキュメントが、最低 1000 は必要です。 次に、1 つのフォルダからエンティティの一覧の CSV を読み込み、別のフォルダからすべてのドキュメントを含むテキストファイル (1 行に 1 つ) を読み込むようにトレーニングジョブを設定します。 両方のトレーニングデータの準備が整ったら、モデルのトレーニングをします。このプロセスは、トレーニングデータの量や複雑さによって、数分の場合もあれば、数時間かかる場合もあります。Amazon Comprehend では、自動機械学習を使用して、そのデータに最もよく機能する正しい組み合わせを見つけるために、正しいアルゴリズムを選択し、モデルのサンプリングとチューニングを行います。 トレーニングが完了するとカスタムモデルの準備が整います。以下に、有益なメタデータと、トレーニングされたモデルを示します。 カスタムエンティティを探すドキュメントの分析を開始するには、AWS SDK を使用してポータルまたは API のいずれかを使用します。この例では、カスタムエンティティタイプを使用して財務書類を分析する分析ジョブをポータルに作成します。 CLI を使用した同じジョブ送信がどのようになるかを示します。 aws comprehend start-entities-detection-job \ –entity-recognizer-arn “arn:aws:comprehend:us-east-1:1234567890:entity-recognizer/person-recognizer“ \ –job-name person-job \ –data-access-role-arn “arn:aws:iam::1234567890:role/service-role/AmazonComprehendServiceRole-role” \ –language-code en \ –input-data-config “S3Uri=s3://data/input/” \ –output-data-config “S3Uri=s3://data/output/“ […]

Read More

AWS で独自の自然言語モデルを構築する (機械学習経験は必要ありません)

AWS は、昨年の AWS re:Invent で Amazon Comprehend を発表しました。これは、非構造テキストからキーフレーズ、場所、人物、名前、ブランド、イベント、およびセンチメントを抽出する自然言語処理サービスです。AWS によって訓練された高度な深層学習モデルによって動作する Comprehend では、機械学習スキルを必要とすることなく、開発者なら誰でもアプリケーションに自然言語処理を追加することが可能になります。 本日 のブログ記事では、開発者が Comprehend を拡張して、自然言語用語を識別し、そのチーム、ビジネス、または業界に特化したテキストを分類できるようにする、Comprehend の新しいカスタム化機能についてお知らせしたいと思います。 AWS では、大勢のお客様から、データ、特に非構造の自然言語で構成されるデータが過剰にあることをお聞きしていますが、大量に存在するカスタマー E メール、サポートチケット、会計報告、製品レビュー、ソーシャルメディア、または広告文の中に隠れている有力情報の宝庫を見つけるために組織の内部を掘り起こす必要はなくなると思われます。藁山の針を探す援助をすることは、機械学習が特に得意とすることです。機械学習モデルは、大量のテキストの中から関心がある特定のアイテムを探し出すことにおいて極めて正確になり得 (分析レポート内での企業名の検索など)、言葉の中に隠されたセンチメントにも敏感です (否定的なレビュー、またはカスタマーサービス担当者とカスタマーの建設的な交流の特定)。 Comprehend は一般名称 (場所および物など) の検索のために高精度のモデルを備えていますが、お客様は、その機能を拡張して、ポリシー番号や部品コードなどのより具体的な言語を識別したいと考えておられることがよくあります。これには通常、何もない状態から初めて、新しい専門的な機械学習言語モデルを構築すること (データに注釈を付ける、アルゴリズムを選択する、パラメータを調整する、モデルを最適化する、そして本番でモデルを実行する) が伴います。これらすべての手順には、深層機械学習に関する専門知識が必要となるだけでなく、「Undifferentiated Heavy Lifting」(差別化につながらない重労働)、つまり多くのアプリケーション開発者がむしろ独自の新しい機能の構築に費やしたいと考える労力も意味しています。 Amazon Comprehend のカスタマイズ (機械学習経験は必要ありません) 今日、AWS はお客様が藁山でより多くの針を見つけるためのお手伝いをしています。これに機械学習スキルは必要ありません。Comprehend は目に見えないところでカスタマイズされた機械学習モデルを構築、訓練、およびホストするための重労働を行い、プライベート API を通じてこれらのモデルを利用できるようにします。 カスタムエンティティは、開発者が Comprehend をカスタマイズして、開発者の分野に特定の用語を識別することを可能にします。Comprehend は、例から成る小規模のプライベートインデックス (例えば、ポリシー番号のリスト、およびそれらが使用されるテキスト) から学び、他のテキストブロックでこれらを認識するようにプライベートなカスタムモデルを訓練します。管理するサーバーもなければ、習得するアルゴリズムもありません。 カスタム分類は、開発者が名前が付けられたカテゴリにドキュメントをグループ化できるようにします。わずか 50 件の例で、Comprehend はドキュメントのすべてを分類するために使用できるカスタム分類モデルを自動的に訓練します。サポート E メールを部署ごとに、ソーシャルメディア記事を製品ごとに、または分析レポートを事業単位ごとにグループ化することができます。例がない、またはカテゴリが頻繁に変更される場合 (これはソーシャルメディアで良く見られます)、Comprehend はトピックモデリングを使用してドキュメントの内容だけに基づいて分類することもできます。 Amazon Comprehend […]

Read More

ハイパーパラメータチューニングジョブのウォームスタートを使って、Amazon SageMaker 自動モデルチューニングの効率をさらに向上

今年初め、当社は Amazon SageMaker 自動モデルチューニング を発表しました。これは開発者とデータ科学者が、機械学習モデルのトレーニングとチューニングにかかる多くの時間と労力を削減することを可能にしてくれます。本日、自動モデルチューニングでハイパーパラメータチューニングジョブのウォームスタートを開始します。データ科学者と開発者は、選択された親ジョブに基づいて新しいハイパーパラメータチューニングジョブを作成できるようになり、親ジョブで実行されたトレーニングジョブを事前知識として再利用できます。ハイパーパラメータチューニングジョブのウォームスタートは、ハイパーパラメータチューニングプロセスを加速し、チューニングモデルのコストを削減します。 データ科学者と開発者は、すでに自動モデルチューニングを使用してモデルを効率的にチューニングすることができましたが、さらに多くの支援が必要な分野があります。例えば、小規模予算でハイパーパラメータチューニングジョブを開始し、結果を分析後に、より大きな予算でモデルのチューニングを続けることを決定します。潜在的に異なるハイパーパラメータ設定を使用することもあります (チューニングにより多くのハイパーパラメータを追加したり、一部のハイパーパラメータで異なる検索範囲を試すなど)。もう 1 つの例は、データ科学者または開発者が、以前のモデルチューニングの後に新しいデータを収集し、モデルを再チューニングする場合です。どちらの場合も、このモデルの以前のチューニングジョブから収集した事前知識を使用してハイパーパラメータチューニングジョブを開始すると、最高のモデルに素早くアクセスし、顧客のコストを節約することに役立ちます。しかし、以前に行ったすべてのチューニングジョブはゼロから開始になります。同様のチューニング構成で同じモデルがすでにチューニングされていても、情報は再利用されませんでした。 ハイパーパラメータチューニングジョブのウォームスタートはこれらのニーズに対応します。ここでは、ウォームスタートを活用してモデルを繰り返しチューニングする方法を紹介します。 ウォームスタートを活用した画像分類モデルのチューニング この例では、画像分類子を作成し、ウォームスタートを利用して複数のハイパーパラメータチューニングジョブを実行することによって、画像分類子を繰り返し調整します。Amazon SageMaker 組み込み画像分類アルゴリズム を使用して、モデルを Caltech-256 データセットでトレーニングします。完全なサンプルノートブックはこちらから参照できます。 ハイパーパラメータチューニングジョブの開始と起動 ノートブックインスタンスの作成、データセットの準備、Amazon S3 へのプッシュ、ハイパーパラメータチューニングジョブの起動から直接起動する手順は省略します。サンプルノートブックにはすべての詳細がありますので、ここではプロセスを検討はしません。 この最初のチューニングジョブを実行して、検索スペースについて学習し、画像分類でチューニング可能なパラメータをチューニングする影響を評価します。このジョブは、モデルのチューニングが有望であるかどうか、そして後続のチューニングジョブを作成してチューニングを続行するかどうかを評価します。 チューニングジョブを作成するには、最初に組み込み画像分類アルゴリズム用のトレーニング推定器 (Estimator) を作成し、チューニングする予定のものを除いて、このアルゴリズムのすべてのハイパーパラメータの値を指定する必要があります。組み込み画像分類アルゴリズムのハイパーパラメータについての詳細は、こちらの文書 を参照してください。 s3_output_location = ‘s3://{}/{}/output’.format(bucket, prefix) s3_input_train = sagemaker.s3_input(s3_data=’s3://{}/{}/train’.format(bucket, prefix), content_type=’application/x-recordio’) s3_input_validation = sagemaker.s3_input(s3_data=’s3://{}/{}/validation/’.format(bucket, prefix), content_type=’application/x-recordio’) sess = sagemaker.Session() imageclassification = sagemaker.estimator.Estimator(training_image, role, train_instance_count=1, train_instance_type=’ml.p3.8xlarge’, output_path=s3_output_location, sagemaker_session=sess) imageclassification.set_hyperparameters(num_layers=18, image_shape=’3,224,224′, num_classes=257, num_training_samples=15420, […]

Read More

Amazon SageMaker でモデルトレーニング中にメトリクスを簡単にモニタリングして視覚化する

データサイエンティストおよび開発者は、Amazon SageMaker で機械学習モデルをトレーニングしながら計算されたメトリクスにすばやく簡単にアクセスし、モニタリングし、可視化することができるようになりました。追跡するメトリクスは、Amazon SageMaker の AWS マネジメントコンソールを使用するか、Amazon SageMaker Python SDK API を使用して指定できます。モデルのトレーニングが開始されると、Amazon SageMaker は指定されたメトリクスを自動的にモニタリングして、リアルタイムで Amazon CloudWatch コンソールにストリームし、損失曲線や精度曲線などの時系列曲線を可視化します。また、Amazon SageMaker Python SDK API を使用して、プログラムでメトリクスにアクセスすることもできます。 モデルのトレーニングとは、トレーニングデータセットの例を提示することによって、モデルに予測を習得させる反復的なプロセスです。通常、トレーニングアルゴリズムでは、訓練誤差や予測精度など複数のメトリクスを計算します。これは、モデルがきちんと学習しているかの診断に役立ちます。また、十分に正則化することにより、未観測のデータに対する予測ができるようにもなります。この診断は、モデルのハイパーパラメータを調整するときや、モデルが本番環境にデプロイする可能性を備えているかどうかを評価するときに特に役立ちます。 それでは、いくつかの例を見て、Amazon SageMaker でこれらのメトリクスをモニタリングおよび可視化する方法について学びましょう。 Amazon SageMaker アルゴリズムによるメトリクスの組み込みサポートの提供 Amazon SageMaker の組み込みアルゴリズムはすべて、さまざまなモデルのトレーニング、評価、および検証メトリクスを自動で計算して発行します。たとえば、Amazon SageMaker Object2Vec アルゴリズムは、validation:cross_entropy メトリクスを発行します。Object2Vec は、単語、フレーズ、センテンスなど高次元オブジェクトの低次元高密度埋め込みを学習できる教師あり学習アルゴリズムです。類似した 2 つの埋め込みがベクトル空間上にどのように配置されるかについても学習します。これは、テキスト内の特定の文章のペアが類似しているかどうかを評価する応用性を持つ技術です。アルゴリズムによって発行された validation:cross_entropy メトリクスは、モデルによって行われた予測が検証データセットの実際のラベルと乖離している程度を測定します。モデルが十分に学習していれば、cross_entropy はモデルのトレーニングの進行に応じて減少するはずです。 次に、AWS マネジメントコンソールについて段階的に見ていきましょう。サンプルノートブックのコードスニペットを Amazon SageMaker Object2Vec モデルのトレーニングに使用する方法についても説明します。 ステップ 1: Amazon SageMaker でトレーニングジョブを開始する サンプルノートブックには、トレーニングジョブを作成するための手順が示されています。トレーニングアルゴリズムによって発行されたすべてのメトリクスは、AWS マネジメントコンソールで確認できます。コンソールで […]

Read More

Amazon Transcribe でリアルタイムの文字起こしがサポート可能になりました

Amazon Transcribe は、開発者が speech-to-text 機能をアプリケーションに追加することを容易にする自動音声認識サービス (ASR) です。AWS より、ユーザーがライブオーディオストリームを AWS のサービスに渡し、文字に起こされたテキストをリアルタイムで受け取ることを可能にするストリーミングトランスクリプションと呼ばれる新機能が発表されました。 リアルタイムの文字起こしは、コンタクトセンター、メディアとエンターテイメント、法廷での記録管理、財務、および保険など、様々な垂直市場におけるユースケースにメリットを提供します。例えば、コンタクトセンターはリアルタイムの文字起こしでキーワードを検知し、自動的にスーパーバイザーを呼び出すなどのダウンストリームアクションをトリガーできます。メディアでは、ライブ字幕を付けることがニュースまたは番組の生放送に役立ちます。ビデオゲーム企業は、ストリーミングトランスクリプションを使用してゲーム内でのチャットのアクセシビリティ要件を満たし、聴力障害があるプレーヤーを支援できます。法律分野では、法廷でリアルタイムの文字起こしを活用して速記を行うことができる一方、弁護士も供述録取目的でライブのトランスクリプトに法律上の注釈を付けることができます。ビジネスの生産性において、企業は臨機応変に会議のメモを取るためにリアルタイムの文字起こしを活用できます。 ストリーミングトランスクリプションは、お使いのアプリケーションと Amazon Transcribe サービスの間のストリーミングオーディオとトランスクリプトを処理するために HTTP 2 の双方向ストリーム実装を活用します。双方向ストリームは、アプリケーションがデータの送信および受信を同時に処理することを可能にするため、より迅速で反応性の高い結果を得ることができます。 私たちは、独自のアプリケーション内で AWS SDK を使用してストリーミングトランスクリプションを利用する方法を実演するために、アプリケーションの例を作成しました。このアプリケーションは、マイクまたはオーディオファイルからの音声を Amazon Transcribe にストリーミングして、リアルタイムでトランスクリプトを受け取ることを可能にする基本的なユーザーインターフェイスを作成します。 このアプリケーションの例は、AWS の GitHub アカウント (https://github.com/aws-samples) にあります。緑色の Clone or download ボタンを選択し、Download ZIP リンクを選択することによって、アプリケーションの例をダウンロードしてください。その代わりに、Git または SVN を使用してリポジトリをデスクトップにクローンすることもできます。 Apache Maven (https://maven.apache.org/index.html) を使ってアプリケーションを構築し、その結果生成された jar を以下のコマンドで実行してください。 export AWS_ACCESS_KEY_ID=<your key id> export AWS_SECRET_ACCESS_KEY=<your secret access key> […]

Read More

リアルタイム予測のために Amazon SageMaker を使用して Amazon DynamoDB でデータを分析する

 世界で数多くの企業が、Amazon DynamoDB を使って、ユーザー対話履歴データを保存およびクエリしています。DynamoDB は、1 桁台のミリ秒の安定したレイテンシーを必要とするアプリケーションで使用されている、高速の NoSQL データベースです。 たいていは、顧客は Amazon S3 に格納されているテーブルのコピーを分析することで、DynamoDB 内の貴重なデータを詳細な情報に変換する必要があります。これにより、低いレイテンシーのクリティカルパスから分析クエリが分離します。このデータは、顧客の過去の行動を理解し、将来の行動を予測し、下流のビジネス価値を生み出す主要な情報源となり得るのです。スケーラビリティと可用性が高いという理由で、顧客は DynamoDB の使用へ切り替えるということがよくあります。立ち上げが上手くいった後、多くの顧客が DynamoDB のデータを使用して、今後の行動を予測したり、個別の推奨事項を提供したりしたいと考えます。 DynamoDB は、レイテンシーの低い読み書きに適していますが、DynamoDB データベース内のすべてのデータをスキャンし、モデルをトレーニングするのは現実的ではありません。この記事では、AWS Data Pipeline によって Amazon S3 にコピーされた DynamoDB テーブルデータを使って、顧客の行動を予測する方法を解説します。さらにこのデータを使用して、Amazon SageMaker で顧客に個別の推奨事項を提供する方法も説明します。Amazon Athena を使用して、データに対してアドホッククエリを実行することもできます。DynamoDB は最近、オンデマンドバックアップをリリースし、パフォーマンスに影響を与えずに完全なテーブルバックアップを作成しました。しかし、この記事には適していないので、代わりに AWS Data Pipeline が管理バックアップを作成し、他のサービスからアクセスできるようにする方法を紹介します。 これを行うため、Amazon Data Pipeline で DynamoDB バックアップファイル形式を読み取る方法について説明します。Amazon S3 のオブジェクトを Amazon SageMaker が読み取れる CSV 形式に変換する方法についてもお話しします。加えて、Amazon Data Pipeline を使用して、定期的なエクスポートと変換をスケジュールする方法も説明します。この記事で使用するサンプルデータは、「Bank Marketing Data […]

Read More

Amazon SageMaker Object2Vec の概要

このブログ記事では、高次元オブジェクトの低次元高密度埋め込みを学ぶことができる、高度にカスタマイズ可能な新しい多目的アルゴリズムである Amazon SageMaker Object2Vec アルゴリズムを紹介します。 埋め込みは、機械学習 (ML) における重要な特徴工学技術です。高次元のベクトルを低次元の空間に変換し、大きな疎ベクトル入力で機械学習を行いやすくします。また、埋め込みは、類似のアイテムを低次元空間の近くに配置することによって、基礎となるデータのセマンティクスも取得します。これにより、下流のモデルのトレーニングで特徴がより効果的になります。よく知られている埋め込みテクニックの 1 つに Word2Vec があり、これは単語の埋め込みを提供します。センチメント分析、ドキュメント分類、自然言語理解など、多くのユースケースで広く使用されています。特徴空間における単語の埋め込みの概念表現については、次の図を参照してください。 図 1: Word2Vec の埋め込み: 意味的に類似している単語は、埋込み空間内で互いに近くに位置しています。 単語の埋め込みに加えて、文章、顧客、製品など、より汎用的なオブジェクトの埋め込みを学びたいユースケースもあります。これは、情報検索、製品検索、商品照合、類似性に基づく顧客プロファイリングのため、または他の教師ありタスクの入力として実用的なアプリケーションを構築できるようにするためです。これが、Amazon SageMaker Object2Vec が導入された場所です。このブログ記事では、それが何であるか、それがどのように機能するか、いくつかの実用的なユースケースについて議論し、Object2Vec を使ってそうしたユースケースを解決する方法を紹介します。 仕組みの説明 埋め込みは、元の空間内のオブジェクトのペアの間の関係の意味が埋め込み空間内で保持されるように学習されます。したがって、学習された埋め込みを使用して、オブジェクトの最近傍を効率的に計算し、低次元空間内での関連オブジェクトの自然クラスターを視覚化することができます。さらに、埋め込みは、分類または回帰のような下流の教師ありタスクにおける対応するオブジェクトの特徴として使用することもできます。 Amazon SageMaker Object2Vec のアーキテクチャは、以下の主要コンポーネントで構成されています。 2 つの入力チャネル—2 つの入力チャネルが、同じタイプまたは異なるタイプのオブジェクトのペアを入力として受け取り、それらを独立したカスタマイズ可能なエンコーダーに渡します。 入力オブジェクトの例としては、シーケンスのペア、トークンのペア、シーケンスとトークンのペアがあります。 2 つのエンコーダー—エンコーダーは、それぞれのオブジェクトを固定長の埋め込みベクトルに変換します。 次に、ペア内のオブジェクトのエンコードされた埋め込みがコンパレータに渡されます。 コンパレータ—コンパレータは埋め込みを異なる方法で比較し、ユーザーによって指定された各関係について、ペア内のオブジェクトの関係の強さに対応するスコアを出力します。出力スコアの例は、オブジェクトのペア間の強い関係を示す 1、または弱い関係を表す 0 などとなります。 トレーニング時に、トレーニング損失関数は、モデルによって予測された関係と、トレーニングデータでユーザーによって指定された関係との間の差異を最小にします。モデルをトレーニングした後、トレーニングされたエンコーダーを使用して、新しい入力オブジェクトを固定長の埋め込みに変換することができます。Object2Vec のアーキテクチャ図とアーキテクチャの各部の説明は次のとおりです。 サポートされている入力タイプ、エンコーダー、損失関数 自然なこととして、Object2Vec は現在、integer-id として表されたシングルトン離散トークンと integer-id のリストとして表現された離散トークンのシーケンスを入力としてサポートしているため、入力データをサポートされている形式に変換するために前処理が必要です。それぞれのペアのオブジェクトは、互いに非対称であることもあります。たとえば、(トークン、シーケンス) ペア、(トークン、トークン) ペア、(シーケンス、シーケンス) ペアのいずれかです。トークンの場合、互換性のあるエンコーダーとして簡単な埋め込みをサポートしていますが、トークンのシーケンスの場合は、平均プール埋め込み、階層型畳み込みニューラルネットワーク (CNN)、多層双方向長時間短期記憶 ( BiLSTM) ベースのリカレントニューラルネットワークをエンコーダーをサポートします。それぞれのペアの入力ラベルは、ペア内のオブジェクト間の関係を表すカテゴリラベルであってもよいし、2 つのオブジェクト間の類似性の強さを表す評価またはスコアであってもかまいません。カテゴリラベルの場合はクロスエントロピー損失関数をサポートし、評価/スコアベースのラベルの場合は平均二乗誤差 (MSE) 損失関数をサポートしています。 […]

Read More

Amazon SageMaker を使用した K-means クラスタリング

Amazon SageMaker は、さまざまな問題の種類で使用できる組み込み機械学習 (ML) アルゴリズムを複数提供しています。これらのアルゴリズムは、高性能でスケーラブルな機械学習を提供し、速度、スケール、精度が最適化されています。 これらのアルゴリズムを使用して、ペタバイト規模のデータを学習できます。これらは、利用可能な他の実装の最高 10 倍のパフォーマンスを提供するように設計されています。このブログ記事では、教師なし学習の問題である k-means について探っていきます。さらに、Amazon SageMaker の組み込み k-means アルゴリズムの詳細も説明します。 k-means とは? k-means アルゴリズムは、グループのメンバーがお互いにできる限り類似し、他のグループメンバーとできる限り異なるようなデータ内の離散グループを探します (以下の図を参照)。アルゴリズムで類似性を決定するために使用する属性を定義します。  k-means を定義するもう 1 つの方法は、クラスター内のすべての点が、他の中心よりもその中心に近い距離になるように、与えられたレコードセットに対して、k クラスター中心を見つけるクラスター問題です。 与えられたデータセットを示すこの図では、赤、青、緑の 3 つの明確なクラスターが見えます。各クラスターにはクラスター中心があります。各クラスターの点は、他のクラスター中心より、割り当てられているクラスター中心に空間的に近いことに注意してください。  数学的には、以下のように解釈できます。 前提条件: S={x1…xn}、次元 d の n ベクトルのセット S と整数 k 目標: 以下の式を最小化する、k クラスターセンターのセット C={µ1… µk } を探します。 k-means を使う場所  k-means アルゴリズムは、明示的にラベル付されていない、大きなデータセットのパターンまたはグループを見つけることに適しています。さまざまなドメインでのいくつかのユースケースを紹介します。 E コマース 購入履歴またはクリックストリームアクティビティで顧客を分類。 ヘルスケア 病気のパターン検出または成功する治療シナリオ。 画像検出で類似画像をグループ化する。 金融 データセットの異常検知により、不正取引を検出。例えば異常な購入パターンによるクレジットカード詐欺の検出。 […]

Read More