Microsoft Learnではじめる無料のAI勉強

**Microsoft Learn**を使うと、人工知能（AI）技術の勉強を無料ではじめられます。

https://docs.microsoft.com/ja-jp/learn/

Microsoft Learnとは、Microsoftの提供する学習プラットフォームです。動作環境としてWebブラウザさえあれば誰でも無料で利用できます。（スマートフォンでもアクセスできなくはないですが、パソコンを使ったほうが良いと思います。パソコンであればWindowsでもChromeOSでもLinuxでも利用できます）本稿で紹介するコンテンツはほとんど日本語化されているため、英語が苦手でも理解できると思います。

Microsoft LearnではMicrosoft製品の知識を中心に学べますが、殊Microsoft Azureに関しては他のクラウドプラットフォームでもだいたい似たような製品があるため、Microsoft Azureで学習した内容はそこまで無駄にはならないと思います。

本稿で紹介する学習コンテンツの範囲は**ノーコード**や**自動機械学習**を代表とする、機械学習やプログラミングの知識が少ない状態でも始められるサービスを中心に構成されています。これからAIの勉強を始めたいという方に最適だと思います。

## Microsoft LearnからAIを学ぶためのコンテンツにアクセス
Microsoft LearnにはAIの他にも「Azure」「.Net」「Office 365」など膨大なコンテンツがあり、正直どこからやれば良いのかよくわかりません。

そこでコンテンツの見つけ方として、対応する試験から試験対策コンテンツにアクセスするという方法があります。Microsoft Learn内には、AIや機械学習（ML）の基礎知識を問う**[AI-900: Microsoft Azure AI Fundamentals](https://docs.microsoft.com/ja-jp/learn/certifications/exams/ai-900)**という試験があります。

https://docs.microsoft.com/ja-jp/learn/certifications/exams/ai-900

この試験ページから試験対策として対応する各種Microsoft Learnコンテンツにアクセスできます。AI-900試験はアプリケーションの開発能力を問われないAIの基礎知識に対する試験のようで、ここからアクセスできるコンテンツは開発者でなくても進められると思います。（プログラムが出てこないわけではないので、若干理解しづらいところはありますが、理解しなくても学習が進められるような設計になっています）

他にも「AI-900」でGoogle検索すると試験対策や受験記のような記事がいくつかヒットするので、そこから対応する学習コンテンツを探すのも良いと思います。

実際にやってみたMicrosoft Learnのコンテンツをいくつか紹介します。

### 「Azure で人工知能を使ってみる」
https://docs.microsoft.com/ja-jp/learn/paths/get-started-with-artificial-intelligence-on-azure/

Microsoft Azure上の各種AI系サービスのざっくりとした紹介や、AIが社会において使われている事例の紹介です。AIで何ができるのか理解の助けになると思います。

またAIによる開発の注意点として**責任あるAI（Responsible AI）**の説明に重点が置かれています。たとえば、AIは特定の性別や民族を差別することなくすべての人に**公平**に益をもたらすよう開発されなければならないといったものです。これはAIの開発や企画に携わるすべての人が理解しておく必要のある情報だと思います。

### 「Azure Machine Learning で自動機械学習を使用する」
 https://docs.microsoft.com/ja-jp/learn/modules/use-automated-machine-learning/

[Azure Machine Learning Studio](https://ml.azure.com/)の**自動ML**を使う学習です。これはプログラムを書くことなく、CSVをアップロードしていくつかの設定をするだけで、機械学習のモデルを作成し、予測APIのデプロイまでをかんたんに行ってくれる強力なサービスです。Google Cloud Platformでいうと[AutoML Tables](https://cloud.google.com/automl-tables/docs?hl=ja)に対応するサービスです。

参考:

- [チュートリアル:需要予測と AutoML \- Azure Machine Learning \| Microsoft Docs](https://docs.microsoft.com/ja-jp/azure/machine-learning/tutorial-automated-ml-forecast)

### 「Azure Machine Learning デザイナーを使用して回帰モデルを作成する」
https://docs.microsoft.com/ja-jp/learn/modules/create-regression-model-azure-machine-learning-designer/

**Azure Machine Learning デザイナー**という、プログラミングすることなく機械学習の前処理から学習・予測APIのデプロイまでを行えるサービスを使った学習です。Azure Machine Learning デザイナーと先述の自動MLは言葉で説明すると似ていますが、実際に使ってみると結構違います。Azure Machine Learning デザイナーは機械学習の利用にプログラミングや環境構築は不要ですが、前処理等は自動で行われるのではなく**GUIツール**でのドラッグ&ドロップで処理を明示的に構築していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/71bcf910-4a33-a5bd-74bc-f2500a53eab3.png)
(画像は「[トレーニング パイプラインを作成して実行する \- Learn \| Microsoft Docs](https://docs.microsoft.com/ja-jp/learn/modules/create-regression-model-azure-machine-learning-designer/create-training-pipeline)」から引用)

そのためプログラミングの知識はあまり必要ありませんが、機械学習における**前処理**や**評価**の知識が最低限求められます。もちろんそのあたりもMicrosoft Learn内でひととおり学ぶことできます。

（個人的には、私含めこのQiita記事を読みに来ているような人の大半は、なにかしらプログラミングの知識があるのではないかと思います。そのため中途半端にGUIになっているよりかは少しぐらい自分でプログラムを書いて処理を組み立てたほうが、かえって理解しやすいかもしれません。Azure Machine Learning デザイナーは、プログラミングに対する知識がまったく無い人が機械学習を始めるのには便利ではないかと思います）

### 「Text Analytics サービスを使用してテキストを分析する」
https://docs.microsoft.com/ja-jp/learn/modules/analyze-text-with-text-analytics-service/

**Azure Cognitive Services**の**Text Analytics** APIを使って、テキストの感情分析やキーフレーズ抽出などを自動で行う学習です。Azure Cognitive Servicesは、Microsoftによって既に構築済の汎用的なモデルがAPIとして提供されており、AIの機能をすぐにアプリケーションに取り込む事ができます。先に紹介した自動MLやMachine Learning デザイナーと違って、利用者は学習用データの用意やモデルの構築を行う必要がありません。最も楽に利用できると思います。

#### Microsoft Learnでの仮想マシンの利用
「Text Analytics サービスを使用してテキストを分析する」の学習の途中で、「VM モード」というものが出てきます。これを起動すると、文字通り**ブラウザ上でWindows仮想マシンが立ち上がります**。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/04001e3d-59cd-2a19-2adf-a663863b2328.png)

Visual Studio Codeを使ってPythonプログラムを実行して勉強を進めていく必要があるのですが、この仮想マシンのおかげでPython開発環境を構築しなくても勉強を進められます！

...というのは良いのですが、ちょっと困ったことがあります

- 仮想マシンの利用方法や仮想マシン内のプログラム解説はすべて**英語**
    - 中身は仮想マシンなので、ブラウザ上の機械翻訳サービス等も使うことはできません
- 途中API利用するためのコピー&ペーストが求められますが方法がわかりにくい
    - 仮想マシン画面左上の「Type Text」→「Type Clipboard Text」からできます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/cfe94265-a5ac-a9be-2b89-17398acf60f3.png)

（この辺は、わざわざWindows仮想マシンまで用意するよりかはGoogleの提供する[Colaboratory](https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja)のようにNotebookをブラウザ上で手軽に実行できる環境がある方が便利だな、と思いました）

## まとめ
Microsoft Learnを利用して、AIの学習を始めることができました。ここで触れられているのはAI開発の初歩の初歩なので、ここから実際に使いたい技術やサービスについて利用してみたりすると理解が深まると思います。

### 参考: 各サービスの比較
本稿で紹介した各AIサービスの比較です。

-|[自動ML](https://azure.microsoft.com/ja-jp/services/machine-learning/automatedml/)|[Machine Learning デザイナー](https://azure.microsoft.com/ja-jp/services/machine-learning/designer/)|[Cognitive Services](https://azure.microsoft.com/ja-jp/services/cognitive-services/)
--:|:--:|:--:|:--:
**概要**|自動機械学習サービス|ノーコード機械学習サービス|学習済みAIサービス
**学習用データ**|必要|必要|不要
**前処理**|自動|GUIで構築|不要
**学習**|自動|GUIで構築|不要
**APIデプロイ**|自動|GUIで構築|不要
**類似製品**|[GCP AutoML](https://cloud.google.com/automl-tables/docs?hl=ja)|-|[GCP AI Building Blocks](https://cloud.google.com/products/ai/building-blocks)

### 参考文献
- [Microsoft Build 2021 前夜祭 – 注目のBuildセッション](https://www.slideshare.net/RieMoriguchi/build-2021-build)
    - 「AI-900」試験の名前はこの資料で知りました
- [マイクロソフト製品の学習に役立つ「Microsoft Learn」でスキルアップ！！【12/1更新】 \- MPN Japan 公式ブログ \- Microsoft Partner Network](https://blogs.partner.microsoft.com/mpn-japan/2020/12/01/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E8%A3%BD%E5%93%81%E3%81%AE%E5%AD%A6%E7%BF%92%E3%81%AB%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%80%8Cmicrosoft-learn%E3%80%8D%E3%81%A7%E3%82%B9/)