深層学習(ディープラーニング)を素人向けに解説(後編)―特徴選びの重要性、機械はどうやって物事を理解するのか?

ディープラーニングとは?

機械がどのような過程で物を学び、情報を関連づけながら理解していくのかについては理解出来ました。しかし、ディープラーニングの説明がまだ始まっていません。

実は、ここまで来るとかなりゴールに近づいてきています。というのも、上述のニューラルネットワークが物を理解する過程というのはあくまで理想論であり、厳密にはこの域に達していないからです。ある意味、説明するべき段階を説明し終え、余計に説明したようなもの。

実は、ディープラーニングと言うのは小さなまとまりとして構成したニューラルネットワークの一つ一つに役割を与え、理解するべき内容を出来る限りシンプルにしてから理解させようという試みに過ぎないからです。

言わば、ニューラルネットワークで多数の班を作り、班ごとにシンプルな役割を与え、各班に順番にタスクをこなさせる学習方法がディープラーニングということです。

ただ、これの凄いところは、その役割の分担や理解すべき内容の単純化を機械自身が行えるという点にあります。

少し抽象的ですが具体的に言えば、
「写真を見たらとりあえず映像を小分けにして解析する」
「Wikipediaを読んだら段落ごとに分けて解析する」
みたいなものです。

そして、小分けにして解析したものに優先順位をつけつつ、情報の関連性を探っていきます

写真が犬なら、観察担当(入力層)の人たちは
「牙とか耳とか口とか特徴的だよな。とりあえず、動物っしょ」
「牙尖ってんじゃん。肉食だな」
「耳が立ってる?狼とか?」
「いや、猫系にも居るじゃん。とりま、絞れたっしょ」
「後は模様とか色とか特徴的なのピックアップしようぜ」
とまあ、こんな感じ。ノリが軽いですが、一人で全てを判断するわけではないので、かなりアバウトな判断で止めています。

こうして、特徴的な部分を勝手に抽出してきた最初の分割チームは、次のチームに情報を渡します。

次のチームは、
「動物、肉食らしい尖った牙、耳が立っている、模様と色はコレらしいけど、どう思う?」
「あ、肉食なら俺得意だぜ」
「耳尖っている動物好きだから見せて」
「模様なら俺に任せろ」
のように、得意分野毎に割り振っていきます。

そうして、一人一人の得意分野が、いくつかの動物の例までピックアップしてくれました。「ライオン」「三毛猫」「狼」「柴犬」などなど、合ってるものから違うものまで様々です。

最後に判断を下す幹部的なポジション(出力層)の人たちはこれらの情報を糧に、
「本当に似ているか」
「とりあえず、ライオンはない」
「一番近いのは狼だろう」
と、やっと判決が下ります。

「役割分担して判断って、当たり前にやってることなんだけど」と思ったら、そのとおりです。人間に近い考え方が出来るようになったことが、ディープラーニングで注目されている進歩の一つなのです。

特に、今まではこの役割分担については人が教えながらやって来ました。しかし、このディープラーニングの学習方式は、人工知能が自ら役割分担してチームを作るので、人間のやり方にかなり近いものになります。

今までの機械は、はっきり言って色や文字の並びを片っ端からデータベースと比較して、一番似ているっぽいものを探して答えてました。正確な答えが欲しければ時間が掛かりますし、すぐに回答が欲しければ、本当に部分的に似ているだけの答えが出てきます。

言語の翻訳などもそれに近く、辞書的に文法や単語を見て、単語を並べ替えているだけでした。それがようやく、ディープラーニングを駆使することで、人間に近い思考回路を持って、なんとなくだけれども「理解」した上で答えを出すようになったのです。

 

参考資料:
ニューラルネットワークと深層学習(http://nnadl-ja.github.io/nnadl_site_ja/index.html)
はじめるDeep learning(http://qiita.com/icoxfog417/items/65e800c3a2094457c3a0)

 

サイトの内容を電子書籍でまとめて読める!

(Amazon Kindle版)

※当サイトで掲載されている人工知能関係の記事に大幅な加筆修正を加えて製作されたものです。