人工知能の勉強備忘録

松尾豊氏の書籍「人工知能は人間を超えるかディープラーニングの先にあるもの」を読んで人工知能に興味を持ち、勉強したメモを忘れぬように備忘録としてまとめる

ディープラーニングとは何か

ディープラーニング(深層学習)とは何か?

 

これまでに二度あった人工知能ブームは、世間の期待値に対して、実現できることが極めて限定的でなおかつ、構造上、メンテナンスが大変であったため、「人工知能は役に立たない」という結論を持ってブームは去ってしまった。

 

ここから数十年、人工知能研究者は冬の時代を過ごすことになったわけだが、ついにこの冬の時代が終わる日が来た。

 

きっかけは、ディープラーニング(深層学習)

この技術は従来の考え方と根本的に異なり、人間がプログラミングして機会に学ばせるのではなく、機械自身に学ばせる、というもの。

 

Googleの関連会社であるDeepMind社が開発したこの技術を使った囲碁ソフト(AlphaGo)が囲碁のプロ棋士、それも世界トップレベルの棋士を打ち破って大きなニュースになった。

 

では、ディープラーニングとは一体何か。

 

ディープラーニングとは、適切な特徴抽出能力を持つ教師なしニューラルネットワークを多層にして構築したものです。 

などと言われたら、即ページを閉じたくなるでしょう。そもそも、上記の説明でもディープラーニングの説明としては不十分です。今の段階では、「機械が物事を理解するための学習方法」だと考えて下さい。

まず、ディープラーニングを理解するためには、ニューラルネットワークを理解しなければなりません。逆に、ニューラルネットワークを理解してしまえば、ディープラーニングの概要自体はかなり分かりやすくなります。

ニューラルネットワークと言うのは、人の神経を模したネットワーク構造のことです。それを踏まえて、そう言う構造を持った人工知能のこともそう呼びます。このニューラルネットワークでは、神経細胞を模したパーセプトロンと言う小さな計算機をたくさん用意し、一つの計算を協力して行わせるように作られています。

引用:深層学習(ディープラーニング)を素人向けに解説(前編)―基礎となるニューラルネットワークについて

 

松尾先生の著書では「特徴量表現学習」という表現をしているが、入力層と出力層の間に、隠れ層を設け、隠れ層では、入力層よりデータ量を減らす。

すると、データの特徴量を圧縮する際に、重み付けを行いより正確な特徴が抽出できるというもの。

この層を多段に設けることで最終的に特徴量としてベストなデータのみを残すことが出来るようになる。この自動符号化機を通すことで、ライオンと猫の赤ちゃんを見分けるような、従来の画像認識では難しかった領域が実現できるようになった。

 

実際に、2012年のIRSVRC(画像認識エンジンが競い合うコンペ)では、圧倒的なスコアでディープラーニングを搭載したエンジンが勝利した。

このことからも分かるとおり、ディープラーニングの実現は画期的なもので、これまで不可能だと思われていたことが実現できるようになったのである。