「AI(人工知能)の用語でDNNって出てくるけど何が何だかわからない!」と、DNNという用語をよく見かけるもののCNNやRNNなど似たような名前の用語も出てきて混乱しますよね。
DNNとはディープニューラルネットワークのことで今日のAI(人工知能)の研究における発展に欠かせないものとなっています。
しかしAI(人工知能)やディープラーニングといった言葉が先行しそれを語る上で欠かせないDNNなど重要な用語が忘れられがちなのも事実。
そこで今回はDNNに注目しこれがどのようなものであるか、なぜ使われているか、これからどうなっていくかお伝えしていきます。
それでは、まずはニューラルネットワークとは何かというところからお伝えしていきましょう。
そもそもニューラルネットワークとは?
ニューラルネットワーク(Neural Network)は機械学習の手法で使われるものの1つ。
人間の脳の仕組みからインスピレーションを得たもので、それをコンピュータ上で数式的に表現したものになります。
ここで表現しているのは脳にある神経細胞(ニューロン)とその繋がりです。言い換えれば神経回路網を人工ニューロンという形で表現したものになります。
DNNでも重要になるので覚えておきましょう。
DNN(ディープニューラルネットワーク)の概要
ニューラルネットワークについて触れたのでDNNについても見ていきましょう。
DNNでは非常に多くの隠れ層が組み合わさっており、情報の複雑さに対応する上で重要な役割を担っています。
ネットワークと重みづけ。DNNの仕組み
概要でも触れたようにDNNはニューラルネットワークが多層になっているもの。ではそのネットワークでの仕組みについて学習の流れからお伝えします。
学習のステップは以下の3つ。
- 順伝播
- 逆伝播
- 繰り返し
ここで重要なステップである順伝播と逆伝播を見ていきましょう。
順伝播
一番最初は入力とそれに対応する正解ラベルの組(教師データ)を使って予測計算を行なっていきます。
ここで予測値となるのは入力した値に各層で重みづけをし最終的に出てきた値。これを正解ラベルと比べて誤差を計算していくことになるのです。
このステップでは教師データについていくつか繰り返しその度に生じた誤差を足し合わせていくことになります。
逆伝播
順伝播が終わってから入る次のステップは足し合わされた誤差の値を小さくなるよう調整していくこと。
ここでは勾配降下法というものを用います。
詳しく見ていきましょう。
それを実現させるには重みを使って勾配という誤差を微分した値を0に近づけられるような値を求めていかなくてはなりません。
そのためベストであるのは「大域的最適解」という誤差の値を最も小さくする解。そしてベターになるのが「局所最適解」。その周りでは誤差の値が小さいが最小値という当初の目標を達成できるわけではないという値のことを指します。
この勾配降下法を用いて出力層から入力層にかけ重みづけを更新していくので「誤差逆伝播法」と言います。
2つのステップを繰り返すことでネットワーク内の重みづけを更新し、誤差の縮小を目指していくことになります。
DNNが今活用される理由
DNNが活用されている理由はディープラーニングの発展と深いつながりがあります。
この年に「ImageNet Large Scale Visual Recognition Challenge(ILSVRC) 2012」という国際コンペティションがありました。
これはコンピューターに画像から物体を認識させその精度を競っていくというもの。このコンペでは東京大学やオックスフォード大学など名だたる研究機関が数多く参加していました。
この大会では1000万枚の画像データから機械学習を行い15万枚の画像を使ってテスト。そこでどれくらいエラーが出るかで競い合うのです。
この時使われていたのがディープラーニングです。新しい機械学習の手法として注目されるようになり様々な分野で研究や開発が進められています。
ディープラーニングで基本となるのはニューラルネットワークを応用し隠れ層を増やしたもの。なのでこれまでAI(人工知能)には厳しいと思われていたことの実現を目指す上でDNNが欠かせないものとなっているのです。
DNNの今後とは
ディープラーニングの発展とともに、DNNをベースに新たなニューラルネットワークへと改良が進んでいます。
これにより機械学習にできることや可能性がさらに広がっているのです。
そこで今回はCNNとRNNについて見ていきましょう。
CNN(Convolutional Neural Network)
CNN(畳み込みニューラルネットワーク)は画像データを扱う時に使われるものになります。
もちろん従来の手法で扱うのも不可能ではないですが、そのまま二次元で入力する方が一次元に無理に当てはめて必要な情報を失うリスクを抱えるより合理的だということで様々な種類のモデルが存在しています。
RNN(Recurrent Neural Network)
RNN(リカレントニューラルネットワーク)は時系列データの扱いで用いられているものです。
株価の予測で考えてみましょう。CNNと同様これまでの手法で情報を入力し結果を出していくのは不可能ではありません。しかし、これまでのやり方だと「時間の順序」まで対応できないという問題点がありました。
今回はDNN(ディープニューラルネットワーク)とは何か、どうして活用されていて今後どのように活かされていくかについてお伝えしました。
DNNはニューラルネットワークから隠れ層を多くしたもの。
ディープラーニングが注目されたきっかけは2012年に行われた画像認識のコンペ。
これからもDNNが活用され生活がより便利になる技術が開発されるといいですよね。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。