無人機以每秒 1 公尺直線飛,一根柱子從旁邊經過。這裡還沒有真的接回飛行,只看視覺線路的反應。每一點代表 0.25 秒。橫軸是柱子實際在哪個方位。縱軸是估出來的方位,估法是看偵測逼近的細胞(LPLC2)裡哪個位置在放電。點落在斜線上,表示估得準。 正值是左邊、負值是右邊。只畫有放電的時段(柱子還遠的時候,這些細胞本來就不放電)。
果蠅有一種視覺細胞專門偵測「東西正朝我衝過來」,代號 LPLC2,下面叫它「偵測逼近的細胞」。文獻(Klapoetke 2017)的說法是:東西逼近時,畫面上的邊緣會從中心往外擴散。這種細胞專門喜歡「往外」的運動,討厭「往內」的。
它的輸入來自一群小的神經細胞,每一顆只對某一個運動方向有反應,分成 a–d 四種方向。下面叫它們「偵測運動方向的細胞」;它們有兩類,代號 T4 和 T5。另外有一群負責局部壓抑的細胞(代號 LPi),在畫面往內運動時把偵測逼近的細胞壓下去。下面叫它們「壓抑細胞」。
這次的做法分前後兩段。前段用 flyvis 算出偵測運動方向的細胞(T4 / T5)的反應。flyvis 是 Lappalainen 2024 發表的模型,照果蠅視覺接線建好、並且用任務訓練過;我們不再自己訓練。後段用 MaleCNS(雄果蠅全腦接線圖)裡的實際接線:偵測運動方向的細胞和壓抑細胞,怎麼接到偵測逼近的細胞。
測試畫面用文獻裡的十字圖樣:四條亮條在偵測逼近的細胞的視野中心「往外」掃或「往內」掃。然後算一個「偏好往外」的分數(原本叫徑向指標):(往外 − 往內)÷(往外 + 往內)。0 表示不分方向,愈大表示愈偏好往外。事先寫好的判定標準有兩條:分數要到 0.30;而且要在 8 個 flyvis 模型裡勝過兩種假腦。
「事先選定」和「看過結果才選」差在哪:設定如果是看到結果之後才挑的,就有可能只是挑到分數剛好好看的那一個,所以不能算正式結果,只能當參考。這裡正式結果只看事先選定的那一組,它的分數是 0.24,沒過門檻 0.30。
| 設定 | 「偏好往外」的分數(8 個模型平均) | 勝過「區塊打亂」假腦的模型數 | 勝過「方向標籤打亂」假腦的模型數 | 鏡像後的分數 | 判定 |
|---|---|---|---|---|---|
| 只接 T4 這一類 | +0.14 | 8 / 8 | 8 / 8 | −0.10 | ✗ 分數不到門檻 |
| T4 + 壓抑細胞(g = 1,事先選定) | +0.24 | 7 / 8 | 8 / 8 | −0.13 | ✗ 分數不到門檻 |
| T4 + T5(暗條) | +0.17 | 8 / 8 | 8 / 8 | −0.07 | ✗ 分數不到門檻 |
| T4 + T5 + 壓抑細胞(暗條) | +0.20 | 7 / 8 | 8 / 8 | −0.08 | ✗ 分數不到門檻 |
| T4 + 壓抑細胞,壓抑加倍(g = 2,看過結果才選) | +0.40 | 8 / 8 | 8 / 8 | −0.35 | ✓ 過了門檻,但設定是事後選的,不算正式結果 |
兩種假腦的做法:「區塊打亂」是在同一類神經細胞之間,把「誰接到偵測逼近的細胞」隨機換掉。「方向標籤打亂」是每顆偵測逼近的細胞保留同一組輸入位置,只把 a–d 四種方向標籤重新分配。
「鏡像」是把 a↔b、c↔d 對調。如果分數真的是靠接線的方向來的,鏡像後正負號應該反過來。g = 2 那一列的鏡像,連壓抑細胞的輸入也一起對調;前面幾列只對調直接輸入,不是乾淨的對照。
為什麼加上 T5 沒幫上忙:flyvis 這批模型裡的 T5,量不出它對運動方向有偏好。換成論文的量法(三種速度、正規化)也一樣。所以有 T5 的那幾列,主要是 T4 加上幾何在撐。
點任一步,看做了什麼、結果如何。
| 步驟 | 做什麼 | 結果 |
|---|---|---|
| 什麼都不調 | 沿用無人機那條線原本的神經細胞參數 | ✗ 訊號連第一層都傳不過去 |
| 只調基準電位(試了三次) | 每種細胞給一個固定的偏移量,不看任務 | ✗ 不是每顆細胞自己亂放電,就是全部安靜 |
| 用任務訓練 | 東西逼近時要放電;東西遠離、或自己在轉時不要放電 | ✗ 真腦和假腦都學會,所以不是接線的功勞;但真腦多了「方位」 |
| 正式考方位 | 在沒訓練過的 14 個位置考 | ✓ 真腦 0.97–0.99,假腦約 0 |
| 補上「變亮」的訊號再訓練 | 之前只有「變暗」的訊號進得去 | ✗ 分辨逼近的能力還是假腦也做得到;✓ 方位第二次只有真腦做得到 |
| 無人機視角 | 一根柱子從旁邊經過(上圖) | ✓ 真腦跟得上柱子,假腦只分得出左右 |
| 接回飛行(直接接) | 把視覺線路的放電直接接進無人機的腦 | ✗ 一路急閃,比完全不控制還差 |
| 接回飛行(只決定方向) | 閃避照原本的做法,只讓它決定往哪邊閃 | ✗ 方向正確率 50%(原本 96%):柱林裡很多根柱子同時在動,它分不出要閃哪一根 |
| 用多個物體的畫面重新訓練;固定視覺線路不再訓練、改從多種細胞讀出結果(到 2026-10-03) | 換訓練資料、換讀出結果的方式 | ✗ 仍然輸給原本的做法,真腦沒有勝過假腦。自己訓練視覺線路這條路結束 |
| 方案 B:訓練好的前段 + 雄果蠅接線圖(2026-10-04) | 用 flyvis 算偵測運動方向的細胞的反應,接上雄果蠅接線圖裡通往偵測逼近的細胞的接線,量「往外」和「往內」的差別 | ✓ 真腦在每種設定下都勝過兩種假腦;✗ 事先選定的設定分數 0.24,不到門檻 0.30(見上方「方案 B」) |
在閃避障礙物那條線裡,「有東西正在逼近」一直是程式先算好再告訴腦的,腦只負責把訊號往左或往右送。這一頁是另一條線:讓果蠅自己的視覺線路去看畫面。這段線路從感光之後的第一層,一路到偵測東西逼近的視覺細胞(LPLC2),約 8.4 萬顆神經細胞。
什麼都不調的話,訊號完全傳不過去。所以這條線用機器學習替每一種細胞找少數幾個參數(接線本身不動)。接線被隨機打亂的假腦也用同樣方法、同樣多的參數訓練,拿來跟照真果蠅接線的真腦比。
2026-10-04 更新:自己訓練視覺線路(視葉)的那條路,在 10-03 結束。之後換一條路(方案 B):改用別人已經訓練好的果蠅視覺模型,接上雄果蠅接線圖裡偵測逼近的那一段,只問一個範圍很小的問題。結果在「逼近」這件事上,第一次看到真腦穩定勝過假腦;但強度沒到事先定的門檻。見下方「方案 B」。
真腦(照真果蠅的接線):照果蠅大腦實際的接線,一條都不改。
假腦(接線被隨機打亂):零件一樣、電線一樣多,只是把「哪條線接到哪裡」隨機換掉。
就像一個城市:路口數量、每種道路有幾條都一樣,但每條路通到哪裡是亂抽的。兩張地圖的統計數字一模一樣,差別只在「誰連到誰」。
為什麼要比:如果只有真腦做得到,才能說功勞在果蠅大腦的接法。如果假腦也做得到,就只是「零件夠多」而已,跟接法無關。
給想查原始紀錄的人:這條「讓果蠅用自己的眼睛看」的線,在原始紀錄裡的編號是 V1 線。