Amazon Web Services ブログ

Tag: Machine Learning

Amazon SageMaker RL を利用した Unity 上での強化学習エージェントの作成

Unityはゲーム業界をはじめ、映画や自動車業界など幅広い分野で利用されている仮想環境エンジンです。ユーザーはUnityで提供されるツールを通して、独自の物理法則、地形、キャラクターを作成することが可能です。Unity Machine Learning Agents Toolkit (ML-Agents)はオープンソースプロジェクトで、Unityで構築した仮想環境内で動作する強化学習エージェントを作成することが可能です。強化学習とは機械学習の一種であり、エージェントはある環境上の一連のアクションに対して受け取る総報酬を最大化するための方策を学習します。SageMakerにおける強化学習の取り組みについてはこちらのブログを参照ください。Unity ML-Agentsは強化学習エージェントの作成において広く使われているツールであり、作成された強化学習エージェントはレベルデザイン、バグ検出、チート検出など様々な用途で応用されています。より複雑な環境における強化学習エージェントの作成には、分散学習、ハイパーパラメータチューニングなどにおいて効率よくコンピューティングリソースを配置することが重要となります。このブログでは、SageMaker RLとUnity ML-Agentsを統合し、フルマネージドな環境で効率よくコンピューティングリソースを配置し強化学習エージェントを作成する方法について紹介します。 SageMaker RLを使う利点 Amazon SageMaker はフルマネージドサービスであり、機械学習モデルを迅速に構築、トレーニング、デバッグ、デプロイなどをするための様々な機能を提供しています。SageMaker RLはこのSageMaker上で動作し、ビルド済みのRL ツールキットを提供しています。SageMaker RLを用いることで、容易にRL環境を構築でき、TensorflowやPyTorchといったフレームワークを使用した強化学習が可能です。学習、推論ジョブはSageMakerによって管理されており、お客様は強化学習エージェントの作成に多くの時間を割くことができます。また、SageMaker RLは複数のサンプルノートブックを提供しており、どのように強化学習をロボティクス、オペレーションズ・リサーチ、金融に利用するのかなどを学ぶことが可能です。以下に紹介するソリューションもこのサンプルノートブックからすぐさま利用可能です。 SageMaker RL – Unity ML-Agents integrationの利用方法 今回利用するSageMaker RLの学習ジョブの構成は以下のようになっています。強化学習ツールとしてはRay-RLLibを使用しています。分散学習、アルゴリズム構築、ネットワーク構築、パラメータ設定などをRay-RLLib上で管理することで煩雑な作業を減らすことが可能です。Unity環境はOpenAI Gym環境としてラップすることでRay-RLLibからはUnity独自の仕様を意識することなく一般的な強化学習タスクとして扱えます。そして、学習を実行するリソースや設定についてはSageMakerで管理しています。 では、実際にこの構成で強化学習エージェントを作成する方法を順を追って説明します。 セットアップ はじめに、ノートブックの環境設定を行います。下記を実行することで、API実行用のIAMロール、S3バケットの設定やPythonライブラリのインポートなど環境設定を行うなうことができます。 import sagemaker import boto3 # set up the linkage and authentication to the S3 bucket sage_session = sagemaker.session.Session() s3_bucket = sage_session.default_bucket() s3_output_path = ‘s3://{}/’.format(s3_bucket) print(“S3 […]

Read More

閉域網で Amazon SageMaker を利用する際のポイントと手順

みなさま、こんちには!ソリューションアーキテクトの辻です! このブログでは Amazon SageMaker を閉域網で利用する際のポイントや設定方法、使い方を紹介します。長い記事となりますので、以下の構成に沿って、閉域網における利用まで順を追って説明します。 全体像の紹介 – パート1 閉域網の作成 (閉域網を新規作成したい方向けです) – パート2 ネットワークと権限の設定 (管理者による設定の手順などを紹介します) – パート3 エンドユーザーによる利用 (パート2, 3の手順で構築した環境での Amazon SageMaker の各種機能の利用方法を説明します) – パート4 リソースの後片付けとまとめ – パート5,6 いずれのパートも Amazon SageMaker に関して経験があり、SageMaker Python SDK などを利用したことのある方を前提としています。設定方法は東京リージョンを前提としているので、他のリージョンをお使いになる方は適切に読み替えてください。

Read More

RAPIDSをAmazon SageMaker Processingで実行する

こんにちは、アマゾン ウェブ サービス ジャパンの藤田です。Amazon SageMakerは、すべての開発者が機械学習モデルを迅速に構築、トレーニング、デプロイできるようにするための完全マネージド型サービスです。Amazon SageMakerは機械学習モデルの開発を容易にするため、機械学習の各プロセスから負荷の大きな部分を取り除きます。 今回は、開発者が機械学習の前処理、後処理、モデル評価といったワークフローをAmazon SageMaker上で簡単に行うためのPython SDKであるAmazon SageMaker ProcessingとデータサイエンスのワークフローをGPUで高速化するフレームワーク、RAPIDSを使用し、サーバレスに前処理、特徴量作成を行う方法を紹介します。

Read More

創薬ワークフローハンズオン~ Amazon Comprehend Medicalを利用したSNS/論文分析~

創薬研究において、クラウドリソースの活用は有用です。例えば、大規模計算に必要なHPC環境を必要な時に瞬時に立ち上げて処理したり、目視による画像分類・判別を機械学習により自動化する事で、従来多くの時間がかかっていた業務を短縮することができ、創薬プロセスを飛躍的に効率化することが可能です。しかしながら、クラウドのサービスやソリューションが業務にフィットするか検証するために、計算環境や機械学習環境を構築するには手間と時間がかかります。そのため、ヘルスケア・ライフサイエンスチームでは、創薬ワークフローに対するハンズオンといった業界特化のソリューションを提供することで、機能やソリューションが業務にフィットするかユーザの方々に体感頂いております(例えば、「化合物の溶解度予測」の内容はこちらに記載しています)。今回、当該ハンズオンに対してご要望の多かった、「AWS CloudFormation (以下、CFn)によるテンプレート化」を2つのハンズオンコンテンツで実装し、数回のクリックだけでご自身の環境にDeployできるようにしました。これにより、幅広いユーザーの方に利用頂き、ソリューションを体感頂ければと思います。

Read More

人工知能で進化する人材開発

1 年と少し前に、私は LearnGeek の創業者兼プリンシパルである JD Dillon と一緒に人材開発 (Learning and Development: L&D) カンファレンスのエキスポホールでチャットボット、予測学習管理システム、ゲーム化されたコースのデモを見学していました。各ベンダーがそれぞれの人工知能 (Artificial Intelligence: AI) ソリューションを「未来の働き方」を推進する「AI 対応」と宣伝するにつけ、 AI という売り文句の滑稽さにジョークを飛ばし、決してまだ万能ではない現在の AIに対する認識が間違ってひとり歩きするさまを笑いものにしていました。 ただしそれでも、AI が職場学習における次の重要な話題になってきていることまでは否定しませんでした。AI がビジネスにもたらした影響を考えれば、驚くまでもないことです。IDC の予測ではエンタープライズアプリケーションの 75% が 2021 年までに AI を使用し、自動認識および AI 関連の支出は 522 億ドルに増加するとされています。最近 JD と私は L&D 分野における AI 活用の議論を進めることを目的として「人工知能で進化する人材開発」と題した共同プレゼンテーションを行いました。今こそ L&D が多岐にわたる AI の可能性や実務の発展に求められる具体的なステップを模索し、それによって AI 活用を段階的に推し進める時です。   AI とは 機械がある課題を解決する一連の規定されたルール (アルゴリズム) に基づいてタスクを実行するとき、この「インテリジェントな」一連の動作を AI と呼びます。ほとんどのエキスパートは AI の現在と未来を説明する際の便宜上、 […]

Read More

レジなし無人販売冷蔵庫を構築できる、This is my Smart Cooler プログラムを公開しました

AWS は、デジタル変革を進める小売業のお客様からの 「最先端のリテールソリューションを内製したい」というご要望にお応えするために、お客様自らがレジなし無人販売冷蔵庫を迅速に構築し学習や体験ができる This is my Smart Cooler プログラムを発表します。

Read More

Amazon SageMaker での AutoGluon-Tabular の活用 AWS Marketplace 編

前回の記事では、Amazon SageMaker で独自コンテナを用いて AutoGluon-Tabular を活用し、数行で高精度な機械学習モデルが構築できることをご紹介致しました。今回は、AWS Marketplace に出品されている AutoGluon-Tabular のソフトウェアを活用し、コードを記述することなく、機械学習モデルを構築する方法をご案内します。 AWS Marketplace は、ソフトウェア、データ、およびサービスを簡単に検索、購入、デプロイ、管理するために使用できる厳選されたデジタルカタログであり、セキュリティ、ネットワーク、ストレージ、データベース、といった様々なカテゴリに属する何千というソフトウェアが出品されています。今回は新しく、AutoGluon-Tabular が出品されたので、こちらを使用して機械学習モデルを構築してみます。 Step1: CSVファイルを用意します AutoGluon-Tabular ではテーブルデータを対象としています。学習データやテストデータは、pandas などの標準的なライブラリを使用して Python で読み込める有効な CSV ファイルとして格納されていれば良く、手動で前処理を行う必要はありません。各カラム名に該当するヘッダーは付けてください。後のステップで予測対象の目的変数のカラム名を指定します。 今回は、元のデータを7:3の比率で学習データとテストデータにランダムに分割し2つのファイルを作成しました。 Step2: CSVファイルをS3にアップロードします Step1 の CSV ファイルを Amazon S3 にアップロードしましょう。 Step3: SageMakerのコンソールでトレーニングジョブを実行します まず、SageMaker のコンソールの左ペインにある「アルゴリズム」(下記1)のセクションをクリックし、表示された右上の「アルゴリズムを探す」ボタン(下記2)をクリックしてください。 飛んだ先のマーケットプレイスのページの検索ボックスで autogluon を検索して、表示された「 AutoGluon-Tabular 」をクリックしてください。 飛んだ先のマーケットプレイスの AutoGluon-Tabular のページで「 Continue to Subscribe 」ボタンをクリックしてください。 料金やライセンスに関する説明が表示されますので、確認して「 Accept Offer 」ボタンをクリックしてください。AutoGluon-Tabular は OSS  であり、アルゴリズムの使用自体には料金は発生しません。SageMaker […]

Read More

Amazon SageMaker での AutoGluon-Tabular の活用 BYOC 編

表データに対する分類、回帰というタスクは機械学習のタスクの中でもビジネスに最も親密に結びついています。もし、以前にこのようなタスクに取り組まれていたなら、表データに対する推論の利用用途が多岐にわたることをご存知でしょう。ビジネスにおいて、ユーザーの購買活動、保険請求金額、医療レポート、IoT からのセンサーデータなど多種多様なソースから収集したデータに基づいて、機械学習モデルを構築することが重要となります。しかしながら、そのような多様性のあるデータを扱うことは容易ではありません。 このような問題に対し、これまでは専門家による懇切丁寧な特徴量エンジニアリングを通したアプローチがとられていました。しかしながら、近年、機械学習コンペティションでは複数のモデルのアンサンブルによるアプローチが主流となりつつあります。コンセプトとなっているのは複数のモデルを組み合わせてさらに良いモデルを作ることです。これは集合知と呼ばれており、それぞれのモデルがより多様で独立しているときに効果を発揮します。 AutoGluon-Tabular ではこのアイデアを取り入れています。多層スタックアンサンブルという手法も用いることにより AutoGluon-Tabular は AutoML のフレームワークとして様々なタスクに対して優れた精度を記録しています。また、AutoGluon-Tabular はシンプル、堅牢、高効率、高精度、フォールトトレラントを考慮しデザインされており、複雑な処理なしに高精度のモデルが作成可能です。 この AutoGluon-Tabular は Amazon SageMaker の独自コンテナ および AWS Marketplace を活用頂くことで簡単にお使い頂けます。これにより、たった数行のコードで高精度な機械学習モデルを作成することが可能となります。また、フルマネージドサービスである Amazon SageMakerを 利用することで、ラベリングタスクとの統合、セキュアでスケーラブルなモデルの作成、スポットインスタンスを利用したコスト削減が可能となります。 この投稿では、Amazon SageMaker での独自コンテナを活用する、BYOC( Bring Your Own Container ) という方法で AutoGluon-Tabular の活用 し、高精度な学習モデルを作成、デプロイし、すぐさまお客様のビジネスに利用する方法をご紹介します。また、次回の記事では、AWS Marketplace にあるソフトウェアを用いることで、コードを記述することなく活用頂く方法についてもご案内しています。 Amazon SageMaker での独自コンテナを用いた AutoGluon-Tabular の活用 本セクションでは、Amazon SageMaker ノートブックインスタンスを用いて、AutoGluon-Tabular モデルを学習し、推論を行う方法について順を追ってご説明致します。サンプルコードの詳細については、GitHub のリポジトリを参照下さい。 ステップ1: SageMaker ノートブックインスタンスの作成 このチュートリアルの最初のステップは、SageMaker ノートブックインスタンスを作成することです。今回は、コストの低い ml.t2.medium インスタンスを選びます。作成の際には、AmazonSageMakerFullAccess ポリシーを含む […]

Read More

認知科学と学習 3: エラボレーションを使って概念の理解を強化する

このブログは、認知科学の原則を使って AWS クラウドの学習効果を高める方法に関するシリーズ記事の第 3 回(最終回)です。 このシリーズの前回と前々回では、プレゼンテーションや講義からの情報を受動的にインプットすることばかりに依存しないということが、いかに重要であるかについてを取り上げました。長期的な学習効果を強化していくためにはインプットばかりでなく、その情報を能動的に 記憶から引き出す(または思い出す) よう、セルフテストに挑戦することが大切です。またこの考え方をふまえ、 時間間隔を空けた反復学習 を実践することで、学習をより効率的かつ効果的にする方法についてもご紹介しました。 どちらの戦略でも強調されているのは、学習プロセスにおいては記憶が重要な役割を果たすということです。ある分野についてのプロフェッショナルになるためには、その分野に関する主要な概念や事実といった強固な基礎を身につけることから始める必要があります。たとえば機械学習 (Machine Learnning: ML) について言えば、そもそも特徴量エンジニアリングとは何かを知らなければ、ML モデルで特徴量エンジニアリングを実践することは不可能です。 しかしこれまでに説明してきたことを鑑みると、キーとなる情報を記憶するためにいたずらに反復学習を行うことが正しいとは限りません。情報に対する理解を深めるのに役立つテクニックがいくつかあります。そのうちの 1 つはエラボレーションと呼ばれるものです。 エラボレーションとは エラボレーションとは、学習中の新しい情報を既存の知識と関連付けていくことで、新たにインプットしている情報に詳細を付け加えていくプロセスのことです。エラボレーションのプロセスでは What (何を) 学習しているかよりも、学習中のトピックの背後にある How (どのように) や Why (なぜ) により重きを置きます。ここでは簡単な例を使って、この概念をより具体的につかんでいきましょう。 エラボレーションの実践 機械学習を例にとった場合、おそらく最初に直面するハードルの 1 つは、この分野特有の用語や概念についての語彙を理解することでしょう。そのためまず Demystifying AI/ML/DL や What is Machine Learning? といったトレーニングを受講し、そこに出てくる用語や概念について時間差学習によって小刻みにセルフテストを行います。 機械学習のタイプの違いを理解しているかを確認するセルフテストの問題の 1 つとして、たとえば以下のような問題があったとします(正解は1)。 次のうち、教師あり学習が最も適しているのはどれか答えなさい 画像内の鳥を特定する 購買傾向に基づいてある集団をより小さな集団にグループ化する データセット内の特徴量の数を減らす クレジットカード取引データ内の異常を特定し、不正としてラベル付けする この問題やその他の同様の問題に正解することはさほど難しくありません。つつまり、回答にあたって教師あり学習ついて深い理解が必要な問題とは言えません。フォローアップの問題に挑戦することでエラボレーション、つまりこのトピックに関する詳細を付け加えていきます。こうすることで、より深い理解が得られます。 以下に示すのは、この状況またはその他の同様の状況でフォローアップエラボレーションとして活用できる問題の例です。 「画像内の鳥の特定」が、どのように教師あり学習の良い例であるか説明しなさい 他の選択肢が、教師あり学習に適していないのはなぜですか 正解の選択肢に加えて、教師あり学習の適切なユースケースを他に挙げなさい 正解の選択肢が、教師なし学習の例でないのはなぜですか   エラボレーションが脳に与えるインパクト エラボレーションの問題が学習に大きな効果をもたらすメカニズムは、脳が情報を最も効果的に保存および取り出す仕組みと関連しています。長期的な観点では、脳内にある他の情報と密接に接続された情報(大きく強固に張りめぐらされたクモの巣状のニューロンをイメージしてください)は、そうでない情報、つまり他の情報との関連付けが乏しく接続の弱い状態で保存された場合と比べて、はるかに簡単に記憶から取り出せるようになります。エラボレーションの問題に取り組み、学習中のトピックに詳細を付け加える訓練を実践すると、先に述べたニューロン同士の密接な結合の形成につながります。 では、この エラボレーション の原則を AWS クラウドの学習に活用するにはどうしたらよいでしょうか。以下にいくつかのアイデアを示します。 フォローアップ問題に挑戦する。反復学習 (小テストの問題に解答する、メモカードでセルフテストをする、難しい ハンズオンラボ […]

Read More

Amazon Forecast: 学習済み Predictor を再利用して最新の予測を更新する

こんにちは、アマゾン ウェブ サービス ジャパンの藤田です。Amazon Forecastでは、過去の時系列データからpredictor(予測子)の学習を行い、将来(新しいデータポイント)の予測を行うことが可能です。需要予測や在庫計画など、様々なビジネス課題に適用することができます。今回は、Amazon Forecast で学習した Predictor を再利用して、最新の予測を更新していく Rolling Forecastについて紹介します。

Read More