最近、Googleが開発したDQN(Deep Q-Network)と言う日本人からするとユニーク名前の人工知能が話題になりました。これには、ディープラーニング(Deep Learning)と言う人工知能の学習手法が用いられており、同様の手法を用いた人工知能が従来の人工知能の学習能力をあっさり上回ってしまったと世間を騒がせています。
しかし、このディープラーニングというのがいまいちよく理解されていません。非常に有用な手法であり、今後のビジネスに深く関わってくるということもあって専門家向けの解説は多数見受けられるのですが、素人向けの解説があまりありません。
本記事では、プログラミングや人工知能について全く詳しくない素人の方にも分かりやすくい形でご説明していきたいと思います。
関連記事:
・ディープラーニングの人工知能は囲碁や将棋やチェスをどんな風に考えて指すのか?
・真の人工知能って何?チューリングテストと知能、ディープラーニングは人間を超えるか?
解説の前に、本記事の目的は素人向けに噛み砕いて説明する内容のため、「厳密に言うと違う」という様な部分もございますので、予めご了承下さい。
ディープラーニングとニューラルネットワーク
ディープラーニングとは、適切な特徴抽出能力を持つ教師なしニューラルネットワークを多層にして構築したものです。
などと言われたら、即ページを閉じたくなるでしょう。そもそも、上記の説明でもディープラーニングの説明としては不十分です。今の段階では、「機械が物事を理解するための学習方法」だと考えて下さい。
まず、ディープラーニングを理解するためには、ニューラルネットワークを理解しなければなりません。逆に、ニューラルネットワークを理解してしまえば、ディープラーニングの概要自体はかなり分かりやすくなります。
ニューラルネットワークと言うのは、人の神経を模したネットワーク構造のことです。それを踏まえて、そう言う構造を持った人工知能のこともそう呼びます。このニューラルネットワークでは、神経細胞を模したパーセプトロンと言う小さな計算機をたくさん用意し、一つの計算を協力して行わせるように作られています。
※厳密には、神経細胞を模したものは「人工ニューロン」であり、それに入力層(input)と出力層(output)を合わせて構成される装置がパーセプトロンとなります。
(神経細胞_Wikipedia)
上が神経細胞で、下がパーセプトロン。人工知能の持つ神経細胞みたいなものですね。上図のパーセプトロンは左から3本、右に一本矢印が伸びていますが、実際にはもっと沢山矢印が伸びると考えて下さい。
そして、ニューラルネットワークと言うのは、それを大量に集めて作られた下図のようなネットワークのことです。
実際の神経細胞は、信じられない数の枝があちこちに伸びながら複雑に絡み合っています。ニューラルネットワークも実際に使われている規模になってくると、実際の神経細胞並みに複雑な枝があちこちに伸び、ちょっと見ただけでは分からないほど複雑になってしまします。
ただ、上図だけではニューラルネットワークの肝となる仕組みは理解できません。人の神経細胞の最大の特徴は一つ一つの神経の繋がりの強さが自在にコントロールされているという点にあり、この繋がりの強さを目的に合わせてコントロールすることで、効率的な計算ができるようになっています。
複雑に絡み合う道路が目的や場所に合わせて広さが違うのと同様に、神経もよく使う神経は太くなるように作られています。言い換えると、「重要な繋がり」と「補助的な繋がり」を理解できることがニューラルネットワークの最大の特徴であるとも言えます。