Azure Machine Learningを使おうと思った時、どのように始めたらいいかや使い方がわからない人も多いと思います。
今回はそんな方に向けてAzure Machine Learningの始め方や使い方、どんなサービスなのかまで解説していきます。
Azure Machine Learningについて詳しく知りたい方はぜひ参考にしてください。
Azure Machine Learning Studio(classic)とは?
Azure Machine Learning Studio(classic)(以下、Azure ML Studio)は、通常AIを開発する際に必要となるPythonなどのプログラミング言語を知らなくてもAI開発が行える、Microsoft社から提供されているクラウドサービスです。※2024年8月31日に廃止されます。
プログラミングが不要なGUIベースで、マウスのドラッグ&ドロップの簡単な操作でAIを作成することができます。
多くのサンプルモデルも入っていますので、多くの専門知識を知らなくても分類モデルや数値予測モデルの作成を簡単に行え、業務で自社独自のAIを作成して活用できるサービスです。
AIを作成する際には、Pythonを利用したプログラミングが必要であったり、機械学習のアルゴリズムを理解する必要があるなど、技術的なハードルが高い側面があります。
Azure ML Studioを使うと、ノープログラミングでAIを構築することができます。
Azure Machine Learningとの違い
「Azure ML Studio」と、「Azure Machine Learning」というサービスは、別のサービスとして存在しています。
2020年末頃に、ほとんどのAzure ML studioの機能が、Azure Machine Learning designerというサービスに移行しているため、今後はAzure Machine Learning designerの開発が活発になっていくものと見られます。
また、AzureML Studioのサポートも2024年に終了するので、今のうちにAzure Machine Learning designerに移動しておきましょう。
Azure ML Studioのスペックまとめ
価格 | 無料~数百万円 |
インストール環境 | クラウド |
データ準備 | ファイル読み込み、外れ値処理、正規化、データ分割等 |
モデリング | クラス分類、回帰、クラスタリング、異常検知 |
デプロイ | API発行、Excel連携 |
Azure ML Studioの主な特徴まとめ
Azure ML Studioの主な特徴について解説します。
- 簡単なドラッグ&ドロップの操作で、機械学習モデルを作成できる
- データ可視化や前処理が行える
- 学習済みモデルのデプロイが容易で、システムに組み込みやすい
①簡単なドラッグ&ドロップの操作で、機械学習モデルを作成できる
「モジュール」と呼ばれる、処理をまとめたブロックをドラッグ&ドロップで接続していくことで、データの読み込みからデータの前処理、様々な機械学習アルゴリズムを比較して学習の実験を行うことができます。
AIに学習させる際に、人が設定して調整する細かなパラメータであるハイパーパラメータの調整もできるため、ソフトにおまかせではなく様々な試行錯誤をしながら学習モデルを作成することができます。
②データ可視化や前処理が行える
入力したデータの可視化や、様々なフィルターの適用、データの結合、欠損値の削除、正規化、次元削減など、様々なデータ前処理を行うことができます。
AIを開発する際に、このデータの前処理に7割~9割の時間が割かれると言われていますので、この処理がドラッグ&ドロップでできることは非常にメリットがあります。
これらの前処理をするためのプログラムを作成するのに比較して、時間を大幅に削減できます。
③学習済みモデルのデプロイが容易で、システムに組み込みやすい
Azure ML Studioでは、学習済みのAIモデルをWEBサービスとしてデプロイし、活用することができます。
簡単な操作でデプロイし、WEB API URLと、API Keyを取得することで、簡単に本番環境への適用ができます。
Azure ML Studioの主な機能まとめ
Azure ML Studioの主な機能について解説します。
- 様々なサンプルモデル
- データの特徴の確認
- モジュールを使用した機械学習モデルの作成
- WEB APIの発行
①様々なサンプルモデル
約90に及ぶサンプルモデルにより、機械学習を初めて行う方でもチュートリアルを進めながら理解を進めることができます。
ただし、内容はすべて英語であるため、文章を読解する程度の英語力が必要となります。
②データの特徴の確認
インポートしたデータのヒストグラム表示などで、データを分析することができます。
③モジュールを使用した機械学習モデルの作成
データの前処理から機械学習アルゴリズムの選定等、すべての機能は「モジュール」と呼ばれるブロックに格納されています。
ドラッグ&ドロップの簡単な操作でモジュールをつなぐことで、ビジュアルプログラミングを行うことができます。
機械学習アルゴリズムは、クラス分類、回帰、クラスタリング、異常検知など、多くのアルゴリズムを使用できます。
④WEB APIの発行
簡単な操作でWEB APIを発行することができます。
発行されるURLとKeyを使用するための、C#、Python、Rのサンプルコードも自動的に作成されるため、本番運用をする際のシステム組み込みも容易にできます。
また、Excelとの連携もできるため、手軽に本番利用できる環境を構築できます。
Azure ML Studioの価格と購入方法
Azure ML Studioを使用するためには、無料版の他にStandard版の用意があります。
Standard版では無料版のモジュール最大数や記憶域スペースの制限がなくなります。
Studio 価格
無料 | Standard | |
料金 | 無料 | $9.99/ML Studio ワークスペース/月 |
$1/Studio 実行時間 | ||
Azure サブスクリプション | 不要 | 必須 |
実験ごとのモジュールの最大数 | 100 | 無制限 |
最大実験時間 | 実験ごとに 1 時間 | 実験ごとに最大 7 日間、 モジュールごとに最大 24 時間 |
最大の記憶域スペース | 10 GB | 無制限 – BYO |
オンプレミス SQL からの データ読み取り プレビュー | いいえ | はい |
実行/パフォーマンス | 単一ノード | 複数のノード |
実稼働 Web API | いいえ | はい |
SLA | いいえ | はい |
また、実運用の際には、クラウド上にアップロードされた学習済モデルを使用することになります。
このWeb APIを利用する際に下記の料金が発生します。
実稼働 Web API の価格
開発/テスト* | Standard S1 | Standard S2 | Standard S3 | |
レベル別の価格/月 | ¥0 | $100.13 | $1,000.16 | $9,999.98 |
機能 | ||||
トランザクションの無料分 (月単位) | 1,000 | 100,000 | 2,000,000 | 50,000,000 |
コンピューティング時間の無料分 (月単位) | 2 | 25 | 500 | 12,500 |
Web サービスの合計数1 | 2 | 10 | 100 | 500 |
超過料金 | 該当なし | $0.50/1,000 トランザクション | $0.25/1,000 トランザクション | $0.10/1,000 トランザクション |
$2/API コンピューティング時間 | $1.50/API コンピューティング時間 | $1/API コンピューティング時間 |
日本でAzure ML Studioを購入するためには、Microsoft社のwebサイトから問い合わせを行うか、販売代理店から購入できます。ただし、Azure ML Studioは、Azure Machine Learning designerに移行されていっていますので、designerを購入するほうがおすすめです。
AzureML Studioを無料で使う方法
Azure ML Studioは有償のサービスですが、無料版が用意されています。無料版は機能が制限されているものの、機械学習を試す範囲では十分に使用できるものですので、是非気軽に登録して利用してみていただくことをおすすめします。
Azure ML Studioの無料体験版は、下記のURLで登録ができます。
無料で使用するための登録方法はこちらのページ(https://ai-kenkyujo.com/singup/)にまとめていますので登録してみてください。
Microsoftアカウントの登録のみですので、数分もあれば登録できてしまいますし、Microsoftアカウントをお持ちの方はサインインするだけで使用できます。
Azure ML Studioの使い方
サインインをした画面がこちらです。
左に並んでいるのが「ワークスペースタブ」で、主に使用するのは入力データを管理する「DATASETS」と、実際に機械学習モデルの試行錯誤をするための「EXPERIMENTS」です。日本語だと「実験」という意味になり、様々なデータ前処理や機械学習モデルの試行錯誤をする項目になります。
「DATASETS」では、自社のCSVデータなどをアップロードすることができます。
左下の「+NEW」からデータをアップロードすることができます。
今回は、あらかじめAzure ML Studioに含まれるサンプルデータセットを使用して試してみますので、「DATASETS」は使用せずに「EXPERIMENTS」からスタートします。
ワークメニューから「EXPERIMENTS」をクリックして、「+ NEW」をクリックします。
「Blank Experiments」をクリックすることで、新規実験キャンパスで空白のデータを作成します。
画面左のモジュールパレットから[Saved Datasets]-[Samples]-[ MNIST Train 60k 28×28 dense]と、[ MNIST Test 10k 28×28 dense]を実験キャンバスにドラッグします。
Samplesの中には、一般的に機械学習で使用されるデータセットが格納されています。
その中でも今回使用するMNISTは、機械学習でよく使用されるデータセットで、0~9までの手書きの数字(28×28ピクセル)が、学習データに60,000枚、テストデータに10,000枚格納されています。
続いて、学習させるための訓練モデルを用意します。
モジュールパレットから[Machine Learning]-[Train]-[Train Model]を実験キャンバスにドラッグし、[MNIST Train 60k 28×28 dense]の緑色の丸いマーク(緑色の○)と[Train Model]をドラッグ&ドロップでつなぎます。
[Train Model]をクリックして、プロパティの[Launch Column Selector]をクリックし、ラベルを選択します。ラベルとは、今回のモデルで予測したい対象で、トレーニングデータの中に人がつけた正解ラベル列を選択します。
モジュールパレットから[Machine Learning]-[Initialize Model]-[Classification]-[Multiclass Neural Network]を実験キャンバスにドラッグし、 [Train Model] とつなぎます。
Initialize Modelには、様々な機械学習アルゴリズムが格納されています。
右に表示されているのは、ニューラルネットワークのハイパーパラメータ(人が調整できるパラメータ)です。
モジュールパレットから[Machine Learning]-[Score]-[Score Model]を実験キャンバスにドラッグし、 [Train Model] と[MNIST Test 10k 28×28 dense]につなぎます。Score Modelは、学習が完了した学習モデル(Trained Model)を利用して、テストデータに対しての予測精度をテストし、汎化性能を確かめるモジュールです。
モジュールパレットから[Machine Learning]-[Evaluate]-[Evaluate Model]を実験キャンバスにドラッグし、 [Score Model] とつなぎます。
Evaluate Modelは、学習モデルの精度を評価するモジュールです。
設定ができましたら、画面の下にある[RUN]をクリックすることで学習がスタートします。
学習が完了すると、すべてのモジュールに緑色のチェックマークが付きます。
結果を確認してみましょう。
実験キャンバス内の[Train Model]下にある丸いマーク(○)を右クリックするとポップアップメニューが表示されます。ポップアップメニューの中から「Visualize」をクリックします。
表示されるのは、混同行列(Confusion Matrix)と呼ばれる表で、左側のActual Classが正解のラベル、上側のPredicted Classが予測されたラベルを表しています。
0という数字が正解の画像に対して、0と予測できたのが98.8%、0.2%は0という数字を2と誤判定した、という意味になります。
精度が悪い際は、元のデータに対しての前処理を変更したり、ハイパーパラメータを調整することで精度の高いモデルを作成することができます。
Azure ML Studioの高度な機能・便利な機能
顧客データや売上データなどの、企業でお持ちの様々なデータは、そのまま入力しても良い精度を出すことができない場合があります。
AIは万能ではなく、Garbage in garbage out = ゴミのようなデータを入れたらゴミのような結果しか出ないという言葉があるくらい、元データが整理されているか、予測する対象に対してノイズのようなものが混じっていないかによって結果が大きく異なることになります。
そのため、企業で蓄積されているデータに対する前処理が非常に重要になります。
「Data Transformation」は、機械学習をするための学習データ(教師データ)に対する前処理をするためのモジュールが含まれており、前処理の作業を簡単に行うことができます。
例えば、値が含まれておらず空白となっている箇所に対して削除処理などを行えるClean Missing Dataや、重複している行を削除するRemove Duplicate Rowsなど、様々な前処理を行えます。
この機能を活用することで、より精度の高いAIの学習モデルを作成できるようになります。
Azure Machine Learningについてまとめ
今回はAzure Machine Learningとはどんなサービスなのか、始め方や使い方について解説しましたがいかがでしょうか。
プログラミングをせずにAI開発ができる素敵なサービスなので、ぜひこの機会に始めてみてください。