【神崎洋治のロボットの衝撃 vol.22】東大発ベンチャーC8Labに聞く(3) 「ディープラーニング超入門 多層や畳み込みのしくみ」

18-ai-60-main

今回は、いま話題の「機械学習」「ニューラルネットワーク」(NN)、「ディープラーニング」(DL)について、文系でもわかる超入門をお届けします。東京大学発のベンチャー企業「シーエイトラボ」(C8Lab)社のCEOをつとめる新村拓也氏に機械学習やAI技術について聞き、それをもとに用語やしくみを解説する第三回です。

今回はディープラーニングのしくみや、利点と課題を解説します。また、「畳み込む」ってなに? 「過学習」や「バックプロパゲーション」、更にはいま注目されている最新技術など、にも触れたいと思っています。これからディープラーニングの勉強を始めたいという方にも参考になれば嬉しいです。

18-ai-60

東京大学発のベンチャー企業「シーエイトラボ株式会社」の代表取締役/CEO 新村拓也(しんむらたくや)氏。Tensorflow勉強会の講師もつとめている


ニューラルネットワークとは

神崎(編集部)

いよいよニューラルネットワークやディープニューラルネットワークを使ったディープラーニングのしくみについて解説していきたいと思います。


新村(敬称略)

ニューラルネットワークは、人間の脳のしくみを模倣したもので、機械学習のひとつです。人間の脳は多数の脳神経細胞で構成されています。神経細胞ひとつひとつは深く考えたりはしていなくて、膨大な情報の処理と伝達が行われることで識別や判断等の考えが行われています。ニューラルネットワークは脳神経細胞に見立てた形式ニューロンを入力層-中間層-出力層に分けて配置しています。入力したデータは入力層で処理をされて中間層の多数のニューロンに送られます。中間層の多数のニューロンで処理したり伝達して出力層のニューロンに送られ、回答が出力されます。



18-ai-61

ニューラルネットワークのしくみ(模式図) 入力された情報は入力層で処理し、その情報は特徴量を算出する中間層の各ニューロンに伝達、多数の処理を行った後、出力層の各ニューロンに情報を伝達して出力結果(回答)を返す。図では入力層-中間層-出力層の3層で、中間層は1層を表している。

人間の脳のしくみは解明されていません。少しずつ解ってきたこととしては、脳自体はものすごい計算や認識能力を持っているわけではなく、300億を超える膨大な数の脳神経細胞(ニューロン)が様々に結合し、情報を伝達したり処理することで記憶したり考えたりできるのではないか、ということです。ニューラルネットワークは、形式的にニューロンを擬似的に設け、入力層-中間層-出力層に見立てて多数のニューロンを配置します。入力された情報はまず入力層の各ニューロンで処理され、主に特徴量の算出処理をする「中間層」の各ニューロンに伝送されます。情報を受け取った各ニューロンは処理を行い、また別のニューロンにその結果とともに情報を伝達します。この処理を繰り返すことで「特徴」(特徴量)が算出され、なんらかの処理結果を得られます。なんらかの処理結果とは曖昧な表現ですが、ものの認識であったり、分析や予測であったり、会話であったりと、用途によって様々に利用できる数値です。解りやすいように端折ってはいますが、これが「ニューラルネットワークは人間の脳を模倣している」という意味であり、処理をするしくみです。



中間層を多層のニューロン群で構成したディープニューラルネットワーク

新村

特徴量はニューロンの処理によって算出されるものですが、多数の訓練データを読み込ませて処理することで学習させることができます。理論上は訓練データが多ければ多いほど未知のデータに強くなり汎用性が増します。



第1回からの解説で、ニューラルネットワークでは「特徴量」がキーポイント、重要であることを解説しました。例えば、いろいろなものをコンピュータが識別できるようにするには、多くの画像を読み込ませて学習させます。従来はプログラマが犬を見分ける方法を定義していましたが、たくさんの訓練データがあればコンピュータはそれらを解析することで特徴量を学習します。

世紀の囲碁対決で知られるGoogleの「AlphaGo」はインターネット上の囲碁対局サイトにある3000万手に及ぶ膨大な棋譜データを読み込ませて学習させました。最初は人間が教え、途中からはコンピュータによる自動学習です。しかし、それでは学習が足りないということで、AlphaGo開発チームはコンピュータ同士で囲碁の対局を自動で行わせて、経験値とも呼べるデータを新たに学習・蓄積させました。その対局数は3000万局とも言われています。

このとき、用いられた技術や手法として注目されたのが「ディープラーニング」や「強化学習」です。

人間がひとつのことをじっくり考えることを「深く考える」などと言いますが、「中間層を多層にしてニューロンの数(情報伝達と処理)を増やせば、もっとたくさん深く考えられるのではないか」と考えたのが「ディープニューラルネットワーク」です。


18-ai-62

中間層を多層にしたディープニューラルネットワーク ディープラーニングは中間層を多層にしたディープニューラルネットワークで行う。ニューロンと層が増えることで、情報伝達と処理を増やし、特徴量の精度や汎用性を上げたり、予測精度を向上できる可能性がある(模式図の例では、上は中間層が2層、下は中間層が4層のディープニューラルネットワーク。実際には10〜20層の構成も多く使われる)

第1回で「分類問題」の話をしましたが、コンピュータに「これは犬である」という正解(ラベル)を付けたたくさんの犬の画像を入力して学習させると、特徴量をコンピュータが自分で抽出して「犬」を分類できるようになります。こうして、犬や猫、人間などの特徴量を学習すると、そのコンピュータは様々なモノを認識したり識別できるようになり、更には犬が何をしている、どこにいる、などの状態も把握できるようになると言います。


18-ai-63

犬を学習するディープニューラルネットワーク 「犬」という正解(ラベル)を付けた犬の画像を大量にコンピュータに入力して学習させると、犬の判別ができるようになる。正解付きデータで学習させる方法は「教師あり学習」と呼ばれる




バックプロパゲーション(誤差逆伝播学習)とは

新村

ニューラルネットワークの根幹技術に「バックプロパゲーション」というものがあります。コンピュータが出した誤差を元に出力層側から逆に伝達してニューラルネットワークを学習させる手法です。



18-ai-64

バックプロパゲーション(誤差逆伝播学習) 出力が期待とは違う場合、正解(最適解)との誤差を逆方向に情報を伝搬させ、各ニューロンの誤差を分析させる

少し技術的で難解な話になってきましたが、「バックプロパゲーション」はディープラーニングに限らず、ニューラルネットワークの技術的な話によく出てくる単語なので、もう少し解説を続けたいと思います。

「バックプロパゲーション」(誤差逆伝播学習)は、コンピュータの出した回答が正解ではなかったり、期待している数値とはかけ離れている場合などに、その誤差を出力側から逆方向に分析させて間違いを正したり、誤差を少なくするロジックです。私達の生活の中で例えるなら、計算問題で出した回答が間違いだったとき、回答から計算式をさかのぼって計算間違いをみつける、といった感じでしょうか。



「過学習」の解決と「畳み込み」

神崎

ニューラルネットワークやディープラーニングは「Googleの猫」(第1回で解説)やDeepMindが2015年に発表した「DQN」の論文をきっかけに開発者の間で注目されはじめました。そして、今年の3月、囲碁対決で勝利したことで今や一般の人にも人工知能と表現されて注目の的です。技術的にはどのような進歩があったのでしょうか。


新村

ディープラーニングの発想自体は新しいものではありません。しかし、以前はコンピュータのスペックもあまり高くなかったこと、データがないために「過学習」と呼ばれる問題が起きる等、解決しなければならない課題があり、ディープラーニングが流行らなかったと言えると思います。



「過学習」(over-fitting)と呼ばれるこの問題は、ディープニューラルネットワークをむやみに多層化して、パラメータの数が多くなりすぎると発生しやすくなると考えられています。過学習がもたらす悪さは、見慣れた訓練データに対しては確度が高い回答ができる一方で、訓練データにはない未知のデータに対しては精度が下がる(訓練データの影響を受けすぎる)という現象です。つまり、訓練のときには好成績なのに、実践では成果が出せない、そんな状態です。これは汎用性に欠けるという課題を生み、ディープラーニングにとっては停滞期とも呼べる時間の経過がありました。

新村

この問題を解決した具体策としてあげられるのは、「畳み込み」や「事前学習」です。



ニューロンが多く複雑化すると本来は無関係な結合も増えて、それが悪影響を及ぼして「過学習」の原因になることもあります。機械の正解率を上げるためには、層を増やす一方で「無関係な結合を切る」ことが重要になります。しかし、無数のニューロンの結合のうち、どれが有効でどれが無関係かをどうやって判断させれば良いでしょうか。
また、バックプロバケーションによって出力側から誤差を確認させる方法も紹介しましたが、全て結合させて多層にした状態でバックプロパゲーションをしてしまうと誤差伝播が分散してしまい、全然学習が上手くいかないので、それを回避するためには無関係な結合は切ってしまおう、という発想もあります。畳み込みニューラルネットワークの特徴のひとつが、無関係な結合を切って関係性が高い結合を残すことです。実際、畳み込みニューラルネットワークではパラメータの数は激減し、多くの場合で成果が向上します。

神崎

「畳み込みニューラルネットワーク」というか「コンボリューショナル・ニューラルネットワーク」略して「CNN」が、最近話題になっていますね。「畳み込む」とは、いったい何をどのよう畳むことを言うのでしょうか?


新村

畳み込みのしくみを「畳み込み」という名前の意味から理解しようとするのは難しいですね。というのも「畳み込み積分」などの数学用語としてよく用いられる言葉から来ていて、一般に「畳む」や「折り込む」から受ける言葉の意味とは異なるからです。



「畳み込みニューラルネットワーク」(Convolutional Neural Networks)の「畳み込む」とはどういうことでしょうか。

例えば、画像の情報を入力する場合、まずは画像の一部の範囲に絞って入力します。次にその範囲を少しずつスライドさせながら解析と入力を繰り返します。下の画像例で言えば、画像の左端から特定のピクセル数で一部の範囲で切り出して情報を入力、その窓をスライドさせるように次の範囲に移動して解析、これを繰り返して全体像を入力するイメージです。

18-ai-71

画像の畳み込み例 画像の一部の領域(A)を解析し、その領域の窓をスライドさせて次の領域(B)、更に次の領域(C)と繰り返していく「畳み込み」

新村

これは画像で言うと空間を把握する効果も伴います。例えば、この画像では遠く離れた領域Aと領域Zの関係性は薄く、AとZを結びつけたところで、正解を導くのには役に立たないとしますね。



18-ai-72

空間を把握する AとZの領域の関係性は薄いと考えられる

旧ディープラーニングではAの領域の情報もBの領域の情報もすべて次の層の同じニューロンに伝えていました。


18-ai-73

すべてのニューロンに情報を伝達 すべてのニューロンに伝搬することで無関係な結合を生みやすい

そこで、Aの領域の情報はAに関係の深いニューロンだけに、Bの領域の情報はBに関係の深いニューロンだけに伝えます。これは層間の結合を制限することになりますが、これによってバックプロパゲーションの効率も上がり、学習の成果が上がるケースが多く見られるようになったのです。「正解を導くことに無関係な結合を切った」ということです。


18-ai-74

畳み込みで学習の効果が上がる 関係性の高いニューロンだけに伝搬することで学習の効果が上がり、ディープラーニングの成果に繋がった

畳み込みニューラルネットワークによって、機械学習やディープラーニングによる成果が大きく向上しました。



教師あり学習と教師なし学習

神崎

「とにかく多数のニューロンに情報を伝搬しろ」という考えから一歩進んで、「いかに有効なニューロンにたくさん伝搬するか」に重きを置くと、ディープラーニングの精度が具体的に向上することが解ってきた、ということですね。


新村

ほかにも、初期のパラメータが重要でその重みの設定もディープラーニングの結果に影響すると思います。先ほどは「教師あり学習」の例が出ましたが、この画像は犬であるとか、この場合1時間後の株価はいくらである、というように入力データと正解が1対1で紐づいている学習のことです。「教師なし学習」というものもあって、入力画像はあるけどその正解データは与えられないものです。出力と入力が同じになるデータで学習させる「オートエンコーダ」などの分類手法などでよく用いられますし、将来の期待値が高くなるように次のアクションを決定する強化学習も教師なし学習です。



18-ai-75

事前学習では、2006年にジェフリー・ヒントン氏らが考案した「オートエンコーダ」等が知られています。これは入力と出力が同じになるデータを用いてニューラルネットワークを学習させるアルゴリズムです。今回は詳細の解説は割愛しますが、「スパース・オートエンコーダ」や「ディープ・オートエンコーダ」などの用語で検索すると情報がみつかるでしょう。

Youtubeの画像1,000万枚を使い、教師なしの事前学習を行った結果、ニューラルネットワークが自律的にモノの存在を認識できることがわかりました。そのモノの特徴を描かせた画像のひとつが「グーグルの猫」です。その後、教師あり学習で訓練を行って画像認識精度を向上させました。分類機を作ってこのニューラルネットワークを評価すると、従来の認識率より相対比70%以上の精度向上が見られたといいます。とりわけ画像や音声の認識には大きな成果を上げていて、多くの分野で実用化が始まっています。画像や音声認識以外でも、会話チャットボット、さまざまなデータ分析や予測等で活用される見込みです。



これからのディープラーニング

人工知能やディープラーニングがブームになって、最先端のCNNアーキテクチュアも次々に発表されています。本コラムでは詳しく触れていませんが、新村氏によれば、画像認識の分野では特にGoogleの「Inception」やMicrosoftの「Resnet」(Residual Network)等に注目が集まっていると言います。

MicrosoftのResnetは、最先端のCNNアーキテクチュアで、画像認識コンテストの「ILSVRC 2015」では全ての部門で第一位を獲得し、人間の学習能力を超えたとも言われています。ディープラーニングを勉強する際にはチェックした方がいいかもしれません。

GoogleのTensorFlowのように一般の技術者が気軽に利用できるライブラリ環境が提供され始めたことで、ディープニューラルネットワーク、ディープラーニングの導入はますます進むことが見込まれています。その一方、多層化するほど過学習を回避する高度な技術が求められたり、ビッグデータの集積や訓練学習を行うためには超高性能なマシンパワーが必要とされたり、お金とビッグデータを持っている企業がひとり勝ちするのでは、という声も聞こえてきます。

汎用人工知能の実現にはまだまた遠いものの、周辺技術の急速な変化からは目が離せません。

今回の機械学習とニューラルネットワーク、ディープラーニングの超入門は如何でしたでしょうか。わかりやすさを優先したため、技術解説としては適当とは言えない部分もあったかもしれませんので、技術者や開発者の方は正確な情報理解のために専門書の併読をお願いします。

また、今回のコラムの内容を含めて、人工知能の技術をやさしく解説したり、ビジネス活用事例を紹介する書籍を現在執筆中です。出版されたらこのコラムでもご案内しますのでそちらも是非ご期待ください。


【追記】発売されました!「図解入門 最新 人工知能がよ〜くわかる本」です。
人工知能の最新情報とビジネス活用を網羅した書籍「図解入門 最新人工知能がよ~くわかる本」が発売


About the author / 

神崎 洋治
神崎 洋治

神崎洋治(こうざきようじ) TRISEC International,Inc.代表 「Pepperの衝撃! パーソナルロボットが変える社会とビジネス」(日経BP社)や「人工知能がよ~くわかる本」(秀和システム)の著者。 デジタルカメラ、ロボット、AI、インターネット、セキュリティなどに詳しいテクニカルライター兼コンサルタント。教員免許所有。PC周辺機器メーカーで商品企画、広告、販促、イベント等の責任者を担当。インターネット黎明期に独立してシリコンバレーに渡米。アスキー特派員として海外のベンチャー企業や新製品、各種イベントを取材。日経パソコンや日経ベストPC、月刊アスキー等で連載を執筆したほか、新聞等にも数多く寄稿。IT関連の著書多数(アマゾンの著者ページ)。

連載・コラム