最近大家都在用 AI,但它到底怎麼「想」的?
最近啊,我發現一個有趣的現象。好像每個人都在聊 AI,用 ChatGPT 寫報告、Midjourney 畫圖,真的很方便。但你如果問「這東西到底怎麼運作的?」,大部分人可能就...呃,就...很聰明?很神奇?反正就是個黑盒子。
老實說,我一開始也是這樣。覺得這東西簡直是魔法。但後來我鑽下去研究了一下,發現...嗯,它不是魔法,更像是一場超級複雜、但有規則可循的數學遊戲。今天我就想用大白話,把我理解的這套遊戲規則,拆給你看。你知道嗎,搞懂之後,你會覺得它更厲害,但同時也...比較不怕它了。
重點一句話
AI 不是在「思考」,它只是在做超大規模的「機率猜字遊戲」。它根據你看過的幾億篇文章,去猜下一個最可能出現的字是什麼。就這樣,沒了。
那...AI 是怎麼把我們的話變成數學的?
好,問題來了。電腦只看得懂 0 跟 1,它怎麼理解「今天天氣真好」這種充滿人類感覺的話?這中間其實有好幾個步驟,我覺得這才是整個過程最精華的部分。它不是一步到位,而是像工廠流水線一樣,一關一關處理的。
我自己是覺得,你把它想像成一個完全不懂中文,但記憶力超強的外國人,他想學會怎麼跟你「看起來像在對話」,他會怎麼做?
第一步:把你的話打碎成樂高積木 (Tokenization)
這個外國人拿你的句子,第一個反應是「這啥?太長了,看不懂」。所以他做的第一件事,就是很暴力地把句子拆開。比如「我今天想喝冰美式」,會被拆成「我」、「今天」、「想」、「喝」、「冰」、「美式」。這些被拆開的小碎塊,在專業術語裡就叫做「Token」。
對,就這麼單純。AI 的第一步不是理解,而是拆解。把複雜的人類語言,變成它能處理的、標準化的小單位。突然想到,這個 Token 的數量其實也跟你付錢給 OpenAI 有關,你用的 token 越多,花的錢就越多。所以有時候看它生成超長的文章,心裡其實都在默默淌血...啊,扯遠了,拉回來。
第二步:把積木變成有「感覺」的數字 (Embeddings)
拆成積木之後,這個外國人還是看不懂啊。「我」這個字到底是什麼意思?
這一步就超酷了。AI 會用一個超大的...嗯...可以想成「字典」吧,把每一個 Token 都轉換成一長串數字。例如,「國王」可能會變成 `[0.8, 0.2, 0.9, ...]` 這樣一串幾百甚至幾千維的數字向量。這串數字本身沒有意義,但它的「相對位置」有意義。
什麼意思?就是說,「國王」的數字向量,在數學空間中,會跟「皇后」的數字向量很靠近。而「國王」減掉「男人」再加上「女人」的向量運算結果,會非常非常接近「皇后」的向量。這就是 AI「感覺」詞義的方式——用數學上的距離來表達語意上的親疏遠近。它不是真的懂,它只是知道這些詞的數字「長得很像」。
第三步:AI 也要知道順序啦 (Positional Encoding)
好,現在我們有一堆帶有「感覺」的數字積木了。但有個大問題:「我愛你」和「你愛我」,用的積木一模一樣,但意思完全相反。如果只是把數字丟在一起,AI 怎麼知道順序?
所以,還得再做一件事,就是給每個積木貼上一個「位置標籤」。AI 會用一些很聰明的數學函式(通常是 sin 跟 cos),為句子的每個位置(第一個、第二個、第三個...)都生成一個獨一無二的數字編碼,然後把它加到剛剛的詞義向量上。這樣一來,同樣一個「我」字,在句首跟在句尾,它最終的數字表示就不同了。這樣 AI 就能分辨出語序的變化。
第四步:找出哪句話才是重點 (Self-Attention)
這是我覺得最神奇、也最關鍵的一步。Transformer 架構... 對,就是現在 GPT 系列背後的那個核心技術,它的靈魂就是這個「自注意力機制 (Self-Attention)」。
你想想,我們在讀這句話:「那隻貓跳上了桌子,因为它想睡覺。」,當我們讀到「它」的時候,我們的大腦會自動把「它」跟前面的「貓」連起來,而不是「桌子」。
Self-Attention 就是在做這件事。對於句子裡的每一個字,AI 都會去計算它跟句子裡「其他所有字」的關聯性分數。分數越高,代表關聯越強。所以,在處理這句話時,AI 會給「它」和「貓」一組很高的分數,然後在產生後續文字時,就會特別「注意」貓這個概念。這個機制讓 AI 不再是呆板地一個字一個字往後讀,而是能夠動態地理解句子內部的指代關係和重點。
而且它不是只做一次,而是做好幾次(也就是所謂的 Multi-Head Attention),就像請好幾個專家從不同角度(語法、語意、上下文)同時來回檢查這句話,找出所有可能的關聯。真的很誇張。
直接看個對比,人腦跟 AI 差在哪?
講了這麼多,我們來做個表格,直接比較一下我們人腦跟 AI 在理解一句話的時候,到底有什麼根本上的不同。這樣應該會更清楚。
| 處理項目 | 你的人腦怎麼想 🧠 | AI 模型怎麼算 🤖 |
|---|---|---|
| 看到句子 「給我一杯蘋果汁」 |
嗯,蘋果汁,想到蘋果、果汁、甜甜的、冰的...可能還會想到某個牌子。 |
收到指令。先拆成 "給"、"我"、"一杯"、"蘋果"、"汁"。OK,拆完了。 |
| 理解「蘋果」 |
一個具體的形象,紅色的或綠色的水果,可以吃,脆脆的。還有,賈伯斯的那家公司。 |
喔,「蘋果」這個 Token,我資料庫裡對應的數字向量是 `[-0.1, 0.5, ...]`。它跟「水果」的向量很近,跟「公司」的向量也近。完畢。 |
| 理解「給我」的意圖 |
這是一個指令,對方想要某樣東西。我需要做出反應,拿給他。 |
根據海量文本的統計,「給我」後面通常會接一個名詞,而且這是一個祈使句的模式。所以我下一步應該生成一個跟「取得」、「交付」相關的動作描述。 |
| 最終反應 |
去冰箱拿一罐蘋果汁給你,或者問你要不要加冰塊。 |
計算機率後,生成最可能的回應:「好的,這是一杯蘋果汁。」。它不知道什麼是冰箱,也不知道什麼是冰塊,它只是猜出了這串文字組合。 |
不只國外,台灣其實也在做自己的模型
說到這個,大家最熟悉的當然是 OpenAI 開發的 GPT 系列,這算是全球的標竿了。但這種大型語言模型,其實很吃文化背景。直接拿國外的模型來處理中文的細膩語境或是在地知識,有時候還是會卡卡的。
這點跟我們在台灣看到的情況很不一樣。像台灣的國科會(NSTC)就有在主導一個叫做「TAIDE 計畫」的專案,目標就是開發出我們自己的、可信賴的繁體中文大型語言模型。我自己是覺得這蠻重要的,因為他們會更專注在台灣的文化、用語習慣跟價值觀,訓練出來的模型可能更「接地氣」,也比較不會有奇怪的偏見。所以你看,國外巨頭在拚規模跟通用性,而台灣這邊則是從可信賴跟在地化的角度切入,思路其實不太一樣。
反例與誤解釐清
搞懂原理後,有些常見的誤解就很容易想通了。
- AI 會「一本正經地胡說八道」(幻覺 Hallucination):這超常見的。你問它一個事實,它可能會給你一個看起來超專業、但完全是編造的答案。為什麼?因為它不是在「查資料」,它是在「猜下一個字」。如果它猜測的路徑上,剛好把幾個不相關但聽起來很合理的詞串在一起了,那「幻覺」就產生了。它根本不知道自己在說謊,因為它沒有「事實」的概念,只有「機率」。
- AI 沒有真正的「理解」或「常識」:從上面的表格你就知道,它所有看似理解的行為,都是數學運算。你跟它說「把大象放進冰箱」,它可能會寫出步驟一二三,但它完全不明白這在物理上是不可能的。因為在它的資料庫裡,"放進"、"大象"、"冰箱" 只是常一起出現的詞。
- AI 的回答有時候很囉嗦或很簡短,跟 Token 有關:有時候為了湊出一個在機率上最「完美」的回答,它可能會生成很多看似有用但其實是廢話的句子。反過來說,如果你的問題太複雜,超出了它一次能處理的 Token 長度(也就是所謂的 Context Window),它後面的回答可能就會開始忘記你前面說過什麼。
所以,把 AI 當成一個超級聰明、博學多聞、但完全沒有常識和真實世界經驗的實習生,可能會是比較健康的心態。它能幫你快速完成 80% 的工作,但最後那 20% 的事實查核跟微調,還是得靠你自己。
說真的,把它拆解完,那種對 AI 的神祕感跟恐懼感就少很多了。它就是個工具,一個基於數學的、超級強大的文字接龍工具。你覺得呢?當你知道背後是這些冷冰冰的數學在運作時,你對 AI 的看法有改變嗎?留言分享一下你的想法吧!
