ニューラルネットワークとは|仕組み・学習手法・活用事例・ディープラーニングとの違い

このエントリーをはてなブックマークに追加


近年、新たな技術革新として話題に上がるAI(人工知能)を支えている技術がニューラルネットワークです。

本稿では、AIで「魅力」の予測や向上を図る「魅力工学」を研究し、さまざまな企業と共同研究を行っている、東京大学大学院情報理工学系研究科の山崎俊彦准教授監修のもと、ニューラルネットワークについて詳しく解説します。

山崎俊彦氏
東京大学工学系研究科電子工学専攻修了。工学博士。 現在、東京大学大学院情報理工学系研究科電子情報学専攻准教授。 2011~2013年まで米国・コーネル大学 Visiting Scientist。 ビッグ・マルチメディア・データを用いた魅力工学の研究に従事。

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


Photo by Ahmed Gad on Pexels

ニューラルネットワーク(Neural Network)とは、脳の神経回路の一部を模した数理モデル、または、パーセプトロンを複数組み合わせたものの総称です。入力値を関数に入れて、ある値を出力します。

ニューラルネットワークの歴史


ニューラルネットワークの歴史は1943年、人間の脳を模したモデルが提唱されたところから始まりました。

第一次AIブーム「パーセプトロン」

1957年に考案されたニューラルネットワークである「パーセプトロン」(後述)は、人間の視覚や脳の機能を模したとして注目を集め、1回目のAIブームとなりました。しかし、「*線形分離不可能な問題を学習できない」弱点を指摘されるなどによって、ブームは下火に向かいます。

第二次AIブーム「マルチレイヤーパーセプトロン」

2回目のブームは1986年、「誤差逆伝播法」が開発されたことによって起こります。誤差逆伝播法では、パーセプトロンを発展させたニューラルネットワークである「マルチレイヤーパーセプトロン(後述)」が用いられ、より複雑な学習が可能に。

しかし、インターネット登場以前の当時は、機械学習に利用可能なデータが少なかったため、**多層ニューラルネットワークの学習精度がなかなか向上しないなどの問題から、ブームはまた下火に向かいました。

第三次AIブーム「ディープラーニング」

2006年に開発された***「オートエンコーダ」という技術により、ニューラルネットワーク自身で特徴を捉えることが可能になりました。オートエンコーダと多層ニューラルネットワークを用いた学習方法は「ディープラーニング」と呼ばれ、3回目のAIブームのブレイクスルーとなり、現在に至っています。

*ふたつの集合が二次元平面上にあるとき、それらの集合を一本の直線では分離できない場合
**「入力層」「隠れ層(中間層)」「出力層」で構成されるニューラルネットワーク
***ニューラルネットワークの出力層の値が入力層と同じになるように、重みのパラメータを調整する手法。途中の層で次元数を落とす処理が入るため、入力の値を再現するのに本質的な情報を残したり、逆にノイズを除去したりする働きがあると言われている。

機械学習やディープラーニングとの違い・関係性

ニューラルネットワークとあわせて耳にすることが多い単語が「機械学習」や「ディープラーニング」です。混同されたり誤解されやすい、両者の違いについて解説します。

機械学習とは?

機械学習とは、コンピューターが大量のデータを学習し、分類や予測などのタスクを遂行するアルゴリズムやモデルを自動的に構築する技術です。

機械学習を機能させる技術・アルゴリズムとして、ニューラルネットワーク以外にも、

  • ニアレストネイバー法
  • 決定木
  • ランダムフォレスト
  • サポートベクターマシン

など、さまざまな手法が存在します。

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

ディープラーニング(Deeplearning)とは、ニューラルネットワークを多層に結合して表現・学習能力を高めた機械学習の一手法です。

単純に多層にするだけでは、表現力不足や過学習などの問題がありましたが、Dropout法(後述)やReLU(後述)など、数々の工夫とビッグデータの助けにより、それらの問題が解決されました。

現在、ニューラルネットワークのアルゴリズムとしてもっともよく用いられている手法です。

ニューラルネットワークの仕組み

Photo by Gerd Altmann on Pixabay

ニューラルネットワークは、どのような仕組みで動いているのでしょうか。ここでは、過去3回のAIブームで、それぞれ用いられてきたニューラルネットワークである「パーセプトロン」「マルチレイヤーパーセプトロン」「ディープラーニング」を順番に解説します。

パーセプトロン 

1回目のブームをけん引したのが「パーセプトロン」という技術です。

まず、入力層にデータを入力し、そのデータを認識をするための指標である*特徴量を入力します。その入力に対し、ニューロン間の接続強度に相当する重み w1 w2‥.を掛けたものを、出力層のニューロンに入力します。出力層のニューロンで、この入力を足し合わせたものを**活性化関数に通し、最終的な結果を出力します。

わかりやすくこれを二次元で考えてみます。

――山崎
「直線で○と☓を分類する際に、最初はランダムに線を配置し、ここは違うから少し動かす、また違うから少し動かす、というように、数学的に最適な方法で境界線を動かします。これをすべて正しく学習させる、もしくは、上限の回数を設定しそこに到達するまで学習を繰り返すことで、正答率を上げます。これが「パーセプトロン」と呼ばれる初期のニューラルネットワークです」

*学習データにどのような特徴があるかを数値化したもの
**ニューラルネットワークにおいて、線形変換をした後に適用する、非線形関数もしくは恒等関数

しかしこれでは、複雑な分布を持つ(具体的には線形分離不可能な)問題について適用ができませんでした。

マルチレイヤーパーセプトロン 

2回目のブームをけん引したのは、入力層と出力層の間に隠れ層を取り入れ、多層にした「マルチレイヤーパーセプトロン」でした。この技術により、「パーセプトロン」では処理ができなかった非線形分離も可能になり、複雑な処理ができるようになりました。

――山崎
「複雑な数式を分解し、シンプルな問題の組み合わせにしていく。その際、最後の数式を最適化(微分)、次に最適化したものを最適化……と後ろから順に解いていけば、楽に最適化(微分)ができます。これを『誤差逆伝播法』と言います」

しかし、微分を繰り返すことにより、誤差がコンピューターの認識範囲を超え、「誤差がない」と判断してしまう「ゼロ喪失」という問題が発生し、学習がうまく進まなくなりました。

さらに、当時の技術では、層を3、4、5層と複雑にすることで、学習データに適合しすぎてしまい、学習データと異なるデータでは、正答率が低くなる「過学習」が発生しやすくなりました。

このような欠点により、2回目のAIブームも下火になりました。

ディープラーニング

現在の3回目のブームを牽引しているのが「ディープラーニング」です。2回目のブームまでは、入力層に人間が指定した特徴量を入力していました。しかし、ディープラーニングは、層を複数にすることで、特徴量をコンピューターが判断できるようになりました。

――山崎
「たとえば、層が複数あると、ある層は色について考える、ある層はエッジ(境界線)について考える、のように分解して考えられます。
何を基準とするべきかを、ディープラーニングが自動的に学習できるようになり、人間が考えた特徴量よりも認識精度が高くなりました。しかし、特徴量をコンピューターが判断するため、出力の根拠が可視化されず、ブラックボックス化してしまうという欠点もあります」

Pre-train & Fine-tune


ディープラーニングの学習手法のひとつとして、「Pre-train & Fine-tune」があります。

「Pre-train & Fine-tune」は、事前に一般の画像情報を学習させ、それを専門分野の画像に転移して学習させ解析する学習手法です。上の画像は、イラストで描かれた人や犬の検出をしています。

このイラスト画像をそのまま学習しようとしても、イラスト画像に対する学習データはあまり存在しません。それに対し、自然画像に対する学習データは多く存在します。そこで、まず自然画像で学習し、さらに二段目では自然画像をイラスト風に画風変換したもので再学習し、最後にイラストを使うという多段階のFine-tuningをしています。

――山崎
「たとえば医療画像を解析したいとき、医療の画像だけでは、学習のために十分な量を集めることが困難です。ゆえに、まずインターネット上のさまざまな画像を学習させ、一般的な『画像とはどういうものか』、つまり人間で言う『常識』を身に付けさせます。これを基本とし、専門知識として医療画像を追加で学ばせることで、専門的な画像を解析できるようになります」

現在のニューラルネットワークの学習手法

Photo by felix_w on Pixabay

このように、AIにおけるさまざまな技術の発展により、現在は3回目のAIブームに突入しています。現在のAIの主要な手法であるニューラルネットワークには、さまざまな学習方法が考案されています。そのなかで、主に活用されているふたつの例をご紹介します。

Dropout法

Dropout法は、「一度学習したネットワークの一部をわざと一度忘れさせる」学習法です。具体的には、ニューラルネットワーク中の重みの一部(たとえば半分)を強制的に0にリセットさせて再度学習を行います。

――山崎
「人間も何度も忘れては勉強するということを繰り返して知識が身につくように、Dropout法では、一度学習させた内容の一部をあえて忘れさせ学習、また忘れさせて学習……を繰り返します。現在の視野を一度忘れさせ、新しく広い視野で、また学習させる方法です。これにより局所的最適解に落ちることをできるだけ防ぎます」

確率的勾配降下法(SGD)

確率的勾配降下法とは、確率的に高く示された「最適化する」方向へ進んでいく学習方法です。

――山崎
「たとえば、樹海で遭難したとします。山の形の全貌がわからないのでどの方向に進めば助かるのかわからない。そんなときに、(多少のランダム性を許して)少しずつ動いては、助かる確率が高いと思われる方向へと進んでいくようなものです」

活性化関数(ReLU)

ReLUとは、負の値のときは0を出力し、正の値のときはその値をそのまま通す、最適化に用いられる活性化関数です。

この関数を通すことで、ニューラルネットワークの精度が上がると考えられており、研究が進められています。

代表的なニューラルネットワークの種類

ニューラルネットワークにはさまざまな種類が存在します。ここでは「CNN(Convolutional Neural Network)」「RNN(Recurrent Neural Network)」をご紹介します。

CNN(Convolutional Neural Network)

CNNとは、入力層と出力層の間に、入力データの特徴量を捉える「畳み込み層」と、その特徴への依存性を減らす「プーリング層」を加えたニューラルネットワークのモデルです。

主に、画像認識に用いられています。また、言語処理や音声処理においても何らかの形でデータを2次元行列の形にしてCNNを適用することもあります。

まず、畳み込み層において、画像などのデータから特徴を捉えます。プーリング層は、対象の特徴の位置が入力データのなかで多少ずれている場合も、同じ特徴として認識する機能を持ちます。このふたつの層をひとつのペアとして繰り返し、最終的に、画像全体から抽出された特徴を組み合わせることで、対象物を認識します。

RNN(Recurrent Neural Network)


RNNとは、不定長かつ順序関係のあるデータをより自然に扱うことができるニューラルネットワークのモデルです。

CNNとは異なり特徴的なのは、隠れ層での出力値をそのまま入力値として使うフィードバックループの機能を有していることです。主に自然言語処理や音声処理のような時系列データに多く使用されます。

たとえば、RNNの言語モデルに「寒い日は」と入力すると、その後、「続きます」「終わります」などの単語を、出力可能性が高いとして予測します。

ニューラルネットワークを応用したAIビジネス活用事例

Photo by Gerd Altmann on Pixabay

今回、記事の監修をしていただいた山崎先生が研究されている「魅力工学」の分野で、ニューラルネットワークを使ったAIが活用されている例を4つ紹介します。

魅力工学とは、画像や写真といったデータに人工知能を用い「心に刺さる」「映える」といった魅力を定量化し、その要因を解析したり、増強したりする研究です。

プレゼン解析「プレトレ」


プレトレ」とは、自分のプレゼンが視聴者にどう受け取られそうかを予測・解析できるサービスです。

内容や言葉遣いなどの言語情報、テンポや抑揚などの音声・音響情報を学習させ、14種類の評価尺度から、プレゼンテーションが観衆にどう受け取られるかを解析します。

以下の画像は、スティーブ・ジョブズ氏とビル・ゲイツ氏のプレゼンを解析した例です。

ジョブズのプレゼンは、「Funny(面白い)」に加え、ちょっとジョークがきついので「obnoxious(不快な)」、さらにはさすがジョブズと言いたくなる「Informative(情報豊かな)」「Fascinating(ワクワクする)」「Ingenious(天才的な)」といった項目がみられます。

対して、ビル・ゲイツのプレゼンは、ジョブズのような「Fascinating」や「Funny」といったきらびやかな印象はないものの、ジョブズにはない「Persuasive(説得力がある)」や「Courageous(勇敢な)」のような印象を与えると解析されています。

スライド制作支援

この実験は、プレゼンのためのスライドをAIに読み込ませ、「人間の目がどこに誘導されやすいか」や「改善すべき点はどこか」を可視化し、デザインの改善を支援する研究です。

以下の例は、生まれてはじめてスライドを作る参加者が、アインシュタインが何者かを説明するスライドを作成した経過です。

オリジナルのスライドでは文字のみの構成で、これをVisual Importance Map [Bylinski, UIST17]というAIを通してヒートマップで表すと、全体的に赤く表示され、視線の誘導が上手くできていないのではないかということが推察されます。そこで改善した中央のスライドでは重要なキーワドをハイライトしたり行間を空けたりして、そこに人間の目が誘導しやすく改善されています。

さらに、中央のスライドに改善点可視化のシステムを用いて見ると、ポイントが如実に現れます。中央スライドの例では、文字が詰まっているところ、不自然にスペースが空いているところが指摘されているようです。この結果を踏まえ、被験者が改善したものが、以下のスライドです。

最初のスライドに比べ、写真や文字に色が入り、行間も整っていて、見やすい資料に改善されています

マッチングサービス「Pairs」

マッチングサービスの「Pairs」では、絞り込み検索に漏れた人同士を、AIがマッチングさせる機能を共同研究しており、開発が進んでいます。

条件検索では、年収や職業、学歴などを指定し絞り込むと、「素敵」と思える人も検索結果から漏れてしまいます。そこでAIが、条件には漏れたがうまくマッチングが成立しそうな人を示して可能性を広げてくれるという機能です。

穴場の観光地推薦 

世界中の観光地のなかで、訪問者数が少ないものの、いいね数が多く、インスタ映えする写真が撮れる場所をAIが抽出し、推奨してくれるものです。

たとえば、ニューヨークでいうと、ハドソン川を渡ってニュージャージー側へいくと、マンハッタンの北から南まで一望できるいい写真が取れる場所、のように推薦してくれます。

技術で「匠」になる基礎をサポートしたい

最後に山崎先生の研究における考えについて聞きました。

――山崎
「現在のAIは、すごいと言われる反面、少しノイズを入れるだけで、簡単にミスをすることがあります(敵対性的画像生成と呼ばれます)。たとえば、自動運転において、止まれの標識で、ノイズによる誤認識が入り、車が止まらないと非常に危険です。現在我々は、これの原因と防ぎ方について、興味深い研究をしています」

あわせて、山崎先生のAI研究におけるポリシーについてもうかがいました。

――山崎
「僕は、AIにすべて任せることには興味がありません。人間の能力を高める、その手助けとしてAIを使うことに非常に面白さを感じます。

たとえば、さまざまな業界の一線で活躍する「匠」の技術力やそのセンスは可視化ができず、「匠」の領域にたどり着くには、大きな努力と時間をかけたトレーニングが必要です。その必要な基礎能力を得るために、3年のトレーニングが必要だとすると、僕はそこに技術を用いて、1年で得られるように支援したいと考えています。営業マン、家電量販店では販売員により売り上げが十倍違う場合もあります。

そのような初心者を0点から70点までの「匠」になる基礎を技術でサポートし、70点から上の「匠」の領域に早く人間がたどり着けるよう、支援したいと考えています」