【にゅーらるねっとわーく】

ニューラルネットワーク とは?

最終更新:
💡 数値を計算するユニットをつなぎ、重みを学ぶモデル

数値を受け取って計算するユニットをつなぎ、重みなどのパラメーターを学習するモデル。機械学習で使う手法の一つ。神経細胞に着想を得たが、人間の脳をそのまま再現するものではない。

📌 このページのポイント
数値を受けて計算する、ユニットのつながり 順伝播:入力から出力へ計算 入力層 x1 x2 x3 隠れ層1 隠れ層2 出力層 y1 y2 線:ユニット間の重み付き接続 重み付きの和+バイアス → 活性化
全結合の多層フィードフォワードモデルの模式例。円は数値計算のユニット、線は重み付き接続、上の矢印は順伝播の向き。層の数やユニット数は例示で、誤差逆伝播の図や脳の再現図ではない。
ひよこ ひよこ
ニューラルネットワークって、本当に脳と同じなの?
ペンギン先生 ペンギン先生
神経細胞のつながりに着想を得た計算モデルだよ。今のモデルは、数値に重みを掛けて足し、バイアスや活性化関数で計算するユニットなどを使う。脳の働きをそのまま再現したものとは考えないんだ。
ひよこ ひよこ
入力層・隠れ層・出力層は何をするの?
ペンギン先生 ペンギン先生
図のような多層のモデルでは、入力層がデータを受け、隠れ層が途中の計算を行い、出力層が結果を出すよ。層やユニットの数、つながり方はモデルによる。すべてのネットワークが図と同じ構成ではないんだ。
ひよこ ひよこ
重みはどうやって調整するの?
ペンギン先生 ペンギン先生
予測と正解の違いなどを損失で表し、誤差逆伝播で各パラメーターに対する勾配を計算するよ。その勾配を使って、勾配降下法などの最適化手法で重みやバイアスを更新する。勾配を求める計算と、更新の手順を分けると分かりやすいね。
ひよこ ひよこ
同じデータでも、学習結果が変わる?
ペンギン先生 ペンギン先生
初期値やデータの順序、計算の非決定性などによって変わることがあるよ。乱数シードを固定しても、環境や使用する演算まで違えば同じ結果は保証されない。再現したい範囲に合わせて、設定と実行環境を確認するんだ。
ひよこ ひよこ
隠れ層を増やせば、必ずよくなる?
ペンギン先生 ペンギン先生
深いモデルは複雑な表現を学べるけれど、層の数だけで品質は決まらないよ。モデルや学習の設定に加え、目的に合うデータで結果を評価する。ディープラーニングという名前だけで、正しい答えが保証されるわけではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ニューラルネットワーク」って出てきたら「計算するユニットをつなぎ、重みなどを学ぶモデル」と思えばだいたいOK!
📖 おまけ:英語の意味
「Neural Network」 = 神経(ニューロン)のネットワーク
💬 Neuralは「神経の」という意味。脳内の神経細胞どうしのつながりをコンピューター上で再現しようとしたことが名前の由来だよ

参考資料

← 用語集にもどる