ディープラーニング A to Z · ショウジョウバエ特別編 1

ショウジョウバエはどうやって嗅ぎ、見て、気づくのか

ゴマ粒ほどのショウジョウバエの頭の中でも、信号は決まった道をたどります。触角と複眼が世界を電気信号に変え、神経がその信号を整理して運び、脳が「エサだ」「危ない」と気づきます。そしてその判断のルールは、誰かが決めてくれたものではなく、経験から学んだものです。この道をたどっていくと、人工ニューラルネットワークが超シンプルなモデルから多層のディープラーニングへと育っていく過程が自然に見えてきます。

約14万脳全体のニューロン数 [1]
約5000万シナプス(接続)の数 [1]
約800片側の複眼の個眼 = ピクセル [2]
約50種嗅覚受容ニューロンの種類 [3]
約2,000片側のキノコ体のケニオン細胞 [4]
約860億比較:ヒトの脳のニューロン数 [5]

なぜよりによってショウジョウバエでニューラルネットワークを学ぶのか

ヒトの脳は大きすぎ、コンピューターのニューラルネットワークは抽象的すぎます。ショウジョウバエはその間にぴったりの大きさです。感覚器から行動までの道のり全体がひと目で見渡せ、その道の上のニューロン一つひとつを実際にオン・オフして実験できます。

理由 1脳全体の配線図が公開されている

2024年、ショウジョウバエの脳全体のニューロンと接続をおさめた配線図(コネクトーム)が完成しました。ニューラルネットワークでいえば、モデルの構造と接続をまるごと見られるということです。

理由 2入力から出力までが短くはっきりしている

においを嗅いで近づく、迫ってくる影を見て飛び立つ。感覚 → 神経 → 脳 → 行動の道のりが短いので、段階ごとにたどりやすいのです。

理由 3狙ったニューロンだけをオン・オフできる

遺伝子ツールで特定のニューロンの働きを止めることができます。ニューラルネットワークでユニットを一つ消してみて、性能がどう変わるかを見る実験と同じです。

なぜすべての感覚は電気信号に変わるのか

光は光子、においは分子、音は空気の振動、味は水に溶けた物質です。どれも種類の違う刺激なのに、脳に届くときにはすべて同じ形、つまりニューロンの膜の電圧変化と電気パルス(スパイク)になっています。

光 → 複眼

光受容体

光を受けた分子の形が変わり、その変化がイオンチャネルを開いて細胞の電圧を変えます。

画像のピクセル値
におい分子 → 触角

嗅覚受容ニューロン

におい分子が受容体にくっつくとイオンが出入りして電圧が上がり、しきい値を超えるとスパイクを発射します。

センサーの測定値
風・音 → 触角

ジョンストン器官

触角の先が揺れると、その中の機械感覚ニューロンが引き伸ばされて電気信号をつくります。

音の波形の数値
味 → 脚・口

味ニューロン

ショウジョウバエは脚でも味を感じます。砂糖や苦い物質が触れると、味ニューロンが電気信号を出します。

もう一つの入力チャネル
刺激→ 受容体 · 電圧変化→ 軸索 · 電気パルスが移動→ シナプス · 化学物質で渡る→ 次のニューロン · 再び電気に
感覚
刺激の強さ
シナプス強度(重み)

なぜよりによって電気なのか — 5つの理由

  1. 共通言語:光・におい・音・味をすべて同じ形に変えてこそ、脳は一か所でそれらを混ぜて比べられます。ディープラーニングが写真も文字も音もすべて数のリストに変えるのと同じ理由です。
  2. 速い:におい分子が体の中を漂って広がる速さでは、ハエたたきをよけられません。イオンの流れで伝わる電気信号なら、体の端から脳まで一瞬で届きます。
  3. 遠くまで行っても弱まらない:スパイクは軸索を進みながら次々と新しくつくり直されます。だから長い道のりを進んでも大きさが小さくなりません。
  4. 強さは「何回」で表す:スパイク1回の大きさはいつも同じで、刺激が強いほど頻繁に発射します。大きさではなく回数で強さを伝えるので、ノイズに強いのです。この発火頻度が人工ニューロンの「出力の数値」にあたります。
  5. シナプスで強さを調節できる:ニューロンとニューロンのすき間では、電気が化学物質(神経伝達物質)に変わって渡っていきます。このとき、どれだけ多く、どれだけうまく伝わるかがまさに重みであり、学習とはこの伝達効率を変えることです。

例外もあります。複眼の光受容体のように短い距離だけ信号を送るニューロンは、スパイクの代わりに電圧を連続的に上げ下げして伝えます。「光」を選んで違いを確かめてみましょう。

ショウジョウバエの脳を回しながら信号の道をたどる

蛍光染色で撮った顕微鏡写真のように、脳の各領域を点で表しました。ピンクの点は神経組織、赤い点は感覚器、緑の光はいま流れている信号です。実際の解剖データではない概略モデルです。領域の前後・左右の関係は合わせてありますが、大きさと形は単純化しています。

信号の経路
速度1.0×

領域の説明 · 脳の図や下のボタンを押してみよう

感覚器 → 神経 → 脳 → 行動 は、つまり 入力 → 隠れ層 → 出力

ショウジョウバエの4つの段階は、ニューラルネットワークの基本構造と一対一で対応します。下のはしごのモデルはどれも、この枠組みの中で層が増えていくお話です。

1 · 感覚器

世界を数値に変える

触角の嗅覚受容ニューロンはにおい分子に、複眼の個眼は光に反応します。反応の強さがそのまま数値です。

ニューラルネットワーク:入力層(データ)
2 · 神経(伝達・整理)

数値を選んで整える

触角葉とラミナは、入ってきた信号を集め、強さをそろえ、明るくなる・暗くなるのような使いやすい形に変えます。

ニューラルネットワーク:前処理・第1層
3 · 脳(認識)

パターンに気づく

キノコ体、側角、ロビュラが「このにおいはエサ」「この影は迫ってくる天敵」といった意味を取り出します。

ニューラルネットワーク:隠れ層(特徴・パターン)
4 · 行動

一つを選ぶ

近づくか、避けるか、飛び立つか。いくつもの信号のスコアを比べて、一つの行動が勝ちます。

ニューラルネットワーク:出力層(判定)

ルールを決めてあげるのか、ルールを学ぶのか

コンピューターに仕事をさせる方法は2つあります。人がルールを一つひとつ書いてあげるか(ルールベース)、例と結果だけを与えてルールを自分で見つけさせるか(学習ベース)。ディープラーニングは2つめの方法で、ショウジョウバエの脳には両方の方法が入っています。

ルールベース(Rule base)

誰かが前もってルールを書いておく

もし 果物の香り > 0.5 なら → 近づく
もし 二酸化炭素 > 0.3 なら → 避ける
それ以外は → じっとしている

ルールが目に見えるので理解しやすいのが長所です。でも世の中のあらゆるケースを前もって知っていなければならず、環境が変わればルールを書いた側が自分で直さなければなりません。ルールにない状況ではお手上げです。

ショウジョウバエでは:側角の生まれつきの反応。ルールを書いたのは進化で、ハエ1匹は一生そのルールを直せません。

学習ベース(Learning)

結果を見てルールを自分で直す

1. いまの値で予想して行動する
2. 実際の結果を見る(エサ +1、電気ショック −1)
3. 値 ← 値 + η × (結果 − 予想)

ルールを直接書きません。その代わり「予想がどれだけ外れたか」の分だけ重みを直します。これを繰り返すと、ルールが重みの中に自然とできあがります。環境が変わってもまた学び直します。

ショウジョウバエでは:キノコ体。罰や報酬が来るとドーパミンニューロンが信号を送り、ケニオン細胞 → 出力ニューロンの接続が変わります。この信号が「結果 − 予想」のように予測誤差を計算しているかどうかはまだ研究中で、ここでは理解しやすいように予測誤差のルールに単純化しました。

同じ性格で生まれた2匹のハエ、世界が変わったら?

どちらのハエも、はじめは果物の香りAが好きです。ところがこの部屋ではA側に電気ショックがあり、B側に砂糖があります。左のハエはルールどおりにしか動かず、右のハエは結果を見て学びます。「環境を変える」で危ない側を入れ替えてみましょう。

学習率 η
速度

学習したルールはどこに書かれているのか

右のハエの「ルール」は、どこにも文章として書かれていません。近づく値が2つ、つまり重みが2つ、それがすべてです。ディープラーニングのモデルもまったく同じです。数百万、数十億個の重みがそのままルールなので、性能は高くても「なぜそう判断したのか」を人の言葉で取り出すのは難しいのです。ルールベースは説明しやすく、学習ベースは適応しやすい。ショウジョウバエは両方を一緒に使い、初めての状況では生まれつきのルールでしのぎ、経験が積み重なると学んだルールで修正します。

モデルのはしご — 4段を順番にのぼる

1段のぼるごとに、ショウジョウバエに見られる能力が一つずつ増えていきます。各段でモデルを実際に動かし、そのモデルでは解けない問題に出会ってから、次の段へ進みます。

1超シンプル

入力1つ、接続1つ — 二酸化炭素を嗅いだら避ける

モデル:y = w × xショウジョウバエ:二酸化炭素回避

ショウジョウバエでは

ショウジョウバエの触角には、二酸化炭素だけを感知する専用の感覚ニューロンがあります。この信号は触角葉の一つの糸球体に集まり、ショウジョウバエは学ばなくても二酸化炭素を避けます。ここではこの経路を「センサー1つ → 接続1つ → 行動」と大きく縮めて見ていきます。

ニューラルネットワークでは

入力 x に重み w を掛けた値がしきい値 θ を超えれば1、超えなければ0を出す、いちばん小さなモデルです。重みは「この入力をどれだけ大きく聞くか」、しきい値は「どれだけ反応しやすいか」を意味します。

二酸化炭素濃度 x
接続の強さ w
しきい値 θ

初心者向けの解説

このモデルでの「学習」とは、w と θ をちょうどよく合わせることです。ショウジョウバエは、この値が進化によってすでに合わせられた状態で生まれてきます。w を大きくすると薄い二酸化炭素でも逃げ、小さくすると濃くないと逃げません。

限界もはっきりしています。このモデルは入力をたった一つしか見ません。ショウジョウバエが実際にぶつかる問題、たとえば「果物の香りと酢の香りが一緒にするけど、食べられる?」のように複数の信号をあわせて考えなければならない問題は解けません。そこで入力を増やします。

2シンプル

複数の入力をはかりにかけるニューロン1つ — パーセプトロン

モデル:y = σ(w₁x₁ + w₂x₂ + b)ショウジョウバエ:エサのにおいの判断

ショウジョウバエでは

よく熟した果物からは、果物の香り(エステル)と酢の香り(酢酸)が一緒にします。一つのニューロンが2つの糸球体の信号を受け取って「エサのにおいか」を判断するとしてみましょう。2つの信号に別々の重さをつけて足し合わせてから判断します。

ニューラルネットワークでは

複数の入力にそれぞれ重みを掛けて足し、バイアス b を加えてから、シグモイド σ で0〜1の確率に変換します。このモデルが引ける境界は、右の平面上のまっすぐな線1本だけです。

食べられるにおい(正解 1)そうでないにおい(正解 0)モデルが引いた境界✕ 判定を間違えたにおい● 塗りつぶした点 = 訓練データ(学習に使う)○ 中が空の点 = 検証データ(学習に使わない、採点用)
問題
学習率 η

行動で見る — 初めて嗅ぐにおいのカップ(検証データ)を今のモデルどおりに選ぶショウジョウバエ

「学習」は実際に何をしているのか — 4つのステップ

  1. 予測:今の w₁、w₂、b で、においひとつのスコアを計算します。
  2. 誤差:正解(エサ 1、そうでない 0)と予測確率の差を測ります。
  3. 責任を分ける:誤差にそれぞれの入力の大きさを掛けて、どの重みがどれだけ間違いの原因になったかを求めます。
  4. 直す:重みをその反対方向へ少し(学習率 η の分だけ)動かします。これをすべてのにおいについて繰り返します。

「難しい問題」を選んで学習させてみましょう。実際のショウジョウバエは、薄い酢のにおいには近づきますが、濃すぎる酢のにおいは避けます。エサの領域が2本の線にはさまれた帯の形になるのですが、線1本ではこの帯を切り出せません。どれだけ長く学習しても、正解率がある程度で止まってしまいます。これが次の段へ進まなければならない理由です。

3一般

隠れ層1つ — 触角葉 → キノコ体 → 出力ニューロン

モデル:入力 2 → 隠れ H → 出力 1ショウジョウバエ:キノコ体の回路

ショウジョウバエでは

触角葉の信号は、キノコ体の数千個のケニオン細胞へと広がります。それぞれのケニオン細胞はいくつかの糸球体を選んで受け取り、自分だけの「においの組み合わせ」に反応します。出力ニューロンはそれらの反応を集めて、近づくか避けるかを決めます。学習は主にケニオン細胞 → 出力ニューロンの接続で起こります。

ニューラルネットワークでは

入力と出力の間に「隠れ層」をはさみます。隠れニューロン一つひとつが平面に線を1本ずつ引き、出力ニューロンがそれらの線を組み合わせると、曲がった境界や帯の形の境界もつくれます。これが多層パーセプトロン(MLP)です。

においの入力→ 隠れ層の計算(順伝播)→ 出力・誤差→ 責任を逆向きに分ける(誤差逆伝播)→ 重みの修正
データ
学習方式
隠れニューロン数 H
学習率

行動で見る — 初めて嗅ぐにおいのカップ(検証データ)でわかる本当の実力

覚えたのか、理解したのか — 訓練データと検証データ

試験問題を前もって見て勉強した生徒は、その試験で100点をとっても実力を証明したことにはなりません。モデルも同じです。そこでデータを2つに分けます。訓練データ(塗りつぶした点)だけで重みを直し、学習に一度も使っていない検証データ(中が空の点)で採点します。本当の実力は検証スコアです。

  1. 学習不足:訓練スコアも低い状態。モデルが単純すぎます。②段の難しい問題がこれにあたります。
  2. ちょうどよい:訓練スコアと検証スコアがどちらも高く、近い値です。
  3. 過学習:訓練スコアは高いのに検証スコアが低い状態。データが少なかったり、間違った正解が混ざっていたりすると、モデルはルールの代わりに個々の例を丸暗記してしまいます。「少なくノイズ入りのデータ」を選んで確かめてみましょう。

過学習を防ぐよくある方法は、データを増やす、検証損失が再び上がりはじめたら学習を止める(早期終了)、モデルを必要以上に大きくしない、の3つです。ショウジョウバエも似た問題を抱えています。一度の偶然の経験を一般化しすぎないよう、繰り返し訓練を受けてはじめて長続きする記憶ができます。実際のディープラーニングでは、検証データとは別に、最後にたった一度だけ使うテストデータを取り分けておくこともあります。

誤差逆伝播を言葉で説明すると

出力で生じた誤差を「誰の責任か」をたどって逆向きに分け与える計算です。出力ニューロンと強くつながっている隠れニューロンほど、そしてそのときよく活動していた隠れニューロンほど、多くの責任を負います。責任が決まったら、入力 → 隠れの接続までまとめて直します。

ショウジョウバエはこの逆向きの分配をしません。ケニオン細胞へ入る接続はほぼランダムに決まったまま変わらず、ドーパミンが最後の接続(ケニオン細胞 → 出力ニューロン)だけを直します。「ショウジョウバエ方式」を選ぶと、隠れニューロンが少ないうちはうまくいきませんが、数を30〜60個に増やすと、ランダムな線だけでも帯を切り出せます。ショウジョウバエがケニオン細胞を約2,000個も持っている理由が想像できますね。

4多層

多層に積み上げた視覚経路 — 迫ってくる影を見て逃げる

モデル:畳み込みニューラルネットワークのように層を重ねるショウジョウバエ:複眼 → ラミナ → メダラ → ロビュラ → ジャイアントファイバー

ショウジョウバエでは

ハエたたきが迫ると、ショウジョウバエは一瞬で飛び立ちます。複眼の個眼が明るさを測り、ラミナが明るくなる・暗くなるを振り分け、メダラとロビュラプレートの T4・T5 ニューロンが動きの方向を計算し、ロビュラの LPLC2 ニューロンが「四方へ広がる動き」、つまり近づいてくる物体に気づきます。この信号がジャイアントファイバーニューロンを経て、ジャンプ行動になります。

ニューラルネットワークでは

畳み込みニューラルネットワーク(CNN)と同じ仕組みです。層ごとに狭い範囲だけを見る同じ計算をすべての位置で繰り返し(重み共有)、層が上がるほど見る範囲が広がって特徴が複雑になります。明るさ → 明るさの変化 → 動きの方向 → 接近。層の一つひとつは単純でも、積み重ねると難しい判断ができるのです。

複眼 · 明るさ→ ラミナ · 明るくなる/暗くなる→ メダラ・ロビュラプレート · 動きの方向→ ロビュラ · 接近の検出→ ジャイアントファイバー · ジャンプ
見せる物体
見る角度
速度

説明のために単純化した計算モデルです。個眼は約800個ではなく169個に減らし、動きの方向は物体の縁の速度から直接計算しました。実際の T4・T5 ニューロンは、隣り合う個眼の信号を時間差をつけて比べることで方向を割り出します。

なぜ層をいくつも積み重ねる必要があるのか

「近づく物体」を個眼の明るさの値から一度に見抜くルールは、つくるのが難しいものです。物体は暗いこともあれば明るいこともあり、右にいることも左にいることもあるからです。そこで問題をやさしいかけらに分けて、層ごとに一つずつ担当させます。

  1. 第1層(ラミナ):この個眼はいま暗くなった?明るくなった?
  2. 第2層(メダラ・ロビュラプレート):隣の個眼と比べると、縁はどちらへ動いている?
  3. 第3層(ロビュラ):上・下・左・右の4方向すべてで、外側へ広がる動きがある?
  4. 出力(ジャイアントファイバー):そうなら、いますぐ飛び立つ。

「横切る物体」は、片側の縁は外へ、反対側は内へ動くので、4方向すべての条件を満たしません。だから大きく速く動いてもジャンプしません。写真から猫を見分ける CNN も、こうして線 → 角 → 部分 → 全体の形と層を積み重ねていきます。

モデル構造の比較 — このページのモデル vs MLP · RNN · GRU · LSTM · CNN

ボタンを押して6つの構造の図を切り替えてみましょう。緑の線は学習される接続、点線は固定された接続、オレンジの矢印は時間をまたぐ記憶です。どの図も原理を示す概略図です。

6つの構造をひと目で比較

学習される接続 / 全接続(入力 16×16、クラス 3)

灰色の棒 = 全接続、色付きの棒 = 学習される接続。ディープラーニングのモデルはすべて学習され、ショウジョウバエのモデルは固定接続がほとんどです。下の学習ツールと共通セクション A のコード2で同じ数を数えています。

最後の行の根拠レベル:実際の回路・測定 モデルが実際の回路を写したもの · 構造が類似 接続の形が似ているという意味で、同じ計算をしている証拠ではない · ゆるいたとえ · 純粋なたとえ 説明を助けるための言葉で、生物学的な根拠はない。

このページの視点から見た主な違い

このページ(特別編 1)のはしご(超シンプル → 多層)は、MLP と CNN の側のお話でした。ショウジョウバエ方式はその横で、「隠れ層を学習しなくても、広く疎にすればかなりうまくいく」という別の答えを示しています。機械学習では、ランダム特徴、エクストリーム・ラーニング・マシン(ELM)、リザバー・コンピューティングが同じ発想です。ショウジョウバエの脳には RNN・LSTM のように時間を扱う回路(中心複合体)もありますが、このページのモデルは一度で判断するタイプです。

ショウジョウバエ学習ツール — 例の絵で見る「教える、学ぶ、判断する」

Teachable Machine のように、① クラスごとに例の絵を集め、② 学習させ、③ 初めて見る絵で確かめる、という流れを例でたどります。同じ絵のデータで、ショウジョウバエ方式(出力層だけ学習)とディープラーニングの MLP(全層を学習)を並べて学習させました。絵は手描きのように揺らしてつくった16×16の絵です。

① 例を集める
エサ · 丸 · 訓練に使った24枚のうち8枚
危険 · バツ · 訓練に使った24枚のうち8枚
道 · 横線 · 訓練に使った24枚のうち8枚

クラスごとに30枚つくり、24枚を学習に、6枚(合計18枚)を検証に使いました。検証用の絵は、学習中に一度も見せません。

② 学習する(30エポック)
0%50%100%1102030エポック計算値(固定シード)

緑 = ショウジョウバエ方式 · 青 = MLP · 点線 = 訓練正解率、実線 = 検証正解率

83%ショウジョウバエ方式の検証正解率(訓練 100%)
89%MLP(隠れ32個)の検証正解率(訓練 100%)
3,003ショウジョウバエ方式の学習される接続(全体 13,003)
8,323MLP(隠れ32個)の学習される接続(すべて)。構造比較セクションの MLP は隠れ64個です
③ 初めて見る絵で判断する
テスト用の絵
ショウジョウバエ方式 · 検証18枚
丸バツ横線
丸420
バツ060
横線015
MLP · 検証18枚
丸バツ横線
丸420
バツ060
横線006

この例から読み取れること

どちらのモデルも訓練用の絵は100%当てましたが、検証用の絵ではショウジョウバエ方式が83%、MLP が89%です。この差(訓練と検証の開き)が過学習の度合いです。ショウジョウバエ方式は、学習される接続が MLP の約36%しかないのに、検証正解率はそれほど見劣りしません。どちらのモデルも、検証用の丸6枚のうち2枚をバツと判断しました(下の混同行列)。クラスごとの学習用の絵が24枚しかないと、こうした間違いが起こります。自分で描いた絵で試したいときは、共通セクション A のコード2を Colab で実行してください。

Teachable Machineと同じ点

クラスを作る → 例を集める → 学習 → 新しい入力で判断、という流れは同じです。

違う点

Teachable Machineは、大きな画像モデル(MobileNet)があらかじめ学んだ特徴の上で、小さな分類器だけを学習します(転移学習)。この例では、16×16の絵を2つのモデルがゼロから学習します。そのため単純な形には向いていますが、写真のような複雑な入力には向きません。

1枚でまとめる — はしごの4段

段が上がるほど、モデルはより多くの結合を持ち、より複雑な境界を引き、より深い意味を見抜けるようになります。ショウジョウバエの感覚 → 神経 → 脳 → 行動は、これらすべての段階を1つの体に収めています。

段モデルの構造ショウジョウバエの例新たに得た能力残る限界
① 超かんたん入力1 → 出力1
y = しきい値(w·x)
二酸化炭素 → 回避信号が強ければ反応入力を1つしか見ない
② かんたん複数の入力 → ニューロン1個
パーセプトロン
果物の香り + 酢の香り → エサかどうか判断複数の信号を天秤にかけ、誤差で学習まっすぐな境界線が1本だけ
③ 一般入力 → 隠れ層 → 出力
多層パーセプトロン
触角葉 → キノコ体 → 出力ニューロン曲がった・帯状の境界、組み合わせの認識入力が大きく複雑だと、隠れニューロンがとても多く必要
④ 多層層を何段も重ねる
畳み込みニューラルネットワークのように
複眼 → ラミナ → メダラ → ロビュラ → ジャイアントファイバー単純な特徴を積み重ねて「接近」のような意味を認識層が深いほど、学習に多くのデータと計算が必要
重み

シナプスの強さ

学習によって変わる値。抑制性シナプスは負の重み。

活性化関数

発火するか、静かなままか

しきい値を超えて初めて信号を送ります。この「折れ曲がり」のおかげで、層を重ねる意味が生まれます。

誤差信号

ドーパミン(罰・報酬)

何が間違っていたかを知らせます。ショウジョウバエは層をさかのぼって伝えるのではなく、特定の結合に直接ふりまきます。

モデル全体

コネクトーム

脳全体の配線図。誰が誰とどれだけつながっているかが、そのままモデルの構造です。

たとえの限界。本物のニューロンは電気パルスで信号をやり取りし、時間や体の状態によって同じ結合でも働き方が変わります。このページの3D脳や計算モデルは、原理を示すために大きく単純化しています。ディープラーニングは脳をコピーしたのではなく、「層、結合の強さ、しきい値、誤差で直す」という骨組みを借りてきたものです。

3つ目のページ:実際のショウジョウバエの配線図を丸ごと動かしてマインクラフトのモブを動かすプロジェクトを、前の2ページと比べました。マインクラフトの中のショウジョウバエ脳 — 配線図だけで動く神経系。

Colabコード — このページを自分で実行してみる

どちらのコードも、Colabに標準でインストールされているライブラリだけを使います。「ノートブック(.ipynb)をダウンロード」した後、Colabでファイル → ノートブックをアップロードから開くか、コピーして新しいノートブックのセルに貼り付けてください。

コード1 · ショウジョウバエ方式をNumPyで — 固定ランダム拡張 + 出力層だけを学習セクション③ ショウジョウバエ方式、「実習:構造比較」と連動 · numpy · CPUで1秒未満

ケニオン細胞1,000個の固定結合を作り、上位8%だけをオンにするスパースな符号の上で、出力層1つだけをデルタ則で学習します。自分のデータに置き換えるには X(サンプル × 256)と Y(正解番号)を差し替えます。

実行結果(2026-10-04 実行、numpy 2.4 · CPU)。乱数シードを固定しているので、いつ実行しても同じです。
コード2 · PyTorchで一般的なディープラーニング5種 対 ショウジョウバエモデル3種「実習:構造比較・学習ツール」と連動 · torch, numpy, matplotlib · CPUで約1分

MLP・CNN・RNN・GRU・LSTMとショウジョウバエモデル3種を、同じ絵のデータ・同じ分割で学習し、結合数と正解率を比べます。「学習ツールの例」の計算を、より大きなデータ(4種類160枚)で実際にやってみるコードです。

実行結果(2026-10-04 実行、PyTorch 2 · numpy 2.4 · CPU)。2つのシードで別々に学習しました。ショウジョウバエモデルは固定結合のシードが決まっているため、2つのシードの結果が同じです。シード・バージョン・ハードウェアによって数値が変わることがあります。

一般的なディープラーニングのコードと何が違うのか

項目コード1(ショウジョウバエ方式)一般的なディープラーニングのコード
学習される場所出力層1つ(3,000個)すべての層(16,643個)
勾配の計算不要:誤差 × 入力loss.backward()が連鎖律で層ごとに計算
隠れ表現生まれたときにランダムに固定データに合わせて学習
隠れ層の形広くてスパース(1,000個中8%だけオン)狭くて密(64個すべてが値を持つ)
核心を一行でW_out += lr * np.outer(y − p, k)opt.step()
必要なツールNumPyだけPyTorch(自動微分)
機械学習での呼び名ランダム特徴、エクストリーム・ラーニング・マシン、リザバーコンピューティング多層パーセプトロン(MLP)
比較用の一般的なディープラーニングのコードを見る(mlp_backprop.py, PyTorch)

AI応用プロンプト — このコードを出発点にする

ChatGPT、Qwen、ClaudeのようなAIアシスタントに貼り付けるプロンプトです。「コピー」を押すと、プロンプトの後ろに選んだコードが一緒に付きます。〔 〕の中を自分の状況に書き換えて使ってください。

一緒に付けるコード

AIの答えは出発点にすぎません。提案された論文・数値・ライブラリ関数は、必ず原文と公式ドキュメントで確認しましょう。コンテストや論文でAIの助けを借りた場合は、主催者や学術誌の規定に従って、使用した事実と範囲を明記します。

用語集

本文の黄色い点線の下線と同じ辞書です。下線にカーソルを合わせるかタップすると、同じ説明が表示されます。

たとえ集 — そして、たとえが外れるところ

たとえは理解の第一歩ですが、誤解の種にもなります。ショウジョウバエ・脳のたとえには強さを示しました。直接 実際に同じ働きをするという根拠がある · 部分 一部の性質だけが似ている · なし 対応するものが知られていない

概念日常のたとえショウジョウバエ・脳のたとえたとえが外れるところ
パーセプトロン何人かの意見に点数をつけて足し、合計が基準を超えたら決める部分 ニューロンは入力を集め、しきい値を超えると発火する実際のニューロンでは、入力が時間とともにたまったり漏れ出したりする。パーセプトロンには時間がない(特別編3の漏れ積分発火を参照)
隠れ層会社の中間管理職:現場の報告を集めて、要約して社長に上げる部分 キノコ体のケニオン細胞が、においの信号を広く表現し直すケニオン細胞への入力結合はランダムに決まり、学習しない。ディープラーニングの隠れ層は学習される
重みの学習間違えた問題を間違いノートに書いて、次に直す直接 ドーパミンがキノコ体の出力結合の強さを変え、においと結果を結びつけるショウジョウバエのドーパミン信号が「予測誤差」を計算しているかどうかは研究中。この編の学習規則は説明のために単純化した
誤差逆伝播結果が悪いとき、工程の最後から逆向きに責任を割り振るなし脳が層ごとに正確な勾配を逆向きに伝えているという証拠は知られていない
多層の視覚経路工場の組立ライン:段階ごとに少しずつ複雑な部品を作る部分 複眼 → ラミナ → メダラ → ロビュラと進むほど、複雑な動きを見分ける④のフィルターは説明のために手で決めた。CNNはフィルターを学習する
入力を数値にあらゆる国のお金を1つの通貨に両替する直接 感覚ニューロンが光・におい・味を電気信号に変える実際の信号はスパイクの頻度とタイミング。この編の発火頻度の数値は例示用の値

著者紹介と参考文献

E-1 著者紹介 · E-2 学術参考文献 · E-3 図の参考資料

E-1 著者紹介

Sangsun Ahn(株式会社M-Robo 代表)

韓国電気安全公社、毎日経済新聞を経て、現在は毎日経済の社外ベンチャーである株式会社M-Roboを創業し、代表を務めています。株式会社M-Roboは報道機関の社内ベンチャーとして始まったメディアベンチャーで、国民日報にロボット記者(ストックボット)を提供し、韓国インターネット振興院、韓国言論振興財団、韓国放送通信電波振興院などで数多くのプロジェクトを手がけました。その後、独自のAIニュース媒体「Money-Robo」を運営しています。代表在任中にアジア・オープンデータ・ハッカソンで優勝し、データ起業分野での功績により行政安全部長官賞を2回受賞しました。人工知能およびブロックチェーン分野で5件の特許の発明者・登録者です。著書に『AI犯罪と自己防衛』(韓国語)があり、韓国技術教育大学 オンライン生涯教育院でフィンテック、統計学、人工知能分野のeラーニングコンテンツを開発しました。最終学位は経済学博士(東国大学、ミクロ数理経済学)です。国民大学、湖西大学など複数の大学で、データおよび人工知能に関する科目を教えています。詳しいプロフィール

講義

  • Sangsun Ahn (2025). 『ビジネスのためのデータサイエンス』講義資料(韓国語). 韓国オープンサイバー大学 人工知能融合学科.
  • Sangsun Ahn (2025). [K-デジタル] 人工知能 自然言語処理(韓国語). STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学 オンライン生涯教育院.
  • Sangsun Ahn (2024). [K-デジタル] フィンテック データ分析の基礎(韓国語). STEP(スマート職業訓練プラットフォーム), 韓国技術教育大学 オンライン生涯教育院.

STEP講義へのリンク:link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
サイトのリニューアルでうまくアクセスできない場合は、www.step.or.krからアクセスしてください。

論文と発表

  • Sangsun Ahn (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能モデルに基づくアプローチ(韓国語). 『未来社会』, 16(2). 原文
  • Sangsun Ahn (2025). 国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能によるアプローチ(韓国語). 国民老後保障パネル学術大会 発表資料(2025.05.13), 国民年金公団 国民年金研究院. 発表資料
  • Sangsun Ahn (2025). SNSテキストに基づく麻薬疑い取引の検出アルゴリズムに関する研究:パターンと文脈の分析を中心に(韓国語). 『未来社会』, 16(1). 原文
  • Sangsun Ahn (2024). 金融分野の異常検知モデルのセキュリティのための統計に基づく敵対的データへの対応策:実証分析とシミュレーション結果(韓国語). 『未来社会』, 15(3). 原文
  • Sangsun Ahn (2024). 人工知能を活用した仮想キャラクターの特性に基づくSNS投稿検出ソリューション(韓国語). 2024 Summer Newmedia Party ポスター発表(2024.06.19), ソウルメディア大学院大学.
  • Sangsun Ahn (2024). 労災保険パネルデータを活用した機械学習モデル(韓国語). 第10回 労災保険パネル学術大会 ポスター発表(2024.05.17), 勤労福祉公団 勤労福祉研究院.
  • Sangsun Ahn (2024). 暗号資産の時系列データの分析と予測:時系列モデルと人工知能モデルの比較、改善点の提示(韓国語). 『未来社会』, 15(1). 原文

E-2 学術参考文献

  1. [R1] Dorkenwald, S., Matsliah, A., Sterling, A. R., … Murthy, M. (2024). Neuronal wiring diagram of an adult brain. Nature, 634, 124–138. doi:10.1038/s41586-024-07558-y — ヒーロー [1]、セクション「3D脳」
  2. [R2] Aso, Y., Hattori, D., Yu, Y., … Rubin, G. M. (2014). The neuronal architecture of the mushroom body provides a logic for associative learning. eLife, 3, e04577. doi:10.7554/eLife.04577 — ヒーロー [4]、セクション③
  3. [R3] Azevedo, F. A. C., Carvalho, L. R. B., Grinberg, L. T., … Herculano-Houzel, S. (2009). Equal numbers of neuronal and nonneuronal cells make the human brain an isometrically scaled-up primate brain. Journal of Comparative Neurology, 513(5), 532–541. doi:10.1002/cne.21974 — ヒーロー [5]
  4. [R4] Suh, G. S. B., Wong, A. M., Hergarden, A. C., … Anderson, D. J. (2004). A single population of olfactory sensory neurons mediates an innate avoidance behaviour in Drosophila. Nature, 431, 854–859. doi:10.1038/nature02980 — セクション①(二酸化炭素の回避)
  5. [R5] Maisak, M. S., Haag, J., Ammer, G., … Borst, A. (2013). A directional tuning map of Drosophila elementary motion detectors. Nature, 500, 212–216. doi:10.1038/nature12320 — セクション④(T4·T5)
  6. [R6] Klapoetke, N. C., Nern, A., Peek, M. Y., … Card, G. M. (2017). Ultra-selective looming detection from radial motion opponency. Nature, 551, 237–241. doi:10.1038/nature24626 — セクション④(LPLC2による接近の検出)

本文の脚注 [1]〜 数値と事実の出典

番号内容値出典
[1]ショウジョウバエの脳全体のニューロン数、シナプス数約14万、約5千万FlyWire コンソーシアム (2024) Nature — 成虫の脳全体のコネクトーム
[2]片方の複眼の個眼の数約750〜800ショウジョウバエ視覚系の教科書的な値(個体・系統によって差がある)
[3]嗅覚受容ニューロンの種類 / 触角葉の糸球体の数約50種 / 約50個ショウジョウバエ嗅覚系研究で一般的な値(例:Couto ら 2005, Curr Biol)
[4]片方のキノコ体のケニオン細胞の数、出力ニューロンの種類約2,000 / 21種Aso ら (2014) eLife — キノコ体回路の解剖
[5]ヒトの脳のニューロン数約860億Azevedo ら (2009) J Comp Neurol
[6]二酸化炭素の回避、酢の濃度による誘引・回避—Suh ら (2004) Nature · Semmelhack & Wang (2009) Nature
[7]T4·T5 による動きの方向検出、LPLC2 による接近の検出—Maisak ら (2013) Nature · Klapoetke ら (2017) Nature

E-3 図の参考資料

  • ヒーローの数値 [2]・[3] は、ショウジョウバエの視覚系・嗅覚系の教科書的な値です(個体・系統によって差があります)。詳しい出典は下の表にあります
  • 締めくくりの場面のキャラクターイラスト:ディープラーニング A to Z 研究室のキャラクター

教育者のためのTIP

講師、実務OJT担当者、チューターのための運営ガイドです。時間は目安なので、実際の授業に合わせて調整してください。

対象ディープラーニングを初めて学ぶ大学生・社会人。生物学の知識はなくても大丈夫
前提知識足し算・掛け算、グラフの読み方。PythonはColab実習でのみ必要
学習目標① 感覚 → 神経 → 脳 → 行動を、入力 → 隠れ層 → 出力に対応させる ② パーセプトロンが帯状の問題を解けない理由と、隠れ層が解ける理由を説明する ③ 訓練スコアと検証スコアを比べて過学習を見抜く
所要時間の目安読む 50〜60分 · アニメーションのデモ 25分 · Colab実習 30分(コード1 10分、コード2 実行2分 + 解釈15分)

3つの運営プラン

講義型 50分

概念中心

導入5分(なぜショウジョウバエか) → 感覚→神経→脳の対応表 10分 → ルール vs 学習 10分 → ①②③のはしご 20分 → 確認問題 5分。

実務OJT 90分

業務への応用中心

ルール vs 学習の実験場 20分(現場のルールベースシステムと比較) → ②③ 過学習 20分 → 学習ツールの例で混同行列を読む 20分 → コード2の実行・解釈 30分。

1対1のチュータリング

レベル別の進度

入門者は「ルール vs 学習」と①②だけ。中級者は③の隠れニューロン数を変えて過学習を自分で起こし、コード1と学習ツールの例の学習される結合数(3,003個)を比べます。

セクション別の運営ポイント

セクション立ち止まって投げかける質問操作のコツ
なぜショウジョウバエ「14万個のニューロンって、多いのかな、少ないのかな?」ヒトの脳の860億と比べる
電気信号「においと光を、なぜ同じ単位に変えなければならないのだろう?」刺激の強さを変えて、発火頻度がそれに合わせて変わるかを見る
ルール vs 学習「環境が変わったら、どちらが先に適応するだろう?」「環境を変える」を押して、2匹のハエの成功率を比べる
② パーセプトロン「直線1本で帯状の領域を分けられるだろうか?」帯の問題で学習を回し、正解率が頭打ちになるところを見る
③ 隠れ層「隠れニューロンを増やせば、いつでも良くなるのだろうか?」少ないデータ + 隠れニューロン40個で、訓練スコアと検証スコアの差を見る
④ 多層「通り過ぎる物体には、なぜジャンプしないのだろう?」接近・通過・遠ざかりを順番に押す
実習:学習ツールの例「2つのモデルがそろって間違えた絵は、なぜ紛らわしかったのだろう?」テスト用の絵のボタンを順番に押し、混同行列と見比べる

よくある誤解 Top 5

誤解正しい説明見せる場面
ショウジョウバエの脳はディープラーニングとまったく同じように働く層構造と結合の強さの学習が似ているだけで、誤差逆伝播や時間のない計算は脳とは違うたとえ集Dの「誤差逆伝播」の行
隠れニューロンは多いほど良いデータが少ないと訓練データを丸暗記して、検証スコアが下がる(過学習)③の少ないデータの設定
ルールをうまく作れば学習はいらない環境が変わるとルールは間違え続ける。学習なら合わせ直せる「ルール vs 学習」の環境を変える
正解率が高ければ良いモデルだ学習に使ったデータで測った正解率は信用しにくい。別に取っておいた検証データで測る学習ツールの例の訓練・検証曲線(訓練100%、検証83〜89%)
ショウジョウバエ方式はディープラーニングより劣る学習される結合が4分の1なのに、同じ絵の問題で同程度の正解率を出した(コード2)コード2の結果表

確認問題(解説はクリックして開く)

Q1. 入力2つ(1, 0)、重み(0.8, −0.5)、しきい値0.5のパーセプトロンの出力は?

合計 = 1×0.8 + 0×(−0.5) = 0.8。0.8 ≥ 0.5 なので出力は1。

Q2. パーセプトロンが「帯状」(真ん中だけがエサ)の問題を解けない理由は?

パーセプトロンは直線(平面)1本でしか分けられません。帯には両側に2本の境界が必要なので、直線1本では分けられません。隠れ層は境界を複数作って組み合わせます。

Q3. 訓練正解率96%、検証正解率59%なら、何が起きているか? 対策を2つ挙げよ。

過学習。訓練データを丸暗記した。対策:データをもっと集める、隠れニューロンを減らす、学習を早めに止める、のうち2つ。

Q4. ショウジョウバエ方式で、学習される結合と固定された結合はそれぞれ何か?

固定:投射ニューロン → ケニオン細胞(ランダムでスパースな結合)。学習:ケニオン細胞 → 出力ニューロン(ドーパミンが変える)。

Q5. コード2で、ショウジョウバエ方式(学習4,004個)がMLP(学習16,708個)と同程度の正解率を出したことから何がわかるか?

広くてスパースな固定表現だけでも、単純な絵の問題なら出力層の学習で十分に解ける。ただし、表現そのものは改善できないので、難しい問題では限界がある。

Colab課題

基本

コード1でTOP(オンになる割合)を0.08から0.5に変えると、訓練正解率とオンになるケニオン細胞の数がどう変わるかを報告し、スパースさがなぜ役に立つのかを2文で書く。

チャレンジ

コード2のMLPの隠れ層サイズを8、64、512に変え、検証正解率を2つのシードで比べる。過学習が見られるかを、学習曲線(7番目のセル)と合わせて解釈する。

難易度の調整と発展学習

入門者セクション④と「構造比較」のGRU・LSTMは飛ばしても流れは途切れない。「ルール vs 学習」と②③をしっかり押さえる
発展ショウジョウバエ方式と、機械学習のランダム特徴・エクストリーム・ラーニング・マシン(ELM)を比較して発表させる。調べた論文は原文で確認する
さらに学ぶSangsun Ahn『ビジネスのためのデータサイエンス』講義資料(データサイエンス全般、韓国語) · STEP [K-デジタル] 人工知能 自然言語処理 · STEP [K-デジタル] フィンテック データ分析の基礎
講師用資料確認問題の採点基準と課題の解答例は、教育者用の解答ページ(特別編 1)で見られます

お疲れさまでした!

「特別編 1 ショウジョウバエ脳探検」を最後まで読みました。研究室のメンバーがひとことずつまとめてくれます。

博士
博士ショウジョウバエの感覚から行動までたどりながら、ニューラルネットワークを1段ずつ育ててみましたね。
  • 感覚 → 神経 → 脳 → 行動は、入力 → 隠れ層 → 出力と同じ骨組み
  • パーセプトロンが解けない帯の問題を、隠れ層が解く
  • 学習される結合が4,004個のショウジョウバエ方式でも、テスト正解率0.84を出した
助手
助手ルールのハエは、環境が変わったらずっと間違えてましたよ!
ショウジョウバエ研究員
ショウジョウバエ研究員オレの脳はニューロン14万個なんだぜ。それで全部こなしてるんだ。