クラウドエンジニアブログ

Azure ML Studioを使いこなすために

human05

安藤 由貴

はじめに

以前、別の記事にて Azure Machine Learning Studio(以下、Azure ML Studio)と Azure ML Services の紹介をさせていただきました。今回は Azure ML Studio を今後使いこなしていただくために、Azure ML Studio 構成について、以前の記事より少し踏み込んでご紹介します。

Azure ML Studio とは

まずは、Azure ML Studio とはどのようなものなのかについてご説明していきましょう。Azure ML Studio とは、Microsoft が提供する機械学習システムを構築するためのサービスで、「データの収集、モデル構築、モデルデプロイ」までを一気通貫に行うことが可能です。

Azure ML Studio を使用するメリットとしては、以下の4つが挙げられます。

  • 直感的な UI で簡単にモデル構築を行える
  • 豊富なアルゴリズムを使用できる
  • 各種 Azure サービスとの連携が容易に行える
  • スモールスタートで機械学習を行うことが可能である

直感的な UI で簡単にモデル構築を行える

Azure ML Studio では、様々なアルゴリズムや前処理を「モジュール」とよばれるパーツをドラッグ&ドロップし、モジュール同士を線でつなぐことにより、難しいコーディングをせずとも簡単にモデルを構築することが可能です。この点が開発のスピードアップにもつながっていると感じています。

モジュール同士を線でつなぐ

豊富なアルゴリズムを使用できる

Azure ML Studioには、回帰や2クラス分類、多クラス分類、異常検出など使用できるアルゴリズムが20種類もあり、これらはモジュールとなっているので、使い方も簡単です。どのアルゴリズムを使用していいかわからない場合は Machine Learning アルゴリズムチートシートも用意されているので、こちらを参考にしてみるのもよいでしょう。

各種 Azure サービスとの連携が容易に行える

Azure ML Studio は Microsoft Azure の一機能なので、ローカルからデータをアップロードする以外にも、SQL Database や SQL Server、BLOB Storage 等様々な Azure サービスをデータの入力先や出力先として直接指定することができ、連携が簡単に行えます。

スモールスタートで機械学習を行うことが可能である

Azure ML Studio は従量課金のため大規模な初期投資は不要です。そのため、スモールスタートで機械学習を実施することが可能になります。

これらの特徴により、Azure ML Studio は機械学習初心者でも使いやすく、導入のハードルが低いサービスといえるでしょう。

Azure ML Studio の構成

Azure ML Studio にサインインすると、ワークスペースと呼ばれる機械学習を実際に行う作業場所が表示されます。ワークスペースにはタブが7つ存在しており、ここでは7つのタブのそれぞれの機能についてご紹介していきます。まず、7つのタブの関係性は以下の図のような形になります。

7つのタブの関係性

PROJECTS

後述する各タブにて管理されているエクスペリメントや学習モデル、ノートブック、データセットなどのリソースをひとつにまとめて「プロジェクト」として管理することができる機能です。機械学習を行うプロジェクトが複数ある場合や、1つのワークスペースを複数人が利用する場合などに用いると便利です。

EXPERIMENTS

エクスペリメントを簡単に説明すると、入力から予測や分類の結果出力までの一連の処理の流れを示したものです。EXPERIMENTS では、エクスペリメントを新たに作成したり、今までに作成したエクスペリメントを確認・修正したりすることができます。
後述する DATASETS にてアップロードしたデータセットや、データセットをインポートするためのモジュール、アルゴリズム、前処理・可視化等のためのモジュールをドラッグ&ドロップすることにより、モデルを構築することができます。

正しく動くエクスペリメントの条件の例は下記となります。

  • 少なくとも1つのデータセットとモジュールが存在する
  • データセットがモジュールに接続されている
  • モジュールのすべての入力ポートが、データフローに接続されている
  • モジュールの必須パラメータがすべて設定されている

WEB SERVICES

エクスペリメントで発行したウェブサービス(Web API)が保存されています。発行したウェブサービスを選択すると、Web API を利用するために必要な情報を確認することができます。

また、処理の方法には以下の2種類があります。

  • リクエスト/レスポンス処理
    -予測に必要な入力データを JSON 形式で与えると、予測結果を JSON で返却する API を作成できます。
  • バッチ処理
    -時間がかかる学習や予測の処理を外部から実行することが可能です。バッチ処理の進捗状況は随時確認することができます。

NOTEBOOKS

ドキュメントを記述する機能です。Jupyter Notebook を使用し、R や Python での分析を行うことができます。

DATASETS

データをアップロードしたり、アップロードしたデータを管理したりできる場所です。データを Azure ML Studio にアップロードすることで、これらのデータセットをエクスペリメントで使用することができます。また、データ形式は CSV 形式や TSV 形式をはじめ、様々なデータをデータセットとして扱えます。詳細については下記 URL を参照ください。

TRAINED MODELS

エクスペリメントでトレーニングをし、保存した学習済みのモデルを管理する場所です。ここに登録された学習済みモデルは、エクスペリメントにてモジュールとして使用することが可能です。

SETTINGS

ワークスペース名や、ユーザー権限等、アカウントとリソースを構成するための各種設定項目がまとめられています。


最後に、これらの構成を踏まえて Azure ML Studio でモデルをデプロイするまでの流れをご紹介しておきます。

▼ Azure ML studio でモデルをデプロイする際の流れ

  1. DATASETS もしくはエクスペリメントにてデータセットのアップロード・インポート
  2. エクスペリメントにて、機械学習モデルの作成と学習
  3. 学習済みモデルの保存
  4. 学習済みモデルを用いて予測用のエクスペリメントを作成
  5. エクスペリメントにて、モデルをデプロイ

おわりに

今回は、Azure ML Studio の構成についてご紹介しました。今後の記事では Azure ML Studio の具体的な使い方や、その際の Tips 等についてご紹介していく予定ですが、Azure AI Gallery という Microsoft のサイトにも、機械のメンテナンス時期の予測や小売予測等、Azure ML Studio を利用したモデル構築の事例が数多く掲載されています。こちらも参考にして実際に使用してみると、より理解が深まると思います。



次回予告
  • Microsoft Flow の紹介



【総合】お問い合わせ

ソリューションに関する全般的なお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録