はじめてのハエ脳ガイド

ハエ脳とは?できることと使い方

配線を見る。刺激する。身体を動かす。ゲームで試す。やりたいことを選んで、図と手順で始めましょう。

目的を選ぶ図でつかむ3 ステップで試す

まず、何をしてみたいですか?

図は仕組みを表す模式図です。迷ったら「見る・調べる」から。

仕組みをつかむ

配線図に、動くためのルールを足す

神経細胞(ニューロン)どうしのつながりを記録したものが「コネクトーム」です。シナプスは細胞間で信号を伝える接点。配線図は、そのつながりを示します。

活動を計算するには、信号の強さや発火の条件も必要です。さらに身体やゲームを動かすなら、何を入力し、活動をどの操作に変えるかを設計します。

掲載データの例:FlyWire / MaleCNS

測った配線図と、人が決めたダイナミクスのモデルを足すと、動く「ハエの脳」になる 測った配線図 — どれがどれに、何本+決めた信号を伝える強さ・発火の条件=動く「ハエの脳」
動いているのは、測った配線と、人が選んだモデルの組み合わせ。

同じ「ハエ脳」でも、構成は違う

脳と身体、どこまでシミュレーションする?

掲載例では、脳の出力をゲーム操作などへ変換する構成が目立ちます。脳とハエの身体を両方計算する例もあります。

掲載説明と代表実装から見た傾向です。手法別の全件集計は行っておらず、割合や分野全体の順位を示すものではありません。

脳をゲームにつなぐ

脳
全脳または部分回路
身体
ハエの身体は省略
  1. ゲームの画面
  2. 脳のモデル
  3. キー・移動操作

Fly64 は神経活動をマリオの操作へ変換する。ハエの脚や筋肉は計算しない。入力と出力の対応は作者が設計している。

代表例:Fly64

脳だけを実験する

脳
神経活動を計算
身体
使わない
  1. 刺激・抑制
  2. 脳のモデル
  3. 発火の記録

指定した細胞を刺激・抑制し、発火時刻や頻度を調べる。身体を動かさなくても、回路の応答を比較できる。

代表例:Shiu model

身体を人工の制御器で動かす

脳
全脳モデルは必須ではない
身体
身体の物理を計算
  1. 人工の制御器
  2. MuJoCo の身体
  3. 姿勢・接触

身体と歩行・飛行の課題を用意し、制御器からの指令で動かす。強化学習で制御器を訓練する方法もある。

代表例:flybody

脳と身体を両方計算する

脳
神経活動を計算
身体
身体の物理を計算
  1. 脳のモデル
  2. 指令への変換
  3. MuJoCo の身体

Fly.exe は NeuroMechFly の身体と脳を連動させる。ただし歩行のリズムは別のパターン生成器が担う。全ての脚の動きが実測配線から直接出るわけではない。

代表例:Fly.exe

脳で実物のロボットを動かす

脳
部分回路を計算
身体
実機なので物理計算は不要
  1. カメラの入力
  2. 部分回路のモデル
  3. 実物のモーター

NeuroHex は逃避に関わる回路の出力をサーボへ渡す。実際の脚の動かし方には、用意された歩行パターンを使う。

代表例:NeuroHex

もう一つの比較軸

学習するのは、どの部分?

脳や身体を使うかどうかと、何を学習させるかは別の話です。次は代表的な例。枠内の「訓練対象」が、学習で調整される部分です。

学習なし

  1. 神経回路
  2. 固定の変換
  3. ゲーム操作

訓練する部分:なし

活動は変化するが、プレイの経験で操作が上達する学習は行わない。

代表例:Fly64

読み出し部分を学習

  1. 固定の神経回路
  2. 訓練対象操作を選ぶ層
  3. ゲーム操作

訓練する部分:操作を選ぶ層

神経活動をジャンプなどに変換する部分を訓練する。Fly Dino は部分回路を固定して使う。

代表例:Fly Dino

身体の制御器を学習

  1. 環境の観測
  2. 訓練対象人工の制御器
  3. 身体への指令

訓練する部分:人工の制御器

強化学習の課題で動作を学ばせる。実測の全脳配線を訓練しているとは限らない。

代表例:flybody

これは全手法を三つに限定する分類ではありません。たとえば視覚モデルの flyvis のように、配線の制約とモデルの訓練を組み合わせる実装もあります。 flyvis →

できることから、最初の一歩へ

それぞれの入口になるツールを一つ選び、最初に試すところまで案内します。

見る・調べる

できること

気になる細胞を選び、どこにつながるかをたどる。

仕組みの模式図 · 実際の画面や実験結果ではありません
入力細胞を検索
処理配線を探索
結果接続先を確認

やってみる · 3 ステップ

用意するものブラウザ + Google ログイン。Python の準備は不要。

  1. 公式サイトを開く

    下の入口から詳細ページの「公式サイト」へ。ログインし、FlyWire FAFB を選ぶ。

  2. 細胞の種類を検索

    検索欄で「T4a」を試す。該当する細胞の一覧を確認する。

  3. 細胞の情報を開く

    検索結果の細胞を選び、入力側・出力側の接続を調べる。

FlyWire Codex の入口へ

入口の詳細ページ →「公式サイト」から始める

この用途のツール・機能を詳しく

FlyWire Codex

まず配線図を見たい人向け。FlyWire の神経細胞と注釈をブラウザで調べる入口。

機能・試し方・限界を読む
主な機能
神経細胞や注釈を探索・分析する Web アプリ。公開サービスと、自分で動かすためのコードがある。
入力 → 出力
調べたい細胞を指定 → 細胞の情報と配線に関する情報を確認する。
必要なもの
公開サービスの探索機能はブラウザと Google ログインが必要。手元での運用には Python 環境とデータを準備する。
最初に試すこと
詳細ページの公式サイトから探索を始める。自分で運用する場合は README のデータ初期化とローカル起動の順に進む。
わかる範囲・限界
配線や注釈を調べる道具。神経の時間変化を計算するシミュレーターとは役割が異なる。

一次資料の確認日:

neuprint-python

同じ条件で何度も調べたい人向け。neuPrint のデータを Python から取得する。

機能・試し方・限界を読む
主な機能
細胞や接続を条件で問い合わせ、結果を表として扱う。手作業の探索から、再実行できる分析へ進める。
入力 → 出力
データセットと検索条件 → 神経細胞や接続の表。Python で集計や後続の分析に使う。
必要なもの
Python、接続先サーバー、対象データセット、認証トークン。
最初に試すこと
公式 Quickstart に沿って Client を作り、fetch_custom の検索例から細胞情報を取得する。
わかる範囲・限界
問い合わせ先が提供するデータが対象。取得した配線だけで発火や行動が生成されるわけではない。

一次資料の確認日:

活動を計算する

できること

刺激する細胞を変え、発火の違いを比べる。

発火を記録
仕組みの模式図 · 実際の画面や実験結果ではありません
入力刺激を指定
処理回路を計算
結果発火を記録

やってみる · 3 ステップ

用意するものPython のノートブック操作。README に Colab で始める案内あり。

  1. サンプルを開く

    詳細ページからリポジトリへ。README の Colab 案内、またはローカル環境で example.ipynb を開く。

  2. まず元の条件で実行

    データの版と設定を揃えてサンプルを実行。発火時刻・頻度の出力を確認する。

  3. 刺激条件を変えて比較

    刺激頻度や抑制する細胞を変更して再実行。同じ条件の基準結果と比べる。

Shiu model の入口へ

入口の詳細ページ → リポジトリの README / example.ipynb

この用途のツール・機能を詳しく

Shiu et al. / Drosophila_brain_model

この細胞を刺激すると、どこへ活動が伝わるか。細胞を止めた場合との比較もできる。

機能・試し方・限界を読む
主な機能
指定した細胞の活性化と抑制。LIF は、入力を蓄え、しきい値を超えると発火する簡略モデル。
入力 → 出力
FlyWire の細胞 ID と刺激頻度・抑制対象 → 発火の時刻と頻度。
必要なもの
Python、Brian 2、Jupyter と配線データ。Colab から始める方法もある。
最初に試すこと
example.ipynb で刺激を試す。対象のデータ版に合わせて設定する。
わかる範囲・限界
抑制は対象細胞への入出力結合をゼロにする操作。得られるのはモデルの予測で、実個体の反応との照合が必要。

一次資料の確認日:

flyvis

ハエの視覚回路が、光や動く輪郭にどう反応するかを調べる。

機能・試し方・限界を読む
主な機能
学習済みモデルでの予測、独自刺激の入力、モデルの訓練。光の点滅や動く輪郭を扱う教材がある。
入力 → 出力
映像・視覚刺激 → モデル内の視覚ニューロンの応答。
必要なもの
Python と PyTorch。公式教材には Colab で試せるノートブックがある。
最初に試すこと
Flash Responses の教材で光への応答を確認し、Custom Stimuli で自分の刺激へ進む。
わかる範囲・限界
対象は視覚系。配線の制約に学習を組み合わせており、固定配線だけを動かすデモと区別して読む。

一次資料の確認日:

身体を動かす

できること

仮想の脚に制御値を渡し、姿勢の変化を見る。

仕組みの模式図 · 実際の画面や実験結果ではありません
入力制御値を入力
処理物理を計算
結果姿勢を確認

やってみる · 3 ステップ

用意するものPython + MuJoCo。まず身体の表示と制御を試す。

  1. 環境を準備する

    詳細ページから README の Installation へ。基本構成を導入し、tutorial notebook を開く。

  2. 身体を表示する

    教材の歩行環境を作り、ハエの画像を描画。まずモデルが表示されることを確かめる。

  3. 制御値を渡してみる

    env.step(action) を進め、姿勢の変化を見る。歩かせるには別途制御器が必要。

flybody の入口へ

入口の詳細ページ → README の Installation / tutorial notebook

この用途のツール・機能を詳しく

flybody

脚や羽の制御を、仮想の身体で試す。歩行・飛行の強化学習にも使える。

機能・試し方・限界を読む
主な機能
MuJoCo 上の身体モデル、歩行模倣・飛行・視覚誘導飛行の課題、訓練用コード。
入力 → 出力
身体への制御値 → 物理計算された姿勢・移動と描画画像。
必要なもの
Python と MuJoCo。学習や学習済み制御器の実行には追加の機械学習依存関係が必要。
最初に試すこと
公式の tutorial notebook で身体を表示し、歩行環境に制御値を渡して変化を見る。
わかる範囲・限界
身体と課題の環境。導入するだけで実測の全脳配線につながるわけではなく、制御器を用意する。

一次資料の確認日:

NeuroMechFly / FlyGym

身体と周囲の環境を組み合わせ、感覚から運動までの制御を試す。

機能・試し方・限界を読む
主な機能
身体の物理モデルと環境の構成、対話的な表示。NeuroMechFly の研究では視覚・嗅覚と歩行を扱う。
入力 → 出力
環境と身体の制御 → 身体の動きや感覚入力。対応する感覚機能は利用版を確認する。
必要なもの
Python と利用版に対応する環境。現行 FlyGym と旧版 flygym-gymnasium は API が異なる。
最初に試すこと
現行版の公式ドキュメントから導入する。旧教材を使う場合は旧版のドキュメントと環境を揃える。
わかる範囲・限界
現行版には旧版の全機能が移植されていない。身体の再現と、脳全体の再現は別の課題。

一次資料の確認日:

ゲームで試す

できること

神経回路の信号が、チェスの一手になる様子を見る。

次の一手へ
仕組みの模式図 · 実際の画面や実験結果ではありません
入力盤面を入力
処理回路を計算
結果指し手を選ぶ

やってみる · 3 ステップ

用意するものWebAssembly 対応ブラウザ。最初に接続データの読み込みあり。

  1. 公開デモを開く

    詳細ページの「公式サイト」へ。初回の接続データ読み込みが終わるまで待つ。

  2. 対局を試す

    盤面で操作し、モデルが選ぶ手と活動記録を見る。強い棋力を目指すデモではない。

  3. 接続を切った結果と比較

    シナプスを切る対照条件を試し、活動や着手の変化を確認する。

Fly Chess Lab の入口へ

入口の詳細ページ →「公式サイト」の公開デモ

この用途のツール・機能を詳しく

Fly Chess Lab

ブラウザでチェスを試し、神経活動と指し手の関係を観察する実験。

機能・試し方・限界を読む
主な機能
盤面、神経細胞の点群表示、活動記録、手の評価、シナプスを切る対照実験。
入力 → 出力
盤面を人が定めた方法で刺激に変換 → 回路の信号を読み出して指し手を選ぶ。
必要なもの
WebAssembly などに対応するブラウザ。初回に接続データを読み込み、計算はブラウザ内で行う。
最初に試すこと
詳細ページの公式サイトで対局を試し、活動記録と接続を切った場合の変化を比べる。
わかる範囲・限界
読み出しは未学習で棋力は弱い。ハエがチェスを理解する証拠ではなく、入出力の対応は人が設計している。

一次資料の確認日:

結果を読むときのポイント

実際に試せること

  • 回路の変化を比べる刺激や抑制の条件を変え、モデルの出力を調べる。
  • 動作や学習を実験する視覚モデルの訓練や身体制御など、実装ごとの課題を試す。

結果だけでは言えないこと

  • 全てのモデルが自ら学習する固定配線のデモも、学習を組み合わせたモデルもある。訓練する部分を確認する。
  • 生きたハエを丸ごと再現したゲームの成績や身体の動作だけでは、実際の神経活動との一致は示せない。

数値は「何を数えたか」まで確認しましょう。細胞の数、細胞ペア間の結合の数、シナプスの総数は別の量です。同じデータセット名でも、版や抽出範囲が違うと数値は変わります。