メディア

NVIDIAが解説するディープラーニングの基礎(前編)歴史から仕組み、学習まで(2/4 ページ)

» 2018年04月26日 09時30分 公開
[松本貴志EE Times Japan]

ディープラーニングの概要

 このディープラーニングについて、山崎氏は「多数の層から構成されるニューラルネットワーク」と定義を紹介した。ニューラルネットワークは、入力層と出力層の間に「隠れ層」が入る構造をとるが、「従来のニューラルネットワークでは隠れ層が1層程度しか入ることがなかったが、ディープラーニングでは隠れ層を多数積み重ね、深いネットワーク構造をとる」(山崎氏)と説明する。

ディープラーニングの概要(クリックで拡大)

 従来の学習アルゴリズムでは、多数の隠れ層が存在した場合に学習が困難という課題があった。ディープラーニングでは、学習に大量のデータを必要とするがこの課題を克服し、多数の隠れ層を含有した構造を持つことが可能となった。

ディープラーニングの仕組み

 ディープラーニングを含めニューラルネットワークは、神経細胞を模擬したパーセプトロンを基本単位として処理を実行する。パーセプトロンは任意の重み係数で互いに結合しており、その処理は複数の入力に対して重み係数を掛け、それらを足し合わせることで単一の出力を行うというものだ。

 このパーセプトロンを層として並べ、前後の層のパーセプトロンを結合することで階層型ニューラルネットワークが形成される。ここで、ある層の出力値はその後層の入力値にそのままでは用いられず、「活性化関数」によって出力値は変換され、その後の層の入力となる。山崎氏は「この処理を繰り返すことで(ニューラルネットワークは)重要な情報を抽出することができ、層を深くすることで高度な処理が可能になる」と説明した。

左:パーセプトロンと階層のイメージ 右:活性化関数の概要

 また、ニューラルネットワークでは「学習(training)」と「推論(inference)」の2フェーズが存在し、学習はパーセプトロンの結合重み係数を調節する作業となる。一般的に学習では、大量の学習用データに対して先んじてラベリングを行い、このデータセットをニューラルネットワークに入力する。ここで、ネットワークが誤った出力をした場合には何らかの手段で誤りを定量化し、重み係数にフィードバックをかけることでネットワークの学習を行う。推論は、学習が完了後のネットワークを用いて処理を行っている。

学習(training)と推論(inference)のイメージ(クリックで拡大)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.