はじめてのハエ脳ガイド
ハエ脳とは?できることと使い方
配線を見る。刺激する。身体を動かす。ゲームで試す。やりたいことを選んで、図と手順で始めましょう。
まず、何をしてみたいですか?
図は仕組みを表す模式図です。迷ったら「見る・調べる」から。
仕組みをつかむ
配線図に、動くためのルールを足す
神経細胞(ニューロン)どうしのつながりを記録したものが「コネクトーム」です。シナプスは細胞間で信号を伝える接点。配線図は、そのつながりを示します。
活動を計算するには、信号の強さや発火の条件も必要です。さらに身体やゲームを動かすなら、何を入力し、活動をどの操作に変えるかを設計します。
同じ「ハエ脳」でも、構成は違う
脳と身体、どこまでシミュレーションする?
掲載例では、脳の出力をゲーム操作などへ変換する構成が目立ちます。脳とハエの身体を両方計算する例もあります。
掲載説明と代表実装から見た傾向です。手法別の全件集計は行っておらず、割合や分野全体の順位を示すものではありません。
脳をゲームにつなぐ
- 脳
- 全脳または部分回路
- 身体
- ハエの身体は省略
脳だけを実験する
- 脳
- 神経活動を計算
- 身体
- 使わない
身体を人工の制御器で動かす
- 脳
- 全脳モデルは必須ではない
- 身体
- 身体の物理を計算
脳と身体を両方計算する
- 脳
- 神経活動を計算
- 身体
- 身体の物理を計算
- 脳のモデル
- 指令への変換
- MuJoCo の身体
身体・環境に応じた感覚入力を脳へ戻す(閉ループ)
Fly.exe は NeuroMechFly の身体と脳を連動させる。ただし歩行のリズムは別のパターン生成器が担う。全ての脚の動きが実測配線から直接出るわけではない。
代表例:Fly.exe脳で実物のロボットを動かす
- 脳
- 部分回路を計算
- 身体
- 実機なので物理計算は不要
もう一つの比較軸
学習するのは、どの部分?
脳や身体を使うかどうかと、何を学習させるかは別の話です。次は代表的な例。枠内の「訓練対象」が、学習で調整される部分です。
学習なし
- 神経回路
- 固定の変換
- ゲーム操作
訓練する部分:なし
活動は変化するが、プレイの経験で操作が上達する学習は行わない。
代表例:Fly64読み出し部分を学習
- 固定の神経回路
- 訓練対象操作を選ぶ層
- ゲーム操作
訓練する部分:操作を選ぶ層
神経活動をジャンプなどに変換する部分を訓練する。Fly Dino は部分回路を固定して使う。
代表例:Fly Dino身体の制御器を学習
- 環境の観測
- 訓練対象人工の制御器
- 身体への指令
訓練する部分:人工の制御器
強化学習の課題で動作を学ばせる。実測の全脳配線を訓練しているとは限らない。
代表例:flybodyこれは全手法を三つに限定する分類ではありません。たとえば視覚モデルの flyvis のように、配線の制約とモデルの訓練を組み合わせる実装もあります。 flyvis →
できることから、最初の一歩へ
それぞれの入口になるツールを一つ選び、最初に試すところまで案内します。
見る・調べる
できること
気になる細胞を選び、どこにつながるかをたどる。
やってみる · 3 ステップ
用意するものブラウザ + Google ログイン。Python の準備は不要。
公式サイトを開く
下の入口から詳細ページの「公式サイト」へ。ログインし、FlyWire FAFB を選ぶ。
細胞の種類を検索
検索欄で「T4a」を試す。該当する細胞の一覧を確認する。
細胞の情報を開く
検索結果の細胞を選び、入力側・出力側の接続を調べる。
入口の詳細ページ →「公式サイト」から始める
この用途のツール・機能を詳しく
FlyWire Codex
まず配線図を見たい人向け。FlyWire の神経細胞と注釈をブラウザで調べる入口。
機能・試し方・限界を読む
- 主な機能
- 神経細胞や注釈を探索・分析する Web アプリ。公開サービスと、自分で動かすためのコードがある。
- 入力 → 出力
- 調べたい細胞を指定 → 細胞の情報と配線に関する情報を確認する。
- 必要なもの
- 公開サービスの探索機能はブラウザと Google ログインが必要。手元での運用には Python 環境とデータを準備する。
- 最初に試すこと
- 詳細ページの公式サイトから探索を始める。自分で運用する場合は README のデータ初期化とローカル起動の順に進む。
- わかる範囲・限界
- 配線や注釈を調べる道具。神経の時間変化を計算するシミュレーターとは役割が異なる。
一次資料の確認日:
neuprint-python
同じ条件で何度も調べたい人向け。neuPrint のデータを Python から取得する。
機能・試し方・限界を読む
- 主な機能
- 細胞や接続を条件で問い合わせ、結果を表として扱う。手作業の探索から、再実行できる分析へ進める。
- 入力 → 出力
- データセットと検索条件 → 神経細胞や接続の表。Python で集計や後続の分析に使う。
- 必要なもの
- Python、接続先サーバー、対象データセット、認証トークン。
- 最初に試すこと
- 公式 Quickstart に沿って Client を作り、fetch_custom の検索例から細胞情報を取得する。
- わかる範囲・限界
- 問い合わせ先が提供するデータが対象。取得した配線だけで発火や行動が生成されるわけではない。
一次資料の確認日:
活動を計算する
できること
刺激する細胞を変え、発火の違いを比べる。
やってみる · 3 ステップ
用意するものPython のノートブック操作。README に Colab で始める案内あり。
サンプルを開く
詳細ページからリポジトリへ。README の Colab 案内、またはローカル環境で example.ipynb を開く。
まず元の条件で実行
データの版と設定を揃えてサンプルを実行。発火時刻・頻度の出力を確認する。
刺激条件を変えて比較
刺激頻度や抑制する細胞を変更して再実行。同じ条件の基準結果と比べる。
入口の詳細ページ → リポジトリの 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。まず身体の表示と制御を試す。
環境を準備する
詳細ページから README の Installation へ。基本構成を導入し、tutorial notebook を開く。
身体を表示する
教材の歩行環境を作り、ハエの画像を描画。まずモデルが表示されることを確かめる。
制御値を渡してみる
env.step(action) を進め、姿勢の変化を見る。歩かせるには別途制御器が必要。
入口の詳細ページ → README の Installation / tutorial notebook
この用途のツール・機能を詳しく
flybody
脚や羽の制御を、仮想の身体で試す。歩行・飛行の強化学習にも使える。
機能・試し方・限界を読む
- 主な機能
- MuJoCo 上の身体モデル、歩行模倣・飛行・視覚誘導飛行の課題、訓練用コード。
- 入力 → 出力
- 身体への制御値 → 物理計算された姿勢・移動と描画画像。
- 必要なもの
- Python と MuJoCo。学習や学習済み制御器の実行には追加の機械学習依存関係が必要。
- 最初に試すこと
- 公式の tutorial notebook で身体を表示し、歩行環境に制御値を渡して変化を見る。
- わかる範囲・限界
- 身体と課題の環境。導入するだけで実測の全脳配線につながるわけではなく、制御器を用意する。
一次資料の確認日:
NeuroMechFly / FlyGym
身体と周囲の環境を組み合わせ、感覚から運動までの制御を試す。
機能・試し方・限界を読む
- 主な機能
- 身体の物理モデルと環境の構成、対話的な表示。NeuroMechFly の研究では視覚・嗅覚と歩行を扱う。
- 入力 → 出力
- 環境と身体の制御 → 身体の動きや感覚入力。対応する感覚機能は利用版を確認する。
- 必要なもの
- Python と利用版に対応する環境。現行 FlyGym と旧版 flygym-gymnasium は API が異なる。
- 最初に試すこと
- 現行版の公式ドキュメントから導入する。旧教材を使う場合は旧版のドキュメントと環境を揃える。
- わかる範囲・限界
- 現行版には旧版の全機能が移植されていない。身体の再現と、脳全体の再現は別の課題。
一次資料の確認日:
ゲームで試す
できること
神経回路の信号が、チェスの一手になる様子を見る。
やってみる · 3 ステップ
用意するものWebAssembly 対応ブラウザ。最初に接続データの読み込みあり。
公開デモを開く
詳細ページの「公式サイト」へ。初回の接続データ読み込みが終わるまで待つ。
対局を試す
盤面で操作し、モデルが選ぶ手と活動記録を見る。強い棋力を目指すデモではない。
接続を切った結果と比較
シナプスを切る対照条件を試し、活動や着手の変化を確認する。
入口の詳細ページ →「公式サイト」の公開デモ
この用途のツール・機能を詳しく
Fly Chess Lab
ブラウザでチェスを試し、神経活動と指し手の関係を観察する実験。
機能・試し方・限界を読む
- 主な機能
- 盤面、神経細胞の点群表示、活動記録、手の評価、シナプスを切る対照実験。
- 入力 → 出力
- 盤面を人が定めた方法で刺激に変換 → 回路の信号を読み出して指し手を選ぶ。
- 必要なもの
- WebAssembly などに対応するブラウザ。初回に接続データを読み込み、計算はブラウザ内で行う。
- 最初に試すこと
- 詳細ページの公式サイトで対局を試し、活動記録と接続を切った場合の変化を比べる。
- わかる範囲・限界
- 読み出しは未学習で棋力は弱い。ハエがチェスを理解する証拠ではなく、入出力の対応は人が設計している。
一次資料の確認日:
結果を読むときのポイント
実際に試せること
- 回路の変化を比べる刺激や抑制の条件を変え、モデルの出力を調べる。
- 動作や学習を実験する視覚モデルの訓練や身体制御など、実装ごとの課題を試す。
結果だけでは言えないこと
- 全てのモデルが自ら学習する固定配線のデモも、学習を組み合わせたモデルもある。訓練する部分を確認する。
- 生きたハエを丸ごと再現したゲームの成績や身体の動作だけでは、実際の神経活動との一致は示せない。
数値は「何を数えたか」まで確認しましょう。細胞の数、細胞ペア間の結合の数、シナプスの総数は別の量です。同じデータセット名でも、版や抽出範囲が違うと数値は変わります。