4-1 ニューラルネットワークとディープラーニング
みかん
今回はG検定の第4章「ディープラーニングの概要」の1節「ニューラルネットワークとディープラーニング」を解説します
1. ディープラーニングの基本
1.1 単純パーセプトロン
みかん
ニューラルネットワークは、人間の脳の中の構造を模したアルゴリズムです。人間の脳にはニューロンがあり、神経細胞が互いに結びつくことで神経回路という巨大なネットワークを構成しています。
みかん
これを最も単純にモデル化したのが単純パーセプトロンです。複数の特徴量(入力)を受け取り、1つの値を出力するモデルです。
単純パーセプトロン
単純パーセプトロン = 複数の入力を受け取り1つの値を出力する、最も単純なニューラルネットワークのモデル。入力層と出力層で構成。
みかん
入力を受け取る部分を入力層、出力する部分を出力層と呼びます。入力層と出力層のニューロン間のつながりは重みで表され、どれだけの電気信号を伝えるかを調整します。
みかん
出力は0か1ではなく、0から1の値をとるようにシグモイド関数を用います。入力層から出力層へと値を伝播させる関数を活性化関数と言います。
あいで
なるほど、脳のニューロンをコンピュータで再現したのが単純パーセプトロンなんですね。でもこれだけで複雑な問題は解けるんですか?
みかん
いい質問ですね。実は単純パーセプトロンには大きな限界があります。線形分類問題しか解けないんです。
1.2 多層パーセプトロン
みかん
現実のデータの分布は、直線で分けられる線形分類問題ではなく、複雑な非線形分類問題であることが大半です。
みかん
そこで考えられたのが、入力層と出力層の間にさらに層を追加するアプローチです。この追加された層を隠れ層(中間層)と呼びます。
多層パーセプトロン
多層パーセプトロン = 入力層と出力層の間に隠れ層(中間層)を追加したモデル。非線形分類が可能になる。
みかん
多層パーセプトロンは「入力層→隠れ層→出力層」で構成されています。単純パーセプトロンと同様の層構造が2層並んでいるだけとも見ることができます。
あいで
層を増やすことで、より複雑なパターンも認識できるようになるんですね。
1.3 モデルの学習
みかん
多層パーセプトロンで表現力は向上しましたが、実際に予測を行うにはモデルの学習が必要です。各層のニューロン間の重みのことをモデルのパラメータと呼びます。
みかん
モデルの学習とは、このパラメータを何かしらの最適化手法・計算によって求めることを指します。モデルが複雑になるほどパラメータ数も増えます。
みかん
一方、モデルの構造や振る舞いを決めるものの、最適化計算では求められない値のことをハイパーパラメータと呼びます。例えば隠れ層のニューロン数などです。
パラメータ vs ハイパーパラメータ
パラメータ = 学習で自動的に求まる値(重みなど)。ハイパーパラメータ = 人間が設定する値(ニューロン数など)。
みかん
モデルの予測誤差を測る関数を誤差関数と呼び、損失関数とも呼ばれます。この誤差関数を最小化することが学習の目標です。
あいで
つまり、パラメータは自動で学習、ハイパーパラメータは人間が設定、そして誤差関数を小さくすることが学習のゴールなんですね。
1.4 ディープラーニングの基本
みかん
ディープラーニングとは、隠れ層を増やしたニューラルネットワークのことです。深層学習とも言いますが、層が「深い」ためです。
ディープラーニングとは
ディープラーニング = 隠れ層を増やした(深くした)ニューラルネットワーク。ただ深くするだけでは成果は出ず、様々な工夫が積み重なったもの。
みかん
ただし、ただ深層にするだけでは期待した成果は得られません。様々な課題を克服するために多くの手法・工夫が考えられ実践されました。
みかん
なお、ニューラルネットワークのモデル自体はディープニューラルネットワークと呼ぶことが大半です。ディープラーニングはニューラルネットワークを応用した手法です。
あいで
隠れ層を増やせば増やすほど賢くなるけど、そのためには色々な工夫が必要だったということですね。
1.5 ハードウェアの制約と進歩
みかん
ディープラーニングには膨大な計算量が必要です。半導体の性能と集積は、18ヶ月ごとに2倍になるというムーアの法則があり、コンピュータの性能が飛躍的に向上してきました。
ムーアの法則
ムーアの法則 = 半導体の性能と集積は18ヶ月ごとに2倍になるという経験則。ディープラーニングの実現を支えた。
みかん
コンピュータにはCPUとGPUの2つの演算処理装置があります。CPUは汎用的な処理を担い、GPUは大規模な並列演算処理に特化しています。
みかん
GPUは元々画像処理用でしたが、画像以外の汎用計算にも使えるよう最適化されたGPGPUが登場しました。NVIDIA社がGPGPU開発をリードしています。
みかん
一方、Google社は独自にTPU(Tensor Processing Unit)という機械学習に特化した演算処理装置を開発・公開しています。
あいで
GPUの進化がディープラーニングの発展を支えたんですね。NVIDIA社のGPGPUとGoogle社のTPU、覚えておきます。
1.6 ディープラーニングのデータ量
みかん
ディープラーニングは機械学習の1つですから、データをもとに学習をするとはいえ膨大なパラメータの最適化が必要で、大量のデータが必要です。
みかん
データ量の目安として「バーニーおじさんのルール」があります。これは「モデルのパラメータ数の10倍のデータ数が必要」という経験則です。
バーニーおじさんのルール
バーニーおじさんのルール = モデルのパラメータ数の10倍のデータ数が必要という経験則。例えばAlexNetならパラメータ約6000万→データ約6億個必要。
あいで
パラメータの10倍!それだけのデータを集めるのは大変ですね。データが少ない場合はどうするんですか?
みかん
データ数が少なくても済むようなテクニックが適用されることもあります。ただし、データ数が少なすぎる場合はディープラーニング以外のアプローチも考えるべきです。
まとめ
みかん
1つ目、単純パーセプトロンは入力層と出力層からなる最も単純なモデルで、線形分類のみ可能。多層パーセプトロンは隠れ層を追加して非線形分類に対応。
みかん
2つ目、ディープラーニングとは隠れ層を増やしたニューラルネットワーク。ただ深くするだけでなく様々な工夫が積み重なった技術。
みかん
3つ目、ハードウェアの進化(GPU・GPGPU・TPU)とムーアの法則がディープラーニングの実現を支えた。
みかん
4つ目、バーニーおじさんのルールで「パラメータ数の10倍のデータが必要」。データが少ない場合は別手法も検討。
みかん
ということで今回はニューラルネットワークとディープラーニングについて解説しました
あいで
このチャンネルでは情報に関することを発信しています。
あいで
よければチャンネル登録、高評価よろしくお願い致します。