ディープラーニングって何?
AI、機械学習、ディープラーニングの違い
関連する用語であるAIや機械学習との違いを見てみましょう。
AI
人間の知能を人工的に再現するものを指す。
コンピューターを用いて計算を行い、人間の知能を再現しようとしている。
機械学習
AIを実現するための技術のひとつ
コンピュータにデータを与えパターンを学習させることで、人間の知能を再現する
学習の分類として「教師あり学習」と「教師なし学習」に分かれています。
教師あり学習
- データとその答えをコンピュータに与え学習させることで、未知のデータの予測を行う。
- データの属するグループを予測する「分類」と、データの変化を予測する「回帰」の2種類があります。
教師なし学習
- データに隠れているパターンや構造を学習する方法。
- 有名なものに「クラスタリング」があります。
ニューラルネットワーク
機械学習の手法の1つです。
脳の神経細胞を模倣したニューラルネットワークを用いて機械学習を行います。
ディープラーニング
ニューラルネットワークを進化させた手法です。
コンピュータが自動的にデータの特徴を抽出し学習してくれるという特徴を持ちます。
応用した手法として、画像認識などに強みを持つ畳み込みニューラルネットワーク(CNN)や、時系列情報の分析などに強みを持つ再帰ニューラルネットワーク(RNN)などがあります。
ニューラルネットワークとは
人間の脳内を数式を用いたアルゴリズムで模倣したネットワークです。
人間の脳内
- 脳の神経細胞(ニューロン)の樹状突起が軸索で結合されることで構成されたネットワーク。
- 電気信号がニューロンで構成されたネットワーク上を流れることで、情報が伝えられていきます。
ニューラルネットワーク
- 人工的に再現したニューロン(人工ニューロン)を多数結合して構成されたネットワーク。
- 入力値を活性化関数で出力値に変換して次層の入力値として渡す。これを繰り返すことで情報が伝えられていきます。
人工ニューロン = パーセプトロンではありません
人工ニューロンとパーセプトロンを同じものとして扱う記事をいくつかみましたが、この2つは同じものではありません。
人工ニューロンの種類の一つとしてパーセプトロンがあります。
パーセプトロンの活性化関数はステップ関数であり、複数の入力に対して0または1の値を出力します。
そのため出力データが二進数であり、複雑なデータ分析はできません。
他のものとしてはADALINEや多層パーセプトロンがあります。
ディープラーニングとは
機械学習の手法の一つで、ニューラルネットワークの隠れ層を複数重ねたディープニューラルネットワーク(DNN)を用いた学習手法のことを指します。
十分なデータを与えることでコンピュータが自動的にデータの特徴を抽出し学習してくれるという他の機械学習の手法と比べても特異な特徴を持ちます。
従来のニューラルネットワークでは隠れ層が1つでしたが、ディープニューラルネットワークではこれを2つ以上に重ねることでより高い精度を出すことができるようになっています。
ニューラルネットワークの隠れ層を多層化して精度をあげるという考え方自体は昔からありましたが、下記の3つの問題によりこれまで実現することができませんでした。
- 実際は多層化しても精度が上がらなかったこと。
- 学習を行うために大量のデータが必要なこと。
- 高い処理能力を持つコンピュータが必要であること
しかしこれらの問題が
- バックプロパゲーション(誤差逆伝播)やロジスティック関数、オートエンコーダの登場により、多層に重ねることで精度を向上させることができた。
- 大量のデータを容易に集めることができるようになった。
- コンピュータの精度が飛躍的に向上した。
ことによって解決され、実現することができました。
Discussion