多層パーセプトロンMultilayer Perceptron
単純な判定器を何層も重ねた基本のニューラルネットワーク
- 多層パーセプトロンは、とても単純な判定器一つを何列も重ねたニューラルネットワークです。ニューラルネットワークを学ぶとき最初に出会う基本の骨組みです。
- 一つの升目がすることは、受け取った数字ごとに決まった大きさを掛けて全部足し、その値を一度折り曲げることだけです。
- 後ろの列は元の資料を見ません。すぐ前の列が出した点数だけを受け取って判断します。
- 一列だけでは直線一本で分かれる問題しか解けません。列を重ねると曲がりくねった境界も描けます。
- 今どきの巨大なモデルの中にも、この構造が部品のように組み込まれています。
目次
1たとえで理解する
マンションのごみ集積所に検査台が二列並んでいると考えてみましょう。一列目の検査台はそれぞれとても単純なことを一つだけ見ます。一つは光っているか、一つは手で押せるか、一つは透けて見えるか。検査台ごとに、そうだ・違うの代わりに、どれくらいそうかを点数にして差し出します。
二列目の検査台は物を直接見ません。一列目が出した点数だけを受け取ります。光っていて押せなければ缶、透けていて軽ければペットボトルという判断がこの列から出てきます。一つだけでは何も見分けられない単純な検査台が列をなして重なると、なかなか立派な仕分けをやってのけます。こうして単純な判定器を何列も重ねたものが多層パーセプトロンです。
2くわしく
升目一つがすること
検査台一つが何をしているかを見ると、残りはすんなり分かります。升目は前から渡ってきた数字を一度に受け取ります。そして数字ごとに決まった大きさを掛けます。この大きさが、その項目をどれだけ重く見るかを決める取っ手です。ある項目には大きな値が、ある項目には0に近い値が付きます。
掛けた値を全部足すと点数が一つ出ます。ここに升目ごとが持つ基準線を一つ足します。この基準線は「よほどでなければ反応しない」「少し似ているだけで反応する」のように升目の性格を決めます。
折り曲げないと層が意味を持ちません
点数をそのまま上の列に渡すと困ったことが起きます。掛けて足す作業を何度繰り返しても、結局は掛けて足す一回と同じになってしまうからです。列を百個重ねても一列と変わらなくなります。
そこで最後に点数を一度折り曲げます。 負の値は押さえて0にし、正の値はそのまま通す方式が最もよく使われます。この一回の折れ曲がりのおかげで、列を重ねることに初めて意味が生まれます。折れた線を何本も重ねると、曲線に近い境界が作れるからです。
前の列が出した点数だけを見て判断します
一列目の検査台は物を直接見ます。二列目からは物を見ず、前の列が出した点数だけを見ます。こうして外から見えず、途中でだけ働く列を隠れ層と呼びます。
一つの升目は前の列のすべての升目と漏れなくつながります。前の列に検査台が十個あれば、後ろの列の升目一つはその十個の点数を全部受け取ります。どれを重く見るかは掛ける大きさが決めます。そのため全結合という名前が付いています。
信号は前から後ろへだけ流れます。後ろの列が前の列に問い返す道はありません。物が入ってから結果が出るまで、一方向にまっすぐ通り抜けます。
正解とずれた分だけさかのぼって直します
掛ける大きさは人が決めてくれません。最初はでたらめに散らばった値から始まります。缶の写真を入れたのにペットボトルという答えが出れば、どれだけ外れたかを数字で測り、その外れた量を後ろから前へさかのぼりながら大きさを少しずつ押してやります。
このさかのぼりを数十万回繰り返すと、検査台ごとに自分が見るべき項目が自然と決まっていきます。人が光沢や透明さのような項目をあらかじめ教えなくても、資料を分けるのに役立つ基準がひとりでに定まります。
今も大きなモデルの中に入っています
多層パーセプトロンは古い構造ではありません。画像を扱うニューラルネットワークも、文章を扱う大きな言語モデルも、中を開けばこの構造が層ごとに組み込まれています。アテンションのような装置が情報を集めてきても、その結果を実際にこねる場所には、依然として掛けて足し一度折り曲げる升目があります。
巨大なモデルの重さの大部分が、実はこの部分に集中していることもあります。構造が単純な分だけ計算が速く、必要なら升目の数を増やすだけで容量を増やしやすいからです。
3もう少し正確に
多層パーセプトロンは、パーセプトロンという升目一つの判定器を層として重ね、層と層の間に活性化関数を挟んだ構造です。入力層と出力層の間に隠れ層が一つ以上あり、同じ層の中では互いにつながらず、信号が後ろに戻る道もありません。そのためフィードフォワードニューラルネットワークとも呼ばれます。
たとえがずれる点もあります。ごみ集積所の検査台は光沢や透明さのように人が名前を付けられる項目を見ますが、実際の升目がとらえるのはたいてい名前を付けられない基準です。学習が終わったモデルを開いても、この升目が何を見ているのか一言で説明しにくいことのほうがずっと多いのです。
層の数と升目の数も人が決める値です。学習で決まるのは掛ける大きさと基準線だけで、何層にするか一列に何個置くかは作る人が選ばなければなりません。
4やってみる
5よくある誤解
層を多く重ねるほど必ず賢くなると思われがちですが、実際にはある線を越えると学習がうまく進まず、資料をまるごと覚え込む方向に傾きます。
升目一つが人にわかる項目一つを担当すると考えられがちですが、実際には複数の升目に散らばって混ざった形で保たれ、一つずつ取り出して読み解くのは難しいです。
多層パーセプトロンは今どき使われない古い構造だと思われがちですが、実際には今日の大きなモデルの中にも層ごとに部品として組み込まれています。
7ひとこと要約
つまり多層パーセプトロンは掛けて足し一度折り曲げる単純な升目を何層も重ね、一つでは描けない複雑な境界を一緒に描き出す基本のニューラルネットワークです。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02