検索
連載

5分で分かるディープラーニング(DL)5分で分かるシリーズ(1/2 ページ)

ディープラーニング(深層学習)をビジネスで活用したい人に向け、最新技術情報に基づき、深層学習の概要、ニューラルネットワークの仕組み、深層学習の代表的な手法としてコンピュータビジョン向けのCNN/GAN、および自然言語処理向けのRNN/Transformer(BERT/GPT)の概要を、5分で読めるコンパクトな内容で紹介。最後に、次の一歩を踏み出すための参考情報もまとめる。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「5分で分かるシリーズ」のインデックス

連載目次

本稿は、2021年4月26日に公開した記事を、2022年4月25日の最新情報に合わせて改訂したものです。Transformerに関する情報の追記などのアップデートを行いました。


1分 ―― ディープラーニング (DL:Deep Learning)とは

 AI研究においてディープラーニングという革新が2006年に起こりました(人工知能編で説明済み)。ディープラーニング(以下では短く「深層学習」と表記)とは、ニューラルネットワークというネットワーク構造を持つ仕組みを発展させたものです。

 深層学習の特長は、大量のデータから特定の問題を解く方法を学習することです。これは例えば子供に犬や猫を覚えさせるのと同じようなものをイメージするとよいでしょう。人間が経験から学ぶように、機械がデータから学習することを機械学習と呼びますが(機械学習編で説明済み)、深層学習はその機械学習の一種です。

 AIにおける人工のニューラルネットワークは、人間の脳が持つ神経ネットワーク(=生体ニューラルネットワーク)を簡易的に模倣、もしくはヒントにしたものです。深層学習に至るまでに、人工ニューラルネットワークは徐々に進化してきました(図1)。

図1 深層学習(DL)とは
図1 深層学習(DL)とは

 最初に、ネットワークを形成する最小単位である(人工)ニューロンの構造として(単純)パーセプトロンが考え出されました。

 さらに、そのパーセプトロンを3層(入力層+隠れ層+出力層)につなげた多層パーセプトロンというニューラルネットワークが考案され、その学習アルゴリズムとしてバックプロパゲーション誤差逆伝播法)も考え出されました。

 ニューラルネットワークでは、層を増やせば増やすほど、例えば隠れ層を1層から2層、3層と増やすほど、より複雑な問題を解決できることが想定されます。しかし長らく、ネットワークを4層以上に深くすると学習が進みづらくなる勾配消失問題に悩まされ、研究が停滞した時期が20年ほど続きました。この問題を打ち破るブレークスルーが起きたのが2006年の深層学習の登場というわけです。

 4層以上に深いものはディープ・ニューラル・ネットワークDNN)と呼ばれます。現在では、最もベーシックなDNN以外にも、CNN/GAN/RNN/BERT/GPTなど、多種多様な目的ごとにさまざまなネットワーク構造/仕組みが考案されてきています(代表的なものは[3分][4分]で紹介)。DNNなどの学習方法が「深層学習」なのですが、こういったDNNから発展したニューラルネットワーク全体の総称としても「ディープラーニング」という用語が広く使われています。

 さて次の[2分]では、ニューラルネットワークの内容について掘り下げて説明します。

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

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

 ここではDNNの最もシンプルな例として「入力層+隠れ層1+隠れ層2+出力層」という4層のネットワーク構造を取り上げて、ニューラルネットワークの仕組みを紹介します(図2)。

図2 ニューラルネットワーク(NN)の仕組み
図2 ニューラルネットワーク(NN)の仕組み

 各層内にある丸の1つ1つがニューロン(=ユニットノード)を表します。ある層内の各ニューロンから次の層内の各ニューロンに(=エッジ)で接続することで、ネットワーク構造を形成しています。

 ちなみに脳では、線を伝って電気信号が別のニューロンに伝播(「でんぱ」と読む、広がり伝わること)していきます。DNNでは、電気信号ではなくデータが伝播していきます。

 DNNのモデルで予測を行うとき、内部で「(1)データの入力→入力層→隠れ層1→隠れ層2→出力層→(5)予測結果の出力」とデータが伝播しますが、これを(2)順伝播と呼びます。

 順伝播の際、(3)重み(と、詳細は割愛しますがバイアス)というパラメーターによって、流れるデータの強弱ボリュームが制御されます。データを流す線が「ホース」とするなら、ニューロンごとに太いホース〜細いホースがあるイメージです。

 ただし強弱だけでは仕組みとして足りません。脳では、電気信号を受け取ったニューロンが活性化(=発火)した場合に、次のニューロンに伝播されます。DNNでその役割を担うのが、(4)活性化関数です。特に有名な活性化関数にReLU関数があります。

 各ニューロンからデータが伝播していく前に(4)活性化関数は使われ、例えば値を1(活性化する)か0(しない)かなどに変換します。ちなみに図2の右上に示したシグモイド関数(S字型グラフ)という活性化関数では、4という値(横軸)は、ほぼ1(縦軸)に変換されます。

 DNNのモデルに学習させる(=訓練する)ときには、(5)出力された予測値と正解値のズレ/誤差の大きさ(=損失値)を(6)損失関数で計算します。特に有名な損失関数に平均二乗誤差があります。損失値からネットワークを逆方向に戻りながら学習していくことを逆伝播と呼びます。

 逆伝播では、損失値をできるだけ小さくするための最適化アルゴリズムによって、各ニューロン同士を結ぶ線の重み(+バイアス)パラメーターが自動的に更新されていきます。この更新作業こそが学習の中身なのです。

 次の[3分]〜[4分]では、DNNから発展した代表的な仕組み/手法について簡単に紹介します。

3分 ―― DLの代表的な手法 パート1(コンピュータビジョン)

DNNから発展した代表的な手法

 既に述べた通り、最もベーシックなDNN以外にも、目的ごとにさまざまなネットワーク構造と仕組み(手法)が考案されています。データ種別ごとの各分野(参考:人工知能編)では、特に下記の手法が有名です。

  • コンピュータビジョン: CNN、GAN
  • 自然言語処理: RNN/LSTM、Transformer(BERT/GPT)
  • ゲーム/ロボット制御: 価値ベース(DQN)、方策ベース(Vanilla方策勾配法)

 各手法の仕組みを解説すると長くなってしまうので、本稿ではこのうち、コンピュータビジョン(本ページ)と自然言語処理(次ページ)についての概要を解説し、各手法において重要なキーワードを紹介します。

CNN(畳み込みニューラルネットワーク)

 犬猫の分類といった画像認識に使われる深層学習の手法として最も有名なのがCNNです。CNNの発展系の手法や欠点を克服する手法など研究が続いていますが、CNNは既に人間を超える精度を出しており、枯れた技術といえるほどの定番です。

図3 CNNのイメージ
図3 CNNのイメージ

 CNNのネットワーク構造には、畳み込み層とプーリング層があります。畳み込み層では、画像データから局所的な特徴を抽出します。プーリング層では、画像データをより小さくまとめます。プーリング処理によって、画像が空間的にぼかされることで、画像の位置ズレに対する頑健性が向上します。最後の全結合層で全情報を取りまとめることで、犬猫の認識などが行えるようになるという仕組みです。

GAN(敵対的生成ネットワーク)

 馬の画像からシマウマの画像を生成するといった画像生成に使われる手法として最も有名なのがGANです。GANも発展が続いており、例えば2019年に登場したStyleGAN2といった技術が有名です。

図4 GANのイメージ
図4 GANのイメージ

 GANのネットワーク構造には、生成器と識別器という2つのニューラルネットワークがあります。生成器では、ランダムなノイズなどのデータからできるだけ精巧な「偽物」の画像を生成するように学習します。識別器では、本物の画像と偽物の画像をできるだけ正確に識別するように学習します。敵対的な両器が競い合うように学習していくことで、与えられたデータから非常に精巧な画像を生成できるモデルが仕上がるという仕組みです。

       | 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る