全球百萬網友迷上賽博「養魚」,我也被這群AI小丑魚拿捏了
見過賽博遛狗,你見過賽博養魚嗎?

最近一款名叫 Draw A Fish 的 AI 小游戲,讓全球百萬網友瘋狂上頭。
玩法很簡單。只要在畫布上隨手畫一條小魚,就能在虛擬魚缸中看到它活靈活現地「游動」。
體驗地址:https://drawafish.com/
打開網站,你會看到一個簡單的繪圖工具,可以選擇顏色和筆刷粗細,然后在畫布上繪制一條面朝右側的小魚,AI 就會實時判斷你的作品是否像魚,并通過畫布背景顏色的變化給予即時反饋。

當相似度達到 60% 以上時,點擊 「make it swim」 按鈕,再給小魚起個名字,就能把它丟到一個共享的虛擬魚缸中,觀看小魚和其他玩家的作品一起游來游去。

你還可以和這群奇形怪狀的小魚互動,點一下即可點贊或拉踩。

官方也挺會整花活,直接來了個排行榜,目前最高分是一條畫的極其抽象的涂鴉小魚,得分高達 53245,甚至還有一條長得像鳥的魚拿到了 - 40182。


如果注冊了賬號,還可以把自己畫的魚放到專屬魚缸。

為何百萬網友會為一群小丑魚上頭?
百萬網友沉迷賽博養魚,其實一點也不奇怪。
首先,Draw a Fish 足夠簡單。無需登錄,無需教程,點開就能玩,畫條魚誰還不會?這種低門檻設計讓人想起當年的現象級小游戲 Flappy Bird,點一下屏幕小鳥飛一下,沒有劇情、沒有關卡,但憑借極低的門檻和極強的挑戰感讓人欲罷不能。
而且,AI 會在每一筆落下時給出「像魚」的概率提示。哪怕你承認自己畫技不佳,但當相似度從 30% 提升到 50% 的那一刻,那種小小的成就感足以讓人繼續嘗試。
畫完的魚不會停留在畫布上,而是能被放進魚缸,與全球網友的創作一同游動。這種「作品活了」的體驗,極大放大了創作的滿足感。相比之下,傳統的 AI 繪圖工具雖然生成效果更精美,卻缺乏這種即時參與和互動循環。
此外,共享虛擬魚缸讓陌生人作品混在一起,排行榜、點贊、隨機瀏覽增加了社區氛圍。
如果大家在虛擬魚缸中看到一條叫「yoyo」的小魚,歡迎給它喂點「魚食」??。
看似簡單的小游戲,其實背后大有文章
別看它只是一款小游戲,背后其實有一套完整的 AI 技術設計。
Draw a Fish 之所以能在你繪制過程中不斷提示「像不像魚」,背后依賴的是一個基于 PyTorch 的卷積神經網絡。開發者選用了經典的 ResNet18 架構,并結合 Google QuickDraw 數據集來訓練模型。
QuickDraw 是谷歌推出的大規模手繪涂鴉數據集,涵蓋了各種簡筆畫元素,其中的「fish」與「not fish」類別正好為模型提供了基礎訓練樣本。
在訓練過程中,模型的目標就是進行二分類:輸入一張涂鴉,輸出它是「魚」的概率,還是「非魚」的概率。這個「概率」正是用戶在畫布下方看到的實時反饋。由于訓練數據相對有限,開發者特意調整了模型的判定方式,讓它在識別時更加「寬松」,避免對用戶的創作過于苛刻,從而提升游戲的趣味性。
技術上,項目還實現了多項工程化功能。
- 透明度處理:所有圖像在預處理前都會合成到白色背景上,因此如果你畫的魚是純白色的,就無法被識別。
- 早停機制(Early Stopping):如果驗證集的損失在 5 個 epoch 內沒有改善,訓練就會停止,從而減少過擬合。
- QuickDraw 集成:提供腳本可以自動下載并轉換 QuickDraw 涂鴉數據,用于魚和非魚的分類。雖然作者最后沒有用它,但仍保留在倉庫里,方便其他人使用。
- 一致的預處理:訓練和推理(包括測試腳本)使用相同的預處理流程,保證一致性。
- 類別不平衡:在魚與非魚的數據不平衡問題上,采用了加權采樣和加權損失來進行處理。
了解更多技術細節,請參考以下鏈接:
- https://github.com/aldenhallak/fish-trainer
- https://github.com/aldenhallak/fishes?utm_source=chatgpt.com
- https://www.reddit.com/r/InternetIsBeautiful/comments/1m6c80g/draw_a_fish_and_watch_it_swim/



























