Author name: 楊慶忠

自然語言處理之13~三探AI推理能力

2-13:三探AI推理能力 Gemini 3發表之後,獲得各方一致好評。它在程式開發、自動化網站與產品設計方面,都有長足進步,而我們一直關心的「推理能力」,更是這次發表會的重頭戲。 它在GPQA Diamond測試中取得了91.9%頂尖成績,展現了博士級別的推理能力;在MathArena Apex測試中取得了23.4%的全新最高分,為數學領域的前沿模型樹立了新的標竿。 但是,「登高必自卑,行遠必自邇」,大型語言模型(LLM,Large Language Model),究竟是如何一步步進化至具備推理能力的呢? 圖2-13-1. LLM的三個訓練模型階段。  上圖是LLM的三個訓練模型階段。在主結構的Transformer建立好之後,必須開始餵養資料來訓練它。第一階段Pretraining預訓練,要使用取得的海量資料,訓練它學習文字接龍的方式,將一句話或一段話講得通順。 第二階段Finetuning微調,則在既有基礎之上,訓練它就某個課題一來一回做問答。這時候,是採用監督式學習,每個問題都會附帶標準答案,這個步驟很耗費人力成本,也無法窮舉所有可能的題目。 第三階段,應該是和推理能力最相關的部份了。我們會把模型進一步優化,先替輸出的文字打分數,再回饋給模型修正參數,讓它學會比較精準且符合人類習慣的語法。這裡使用的技術,叫做RLHF,”人為回饋強化式學習”。 圖2-13-2. RLHF用人為的方式幫模型輸出文字打分數。  RLHF,是在原有模型之外,建立一個Reward Model做為裁判評分之用。建構好這個Model之後,用它計算原有模型輸出的損失函數,再反向傳播修正權重值,讓輸出的答案更合理。 這個Reward Model,除了採用到人為回饋的部份,還加上先前提過的策略梯度,最常見的方法像PPO(Proximal Policy Optimization),是將文字序列視為時間序列來做運算。 圖2-13-3. PPO可協助決定較佳的文字序列輸出。  將文字序列視為時間序列,早在RNN時代就是這麼處理的,但在這裡,PPO是把每個尚待完成中的文字(context)當作狀態(state),對下一個接龍字詞(token)的選擇視為動作(action),藉此決定每個狀態的獎勵(reward),以形成最適的動作機率分佈。 這個PPO強化式學習機制,讓原本只懂做檢索的Transformer,好像具備了判斷高低優劣的”品味”,開始學會思考推理。 PPO結合學術研究,開發出了新的技術,比如像Soft Actor-Critic (SAC)等,它被應用在AI機器人的訓練上面,取得相當出色的成果。

自然語言處理之13~三探AI推理能力 Read More »

強化學習之14~很重要又難理解的Policy Gradient

3-14:很重要又難理解的Policy Gradient 使用神經網路在做分類訓練時,輸出層的節點值,必須先轉換成機率分佈,再和標記值(標準答案)相比對,以計算彼時參數應該被修正的程度。 一旦模型訓練完成,進入到推論(inference)階段,就不會再有標準答案了,這時候,要直接從機率分佈選取一個最大的,做為判斷的種類。如下圖中的x3節點將會被選取,因為它的機率值是0.4,大於其他的節點值。 圖3-14-1. 神經網路輸出層的預測值是機率分佈。  在強化學習當中,從某個狀態來選擇某種動作,早期的做法相類似,也是去選取動作值(action value)最大的那一個,但這樣的處理,衍生出了一些問題。 它會讓決策僵化,只想遷就眼前最大的獎勵,而不願去多方嘗試最佳路徑。為改善此缺失,實作上通常還會再引入隨機變量epsilon,來增加探索性,這就是為什麼我們問ChatGPT同一個問題,它常常會給出不同答案的原因。 強化式學習發展至今日,結合了神經網路之後,最新的做法,也是在輸出層節點形成機率分佈,但動作的選取,不再獨厚機率值最高的那一個了。 圖3-14-2. 強化式學習神經網路。  上圖左邊是輸入神經網路的狀態(state),右邊是經過神經網路計算後,得到的動作機率分佈。在選擇動作時,是採用隨機(stochastic)的方式,機率大的當然被選取的機會就高,但機率小的,仍然有較低的機會被選取到。 看得出來,這種選取方式,就是將隨機變量epsilon,直接放進決策過程中了。它不但讓程式語法變得更簡潔,背後的數學思考也更加深邃。 我們將這種學理應用在迷宮遊戲中,和DQN(Deep Q-Network)相比較,發現它學習的進步幅度非常明顯,因為它一邊學一邊修正,十分有效率。 圖3-14-3. 策略梯度的演算法,讓AI學習更加有效率。  Policy Gradient,策略梯度,是要逐步修正神經網路裡面的參數值,讓輸出的動作機率分佈,有助於提升每回合時間序列的報酬值(return)。 這是相當不好理解的關鍵,它不像監督式訓練,每次都附帶有標準答案來比對修正。事實上,它每次的「標準答案」,都是來自神經網路中途參數的預測,換句話說,它自己提供數據來訓練自己,這是強化式學習很特殊的地方。

強化學習之14~很重要又難理解的Policy Gradient Read More »

進階語法之9~Line Bot與Python

2-9:Line Bot與Python Line這個即時通訊軟體,在台灣有超高的使用率,幾乎接近百分之百。除了圖文影音的通訊功能外,它還是個越來越受重視的行銷利器。 Google和Facebook的廣告對象比較聚焦,可以針對目標小眾進行精準投放。Line在這方面的功能不遑多讓,甚至還猶有過之。 例如,Line Bot已經整合AI到群組裡面去了,讓它開拓市場的方式更加多元。Bot是Robot(機器人)的意思,在此尤指聊天機器人,我們可以訓練它來做簡單的客服工作。 下圖可以看得出來,經過少許訓練之後,即使問的方式有些差異,LineBot還是能揣摩出問話者的意圖,因為它在預訓練階段,語言模型的結構已相當完整了。 圖2-9-1. 載入含有問題和答案的CSV檔案來訓練後,LineBot在測試階段的表現中規中矩。  我們知道,語言模型的數字能力,向來略有不足。但如果結合Python的幾個網路模組,LineBot的客服效能,還可以更上層樓。 下圖是閱讀Line的對話內容,從客戶端取得採購訊息後,再即時報價的一個系統。客戶可以先點選圖文選單,顯示出各項產品單價,再輸入所需數量,馬上可以取得商家的報價。 圖2-9-2. LineBot客戶採買報價系統,客戶輸入各項產品數量後,立即可顯示其報價。  上面的報價計算過程,LineBot並無法獨力完成,必須搭配Python程式加上linebot模組,以及flask伺服器模組,才能在聊天室閱讀、回覆數據。 在個人電腦上運行的Python,是沒有辦法直接驅動LineBot的介面,中間有透過ngrok的代理網站,串接其Webhook,再使用http的post方法,向伺服器傳遞或接收資料。 圖2-9-3. Python利用flask伺服器,透過ngrok的代理網站,連接LineBot的Webhook。 

進階語法之9~Line Bot與Python Read More »

進階語法之8~網頁爬蟲與Python

2-8:網頁爬蟲與Python 網頁爬蟲,Web Crawler,是依據目標網頁的URL,來搜尋所需要的資料,並把所得內容存檔,或者繪製成圖表。 URL,Uniform Resource Locator,直接翻譯起來有點彆扭,如果把Uniform改成Universal就好多了,就叫做”全球資源定位器”。其實一開始http創建者Berners-Lee,就是使用Universal這個名稱來送審IETF的。 網際網路上的每個網站,都各有網域名稱連結其IP位址,而每個網站的內頁,如「關於我們」、「最新消息」、「產品介紹」等,它們的URL都略有不同,其網域名稱是共通的,但抵達個別網頁的路徑卻有所差異。 我們在目標網頁上按下電腦鍵盤F12鍵,可以看到該網頁背後的語法,是以HTML、CSS、Javascript為主,我們就是從這些語法來做網頁爬蟲。 圖2-8-1. 網頁瀏覽器所看到的內容(圖左),其背後都是一些語法(圖右)。  在Python裡面,有一個BeautifulSoup的模組,可以將網頁上取得的資料,從原有的字串型態,剖析(parse)成有階層關係的樹狀結構,讓爬蟲者可依據標籤或樣式,順著節點來抓取資料。 下圖是聯電、台積電、聯發科三家公司股價,從台灣證券交易所網站,爬取出來的近10年資料分析圖。聯發科這家公司,雖然是從聯電spin off出來的,但青出於藍。它擺脫了一代拳王、一曲歌后的IC設計公司宿命,宛如九命怪貓一般,一次又一次從下滑的危機中再創高峰。 但股價一直屈居下風的台積電,最近一、兩個月來,已開始出現黃金交叉的現象了,這並非是聯發科成長不如預期,而是台積電發展趨勢更被看好。所以討論「AI是否泡沫化」,在這個時間點是沒有必要的,因為這波熱潮,還會再持續好幾年。 圖2-8-2. 2016年~2025年股價走勢圖,橘色的台積電最近已超越綠色的聯發科。  我們還記得,Python裡面有一個輕薄短小,功能又不錯的flask網頁伺服器模組,可以協助將網頁爬蟲的資料公佈在網頁上,讓他人也可下載存成CSV檔案。甚至未來還可再修改介面,分享所開發的網頁爬蟲程式,讓連線者自行設定參數來搜尋資料。 圖2-8-3. 利用flask模組,將爬蟲所得資料公佈在網頁上,供人下載存成CSV檔案。 

進階語法之8~網頁爬蟲與Python Read More »

自然語言處理之12~再探AI推理能力

2-12:再探AI推理能力 雖然目前AI的推理功能,越來越受到各方重視,但有一個議題,始終爭論不休,那就是,AI究竟真正會思考了,還是它仍然只在做檢索查詢的動作? 我們傳統在查詢資料時,是習慣透過資料庫,將資料表裡面的數據取了出來。到了AI時代,訊息是隱含在神經網路的參數裡面,但所做的工作,其實都還是在查詢資料,只不過,這時候資料的呈現,是採用自然語言的形式。 但是,AI確實能夠一步一步的推理,幫我們把答案解出來啊!看看下面這個題目,是個國一程度的數學應用題。”有一個人,以每小時30公里的速度,走了30公里的路程,然後再以每小時10公里的速度走了30公里的路程,請問這個人的平均時速是多少?”。 通常在解這個題目時,我們會很直覺地,將時速30公里加上時速10公里,然後再除以2,得到平均時速20公里,因為兩種時速同樣走了30公里。 但ChatGPT懂得依照定義,將總路程除以總時間,得到15公里的平均時速。看起來,似乎ChatGPT是懂得思考的,但也有人懷疑,這是AI在預訓練(Pre-training)階段,從海量資料中,記憶了解題步驟,並非是它自己推理出來的。 我們再來看另一個題目,是和社會現象有關的,我先問ChatGPT是否瞭解印度的種姓制度,它當然是很清楚的,我再問它,”婆羅門禁止賤民的影子和他們的影子相重疊,真正的目的是什麼?”,它的回答如下所示: 我覺得這些答案並未直指核心,所以我再告訴它,”我認為最重要的目的在於做「實質隔離」,因為影子要重疊在一起,人跟人之間的距離必須夠近才會發生,所以主要的考量,是要利用距離來維持高種姓的優越性,你認為這樣的推論合理嗎?” 它的回答就更加深入了。 它補充說明說,物理距離=社會距離,所以禁止影子重疊,就是禁止低種姓靠近高種姓的身體與地位。 它的推論是更加深入了,但也不禁讓人懷疑,它其實是在利用我第二次的提示詞(prompt),再去做一次檢索(search)的動作。 目前的趨勢,Google在這方面好像有不錯的實質進展,他們DeepMind的研究副總裁,出生台北市的紀懷新博士提到,其合作團隊改採「中小型語言模型」,利用”Multi-step reasoning”的推理技術,已經可以考到奧林匹亞數學競賽的銀牌等級,未來似乎頗值得期待。

自然語言處理之12~再探AI推理能力 Read More »

計算機到美國之6~心理學家與人工智慧

2-6.心理學家與人工智慧 2024年的諾貝爾物理學獎,在物理學界的質疑聲浪中,頒發給了人工智慧泰斗傑佛瑞·辛頓(Geoffrey Hinton)。這位多倫多大學電腦科學系教授,是在愛丁堡大學取得人工智慧博士,但就讀學士期間,他唸的是劍橋大學「實驗心理學」學位。 辛頓的研究歷程其實還是有跡可循的,因為大腦神經元進行認知學習的運作機制,向來都是實驗心理學的熱門課題,學生除了傳統的心理學理論之外,還要熟稔操作各種電子量測儀器,也必須善用生物統計的分析技巧。 所以,辛頓的深度學習模型元素,和人類的大腦神經細胞之間,諸如軸突末端、樹突、突觸等,有很高的類比程度,也就不足為奇了。 圖2-6-1. 人類大腦神經元細胞圖(上),以及深度神經網路圖(下)。 無獨有偶,2024年的圖靈獎得主,理查德·薩頓(Richard Sutton),學士時期就讀史丹佛大學,唸的也是心理學位。他在強化學習上的貢獻及獨特觀點,也受到其心理學背景的影響。 他贊成同儕科學家克洛普夫(Harry Klopf)的假設,認為人類大腦神經元,是個好逸惡勞的享樂主義者,必須給予適當的獎勵或懲罰,它才會有足夠的學習動機。 這批優秀而執著的學者,以馬可夫決策過程(Markov Decision Process, MDP)為基礎,建構起以狀態、獎懲為主的環境,設計出對代理人所採行動的回應演算式,讓原本被認為只能處理特殊個案的強化學習,經過四十年的孜孜不息,一躍而為人工智慧的重要課題。 圖2-6-2. 人類大腦神經元,是個害怕懲罰、喜歡獎勵的懶傢伙。

計算機到美國之6~心理學家與人工智慧 Read More »

強化式學習之13~DQN與聶老師

3-13:DQN與聶老師 2016年3月,DeepMind公司的AlphaGo電腦程式,以4:1的成績,擊敗世界圍棋冠軍韓國李世乭。到了當年年底,忽見中國大陸騰訊野狐圍棋網站中,在眾人一片錯愕下,橫空出世了一位絕代高手。此神秘高人戰力之強深不可測,在巨星雲集、諸帥環伺之際,竟秋風掃落葉打遍網內無敵手。他在連續幾盤擊敗聶衛平後,在螢幕上顯示了一行繁體中文字「謝謝聶老師」。 有人推測,這位”高手”,應該是AlphaGo的相關版本,因為這款大名鼎鼎的軟體,其背後的靈魂人物,正是來自台灣的師大資訊博士黃士傑。 聶衛平是個傳奇人物,他在好幾屆的「中日圍棋擂台賽」,都是擔任中國方的壓軸強棒。他可以力挽狂瀾、扭轉乾坤,每次中方戰將前線潰敗至丟盔棄甲,戰力崩盤到僅剩下他這最後一棒時,他總能憑藉一己之力起死回生,將擂台上還留有的一票日本高手,全部殺得片甲不留。 圖3-13-1. 聶衛平氣定神閒對戰眉頭深鎖小林光一,小林光一落敗回日本後,馬上將自己理了個大光頭,以示”檢討”。  DeepMind早在2014年1月26日就被Google蒐購,它的核心技術 —「深度強化式學習」,是獲得Google青睞的主要因素,著名的DQN(深度Q網路),就是由他們提出來的。 DQN,Deep Q Network,顧名思義,就是把強化學習的Q-learning,和深度神經網路結合在一起,這讓原本依據Q-table索引來定義的離散狀態,得以用深度學習來擴展至連續狀態。但也因為agent動作的預測,是改採神經網路來進行,導致整個模型架構變得複雜許多,非得使用GPU來訓練參數不可了。 上圖是一個9×9的迷宮,使用DQN技術,經過300回合訓練所得到的步數分佈數據。主角由中心位置(5,5)開始走,設法避開左上角(1,1)的魔王,儘量以最少的步數8去找到右下角(9,9)的寶藏。 可以看得出來,即使已經接近300回合的練習,仍然會有大於8的步數出現,因為這個時候epsilon仍有約0.05,也就是約20次就會有1次的隨機決定動作。但整體而言,神經網路的參數訓練部份,已經逐漸趨向穩定了。 使用DQN,其神經網路搭配強化式學習一起訓練,必然加倍消耗運算資源,不但訓練回合數比單純使用Q-table來得多,而且每一回合所使用的時間,也隨之暴漲了好幾個數量級,這不禁讓我們想起黃仁勳的名言「算力即國力」。 但這個改變是無可避免的,因為來到AI機器人時代,離散的狀態是一定要改成連續的狀態,這時候,比DQN更加被廣泛使用的PPO(Proximal Policy Optimization),也早已步上更寬廣的舞台了。 圖3-13-2. AI機器人雙雄爭霸時代,背後都需要更好的深度強化學習演算法來精益求精。 

強化式學習之13~DQN與聶老師 Read More »

自然語言處理之11~ChatGPT之推理初步

2-11:ChatGPT之推理初步 目前各個商業化的大型語言模型,如Grok、Gemini、Claude等,為凸顯其市場競爭力,都會特別強調其推理功能,也就是仿效人類舉一反三、觸類旁通的能力。但老字號的ChatGPT,即使是3.5版本,若能善用提詞技巧,它的推理能力,已經足夠讓人驚艷了。 推理能力,一般人比較會聯想到數理科學領域,那些需要繁複計算的解題過程。但不能忽視的是,普通人在處理平常事物的時候,如果具備有良好的文字思考邏輯能力,在很多方面,也是相對有優勢的。 我們先從簡單的測試開始,看看ChatGPT3.5能否理解半古典中文笑話。它若能分析出笑點所在,則它的能力,很可能不僅僅止於整理資料而已,或許它還能有幾分揣摩人類情感的天份。以下是我們給它的笑話,以及ChatGPT3.5所做的回應。 「 有一個女婿在過年期間去向丈母娘祝壽,他在進門時看到了門口新貼好的春聯上下聯,於是很應景的向岳母說了句“天增歲月娘增壽”,這時所有人都為他的急智大聲喝采;可他得意忘形,不知見好就收,竟然又脫口而出了第二句“春滿乾坤父滿門”,於是被所有親戚當場轟出了家門。」請問,這個笑話的笑點在哪裡? ChatGPT的解說,真是超乎我們的預期。它竟然知道修改過後的春聯,相對於原來的春聯,這當中的梗到底是好笑在哪裡。 於是,我們再出一題英文的笑話來考考它……….. 「One day, the human torch in the movie ‘Fantastic Four’ felt uncomfortable. Then he went to a hospital to check his body temperature. After the examination, the nurse told him “You are hot.”. And he replied to her “So are you.”」 What’s funny in the mentioned joke?

自然語言處理之11~ChatGPT之推理初步 Read More »

多益文法與字彙之9~使用Grok 3練習英語口說

2-9:使用Grok 3練習英語口說 ChatGPT3.5並沒有繪圖或語音功能,必須付費使用ChatGPT4.0或4o版本,才可享有這些優惠。但大型語言模型Grok 3的出現,如平地一聲雷,迅速填補了這一空缺,讓一般人也可善用窮人版的AI,來達到不錯的多媒體影音效果。 Grok是特斯拉(Tesla)電動車老闆馬斯克,其旗下子公司xAI所發行的產品。目前免費提供下載的Grok 3 Beta版附帶有Think模式,能夠用來解決複雜問題,模擬人類思考進行推理。我們在此,只先利用它的語音功能,來嘗試提升英語會話能力。 https://mobile-learning-testing.com/wp-content/uploads/2025/06/Grok3.mp4 Grok 3的AI對話小姐,名字就叫做Grok。她的口音標準,使用美國人的講話速度,我們可以要求她講慢一點;她不會插你的話,除非你停頓太久;有時她講得太多了,可要求長話短說。 這種英文口說的方式,會逐步改變語言學習的型態,在實體教室和老師練習對話的商機,會呈現汰弱存強的趨勢,直接和外籍老師交談,變得沒有那麼重要了。一般人想使用正確的文法和發音,會不得不去尋求比較有經驗老師的協助。

多益文法與字彙之9~使用Grok 3練習英語口說 Read More »

自然語言處理之10~ChatGPT表格處理

2-10:ChatGPT表格處理 ChatGPT3.5本身,即使只能算是相對陽春的版本,但可做的事情還真不少,除了文章摘要、詩文創作、修改文稿,還可以把二維表格,取其部份欄位數據,整理為CSV資料檔案格式。 我們令GPT將下列原始表格中,共6個欄位的資料,處理成4個欄位的新表格。新表格欄位名稱包括有產業別,2021年、2022年每月每家平均銷售額,以及這兩年的平均銷售額比值變動率。 上面是未處理前的原始表格,其第一列的欄位名稱部份,是有經過分割儲存格的處理,並且2022年還只有上半年6個月的資料,即使是用人的肉眼來判讀,有時都還難免會發生錯誤,但ChatGPT居然都能正確解讀無誤,實在讓人驚訝! GPT整理出來的新表格如下,它的計算數據經過查核,並無錯誤,可直接將其轉換成 CSV(Comma Seperated Values)檔案格式。 我們用得到的CSV檔案,請ChatGPT幫忙設計Python程式碼,用來繪製其3D散佈圖。它所提供的程式碼,我們只需要將輸入輸出的部份修改即可,執行後可得到以下的圖形。 如果純粹用人工手動方式,一般人設計Python程式來畫出2D散佈圖,基本上並沒有太大困難,但要畫出3D立體圖並且標記清楚,就沒那麼簡單了。ChatGPT設計程式的能力,一次又一次地,讓我們為它進步的幅度感到震驚!它正無聲無息地,在快速改變程式設計這個行業的樣貌。

自然語言處理之10~ChatGPT表格處理 Read More »

Shopping Cart