AI

ニューラルネットワークの構造

AI

ニューラルネットワークは、脳の神経細胞をまねた単純な計算をつないだ仕組みです。G検定では層の呼び名と単純パーセプトロンの限界がよく問われます。

こんにちは、zawato(@zawato7)です!

本記事はディープラーニング入門ロードマップの第9回です。

この記事でわかること
  • ニューロンをまねた「重みを掛けて足す」という基本の仕組み
  • 単純パーセプトロンがXORを解けない理由と、多層化による解決
  • 入力層・中間層・出力層、全結合層、順伝播という用語の意味

 

 

ニューロンをまねた仕組み|重みとバイアス

ニューラルネットワークの正体は「入力に重要度を掛けて足すだけ」の計算です。

脳の神経細胞(ニューロン)はシナプスでつながっていて、結合の強さに応じて電気信号が流れ、一定以上を受け取ると次へ信号を送ります。これを発火といいます。

この動きをまねた計算単位が単純パーセプトロン(人工ニューロン)です。入力データをそのまま使わず、一つひとつに重み(weight)という重要度を掛けて合計し、最後にバイアス(bias)を足します。

  • 重み:その入力をどれだけ重視するか。シナプスの結合の強さに対応します
  • バイアス:発火のしやすさを調整する下駄のような値です
  • 重みとバイアスをまとめてパラメータと呼び、学習で調整されます

合計した値はそのまま次へ渡されず、変換をかける関数(活性化関数)を通してから次のノードへ引き渡されます。

 

 

単純パーセプトロンの限界|XORが解けない

入力層と出力層しか持たない単純パーセプトロンは、直線1本で分けられる問題しか解けません。

ANDやORは、入力の組み合わせを平面上の点として並べると、答えが0の組と1の組を1本の直線で分けられます。これを線形分離可能といいます。ところがXOR(排他的論理和/2つの入力が異なるときだけ1)は、どう直線を引いても分けられません。

この限界の指摘は、第1次AIブームが冷え込む一因になりました。ここは理屈より「単純パーセプトロンではXORが解けない、多層化で解決した」という流れで押さえるほうが定着します。

 

 

多層パーセプトロン|中間層を挟むと解ける

入力層と出力層のあいだに中間層を挟むと、直線では分けられない問題も扱えるようになります。

単純パーセプトロンを縦にも横にもつないだものが多層パーセプトロン、すなわちニューラルネットワークです。1つひとつのニューロンはノード(ユニット)と呼ばれ、計算内容は先ほどと同じです。縦方向のまとまりを層と呼びます。

層の名前役割
入力層データを受け取る。ノード数は特徴量の数
中間層(隠れ層)値を組み合わせて特徴を作り直す。何層でも重ねられる
出力層予測値を出す。ノード数はクラス数などで決まる

前の層のすべてのノードと次の層のすべてのノードがつながっている層を全結合層といいます。必要な重みは「前の層のノード数×次の層のノード数」、バイアスは「次の層のノード数」だけです。入力層から出力層へ順番に計算していく流れを順伝播と呼びます。

 

 

「深い」とは中間層が厚いということ

ディープラーニングとは、中間層を深くしたニューラルネットワークのことです。

中間層は何層でも積み上げられます。一般に中間層が2層以上のものをディープラーニング(深層学習)と呼びます。層を重ねるほど、単純な特徴の組み合わせから複雑な特徴を段階的に捉えられます。なお「ディープ」が指すのはノードの数ではなく層の数です。

 

 

まとめ

  • 1つのノードは、入力に重みを掛けて足し、バイアスを加えるだけの単純な計算です
  • 単純パーセプトロンは線形分離可能な問題しか解けず、XORは中間層の追加で解決しました
  • 入力層・中間層・出力層をすべて結ぶのが全結合層、入力から出力への計算が順伝播です

 

 

よくある質問

Q. 中間層と隠れ層は違うものですか?
A. 同じものを指す別名です。外から値が見えないため隠れ層と呼ばれます。試験ではどちらの表記も使われます。

Q. なぜXORは単純パーセプトロンで解けないのですか?
A. 答えが1になる入力の組と0になる入力の組を1本の直線で分けられないためです。中間層を挟むと折れ曲がった境界を表現でき、解けるようになります。

Q. 全結合層とはどんな層ですか?
A. 前の層のすべてのノードが、次の層のすべてのノードとつながっている層です。つながりの1本1本に重みが割り当てられます。

 

 

コメント