【今から学ぶ】AIやディープラーニングの基礎知識

# はじめに
本記事ではこれから機械学習について学習しようと考えている方へ向けてできる限りわかりやすく噛み砕いて書いています。
そのため、少し本来の意味とはずれていることがあるかもしれませんがご了承ください。







# この記事はこのような人に向けています
- AIやディープラーニングをこれから勉強しようと思っている方
- これらの名前は聞いたことあって興味はあるけどけどよく知らないという方







# 概要
本記事では機械学習やディープラーニングについての基礎知識や、そもそもAIってなんなんだろうといったことについて解説できたらなと思っています。
この記事を読んで機械学習に興味を持っていただけたなら幸いです。








# AIって何だろう？
最近TVなどで時々AIという言葉を見かけますよね。よく聞く話だと、人間の職を奪うのではないかとか、将棋のAIがプロに勝ったとか。AIの話題ではポジティブなものからネガティブなものまでいくつか聞いたことがあると思います。じゃあ、AIって何だろうということになりますよね。
AIとはArtificial intelligence（訳：人工知能）という意味です。つまり、人間がコンピュータに計算をさせることで人工的に作った知能のことです。
これを聞いてもピンとこない方もいらっしゃると思いますので、まずは、最近多くの人が利用しているAIを用いたシステムを紹介します。

- siriやペッパーくん
    - ソフトバンクが開発したペッパーくんや皆さんがよく使うapple社のiPhoneシリーズについているsiriという機能も実はAIを使ったものになります。これは人が話した内容を理解し、それに対して返答するというものですよね。
   
 <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869051/21a1a6f7-a044-38c0-67bd-2352f82f5999.png" width=30%>


- Google翻訳やDeepL翻訳
    - 海外旅行に行った際や、英文を翻訳するときによく使う翻訳サイト（Google翻訳やDeepL翻訳など）もAIを使った機能になります。文章を理解し、それを別言語で当てはめるという作業を行っています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869051/9ef8b5bf-d226-184e-1437-1f6ca9037cfa.png" width=30%>

- 自動運転
    - 自動運転では車載カメラの情報を認識し、信号や道路標識の意味を理解して車を操縦します。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869051/96478b12-2104-50b2-ba0e-2fc1432f7ddd.png" width=30%>

最初に述べたゲームAIも含め、このように実は身近なところにAIは使われています。







# 機械学習やディープラーニングについて
先ほどまでお話ししていたAIというのは人工的に作られた知能そのものを指します。そして今からお話しする機械学習(Machine Learning)や深層学習(Deep Leaining)は **「AIを作る過程のお話」** になります。

## 機械学習 
機械学習とはコンピュータが与えられたデータから法則性や共通性を特徴として見つけ出すことです。
この法則性というものは、たとえば、写真に写っているフルーツとかです。背景が違っていたりしていても、同じフルーツが写っていた場合、コンピュータはそれを共通性として学習します。自動運転ではその共通性が信号や標識になるわけですね。そして、その法則性から今度は未知のデータに対して予測を行っていきます。この場合は、コンピュータが学習に使わなかった写真になります。最終的にはこの予測の精度を高めていくことが機械学習の本当の目的になります。

そして現在、機械学習では、3つの学習の種類が存在します。
####①教師あり学習
教師あり学習では入力データとそれの解となるラベルデータを使って学習を行います。人間でいうところの問題を解いて答えを出すイメージですね。先ほども述べたようなフルーツの分類であったり、信号や標識の識別はこの学習方法を用いていることが大半です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869051/3bc70472-5135-0e31-48cc-0c40c8ec68ec.png" width=30%>


####②教師なし学習
教師ありがあれば教師なしもあります。これは先ほどとは逆に解となるラベルデータを使わずに学習を行います。簡単に言うとコンピュータにデータだけをぶん投げて法則性見つけてねっていう学習方法です。これで本当に学習ができるのかという感じではありますが、実際、ここで得たい出力は、写真の分類とかではなく（最近それもホットではあります）、複数のデータの関係性についてです。以前面白い結果として話題になったのが、おむつとビールの売れ行きに相関があるということです。これは奥さんから頼まれたパパがおむつを買うついでにビールも買うというからくりだそうですね。このような人間では思いつかないような相関を見つけられたりするのも、教師なし学習ならではです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869051/3d2d44e7-770b-2bdc-2113-6c4e24fc0c35.png" width=30%>


####③強化学習
最後に強化学習です。これはゲームAIに多く用いられる手法です。先ほどの２つの手法と違って、コンピュータにデータを渡すのではなく、コンピュータがひたすらにタスクを解きます。ゲームであれば人間と同じようにプレイする感じです。ただ何もしなければコンピュータがランダムな挙動をするだけなので、報酬と呼ばれるものを設定し、ある一定の動きを達成することができたらそれは良いことだとコンピュータに点数をあげます。コンピュータは点数が高くなることが良いことだというのは理解しているので、よりよい報酬がもらえるように学習していくという仕組みですね。ニュース等でも取り上げられるような将棋や囲碁のAIなんかもこの手法が用いられています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869051/a2fe3457-f79a-362d-b727-6511d208148e.png" width=30%>



##深層学習
最後に深層学習と呼ばれるDeep Learning（以下DL）のお話をして、この記事を終わろうかなと思います。
DLは機械学習を行う際のモデルの一種です。もう少し厳密にいうと、グラフィックボード（GPU）を使って計算量の多いニューラルネットワークと呼ばれるモデルの学習を行っていくことを指します。ニューラルネットワークについてはここでは話さないのでそんなモデルがあるのかくらいの理解で大丈夫です。グラフィックボード（通称グラボ）はよくゲーミングパソコンなどに取り付けることで3Dの描画や物理演算を素早く行うものです。本来CPUが計算していたものをGPUが代わりに素早くやっていることなので、いわば電卓みたいなものですね。
DLではGPUによって計算能力が飛躍したことによって可能になった学習方法で、今までCPUが行ってきた演算を何分の１とか何10分の１とかのスピードで行えるので、速度もメモリ消費も抑えられました。最近では***早く***て***メモリ消費も少なく***、***複雑な演算も可能で***、***精度も高い***DLの研究が盛んに行われ、様々なモデルが日々発表されています。

#さいごに
最後まで読んでいただきありがとうございます！
この記事はいかがだったでしょうか。
そのうちもう少し掘り下げた話や実装なんかもお話しできたらいいなと思っています。