先日Azure ML(Machine Learning)を使って機械学習の勉強をしてみたら、思いのほか楽しかったので記事でまとめてみた。このページでは、Azure MLシリーズの一つの機能である、ドラッグ アンド ドロップで機械学習のフローを構築できるAzure MLデザイナーの使い方とメリットについて説明する。こんな感じで機械学習のフローを作れます。
Azure ML(Machine Learning)とは
私もあまり知らなかったので、まずAzure MLについて説明する。
Azure MLとは、クラウドサービスであるAzureの一つのサービス名称。Azure MLは名前の通り機械学習についてのサービスを提供している。
Azure MLがブランド名で、その中にファミリー(シリーズ)があるイメージで覚えておこう。サービス群をまとめるとこんな感じ。このページでは特にデザイナーについて使ってみた感想を書く。
Azure ML ワークスペースとスタジオがあるのでややこしい。とにかくAzure MLの中に、Jupyter NoteBookもあるし、デザイナーもあるし、ラベル付け機能もある。
ワークスペースとスタジオのホーム画面を横に並べるとこんな感じ。とにかく、別物という認識を持とう!そして、このページでは右側画面のデザイナーについて説明する。
Azure MLを作る時、選択するエディション(BASICかENTERPRISEか)によって使える機能に差があるので注意。デザイナーはENTERPRISE版でのみ使える機能だ。
マニュアルはこちら。公式ドキュメントに概要がまとまっている。
Azure公式ドキュメント:
https://docs.microsoft.com/ja-jp/azure/machine-learning/
https://docs.microsoft.com/ja-jp/azure/machine-learning/overview-what-is-azure-ml
https://azure.microsoft.com/ja-jp/pricing/details/machine-learning/
最初に費用感を確認しておこう
目安として軽めの汎用スペックを使って機械学習をする場合、1時間で大体1000~3000円くらいかかる。
クラウドサービスってほかにも費用が掛かるから、時間当たりの費用はもっと掛かると予想。今回チュートリアルをやってみて大体1時間くらいだったから、そうなると個人で使う分には結構な出費だなー。
会社で使うとしても、1時間で完了する仕事なんてないだろうから、Azure MLを使う場合は事前に費用の予測を立てた方が良いかな。と思ったら、Azureの公式サイトの画面に“企業向け”って書いてあった。てことは企業向けの値段設定なのね。
費用感について詳しくは公式ページを参照。
Azure公式ドキュメント:
https://azure.microsoft.com/ja-jp/pricing/details/machine-learning/
Azure MLデザイナーを使い始めるまでの流れ
流れはこんな感じ。
- Azure ML サービス(ワークスペース)の立ち上げ
- Azure ML スタジオの立ち上げ
- デザイナーのチュートリアル実施(ドラッグ アンド ドロップでフローを構築)
Azure ML サービス(ワークスペース)の立ち上げ
こんな感じでまずAzureポータル上で、”ML”と検索して、Machine Learningを選択する。そして、Azure MLのワークスペースを作る。あとからエディションは変更できるけど、ENTERPRISEエディションじゃないとデザイナーは使えないので注意。
Azure ML スタジオの立ち上げ
画面の通り、新しいAzure Machine Learning Studioを今すぐ起動する。つまり、Azure MLスタジオを起動するには、最初にAzure ML ワークスペースにログイン(画面遷移)することになる。
デザイナーのチュートリアル実施(ドラッグ アンド ドロップでフローを構築)
こちらのページを参考にチュートリアルを実施した。線形回帰モデルを使って、自動車の価格(Price)を予想できる。
https://docs.microsoft.com/ja-jp/azure/machine-learning/tutorial-designer-automobile-price-train-score
左側にある処理のボックスをドラッグアンドドロップで画面中央のスペースに置いていく。そして、画面中央でマウスを使って処理ボックスをつないでいく。そうすると、画面のように処理フローが出来上がる。
処理を実行する場合は、赤枠のようにコンピューティングを選択しないといけない。
新規作成で、軽めの汎用マシーンを選択した。
実行ボタンを押すと、今度は実行のセットアップとして処理の名前をつけないと次に進まない。今回はテストなので、適当に「test」と付けた。
実行されるときに、画面の赤枠を注目してほしい。処理が実行されている場所は、灰色の時計のマークが出ている。このマークによってどこの処理が今進んでいるのか、完了したのかが分かる。緑の✔印が完了を示している。
処理が終わると、「実行が完了しました。」と右上にメッセージが出力される。処理に掛かった時間も分かる。今回の回帰分析は約15分で完了した。
結果を見るには、赤枠「Score Model」の処理ボックスを押して、出力→視覚化を選択する。
画面の通り、値が予測されている。
次に、「Evaluate Model」も同様に視覚化してみる。
統計の結果を確認することができる。
ポイント
ここまで、機械学習、統計学、コーディングの知識は不要だった。ドラッグアンドドロップで簡単に線形回帰分析モデルを使ってサンプルデータから値を予測することができた。
ちなみに、ここまで手動でフローを作ってみたが、スタジオのホームにすでにサンプルが存在するので、時間が無い人はそちらを使ってみてください。
Azure ML スタジオを使ってみて感じたメリット
個人的には、文字だけの勉強から解放されることがメリットとして上げられる。機械学習の初心者にとってすごく便利で勉強になる。機械学習を勉強しはじめると文字だらけで、用語もわからないし、今何をやっているのか分からなくなる時がある。
でも、ML スタジオだと視覚的に頭に入ってくる。さらに、良いなと思ったのが、どこまで処理が進んだか見えること。さきほどの画面のような、処理の流れを頭の中にイメージできるようになることがメリットかな。
Azure ML スタジオを使ってみて感じた惜しいところ
逆に惜しいところは、まだサービスが完全日本語対応おらず、用語に英語が多い点。英語だと機械学習の用語理解がさらに難しくなる。日本語の機械学習用語を覚えるときに、英語も一緒に覚えておかないといけない。
例えば、線形回帰は英語では、Linear regressionというようにある程度英語の用語を覚えておかないと使いこなせない。企業向けなので、そこらへんはクリアしている人が使うだろうという前提なのかな。
まとめ
ポイント
機械学習の初心者で、フローをビジュアル化して勉強したい人にはおすすめ!
1、2回触れば、頭の中に、機械学習のフローがビジュアルとして入ってくるのでそれがAzure ML スタジオのデザイナーを使う最大のメリット。
逆に言えば現時点ではそれ以外、優先的に使うメリット少ないと思う。
あと、Azureは、Microsoftのコミュニティやgitを使って自分で作ったプロジェクトを共有できる仕組みがあるので、そういったことが好きな人はぜひ使ってみてください。
ほかにも、機械学習のおすすめの勉強方法はこちら。