これから機械学習を学んでいきたいが、学習する上で重要な項目や数学の知識を知りたい。
この記事では、AI、人工知能、機械学習、ディープラーニングの違いなど基本的内容について解説していきます。
まだ人工知能や機械学習、ディープラーニングを学ばれていない方でも、なるべく分かりやすい解説を心掛けています。
それでは本記事の内容です。
本記事の内容
- 人工知能、機械学習、ディープラーニングとは
- 機械学習に必要な数学の知識は
- 機械学習を学習する上での3大重要項目
これからAI(人工知能)の勉強をしよう、という方に向けた非常に基本的な内容になりますので、ある程度理解されている方はご覧にならなくても大丈夫です。
それでは、早速見ていきましょう。
人工知能、機械学習、ディープラーニングの違いとは
人工知能、ディープラーニング、機械学習とは何か
人工知能とは
まず、人工知能、ディープラーニング、機械学習という言葉を聞いた事があるでしょうか。
ここではまず、用語の説明として人工知能、ディープラーニング、機械学習の用語について説明させて頂きます。
まずこの3つの関係としては、大枠として人工知能があり、その中にディープラーニング、機械学習があります。
ちょうど上図を参照にしてください。
人工知能が始まった起源ですが、人間の知識や経験的な技術をコンピューターに落とし込みたかった、という事があります。
人(ヒト)と同等の仕事=人工知能が求められている仕事と考えていただいて良いでしょう。
ここで人工知能( AI:Artificial intelligence )の定義です。
人工知能とは
- 自らが考える力が備わっているコンピュータのプログラム
- コンピュータによる知的な情報処理システム
- 生物の知能、またはその延長線上にあるものを再現する技術
などと言われています。
人工知能が3つの概念の中で最も大枠となり、人間のように学習や推論を行わせる概念を指します。
「人工知能」と言えば、最近でこそ、収集したデータに基づいて学習させるデータ駆動型のイメージが強いですが、本来の意味はそれだけではありません。
例えば、人間が学習・習得した知識・ノウハウをプログラミングすることにより形式化・再現可能にして、それをコンピューターで動かすことも「一種の人工知能」と言えます。
もちろん、この後に紹介する機械学習のように、集めたデータに基づいて(データ駆動型で)コンピューター自身が学習も行って、学習した結果に基づいて推論を行う場合も「人工知能」と言えます。
このように、人工知能という言葉が指す範囲は非常に広いわけです。
ですから、「AIで何かしよう!」といったプロジェクトではなく、「機械学習により電力量の需要を予測することで運用のオペレーションを改善し、1%のコスト削減を目指そう」といった具体的な目標設定が必要となります。
また、その人工知能にも色々な種類のものがあります。
人工知能の種類
- 機械学習:ヒトの様にコンピュータが経験し、学習を行う
- 遺伝的アルゴリズム:生物の遺伝子を模倣して、アルゴリズムが突然変異および、交配する。
- 群知能:生物の群を模倣して、シンプルなルールに法って行動する個体が、集合体として高度な振る舞いをする
その他、ファジイ制御やエキスパートシステムなど人工知能と呼ばれるものは多く存在します。
これだとAI(人工知能)について情報がありすぎるため、AIを一言で表すと以下のような表現が適しています。
人工知能とは、それまでに与えられた情報を用いて、ある問題に対して最も適応な判断を下すソフトウェアのことである。
この他にはサポートベクターマシンや、K近傍法など色々なものがありますがキリがないので、ここでは主となるディープラーニングについて解説していきます。
人間には聞く、見る、感じる、口で話すなどの情報処理能力があります。それを処理するのが、ディープラーニングです。
目で見た情報を画像処理と言います。耳から入ってくる情報には、音声や信号があります。口で表現するものは自然言語と言います。
このような、画像や、音声、自然言語はコンピュータ上では数値として処理され、落とし込まれます。
具体的には画像処理は光で表します。
信号は音の大きさで処理されています。
自然言語を数値で表現する方法としてはword 2 recと言った様な方法があります。
最近ではこの様に自然言語を数値化してベクトルとして表す方法が盛んに研究されている様です。
※ 最近ですと仮想通貨などが流行っていますが、仮想通貨は時系列にカテゴライズされる分野となります。
これは音声と同様の処理方法を使用される事が多いです。音声は時系列として処理される事が多いわけです。
※ しかし一部のデータは画像や音声、自然言語を経由して数値に落とし込まれず、そのまま直接数値に落とし込まれる事があります。
例えば、製造業に携われている方ですと、温度は20℃や50℃など数値として表現されるため、画像や音声、自然言語とは関係なくそのまま数値に落とし込まれる事があります。
これらの数値の情報を元に何かしらの判断をするツールが機械学習となります。
例えば目から入ってきた画像が犬だった場合、犬の画像を'入力 $x$ '、として'出力 $y$ 'の関係性とを求めるために機械学習を行います。
すなわち機械学習とは、入力 $x$ と出力 $y$ の関係性を見つける作業とも言えます。
この様に機械学習は、何かしらの入力されたデータと出力されたデータの関係性を見つける(紐づける)ために必要なスキルとなります。
図を見ていただいても分かる通り、人工知能の中で判断を下すブレーンが機械学習です。
ここで機械学習とは「入力 $x$ と出力 $y$ の関係性を見つける」と表現しましたが、具体的な手順にはどういったものがあるのでしょうか。
この入力 $x$ と出力 $y$ の関係性を見つける=機械学習を行う上で、具体的な手順の進め方を"機械学習のアルゴリズム"と言います。
この"機械学習のアルゴリズム"の一つとしてディープラーニングが存在します。
この他ディープラーニング以外にも、「入力 $x$ と入力 $y$ の関係性を見つける」機械学習の方法としてSDM(システムデザイン&マネジメント)や、単回帰分析というものが存在します。
機械学習とは
では、機械学習とはどのような概念でしょうか。
「機械学習」は、もともと人工知能(AI)を研究する過程で生まれ、発展してきました。
機械学習は以下のように表現することができます。収集したデータに基づいて、モデルの学習を行う仕組みのことを機械学習と呼びます。
「モデルの学習」という曖昧な表現でしたが、具体的には、定式化した数式のパラメーターを、収集したデータに基づいて、ある定めた評価関数(誤差など)を最小化するように決定することを指しています。
先述したデータ駆動型の学習や推論を行う仕組みが機械学習です。
機械学習とは、データを与えられることでデータから自ら学習し、新たなデータについて予測・判断を行うアルゴリズムである。
機械学習が通常のプログラムと異なる点で、与えられたデータを用いて自ら学習していく、ということが機械学習を単なるプログラムとは違うポジションに至らしめている理由と言えます。
機械学習には、以下の3つの重要項目があります。
機械学習の3つの重要項目
- 教師あり学習
- 教師なし学習
- 強化学習
この様なものがあります。
入力 $x$ から出力 $y$ を予測する仕組みである教師あり学習が、ビジネスの場でよく使われています。
AlphaGoが囲碁で人間に勝利して以来、強化学習も注目を浴びるようになってきていますが、ゲームやロボット系の分野以外では、まだまだ実用的な技術ではないと感じています。
理由としては、強化学習の考え方や実装自体はそれほど難しくないのですが、強化学習ではシミュレーター、もしくは実機が必要となり、これらを割と手軽に準備できる業界がゲームやロボットに限られているためです。
機械学習といえば、ディープラーニングをイメージしがちですが、機械学習のアルゴリズムにも様々なものがあります。
機械学習のアルゴリズムについて
- 強化学習:報酬が最も高い方法を学習する
- 決定木:枝分かれ(ツリー構造)でデータを分類する
- ニューラルネットワーク:脳の神経細胞ネットワークを模倣したもので、ディープラーニングのベースとなる
この様なものがあります。
ここで、再度AIと機械学習の違いについてまとめておきます。
「機械学習はAIの学習メカニズムを実現するための手段」
ということです。すなわち、AIを実現させるには機械学習のアルゴリズムが必要なのです。
ディープラーニングとは
機械学習、例えば教師あり学習における問題設定は、「入力と出力の関係性を見つける」といったものですが、これはあくまで概念であり、具体的な手順は明らかになっていません。
そこで実際にコンピューターが実行できるレベルまで具体的な手順を明確化したものを、アルゴリズムと呼びます。
この機械学習アルゴリズムの一部がディープラーニングです。
もちろん、ディープラーニング以外にもサポートベクターマシンやロジスティック回帰といった他の機械学習アルゴリズムも存在し、ディープラーニングは一手段であることをしっかりと覚えておきましょう。
最近では、「ディープラーニングを使って、問題を解決したいのですが」といった相談も少なくありません。
しかし、その前に、その問題が本当にディープラーニングによって解決すべきか、それ以外の古典的な手法でも解決できるかを見極めておく必要があります。
ビジネスとして相談を受ける大半の例では、ディープラーニングは不要なケースが多いと感じています。
ただし、画像や時系列、自然言語処理といったメディアと結びつきの強い分野では、ディープラーニングが非常に有用なケースがあります。
この他にはサポートベクターマシンや、K近傍法など色々なものがありますがキリがないので、ここでは主となるディープラーニングについて解説していきます。
人間には聞く、見る、感じる、口で話すなどの情報処理能力があります。それを処理するのが、ディープラーニングです。
目で見た情報を画像処理と言います。耳から入ってくる情報には、音声や信号があります。口で表現するものは自然言語と言います。
このような、画像や、音声、自然言語はコンピュータ上では数値として処理され、落とし込まれます。
具体的には画像処理は光で表します。信号は音の大きさで処理されています。
自然言語を数値で表現する方法としてはword 2 recと言った様な方法があります。最近ではこの様に自然言語を数値化してベクトルとして表す方法が盛んに研究されている様です。
※ 最近ですと仮想通貨などが流行っていますが、仮想通貨は時系列にカテゴライズされる分野となります。
これは音声と同様の処理方法を使用される事が多いです。音声は時系列として処理される事が多いわけです。
※ しかし一部のデータは画像や音声、自然言語を経由して数値に落とし込まれず、そのまま直接数値に落とし込まれる事があります。
例えば、製造業に携われている方ですと、温度は20℃や50℃など数値として表現されるため、画像や音声、自然言語とは関係なくそのまま数値に落とし込まれる事があります。
これらの数値の情報を元に何かしらの判断をするツールが機械学習となります。
例えば目から入ってきた画像が犬だった場合、犬の画像を'入力 $x$ '、として'出力 $y$ 'の関係性とを求めるために機械学習を行います。
すなわち機械学習とは、入力 x と出力 y の関係性を見つける作業とも言えます。
この様に機械学習は、何かしらの入力されたデータと出力されたデータの関係性を見つける(紐づける)ために必要なスキルとなります。
図を見ていただいても分かる通り、人工知能の中で判断を下すブレーンが機械学習です。
ここで機械学習とは「入力 $x$ と出力 $y$ の関係性を見つける」と表現しましたが、具体的な手順にはどういったものがあるのでしょうか。
この入力 $x$ と出力 $y$ の関係性を見つける=機械学習を行う上で、具体的な手順の進め方を"機械学習のアルゴリズム"と言います。
この"機械学習のアルゴリズム"の一つとしてディープラーニングが存在します。
この他ディープラーニング以外にも、「入力 $x$ と入力 $y$ の関係性を見つける」機械学習の方法としてSDM(システムデザイン&マネジメント)や、単回帰分析というものが存在します。
ここまで解説した内容をより掘り下げた書籍があります。AI、機械学習、ディープラーニングを学ぶ上では非常に基本的な内容となります。
まずはこの一冊で概要を深掘りして把握しておきましょう。
人工知能、機械学習の概論のおすすめの一冊
機械学習に必要な数学
機械学習を勉強するためには必然と数学の知識が必要となります。
では、どの様な数学の知識を学習すれば機械学習に繋げる事ができるのでしょうか。
機械学習に必要とされる数学には大きく分けて3つあります。
機械学習に必要となる数学
- 微分・積分
- 線形代数
- 確率統計学
これらの3つの数学を学ぶ事が、機械学習を学ぶ基礎となります。
しかし、これらの3つの内容をガチンコで勉強すると時間がない方も多いと思います。
そこで、この3つの数学に関しては、まずは基本的な内容のみをしっかりと学んでいきましょう。
機械学習に必要な基本的な数学の知識を学ぶ上で非常に有用な一冊です。
特に人工知能の中でのディープラーニングメインで学習したい方には、微分や線形代数が非常に重要になってきます。
※ ベイズ統計学を学びたい方は積分や確率統計学が重要になってきます。
機械学習の3重要項目
機械学習には大きく分けて、3つの項目があります。
- 教師あり学習
- 教師なし学習
- 強化学習
ビジネスによく使用されるものは①の教師あり学習です。
③の強化学習の一つとしては Alpha Go と呼ばれる囲碁の方が人間よも囲碁が強かったというニュースがありました。
その AlphaGoは強化学習を使用していました。
それではこの3つの学習それぞれについて見ていきましょう。
教師あり学習
教師あり学習では、入力 $x$ と出力 $y$ が必要となってきます。
この教師あり学習は2つに分類されています。
- 回帰:数値・連続値を予測する
- 分類:カテゴリーを予測する
この2つがあります。
- 回帰では、数値を予測します。
例えば家賃(新宿区で1LDK,築15年であれば約20万円、といった感じです)などの金額を予想する様なものが挙げられます。 - 分類ではすでに決まっているカテゴリーに対してカテゴリーを割り振る事が挙げられます。
例えば、赤ワインや白ワインの銘柄に対して、これは赤ワインであるとか白ワインであるとかそういったものを予測するものとなります。
教師なし学習
教師あり学習と異なる点は、データとして出力 $y$ がなく、「入力' $x$ 'しかありません」
例えば教師ありの分類の場合だとワインで例えれば、入力 $x$ は例えば色柄であたり、産地であったり、アルコール度数が入力 $x$ に相当するのですが、教師なし学習出ればこの様な入力 $x$ に対する出力 $y$ がないわけです。
そのため教師なし学習では、出力 $y$ を求める様な「何かを予測する」というよりかは、この入力 $x$ の原理原則、また中身の内容を知りたいという学問になります。
この教師なし学習の一つとしてクラスタリング、次元削減があります。
クラスタリング
例えば、デパートに買い物に来たお客さんで、男性ものを買いそうな人、女性ものを買いそうな人と分けてあげることができます。
今後の何かを予測する、というよりかは過去のデータをみて「男性の服を買いそうなグループ」「女性のグループを買いそうなグループ」と分けること、これをクラスタリングと言います。
次元削減
家賃の高さを確認する際に、部屋の広さと部屋のグレードが入力=家賃の予測の指標であったとします。
この際に、部屋の広さだけで家賃は予測できそうだな、、部屋のグレードは家賃の予測に必要なさそうだな。。
または逆に部屋の広さとグレードを考慮して別の一つの指標を表すものに変換しよう
何か2つ、または複数あるものを一つにまとめる(=減らす)事を次元削減と言います。
実際にはマーケティング事業などで使用されるツールです。
強化学習
強化学習とは入力に関しても出力に関してもそもそもデータがないか、少ないものに対する学習のことを言います。
逆に言うと、データがなくても動作が作動します。
上2つの学習(教師あり学習、教師なし学習)と異なる点をまとめておきます。
- 教師あり学習は、過去のデータ $x$ と過去のデータ $y$ から規則性、関連性を見出してそれを元に、新しい物件の家賃を予測する学習方法です。
- 教師なし学習は、「何かを予測する」ことはできませんが、そもそも入力 $x$ の内容についてのデータを予測するといった学習方法です。
- 一方で、強化学習はそもそものデータがないかもしくはほとんどないのです。
例えば、掃除ロボットがあります。
掃除ロボットはなるべく部屋の隅々まで掃除をしたいというモチベーションで動いています。
しかしこの掃除ロボットは動き出す際には部屋のどこにいるのか、また部屋がどのような間取りになっているのかも把握していません。
それに対して動きながら学習し、部屋のまどりを学習しデータをとって掃除をしていくわけです。
以上が機械学習における3大重要項目でした。
今後使用するものはほとんどが「教師あり学習」になるため、学習の際には教師あり学習が中心となります。
簡単な機械学習と内挿・外挿について
上の図を見てください。ここには入力 $x$ と出力 $y$ について書いています。
黒色で記載されているものが初めから与えられていたものだとして、赤字はその後に記載したものとしてください。
ここで、入力 $x$ が3である場合には出力 $y$ はどの様な値になるのでしょうか。
みなさんは $y = 9$ と簡単に想像できますよね。
しかし大事なことは $y = 9$ が計算出来ると言うことではなくて、どの様にして 9 を算出したのかが重要となります。
ここでコンピューターにとって一番難しいことは様々は数式から y=3x の数式を探し出すことが一番の難点になります。
内挿と外挿について
ここで、内挿と外挿の違いについて説明します。
内挿と外挿の違いですが、持っているデータ $x$ の中でデータを予想する事を内挿と言います。
上に記載した写真の中だと、$x = 1〜4$ に関する事は実際にデータが揃っている範囲内での事になるので、内挿と言います。
しかし、$x = 5$ に関してはデータがそもそもないわけですから、これを外挿と呼びます。
機械学習では内挿の範囲内でしか処理できません。
株価について
未来の株価を予測するのは外挿ではないのか、と言う疑問が湧いてきますが、そうではありません。
現在までの株価の変動の範囲内(時期+変動の値)であれば、内挿の範囲内となります。
未来の株価も、今までの価格の範囲が今までの価格変動の範囲内であれば、内挿の範囲内ということになります。
しかし、株価が予想もしない突拍子もない値になってしまった場合、これは外挿の範囲内ということになります。
機械学習の推論
人工知能を勉強すると必ず出てくるキーワードとして、先述した学習と推論があります。
「どういったことを行うのか?」という具体的なイメージ(=推論したいこと、問題設定)を持っておくことで、実際に現場へ導入する際に、「どういった情報を集めるべきか」(=学習すべきデータ)が明確になるため、今回はこの学習と推論に焦点を当てましょう。
学習
学習では、ある入力と出力に対して情報をひもづけてあげるために、「この入力を行うとこの出力が得られる」といったデータを渡して、その規則性を見つけることを行います。
まとめ|人工知能、機械学習、ディープラーニングの違いとは
初心者の方に向けて、人工知能、ディープラーニング、機械学習の違いから、さらに発展して基本的な機械学習の内容から内挿、外挿までを解説させて頂きました。
これである程度、人工知能の周囲にある用語に対するアレルギーは取れたのではないでしょうか。
これから人工知能を学習する方にとって少しでも手助けとなれば幸いです。