Amazon Web Services ブログ

Category: SageMaker

AWS Step Functions を使用した Amazon SageMaker モデルの自動的で連続的なデプロイ

Amazon SageMaker は、モデルの開発、トレーニング、およびデプロイ、ソリューション構築のコスト削減、データサイエンスチームの生産性向上のための完全な機械学習 (ML) ワークフローサービスです。Amazon SageMaker には、多くの事前定義済みアルゴリズムが付属しています。また、Docker イメージ、モデルをトレーニングするためのトレーニングイメージ、および REST エンドポイントにデプロイするための推論モデルを指定して、独自のアルゴリズムを作成することもできます。 機械学習モデルの構築とデプロイを自動化することは、本稼働の機械学習サービスを作成する上で重要なステップです。コードおよび/またはデータが更新されたときは、モデルを再トレーニングしてデプロイする必要があります。このブログ記事では、AWS Step Functions を使用した Amazon SageMaker の自動化の手法について説明します。新しいオープンソースプロジェクトである aws-sagemaker-build を通してそれを実証します。このプロジェクトは私たちのワークフローを完全に実装しています。Python と Amazon Alexa を使用してビルドの作成、起動、停止、進行状況の追跡を行う方法を示す Jupyterノ ートブックも含まれています。 aws-sagemaker-build の目的は、Amazon SageMaker と AWS Step Functions を使用する一般的で有用なパイプラインのリポジトリを提供することです。このリポジトリはコミュニティと共有され、コミュニティによって成長できます。 このコードはオープンソースであり、GitHub のここでホストされています。 カスタムモデル このブログ記事では、トレーニングや推論のために Dockerfile を作成および設計する方法の詳細については説明しません。詳細については、以下のドキュメントをご覧ください。 Example Project and Tutorial using aws-sagemaker-build (aws-sagemaker-build を使ったサンプルプロジェクトとチュートリアル) Training Image Documentation (トレーニングイメージのドキュメント) Inference Image Documentation (推論イメージのドキュメント) […]

Read More

Amazon SageMaker のトレーニングと推論の間でデータ処理コードの一貫性を確保する

このブログ記事では、推論パイプラインを紹介します。これは、推論リクエストごとに実行される一連の手順を指定できる、Amazon SageMaker の新機能です。この機能を使用すると、同じコードの 2 つの別のコピーを保持する必要なしで、推論中のトレーニングで適用されたデータ処理手順を再利用できます。これにより、予測が正確になり、開発のオーバーヘッドを削減できます。ここでの例では、Apache Spark MLlib で変換器を使用してトレーニングと推論の入力データを前処理し、Amazon SageMaker の XGBoost アルゴリズムを使用して自動車の状態を予測する機械学習モデルをトレーニングします。 概要 データサイエンティストや開発者は、機械学習 (ML) モデルをトレーニングする前に、データのクリーニングと準備に多くの時間を費やしています。これは、現実のデータを直接使用することができないためです。値が欠落していたり、情報が重複していたり、標準化する必要がある同じ情報の複数のバリエーションがあったりするからです。さらに多くの場合、機械学習アルゴリズムで使用できるために、データをある形式から別の形式に変換する必要があります。たとえば、XGBoost アルゴリズムは数値データしか受け入れないため、入力データが文字列またはカテゴリ形式の場合は、使用する前に数値形式に変換する必要があります。他には、複数の入力の特徴を単一の特徴に組み合わせることで、より正確な機械学習モデルとなります。たとえば、気温と湿度を組み合わせて飛行遅延を予測すると、より正確なモデルが作成されます。 機械学習モデルを本稼働にデプロイして新しいデータを予測する場合 (推論と呼ばれるプロセス)、トレーニングで使用されたのと同じデータ処理手順がそれぞれの推論リクエストにも適用されるようにする必要があります。そうしないと、誤った予測結果となる可能性があります。今までは、トレーニングと推論に使用するために同じデータ処理手順の 2 つのコピーを維持し、それらが常に同期していることを確認する必要がありました。また、データ処理手順を、機械学習モデルへのリクエストを行うアプリケーションコードと組み合わせるか、推論ロジックに組み込む必要がありました。その結果、開発のオーバーヘッドと複雑さが必要以上に高くなり、迅速に繰り返す能力が制限されていました。 現在は、Amazon SageMaker に推論パイプラインを作成することで、推論中のトレーニングと同じデータ処理手順を再利用できます。推論パイプラインを使用すると、最大 5 つのデータ処理および推論の手順を指定できます。これらの手順は、全ての予測リクエストに対して実行されます。トレーニングのデータ処理手順を再利用できるので、データ処理コードのコピーを 1 つだけ管理し、クライアントアプリケーションや推論ロジックを更新することなくデータ処理手順を個別に更新することができます。 Amazon SageMaker は、推論パイプラインの作成方法に柔軟性をもたらします。データ処理手順では、Scikit-Learn および Apache SparkMLlib で利用可能な組み込みのデータ変換器を使用して、一般的なユースケースのためにデータをある形式から別の形式に処理および変換するか、カスタムの変換器を作成することができます。推論では、Amazon SageMaker で利用可能な組み込みの機械学習アルゴリズムとフレームワークを使用することもできますし、カスタムのトレーニングモデルを使用することもできます。リアルタイム推論とバッチ推論で同じ推論パイプラインを使用できます。推論パイプラインのすべての手順が同じインスタンスで実行されるため、レイテンシーによる影響は最小限になります。 例 この例では、AWS Glue を使用するデータ処理に Apache Spark MLLib を使用し、推論中にデータ処理コードを再利用します。UCI の Machine Learning Repository の Car Evaluation データセットを使用します。目標は、unacc、acc、good、vgoodの値の中から、特定の車の容認可能性を予測することです。根本的には分類問題であり、Amazon SageMaker の組み込みの […]

Read More

Amazon SageMaker で、Scikit-Learn のサポートを追加

Amazon SageMaker は、Docker コンテナの Scikit-Learn Machine Learning ライブラリで事前に構成されています。Scikit-Learn は、一貫性のある Python インターフェイスと文書で十分に立証された API を使用して、データ分析や一般的な Machine Learning アルゴリズムを高品質で実装できる効率的なツールを提供するため、データサイエンティストや開発者にとって人気があります。Scikit-Learn はすばやく実行でき、ほとんどのデータセットや問題に対応できるため、Machine Learning 問題をすばやく繰り返さなくてはならない場合に最適です。TensorFlow や MxNet などの深層学習フレームワークとは異なり、Scikit-Learn は Machine Learning やデータ分析に使用されます。クラスタリング、回帰、分類、次元削減、機能の前処理、およびモデル選択に関して、指導付き学習アルゴリズムと指導無し学習アルゴリズムの範囲から選択できます。 新しく追加された Scikit-Learn ライブラリは、Amazon SageMaker Python SDK で利用可能です。Scikit-Learn スクリプトを作成し、自動モデルチューニングを含む Amazon SageMaker のトレーニング機能を使用することができます。モデルのトレーニングを終えたら、Scikit-Learn モデルを高い可用性のエンドポイントにデプロイして、Auto Scaling して、低レイテンシーでリアルタイムでの予測を行うことができます。また、大規模なバッチ変換ジョブで同じモデルを使用することもできます。 このブログ記事では、Amazon SageMaker で事前に構築された Scikit-Learn ライブラリを使用して、マルチクラス分類モデルを構築、トレーニング、およびデプロイする方法を説明します。 Scikit-Learn モデルのトレーニングとデプロイ この例では、IRIS データセットの決定木分類子をトレーニングします。この例は Scikit-Learn 決定木分類子の例に基づいています。完全な Amazon SageMaker ノートブックをお試しいただけます。ここでは最も重要な部分を強調します。このデータセットは、異なる 3 […]

Read More

Amazon SageMaker Ground Truth でラベル付けしたデータセットを使用して、モデルを簡単にトレーニングする

 データサイエンティストや開発者は、Amazon SageMaker Ground Truth でラベル付けされたデータセットによって機械学習モデルを簡単にトレーニングすることができます。Amazon SageMaker のトレーニングは、AWS マネジメントコンソールと Amazon SageMaker Python SDK API の両方を通じた入力として拡張マニフェスト形式で作成されたラベル付きデータセットを受け入れるようになりました。 先月の AWS re:Invent の期間中に、人間のラベル付け作業者のパブリックワークフォースならびにプライベートワークフォースを支援する機械学習を使用して、ラベル作成コストを最大 70% 節約し、正確なトレーニングデータセットを構築できる Amazon SageMaker Ground Truth を開始しました。ラベル付きデータセットは、それぞれの入力データセットオブジェクトを、ラベルなどの追加のメタデータを使用してファイル内でインライン展開する拡張マニフェストファイル形式で作成されます。以前は、拡張されたデータセットでモデルをトレーニングするために、低レベルの AWS SDK API しか使用できませんでした。本日から、Amazon SageMaker コンソールですばやく簡単に数回クリックするか、ハイレベルの Amazon SageMaker Python SDK を使用して 1 行の API をコールすることで、そうしたトレーニングをすばやく簡単に実行できるようになります。 さらに、 モデルを Amazon SageMaker のパイプモードを使用してトレーニングすることができます。このモードは、Amazon Simple Storage Service (S3) から Amazon SageMaker にデータがストリーミングされる速度を大幅に高速化するので、トレーニングジョブが早く始まり、素早く完了し、 Amazon […]

Read More

Amazon SageMaker の自動モデルチューニングで、トレーニングジョブの早期停止がサポートされるようになりました

2018 年 6 月、Amazon SageMaker 自動モデルチューニングを開始しました。このモデルは、Machine Learning モデルをトレーニングする高性能ハイパーパラメータを自動的に検出する機能です。トレーニング中に学習されたモデルパラメータとは異なり、学習プロセスが開始される前にハイパーパラメータが設定されます。ハイパーパラメータの典型的な使用例としては、確率勾配法の確率を学習する場合があります。デフォルトのハイパーパラメータを使用しても、必ずしも最良のモデルパフォーマンスが得られるわけではなく、高性能ハイパーパラメータを見つける作業は、些細で時間がかかります。自動モデルチューニングを使用すると、Amazon SageMaker は自動的に高性能ハイパーパラメータを見つけ、モデルをトレーニングして、目標メトリクスを最大化します。 構成できるハイパーパラメータの数は、探索中のハイパーパラメータ数の指数関数にあたります。この検索スペースを単純に探索するには、多数のトレーニングジョブが必要となるため、コストが高くなります。この問題を克服するために、Amazon SageMaker はベイズ最適化を使用します。これは、少数のトレーニングジョブに基づいて、異なるハイパーパラメータのパフォーマンスを効率的にモデル化する戦略です。しかし、このアルゴリズムは、トレーニングの終わりには、以前の構成よりも著しく悪化することが判明したハイパーパラメータ構成を探索することがあります。 今日では、早期停止機能を自動モデルチューニングに追加しています。チューニングジョブを起動したときに早期停止することで、Amazon SageMaker は各候補モデルのトレーニング反復(「エポック」)ごとに目標メトリクスを追跡します。Amazon SageMaker は、これまでチューニングジョブで評価されていた以前の最良モデルより、各候補がどれだけ優れているかを評価します。早期停止により、価値のないモデルはすべての反復を完了する前に終了するため、時間を節約し、コストを最大 28 %削減します(アルゴリズムとデータセットによって異なります)。例えば、このブログ記事では Amazon SageMaker を使用した画像分類アルゴリズムによる早期停止を使用して、時間とコストを 23 %まで削減する方法を示します。 エポックごとに目標メトリクスを発信する場合、サポートされている Amazon SageMaker アルゴリズムの組み込みと独自のアルゴリズムを使用して、早期停止することができます。 早期停止を使用する画像分類モデルのチューニング 早期停止の活用方法を示すために、画像分類アルゴリズムの組み込みを使用して画像分類器を構築し、Caltech-256 データセットに対してモデルを調整します。2 つのハイパーパラメータチューニングジョブを実行します。片方は自動早期停止を使わず、もう一方は早期停止を有効にして、他の構成はすべて同じままです。次に、2 つのハイパーパラメータチューニングジョブの結果を終わり頃に比較します。完全なサンプルノートブックはこちらから参照できます。 早期停止なしで、ハイパーパラメータチューニングジョブを開始し起動する ノートブックインスタンスを作成し、データセットを準備し、Amazon S3 にプッシュする手順は省略します。サンプルノートブックがこれらのプロセスを含んでいるため、ここでは説明しません。代わりに、ハイパーパラメータチューニングジョブを開始するところから始めます。 チューニングジョブを作成するには、最初に組み込み画像分類アルゴリズム用のトレーニング推定器 (Estimator) を作成し、チューニングする予定のものを除いて、このアルゴリズムのすべてのハイパーパラメータの値を指定する必要があります。組み込み画像分類アルゴリズムのハイパーパラメータについての詳細は、こちらの文書 を参照してください。 s3_train_data = ‘s3://{}/{}/’.format(bucket, s3_train_key) s3_validation_data = ‘s3://{}/{}/’.format(bucket, s3_validation_key) s3_input_train = sagemaker.s3_input(s3_data=s3_train_data, content_type=’application/x-recordio’) s3_input_validation […]

Read More

Amazon SageMaker ランダムカットフォレストアルゴリズムを使用した Amazon DynamoDB ストリームでの異常検出

異常検出技術の導入を検討したことがありますか? 異常検出とは、分析しているデータの大部分と大きく異なるため信憑性にかける、あまり見かけないアイテム、イベント、あるいは観察を特定するために使用する手法です。  異常検出のアプリケーションは幅広い分野で利用されており、例えば、異常購入や銀行へのサイバー侵入の検出、MRI スキャンでの悪性腫瘍の発見、不正な保険請求の特定、製造時の異常な機械動作の発見、侵入を知らせるネットワークトラフィックの異常なパターンの検出などがあります。 こうしたアプリケーションには多くの市販品がありますが、Amazon SageMaker、AWS Glue、AWS Lambda を使えば、異常検出システムを簡単に実装することができます。Amazon SageMaker は、機械学習モデルの構築、トレーニング、デプロイを、規模を問わず迅速に行う完全マネージド型プラットフォームです。AWS Glue は、完全マネージド型の ETL サービスで、分析のためのデータやモデルの準備が簡単にできます。AWS Lambda は、普及しているサーバーレスのリアルタイムプラットフォームです。これらのサービスを使用すれば、モデルを新しいデータで自動的に更新することができ、その新しいモデルを使って、リアルタイムに異常をより正確に知らせることができます。 このブログ記事では、AWS Glue でデータを準備し、Amazon SageMaker で異常検出モデルをトレーニングする方法について説明します。今回のエクササイズでは、Numenta Anomaly Benchmark (NAB) ニューヨーク市タクシーデータのサンプルを Amazon DynamoDB に保存し、AWS Lambda 関数を用いてリアルタイムでストリーミングしています。 ここで説明するソリューションは、以下のような利点があります。 既存のリソースを最大限に活用して、異常検出を行います。例えば、災害対策 (DR) やその他の目的で Amazon DynamoDB Streams を使用したことがある場合、そのストリームのデータを異常検出に使用できます。加えて、スタンバイストレージは通常、使用率が低いものです。認識しにくいデータは、トレーニングデータに使用できます。 ユーザーの介入なしに、定期的に新しいデータでモデルを自動的に再トレーニングすることができます。 ランダムカットフォレストを組み込んだ Amazon SageMaker アルゴリズムを使えば、簡単に再トレーニングできます。Amazon SageMaker は、安全でスケーラブルな環境で、特定のワークフローに適応できる、柔軟な分散トレーニングオプションを提供します。 ソリューションのアーキテクチャ 次の図は、ソリューションの全体的なアーキテクチャを示しています。 アーキテクチャーにおけるデータ処理の手順は、次のとおりです。 ソース DynamoDB は変更を取得し、それらを DynamoDB ストリームに格納します。 AWS […]

Read More

Amazon SageMaker で、セマンティックセグメンテーションアルゴリズムが利用可能になりました

 Amazon SageMaker は、マネージド型で、無限に拡張可能な機械学習 (ML) プラットフォームです。このプラットフォームを使用すると、機械学習モデルの構築、トレーニング、デプロイが簡単になります。Amazon SageMaker には、画像分類と物体検出のための 2 つの定評があるコンピュータビジョンアルゴリズムがすでに組み込まれています。Amazon SageMaker の画像分類アルゴリズムは、画像をあらかじめ定義されたカテゴリのセットに分類することを学習します。Amazon SageMaker の物体検出アルゴリズムは、境界ボックスを描画し、ボックス内の物体を識別することを学習します。本日、Amazon SageMaker セマンティックセグメンテーションアルゴリズムの開始により、コンピュータビジョンファミリーのアルゴリズムを強化することを発表いたします。 Amazon SageMaker セマンティックセグメンテーションアルゴリズムの一例。PEXELS の Pixabay による写真。 セマンティックセグメンテーション (SS) とは、既知のラベルセットからのクラスを使用して画像内のすべてのピクセルを分類するタスクです。セグメンテーション出力は通常、異なる RGB (クラス数が 255 未満の場合はグレースケール) の値として表現されます。したがって、出力は、入力画像と同じ形状のマトリックス (またはグレースケール画像) です。この出力画像は、セグメンテーションマスクとも呼ばれます。Amazon SageMaker セマンティックセグメンテーションアルゴリズムを使用すると、独自のデータセットでモデルをトレーニングできることに加えて、事前にトレーニングされたモデルを使用して希望通りに初期化を行うこともできます。このアルゴリズムは、MXNet Gluon フレームワークと Gluon CV ツールキットを使用して構築されています。セマンティックセグメンテーションモデルを学習することができる、次の 3 つの最先端の組み込みアルゴリズムの選択肢を提供します。 fully-convolutional network (FCN) pyramid-scene-parsing network (PSP) DeepLab-V3 すべてのアルゴリズムに、2 つの異なるコンポーネントがあります。 エンコーダまたはバックボーン。 デコーダ。 バックボーンは、画像の特徴の信頼できるアクティブ化マップを作成するネットワークです。デコーダは、エンコードされたアクティブ化マップからセグメンテーションマスクを構築するネットワークです。Amazon SageMaker セマンティックセグメンテーションは、バックボーンのオプションとして、事前にトレーニングされた、またはランダムに初期化された ResNet50 または ResNet101 の選択肢を提供します。バックボーンには、元は ImageNet 分類タスクでトレーニングされた、事前トレーニング済みのアーティファクトが付属しています。これらは、ユーザーがセグメンテーションのために FCN […]

Read More

Amazon SageMaker ノートブックが Git 統合への対応開始により、持続性、コラボレーション、再現性を強化

Amazon SageMaker ノートブックインスタンスと GitHub、AWS CodeCommit、あらゆるセルフホスティング型 Git リポジトリとの関連付けが可能になり、Jupyter ノートブックでの簡単で安全なコラボレーションや確実なバージョンコントロールが実現できるようになりました。本ブログ記事では、Git ベースのバージョンコントロールシステムを使用することのメリット、および Git リポジトリで作業するためのノートブックインスタンスの設定方法について詳しく説明します。 データサイエンス分野のプロジェクトでは、コラボレーションが不可欠です。データサイエンティスト、機械学習の開発者、データエンジニア、アナリスト、ビジネスの意思決定権限者は、機械学習モデルのコンセプト作りから製品化にいたる合理的な行程を維持するために、インサイトの共有、タスクの委託、業務履歴のレビューが必要です。 Git ベースのバージョンコントロールシステムは、共有可能な環境でデータサイエンス活動を一元管理します。Git リポジトリと合わせて Jupyter ノートブックを使用することで、プロジェクトの共同起草、コード変更のトラッキング、リリース可能なコード管理を実現するソフトウェアエンジニアリングとデータサイエンス活動の融合が可能になります。 また、ノートブックインスタンス内のノートブックは、耐久性の高い Amazon Elastic Block Store (EBS) ボリュームに格納されます。ただし、ノートブック自体がノートブックインスタンスの寿命以上に存続することはありません。つまり、ノートブックインスタンスを削除すると、作業自体も削除されます。Git リポジトリ内にノートブックを格納すると、Jupyter ノートブックをインスタンスのライフサイクルから分離し、将来の参照や再利用に備えてスタンドアロンドキュメントとして保持できます。 さらに、機械学習および深層学習テクニックに関して一般に公開されているコンテンツの多数が、GitHub のような Git リポジトリ内にホスティングされた Jupyter ノートブック上で入手できます。このノートブックをユーザーのノートブックインスタンスにシームレスにクローニングすると、一般に公開済みの学習教材の検索、実行、共有が簡単になって、学習プロセスのスピードアップにつながります。 Git リポジトリを Amazon SageMaker ノートブックインスタンスに関連付ける方法は 2 つあります。 パブリックな Git リポジトリのクローンを作成したい場合は、ノートブックインスタンスを作成する際に当該リポジトリの URL を用意するだけです。認証情報は特に必要ありません。Amazon SageMaker が、Git リポジトリをクローンしたインスタンスを起動します。 認証情報や個人用アクセストークンを要するプライベート Git リポジトリを関連付けたい場合や、将来の利用に備えてパブリック Git リポジトリ情報を格納したい場合は、まずこの Git リポジトリをユーザーの Amazon SageMaker アカウントにリソースとして追加する必要があります。認証を要する Git […]

Read More

Amazon SageMaker に機械学習実験を加速する新機能が登場

データサイエンティストおよび開発者は、Amazon SageMaker Search で機械学習 (ML) モデルトレーニングの実験を、素早く簡単に整理、追跡、評価できるようになりました。当社が導入する新しい Amazon SageMaker Search 機能を使用すると、Amazon SageMaker の数百から数千に及ぶモデルトレーニングジョブの中から、最も関連性の高いモデルトレーニング実行を発見して評価することができます。これにより、モデルの開発と実験のフェーズをスピードアップし、データサイエンティストと開発者の生産性を高め、機械学習ベースのソリューションを市場に投入するまでの全体的な時間を短縮できます。AWS マネジメントコンソールと AWS SDK API for Amazon SageMaker の両方で、新しい検索機能のベータ版を利用できます。新機能のベータ版は、現在 Amazon SageMaker の利用が可能な 13 の AWS リージョンで、追加料金なしで提供されています。 機械学習モデルを開発するには、継続的な実験と観察が必要です。たとえば、新しい学習アルゴリズムを試したり、モデルのハイパーパラメータをチューニングしたりする場合、そのような増分変更がモデルのパフォーマンスと精度に及ぼす影響を観察する必要があります。この反復型最適化の訓練は、数百のモデルトレーニング実験とモデルバージョンでデータ爆発を招くことがよくあります。それにより、「成功した」モデルの収束と発見が遅くなる可能性があります。また、情報の爆発が起こると、本番環境にデプロイされたモデルバージョンの先行モデルを遡って追跡するのにも手間がかかります。このようなモデル系統の追跡の難しさは、モデルの監査やコンプライアンスの検証、モデルのライブ予測パフォーマンスの低下原因のデバッグ、新しいモデルの再トレーニング実験の設定などを行う妨げとなります。 Amazon SageMaker Search を使用すれば、ビジネスユースケースに対応するうえで最も関連性の高いモデルトレーニング実行を迅速に特定できます。採用された学習アルゴリズム、ハイパーパラメータ設定、使用されているトレーニングデータセット、さらにはモデルトレーニングジョブに自分で追加しておいたタグなど、あらゆる定義属性を検索できます。タグを検索すると、特定のビジネスプロジェクト、研究ラボ、データサイエンスチームに関連付けられたモデルトレーニング実行をすばやく見つけられます。これは、モデルトレーニング実行をわかりやすく分類してカタログ化するのに役立ちます。関連するモデルトレーニング実行を 1 か所で集中的に追跡および整理できるだけでなく、トレーニングの損失や検証の精度などのパフォーマンス指標に基づいて、トレーニング実行をすばやく比較してランク付けできます。これにより、「成功した」モデルを選んで本番環境にデプロイするためのスコアボードを作成することができます。さらに、Amazon SageMaker Search では、ライブ環境にデプロイされたモデルの系統を迅速に追跡して、モデルのトレーニングや検証に使用されたデータセットまで遡ることができます。AWS マネジメントコンソールで 1 回クリックするか、または 1 行の簡単な API 呼び出しを実行するだけで、特定のトレーニング実行にアクセスして、最初のモデル作成時に組み込まれたすべての要素まで参照できるようになったのです。 次に、Amazon SageMaker Search を使用してモデルトレーニング実験を効率的に管理する方法を、手順に沿って紹介します。この新機能はベータ版で提供されているため、本番環境では注意してご使用ください。 Amazon SageMaker Search によるモデルトレーニング実験の整理、追跡、評価 以下の例では、Amazon SageMaker 線形学習アルゴリズムを使用して、MNIST […]

Read More

Amazon SageMaker RL – Amazon SageMakerを使ったマネージドな強化学習

この数年、機械学習はたくさんの興奮をもたらしました。実際、医療画像分析 から自動運転トラックまで、複雑なタスクを機械学習によって成功させ、成長を遂げてきました。それにしても、どうやってこれらの機械学習モデルは賢くなっているのでしょうか? 端的には、機械学習のモデルは、以下の3つのいずれかの方法で学習されています。 教師あり学習:ラベル付きのデータセット(サンプルと答えを含む)を使って学習を実行します。徐々にモデルは学習し、正しい解を予測をするようになります。回帰と分類などが、教師あり学習の例として挙げられます。 教師なし学習: ラベルのないデータセット(サンプルのみを含む)を使ってアルゴリズムを実行します。ここでは、モデルはデータ中のパターンを徐々に学習し、それに応じてサンプルを編集します。クラスタリングやトピックモデリングなどが、教師なし学習の例として挙げられます。 強化学習: これは上の二つとはとても異なっています。ここでは、コンピュータープログラム(エージェントを指す)は環境と相互作用し、ほとんどの場合、これはシミュレータの中で行われます。エージェントは行動に応じて正または負の報酬を得ますが、報酬は、その行動がどれぐらい良いのかを表す数値表現を出力するユーザー定義関数によって計算されます。生の報酬を最大化することで、エージェントは最適な意思決定の戦略を学ぶことができます。

Read More