【AI・機械学習入門】初心者のためのAI・機械学習・Deep Learningの学習方法

## はじめに
[前回](https://qiita.com/katzed/items/44e7e2c5aa2f455f0333)に引き続き、Python以外にも、AI機能を実装するためには、機械学習の知識も必要です。
それらの知識を得るためには、独学またはスクールで学習する方法があります。

## 本記事の対象となる方
- **プログラミング初心者**
- **機械学習・DeepLearningといったAI実装を学習するにあたり、参考教材に悩んでいる方**

## AIとは？
AIについて、キーワードを簡単に説明します。

- AIとは
<details><summary>人工知能 (Artificial Intelligence) の接頭を取った略称で、あたかも人間のように学習や推論をコンピュータに行わせる概念です</summary>

- 学習とは
<details><summary>規則性を見つけてモデル化することです</summary>

- モデルとは
<details><summary>なんらかの入力 (input) があったとき、その入力内容に対して評価を行うことで、それを出力 (output) することです</summary>

- 推論とは
<details><summary>学習してできたモデルを用いて、新しい入力に対して同様に出力することです</summary>

:::note warn
推論と類似した言葉に、予測というものがあります。
予測は、未知の新しいデータを入力することにより出力を取得することです。
推論は、予測するだけでなく、入力と出力の関係を理解することまでが含まれるので、より広い概念です。
とはいえ、これらの言葉を厳密に書きわけている記事は少ないと思いますので、
予測 = 推論 と考えても差し支えはありません。
:::

- 機械学習とは
<details><summary>入力するための収集したデータに基づいて学習させ、そのデータの構造の特徴をつかむことです</summary>

- Deep Learningとは
<details><summary>機械学習アルゴリズムのひとつで、教師あり学習で用いられることが多いです
深層学習とも呼ばれます</summary>

- 教師あり学習とは
<details><summary>入力内容を評価するにあたり、答えとなる目標値というものが設定されている学習のことです</summary>

- 教師なし学習とは
<details><summary>前述の目標値がありません。クラスタリング・次元削減といった技法が用いられます</summary>

- 強化学習とは
<details><summary>少数もしくは全くデータがない状況で、行動しながらデータを収集し、そのデータで学習を行い、次の行動を決めていく学習方法です</summary>

## 独学とスクール学習の違いについて
AIを学習するには、独学とスクール学習の2パターンの方法があります。
独学とスクール学習には、以下のような違いがあると思います。

- **独学のメリット**
 - なによりコストが抑えられます
 - 学習期間もご自身で設定できる点も自由度が高いです
 - 学習のロードマップもご自身で設定できます

- **独学のデメリット**
 - 疑問が生まれた際に、自力で調査解決する力が求められます
 - 参考にした環境とバージョンを合わせたりする必要があります
 - 学習するにあたり、どこから手を付けてよいのか、はじめての場合わからないです

- **スクール学習のメリット**
 - 学習のロードマップが設定されています
 - 講師の方々に質問することができます
 - コミュニティ内で同じく学習を目的とする方々と繋がり、助け合うことができます

- **スクール学習のデメリット**
 - コストがかかります
 - 学習期間が設定されています

機械学習やディープラーニングに触れたことのある方は、**独学でも大丈夫**だと思います。
この機会にAIを学習したいけど、AIをよく知らない・プログラムは初めて触れるという方は、**スクール学習がオススメ**です。

## オススメのスクール
` AIスクール 比較`などで検索をすると、スクールの比較サイトが見つかると思います。

私は**株式会社キカガク**が提供する`自走できるAI人材になるための6ヶ月長期コース`を受講しています。
[株式会社キカガクのHPリンク](https://www.kikagaku.co.jp/)からご覧ください。

特徴としては、以下の点があります。
- 第四次産業革命スキルに認定されているため、課題をクリアするとキャッシュバックされます
- AIスクールの中でも、特に期間が長期であり、専任の講師の方がつくためサポートが手厚いです
- 長期コースを受講すると、今後配信されるコンテンツがすべて無料で受講できます
- PyTorchによる機械学習・DeepLearningのモデル構築を学ぶことができます
- DjangoによるAI搭載のWebアプリケーションを制作することができます
- ご自身で考案したAI搭載のアプリケーションを制作することができます

> 6ヶ月という時間に長いと感じる方もいるかもしれませんが、プログラムがはじめてであれば、
> 機械学習・DeepLearningも学習するのに、一般的には 3ヶ月ほどはかかると思います。
> 1ヶ月などの短期コースも他のスクールではありますが、プログラミング経験者対象となっていることが多いです。

> Web制作の目的としては、折角AI機能を作っても、他の方々に利用してもらうには、Webサービス or 業務用アプリ or スマホアプリといった、
> 外部に公開する必要が出てくるからだと思います。
> Web制作の知識も含めると、6ヶ月は非常に妥当な期間だと思います。

また、`無料のコンテンツ`も配信されています。
ご興味があれば、[株式会社キカガクのトップページ](https://www.kikagaku.co.jp/)から、**無料で試してみる**に進んで、受講してみてください。
無料のコンテンツは、[サービス一覧](https://www.kikagaku.co.jp/service/)から、**無料**と記載されているコースを確認することができます。

## 第四次産業革命スキルとは
[こちらのリンク](https://www.meti.go.jp/policy/economy/jinzai/reskillprograms/index.html)に経済産業省の説明が記載されています。
簡単にいうと、認可を得ているコースを受講し、設定された課題をクリアすれば、**受講時に払ったお金の一部がキャッシュバックされる**という制度です。

具体的には、[専門実践教育給付金](https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/koyou_roudou/jinzaikaihatsu/kyouiku.html)というものが厚生労働省より発行されます。
詳しく知りたい方は、お近くの**公共職業安定所** (通称: **ハローワーク**) に行くと聞くことができます。申請などもハローワーク経由で行います。

もし、**株式会社キカガク**の`自走できるAI人材になるための6ヶ月長期コース`をお考えの方は、[詳細はこちら](https://knowledgebase.kikagaku.co.jp/knowledge/%E5%B0%82%E9%96%80%E5%AE%9F%E8%B7%B5%E6%95%99%E8%82%B2%E8%A8%93%E7%B7%B4%E7%B5%A6%E4%BB%98%E9%87%91%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)から確認できます。

## オススメの書籍
AIを学ぶには、数学の知識が必要です。具体的には**微分・行列・ベクトル・回帰分析**といった計算知識が必要になってきます。

:::note warn
実際には、これらの計算はプログラムで実行できるので、知識がなくともできてしまいますが、
原理がわからなくなってしまうので、数学は抑えておくことをオススメします。
:::

私が学習に使用したオススメの書籍を紹介します。
[最短コースでわかる　ディープラーニングの数学](https://www.amazon.co.jp/dp/B07QCRNKY5/?coliid=I258WUOFF66I7R&colid=2PQNHZBLUN8NU&psc=0&ref_=lv_ov_lig_dp_it)

こちらの書籍は、上述の数学の他にも、DeepLearningのコードについても記載されているのでオススメです。

## さいごに
ここまで読んでいただき、誠にありがとうございます。
みなさまのおかげで、第2回目の投稿を行うことができました。

次回は、Windowsのショートカットキーについて説明します。
Pythonの解説はまだと思うでしょうが、コーディングをする前に、よく使うショートカットキーを知っておくことで、
腕への負担を減らすことができると思いますので、また見ていただけますと幸いです。