9/30/2026

[AI不會幫你做的事] 壁掛浴室暖風機 電燈開關

前陣子家裡的暖風機電燈開關似乎壞了,按了很多次電燈也不亮,長按也沒用,但有時候又會突然好了。暖風機倒是可以正常使用。

網路上可以根據型號找到新的控制器,蝦皮賣1999台幣!不知道算貴還是便宜。


這種有某一個開關時好時壞,但其他功能都正常,很多時候是因為主機板上有污垢,水氣,鏽蝕,所以造成接觸不良。這時候用WD40精密電子清潔劑,就有可能讓你省下1999。

而且很多時候不是省錢的問題,這個型號的壁掛浴室暖風機,是被建商大量使用,但已經是10年前的事情。現在賣的控制器都已經是新款,以後廠商不見得有「向後相容」的控制器生產,也就是說,為了電燈不能開,以後你可能需要換掉整個暖風機,感覺挺荒謬的。

所以如果可以自行修復,當然是最好的。

要注意的是,如果你直接去問AI,不管是哪個AI,他有很大的機會告訴你錯誤的「拆卸方式」,錯誤的拆卸方式,可能會損壞整個控制器!

總之,修理的步驟如下:
(1) 把控制面板整個拆下來:注意!不同廠牌的控制面板拆的方法不一樣,有些是往上推,有些是用卡住的,所以要用點蠻力直接拔,有些是用螺絲。不管怎麼,需要找到像這樣的說明書。說明書是講的是安裝方式,但其實,反過來做,就是拆卸方式。





(2) 準備好 "WD40精密電子清潔劑" ,帶手套,到通風得地方,把整個控制主機本的徹底噴幾次。在噴的過程,要多按幾次原本壞的的按鈕。這個清潔劑價格不貴,蝦皮也只賣180

(3) 裝回去!測試看看

結果非常完美的解決這個問題!

-------


-------

要注意的是 WD40 有不同的版本,對於居家DIY用,你大概只需要知道有三個版本,一樣是叫做WD40,但其實根本不是同個東西。

(1) WD40精密電子清潔劑:專門噴主機板,各種電子零件等等。
(2) WD40食品級:任何可能接觸到食品的機器,要除鏽防水,像是果菜機,食品加工機。
(3) WD40 防銹潤滑劑:普通的WD40,潤滑門絞鏈,螺絲等。


9/24/2026

ISO 27001認證的必要性?



我在某電商工作時,曾負責取得ISO 27001認證,今年又搞定目前公司的ISO 27001認證。要通過認證嚴格上來說不難,但是相當煩,耗時費力。


ISO27001有多少公司有?

首先,一開始會讓我有點意外的是,台灣大概只有不到兩千家的公司,持有ISO27001有效認證。但後來想想,ISO27001是資訊安全認證,因此,需要它的大都是軟體廠商,金融服務,電信服務。而台灣金融服務電信服務公司數量上其實不多,銀行就那幾十家,電信主要就三四家,加上周邊廠商,的確不會有那麼多公司,自然需要ISO27001數量也少。而軟體,電子交易,網路交易相較於其他國家,台灣算是相當的少,當然也就不需要ISO27001。絕大部分的電子製造業的品管認證,ISO9001 在台灣有超過兩萬張,數量自然比資訊安全來得多。

那麼,這樣的數量算多還是少?

這是列舉11個先進國家持有iso 27001認證的數量排序。看起來日本是最多。台灣感覺好像差日本一截。

排名國家/地區ISO 27001 certificates
1🇯🇵 日本6,644
2🇬🇧 英國4,455
3🇺🇸 美國4,260
4🇩🇪 德國2,444
5🇦🇺 澳洲2,217
6🇹🇼 台灣1,943
7🇳🇱 荷蘭1,568
8🇰🇷 韓國918
9🇫🇷 法國791
10🇸🇬 新加坡494
11🇨🇭 瑞士375


不過單就數量排序,顯然是不正確的。應該要按照公司數量,產業類別來排序。不過這樣做就搞得太複雜。這又不是學術論文。

弄的簡單的方法,以百萬人口數為單位,看看這些國家,每一百萬人有多少ISO27001證照。這種排序方法也沒什麼道理,只是可以盡量去除人口數量因素。

以 certificate / 百萬人口:

  1.  新加坡 — 113.7
  2. 荷蘭 — 87.1
  3. 台灣 — 83.0
  4. 澳洲 — 82.1
  5. 英國 — 64.4
  6. 日本 — 53.6
  7. 瑞士 — 41.6
  8. 德國 — 29.3
  9. 韓國 — 17.8
  10. 美國 — 12.5
  11. 法國 — 11.5

這樣一排下來。台灣反而是前段班,並且新加坡很明顯多餘所有其他國家。原因也很簡單,新加坡作為東南亞金融重鎮,許多公司的總部都在新加坡。我之前工作的電商總部也在新加坡,所以雖然我在台灣,處理ISO27001證照,但證照還是會歸在新加坡總部而非台灣分公司。

而台灣其實比例上竟然也很高,跟荷蘭澳洲差不多是屬於前段。ISO的總部雖然在日內瓦,但是瑞士法國(日內瓦是瑞士法國交界城市)比例倒是沒想像中的高。


ISO27001的必要性?

有些情況下認證有必要性。

例如,政府投標項目涉及政府的「核心資通系統開發、運維、代管」或「處理機密公務個資」,招標機關為了滿足自身的資安法遵,通常會在投標須知中規定:投標廠商(或共同投標成員)必須持有有效的 ISO 27001 驗證證書。


此外,大多數的情況是在「展現本公司的基本能力」。

從另一方面來說,當公司/組織被問跟資訊安全管理情況有關的問題。例如,投資者問「請問公司資訊安全有問題嗎?」或者客戶問「我的資料放在你家安全嗎?」等等此類問題,如果你沒辦法簡單回答這句話:「很安全,你看,我們有SOC2 以及ISO27001認證」那你就得用其他的方式回答。


我還真沒想到有什麼更好更簡單的方式可以回答這個問題啊。




9/19/2026

(仿生智慧 part-4) 跟果蠅玩坦克大戰

承接上篇,這是果蠅大腦實驗的第三個,用果蠅腦來跟你玩坦克大戰。

坦克大戰最早是個機台遊戲,到了 1985 年,南夢宮正式在任天堂紅白機上推出Battle City,在台灣超過45歲以上的人,應該都玩過這個遊戲。任天堂的卡帶是日文的"バトルシティー",但台灣盜版中文並沒有如實翻譯成"戰鬥都市"而是根據遊戲內容叫做「坦克大戰」。對於小時候的我來說,這坦克大戰真的頗爲經典,他是可以和朋友一起合作而非互相廝殺的遊戲。(當然還有個魂抖羅也是)


總之,這次的實驗,是模擬完整果蠅腦,來跟人類打坦克大戰。


這隻果蠅目前不太行。訓練模擬999場之後,牠對上一個「會走、會在瞄準時開火」的簡單電腦對手,勝率大概只有兩成多,比隨便亂按亂開火的隨機玩家高不了多少。真人應該很容易就贏果蠅。反過來想想也合理,如果人連果蠅都打不贏的話,那也太奇怪。

但那是真實的果蠅腦,連接到坦克,真的動起來、真的開火、真的在瀏覽器裡跟你即時對戰,而且每次的對戰他都在學習。


果蠅腦是哪裡來的


2024 年, FlyWire計畫公布了他們的成果:他們把一隻成年雌果蠅的整顆腦,用電子顯微鏡切成薄片、一片一片掃描,再用人工智慧加上幾百位志工的手工校正,把每一個神經元的形狀、每一條突觸連到誰,全部畫出來。這是史上第一張「完整的成年昆蟲腦接線圖」。整份資料是公開的,任何人都可以下載。

緊接著,另一組科學家(Shiu 等人)把這張接線圖變成一個可以「開機執行」的電腦模型:每個神經元都是一個簡單的電路:電位會慢慢下降,但是收到別人放電就往上加、超過門檻就自己放電、然後沿著接線圖把訊號傳給下游。他們證明這個模型可以重現果蠅的一些真實行為,例如舌頭碰到糖水會伸出口器等等。

我在前幾個小實驗裡,已經把這個模型用 NumPy 重新複製一次(當然是在AI協助下)跟原作者的版本比對過,反應幾乎一模一樣(相關係數 0.99)。所以我手上有一顆「隨時可以使用」的果蠅腦。


如何接到遊戲


遊戲是仿 Battle City 第一關的格局(只借用格子的排列,圖是自己畫的,應該沒有版權問題吧?):紅色的磚牆可以被子彈打穿、灰色的鋼板打不穿。兩台坦克,一台黃色的是你,一台綠色的、上面停著一隻卡通果蠅的是牠。規則刻意簡化:不用保護基地,就是互相打;每秒最多開一發;子彈跟坦克一樣快;被打中一發就結束。

那「果蠅開坦克」到底是什麼意思?整個過程0.25秒重複一次,分成三步驟:

第一:把遊戲畫面翻譯成果蠅的感官訊號,打進牠腦中對應的真實感覺神經元。

第二:讓整顆腦「跑」五十毫秒。十三萬八千個神經元同時漏電、充電、放電,訊號沿著兩百七十萬條真實突觸運作。在我的電腦上,這一步大約要零點一秒。

第三:讀出腦中一小群神經元的放電,決定坦克要做什麼:前進、左轉、右轉、掉頭、開火,還是不動。

在這步中,讀取的是果蠅腦的「下行神經元」。這是果蠅腦真正的運動輸出:腦的指令要傳到身體的翅膀、腳,走的就是這幾百條神經。再加上視葉輸出區的「視覺投射神經元」。這七百五十一個神經元的放電,接到六個「動作單元」上,每個單元對應一個動作。哪個單元放電最多,坦克就傾向做那個動作。

所以嚴格說,「會學習」的地方是這751x6條連線的強度。果蠅腦本身當然是不會動的。


果蠅腦用什麼「感官」感知你


剛開始只想給牠眼睛:把坦克前方的畫面縮成三十二乘三十二的低解析度影像(果蠅複眼大概就這個解析度),投到牠視葉裡真實的視覺神經元上。然後我做了一個檢查:從牠腦中神經元的放電,能不能分辨「敵人在左邊還是右邊」、「我的砲口有沒有對準敵人」?


結果幾乎不能。只給眼睛,這顆腦對遊戲的理解接近瞎猜。這其實跟我前幾個專案的發現一致:坦克遊戲的畫面又暗又平,對一顆果蠅腦來說,沒什麼好看的。而且也跟實際上果蠅的人生是一樣的,果蠅主要並不靠眼睛處理環境的變化。

果蠅主要靠牠靠嗅覺器官、有觸角上的風感受器、有聽覺、有全身的觸覺、有味覺。這些感官在 FlyWire 的資料裡都有標好名字。把遊戲裡的資訊,一件一件「變成」成牠不同的感官刺激:

嗅覺:敵人在哪個方向。把牠兩千多個嗅覺受器神經元分成八組,對應八個方位;敵人在哪個方位,那組就放電,敵人越近放得越猛。對果蠅來說,敵人就是一顆越靠近、味道越濃的水果。

風感:果蠅觸角上有一群專門感受風和重力的神經元。敵人的砲彈飛過來時,離牠最近的那顆子彈的方位跟距離,就變成一陣風吹過去。

聽覺:果蠅的聽覺神經元分成兩組:一組在敵人開火那一瞬間響一下(聽到槍聲);另一組在「我的砲口正對著敵人、中間沒有鋼板」的時候持續響(表示可以打了)。

觸覺:撞牆。頭上的剛毛神經元分成前、左、右三組;哪個方向被牆或水擋住,那組就放電模擬撞到東西。

味覺:砲彈裝好了沒。糖的受器放電代表砲可以開,苦的受器放電代表還在裝彈。

每一個感官都直接打在 FlyWire 接線圖裡真實存在、有各自的神經元上,然後訊號自己沿著真實的接線在腦裡跑。加上這五個感官之後,之後再做一次同樣的檢查:從那751個下行神經元的放電,敵人方位分別率很高、是否有瞄準也能分辨、子彈有沒有飛過來也大多能感知。這顆腦似乎是知道遊戲裡在發生什麼了。


如何怎訓練牠


果蠅學東西靠多巴胺。在真實的果蠅腦裡,當一個氣味跟糖水(獎勵)或電擊(懲罰)同時出現,多巴胺神經元會放電,把「剛剛活躍的那些突觸」加強或減弱。神經科學把這叫「三因子學習規則」:突觸前放電、突觸後放電、再加上多巴胺,三個因子同時到,突觸才改變。

在第一個專案裡就用這套規則,教這顆腦分辨圖片是不是字母 A,效果很好。這次就把它搬到遊戲裡:

獎勵:牠的砲彈打中你,加一分(最大獎勵);牠被打中,扣一分(最大懲罰);牠在砲口對準你、中間沒鋼板的時候開火,小加零點一分,這是一點「引導」,鼓勵牠往正確方向開槍,就算沒打中。

多巴胺怎麼作用:每一步,六個動作單元跟七百五十一個腦神經元之間的突觸,都會留下一條「資格痕跡」。記錄「剛剛誰跟誰一起活躍」。牠選了某個動作之後,這條痕跡會偏向那個動作的單元,並且慢慢衰減(大約一秒多)。等獎勵或懲罰真的來了,多巴胺就沿著還沒消退的痕跡,把突觸加強或減弱。這樣,兩秒前開的那一槍打中了,還來得及獎勵。

訓練流程:牠先跟「站著不動的對手」練240場,再跟「亂走但不開火的對手」練360場,最後跟「會亂走、砲口對準時會開火的對手」練習399場,總共九百九十九場。每一百多場,我讓牠關掉探索、認真打一百場,記錄勝率。我的Mac M4 Pro同時開十二場訓練,整個訓練大約一個半小時。

訓練資料不是下載來的,就是這999場牠自己打出來的比賽。

目前暫時的情況是:對「會開火的對手」,牠的勝率從一開始的14%,慢慢爬到最高28%,最後一次測是21%。一個隨機亂按的玩家對同一個對手的勝率是18%,所以老實說:有進步,但沒有進步很多,離原本設定的「三分之一勝率」目標還差一截。

以後可以怎麼變強

如果,不用果蠅腦,直接把「敵人在哪、有沒有瞄準、有沒有子彈飛過來」這些乾淨的數字餵給一個很小的普通神經網路,用一模一樣的獎勵去訓練,它在四百場之後就能打到七、八成勝率。所以遊戲跟獎勵的設計是可以學的,所以證明問題不是遊戲本身。

如果,把果蠅腦那751個神經元的放電數,餵給一個用標準梯度下降訓練的線性模型。結果它也學不會,300場後勝率只有6%。這很有意思,代表問題不只是果蠅式的多巴胺學習規則不夠好,而是「從700多個雜訊很大的神經元放電數,在每場只有0.5次有用獎勵的情況下學會該做什麼」,本來就是很難的事。

如果,只給眼睛、不給其他感官的果蠅,訓練三百六十場,勝率一直在12%~16%之間 。說明其實其他感官是有用的。


目前,果蠅學到的不是「看到什麼就做什麼」,而是「整體上多開火、多掉頭」。不管砲口有沒有對準你、不管有沒有子彈飛過來,牠選各個動作的機率幾乎一模一樣。牠學到的是一種「習慣」,不是「反應」。但其實這和果蠅這個生物本身行為確實是一致的。

深究果蠅的腦部結構,那下行神經相對密集,因此,不管遊戲裡發生什麼,這幾百個神經元幾乎都在放電。多巴胺來的時候,加強的永遠是差不多同一批突觸,所以只能學到「整體多做某件事」,學不到「在什麼情況下做」。但老實說也跟這種極小型生物本身的情況一致。

要真的讓果蠅「變強」,大概只能朝「變蠅人」方向前進。因為果蠅的頭腦經過演化,本來就不是來處理大型環境,未來時間戰略思維,任何手段看起來都免不了改造頭腦結構。

所以網路上果蠅玩doom,果蠅炒股票,基本上還是一種有趣的專案。果蠅腦並不適合。反倒是前面兩篇文章:果蠅腦辨別A,果蠅腦處理同音錯別字,這類型果蠅腦可以處理的快速反應,單一任務更適合果蠅腦本身。


如何玩?

整個系統我打包成一個 Docker 映像檔,裡面就包含這顆果蠅腦(接線圖加上訓練好的連線)。兩行指令就能在自己電腦上跑起來,打開瀏覽器,畫面是仿紅白機的坦克大戰:紅磚牆、鋼板、一台黃色坦克是你,一台綠色坦克上停著一隻卡通果蠅是牠。方向鍵移動、空白鍵開火。


畫面右邊有幾個小視窗:你可以看到「果蠅眼中的世界」——牠前方那張三十二乘三十二的模糊影像;可以看到牠六個動作單元每一步各放了幾個電,哪一個贏了就亮黃色;還可以看到牠這一步的腦模擬花了幾毫秒。你看到的每一個動作,都是十三萬八千個神經元真的跑完五十毫秒之後,從幾百條下行神經的放電裡讀出來的,不是隨機數、也不是寫死的規則。

而且,每一場你跟牠打,牠都在用同一套多巴胺規則學。打中你,牠的多巴胺加強剛剛那一槍相關的突觸;被你打中,就減弱。每一場結束都會存一個新的訓練結果版本。

* email 給我,可以取得docker檔案: consultant.3rd@gmail.com 你可以自己架起來玩
* 我放到Google GCP上 會讓大家玩一段時間 當然GCP host要費用啊 所以大概會放個幾個月吧: https://tankfly-497792128300.asia-east1.run.app/
   請注意要縮小瀏覽器 不然看起來會太大。另外一次只能一個人跟他玩,所以第二個存取這個遊戲就要等60秒。

你作為人類,鐵定會贏牠。牠現在是一個會亂開槍、偶爾走位很怪的對手。但你會是在跟一顆真實果蠅腦對戰,而且你打的每一場,都成了牠的訓練資料。


要如何快速幫公司取得 ISO 27001 資訊安全管理 認證

在這個AI全面發展的時代,資訊安全的維護已經越來越艱難,畢竟破壞比建設容易,攻擊比防守簡單。

不過,對於消費性市場,一般消費者看起來不那麼介意。

例如:網站momo有ISO 27001認證,但其實最大的蝦皮卻沒有ISO認證。台灣最大的幾個網路書店,也都沒有ISO 27001資訊安全認證。市佔率最高的幾個賣衣服的台灣電商(擁有獨立的網站)也都沒有ISO 27001認證。

對於企業市場B2C,有沒有ISO認證,感覺像是一個「你得有才能證明你有基本的資訊安全控制」。所以SaaS相關,跨足B2C,營業範圍超越台灣的台灣廠商,大部分都是有ISO認證。例如91APP,它既然幫人做網站,自然就要想辦法證實自己的安全得以控制。

所以,需不需要ISO 27001認證,其實端看公司客戶,如果是消費性客戶,那其實還好,沒這麼多人在意。但如果是企業客戶,牽涉到企業採購,企業的負責人當然會想知道最低程度的安全性控制。



ISO要花多少錢。

如果你的業務範圍不只台灣的話,你需要國外的Agent來幫忙,並且最好有個自動化工具。那恐怕直接費用要花個50萬台幣。

目前,對於小企業來說,許多人會推薦Drata,一個月大概600美金,至少需要3個月,實際上恐怕要半年。一般而言,幫你搞定文件跟包auditor的agent收費差不多15000美金。所以至少16800美金,差不多五十多萬台幣!

相當貴啊

如果你是要幫公司取得ISO認證的負責人(先不管你的職位是什麼),即使你不擔心費用,你也得有效的控制時間成本。畢竟在取得ISO的當下,公司不會多賺錢,而如果控制不當,大家都要花很多時間啊。

ISO 27001取得的意義

ISO 27001本身其實是設定「資訊安全標準」運作方式。他的邏輯是,你先設定好公司的各種policy,然後根據這些policy設定管理監督方式,然後auditor(稽核)取得管理監督方式的證據,然後auditor就會說「啊!你們很好,你們通過了ISO認證」


在有企業客戶的情況,如果企業客戶問你「請問貴公司對於資訊安全的防護措施為何?我如何香相信貴公司對我資料儲存在公司有保障?」

有ISO認證的話,你就可以先簡單回答一句話「我們有ISO的認證」然後再開始吹噓細節「其實我們會先....然後再....然後又....」 對方如果不是資訊安全專業人士,大概只會聽到第一句話,你有ISO認證,就勉強相信你們大概不會亂搞

如何幫公司取得ISO 

如果你是負責ISO取得的人,那最簡單的流程如下

(1) 你得先去找顧問公司,實務上就是認證協助機構,談好價錢,簽約,請他們來幫忙
(2) 顧問公司,會花一段時間,搞出一堆文件,條列出該裝東西的清單,以及告訴你們需要做的事情。例如:公司內部系統登入是不是都有2FA?重要資料庫是否有設定自動備份?有沒有災難復原模擬?
(3) 你得花時間,組織公司內部團隊,去做那些該做的事情。如果你們公司從來沒有考慮過妥善的內部管理,那恐怕你得花上3~4個月,讓公司的有基本的內部管理
(3) 準備好了之後,顧問公司,會去幫你找到稽核機構來做稽核。稽核的結果會由稽核送到ISO組織認證。通常稽核說沒問題的。認證是一定會通過。
(4) 稽核本身需要兩次,間隔兩週,每次可能2~4天,端看組織規模大小。
(5) 稽核沒問題之後,到拿到ISO還需要4~5週的文件往來時間。

流程裡面有很多情況會讓時間拖很久。你作為負責人,當然希望ISO取得越短越好。

所以,「時間」是你要控制的重要資源。

快速ISO取得的秘訣

* 盡可能縮小ISO27001認證範圍:

   這應該是最重要,最需要先搞定的事情。大部分的公司組織,無論人多人少,都有既定的產品線,部門等等,千萬不要以為認證說要涵蓋整個公司,讓稽核檢查所有東西,對公司來說是賺到了!其實剛好相反。因為當你拿到認證的時候,雖然認證報告上面會說ISO的範圍,可是你的客戶根本不會去看長達數十頁上百頁的報告,他只會看ISO LOGO,而不管認證範圍多還是少,LOGO都長一樣啊。所以作為ISO負責人,快速取得ISO就應該要盡可能縮小認證範圍。當然可以跟老闆解釋縮小範圍可以更早取得,取得風險更低。舉例來說,如果公司有幾個不同的web service,可就最重要的一個產品,申請ISO,然後範圍只涵蓋該產品的研發單位,營運以及相關HR,不含蓋財務,法務,以及其他產品線。在這情況下,如果稽核要檢查雲端建設,例如使用了Amazon的某些服務,就只會檢驗跟這個產品線有關係的。而且ISO的policy文件,也只會需要相關的。
  這絕對不是投機取巧!也不會降低稽核力道!但絕對是快速取得ISO的第一件要做的事情。盡可能縮小範圍。

* 如果經費許可,小公司盡可能在創業初期取得ISO

這個道理也是跟縮小範圍一樣。如果取得ISO對未來業務很重要。小公司盡可能早點取得ISO,因為公司還沒有很多人,產品可能剛上線不久,任何東西要改動反而成本比較低,更重要的是許多policy文件,會因為公司規模實在太小,太年輕了,所以稽核無法檢驗。例如,HR的稽核通常包含離職程序,一個剛剛成立的小新創,搞不好根本還沒有人離職,繁冗的離職程序自然不會被抽檢。

* 必要的會議以及按時執行的任務先設定行事曆,設定好簡單的會議記錄格式!:

這點看似簡單。但其實很重要,也很容易被忽略。企業一定會有線上行事曆(google calendar之類)一但開始搞ISO 27001要把所有相關會議,與會人等,先設定好會議通知。根據公司規模範圍大小不同,會議內容當然有所不同。但最最基本的,一定要有
(a)每季一次的ISMS主管會議,討論風險,安全性指標等等
(b)每季一次的working meeting,基本上最好在ISMS會議之前,討論實際上的事情。例如防火牆設定有沒有問題,crowdstrike太貴要不要換廠商等等,
(c)每年一次的penetration test/ db backup restore/
(d)每季一次的access check(有沒有離職的人帳號還沒刪等等)
(e)....其他
重點在於一但會議通知寄出 最好伴隨一張googlesheet link這個link也當作會議記錄的地方使用。這樣auditor會看得非常清楚,也知道組織有按照時間做事情。行事曆不是只有做會議通知用,也要當作「記錄什麼時間該做什麼事情」使用

* 請顧問提供標準的policy(政策)文件,但是,利用AI盡可能刪掉不必要的部分。

ISO的policy文件,表示公司對某些事情打算怎麼做。大多公司都採用顧問標準版本。但要注意!這個版本是可以改的,對於稽核來說那是公司跟顧問一起設計的。內容是怎麼來的對稽核來說不重要,重要的是有沒有遵循!由於文件太多,所以盡可能利用AI,要求AI刪除不必要的部分。文件內容越少,稽核能檢查的越少。更重要的是,如果公司提供了policy文件,被稽核檢查到沒遵守,在ISO的稽核過程,是不可以「改文件的」,如果是重大問題,那就會稽核不過啊!無論是從新稽核還是怎樣都會浪費更多時間。


* 利用AI審閱policy文件,必須要特別強調沒有彈性的規則要事先表列,可以刪就刪掉。

舉例來說policy如果有說「所有資料庫都要備份」那稽核就會去檢查所有資料庫。如果你的測試用資料庫沒備份,那還是違反了政策。因此,當然是寫「重要資料庫要備份」,什麼是重要就可以自行定義。

* 盡可能利用已存在/免費工具

許多安全性要求都包含防毒軟體,end-to-end protection,DLP (Leak protection) 等等。這些就算你沒寫入policy中,auditor也會根據"實務上最佳做法"來查核。換言之,如果你說你沒把裝防毒軟體寫到文件中就可以不裝,那是不行的。
然而,你不見得要花錢裝,也不見得要去用風險高的工具。例如windows內建內建的防毒軟體 Microsoft Defender 以及Windows 資訊防護DLP,你只要確定都有打開並且截圖作為證據即可。Mac XProtect也有類似的功能。

另外,大部分的policy都會寫要有教育訓練,畢竟,資訊安全最重要的是「員工的認知」,其次才是工具。其實ISO只要要求有教育訓練,從來不會看教育訓練的內容。所以,只要網路搜尋,找到適合簡單的教育訓練材料或者video確保員工都有"看完"就好。

有些甚至還有簡單的證書,例如關於個人資料防護的-> https://securityawareness.dcsa.mil/piiv2/content/index.html 這個課程上完還會給你證書 只要要求員工把證書上傳到公司的share drive就可以。

* google workspace會讓小公司生活的很方便
如果公司一開始就已經用google workspace那麼很多安全性的工作就會變得很簡單,例如所有我們用的工具都需要設定MFA並且要證明。但是如果我們先證明我們的gmail有設定MFA,而我們所有工具都是用google login(gmail login)那就等同於其他所有工具都有MFA。

* 如果公司有經費的話,盡量使用認證工具,例如Drata
 Drata並不便宜,每種認證架構每個月要600~800美金不等。雖說稽核應該公正無私,跟工具無關,但視覺大部分的稽核,都喜歡直接使用工具上的列表清單來稽核,因為這樣對他的工作方便,當然,一但稽核越方便工作,你拿到ISO的時間會越短。

* 要找曾經被稽核過,有經驗的人來參與(如果你不曾經歷過完整的ISO認證稽核的話)
經驗很重要,這很難從AI或者網路上看一看文章取得。問題在於,你花錢請的顧問公司,不就是有經驗,要幫助你的人嗎?有時候是,但有時候不是。顧問公司的目的在於讓你取得ISO,以及,「證明他有價值」。如果顧問公司讓你覺得ISO很容易,那以後你推薦他或者繼續使用他的機率就變低。
換言之,大部分顧問會傾向把事情搞得比較大。他通常不會建議ISO範圍縮小等等這種其實更重要的事情。
所以,有時候取得有經驗的人當「額外顧問」會有相當大的幫助。


9/18/2026

(仿生智慧 Part-3 ) 利用果蠅腦來做 同音錯別字查詢更正


這是第二個實驗,試圖讓果蠅腦來幫忙做「電商網站的同音錯別字查詢」。在電商網站,使用者不見得輸入完全正確的產品查詢名稱,例如使用者想要查的是「哈利波特」但很有可能打太快,輸入法選字的等等。會輸入「哈力波忑」,所以鐵定查不到產品,但現在大多數網站都有建立不同程度的同音字錯別字查詢,這裡我們想要果蠅大腦來解決此問題:




果蠅的嗅覺

果蠅靠嗅覺才能活著。牠必須在很吵雜、很混亂的環境裡分辨氣味:這東西是我可以吃的嗎?一顆水果開始腐爛了嗎?有掠食者靠近了嗎?空氣裡混著十幾上百種種味道,牠得瞬間判斷「這是不是我要的東西」。

科學家研究牠的腦子,發現果蠅處理氣味的方式非常聰明。牠腦中有一個區域,會把「進來的氣味訊號」做一個很特別的轉換:
首先,果蠅把訊號「攤開變大」。本來只有幾十種氣味感測器,訊號進來後會被投射到大約兩千個神經細胞上(這種細胞叫做「肯氏細胞」)。等於把一個很擁擠的訊息,攤開到一個很大的空間。

第二,只留下「最有反應的少數幾個」。這兩千個細胞不會全部亮起來,腦中有一個像「總開關」的抑制機制,會強制只讓其中大約百分之五的細胞放電,其他全部安靜。

這樣做的結果很奇妙:兩個「聞起來很像」的氣味,會讓幾乎同一批腦細胞亮起來;兩個完全不同的氣味,亮起來的細胞則幾乎不重疊。


換句話說,果蠅的嗅覺天生就是一台「相似度比對機」。相似的東西,牠給的判斷就相似。

2017 年,有科學家在《科學》(Science)期刊上指出:這根本就是一套大自然演化了幾億年的「相似搜尋演算法」,而且效率驚人。


把產品字串變成嗅覺訊號

既然果蠅能把「相似的氣味」對應到「相似的腦內反應」,我能不能把「讀音相似的中文字」餵進去,讓牠幫我把「哈利波特」跟「哈力波忑」對應到同一個地方?畢竟所謂氣味,在進到果蠅腦時就是電子訊號。果蠅不認識中文,牠只聞認懂「訊號」。所以我要先把每一個商品名稱,翻譯成一種果蠅能聞的「氣味」。做法是把名字拆成「讀音的成分」:


* 先用注音把每個字的讀音拆出來,例如「特」是 ㄊㄜˋ。
* 把聲母、韻母、聲調分開處理,這樣「特(ㄊㄜˋ)」跟「忑(ㄊㄜˋ)」因為讀音一模一樣,就會產生幾乎相同 「氣味」。
* 也可以還特別加一些「台灣人常見的混音」規則:像是 ㄓ/ㄗ、ㄔ/ㄘ、ㄕ/ㄙ 因為很多人打字時這些音本來就會搞混。

除了讀音,我還加了一條「長相」的線索。有些錯別字不是同音,而是「長得像」,例如「己」跟「已」、「未」跟「末」。在加了一份公開的漢字字型資料庫(Unicode 的 Unihan),把每個字的部首、筆畫數、倉頡碼也加進「氣味」裡。這樣長得像的字,氣味也會接近。

把這些成分全部混在一起,一個商品名稱就變成了一團獨特的「氣味」。接著,就把這團氣味送進前面說的那套「果蠅嗅覺」機制:攤開變大、只留最強的百分之幾,最後得到一串稀疏的「腦內指紋」。

每一個商品,都被轉成這樣一串指紋,事先存起來。等到使用者輸入查詢(哪怕打錯字),就把查詢也轉成指紋,看看哪些重疊越多,代表越接近

商品名稱在電腦裡當然就是一串二進位編碼(文字的位元)。但這串位元本身對神經元沒有意義,不能直接餵進去,中間一定要先做一次轉換。

第一步是把名稱轉成一個「特徵向量」。我的做法是用「雜湊」(hashing)把前面說的那些讀音、字形成分,各自對應到一個固定長度的向量上,這個專案裡是一個長度 4096 的浮點數陣列。注意它不是二進位的 0 與 1,而是一串有大有小的數值(例如某個位置是 0.7、某個位置是 0.0),代表「這個名稱在各個成分上的強度」。最後這個向量會做正規化(L2 normalization),讓長短不同的名稱可以公平比較。

如何送進果蠅腦?使成爲嗅覺訊號?

接下來「怎麼送進果蠅」,有兩種不一樣的方法:

在輕量版本裡,其實沒有真的模擬神經元放電。所謂「送進蘑菇體」,實際上是一次矩陣運算:把那個 4096 維的向量,乘上一個代表「投射神經元 vs 肯氏細胞」連接關係的稀疏矩陣,直接算出每個肯氏細胞的活躍值,再取數值最高的前百分之幾當作指紋。換句話說,那串數值是以「數字」的身分直接參與計算的,沒有轉成波形、也沒有轉成脈衝。這也是它能做到毫秒級的原因,它借用的是果蠅那套運算「結構」,而不是真的果蠅頭腦,如果是真的果蠅頭腦,那我們需要模擬讓神經放電。


在真實果蠅腦版本,會模擬神經元放電的,就必須把數值翻譯成神經元之間真正的溝通語言,而那個語言不是二進位、也不是連續波形,而是「放電頻率」,也就是每個神經元每秒放電幾次(單位是赫茲)。具體做法是把特徵向量分配到果蠅真正的 685 個嗅覺輸入神經元上,把每個神經元收到的強度換算成一個放電頻率(這個專案設在每秒約 5 到 200 次之間),數值越大就放得越頻繁。而且這裡用的是「卜瓦松放電」(Poisson spiking)你只設定「平均每秒幾次」,至於每一次實際在哪個瞬間放電則是隨機的,比較接近真實神經的行為。這種「用放電頻率來承載訊息」的方式,在神經科學裡稱為「頻率編碼」(rate coding)。


用果蠅大腦,怎麼幫上萬個商品建立索引?

既然可以模擬果蠅腦聞商品味道,那就把它認真跑一遍,將三萬多個商品建一份真正的「腦內指紋」目錄。這一步就是所謂的「建立索引」,做法其實跟你想像的一樣直白:一個一個商品,讓果蠅去。具體是這樣:

第一,拿出一個商品名稱,例如「哈利波特第一集」。把它照前面說的方式轉成「氣味」拆讀音、拆字形,變成一串特徵數值。

第二,讓果蠅大腦「聞」這個氣味。把這串氣味換算成放電頻率,強力地注入那六百多個嗅覺神經元,然後讓整顆十三萬神經元的大腦跑一段模擬。訊號會從鼻子一路流進去,激發、傳遞,最後在蘑菇體那五千多個肯氏細胞上,點亮其中特定的一小群。這「一小群被點亮的細胞」,就是「哈利波特第一集」這個商品在果蠅腦裡的專屬指紋。

第三,把這個指紋登記到一張「反向索引」表裡。這張表記的不是商品對應到"它點亮了哪些細胞",而是反過來:每一個細胞有哪些商品會點亮它。舉例來說,如果第 3、17、42……號細胞被「哈利波特第一集」點亮了,我就在第 3 號細胞的名單上加一筆「哈利波特第一集」,第 17 號、第 42 號也各加一筆。就是反向索引。

第四,換下一個商品,重複第一到第三步。三萬多個商品,就讓果蠅腦逐一"聞"、逐一登記進表裡。

跑完之後,我們就得到一份完整的「腦內指紋目錄」:三萬多個商品,每個都有牠專屬的一小群肯氏細胞;而那張反向索引表,則記錄了每一個細胞背後掛著哪些商品。整份東西存成一個檔案,之後查詢時直接載進來用,不必每次重建。

這一步很花時間,因為每個商品都得讓整顆十三萬神經元的大腦實際跑一遍模擬,三萬多個商品用我的mac pro 32G要大約要跑二十分鐘。


用果蠅大腦,怎麼找到使用者要的商品?


索引建好之後,真正查詢的那一刻其實很簡單,跟建索引用的是同一顆腦、同一套流程。假設使用者打了錯字「哈力波特」:

第一,讓果蠅去聞「哈力波特」這個字串。跟處理商品時一模一樣:轉成氣味、強力注入嗅覺神經元、讓整顆大腦跑一遍,得到「哈力波特」這串查詢的專屬指紋:也就是它點亮了哪一小群肯氏細胞。因為「力」和「利」同音,這串指紋會跟「哈利波特」當初存下來的指紋高度重疊。


第二,拿這串指紋去反向索引表裡「對指紋」。看查詢點亮了哪些細胞,就翻開那些細胞的名單,把上面掛著的商品全部撈出來,投票累加。跟查詢共用越多細胞的商品,得票越高。因為有前面那張反向索引表,我不需要拿查詢去跟三萬多個商品逐一硬碰,只要碰到「有共用細胞」的少數商品就好,所以幾毫秒就能算完。

第三,算相似度分數、排名。把得票依照「細胞的稀有度」加權、再normalize成 0 到 1 的分數,由高到低排出來。分數越高,代表這個商品的指紋跟「哈力波特」的指紋越像。

第四,用分數決定要不要回給使用者。這裡我們設定了門檻,只有相似度分數超過大約 0.4 的商品,才夠格算「可能是你要找的」。以「哈力波特」來說,正牌的「哈利波特」系列會拿到明顯高於 0.4 的分數、穩穩排在最前面;而那些只是碰巧共用一兩個細胞、其實八竿子打不著的商品,分數遠低於 0.4,就被擋掉、不會拿去煩使用者。最後呈現出來的,就是幾個高分、確實跟「哈力波特」讀音相近的正確商品。

數位果蠅腦的一些基本數字

這個數位果蠅腦的實驗是從一個真實的購物網站(墊腳石)持續爬取商品名稱,本文的測試就是用當時已經抓到的約三萬兩千個真實商品名稱跑出來的。

整個「大腦」用到大約三萬兩千個模擬的肯氏細胞(每個名稱最後會點亮其中兩百多個,形成指紋)。

要建立建立整套索引(也就是把三萬多個商品都轉成指紋)大約花二十多分。

這裡要強調一件事:這個過程完全不需要「訓練」。 它不像時下的 AI 要吃大量資料、跑好幾天。果蠅的這套機制是「結構本身就是功能」。只要把架構搭好,資料一進去,指紋就自動生成了。

三萬多個商品的索引檔案大約 15 MB,還是小到可以輕鬆塞進一台普通主機。

查一次大約 2 到 7 毫秒(在三萬多個商品裡搜尋)。正確率並沒有極端高,大概都有95%以上

============================  

技術上來說,這個實驗,其實就是相似搜尋 / 局部敏感雜湊(LSH)的解決方案,其實 早在1990 年代就做得出來。

但沒有參考物的時候,我們得自己摸索:要把訊號展開幾倍?只保留多少比例的『最強反應』?要不要一個全域的抑制機制?

這些架構上的抉擇,並沒有標準答案,不同語言也會有很大差別,得靠實驗逐一嘗試。而大自然這隻經過幾億年天擇的果蠅,等於把這份『架構設計圖』先調好、示範給我們看:展開約四十倍、稀疏度壓在百分之五、用一顆抑制神經元管理全部等等。等於參考了一份被演化認證過的答案,省下的是摸索架構的時間。


========
市面上 同音錯別字查詢更正 解決方案的比較

做法一:果蠅腦

優點:
- 極度輕量。整個引擎加索引可以壓在十幾 MB 以內,1000 筆商品的索引才 1.4 MB,理論上可以直接跑在手機、甚至瀏覽器裡,不需要任何伺服器。
- 快。查一次不到 1 毫秒。
- 完全免費、可離線。沒有任何 API 費用,資料不用送到外面,隱私有保障。
- 不需要訓練。搭好架構、資料丟進去就能用,改商品也只要重建索引(幾秒鐘)。
- 專門對付「同音/形近錯字」這種表層錯誤,非常對症下藥。
- 運作費用很低,以一個中型電商,一個月要600到1000台幣而已。

缺點:
- 它只懂「讀音和字形」,完全不懂「意思」。你打「魔法師的書」想找「哈利波特」,它幫不了你。
- 對「只打片段」(例如只打三四個字去搜一個長書名)比較弱。


做法二:Elasticsearch(業界最常見的搜尋引擎)優點:

- 成熟、穩定、功能齊全,全世界無數網站都在用,出問題有大量社群和文件可查。
- 除了模糊比對,還能做各種篩選、排序、分頁、統計,是一整套完整的搜尋方案。
- 擴充性強,資料量從一千筆到一億筆都能撐。

缺點:
- 對「中文同音錯別字」其實不是天生擅長。它內建的模糊比對是看「字面差幾個字元」(編輯距離),但「利」跟「力」在電腦眼中是兩個完全不同的字,字面上差距很大。要讓它懂同音,你得自己額外做注音/拼音的處理,設定相當繁瑣。
- 它是一個需要獨立架設、吃記憶體的伺服器程式,不太會為了「更正錯別字」這一件小事去養一整套 Elasticsearch,有點殺雞用牛刀。一般來說這樣的elasticsearch還會做其他事情。
- 營運成本是那台elasticsearch,無論用什麼方案,都需要2000~5000台幣。



做法三:直接呼叫大型語言模型(LLM API,例如 Gemini 類的服務)

優點:
- 最聰明、最全能。它不只懂同音錯字,還懂意思、懂上下文,甚至你打「那本魔法師小男孩的書」它都可能猜到是哈利波特。
- 幾乎不用自己開發,串個 API、寫幾句提示詞就能動。- 對各種千奇百怪的錯誤(同音、形近、語意、外文夾雜)都有很好的容忍度。
- 對於小型電商來說,成本可能反而更低,因為做查詢的人本來就不多,如果每天只有一兩次查詢,費用極端的低。

缺點:
- 如果使用者多,會發現它慢又貴。每查一次都要透過網路呼叫外部服務,通常至少要一秒以上,是果蠅腦的幾百倍到上千倍。理論上,查詢都要付費,量一大,帳單很可觀。
- 有可能有天生LLM「一本正經地亂講」的風險。雖然機率低,但是可能推薦一個根本不存在的商品。
- 很難「只回傳你商品庫裡真的有的東西」,還得額外做一層驗證。



======

以墊腳石為例,一個月要花多少錢?前面講優缺點還是有點抽象,我們乾脆用一個真實的例子把「營運成本」算出來。注意,這裡算的是「東西做好之後,每個月持續要付的錢」,不包含一開始的開發工。


先設定情境。墊腳石購物網(tcsb.com.tw)大約有十八萬個商品,假設一天約有三百筆成交。花錢的不是「購買次數」,而是「搜尋次數」。 會買的人,通常搜了好幾次、逛了好一陣子才下單;而且更多人是搜一搜、沒買就走了。以電商的經驗,搜尋量大概是成交量的幾十倍。我們保守,一個月大約六十萬次查詢。



方案一:果蠅腦

每月營運成本估計極低(600台幣)這套東西很輕,可以直接跑在你原本就有的網站主機上。一次查詢 5 毫秒,一台最普通的主機一秒就能處理好幾百次查詢,六十萬次查詢對它的運算量來說是很小的。

但要記得一個容易被忽略的成本:索引在查詢時必須放進記憶體(RAM)。 你不會希望每次查詢都去硬碟讀一次 90 MB 的檔案,那太慢了;正確做法是把它整份載入記憶體常駐。而且實際放進記憶體後,為了查得快,它會展開成一個「反向索引」的結構,比原始檔案還大,以十八萬商品來說,實測大約會吃掉 350 到 400 MB 的記憶體,加上商品名稱字串和程式本身,保守估計要為它多留大約 0.5 到 1 GB 的 RAM。1G記憶體的成本每個月大概600台幣(GCP)


方案二:Elasticsearch,每月營運成本估計約新台幣 3,000 到 15,000 元

十八萬商品對 Elasticsearch 來說是小事,但它是一個需要「一直開著」的伺服器程式,比較吃記憶體。營運成本主要是那台(或那幾台)伺服器的租金。

- 自己租雲端主機架設:一台中小型主機(足夠跑十八萬商品)一個月大約 3,000 到 8,000 元;若要考慮穩定性做兩台備援,那就要兩倍。
- 用雲端業者的「代管 Elasticsearch」服務:入門方案通常一個月落在 5,000 到 15,000 元之間
- 它是「按時間」計費(開著就在花錢),不是「按查詢次數」計費,所以查詢多寡影響不大,而且就目前預估查詢量也不太會超過

每月營運成本估計:約 3,000 到 15,000 元,取決於要不要備援與是否用代管服務。


方案三:LLM API,每月營運成本估計約新台幣 6,300 到 更多無上限 

這不見得比方案二貴,但因為它是「按查詢次數計費」的查越多、付越多,而墊腳石一個月有六十萬次查詢。

假設每一次查詢用到500token,60萬次就是300個百萬token。每一個百萬token假設是0.7美元(按20%是輸出 80%是輸入,用gemini的價格) 那們,這樣的API就要花300*0.7*30=6300台幣起跳。
這個方案有可能在極端情況下會比elasticsearch多很多。但在某些時候也可能少很多。


9/17/2026

(仿生智慧 part-2) 用一隻果蠅的大腦,來判斷這張圖片是不是"A"

 承接上篇,

本文要分享一個小實驗:把一隻果蠅的整顆大腦「搬」進一台筆記型電腦裡,讓牠透過兩隻眼睛「看」圖片,然後訓練他回答一個很簡單的問題「這張圖裡面有沒有大寫的英文字母 A」。結果是可以的:果蠅大腦學會了,而且在簡單的測試裡,正確率高達百分之九十九以上。

果蠅大腦是誰做出來的?


我們的大腦裡有幾百億個神經元,彼此用類似電線東西連在一起,形成一張超級複雜的網路。這張「神經元的接線圖」,科學家給它一個名字,叫做「連接體」( Connectome)。

連接體就像是把大腦裡「哪個神經元接到哪個神經元」全部畫出來的地圖。有了這張地圖,我們才有機會了解大腦是怎麼運作的。

當然人類的大腦太大了,目前科技還做不到把每一條線都畫出來。所以科學家先從小動物下手,而果蠅(學名黑腹果蠅)就是最好的目標。牠的大腦只有大約十三萬個神經元,卻已經能夠飛行、學習、記憶、求偶、打架,麻雀雖小五臟俱全。反過來說,雖然他五臟俱全,但果蠅還真的夠小,小到可以直接切片分析。

這個把整顆果蠅大腦畫出來的計畫,叫做「FlyWire」。

這裡要特別澄清一個常見的誤會,很多人以為 FlyWire 是「Google 的專案」,我一開始查資料的時候也誤以為他是google的研究計劃,但其實它主要是由美國普林斯頓大學(Princeton University)的兩個實驗室主導的,背後有全世界上百位研究人員一起參與標註。Google 的研究團隊在其中扮演了很關鍵的角色,他們提供了強大的人工智慧影像技術,幫忙把電子顯微鏡拍下來的大腦切片,自動辨識、重建成一個一個的神經元。可以說,這是一個「學術界主導、Google 出力」的合作成果,成果在 2024 年登上了頂尖期刊《自然》(Nature)。

今年六月可以讓人隨便下載。全部都是公開資料,任何人都能下載。


如何下載?


最簡單的方法,是透過一個叫做「Codex」的網站(網址是 codex.flywire.ai)。這是普林斯頓大學做的線上工具,讓一般人也能瀏覽、查詢這顆果蠅大腦。你只需要用一個 Google 帳號登入(不用錢啊!),同意使用條款,就可以在網站上直接下載資料檔案,包括:

* 每個神經元的基本資料(它是哪一類細胞、在左腦還是右腦)
* 神經元之間的連線表(誰接到誰、接了幾條線、是興奮性還是抑制性)
*視覺神經的「欄位座標」(這是果蠅眼睛的地圖,這個專案會用到)

...等等還有很多相關資料。

這些檔案大多是壓縮過的表格檔,最大的一個也2G而已,一般家用網路幾分鐘就能下載完。

另外有其他的方式:是直接使用其他研究團隊已經整理好的版本。有一組哈佛的研究人員(Shiu 等人,2024 年同樣發表在自然期刊)把整顆果蠅大腦做成了一個可以直接拿來「跑模擬」的電腦模型,並且大方地放在網路上開源分享。我們這個實驗,程式碼很大部分,就在他們的基礎上完成。

怎麼讓一個靜態的果蠅腦動起來?



下載回來的果蠅大腦,本質上只是一張「連線圖」,它告訴你哪個神經元接到哪個神經元,但它本身不會動。


要讓它「動」起來,我們需要寫一個程式,去模擬每一個神經元的行為。真實的神經元是這樣運作的:它會慢慢累積來自其他神經元的訊號,像水杯慢慢裝水一樣;當累積到一定程度(水滿了),它就會「放電」一次,發出一個電脈衝,把訊號傳給下游的神經元,然後自己歸零、重新開始。

這種一顆一顆神經元、用「放電脈衝」互相溝通的模型,專業上叫做「脈衝神經網路」(英文縮寫 SNN)。它跟一般大家聽到的 AI(例如 ChatGPT 背後的技術)不太一樣,更接近真實大腦的運作方式。

我們用一台蘋果 M4 筆電,寫程式讓這十三萬多個神經元同時運作。一張圖片只需要大約 0.15 秒,速度相當快。

那怎麼知道我們的模擬「跑得對不對」?這一步很重要。我們拿前面提到的哈佛團隊那個已經驗證過的模型當作標準答案,做同一個實驗來比對。結果我們的模擬和他們的官方模型,神經元活躍程度的相關性高達 0.99(1.0 是完全一致),幾乎一模一樣。這代表我們的「電腦版果蠅大腦」是可信的。


(小插曲:在比對的過程中,我們一度發現自己的模擬比標準答案多冒出百分之二十的訊號。追查了很久,才發現原來真實模型有一個很細微的規則:神經元在「放電後的短暫休息期」內,是完全不理會外界訊號的。我們把這個細節補上之後,兩邊的結果就核對成功了)


如何讓果蠅腦「看」圖片


果蠅又不認識英文字母,我們怎麼讓牠「看」到一張寫著 A 的圖?

果蠅的眼睛是複眼,由大約七、八百個「小眼」排成一個六角形的蜂巢狀陣列。FlyWire 的資料裡剛好就有這些小眼的座標地圖(左右眼各一份)。


於是我們把一張 28×28 像素的小圖,投影到這個蜂巢狀的「螢幕」上:圖片哪裡亮,對應位置的視覺神經元就活躍一點;哪裡暗,就安靜一點。這張圖會同時送進左右兩隻眼睛。


一開始我很自然地想把訊號直接送進最前端的感光細胞,結果整個大腦幾乎沒反應,甚至越亮的畫面反應越弱。後來才理解:真實果蠅的感光細胞和最前端的神經元,用的是「抑制性」的訊號(有光的時候反而變安靜),而且它們不是用脈衝溝通的。所以我們改成把圖片訊號送進稍微後面一點、確定會「放電」的視覺神經元,訊號這才順利地一路傳進模擬的果蠅腦裡面。

這件事本身就很有啟發性:就算你手上有一張完整的大腦地圖,如果不了解每條線運作方式也沒用!不過當然,現在這類型的錯誤,在你自己有點知識的情況下,是可以讓AI幫忙找到潛在問題。

如何教果蠅腦分辨是不是A

訊號進到大腦之後,我們要在末端放兩個「判斷用」的神經元:一個代表「這是 A」,一個代表「這不是 A」。哪個放電放得比較多,就當作果蠅的答案。


一開始,這兩個神經元是隨便亂連的,答案當然也是亂猜。那牠是怎麼「學會」的?

訓練方法,大致源於真實大腦的獎勵機制,多巴胺。在神經科學裡,多巴胺就是大腦裡的那塊獎勵/懲罰。

(但技術上來說,所謂的多巴胺,在這個專案的程式裡只是調整某些地方的權重+-而已)

具體來說,每看完一張圖、果蠅給出答案之後,我們就告訴牠對還是錯,並且據此微調相關神經連線的強度:答對就強化剛剛用到的連線,答錯就削弱它。這個過程一遍一遍重複,果蠅腦就會慢慢被訓練。

這裡又有一個,網路上很多人會分享,果蠅學習與記憶的中樞叫做「蕈狀體」(Mushroom Body),我們原本理所當然地想把學習放在那裡。但實驗做下去才發現:在我們這個視覺任務裡,蕈狀體幾乎完全沒有被activate,因為連到它的視覺神經細胞太少了,根本傳不進足夠的「形狀」資訊。這其實跟生物學是吻合的:果蠅的蕈狀體主要負責「氣味」的記憶,而視覺圖形的辨識,在真實果蠅身上是由大腦別的區域負責的。順道一提,接下來的另一個實驗就會用到氣味神經。

所以我們順勢把「學習的位置」,改到了視覺訊號真正豐富的地方。也就是眼睛後方、負責把視覺送進大腦中樞的那一批「投射神經元」。

結果?


講了這麼多,結果到底如何?以下是實際跑出來的結果:


在「簡單版」的測試裡(字母置中、字型單純、只有一點雜訊):
* 判斷 A 與非 A 的正確率高達 99.4%。 (5000張圖)
* 而且學得很快,資料只跑過一輪,正確率就已經接近滿分。
* 就算只給牠看 100 張圖來學習,正確率也有 96.7%。


在「困難版」的測試裡(六種字型、會旋轉、會縮放、位置會偏移、雜訊更多):

*正確率約 74%。雖然沒有簡單版那麼漂亮,但仍然明顯高於亂猜的 50%。



我們也做了幾個「對照實驗」來確認結果是真的,而不是碰運氣:如果用書上那種「答對給獎勵、答錯什麼都不做」的舊方法,果蠅根本學不起來,正確率停在 60% 動不了。這證明「答錯要給懲罰」這件事很關鍵。

另外,有一個結果很直得一提:如果我們把大腦裡的連線「隨機打亂」(保持每個神經元的連線數量不變,只是亂接),在簡單版測試裡正確率居然還有 98%。這說明在簡單任務上,真正運作的是前端那套「視覺投影」的機制,果蠅大腦「神經連結線路」本身,並沒有想像中那麼關鍵。到了困難版,真實大腦的接線才稍微展現出一點優勢(會得到74% )。老實說我後來想想也很合理,許多昆蟲的複眼直接就可以決定看到的東西是什麼,根本不用進到大腦思考。

另外,這個實驗不是造出一個會識字的果蠅,他其實只是認定這個A圖樣。換成其他簡單圖樣結果應該也差不多。

實務上我把以訓練過的果蠅腦,打包成一個python script.
讓我以可以這樣執行它#python3 fly_check_a.py --image somepicture.png

有興趣也可以與我聯繫交流一下其他玩法:)



(仿生智慧 part-1) 果蠅的頭腦 能做的事比想像中來得多

 


一隻果蠅的大概有16萬多個神經細胞,並且,這些細胞互相之間,總共有大概一億兩千百萬個神經連結。16萬細胞中,13萬大概在大腦,其他分布在身體不同地方。

順道一提。人類光是大腦就有860億個神經細胞,而且連結數量實在太多,情況因人而異,但大約在100兆到1000兆之內。跟果蠅完全是不同等級。

而google的研究中心,把果蠅頭腦所有神經連結逐一數位化,並在2025年六月,發表了成年雄性果蠅完整中央神經系統圖譜MaleCNS v1。從發表以來,各種奇奇怪怪的應用都出現了,最引人注目的就是訓練果蠅玩遊戲,訓練果蠅投資數位產品之類的,這些種種作為,其實都是為了想要得達到利用生物天生有的頭腦架構,搞出更快更省電的人工智慧。

技術上來說,暫時還不是像「攻殼機動隊」一樣可以把生物的意識放在電腦裡面,但是,他確實可能是微小的第一步。

不過初期的應用還是跟現在人工智慧的應用差不多,但利用大自然已經訓練過上百萬上億年的神經網路,會遠比人類加上現存的AI的設計要好太多。

這隻果蠅的大腦數位化之後。可以被人類操作的是"SNN" ( Spiking Neural Network 的縮寫,中文稱為脈衝神經網路/突觸脈衝神經網路)。簡單的說就是大腦的運作可以靠電腦來模擬。

每個人都可以搞出自己的模擬細胞,模擬神經連結,特別是有AI之後,就算不會寫程式也可以做出來。但是,為什麼使用「果蠅大腦天然結構」優於「自己自創 SNN」?

果蠅大腦經過億萬年演化優化,果蠅在自然界中必須在極強的雜訊環境下(如風向干擾、氣味混合、水果微腐敗變質),精準在短時間識別出「這是不是同一種水果」「我可以吃嗎」。而這樣的SNN即是人類可以自己設計,可以花很多LLM的錢去模擬,做了幾萬種,可能都不如經過自然演化篩選過的果蠅大腦。

而SSN跟現在AI(LLM)比較起來,最大的優勢就是極端節省能源,耗電量極低。 

簡而言之,我打算做幾件事情。

(1) 果蠅認字基本訓練:


先download果蠅大腦ssn,然後,撰寫訓練程式。試圖做個簡單的測試。測試內容就是先產生幾百張圖,訓練果蠅大腦神經節,如果在視覺上看到A這個字就給予神經 多巴胺 獎勵。這樣幾百張圖之後,果蠅應該就學習到了A這個字。
測試也很簡單,給一些不同角度的"A"這個字的圖,看看果蠅神經反應如何。




(2) 果蠅同音錯別字更正:


利用果蠅大腦原本有的嗅覺機制,把中文字改成拼音字之後,對比之前訓練過的「嗅覺拼音」得到是不是同音錯別字,或者是最接近的字。講得很複雜,但簡單的說,就是先把「哈利波特」變成中文拼音「ㄏㄚㄌㄧㄅㄛㄊㄜ」 在讓果蠅記得這個字,但是果蠅不認得字啊,所以把它變成一種嗅覺電位刺激,讓他知道這個嗅覺。接下來如果有人輸入「哈力波忑」一樣換成拼音,再去果蠅大腦看看這個刺激有沒有反應,有的話是哪個反應,就得到「哈利波特」這個之前聞過的嗅覺。
當然,實際上嗅覺對於腦就是一種「數位刺激」,視覺也是聽覺也是,會使用嗅覺,是因為果蠅的嗅覺架構足夠處理10萬多種不同刺激,但是視覺解析度就很低了。請看這張果蠅視覺圖,他的複眼解析度實在不高。


(3) 果蠅 最瘋狂的事:

我還在想,希望前兩篇結果做好之後,第三件事情我也想到了:)

9/05/2026

電子書網路行銷 (寫書能賺錢嗎? - Part-3)



工程師最不會的就是行銷,但是電子書的出版量多的不得了,除非你已經是名作家,否則,在不行銷的情況下,只有你自己跟你朋友會買你的書啊!


要怎麼行銷?

當然先來問AI,先老實的說我只有400美金的預算。然後AI給了我一點建議:

首先:

便宜的外包管道,像是Fiverr/Upworks都有很多印度巴基斯坦人,專門做各種小型網路工作。很多介於灰色地帶,例如,真人大量的幫你的fb按讚加好友,幫你的youtube瘋狂增加點閱率。說是灰色地帶是因為,他可能是用半人工,半自動化方式進行。當然行銷不是只有灰色地帶行銷,許多fiverr/Upworks上的印度人巴基斯坦人,也有很多正常合理的方式。

行銷書籍在Fiverr上大多是會說,他們會到各個blog推薦書籍,撰寫推文等等。聽起來是有道理,為了預防萬一我選了一個在美國的,但其實他是不是美國人很難說,搞不好是個印度人,利用vpn創造美國的來源也說不定。總之我付了300元,他幫忙寫了非常多blog推薦信,但是最終成效是零。

其次:

Amazon Kindle本身的廣告功能:每日最多12美金,對用沒名氣的人根本沒啥用,雖然沒花什麼錢但也等於是拿錢丟到水裡。他會告訴你投放到哪些人登入amazon的時候,給你很好的reporting,但是,對於沒有任何名氣的人,根本沒用啊!不過好處是,如果沒有click,他不算錢!算是有點良心,不是曝光就收費,所以三天後其實只收了幾美金,但是我還是取消了。

第三:

booksprout.com 書評網站。老實說就他的運營邏輯來說,可能是最有用的。

當你付訂閱費之後,你會上傳電子書,並且要求你的書的人,到書的銷售頁面評論。銷售頁面不見得是amazon也有可能是吃的,這電子書必須要是可以被免費下載的。那為什麼會有人會幫不認識的書發表書評?因為可以第一時間,合法而且免費的看電子書,其次,如果你也是電子書作家,可以有默契的互相幫忙,我幫你評論,你自然就會幫我評論。而amazon或者其他電子書網站,評論越多越容易被人購買。

因此,就這邏輯來看,應該至少有點用。但是我忽略掉一件事情,如果你要在amazon發表評論,除了購買那本書的人之外,就只有kindle unlimited 訂閱戶可以評論,我是有參加kindle unlimited。

所謂kindle unlimited指的是每個月付出11美金,就可以無限制「借閱」所有kindle unlimited電子書來看,至於哪些書有參加kindle unlimited,是由作者(或者控制書的出版商)決定。我自己的五本書統統都有參加。借閱不用錢,因為每個月的月費,其中小小一的部分,就會付給這個電子書。當然因為借閱,所以在你的kindle上,他是需要「還書」的,但沒有期限,只有一次借閱數量的限制,一次可以借閱20本,超過你就得先還一本才能借下一本。

但當我要開始幫別人給書評,amazon又出現另一個限制,就是過去12個月需要再amazon消費49美金以上,但我是上個月才加入unlimited,換言之,至少要5個月才會滿49美金以上,除非我直接買點東西,讓我的消費超過49美金。所以我就暫時不給別人書評,當然,別人也不會給我書評。

換言之,其實這個網站宣稱的「會有人因為想看免費電子書來給你書評」基本上很難發生,大多是像我一樣完全沒名氣的作者來互相取暖。但我還取暖不了啊~

當然訂閱也有分等級,最低9美金一個月的話,就是一次只能評論你的一本書,一本書還沒結束不能換下一本。當然訂閱越高,同時評論的書越多。



先說結果,這三項我都嘗試了,總投入的經費一萬二千台幣,完全失敗!一點用都沒有!

其實主要的原因還是自己,對於一個在英語書刊知名度是零的人,單單靠這些方式是不夠的。行銷必須要有整體的規劃,而不是隨便撒點錢,就預期會隨便有點成果。隨便散點錢的成果,就是沒有任何成果。


同音錯別字 在AI時代的處理方式



在2015~2022左右,電商網站,如果想要處理產品搜尋、同音字與錯別字時,Elasticsearch (ES) 是市場上最主流且最常見的解決方案。

他有很多搜尋引擎的優勢,Inverted Index與文字分析,內建完善的 Tokenizer 與 Filter 機制,能整合中文斷詞(如 IK Analyzer、Jieba),有拼音轉換插件(如 elasticsearch-analysis-pinyin),將同音字轉為拼音進行比對。

而且,模糊比對(Fuzzy Query):原生支援編輯距離演算法,可處理英文字母錯字或輸入長度的微小差異。(中文可能要有其他方式)

然而,AI 特別是LLM的出現,讓原本Elasticsearch能做的事情,很大一部分可以被取代,或者被改善。特別是中文,有新產品的出現,讓原本的斷詞,如果不用 Character N-gram去處理的話,會有很大的問題。舉例來說,「拉布布」是2024年才開始紅的,而且坦白說,我直到今天才知道他是什麼。如果辭典檔沒有這個詞,非常可能產生斷詞錯誤。此外,同音字,多個錯誤拼音字,夾雜不小心輸入的注音符號的詞,這些雖然都可以處理,但是都要額外花時間。

然而,LLM的出現可以讓這件事情變得簡單。

因為可以要求LLM (透過API/Prompt)來直理解輸入的詞彙。即時處理最近才出現在網路的詞(Gemini API可以做web search),繁簡轉換可同時進行。


例如,一個典型的網路電商,要處理使用者輸入搜尋「哈利波特」非常簡單。

但是要處理「哈力波ㄊㄜ」這樣混著不同錯誤情況的,在elasticsearch不是做不到,而是所需要設定,花的心力,維護的成本是相當高的。

然而透過LLM檢視重建查詢字串,卻非常簡單,只有一個API加上不到300token的prompt。以Gemini來說,一百萬次的這樣查詢重建也不到400台幣,而且對於系統架構來說非常簡單,沒有各種維護的負擔。

當然,LLM在很多時候的成本是相當高的,也不是用來取代elasticsearch,但是查詢字串重構,是個非常容易實作,效果又很不錯的做法,對於中小型電商來說,成本也很低啊~