跳到主要內容

發表文章

目前顯示的是 3月, 2025的文章

找出燈的開關

問題: 有三個開關,其中一個開關可以控制一盞燈,另外兩個開關不行。燈在一個距離開關很遠的密閉小房間中。如果你只能進出這個小房間一次,如何獨自找出控制燈的那個開關? 分析: 如果只有一個開關,那答案很明顯。 如果有兩個開關,把第一個開關打開,走進小房間。如果燈是亮的,答案就是第一個開關。 S1 S2 否則是第二個開關。 S1 S2 三個開關的情況,把第一個開關打開,走進小房間。如果燈是亮的,答案就是第一個開關,否則是第二個或第二個開關,猜對的機率只有 50%。 要如何提高命中率呢?有一個方法,利用「記憶」的性質:有沒有可能把開關和燈泡的對應關係保留下來呢?有人想到,「溫度」可以保留一段時間,溫度有短期記憶的性質。把開過一小段時間的燈關掉,燈熄了,燈的餘溫能維持一段時間。 因此,假設走到小房間所需的時間不是太久,把第一個開關打開,過 10 分鐘關掉,打開第二個開關,走進小房間。如果燈是亮的,答案就是第二個開關。 S1 S2 S3 如果燈沒亮,摸一下燈,如果燈是溫的,答案是第一個開關。 S1 S2 S3 否則是第三個開關。 S1 S2 S3 如果把開關數增加到 4 個,有辦法在原有條件下找出答案嗎?如果可以區分不同的記憶,就可以做到。例如,我們可以用更多種的溫度來區分。 把第一個開關打開,過 30 分鐘關掉,打開第二個開關,過 10 分鐘關掉,打開第三個開關,走進小房間。如果燈是亮的,答案就是第三個開關。如果燈沒亮,摸一下燈,如果燈是冷的,答案是第四個開關。如果燈是溫的,答案是第二個開關,如果燈是燙的,答案是第一個開關。 實際的情況,真的會用這種方法嗎?太花時間了。我們應該會找另一個人,待在小房間,兩個人用手機一邊通話,一邊試哪個開關能把燈打開。 把問題變得更複雜一些。 問題: 有三個開關,分別控制三盞燈。燈都在一個距離開關很遠的密閉小房間中。如何用最少次進出小房間的方法,獨自找出哪個開關控制哪盞燈? 使用上述「溫度記憶」的方法,只需進出房間 1 次,就能找出關係:把第一個開關打開,過 10 分鐘關掉,打開第二個開關,走進小房...

測不準到底準不準

聽到「測不準原理」,你會想到什麼? 許多人可能會想到,測量者本身影響了環境,導致的測量結果不準確現象,例如,一個計算電腦記憶體空間的程式,本身也占用記憶體空間,若不知道本身占用的量,就會造成計算的錯誤;量測麵粉顆粒的位置,手拿著尺,一靠近,造成空氣流動,把麵粉顆粒吹動了。 在原子的尺度的觀測,想知道待測物的位置,要用波長短一點的光,也就是高頻的光,但高頻代表高能量,知道準確的位置,同時也對待測物施了一些力,所以待測物的速度變了(正確地說,是動量變了);若要知道待測物的速度(動量),就要用能量小的光,也就是波長較長的光,這樣一來,繞射現象就明顯了,因而無法知道待測物精確的位置,似乎位置和速度無法「同時」被精確測量。 但量子力學的 Uncertainty principle,講的並不是外部測量造成的不準確,而是本質上的不準確,並且有數學上的對應關係。 根據量子力學,粒子有波的性質,可以用波函數來描述粒子的位置。某種程度上,波函數描述的是,給定空間上的位置與時間,粒子存在於這個空間與時間座標的機率。 既然講到機率,表示是不確定的,隨機的。這樣的性質,在原子尺度以下才會呈現,日常生活接觸到的物質,並不會有這樣的不確定性,或者說,其波函數描述的機率,趨近於 100%。 在數學分析理論中,一般函數存在傅立葉轉換。簡而言之,一個用時間描述的函數,可以轉化成對應的,用頻率描述的函數,而對於時間與頻率,存在一個極限的關係: 若函數在時間座標分布越廣,在頻率座標的分布越窄,反之,若函數在頻率座標分布越廣,在時間座標的分布越窄。 例如,一個極端的情況,若時間函數為寬度無限大的常數值 1 ,則轉化後的頻率函數為寬度無限窄的凸刺: 在時間座標上去把函數「壓窄」,在頻率座標上對應的函數就會「變寬」,要同時壓窄有其極限。這是時間和頻率的不準確關係。 函數越窄,代表函數值分布集中,從機率的角度來說,準確度高,一個值就能代表整個函數。 如同時間與頻率,粒子的動量函數是波函數經過傅立葉轉換的結果。波函數描述位置的機率,因此位置與動量的函數分布,無法同時被無限「壓窄」,也就無法同時精確呈現。若波函數分布廣(想像成粒子在大範圍亂飛),動量函數的分布就會較集中,反之,若波函數分布窄(想像成粒子在小範圍亂飛),動量函數的分布就會較分散。這是本質上的不準確,不是測量造成。當然,...

量變帶來質變

早在 2003 年,學者專家就開始利用神經網路(neural netwrok, NN)或稱類神經網路(artificial neural network, ANN)建構語言模型,循環神經網路(recurrent neural network,RNN)被用來模塑字裡行間(contextual)的關係。 RNN 的訓練流程本質上是 循序 的,資料必須一個接著一個餵進去處理,但 CPU 的頻率已經很難大幅提升,訓練速度快不起來。 2017 年,Google 研究人員發表了一個新方法,把 RNN 拿掉,讓訓練可以 平行 進行,論文名稱 "Attention is all you need",說明語言模型的建立,只需 attention 機制,不用 RNN。 訓練可平行化的結果,速度加快了 5-10 倍,產生實用語言模型-大型語言模型(large language model, LLM)變成可能,平行處理器如 GPU 也開始供不應求,競爭者開始算力之爭,工程上的優化也同步持續進行著。 訓練完成的 LLM 可以進一步微調,萃取,在低規格的運算環境即可"使用",也就是從 LLM 產生輸出結果,可以是 Q and A,或是推論,把 LLM 中的文字模式取出應用,令人想不到的是,模式竟然可以包含規則,LLM 學習了文字描述的規則,這讓 LLM 不只能用於產生文字,如翻譯,寫作,甚至讓 LLM 有人腦的部分能力,這讓人們對 LLM 前景充滿幻想,2022 年開始 LLM 也成為人工智慧(AI)的最紅代言人。必須了解的是,LLM 只是 AI 一個範疇內的應用,尚待發展的部分還有很多。 深度學習(deep learning)是指使用神經網路的應用,Deep 表示多層神經網路,用以和早期層數較少(一或兩層)的模型作區分。