CLR/H #109で登壇した内容です。
なるほどわかった!Azure Notebooks + Azure Machine Learning で機械学習を体験しようの話不破 崇行
View Slide
撮影について• 全部OKです。• 私はフリー素材です。• ただし、他の人が入り込む際にはご配慮をお願いします。
自己紹介• 名前• 不破 崇行(ふわ たかゆき)• JAZUG札幌(きたあず) / Azureもくもく会札幌の宴会係• 仕事• 昼は普通の正社員、夜は個人事業主• 好きなAzureサービス• AppService / Monitor / Application Gateway• 最近の趣味• AWS / Azure / 航空無線 / シメパフェ
今日のお話について• それぞれのサービス説明• Azure Notebooks• Azure Machine Learning• Azure Notebooks + Azure Machine Learningで何が出来る???
今日伝えたい事• Azure Notebooksで、「どこでも」Jupyter Notebookを立ち上げられる• Azure NotebooksとAzure Machine Learningを使えば、お手軽に機械学習を体験できる
そもそもAzureって何?
Azure(あじゅーる)とは• 正式名称「Microsoft Azure」• イタリア語で「紺碧」(こんぺき)• 青空をイメージしてください• MSが提供しているパブリッククラウドサービス• 仮想マシンの構築やサーバレスアプリケーションの構築・機械学習系サービスまで、多種多彩なサービスを提供しています。
多種多様なサービスラインナップ
世界中に存在するリージョン
Jupyter Notebookをサクッと動かせるAzure Notebooksとは
Jupyter Notebookとは• Pythonコードをブラウザ上で書きながら実行出来るツール• 実行結果を都度表示しながらコードを実行出来るので、データ分析の領域では特に使う• Python以外にもRubyも扱える
とりあえずデモ• まずはJupyter Notebook単品のデモをします。• 手持ちのPCの中にJupyter Notebookをインストールして動かしてみます
Azure Notebooks• インストール不要、Azure上でJupyter Notebookを動かすことが出来るフルマネジドサービス。• PCにインストールしなくてもJupyterNotebookが使える。• Pythonの追加モジュールもインストール出来る。画像引用https://docs.microsoft.com/ja-jp/azure/notebooks/azure-notebooks-overview
Azure Notebooks
とりあえずデモ• Azure Notebooksってどんな動きするの?
改めて、Azure Notebooksとは• PCにインストールしなくてもJupyter Notebookが使える。• Pythonの追加モジュールもある程度インストール出来る。https://docs.microsoft.com/ja-jp/azure/notebooks/azure-notebooks-overview
Azure Notebooksの特徴• Azureアカウント(サブスクリプション)は不要• ログイン/サインインしなくても一応使える• 実行結果を保存できないが、実行だけは出来る• 起動時にAzure VMが自動生成される仕組み• 無料で使える• ただしクォーターは存在する(4GBメモリ、1GBストレージ)• 追加でパッケージをインストールすることも出来る• pip install が出来る• GitHub対応• プロジェクトを作る時、GitHubのリポジトリを指定する事が出来る
Azure Notebooksのスペックが足りない場合は?• Azure Data Science Virtual Machineを用意すると、任意の仮想VMで実行出来る• 会社のアカウントなどの Azure Active Directory (AAD) を使用するアカウントで、Azure Notebooks にサインインしている。• アカウントが Azure サブスクリプションに接続されている。• そのサブスクリプションに、Data Science Virtual Machine for Linux (Ubuntu)イメージを使用する仮想マシン (少なくとも閲覧者アクセス権あり) が 1 つ以上含まれている。の条件を満たしていれば、Azure Notebooksとセットで扱える
実行結果を保持したい場合は?• Azure Data Science Virtual Machineで実行する必要がある• 「Free」プランではNotebookサーバは最大8時間存在することが保障されているが、それ以上になると保障されない• Notebookのコードは残るが、実行結果は消える
対応言語• Python 2, Python 3, R, とF#に対応
iPadでも使える
Azure Machine Learningとは
Azure Machine Learning(Azure ML)• 機械学習に必要なモデルのデータ準備からトレーニングまで出来る「プラットフォーム」• データを整形し、機械学習モデルを構築出来るサービス• 機械学習の分野で従来「面倒」だったことをAzure MLが用意してくれた感じ
機械学習とは?• ザックリ説明すると、機械に「コツ」や「カン」を覚えさせるための技術• 入力したデータに対して、「判定」を行うことが出来るようにする• 教師あり学習 / 教師なし学習 / 教科学習
https://kurand.jp/39256/
分類器ビールだ!
分類器コーラだ!
「コツ」「カン」を覚えさせる方法• 教師あり学習• 教師なし学習• 強化学習
教師あり学習• 一番理解しやすいやつ• 判定結果について、人間が「正解」か「不正解」かを判定し、フィードバックさせる• 人間による判定結果を覚えさせ、繰り返すことで学習させる仕組み• Gmailなどの迷惑メールフィルタでも使われる
ニューラル・ネットワーク• 人間の脳にある「ニューロン」を模した仕組み。• 三層以上のニューラルネットワークは可微分で連続な任意関数を近似できることが証明されている
アルゴリズムの種類は大量にありますhttps://docs.microsoft.com/ja-jp/azure/machine-learning/studio/algorithm-cheat-sheet
Azure MLで出来る事• スクリプトを書かなくてもニューラルネットワークを構築出来る• Azure ML Studioを使えばドラッグアンドドロップで構築出来る• 難しいことをある程度抜きにして、誰でも機械学習を行える「民主化」を実現している• 民主化 : 誰でも扱うことが出来、利益を享受出来る事
実際の画面https://docs.microsoft.com/ja-jp/azure/machine-learning/studio/text-analytics-module-tutorial
やっている内容1. テキスト データセットのクリーニングと前処理2. 前処理されたテキストからの数値特徴ベクトルの抽出3. 分類モデルまたは回帰モデルのトレーニング4. モデルのスコア付けと検証5. 運用環境へのモデルのデプロイ
Azure NotebooksとAzure ML
Azure NotebookでML• Azure MLで用意されているパッケージ(azureml.core)を使うと、PythonコードからAzure MLを実行出来る
ひたすらデモします• 公式のサンプルノートブックを実行していきます• https://github.com/Azure/MachineLearningNotebooks
まとめ
まとめ: Azure Notebookのスゴいところ• Azure上にJupyter Notebook環境をサクッと構築出来る• 実体はAzure上で動いていて、コンピューティングリソースもAzure持ちなので、手持ちのPCが非力だったりタブレット端末でもコーディングが出来る• Chromeが普通に動いて、解像度がそこそこあれば使える• Azure Data Science Virtual Machineを使えばハイスペックな実行環境をすぐ用意し、そのまま機械学習を始めることが出来る• ML用途じゃなくても、Excel方眼紙を駆逐する用途でも使える
まとめ: Azure MLのスゴいところ• ニューラルネットワークを構築するためのコードを書かなくても良い• 大学生の頃はここで死ぬほどハマった• コンピューティングリソースをすぐ提供してくれる• 「どえらい天才」が生み出した環境を誰でも使うことが出来る
まとめ:AIの「民主化」とこれから• どんどんAIが「お手頃」になってきており、軽く勉強すれば誰でも扱える時代がやってきた• Azure MLとNotebooksで、身の回りやビジネスをより良くしていきましょう• 難しい事や面倒なことはAzure MLやAzure Notebooksにやらせよう!