# 行動學習與測驗工作室 ## Posts - [計算機到美國之7~IBM之崛起](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b%e4%b9%8b7ibm%e4%b9%8b%e5%b4%9b%e8%b5%b7/) - [多益文法與字彙之10~使用Gemini 3練習英語交談](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b10%e4%bd%bf%e7%94%a8gemini-3%e7%b7%b4%e7%bf%92%e8%8b%b1%e8%aa%9e%e4%ba%a4%e8%ab%87/): 2-9:使用Gemini 3練習英語交談 我們從國小到國中,不時聽人家講什麼”仄仄平平仄平仄”,這些在課堂上,老師常常解釋得不清不楚的內容,學生當然是聽得一頭霧水。其實簡單的講,就是使用抑揚頓挫的語氣,來精準詮釋字裡行間要表達的意思。 所以我們學習文字,不論中文或英文,都是同時在練習書寫和發音的。但在AI裡面,語音辨識的神經網路,並沒有和自然語言處理放在一起訓練,所以在創作詩詞的時候,它只會押韻、不懂平仄。 可喜的是,這個情況已經在改善了,我們用一個英語笑話來說明,因為各地腔調不同,而導致話中原意被曲解的情況,AI已經有能力判斷出來了。 https://mobile-learning-testing.com/wp-content/uploads/2026/01/Joke1.mp4 上面的笑話表示,即使是南腔北調,文字和語音之間的無縫轉換,讓AI不僅只停留在字面理解的階段,它似乎也瞭解,說話語氣同樣是溝通表達重要的一部份。 和Grok比較起來,Gemini的回答速度稍慢,但也有可能是它重視上下文的理解,所以會多花一點時間來做推論。 理解上下文再做推論,讓AI提供的資訊符合提問者的需要,而一段精簡的文字,更方便我們評比此模型的邏輯能力。下面用第二個英語笑話,來看看AI能否聽得懂雙關語。 https://mobile-learning-testing.com/wp-content/uploads/2026/01/Joke2.mp4 看起來,AI真的是一個語文資優生,難怪它的名字就叫做「大型語言模型」。 我們用AI來學英文,Gemini是不錯的選擇,它不大會搶話,所以不用擔心它會搶你的拍子、中斷你學習的節奏。 但建議使用AI來學習會話的學員,不要天馬行空、毫不講究單字文法,就一個勁兒和AI東拉西扯,而應該把已經熟悉內文的讀本,拿來和AI討論內容。人工智慧果真是上知天文下知地理,它所理解的東西,甚至會比讀本還深入,有目的、有規劃的互動學習,總是會比較有效率的。 - [人工神經網路之8~哈姆雷特在谷歌(Hamlet in Google)](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b8%e5%93%88%e5%a7%86%e9%9b%b7%e7%89%b9%e5%9c%a8%e8%b0%b7%e6%ad%8chamlet-in-google/): 1-8.哈姆雷特在谷歌(Hamlet in Google) GPT的T是Transformer的意思,這是在2017年,由Google Brain開發出來的大型語言模型架構。但在2022年底,OpenAI利用這項技術,搶先商業化ChatGPT-3.5,讓谷歌公司吃了一記悶棍。 谷歌痛定思痛後,接下來第一步,它先整合旗下兩大研發部門。位在美國加州的Google Brain,也是開發出TPU的單位,必須和位於英國倫敦,專精於通用人工智慧的DeepMind合併,新的單位名稱叫「Google DeepMind」,開發出來的產品,就給予Gemini(雙子星)的名稱。 圖1-8-1.Jeff Dean(左)和Demis Hassabis(右),都是AI領域響叮噹的人物。 這兩大研發部門的負責人都大有來頭,但DeepMind的哈薩比斯更為人所熟知。除了打敗世界圍棋冠軍李世乭的AlphaGo之外,他的團隊還開發出AlphaFold軟體,使用深度學習技術,高精度預測出多種蛋白質的折疊結構,也讓他獲得2024諾貝爾化學獎。 Google執行長皮查伊,面對極大壓力仍能沉得住氣,不盲動也不取巧,他將AI開發的行政決策權,交到哈薩比斯手上,自己則在背後運籌帷幄,隨後1000多個日子,在身心極度緊繃之下,一步步堅實又高速地往前急奔。 Google終於以Gemini 3成功扳回一城,其過程宛如現代版”哈姆雷特”,只不過劇情精采之處,甚至猶有過之。 位於倫敦的DeepMind,是在2010年創建的,令不少人感到好奇的是,這個後來隸屬於Google的研究單位,一開始花了很多時間在「玩遊戲」。但這並不表示他們在不務正業,相反地,他們是用遊戲來深化其核心技術 —「深度強化學習」。 這一招,也被2015年創建的OpenAI學會了,而且還取材自Atari的經典遊戲,開發出一套”Gym”系統來自行練功,待水到渠成,就開始對Transformer畫龍點睛,這群天才工程師如此這般,硬是後來居上拔得頭籌。 圖1-8-2. 雅達利的經典遊戲之”打磚塊”,在AI發展過程中有它的功用。 谷歌以其深厚研究底蘊,重新拿回AI話語權,其實並不讓人特別驚訝。但在這危機處理中,其所展現出來的公司文化,有頗多值得學習的地方。 在2022年底,Google兩位創辦人Larry Page和Sergey Brin,自退休後再度回到公司工作,有時自己寫程式,有時參與研究人員的討論會議,讓整個組織活力再次重現,大大凝聚了團隊的向心力。 甚至Google還提供優厚離職津貼,鼓勵「不完全認同公司AI新方向」的員工離開。 圖1-8-3. 佩吉(左)和布林(右)這兩位Google創辦人,為了AI重現江湖。 這不禁讓我聯想到我的老東家,在國內教育環境快速丕變之際,同條船上的人都已經風雨飄搖了,還是照常內鬥內行、外鬥外行;任何重要的議案,永遠都是那幾個人,關起門來說了就算,連最起碼的SOP都沒有。學校最終不得不停招退場,對旁觀者而言,其實早就在意料當中了。 - [人工神經網路之7~GPU與TPU](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b7gpu%e8%88%87tpu/): 1-7.GPU與TPU 這次Gemini 3發表會的亮點,「推理能力」和「多模態」,都已經強勢登場了,而另一個在會中被拋出的重磅話題,令各界議論紛紛,至今仍餘波盪漾。 「黃仁勳的GPU帝國霸業,會不會被Google的TPU取而代之?」 GPU晶片原本只用來加速電腦遊戲的畫面切換,但在2000年初,其強大的平行運算功能,也被應用在科學研究上,於是NVIDIA在2006年推出了CUDA,使用C/C++的擴充語法,來程式化GPU的運算。 2012年,AlexNet使用GPU訓練CNN模型,以極大的差距贏得ImageNet競賽,黃仁勳此時嗅到了AI領域的蓬勃商機,遂挾其技術上壓倒性的優勢,一步步建立起龐大的GPU帝國。 圖1-7-1.ImageNet影像辨識競賽是由李飛飛教授創辦。 這些年來,各科技巨頭大手筆採購GPU之餘,也不忘開發自家晶片,GPU耗電、散熱的問題,當然是專打的痛點。十年定能磨一劍,Google卓然有成的TPU,早在2016年就被放進自己的AlphaGo當中了。 在傳統的 CPU 或 GPU 中,每次運算都需要從記憶體讀取資料、進行計算,再把結果寫回記憶體。但TPU 採用了一種稱為「脈動陣列」(Systolic Array)的架構,資料在運算單元之間直接傳遞,不需要頻繁存取記憶體,大大提升了工作效能。 脈動陣列,是台灣中研院院士孔祥重,和他的研究生 Charles Leiserson 所提出的。孔院士和資訊所陳昇瑋研究員(已故),於 2017 年創立了「臺灣人工智慧學校」,現已有上萬的學員參與,結業生遍佈台灣各階層。 - [自然語言處理之15~Gemini做程式設計](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b15gemini%e5%81%9a%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88/): 2-15:Gemini做程式設計 大型語言模型,像Claude或ChatGPT等,本身就是極其複雜的程式碼,由它們來寫普通編程,真是牛刀小試、小菜一碟,A piece of cake。 我們讓Gemini設計一個”打磚塊”網頁遊戲,使用的是HTML5語法,這對AI來講輕而易舉。只不過,設計出來的網頁內容,究竟要放到哪個網站平台,如何讓介面看起來簡潔友善,這些反而比較要花時間。 打磚塊遊戲 (Breakout) – 手機觸控版 點擊螢幕玩遊戲 使用 **手指拖曳** 或 **← → 鍵** 移動擋板。 點擊、觸控或按下 **空格鍵** 開始遊戲! 上圖的遊戲,重新整理之後,可觸控拖曳球拍來回擊圓球。在此要注意的是,這類遊戲是直接建立在網頁中,並不是可獨立下載啟動的App。 大約20年前,網頁上的遊戲動畫,幾乎清一色都由Flash包辦了,很多從業人員靠它風生水起。直到蘋果賈伯斯質疑,網頁內嵌這種檔案會產生明顯資安問題,自此,這一群人紛紛從雲端跌落谷底。 圖2-15-1. 早期Flash動畫遊戲也曾做得細緻生動。  這種小遊戲、小軟體,原本是初階程式人員可以著墨的地方,但不知不覺中,AI已經正在取代這類人力了。 中階人員倒還有一定的生存空間。如下圖中,我們要求AI設計強化學習的遊戲,結果它學習到43000回合了,仍舊欲振乏力。像這種整合遊戲模組、數學計算的進階程式設計,目前還是需要資深工程師的協助。 https://mobile-learning-testing.com/wp-content/uploads/2025/12/brick.mp4 - [自然語言處理之14~再探AI生成之人物一致性](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b14%e5%86%8d%e6%8e%a2ai%e7%94%9f%e6%88%90%e4%b9%8b%e4%ba%ba%e7%89%a9%e4%b8%80%e8%87%b4%e6%80%a7/): 2-14:AI生成之人物一致性 新發表的Gemini 3當中,多模態(MultiModal)是被特別強調的重點,它能有效理解文字、圖像、語音和視訊的內容,並做適當的推理和處理。 ChatGPT文字功能很強,在一來一回多次問答中,仍能掌握住提問者的原始想法。但圖片生成卻差強人意,同一個人的相貌外型,經常在幾輪作畫之後,就開始走樣了。 我們比較兩種軟體在不同場景及服裝下,各自兩兩生成同一位女性的差異,下面後兩張圖片相比於前兩張,可看得出來,在多媒體人物一致性上面,Google確實更勝一籌。 這是令人振奮的好消息,它表示,困擾我們很久的Characters Consistency問題,已經改善了不少,AI至少有能力協助繪本作者,畫出書中前後連貫的主配角圖像。 於是我們引用古龍小說”多情劍客無情劍”,請Gemini 3畫出人物造型一致的各場景,它的表現,也確實讓人刮目相看。 這些場景是:1. 李尋歡近像。2. 李尋歡相遇阿飛 。3. 李尋歡決戰龍鳳環上官金虹。4. 阿飛勇鬥荊無命。 我們也找來電影劇照相比對,發現AI插畫雖不完全盡如人意,但也並未離題。 古龍的武俠小說,對書中人物個性、外型的描寫相當深刻,AI繪圖很容易掌握其特色。 金庸小說,則因為人物眾多、場面浩大,提示詞的使用,實在很難精準到位。 下圖中,郭芙斬斷楊過右臂這一段,Gemini的表現還算稱職,但楊過在襄陽城丟擲飛石擊殺蒙哥大汗,這橋段始終差之毫釐。 - [自然語言處理之13~三探AI推理能力](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b13%e4%b8%89%e6%8e%a2ai%e6%8e%a8%e7%90%86%e8%83%bd%e5%8a%9b/): 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機器人的訓練上面,取得相當出色的成果。 - [強化式學習之14~很重要又難理解的Policy Gradient](https://mobile-learning-testing.com/%e5%bc%b7%e5%8c%96%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b14%e5%be%88%e9%87%8d%e8%a6%81%e5%8f%88%e9%9b%a3%e7%90%86%e8%a7%a3%e7%9a%84policy-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)。 這是相當不好理解的關鍵,它不像監督式訓練,每次都附帶有標準答案來比對修正。事實上,它每次的「標準答案」,都是來自神經網路中途參數的預測,換句話說,它自己提供數據來訓練自己,這是強化式學習很特殊的地方。 - [進階語法之9~Line Bot與Python](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b9line-bot%e8%88%87python/): 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。  - [進階語法之8~網頁爬蟲與Python](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b8%e7%b6%b2%e9%a0%81%e7%88%ac%e8%9f%b2%e8%88%87python/): 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檔案。  - [自然語言處理之12~再探AI推理能力](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b12%e5%86%8d%e6%8e%a2ai%e6%8e%a8%e7%90%86%e8%83%bd%e5%8a%9b/): 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”的推理技術,已經可以考到奧林匹亞數學競賽的銀牌等級,未來似乎頗值得期待。 - [計算機到美國之6~心理學家與人工智慧](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b%e4%b9%8b6%e5%bf%83%e7%90%86%e5%ad%b8%e5%ae%b6%e8%88%87%e4%ba%ba%e5%b7%a5%e6%99%ba%e6%85%a7/): 2-6.心理學家與人工智慧 2024年的諾貝爾物理學獎,在物理學界的質疑聲浪中,頒發給了人工智慧泰斗傑佛瑞·辛頓(Geoffrey Hinton)。這位多倫多大學電腦科學系教授,是在愛丁堡大學取得人工智慧博士,但就讀學士期間,他唸的是劍橋大學「實驗心理學」學位。 辛頓的研究歷程其實還是有跡可循的,因為大腦神經元進行認知學習的運作機制,向來都是實驗心理學的熱門課題,學生除了傳統的心理學理論之外,還要熟稔操作各種電子量測儀器,也必須善用生物統計的分析技巧。 所以,辛頓的深度學習模型元素,和人類的大腦神經細胞之間,諸如軸突末端、樹突、突觸等,有很高的類比程度,也就不足為奇了。 圖2-6-1. 人類大腦神經元細胞圖(上),以及深度神經網路圖(下)。 無獨有偶,2024年的圖靈獎得主,理查德·薩頓(Richard Sutton),學士時期就讀史丹佛大學,唸的也是心理學位。他在強化學習上的貢獻及獨特觀點,也受到其心理學背景的影響。 他贊成同儕科學家克洛普夫(Harry Klopf)的假設,認為人類大腦神經元,是個好逸惡勞的享樂主義者,必須給予適當的獎勵或懲罰,它才會有足夠的學習動機。 這批優秀而執著的學者,以馬可夫決策過程(Markov Decision Process, MDP)為基礎,建構起以狀態、獎懲為主的環境,設計出對代理人所採行動的回應演算式,讓原本被認為只能處理特殊個案的強化學習,經過四十年的孜孜不息,一躍而為人工智慧的重要課題。 圖2-6-2. 人類大腦神經元,是個害怕懲罰、喜歡獎勵的懶傢伙。 - [強化式學習之13~DQN與聶老師](https://mobile-learning-testing.com/%e5%bc%b7%e5%8c%96%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b13dqn%e8%88%87%e8%81%b6%e8%80%81%e5%b8%ab/): 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機器人雙雄爭霸時代,背後都需要更好的深度強化學習演算法來精益求精。  - [自然語言處理之11~ChatGPT之推理初步](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b11chatgpt%e4%b9%8b%e6%8e%a8%e7%90%86%e5%88%9d%e6%ad%a5/): 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? 電影”驚奇四超人”(Fantastic Four)裡面,有一個主角叫做霹靂火(Human Torch),顧名思義,他的體溫必然高得可以。在醫院做完體檢後,護士告訴他「You are hot!」,他卻很輕佻地回答說「So are you!」。 這個笑話是改寫自電影橋段,並未出現在文獻中,但ChatGPT的詮釋是完全到味的。你也可以嘗試將它口述給Grok 3聽看看,Grok一樣很快就能抓住笑點。 當然,我們還是希望看到ChatGPT在自然科學上的表現,如果其結果一樣出色,甚至猶有過之,那麼,很多無法善用AI的科學家或工程師,恐怕要開始未雨綢繆了! - [多益文法與字彙之9~使用Grok 3練習英語口說](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b9%e4%bd%bf%e7%94%a8grok-3%e7%b7%b4%e7%bf%92%e8%8b%b1%e8%aa%9e%e5%8f%a3%e8%aa%aa/): 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。她的口音標準,使用美國人的講話速度,我們可以要求她講慢一點;她不會插你的話,除非你停頓太久;有時她講得太多了,可要求長話短說。 這種英文口說的方式,會逐步改變語言學習的型態,在實體教室和老師練習對話的商機,會呈現汰弱存強的趨勢,直接和外籍老師交談,變得沒有那麼重要了。一般人想使用正確的文法和發音,會不得不去尋求比較有經驗老師的協助。 - [自然語言處理之10~ChatGPT表格處理](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b10chatgpt%e8%a1%a8%e6%a0%bc%e8%99%95%e7%90%86/): 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設計程式的能力,一次又一次地,讓我們為它進步的幅度感到震驚!它正無聲無息地,在快速改變程式設計這個行業的樣貌。 - [自然語言處理之9~AI生成之人物一致性](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b9ai%e7%94%9f%e6%88%90%e4%b9%8b%e4%ba%ba%e7%89%a9%e4%b8%80%e8%87%b4%e6%80%a7/): 2-9:AI生成之人物一致性 ChatGPT3.5,是不提供影像生成功能的,但在ChatGPT4.0/4o版本當中,所使用到的DALL·E 3繪圖技術,倒是被應用在微軟的Copilot平台,可以免費經由Edge瀏覽器來開啟使用。 一般繪圖的風格,可以很粗略地劃分為寫實、插畫、卡通等,其中的寫實風格(realistic style),是畫風最細緻的表達方式,很多人喜歡拿來生成人物,但也會面臨同樣的難題,就是即使想要畫同一個人,前後的圖畫通常外表會相去甚遠。 例如,我們給它一個提詞,”Yang是一個台灣中年人,他身材微胖,頭髮是黑色的,臉型稍長,常常穿著一件藍色牛仔褲,請用寫實風格,幫我畫一張Yang在河邊(/街上)的圖畫。”,提詞的內容,只不過一個在「河邊」,另一個在「街上」,得到的圖案,差異竟如此之大。 這是因為,我們對人物外型細節的描述不夠精準。如果對同一個人的樣貌特徵,包括姓名、年齡、性別、髮型、臉型、膚色、衣服、裙褲等,前後都可以有一致性的描述,則情況可以改善很多。 我們稍微修改一下提詞為,”Lin是一位台灣年輕女性,她的短髮是金色的,她身材瘦小,皮膚白皙,臉是圓的,喜歡穿著一件粉紅色T-shirt,和一條綠色裙子。請用寫實風格,幫我畫出一張Lin在河邊(/在餐廳吃飯)的圖畫。”,就可以得到下面改良的結果。 除了人物出現的場合,我們可再把衣著調整一下,這不會太過改變人物的外貌,但可視為場景的轉換,”Lin是一位台灣年輕女性,她的短髮是金色的,她身材瘦小,皮膚白皙,臉是圓的,喜歡穿著一件紫色外套,和一條藍色牛仔褲。請用寫實風格,幫我畫出一張Lin在床上看手機(/在家裡和柴犬擁抱)的圖畫。” 使用免費的生成式AI,或者戲稱為「窮人的AI」,若運用好的提詞(prompt),可補原有軟體之不足。但時代總是在進步的,這種角色一致性(characters consistency)的問題,會隨技術的改善逐步迎刃而解。 - [自然語言處理之8~小型語言模型轉執行檔](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b8%e5%b0%8f%e5%9e%8b%e8%aa%9e%e8%a8%80%e6%a8%a1%e5%9e%8b%e8%bd%89%e5%9f%b7%e8%a1%8c%e6%aa%94/): 2-8:小型語言模型轉執行檔 大型語言模型像ChatGPT等,是不容易被安裝在個人裝置之中,但小型語言模型,如果把它的功能,限縮在某些特定的用途上,例如單純翻譯中英文就好,或者只具備對話功能也可以,則其開發的軟體就不會太大,要轉換成執行檔就變得可行了。 在這個單元,我們所建立的小型語言模型,所提供的只有單一聊天功能,程式碼檔案不大,可利用前面提到的pyinstaller模組,直接轉換成執行檔。我們在此訓練資料的來源,是免費下載自PTT網頁平台(批踢踢)相關的對話資料集,所使用的文字並未多做修飾。 https://mobile-learning-testing.com/wp-content/uploads/2025/05/reinpon9.mp4 在執行對話時,可以察覺到答覆時有略為停頓了一下,這是因為所載入的神經網路權重,其容量多達1.24GB,而我們用的是陽春型的CPU,做如許張量計算有點吃力。如果CPU的速度夠快,或者改用GPU,就不會有這種停頓的感覺了。 到目前為止我們已經觀察到,Python這個程式語言,可連結網路、轉換檔案、建立視窗,很適合用於第一線的實務工作。邊緣裝置如果安裝這種執行檔再加上GPU,則雲端運算常出現的網路遲延(Latency),將不復存在。 - [自然語言處理之7~AI連線上網](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b7ai%e9%80%a3%e7%b7%9a%e4%b8%8a%e7%b6%b2/): 2-7:AI連線上網 我們以Python程式所開發的語言模型,如果想要提升它的可及性,可經由網路連線讓一般人也接觸得到,這同時也可避免原始程式碼外露的風險。另一方面,原始資料如果檔案太大,本就不適合安裝在個人裝置當中。 在這個單元,我們所採AI模型網路連線的技術,是目前普受歡迎的Flask模組。它是一種輕巧的網頁伺服器模組,可結合Python和HTML語法,讓使用者經由固定IP,連接到開發者的個人電腦,取用既經訓練好的語言模型,進行文字處理或生成的工作。 https://mobile-learning-testing.com/wp-content/uploads/2025/05/reinpon8.mp4 我們網頁上的輸入介面,和ChatGPT一樣陽春,而輸出的結果,更加陽春許多。因為是小型語言模型,僅限於英翻中的內容,沒有摘要、創作、簡報等等功能。 ChatGPT之所以使用雲端連線,是不得不然的技術性考量,因為它的神經網路參數,少則數十億,多則數百億,檔案太過龐大,是不可能被安裝在個人電腦上。 但現今的趨勢,一般則是認為,語言模型應該朝小型化發展,小到可以放在邊緣裝置裡面才好。如此,它所點燃的商機,才可能呈現爆炸性的成長。 - [強化式學習之12~製作執行檔](https://mobile-learning-testing.com/%e5%bc%b7%e5%8c%96%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b12%e8%a3%bd%e4%bd%9c%e5%9f%b7%e8%a1%8c%e6%aa%94/): 3-12:製作執行檔 我們所製作的AI遊戲,是使用Python語言來編寫,目前都是採用Spyder軟體來存取訓練的成果,但並不是每個人都準備有這種編譯軟體。如果,想要把所得到的AI結果,推展到一般人也能接觸得到,有兩種方法,其一是將它轉成***.exe執行檔,其二是把它放到網路上。 我們這個單元先簡要地介紹執行檔的做法。第一步,利用pip install pyinstaller的指令,安裝好pyinstaller模組;然後,到開始功能表的Anaconda3資料夾中,找到Anaconda Prompt介面(類似命令提示字元),切換到工作資料夾,去執行pyinstaller -F ***.py的命令,便可將***.py轉成執行檔。 https://mobile-learning-testing.com/wp-content/uploads/2025/05/reinpon7.mp4 上面的選項 -F,是設定轉換後只要生成***.exe執行檔就好。這個執行檔在被生成後,我們把它複製貼到原來的***.py旁邊,用以載入相關的數據、音效、圖片檔等。花費最多時間載入的是 .npy檔案,它的大小超過1G Bytes,它是訓練了1萬1千次的Q-table,本身是多軸多維的numpy陣列。 - [強化式學習之11~訓練與實行](https://mobile-learning-testing.com/%e5%bc%b7%e5%8c%96%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b11%e8%a8%93%e7%b7%b4%e8%88%87%e5%af%a6%e8%a1%8c/): 3-11:訓練與實行 我們先前每個AI遊戲的練習,都是讓程式跑了很多個小時之後,才能看到訓練的成效。這在訓練模型階段是不可避免的,訓練人工智慧的過程,本就是最消耗運算資源的。 https://mobile-learning-testing.com/wp-content/uploads/2025/04/reinpon6.mp4 一旦模型訓練到合乎我們的預期後,就可以把訓練結果直接拿來應用,不需要再每次都花那麼多時間了。如果是神經網路,就是把得到的權重係數儲存再載入,而我們現在的強化式學習,則是把多次修正後的Q-table存成 ***.npy檔案,然後在另一個相近的程式中載入再執行。 https://mobile-learning-testing.com/wp-content/uploads/2025/04/reinpon62.mp4 這個AI遊戲,我們將畫面像素,由400×400增加至600×600,但訓練的時間反而減少了,這是因為我們讓裡面的人物每走一步要跨過20個像素,所以狀態數會減少。即便如此,所儲存的Q-table,仍佔了超過1G的容量,因此在載入檔案階段,有花了一些時間。 在人工智慧模型建立過程中,就監督式訓練而言,最花時間的,其實是在準備資料和整理資料階段。但對強化式學習而言,這個階段的時間倒是可以節省下來,因為它所修正的資料,是由它自己計算而得的。 - [強化式學習之10~藍波之AI版本](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b10%e8%97%8d%e6%b3%a2%e4%b9%8bai%e7%89%88%e6%9c%ac/): 3-10:藍波之AI版本 先前第8單元的AI版本無人駕駛遊戲,如果把它的物件設計成各種實際個體,透過Pygame模組的2D美工和程式技巧,很快的就可以將它轉成AI版本的藍波遊戲,這個遊戲主角是源自於古早的電影「第一滴血」。 「第一滴血」中的藍波(Rambo),可以在槍林彈雨中深入虎穴,痛擊歹徒搶救人質,簡直神通廣大無所不能。演員出身的美國前總統雷根曾戲稱,萬一再有類似越戰人質的事件,一定要派藍波去搶救才行。 https://mobile-learning-testing.com/wp-content/uploads/2025/04/reinpon5.mp4 這個AI遊戲,只不過將畫面像素,由300×300增加至400×400,但訓練的時間,竟長達了12個小時。其原因在於,雖然狀態項目一樣,但每個項目的元素數目增加了不少,如果再形成多維陣列,則其狀態的排列組合就多了好幾倍。 即便如此,這和現實工作場景的狀態數相比較起來,仍然是小巫見大巫。目前的Q-learning演算法,是使用類似查表的方式修正其Q值,如果狀態數大幅增加之後,就有可能會使用到DQN的技術了。 DQN,Deep Q Network,它的Q值修正,是在原有的動作值函數基礎之上,再加入了深度神經網路的技巧,也因此消耗更多的計算資源。照理,是可以使用Google Colab來加速其神經網路的計算,但Colab並不支援Pygame的顯示視窗,所以到目前為止,我們的AI遊戲都還是使用未安裝GPU的個人電腦,來進行簡單的Q-table計算。 - [強化式學習之9~黃仁勳之GTC演講](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b9%e9%bb%83%e4%bb%81%e5%8b%b3%e4%b9%8bgtc%e6%bc%94%e8%ac%9b/): 3-9:黃仁勳之GTC演講 Nvidia執行長黃仁勳,近日主持GTC(GPU Technology Conference)會議,介紹了好幾種新技術。其中最大的亮點,當然非AI機器人莫屬。 他當中提到的Isaac、Newton,其實是同一個人,就是艾薩克·牛頓(Isaac Newton),歷史上最偉大的物理學家。黃仁勳特別強調物理法則的重要性,它決定了機器人強化學習(Reinforcement Learning)裡面的可驗證獎勵。 當然,他也先爬梳了從生成式AI之後,歷經AI代理人(AI Agent),再到Physical AI的可循脈絡。其實”Physical”在這裡的翻譯,”實體的”要比”物理世界的”來得好,表越過純粹數位資訊處理階段,來到有實際感知能力的AI機器人領域。 在這裡,我們還是必需再次強調「強化式學習」的重要性。機器人產業,是一個前景可期的兵家必爭之地,台灣在電腦硬體方面的領先地位無庸贅述,如果在軟體演算法方面也能追上國際水平,則這百年一遇的機會,我們必然會是舞台上不可或缺的主角之一。 - [強化式學習之8~AI版本無人駕駛遊戲](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b8ai%e7%89%88%e6%9c%ac%e7%84%a1%e4%ba%ba%e9%a7%95%e9%a7%9b%e9%81%8a%e6%88%b2/): 3-8:AI版本無人駕駛遊戲 我們前面所訓練的迷宮遊戲,寶藏和魔王都是固定在不變的位置,主角要完成任務並不困難。這個單元,我們讓寶藏和魔王都可以動起來,並在迷宮中挖出兩個深坑陷阱,以提高遊戲的難度。 主角碰到魔王、掉進深坑、找到寶藏,該回合就會結束。或者走了七百步甚麼都沒有碰到,那一回合也會結束。 https://mobile-learning-testing.com/wp-content/uploads/2025/03/nomandrive.mp4 這個訓練,只要將各個角色設計成不同的美工造型,就可以把這個遊戲轉換成敵後爆破遊戲,或者無人駕駛遊戲,甚至可以進一步將其擴充至3D的場景。 因為遊戲難度提升了,訓練的回合數也就增加到了一萬回合以上。但如果要把技術應用到實務工作上,如無人搬運、機器人等,訓練回合多於數十萬或者數百萬以上,都是很平常的。 - [自然語言處理之6~ChatGPT的基礎Transformer](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b6chatgpt%e7%9a%84%e5%9f%ba%e7%a4%8etransformer/):  2-6:ChatGPT的基礎Transformer 目前熱門的生成式AI技術,包括ChatGPT和Gemini及Llama等,它們都是建立在Transformer演算法的基礎之上。開發者會使用「Transformer」這個名稱,也許是因為它使用到多頭多層的架構,宛如組合積木般層層堆疊而上,有利於擴充其權重數至百億個或更多。 圖2-6-1. Transformer也是相當受歡迎的電影”變形金剛”。  而Transformer的核心,則在注意力(Attention)的運算。注意力機制源自人類的視覺行為,好比我們在看下面圖片時,我們會重點式的先看嬰兒臉部表情,以及標題列和內文第一行,再顧及嬰兒紙尿布的說明,而不會鉅細靡遺的把整張圖片都看完。 注意力機制早期是應用在電腦視覺上面,但真正受到眾人矚目的,是使用在自然語言處理之後的卓越表現。例如我們現在英翻中一個句子,”I am walking to the river bank.”,當翻譯到”我正走向河X”的時候,這個X,如果有注意到river和bank的關係,或者有參照到已經翻譯出來的中文部份,則接在”河”後面的字詞,”岸邊”要比”銀行”好多了。 我們對模型輸入文字時,第一步,是先將英文單字或者中文詞彙,利用詞嵌入(Word Embedding)技術,將其轉換成向量的型態,稱之為「詞向量」(Word Vector)。向量裡面純量元素的個數,名之為長度或「維度」,有時維度可達512或更多。一個句子裡面有好幾個單字,一個單字會使用到一個向量,把這幾個向量堆在一起就成了矩陣。 詞向量裡面某個維度數字的大小,可視為這個單字所具某種屬性的強弱。例如下圖中,4個單字的向量維度都是7,第1個維度living being表示其生物屬性,cat、kitten、dog都有一定大小,但houses就是負值了;第2個feline表示其貓科屬性,cat、kitten都很高,dog和houses都是負數了;而第7個維度plural表其名詞複數形屬性,最高的就是字尾有加s的houses。 各個單字,用詞向量表示後,彼此之間的相關程度,可以從這些向量相靠近的程度看得出來,如下圖的貓和狗的關係就勝過和汽車的關係。向量靠得越近,夾角越小,其cosine值越大。我們知道兩個向量的內積(dot product)值,是和cosine值呈正比,所以就可以用向量內積值來表示彼此相關的程度。 輸入句子所形成的矩陣,要進行自我注意力(Self Attention)之前,先要把維度減少,所使用的轉換矩陣,就是即將要訓練的權重矩陣。這個部份,都是把輸入矩陣X轉換成三個矩陣Q、K、V,這三個新矩陣,意義很相近,都是原始矩陣X降維的結果。所以可以進行Q、K之間的內積運算,將其得到的加權值,乘上V矩陣,就是有考慮到詞向量彼此關係的新矩陣Z了。 圖2-6-2. Q和K矩陣相乘時,K矩陣有先做了一個轉置(Transpose)的動作,將列轉成行,才能進行兩個矩陣的內積運算。註:中國大陸和台灣對於列跟行的定義,剛好相反,但如果使用row和column就沒有問題了。  輸入矩陣X所轉換的三個矩陣,Q、K、V,可以三個一組形成好幾組,這樣一來,要訓練的權重矩陣就可多出好幾倍,這就是多頭注意力(Multi-head Attention)的概念。甚至,還可以將輸出當作另一層的輸入,重複類似的計算步驟,使用多層訓練來得到更多的權重矩陣。 整個完整的架構,就如下圖所示。在左邊的編碼器(Encoder)和右邊的解碼器(Decoder)當中,各有一次的自我注意力運算,但在解碼器中,又多了一次一般注意力(cross attention)運算,它是把自己的Q矩陣,和編碼器的K矩陣做內積再乘上編碼器的V矩陣。這樣的操作是可以理解的,例如在做翻譯時,譯文必須參考原文,也要參考已經翻譯出來的部分。 我們把上面的架構圖,其執行注意力機制的過程,用下面一個簡單的動畫來綜合說明。 https://mobile-learning-testing.com/wp-content/uploads/2025/03/attention.mp4 - [強化式學習之7~AI版本動態遊戲初探](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b7ai%e7%89%88%e6%9c%ac%e5%8b%95%e6%85%8b%e9%81%8a%e6%88%b2%e5%88%9d%e6%8e%a2/): 3-7:AI版本動態遊戲初探 我們在前面的單元,曾使用Q-learning來訓練迷宮遊戲的主角(agent),讓他可以摸索出最佳路徑,以找出固定位置的寶藏目標物,並避免誤闖大魔王所在地。 這個單元,我們嘗試讓目標物變得可以移動,看看是否仍然有機會成功訓練agent,讓他也可以找到移動中的目標。 我們直接引用前面設計好的球和磚塊,把磚塊當作目標物而把球當作agent,先讓磚塊循著一定的軌跡移動,再觀察經過一段時間訓練後,球是否有機會決定出最短路徑來擊中磚塊。 https://mobile-learning-testing.com/wp-content/uploads/2025/02/dynamic.mp4 經由上面的訓練,我們可以看出來,只要訓練回合數夠多,在簡單的架構下,主角依舊很有機會找到移動式的寶藏。但如果魔王也是移動式的,這樣的演算邏輯是否還可以擴充套用,就必須再加上新的元件來驗證。 一般遊戲中的寶物和敵人,都有可能隨情境變動其位置,甚至不少遊戲的空間還是以3D的方式來呈現。但若要將AI訓練的部份再加進遊戲中,則必須一步一步來測試策略是否仍然可行。因為除了演算法要行得通之外,運算資源的使用,也會隨著狀態(state)、動作(action)的增加,快速提升其需求量。 - [強化式學習之6~AI版本打磚塊遊戲](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b6ai%e7%89%88%e6%9c%ac%e6%89%93%e7%a3%9a%e5%a1%8a%e9%81%8a%e6%88%b2/): 3-6:AI版本打磚塊遊戲 前一單元,我們使用Q-learning演算法進行2維遊戲,讓球在3個牆面1個地板及拍子間移動,令拍子可不斷地回擊到球而得到分數,讓球儘量的不碰撞地板上來延續回合。這一單元,我們將其擴充為為完整的打磚塊遊戲。 我們在原先的架構上,只再加上磚塊的部份,所以整個演算法的邏輯,仍舊是維持原有的狀態及動作。它的策略很簡單,只要拍子不斷的回擊到球,就有機會把磚塊全部打光。所以在球打到拍子的時候,我們給予一個很大的正reward,球打到地板的時候,給予一個很大的負reward。 https://mobile-learning-testing.com/wp-content/uploads/2025/01/reinpon4.mp4 強化式學習,在未來智慧機器人及無人駕駛產業興盛之後,很有機會成為人工智慧的顯學。這些產品的光機電控制元件背後,驅動硬體運作的軟體演算法,必然是和強化式學習相關的。要跨入這一領域,必須要有一定的學理基礎,和足夠的程式設計能力。 對初學者來講,想要把開發的演算法,找到機器人或電動車來套用測試,談何容易。變通的方式,就是將類似的演算邏輯,使用電腦遊戲來實踐,這不但經濟實惠,還可以很快看到訓練成果。當然,除了Python程式設計技巧,還需要熟悉諸如pygame的遊戲模組。 圖3-6-1:智慧機器人和無人駕駛產業,正蓄勢待發。 - [進階語法之7~Google Colab之應用](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b7google-colab%e4%b9%8b%e6%87%89%e7%94%a8/): 2-7:Google Colab之應用 使用Python進行深度學習常可發現,只要訓練模型稍大一點,不含GPU的個人電腦就跑不太起來,GPU對今日的人工智慧工程師來說,已是非使用不可的基本元件了。 這時候,可考慮採用Google雲端硬碟所免費提供的資源,我稱之為「窮人的GPU」,雖然其使用的額度越來越受限制,但在一定範圍內還不會花到使用者一毛錢。 所以,您可先到自己的google雲端硬碟處,按下左上方的「新增」,然後移動游標至選單「更多」上面,這時會自動出現另一選單,你再點選其最下方的「連結更多應用程式」,然後在頁面的搜尋處,輸入「Colaboratory」搜尋,這時會出現Colaboratory的頁面,直接點選其「連接」按鈕,就可以新增其功能了。 這時候,再次到自己的google雲端硬碟處,一樣按下左上方的「新增」,然後同樣移動游標至選單「更多」上面,這時在另一選單的「連結更多應用程式」選項上端,你應該可以看得到了「Google Colaboratory」這一項,請點選它以建立一份新的筆記本(就是Python程式檔)。 也不要忘記,從筆記本功能表的「編輯」裡面的「筆記本設定」,點選「GPU」這一項,你將會發現,有無點選GPU,運算速度相差五倍以上。 你所開啟的新程式,是被放在虛擬空間中處理,如果要存取資料或檔案,記得要展開左邊的「drive」資料夾,從選項中複製絕對路徑至程式碼中。 在Google Colab上執行程式,主要是用於模型訓練階段,因為它需要把訓練資料多次輸入模型內,反覆求得最適權重,相當耗費運算資源及時間,而GPU可大幅縮短這訓練的時間。 訓練完畢後,接下來就是要做預測的工作了。這個階段,並不需要太多運算資源,也花費不了多少時間,因此可以把所訓練得到的權重從雲端下載,直接在個人電腦上進行預測即可。下圖是將雲端下載的權重放置於個人電腦的組態檔中,再配合OpenCV模組做預測的輸出畫面。 上圖是使用YOLOv4物件偵測技術,對外科手術器械進行智慧辨識。在雲端階段先上傳標記圖片資料集去訓練模型,而後再下載其權重對未知的圖片做框選分類及計數。 下圖則是市面上已出現的類似架構,但被應用在麵包店結帳系統。它可針對好幾款不同數量的麵包進行總價計算,在顧客擁擠時或無人商店中,有助於加快結帳速度及減少人為錯誤。 - [強化式學習之5~AI版本個人乒乓球遊戲](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b5ai%e7%89%88%e6%9c%ac%e5%80%8b%e4%ba%ba%e4%b9%92%e4%b9%93%e7%90%83%e9%81%8a%e6%88%b2/): 3-5:AI版本個人乒乓球遊戲 前一單元運用Q-learning演算法,進行所謂1維半的遊戲,讓兩個有時間差的乒乓球,在上下牆面及還擊拍子間來回動作。我們稱之為一維半,是因為兩個球在行進時有固定時間差,而且都是做直線運動,所以還不能算是二維遊戲。 這個單元,我們進入到二維運動的初步狀態,讓球在四個牆面及還擊拍子間來回動作。遊戲的計分,同樣都是拍子有回擊到球就得一分,否則該回合就結束。遊戲設計的重點,仍然是要決定代理人(agent)有哪些狀態(state)和動作(action),然後再把這些狀態和動作,放進Q-table陣列各軸當中。 https://mobile-learning-testing.com/wp-content/uploads/2025/01/reinpon3.mp4 上圖的二維遊戲是AI打磚塊遊戲的初步,看起來像是個人版本的AI打乒乓球遊戲,或者像是自己一個人玩的壁球遊戲。 這種初步遊戲,可以幫忙先確定所使用的Q-learning,在磚塊還沒建構之前,在二維空間的演算是否行得通。若然確實可行,後續部份就可以再把磚塊放到裡面去了。 - [多益文法與字彙之8~比較級與最高級](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b8%e6%af%94%e8%bc%83%e7%b4%9a%e8%88%87%e6%9c%80%e9%ab%98%e7%b4%9a/): 2-8:比較級與最高級 形容詞比較級的句型,一般人都可以琅琅上口,例如He is younger than me.。這種口語化的表達,也可以把受格me改回成主格 I,但假使要嚴格講究文法,正確句型應該是He is younger than I am.,或者像He has fewer friends than I do. ,但日常會話都習慣省略be動詞或助動詞,然後把主格改受格。 如果要表示比較程度差異大,可用much來修飾,例如He is much younger than me.,如果差異程度較小,則用a little來修飾,像He is a little younger than me.。或者要表示具體數據的差異,可把它寫成如He is five years younger than me.。 要注意的是more這個字的用法,它放在長音節的形容詞前面,是當作副詞來形成比較級,如more expensive、more beautiful。但它本身就可以當作形容詞比較級來用,它同時是many(可數)和much(不可數)的比較級”比較多”的意思,所以除了說His friends are more than mine.,你也可以說His money is more than mine。 最高級形容詞,前面通常要加the,後面會加in、of,用來做限定範圍之內的比較,例如He is the richest in this town.。也可以加上序數來排列其順序,例如He is the second richest in this town.。 如果是長音節的形容詞,前面可加副詞the most表示最好的,或者加the least表最糟的,例如the most important、the least important。同樣地,most本身也可以是形容詞最高級,它同時是many和much的最高級”最多的”,所以可以造句成His friends are the most in this town.,或者His money is the most in this town 。 在關係代名詞句子裡面,如果先行詞是最高級,關係代名詞一律只能用that,不能用which或者who,例如He was the best student that I ever taught in this school。 副詞也有比較級和最高級,常見的例子是用在修飾動詞當中,例如 […] - [多益文法與字彙之7~介系詞與介副詞](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b7%e4%bb%8b%e7%b3%bb%e8%a9%9e%e8%88%87%e4%bb%8b%e5%89%af%e8%a9%9e/): 2-7:介系詞與介副詞 先前提到的「完全不及物動詞」,照理它後面是不應該放置受詞的,但事實上,只要附接一些介系詞,不少完全不及物動詞還是可以連結受詞。例如He laughed. 、He laughed at me.,前句的laugh不須加受詞,後句的laugh附上介系詞at之後就可以加受詞me了。 類似的例子還有 listen to、wait for、look at等等,其加上介系詞後還保有原來的意思。但有時候,會衍生出新的解釋,例如look after表照顧,look into有調查的意思,count on則有仰賴的意思。 如果完全不及物動詞接了介系詞後,還是不放置受詞,我們就稱這種介系詞為介副詞,因為它的功能在於修飾動詞,角色如同副詞一般。例如 I prefer to take a rest rather than stay up,up在此是當副詞用,修飾完全不及物動詞stay,解釋成”熬夜”的意思。 以此類推,「及物動詞」後面應該也可以放介副詞,但跟前述稍有不同的是,它放了介副詞,還是可以連結受詞。例如Please turn on the light., 當中turn是及物動詞,on是用來修飾它表開啟的狀態,是個介副詞,後接名詞the light。如果將句子改成Please turn the light on. ,就更好理解及物動詞中的介副詞功能。 同樣地,「及物動詞」後面也是可以放介系詞,只是句型結構要調整一下,比如像The victim accused him of murder.,其中accuse是及物動詞,後面接受詞him,然後再接介系詞of及另一受詞murder。類似的句型,還有像The landlord exempted peasants from heavy duties. 圖2-7-2. turn down,有”音量調小”和”拒絕”的意思。 我們常用的動詞go,究竟是及物動詞還是不及物動詞呢?go shopping、go camping的情況,當然是及物動詞,因為它後面是接動名詞當受詞。但如果是go to the airport 、go to a movie ,其中有使用到介系詞to,當然就是不及物動詞了。 再來思考一個問題,go to school、go to church,school和church都是可數名詞,照理在前面是應該加上the、a這類冠詞,為什麼大部份的情況都不加the、a? 最後,還有一個容易誤解的地方,I wanna go home. 當中的go並不是及物動詞,因為home在此並不是當名詞用,而是當作副詞來用,是地方副詞「回到家」的意思,用來修飾不及物動詞go前往的目的地。 圖2-7-3. Bobby Bare的名曲Detroit City,大家最常記得第一句,”I wanna go home.”。 - [多益文法與字彙之6~句型與補語](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b6%e5%8f%a5%e5%9e%8b%e8%88%87%e8%a3%9c%e8%aa%9e/): 2-6:句型與補語 以前高中上英文課時,只要聽到老師講到「不完全不及物動詞」、「受詞補語」這些東西,就趕緊讓腦筋切換到休眠模式,以免傷及腦細胞。因為我們發現,即使聽不懂這些拗口的名詞,也不會妨礙對課文內容的理解。 及至年長,不免對老師的諄諄教誨感到歉意,但多少也有點抱怨,那種大範圍系統性的觀念,難道不能講得口語化一些,非得讓懵懵懂懂的青澀少年,聽得一頭霧水暈頭轉向? 英文分成五大句型,還運用到主詞補語、受詞補語等來解釋,應該是外國學者和教育界人士,經過長時間思考和討論的智慧結晶。目前大家英文都學到一定的歲月了,現在再回過頭來複習一下,說不定可收溫故知新、水到渠成之效。 要弄懂甚麼是「不完全不及物動詞」、「完全及物動詞」這一些,先要釐清甚麼是「及物動詞」,甚麼又是「不及物動詞」。 「完全不及物動詞」的句型是最簡單的,句子內只要有主詞和動詞就可以了,例如John cries.、Mary fainted.,哭泣cry、昏倒faint,這些動作都是自己做就可以,不需要有施予動作的對象,所以稱之為完全不及物動詞。 「不完全不及物動詞」,它是不及物動詞,但後面可以接名詞,這名詞並不是當作受詞用來承接動作,而是用來補充說明主詞,所以稱之為主詞補語,主詞補語在此就等同於主詞本身。例如John becomes a good student. 主詞補語是a good student,等同於主詞John,而不完全不及物動詞become,主要用來連結John和a good student兩者關係,稱為連綴動詞(linking verb)。 「完全及物動詞」的句型也很簡單,只要有主詞和動詞和受詞就可以了,例如 I like jogging.、He drives a bus.,這些句子都有主詞、動詞、受詞,是典型的完全及物動詞。 「不完全及物動詞」的句型,也是有主詞、動詞、受詞,但是語焉不詳,必須對受詞再做補充說明,語意才會完整。例如 I heard Jane. 、I let my hair.,都使用到不完全及物動詞,只是還不清楚其完整意思,但若加上分詞片語當作受詞補語,就可表示受詞主動或被動在進行一些動作,如 I heard Jane singing a song. I let my hair cut in the barbershop. 主詞(受詞)補語如果是形容詞,表示補語在呈現主詞(受詞)的樣貌或狀態,例如This apple tastes sweet. He made me crazy. 。受詞補語也可以是原形動詞或不定詞片語,甚至介系詞片語,例如 I prefer my meal from the famous store。 - [強化式學習之4~Q-learning](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b4q-learning/): 3-4:Q-learning 增強式學習裡面,有一個很基本的技巧,叫做Q-learning。Q是Quality的意思,指在某種狀態下,採取某個行動的價值,或者說在幾個可供選擇的行動中,各個行動品質的量化評估。 Q-learning的演練例子當中,除了先前提過的迷宮遊戲之外,Open AI公司所提供的Gym Cart-Pole,「木棒平衡滑車」遊戲 ,是被引用次數相當多典型範例,它訓練滑車左右快速移動,來讓繞軸轉動的木棒可以維持平衡。 上圖的實驗是不容易複製的,除了程式設計之外,還要有精準的機械控制模組來協作,一般人是沒辦法模仿的。 所以變通的方式,就是純粹用電腦動畫遊戲來模擬看看。但模擬過程的計算還真不好處理,因為木棒的軌跡,除了移動還有轉動,要做得維妙維肖,除了程式語言,還要有力學的演算技巧。只是一般設計程式的人,往往連「角速度乘以曲率半徑等於線性速度」,這樣的物理基礎都沒有,所以設計出來的動畫遊戲,就如下圖這般形似而神異了。 Cart-Pole這個訓練遊戲的重點,是在決定整個環境(environment)有哪些狀態(state),代理人(agent)有哪些動作(action)。只不過它的四個狀態中,木棒角度和角速度就會難倒很多人,嚴格來講,這個練習並不適合讓初學者來嘗試。 值得慶幸的是它的代理人動作倒還很簡單,就是滑車在某個位置時,要決定下一步是朝左移一格、朝右移一格或靜止不動這三種。我們把這三種動作維持不變,場景改成類似個人版的乒乓球遊戲,狀態就可大幅簡化成三個物體的位置,如此,初學者就可以很清楚,在套用Q-learning的時候,Q-table的四軸陣列,應該要如何建立起來了。 https://mobile-learning-testing.com/wp-content/uploads/2024/12/pon.mp4 上圖的訓練遊戲,它的reward值,在球接觸到拍子的狀態,應該是一個大的正數,在球接觸到地板的狀態,應該是一個大的負數,其他的狀態,給予 -1的reward即可。它可據此算出各個狀態的最適行動Q值,來決定下一步應該採取的行動。 這整個場景像是一維半(1.5D)的乒乓球遊戲,因為兩個球都只能在垂直方向移動,如果可以讓一個球在二維平面(2D)上持續移動,那就是個人乒乓遊戲的AI版本了。 - [進階語法之6~串列、陣列與張量](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b6%e4%b8%b2%e5%88%97%e3%80%81%e9%99%a3%e5%88%97%e8%88%87%e5%bc%b5%e9%87%8f/): 2-6:串列、陣列與張量 我們前面的單元,有提到串列(list)搭配迴圈的計算,所使用到的是一維串列。串列也可以是二維、三維或更高維,在統計分析和繪製圖表經常會接觸到,它的功能就類似別種語言的陣列。 但它在某些方面卻有迥然不同的運算方式,即以最簡單的加法而言,它的結果也出乎一般初學者的預料。比如我們把兩個一維串列(向量)相加,[1,2,3]+[4,5,6],竟然會得到[1,2,3,4,5,6]。 這樣的運算是有它的用意的。第一,它可以把分次得到的資料整理在一起;第二,它可以擁有記憶的功能。 下圖是我們先前提到的循環神經網路RNN,在右邊展開的三個時序圖中,我們可以看到,前面時序處理過的訊息,會和最新輸入的訊息結合在一起後,再做下一步的處理。這兩個訊息結合在一起,使用的就是類似這種串列加法的連接運算(concatenate),這種運算可以把新舊記憶連結起來。 如果堅持一定要使用線性代數的計算方式,就要使用到Python裡面運算功能強大的套件模組–Numpy,Numerical python。它的核心是使用C語言來開發的,很適合快速處理大量資料。 下圖第5行先匯入numpy模組並簡化其命名為np,第6、7行利用np的array函式,將串列轉換成陣列,經過加總後再輸出,就可以得到一般線性代數計算的結果。 但numpy的功能遠不止於這些,它在數學觀念上的轉變,和程式碼裡面符號的處理,是有相當程度的躍升了。 早在Matlab最活耀的時代,它已經把矩陣的符號轉換成適合程式碼輸入的形式。例如一個最簡單的3×3影像矩陣,將其灰階值表示成[25  33  120;18  95  212;130  77  255],這種矩陣表示方式可稱之為二維陣列。很顯然的,這樣的數據要輸入程式碼中是沒有問題的。相較之下,傳統的矩陣符號,是不太適合寫成程式碼的, 圖2-6-4. 傳統的矩陣表示方式,把數據夾在兩個大型中括弧內,並不適合寫成程式碼。 到了numpy的階段,它把上式二維陣列,再進一步轉換,寫成更精準的模樣,這就是所謂的ndarray(n-dimensional array),[[25  33  120]  [18  95  212]  [130  77  255]]。 這種寫法,極具擴充性,我們可以把它擴充成四維陣列,[[[[25]  [33]  [120]]  [[18]  [95]  [212]]  [[130]  [77]  [255]]]]。增加的外層維度(藍色)意思是說,除了這張影像,還可以再置入其他影像;增加的內層維度(橘色)意思是說,裡面的灰階值,可以從單一灰階值,擴充成紅綠藍三種灰階值。 嚴格來講,這邊的維度應該叫做軸度(axis)。在numpy裡面,維度(dimension),指的是向量裡面元素的個數。經常聽到的名詞「降維」(dimensionality reduction),其實是減少元素個數,來提取特徵。 最後,必須提到上圖TensorBoard中張量(tensor)的概念。tensor在很多方面都類似ndarray,但它是專為深度學習而設計,可運行在GPU上面,而ndarray比較常使用到CPU。 Google的深度學習框架(framework),叫做TensorFlow,數據在上一神經層運算完畢後,再進入到下一神經層處理,好像張量在流動一樣。 在實務工作上,TensorFlow常是深度學習工程師必備工具,但它跨入門檻不低,所以在學術研究上,很多人喜歡用臉書公司開發的技術Pytorch來發表論文。 - [進階語法之5~資料處理視覺化](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b5%e8%b3%87%e6%96%99%e8%99%95%e7%90%86%e8%a6%96%e8%a6%ba%e5%8c%96/): 2-5:資料處理視覺化 我們在分析資料的時候,如果數據整理的結果能用圖形表示,不但可以讓一般讀者快速抓住問題重點,也可以讓有經驗的人看出其中的技術細節。 早期這方面的相關軟體,最具代表性的就是Matlab,Matrix Laboratory。它第一版是用FORTRAN編寫,著重在矩陣向量的運算,第二版改以C語言開發,加入了資料圖形視覺化的功能。 時至今日,由於大數據和人工智慧的需求,Python裡面Matplotlib.pyplot繪圖模組,結合其Pandas資料處理能力,和Numpy的陣列運算功能,形成一套很有效率的深度學習組合。 上圖上第2行匯入繪圖模組並改命名為plt,第3行讀入csv檔案後,在第4行取其中”CPM”欄位值和”CTR”欄位值,分設為x座標和y座標,繪製出上圖中之2D散佈圖。可以看得出來,搭配第1行匯入的pandas模組,整欄資料的取用計算變得非常簡便。 下圖是取用所有6個欄位的資料值,繪製出3D散佈圖。這3D圖不僅能顯示3個座標軸,還可引用另外3個變數,顯示出總共6種不同資料訊息。 第15行中,除了x,y,z等3軸座標外,還用顏色來分類”CLASS”這個欄位,而且使用數據點的大小,來顯示”ROAS”這個欄位值的多寡。甚至,還可以把”公司名”這個欄位內容,用第16、17行的敘述直接標記在數據點旁邊。 如果只比較繪圖精美的程度,Matlab因為發展既久,明顯勝過Matplotlib,但兩者處理的對象和數學的觀念,並不完全一致。 Matlab的Matrix(矩陣),主要針對科學工程可以量測的物理量,如時間、位置、頻率、強度等,做變化趨勢的計算,而Matplotlib很多是在做數據分佈的統計分析。 兩者在數學上的觀念差異,從使用的符號也可看得出來。Matlab所強調的矩陣著重在2、3維變數,很難擴充至4維以上;但Matplotlib卻很容易從陣列(Numpy Array)的操作,視需要增減它的維度。 模組搭配Python程式語言運作,在實務上比較佔優勢。Matlab因為是C語言的API,不是直接撰寫C/C++語言,在影像視訊類的第一線工作場所,有時不為基層主管所喜。 圖2-5-3. Matlab的繪圖顯示相當精美。 前面提到的FORTRAN語言,那是五年級前段班生的共同記憶。當時個人電腦並不普遍,電腦實習課都需要輸入程式至大型主機,進行分批次處理作業,再靜待編譯結果。所以不時可看到電腦教室終端機前,一群人在那裏慌慌張張、手忙腳亂,在有限時間壓力下,匆匆輸入錯誤指令。但這夢魘不會馬上終止,你還必須過一個禮拜等報表出來之後,再繼續輸入指令、然後繼續錯誤…….。 聽說早期的情況還更慘,學生是用卡片打孔方式輸入程式,有時卡片打錯了,還會有人用膠帶把打錯的孔貼起來,實行「掩耳盜鈴」政策,讓計算機老師相當頭疼,不知道該不該責備這些天真浪漫的學生。 圖2-5-4. 整張卡片代表一個指令敘述,每一行代表一個字元,最多可輸入80個字元。黑色的小框,是被打孔的位置。 圖2-5-5. 1963年,一部IBM打孔機電腦,用牛車搬運至台北羅斯福路,一路穩步向前,被戲稱為”mobile computing”的先驅。 - [進階語法之4~資料處理模組](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b4%e8%b3%87%e6%96%99%e8%99%95%e7%90%86%e6%a8%a1%e7%b5%84/): 2-4:資料處理模組 我們最熟悉的試算表軟體,大概非Excel莫屬了。這個軟體,火紅到有人光憑上傳教學影片至Youtube,教導各種日常活用Excel的場景,就可以獲利上百萬美元、賺進第一桶金,簡直讓人大呼不可思議。 Excel的各項設計,讓人工處理二維表單,變得視覺化又直覺化,可以快速正確得到數值運算的結果,為使用者節省大量時間成本。 隨著大數據時代的來臨,微軟也開始多方促銷開發既久的VBA,Visual Basic Applications,用來輔助Excel程式能力之不足。但囿於試算表先天框架所限,資料必須在儲存格、表格、視窗、檔案各種物件間轉換,讓VBA程式寫起來總算差強人意。 圖2-4-1. Excel試算表裡面,附有VBA程式設計的功能。 值此同時,越來越多人使用的Python,其資料處理模組Pandas,Python and data analysis,則以快速處理大量數據的能力,攫獲學界和業界的青睞。這個模組,可將外部的csv資料檔案,讀取至程式碼裡面,再以其內建的處理函式,運算各項統計數據。 下圖是簡短程式執行第1~4行的結果,第5~8行先用註解行略過。第1行匯入pandas模組,給予簡易名稱pd;第2行使用pd的read_csv類別,輸入ads3.csv資料檔,建立二維表格資料物件df;第3行將df內容全部輸出;第4行只輸出df的兩個欄位”Coms”和”CPM”。資料有8筆,由0編號至7。 下圖則是完整程式執行第5~8行的結果,第1~4行用註解行略過。第5行是用mean( )指令,求取”CPM”欄位的平均值;第6行是用std( )指令,求取”CPM”欄位的標準差;第7行搜尋”ROAS”欄位值為5的所有紀錄;第8行則是依”ROAS”的大小,將全部紀錄做排序。 平均值、標準差、搜尋、排序,是資料統計分析最基本的運算,在pandas裡面,都可以用簡單的指令快速處理。所以有人就把pandas,比喻為Python裡面的Excel。 在DOS作業系統時代,銷量最大的試算表Lotus 1-2-3,幾乎壟斷了IBM相容電腦市場,後來IBM乾脆花天價買下此產品,引發各界議論。但如前文提到的,微軟參與蘋果麥金塔的開發,取得圖形化介面的先機,讓Excel得以蠶食視窗作業系統市場,最終迫使IBM Lotus 1-2-3於2013年停產。 個人電腦試算表原本就存在有強勁的市場需求,早在蘋果電腦Apple 2推出時,上面就搭售廣受歡迎的VisiCalc,在記憶體有限的年代,它充分利用每一位元之精妙,宛若在雕琢藝術珍品一般。但市場競爭太激烈,這個產品風光了五、六年,在摩爾定律奏效之後,就被Lotus 1-2-3大幅超越了。 圖2-4-4. VisiCalc在Apple 2螢幕上的編輯畫面,它是品項數目乘以單價加總後再課稅的運算。 - [進階語法之3~物件與視窗](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b3%e7%89%a9%e4%bb%b6%e8%88%87%e8%a6%96%e7%aa%97/): 2-3:物件與視窗 我們每天接觸電腦,在處理檔案資料夾的時候,習慣用滑鼠點選圖示或選單,來進行開啟、複製、貼上、刪除等動作,這種視窗操作設計,稱之為「圖形化使用者介面」(Graphical User Interface, GUI)。 早期DOS(Disk Operating System)作業系統時代,那些複製、刪除的動作,都要一行一行輸入英文指令來執行,十分費事,又容易出錯。圖形化介面的出現,是技術上相當大的進步,讓操作電腦變得十分直覺, 執行Python程式,如果只能在特定軟體中得到輸出,其實用性會有所侷限。但它其實是可以做成視窗面板的形式,再轉換成.exe執行檔,在Windows作業系統中直接開啟使用。 上圖中,第2行匯入製作視窗的模組tkinter,並簡化其命名為tk。第3行取用tk中的面板類別Tk,建立一個面板物件win,接著再取用win物件的各個函式,在第4~6行設定其外觀,後執行mainloop( )指令得到的結果,就是上圖下方500×300像素的青色面板。 下圖是完整程式執行後得到的視窗面板,它是用按鈕、文字方塊、選項鈕等元件,顯示「天增歲月人增壽」的下聯,以及顯示台南、高雄、嘉義的景點。這視窗只要再經過pyinstaller模組的打包,就可以在一般Windows電腦開啟執行了。 視窗作業系統,其發展過程風風雨雨,有牽涉到兩家電腦巨擘,蘋果和微軟。他們GUI的技術,都是源自於全錄公司(Xerox)位於加州帕洛奧圖的研究中心,全名為「Palo Alto Research Center」,簡稱PARC,該中心在個人電腦發展過程貢獻良多。 有部影集叫「Pirates of Silicon Valley」(矽谷海盜群),就是在描述賈伯斯和比爾蓋茲之間,既生瑜何生亮的複雜情結。他們本是大哥帶小弟的關係,但微軟參與蘋果技術開發取得視窗訣竅,後來甚至從PARC直接挖角人才,建立自己的Windows作業系統,導致彼此反目,片中有一段精采的交鋒。 比爾蓋茲認為他和賈伯斯沒有兩樣,都好比是從有錢人鄰居Xerox夜不閉戶的住宅中,偷竊到人家的電視機,不管誰先來後到,兩人扮演的,都是竊賊的角色。 比爾蓋茲的說法其實是相當有問題的。當蘋果公司營業上億時,微軟每年營收不過八百萬美金,而且其中有一半,是來自搭配於蘋果麥金塔電腦的Word、Excel。最重要的,當時全錄公司有投資蘋果一百萬美金,所以賈伯斯才有機會進入PARC參觀。 蘋果在Sculley執行長任內,曾對微軟提起訴訟但敗訴。賈伯斯二度回鍋蘋果之後,本可以其掌握的第一手資料重擊微軟,但他是個惜才的人,他只要求比爾蓋茲投資蘋果一億美金,藉此讓外界瞭解,蘋果的技術遠較微軟優異。 相同的劇情,在手機世代又重演一次,但賈伯斯這次真的生氣了。他痛斥Google的Android作業系統,是剽竊自iOS的垃圾產品,並將Google在蘋果的一席董事Schmidt,於2006年逐出董事會。 - [進階語法之2~物件與遊戲](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b2%e7%89%a9%e4%bb%b6%e8%88%87%e9%81%8a%e6%88%b2/): 2-2:物件與遊戲 在個人電腦興盛之前,一般人常玩的電子遊戲機有幾款熱門的機型,包括賽車遊戲、太空大戰,以及乒乓球遊戲等,深受美國社會各階層歡迎。 設計這些電玩遊戲的工程師技藝高超,不需要寫一行程式碼,光憑電子電路,就可以做出令人廢寢忘食的電子遊戲。在這當中,乒乓球遊戲的發展過程,特別具有戲劇性。 當時矽谷的傳奇電玩公司雅達利(Atari),其老闆布許聶爾在商展的電視遊樂器中,發現了一款乒乓球遊戲,沒有音效、沒有計分,而且球還是正方形的,卻居然有不少人喜歡玩。於是他把它改良後再推出,想不到一炮而紅。 可這種遊戲有個小缺點,就是必須要有兩個人一起玩才行。但很多電玩怪咖都是獨來獨往的,有迫切需要再開發一套個人版來滿足這些人,所以更加傳奇的蘋果電腦創業夥伴,賈伯斯和渥茲尼克這時候粉墨登場了。這哥倆好肩負起重責大任,而且還真的不辱使命,打造出來的個人版乒乓球遊戲,正就是後來大家熟悉的”打磚塊”。 打磚塊這個遊戲,一直到個人電腦普及後,仍舊深受歡迎。在程式設計上面,也很適合拿它來說明物件與類別的建立與使用。 https://mobile-learning-testing.com/wp-content/uploads/2024/10/Clipchamp7.mp4 提起蘋果創辦人賈伯斯,他的生平事蹟真的三天三夜也講不完,但他極浪漫的一面倒是鮮為人知。 他很崇拜美國歌手Bob Dylan,崇拜到竟然追求其前妻,另一位知名歌手Joan Baez,女方大他十幾歲,兩人還一度論及婚嫁。Bob Dylan後來以歌詞上的創作,獲得諾貝爾文學獎。 Joan Baez則以其感傷又具人文關懷的歌聲,撫慰了多少在外求學就業的年輕心靈,尤其一首”Five hundred miles away from home“,更是娓娓訴說了離鄉背井的無奈與難捨。 電腦遊戲,在迷你電腦時代,為程式設計的發展,製造了推波助瀾的效果。迷你電腦或稱小型電腦(minicomputer),它的體積並不特別小,而是介於大型電腦和個人電腦之間,迪吉多公司的PDP-8是其中的代表性產品。 當年創立Artificial Intelligence一詞的先驅,達特茅斯學院的助理教授麥卡錫,後來跳槽至麻省理工學院建立人工智慧實驗室,他和另一位AI要角閔斯基,兩人旗下聰明又愛搞怪的徒子徒孫們,用PDP-1設計出太空大戰電腦遊戲,並在其他電腦中心流行起來,且各方狂熱開始欲罷不能。搞到後來,迪吉多公司每次要出貨電腦前,一定要先把太空大戰安裝在PDP內,以滿足不同顧客的共同「需求」。 網際網路的發展也有類似的情節,它一開始也是使用迷你電腦來處理介面訊息,當時主要功能是在傳遞電子郵件,後來到傳遞圖片甚至影片的階段,頻寬的需求就越來越多。當一些電腦宅男高手,開始在傳送色情圖片影片的時候,各種擴充頻寬的技巧,更是一發不可收拾。 圖2-2-4. 第一代電腦遊戲Spacewar,使用PDP-1設計。 - [進階語法之1~物件與類別](https://mobile-learning-testing.com/%e9%80%b2%e9%9a%8e%e8%aa%9e%e6%b3%95%e4%b9%8b1%e7%89%a9%e4%bb%b6%e8%88%87%e9%a1%9e%e5%88%a5/): 2-1:物件與類別 類別(class)和物件(object),這兩者是緊密相關連的,在進階一點的程式碼中,不時可看到其活躍的身影。 類別是一種複合式的資料型態,裡面可包含有數種屬性,以及處理這些屬性的函式;物件就是變數,只不過其資料型態為某種類別,此類別的屬性值一旦被指定,物件即在當時被建立完成,一個類別可以建立許多類似的物件。 我們以下列的程式碼,來說明這看似莫測高深的名詞,其實可以很直覺的來理解它。 在上圖第1~3行中,等號 = 的左手邊是變數名稱,右邊是變數值。由變數值可以看得出來,變數name的資料型態是字串(str),height的資料型態是整數(int),而weight的資料型態是浮點數(float)。 第4行等號左邊的bigball,和第5行的smallball,看起來也像是變數,但等號右邊的ball(50)、ball(25),實在看不出來是甚麼資料型態。 在這裡,我們刻意將ball的資料型態設定為類別,在主程式之前就應該先幫它做好定義,所以變數bigball、smallball,就是指定不同屬性值50、25給ball的類似物件。 在上圖中,我們用關鍵字class定義一個圓形類別ball,裡面用def宣告三個函式。 第一個函式_ _init_ _必然要存在,它叫做建構子,負責在建立物件時,將傳遞過來的變數值,指定成為自己的屬性值。在此做這個動作的,就是第3行的self . rad=rad,其中self是物件自己,它用點運算符 . 來連結其半徑屬性rad。等號右邊的rad,即將承接由第10、11行傳來的50、25。 第二個函式area(self),其功能是使用半徑屬性self.rad,來計算該圓形物件面積。因為self就是物件自己,所以不需要再另外傳遞參數給它。 第三個函式draw(self,x,y,a,b,c),是要將此圓形物件繪製出來,所以必須傳遞其位置座標x,y,以及圓形顏色的三個灰階值a,b,c給它。 接著,主程式在第10行指定半徑值50給類別ball,以建立一個大的圓形物件bigball;並在第11行指定半徑值25給類別ball,建立另一個小的圓形物件smallball。 上圖是定義類別、建立物件、呼叫物件函式的完整過程。主程式中第12行、15行,物件是經由點運算符來取用計算圓面積的函式area;第13行、16行函式draw繪圖的結果,出現在上圖右上及右下。 圓的半徑大小是在建立物件時就指定的,是不宜再頻繁改變了;但其位置和顏色的值是在呼叫繪圖函式時,才傳遞給它,卻是可以再視情況調整的。請注意這兩者的區別。 這個章節,我們先探討物件的建立及其含義,下一次就可以用它來設計複雜一點的電腦遊戲了。屆時將可發現,很多遊戲中的角色和物體的重複建立,使用的多是物件類別的技巧。 - [多益文法與字彙之5~分詞構句](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b5%e5%88%86%e8%a9%9e%e6%a7%8b%e5%8f%a5/): 2-5:分詞構句 讀高中上到「分詞構句」這個章節的時候,英文老師告訴我們說,有位學長考取大學之後,因為懂得活用分詞構句來寫作,獲得了教授的讚賞。老師的意思是在強調,即使上了大學,能夠善用高中進階文法的人,其實並不很多。 分詞構句可以用其所省略的連接詞來分類。連接詞分對等連接詞和從屬連接詞,前者包括and、or….等,通常放在句子中間;後者有although, because, when….等,可視情況將其放在句首或句中。 對等連接詞的情況比較單純,如下例所示,「John stood on the street and waited for a taxi.」,兩個動詞stood、waited,經由and共用一個主詞John,可將其改成分詞構句「John stood on the street, waiting for a taxi.」,前一個動作的目的,有點是在引導下一個動作。 從屬連接詞所引導的句子稱為副詞子句,大多是在句首做轉換,例如「When I walked along the river, I met an old friend .」,可省略連接詞和主詞轉換成現在分詞片語,改成「Walking along the river, I met an old friend .」。 被動語態的副詞子句,如「Because John was hit by a car, he looked very uncomfortable.」,可保留過去分詞片語,改為「Hit by a car, John looked very uncomfortable.」。 句子變長了,一定會引用到連接詞和代名詞,適當使用分詞片語取代,可以讓句子結構變精簡,口語表達也更能強調重點。 以前在大同技術學院教書的時候,有個夜間部年齡稍長的同學跑來旁聽英文,那位女生在課堂上告訴我,說她高職上英文課的時候,只要校長在巡堂當中,有看到老師把黑板寫滿,那堂課就皆大歡喜了。 她在同學面前談到這件事情,語氣雖和緩但情緒是波動的,對於還有心想再學習的人來說,那種情況真是糟透了。 不要小看學生的潛能,只要耐心足夠且適當引導,高職生還有很大的成長空間。他們隨著年齡漸增,理解力會慢慢提升,原先生吞活剝、死記強背的東西,開始會比較清楚它背後的涵義。 但就是不要一直教授新的、複雜的內容,打擊學生的信心。若能適時的放緩腳步,將基本的東西反覆熟練,同學也會越來越開竅的。 圖2-5-3. 大同技術學院地點適中,五專時代也有不錯的風評,最終導致要退場,實在令人惋惜。 我們在「英語檢定」這一部份的貼文,先暫時告一個段落,未來將不定期發佈進階的文章,內容涵蓋AI、Python、英語各領域,歡迎大家繼續閱讀本社團貼文。 - [多益文法與字彙之4~假設語氣](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b4%e5%81%87%e8%a8%ad%e8%aa%9e%e6%b0%a3/): 2-4:假設語氣 我們上了高中才會開始學假設語氣,因為它結合不同的時態有不同的句型,並不很好掌握。因此我們在這部份,也只討論現在式和過去式兩種,這是最常出現的時態。 「If I knew Quantum Mechanics, I could teach in the college.」這是和現在事實相反的假設語氣,表示我不懂量子力學,所以無法在學院教書。 「If I had known Quantum Mechanics, I could have taught in the college.」這是和過去事實相反的假設語氣,表示我以前不懂量子力學,所以並沒有在學院教過書。 在過去式假設語氣中,包含了第一個子句過去完成式,和第二個子句現在完成式,通常比較會出現在文字敘述中,在口語上,很少人這樣講,因為文謅謅又囉嗦。 對話中常出現的情境,多半是用第二個子句就好,語意常是用來表達檢討、懊惱、後悔等情緒。例如「You should have left your house earlier this morning.」,「I could have won the gold medal.」,這樣的句型,在日常聊天的時候,幾乎都可脫口而出。 描述臉書發跡過程的影片「社群網戰」,中間有一場戲,是賈斯汀飾演的Sean Park,用”房間有蛇”嚇唬他女友「格雷女郎」,從浴室衝出來的橋段。 女友抱怨他,「I could have been killed, …..by running too fast and getting twisted in the curtain.」,這個就是很自然的對話方式,他女友不會咬文嚼字地責備他說,「If I had run too fast and gotten twisted in the curtain, I could have been killed.」。 Sean Park曾被揶揄,他在臉書擔任總裁期間的最大貢獻,就是建議老闆祖克伯把臉書的全名,由”The Facebook”改成”Facebook”,「Drop the “The”. Just “Facebook”.」。但他在數位領域,也曾是一號人物,其所創辦的Napster,在P2P音樂分享領域,也風光過一時。 - [多益文法與字彙之3~關係代名詞](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b3%e9%97%9c%e4%bf%82%e4%bb%a3%e5%90%8d%e8%a9%9e/): 2-3:關係代名詞 關係代名詞,是連接詞加上代名詞而來,我們很快以一個例子來說明。 “Policemen arrested the man because he stole the money.”。句中用連接詞because來連接兩個子句,用代名詞he來代替前面的先行詞the man,因此,可用who來結合這兩項,讓句子變得比較精簡,「Policemen arrested the man who stole the money.」。 這時候,可以用現在分詞讓句子更加簡明一些,變成”Policemen arrested the man stealing the money.”。在這裡是用分詞片語取代關係子句,關係子句俗稱形容詞子句。 也可以用過去分詞片語將其改成被動語態,”The man arrested by policemen stole the money.”。 關係代名詞前面的先行詞,可以是一整個句子,只要中間加個逗號就可以。 “Typhoon destroyed the power plant, which made the whole city dark.”。同樣可改成「Typhoon destroyed the power plant, making the whole city dark.」。後者尤其受到新聞播報員青睞,因為唸到現在分詞making的時候,可以加重語氣。 使用現在分詞取代關係代名詞,雖然句子精簡了,但如果還有動名詞或介系詞including存在,ing會出現好幾次,反而讓句子不好看了。”The man stealing the money goes camping with friends including Mary.”就是一個反例。 有一部好萊塢卡通長片「風中奇緣」,主題曲”Colors of the wind“,不但曲調優美,歌詞也相當講究,裡面有一句話很長,”You think the only people who are people are the people who look and think like you.”,讓初次接觸者暈頭轉向。 這當中用了兩次關係代名詞who、兩次be動詞are,還有三個people,讓開始想學這首歌的人瞠目不知所以。如果這句話可以正確的把它翻譯出來,代表你的關係代名詞,已經跨入門檻了。 圖2-3-3. Vanessa Williams唱這首歌,不做第二人想。 - [多益文法與字彙之2~被動語態](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b2%e8%a2%ab%e5%8b%95%e8%aa%9e%e6%85%8b/): 2-2:被動語態 在被動語態當中,比較重視的是動作的接受者,所以將其放在主詞位置。或者有時並不清楚施加動作者到底是誰,也不得不使用被動語態。例如”The patient has been treated in the hospital. “,其重點在於病人已獲得治療了,並不需要特別去瞭解,究竟是由哪位醫護人員處理的。 多益喜歡結合時態和被動語態來考試,好比上一句的完成式,可改成現在進行式”The patient is being treated in the hospital. “,如此就變成病人正在治療中了。 在聽力測驗時,如果再刻意加上連音,被誤導答錯的機會就大了。不妨試試看下面的題目,答不出來也不要氣餒,大部份的看圖辨義考題,都比這題簡單。 Question 5. 如果想去強調某個觀點,主動式要比被動式有利。”Snow covers the mountain.”,和下面相對照,”The mountain is covered with snow.”,前者傳達冷鋒來襲的動態感要比後者強。 “The experiment suggests the earth be round.”,要比下一句話有力量,”It is suggested by the experiment that the earth is round”。 中國古代也有這種例子,項羽看到秦始皇出巡時,說了句「彼可取而代之」這樣的話,劉邦卻說「大丈夫當如是」。看起來,抒發己見的時候還是主動語態來的好。 主動和被動,active、passive,日常生活也會遇得到。電子元件需要插電(由外部供給能量),稱為主動元件(active component),像半導體雷射必須有電源供應,才能展現發光的功能就是主動元件,光纖不需要插電就能發揮其導光的功能,就是被動元件(passive component)。 我們形容某人態度消極或積極,也可以用passive、active,但proactive要比active來得好,也勝過aggressive(侵略性的),或者progressive(進步的)。 圖2-2-3. 雷射是主動元件,光纖是被動元件。 - [多益文法與字彙之1~動詞三態](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99%e4%b9%8b1%e5%8b%95%e8%a9%9e%e4%b8%89%e6%85%8b/): 2-1:動詞三態 中文文法沒有英文複雜,並不區分現在式、過去式、過去分詞,也沒有動詞要隨主詞變化的規定,所以僅僅動詞時態這部份,就困擾很多華人,特別是在口說的時候。 動詞分時態,主要的目的是讓語言的表達更加精準。我們在和外國人對話時,即使一直使用簡單現在式,輔以肢體語言,對方還是可以大概理解你的意思,但他也會明白,恐怕沒有辦法和你進行深入交談。 就算是簡單現在式,主詞人稱單複數會決定動詞是否要加s/es,助動詞也有do或does,如果再考慮到可數名詞複數形也是加s/es,這一些攏攏總總合起來,想正確的使用現在式表達,也還沒那麼容易。 場景如果轉換至過去的時間點,則過去式動詞的切換馬上就會出狀況。「Where did you go last night?」一半以上的人會回答,「I go to a movie last night.」。即使是高級知識份子,有時也難免出這種錯誤。 動詞時態的不規則變化,在口說的時候,特別容易檢驗出學習功夫紮實與否,「My grandpa fought world war two.」大多數人都聽不懂,因為反應不過來fought是fight的過去式動詞。 到了過去分詞的階段,一定要開始多用點心了,因為一些進階的語法,都會用得到,包括現在/過去完成式、被動語態、假設語氣,和分詞構句。 「You should have broken the relationship with her.」,這樣的句子,在美國人日常口語聊天稀鬆平常,但國人常無法正確理解,對方要強調的,其實是和過去事情相反的假設。 熟稔動詞三態變化,可以幫助考試拿高分,但要在日常對話中活用它,動詞加ed之後的發音還是要再自我要求。平時有夥伴陪你練習,進步就會快,如果沒有,自言自語也是一種變通的方式。 - [多益文法與字彙](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e6%96%87%e6%b3%95%e8%88%87%e5%ad%97%e5%bd%99/): 第二章:多益文法與字彙 輝達(NVIDIA)執行長黃仁勳曾經說過,「未來AI時代,英語可做為通用程式語言」。他的意思是說,大型語言模型逐漸進化,電腦若能理解日常用語,屆時每個人只要熟悉英語就夠了。 這個說法有一定的依據,但有些地方仍有待釐清。首先,這個「未來」究竟還要多久?其次,非英語母語的國家不就很吃虧嗎?而且,從此大家就不用再學程式設計了嗎? 既然有這些疑點存在,大部份的人比較保險的應對方式,還是一邊學程式語言,一邊學好英語,而且有必要再把英文學得更好一些。 圖2-1:黃仁勳在台大的英語演講被評為「適度幽默、選字精準、珍視夥伴」。 想學好英文,必須持之以恆,選擇適合自己的學習模式,也要客觀評估學習成就。善用多益考試,可以同時滿足這幾項需求。 多益聽力與閱讀測驗,平均一個月考一次,很方便規劃考試時間,調整學習節奏;總分990分,可以自我觀察分數變化趨勢,評核學習成效;容易獲取各方學習資源,也有不少同儕可相互支援。 圖2-2:多益測驗在2018年又改版一次,考試時間不變,但題目份量越來越重。(取材自多益官網) 聽力和閱讀要考好,多聽和多讀當然是唯一途徑,而提升效率的法門在於,想加快閱讀速度,不妨多熟練文法的應用,這是我們接下來會多著墨的;想在聽力拿高分,發音應該要多自我要求,在這方面,很多人都輕忽了它的重要性。 我聽到很多人讀到word這個簡單的字,大多會發音成[wɔrd],我常感到困惑,那麼world這個字又該怎麼讀呢? 果然,我幾乎從沒有聽過台灣人正確發音world為[wɝld],僅有的一次,是在聽Skeeter Davis唱她的名曲,”The end of the world”,才聽到標準的發音。 圖2-3:多益聽力要拿高分,平時單字的KK音標拼音不可偷懶。 會把word[wɝd]唸成[wɔrd],主要的原因,在於多數人不重視KK音標,很多是使用「自然發音」。 「自然發音」比較適合以英語為母語的國家,學童在平日耳濡目染的狀況下,自然而然可以從拼字來學習發音。但非英語為母語的國家就不適合了,經常使用「自然發音」,周遭接觸的人又不常講英文,以至於每個字都沒有把握讀的很正確,一整句唸下來就是坑坑疤疤,聽力難免會打折扣。 Skeeter Davis這首歌”The end of the world“,主詞人稱單複數以及動詞時態,相當有變化,很適合想要唱歌學英文的人。 - [基本觀念之6~函式與遞迴](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5%e4%b9%8b6%e5%87%bd%e5%bc%8f%e8%88%87%e9%81%9e%e8%bf%b4/): 1-6:函式與遞迴 Function這個英文字,我們原本是使用「函數」這個中譯,但因為它在程式裡面,除了數據的計算外,還會處理資料的存取,或者是格式的轉換等,所以更常使用「函式」這個名詞。 系統內建有多種各類函式,如果要建立自己的函式,通常是在程式碼開頭先做定義,隨後在主程式中呼叫它。它就像是一個忠實的僕人,只要叫它的名字,它就隨傳隨到、使命必達,但又有點懶,事情做完一次就得休息,除非你又給它第二次指令。 主程式在呼叫它的時候,可傳遞明確的訊息,它可憑此訊息進行一系列的後續處理,之後再將結果傳回主程式。 上圖中,第1行的關鍵字def,是用來定義一個函式名稱叫做singer,後面小括弧裡面的 a, b,稱為參數(parameter),要承接主程式傳過來的引數(argument),再放進第2、3行縮排的指令中處理。 第5行進入主程式中,呼叫singer函式,小括弧當中的 “Taylor” , “Leonardo”,就是引數。參數和引數的關係,就好像是變數名稱和變數值的關係,a=”Taylor”,b=”Leonardo”。 第7行到第10行,是作者自己將程式執行後輸出結果,用註解行標示出來,方便讀者閱讀。 函式裡面,要將運算結果回傳給主程式,有一個指令return很是重要。我們把先前for迴圈的加總計算,定義成函式forloop,其參數為n,它會回傳從1累加到n的總和給主程式。 上圖第7行,在主程式中呼叫forloop,並傳遞引數100給參數 n;它會先在forloop函式裡面算出累加值summ,然後利用return指令將其值5050回傳,指定給變數getsumm,再做輸出。 return這個指令,如果能善用它,就可以建立起功能進階的遞廻函式。 所謂遞廻函式,就是函式之中的程式碼被執行的時候,又會再次呼叫函式它自己,但使用的是不同的引數。正整數階乘的計算,是個遞迴運算的典型範例。 上圖第1行定義函式fact(n),程式執行到第5行時會回傳函式本身,但其參數值變為n-1,外面再乘上n,這時候得到的fact(n-1),會再回傳 (n-1)*fact(n-2),而fact(n-2)又再回傳 (n-2)*fact(n-3),如此反覆呼叫fact,直到fact(1)為止,這時候已滿足第2行條件,最終回傳值就是1,不會再呼叫fact了。執行第7行之完整遞迴過程如第11~16行所示。 先前提到的增強式學習當中,可以看到遞迴的身影。在循環修正行動值函數的時候,是援用自下一狀態的獎勵及其行動值函數,並據此援用下下次狀態,一直到最終狀態…..。 遞廻程式的技巧,據說是在19世紀由艾達女仕所提出的,為表彰她對計算機演算法的貢獻,美國國防部開發的程式語言Ada,就是以她來命名。艾達有個大名鼎鼎的父親,英國詩人拜倫。 我們有關Python程式設計基本概念的部份,先在這裡告一段落,日後會不定期撰寫這方面的進階題材。接下來,我們將進入到「英語檢定」單元,介紹多益測驗的學習要領,歡迎有興趣的朋友繼續閱讀本社團貼文。 - [基本觀念之5~巢狀結構與輸出格式](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5%e4%b9%8b5%e5%b7%a2%e7%8b%80%e7%b5%90%e6%a7%8b%e8%88%87%e8%bc%b8%e5%87%ba%e6%a0%bc%e5%bc%8f/): 1-5:巢狀結構與輸出格式 如果有兩個以上迴圈包含在一起,其中內部迴圈縮排,從屬於外部迴圈,則稱此種迴圈為巢狀結構。很多情況會用到此種結構,例如一張圖片中像素值的處理,就要用到一個二維串列,再搭配上巢狀迴圈。除此之外,如果在選擇敘述 if 式子裡面,還有其它縮排的 if 敘述,也可稱為巢狀結構。 在這裡,我們使用大家都知道的九九乘法表,來舉例說明巢狀迴圈的特點,並且結合數據字串輸出設定,讓乘法表能夠格式化整齊排列。 巢狀結構,外層迴圈變數每變化一個值,內層迴圈變數值就要全部變化一次,所以可以戲稱:「外圈慢慢走,內圈跑斷腿。」。 上圖中,第1行的外層迴圈變數 i ,當其取出值為1或2或3或其他,內層迴圈變數 j 就要從1到9全部變化一次。所以外層迴圈變數 i 總共從1到9只跑一遍,但內層迴圈變數 j 從1到9跑了九遍。請讀者思考第3、4行兩個print( )的縮排位置不同之原因。 第3行print(f”{ j }*{ i }={ i*j:2d }”,end=” “)的小括弧中,後面的end=” “,表示每次輸出後會空一格再接續下次輸出,比較重要的,是前面 f”{ j }*{ i }={ i*j:2d }” 的部份。 左右兩個雙引號 “…..” 表示,當中的…..被視為輸出字串,但 f”…..” 又再特別表示,其內的成對大括弧 { i }、{ j }, 是要將 i、j 所代表的變數值取出,f”…..” 的f代表格式化(format)的意思。 甚至{ i*j : 2d}還更進一步要求,i*j 的變數值輸出,必須合乎 2d 的格式,要預留兩個字元的位置給預設靠右對齊的整數,因此乘法表中等號右邊的值,其個位數才能夠垂直對齊。2d的d,原文是decimal,表十進位的整數。 在上圖第1行中的7d,表預留7個字元位置給整數123輸出,123靠右對齊後,左邊會留下4個空位。第2行的7.2f,表預留7個字元位置給浮點數123.456輸出,而且小數點第2位以下四捨五入。第3行的7s,表預留7個字元位置給字串 ‘apple’ 輸出,字串預設是靠左對齊,所以會在右邊留下2個空位。 輸出的格式設定是很重要的,這讓閱讀數據的人賞心悅目,而且不容易出錯。 在大航海時代,計算三角函數及對數表的技術人員,統稱為computer。這些computers算術功夫了得,但有時作風頗名士派,常常將好不容易處理完的數據,寫得龍飛鳳舞、難以辨識,以至於後續接手的行政人員,看到類似下圖的阿拉伯數字苦不堪言,也讓政府高層在計算機出現之前,已經意識到研製印表機的必要性。 - [基本觀念之4~串列與迴圈](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5%e4%b9%8b4%e4%b8%b2%e5%88%97%e8%88%87%e8%bf%b4%e5%9c%88/): 1-4:串列與迴圈 我們前面曾提到過,變數包括有變數名稱和變數值兩部份,其中的變數值除了單一數據外,也可以指定為多個數據,例如一個班上的數學成績可能有幾十筆,都屬於同一個變數。這種情況,在平日生活中,常有機會碰到,所以多個數據的資料表示方式,及其運算處理技巧,在Python裡面是相當重要的。 在這裡,我們先熟悉一種資料型態叫做串列(list),它是好幾個數據被中括弧包含起來,彼此間用逗號分開,比如像變數 lista = [11, 22, 33, 44],其中括弧內的每個數據可稱之為元素(element)。 這種資料型態也叫做容器(container),非常適合使用for迴圈來處理運算,因為它的資料整齊排列,被限制在一定範圍內,讓人很直覺的看出來,每個數據可以依序被迴圈取出。所以要輸出所有數據,或者加總其數據,都可以援用上一次的做法。 上圖中,第2行和第7行,for迴圈中的 i,現在是 in 在lista裡面了,可想而知,就是隨著不同次的迴圈,依序把11、22、33、44分別指定給變數 i ,然後把它的值印出來或加總。 這種 in 在某個容器內,然後隨著迴圈將元素一一取出的方法,非常直覺,但很好用,也有一些變化的型式。 在上面的程式執行過程當中,我們不得不將所有元素一口氣處理完畢,但如果要個別取出某個元素,就要用到索引的技巧了。 上述的11、22、33、44,它們在lista裡面的索引值,分別是0、1、2、3,可以利用中括弧加索引值將lista編號,個別取出裡面的元素。當然也可利用迴圈變數當作編號,一一將元素值取出,如下圖所示。 在第2行最右邊,我們使用反斜線””來強迫換行,讓太長的程式碼變得比較好閱讀。讀者可以自行print(lista)看看,觀察其和第3行輸出的異同處,並想辦法解釋其差異。 第5和第6行當中的迴圈變數 i,在這裡,不再是直接取用來輸出,而是將它當作串列的索引值,把每個元素都編號後,再做輸出。讀者也可以用這種方法,將元素值加總看看。索引加迴圈,是初學者開始會感到挫折的地方,動手多練習,是克服困難的唯一良方。 容器(container) 有多個種類,中括弧裡面的數據如果用空格代替逗號,就是陣列(array);大括弧裡面數據用逗號分開的稱為集合(set),如果數據是成對的則稱為字典(dictionary);小括弧裡面數據用逗號分開的,稱為元組(tuple)。 元組(tuple)這個字中英文看起來都有點彆扭,不容易顧名思義,剛開始都會聯想到元祖雪餅。它其實只是一組相關的數據被整理在一起,目的在便於閱讀及取用其訊息,而非將數據做運算處理。例如記錄陣列的維度、函式的多個回傳值等。 - [基本觀念之3~for迴圈](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5%e4%b9%8b3for%e8%bf%b4%e5%9c%88/): 1-3:for迴圈 迴圈,會重複執行相同的程式碼來進行工作,執行次數可以一開始就做設定,每次在重複相同指令時,其迴圈變數都會增減一個固定數量,一直到條件滿足為止。我們先用for迴圈來舉例說明。 在這個練習中,我們在print( )括弧中加上一些參數和字元,來設定它的輸出格式。如果加上end=” , “參數,表示每次輸出不要自動換行,只在後面加逗號,下次輸出會在逗號後面接續下去。 print( )中加”n”字元,表示自動換行一行,加三個”n”字元,表示自動換行三行。適當做這樣的設定,會讓程式輸出結果比較好閱讀。 第2行for的敘述,表示對 i 這個迴圈變數而言,它是在range(6)範圍之中從0到5的整數。每執行完一次第3行縮排的print(i,end=”,” )指令,就是跑1次迴圈,總共要跑6次迴圈,這6次依序先把0、1、2、3、4、5分別指定給變數 i ,然後把它的值印出來。 第6行for敘述的範圍,變成range(1,6),就是從1到5的整數1、2、3、4、5。 第10行for敘述的範圍,變成range(1,6,2),就是從1到5每差2取一個整數,得到1、3、5。 for迴圈最普遍的用途,就是累加一系列相關的數據。日常所見最簡單的累加像1加到5,這數據少到甚至可以直接print(1+2+3+4+5),但如果從1累加到100甚至1000,這樣就行不通了。我們先看看下圖第14行到第20行,這是累加計算的程式碼,看起來好像更麻煩。 但我們注意到從第15到19行,它們有些動作是重複的。它們都是從變數summ裡面先把舊值取出來,加上一個新的數據後,存到summ裡面去,下次再取用,而每次加上的新數據,都比前一次的數據大 1 。 這就可以用第23、24行的for迴圈來代替了。因為新加的數據每次都比前一次大 1 ,我們就可以用 i 迴圈變數來代替這些新數據,它是範圍在range(1,6)的5個整數,依序被取出。每次summ的舊累加值加上新數據後,將這新的累加值存進summ裡面,再進行下一次迴圈。 上面第25行程式碼,試著將它縮排4個空格後再執行,看看結果有甚麼不同,並想辦法解釋原因。 程式碼中的range(1,6),如果改成range(1,101),就會讓我們聯想到德國數學家高斯的故事了,只不過他小時候是用肉眼找對稱再相乘,現在電腦裡面的運算大多是快速計算加法所得。 圖1-3-3:高斯和他弟子黎曼所在的哥廷根大學,是歐洲數學重鎮。當時流傳一句話:「想學好你的數學嗎?打起你的背包,到哥廷根去。」 - [基本觀念之2~條件敘述](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5%e4%b9%8b2%e6%a2%9d%e4%bb%b6%e6%95%98%e8%bf%b0/): 1-2:條件敘述 條件敘述的語法很簡單,就是if(假如)….else(否則),其精神也很好掌握,假如條件成立,就做某些事,否則就做其他的事(或者甚麼事也不做)。很容易用日常生活所見,舉例來說明它的適用情況。 例如有一所M理工學院名聞遐邇,它的入學標準非常嚴格,假如PR>=95才會通知接受(accept),否則一律通知拒絕(reject),這就可以寫成下列程式碼: 上面程式碼第3行,在 if PR>=95的敘述中,條件PR>=95是需要做判斷的,可因為第2行已經設定PR=98,滿足了這個條件,所以判斷為真(True),會直接執行下面第4行print(“accept”)。 但到了第8行,PR改成88,做PR>=95判斷的結果為假(False),所以會執行第11行else下面的print(“reject”)。 要注意在程式碼冒號(:)後面按下Enter鍵時,系統會自動在下一行做縮排(indent),有縮排的程式碼是從屬於沒有縮排的上一行。程式碼上下之間,如果有從屬階層關係就會有縮排,初學者沒有理解這點,即使打字沒有打錯,也會產生編譯執行錯誤。 圖1-2-1:AMD執行長蘇丰姿曾質疑:「沒道理麻省電機博士,要在哈佛企管碩士下面做事。」  上面的程式碼,可以將else及從屬於它的部份省略,只單獨使用if的部份,用以表示這個條件敘述,只在乎判斷為真的時候該做些甚麼,判斷為假的時候,它甚麼事都不做。從另一個角度來看,也就是容許把功能再擴充,讓條件敘述並不僅僅只能做二元判斷,還可以有多重的選擇。 例如另一所鄰近的H大學,學術聲譽並不弱於M理工學院,但其選才標準比較多元,認為課外活動的表現也不容忽視,所以PR值的設定較為寬鬆。PR>=95是一定會接受的,但在85和95之間的學生,它會給予考慮,當然,PR<85它也會拒絕了,程式碼就可以改成下列內容: 我們在上圖第5行,插入了elif指令,它其實是else+if的綜合體,else的部份表示不滿足前面的條件PR>=95,也就是得到PR<95;if的部份表示,在這種情況下(PR<95),再給它設定條件PR>=85。所以這個elif指令得到的整合條件,就是85<=PR<95。 第7行的else,表示在不滿足前面所有條件的情況下,只剩下PR<85的條件了。 因為第2行設定PR=88,所以這個程式會執行第5行elif下面第6行縮排的指令,輸出”consider”。 在條件有好幾項且彼此互斥的情況下,elif可以多次使用。例如學生成績的分等第,就可以善用elif的功能。 - [基本觀念之1~變數與資料型態](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5%e4%b9%8b1%e8%ae%8a%e6%95%b8%e8%88%87%e8%b3%87%e6%96%99%e5%9e%8b%e6%85%8b/): 1-1:變數與資料型態 Python的變數,和國中時候學過的未知數X、Y、Z,有些類似,但又差異甚大。未知數的值從頭到尾都是固定的,計算過程只是在求解唯一的答案;但變數(variable)的值卻是可改變的,從程式一開始、到程式中段、到程式結尾,都可以因為運算處理,而改變其所代表的值。 所以一個變數有兩個含意,一個是變數名稱,另一個是變數值。例如num=100,表示其變數名稱為num,而其變數值為100,等號”=”在這裡,有指定、賦予變數值的意思。 我們可以用一個箱子表面貼的標籤來表示變數名稱,放進箱子裡面的資料為變數值。變數名稱是維持固定的,但放進箱子的變數值,卻可隨程式的執行而改變,如下圖所示: 我們將上面num=200的例子再延伸。在代數式的運算中,x=x+100是不合理的,因為等號左右的x消掉後,會得到0=100;但在程式設計中,類似num=num+100的運算,卻常常會出現。 因為在等號(=)右邊的num,代表變數值200,它和100相加得到300,然後再把300指定給左邊自己的變數名稱num,從而取代了舊值200。 這個過程,我們用程式碼和示意圖來表示: 我們還記得變數有兩個含意,在此謹記著,出現在等號左手邊的,代表變數名稱;出現在等號右手邊的,代表變數值。 變數的名稱,和往後會介紹的函式名稱、類別名稱,都稱為識別字(identifier),顧名思義,就是一看到名稱,大概就能猜測到它被賦予的資料性質。例如name代表姓名(字串,str),age代表年紀(整數,int),average代表平均值(浮點數,float)。所以在變數命名上,應該使用有意義的英文名稱。 除此之外,還有一些命名的規則要遵循。例如,名稱的字首,最好用小寫或大寫的英文字母,但大小寫是有差別的,像num和Num是代表不同的變數;字首不可以是數字,如5name、8age等;不可使用程式或系統的指令(關鍵字/保留字),好比像print,if、else,class這些。 如果需要使用到兩個以上英文字來命名,字間用底線隔開不要有空格,例如bool_for_comparison=100>200,是表示有一個bool(布林)資料型態的變數值,它得自比較運算100>200後的結果,執行print(bool_for_comparison),會得到布林資料型態中的False值。 - [基本觀念](https://mobile-learning-testing.com/%e5%9f%ba%e6%9c%ac%e8%a7%80%e5%bf%b5/): 第一章:基本觀念 工欲善其事必先利其器,想學好Python的第一步,當然就是要趕快把軟體準備好。對初學者而言,最好先熟悉Anaconda整合環境之後,再進入Google雲端硬碟,免費運用其Colab限量GPU。 Anaconda是以Spyder編輯頁面為開發環境,內建有常用的套件模組,供編譯執行Python時匯入連結之用。它有多種版本可選擇,學員可從下列藍色字體的網站,點選下載檔案較小且穩定的版本,在此推薦Anaconda3-2025.06-0-Windows-x86_64.exe,將其存至桌機或筆電的資料夾: https://repo.anaconda.com/archive/ 請用滑鼠左鍵雙擊下載的執行檔進行安裝,過程中大部份只要下一步、下一步(next)就可以。完成後從開始功能表展開Anaconda3資料夾,可以看到Spyder的蜘蛛網圖示,點選開啟它,過程中看到的無作用小視窗一律關掉,最後可以看到下列編輯環境: 預設的版面,左半部是程式編輯欄位(Editor);右半部的下方是執行輸出欄位(IPython Console),其上方是多個視窗疊在一起,我習慣將其上方所有視窗都關掉(Close),讓執行輸出視窗佔滿右半部欄位。 接著點選工具列的板手圖示(偏好設定,Preference),進去修改字型大小,然後開始第一個程式。以下為視訊影片教學導引: https://mobile-learning-testing.com/wp-content/uploads/2024/09/Python-0.mp4 不能免俗,我們也是要輸入輸出”Hello World!”。 在左半部程式編輯欄位,預留有註解行,包括單行註解和多行註解。前者是#字號後面的灰色字體,後者是成對的三個雙引號當中的綠色字體。可將其全部刪掉,不妨害程式碼的執行。 我們用「print(“Hello World!”)」輸入第一條指令,也可以輸入print(123),或print(123.456),或print(123.456+456.789)。 執行全部程式碼的按鈕,是在工具列中方向朝右的綠色小三角形;執行部份選取程式碼的按鈕,是工具列中有”工”字型加下方綠色小三角形的圖示。 坐而言不如起而行,Action speaks louder than words!趕緊將軟體下載、安裝、啟動,跑一下最簡單的程式,踏出最基本的第一步。 - [強化式學習之3~隨機決策](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b3%e9%9a%a8%e6%a9%9f%e6%b1%ba%e7%ad%96/): 3-3:隨機決策 早先提到的CNN神經網路中,其遮罩的係數(也就是權重),一開始是用隨機的方式來指定,在多次的訓練之後,會利用越來越小的誤差,逐步修正到比較合適的權重值。中間的步驟,也有用拋棄層(Dropout Layer)來做隨機處理的。 而增強式學習的隨機選擇考量,則是因為訓練初期獲得的資訊量有限,所以讓模型勇於嘗試各種可能性,在歷經了各種情況且反覆摸索之後,計算出最大報酬值以找出最好的策略。 前者隨機的部份是在訓練開始就全部完成,後者是在訓練過程逐次降低其比重。兩者相似的地方,就是隨機計算的處理都很快速,只不過一個是在神經層,另一個在時間序列當中。 蒙地卡羅模擬(Monte Carlo Simulation),是著名的隨機運算技術,它利用亂數產生器得到大量隨機數據,分析其統計分佈,進而引用來估計實際問題的答案,常被應用在增強式學習當中。 圖3-3-1. 提到蒙地卡羅的博弈產業,很容易聯想到隨機決策。 我們把先前的9×9迷宮訓練例子,用Python軟體再做一次比較完整的介紹。 編輯的軟體名稱為”Spyder”,是下載自Anaconda網站。程式在執行的時候,除了輸出的數據,也呈現出動態的迷宮視窗。”O”型的藍色圈代表尋找寶藏的主角(agent),經過數十回合的摸索與計算,終於找到最佳的路徑策略。 在這裡隨機選擇的比重,第1回合自然是100%,接下來就以0.8的等比級數下降。剛開始的前10個回合的機率都在10%以上,到了30回合以後漸趨為零,因為這時候得到的數據,已足夠自主判斷接下來的路徑了。當然這只是基礎的範例,比較大的問題訓練回合數可達幾萬甚至幾百萬。 https://mobile-learning-testing.com/wp-content/uploads/2024/08/mymaze.mp4 我們在”人工智慧入門”這一單元的貼文,暫時告一段落,隨後會用不定期的方式,進行這方面的發文。緊接著,我們將進入到”Python程式設計”單元,介紹實務上的一些常用指令,歡迎有心想鑽研技術細節的朋友,繼續閱讀本社團貼文。 - [強化式學習之2~監督式學習之瓶頸](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b2%e7%9b%a3%e7%9d%a3%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b%e7%93%b6%e9%a0%b8/): 3-2:監督式學習之瓶頸 監督式學習,好像是學生在準備社會科考試一樣,唸的題目越多,背的標準答案越多,答題的準度和分數就會越高。但是要從90分考到95分,究竟要再多記憶多少內容,沒有人能提出精準的數據評估,甚至多背些考題是否一定就會提高分數,也很難講。 而且,除了記憶事物之外,舉一反三、觸類旁通的能力也很重要啊!它讓我們可以從有限的記憶中,摸索推理出不曾背誦過的資訊,這也許是人類智慧中更重要的部份。 例如有個題目問,“美國第一大都市在哪裡?”,我們很快可以回答是“紐約市”。如果再問“紐約在荷蘭人佔領期間的名稱是甚麼?”,或者“新阿姆斯特丹的北城牆,為現今金融中心的甚麼街?”,這些加以思考推理或許就可得到的答案,監督式學習必須輸入更多的資料來訓練,否則無法回答。 所以有好事者比喻,一味地只知道使用監督式學習,就像是古代巴比倫人建好巴別塔,自認為已經可以通達天際了,實際上還差了十萬八千里。 圖3-2-1. 古巴比倫人建立的巴別塔,高聳入雲霄,他們認為可以藉此和天際溝通了。 這個時候,強化式學習就可以提供有價值的處理方向了。 強化式學習,訓練次數少則數十回合(episode),多則數萬甚至數百萬回合。剛開始訓練的少數回合當中,在做決定過程時,會有比較多的隨機選擇,等到訓練過較多的回合了,能夠藉以參考的數據足夠了,就會逐漸增加自我判斷的比率,同時持續減少隨機選擇的次數。 這隨機選擇的功能,就程式設計而言,是要避免它無法跳脫不定次數迴圈;就策略規劃而言,是希望它儘量嘗試各種可能性,以真正找出最佳的報酬策略,這當中自然就會帶有一些推理成份了。 下面的9×9迷宮遊戲,主角起始位置在迷宮正中央,右下角格子的reward=+30,代表寶藏地點,找到這裡該回合即結束;左上角格子的reward= – 30,是大魔王地點,抵達此處會被吃掉,該回合同樣結束。黑色格子是不可穿越之障礙區,其餘格子皆reward= – 0.2,所以每多走一步都會被扣0.2,要用最少的步數才能得到最大的報酬(return)。 圖3-2-2. 一個9×9的迷宮遊戲,希望用最少的步數,讓主角由正中央的起始位置,找到右下角寶藏地點。 我們第一次執行模型,讓它跑100個回合,並刻意使其隨機選擇的比率以較快的速度減少,發現它要找到最佳步數的8次會比較吃力。 第二次同樣讓模型跑100個回合,但讓它的隨機選擇以較慢的速度減少,發現它的訓練成效有改善了。 - [強化式學習之1~馬可夫決策過程](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92%e4%b9%8b1%e9%a6%ac%e5%8f%af%e5%a4%ab%e6%b1%ba%e7%ad%96%e9%81%8e%e7%a8%8b/): 3-1:馬可夫決策過程 增強式學習這幾年來廣受各方矚目,主要的原因,當然是它成功地被引用在ChatGPT當中。但除了大型語言模型,增強式學習還有很多重要的應用,例如像無人載具、機器人的路徑規劃,以及數位電路、核融合及渦輪引擎的效率最佳化設計等。 增強式學習的基本概念,在於透過多次訓練逐步形成最佳策略,以找出最大報酬的最適路徑。迷宮遊戲,是最常被拿來舉例說明的範本。 圖3-1-1上圖之中,橘色球形代表遊戲的主角(agent),整個6×6迷宮就是環境(environment),其中任何一個格子的x,y座標就是狀態(state),橘球要上下左右朝哪一方向移動,就是行動(action)。 走到相鄰任何格子的獎勵(reward)應為 -1,但有兩個格子獎勵為4和5,其中並有黑色的障礙禁止區。想要成功走完迷宮的基本邏輯思考,就是以最少的步數走到獎勵為5的格子,來獲得最大的“累積獎勵”(稱為“報酬”,return)。 圖3-1-1下圖之中,是在說明,經過多個回合(episode)的訓練,系統會慢慢計算出每個格子的價值(state value),agent在決定要朝哪個方向移動下一步時,就會傾向鄰近價值最高的格子,並更新目前所在格子的價值,這就是所謂的策略(policy)。 圖3-1-1. 迷宮遊戲,是增強式學習常用的範例。 迷宮遊戲只是增強式學習的起步,但已需要一些程式設計的基礎了,這方面,適當的Python語言訓練,加上良好的直覺(intuition)是很有幫助的。 學理方面,則必須面對比較不好掌握的統計機率。這個部份,馬可夫決策過程(Markov Decision Process, MDP)當中,有一個假設需要先瞭解。 這個假設是說,“目前的時序狀態,只取決於前一個時序的狀態與行動”。換句話講,它假設了前面的時序已包含了更前面時序的訊息。所以可以利用遞迴的做法,將所有時序的關係串接起來。 馬可夫先生(1856~1922),早年就讀彼德堡文法學校,格格不入。後來就讀聖彼得堡大學,在隨機過程領域做出重要貢獻。但他並未忘情早年訓練,曾利用馬可夫鏈來模擬俄國文學中輔音和元音的頭韻法。 圖3-2. 馬可夫(Markov)畢業自聖彼得堡大學,是俄國著名的數學家。 - [強化式學習](https://mobile-learning-testing.com/%e5%a2%9e%e5%bc%b7%e5%bc%8f%e5%ad%b8%e7%bf%92/): 第三章:強化式學習 ChatGPT這種語言模型,是屬於監督式學習,例如訓練英翻中的時候,輸入一個英文句子“I have been expecting you.”,一定要同時輸入它的中文翻譯“我恭候您多時了”,用以計算其損失函數,做為回饋修正模型權重之用。模型訓練完成可以回答提問者的問題了,就是到了模型預測的階段。 但我們在不同時間點,問ChatGPT同一個問題,常常會得到有所差異的答覆。這是因為,模型一般是利用(exploit)學習經驗回答問題,但有時會探索(explore)隨機答案,目的是想增加回答內容的多樣性。 如此一來,在預測階段所提的問題,如果不同的答覆內容給予不同的評分,就可以再放進模型裡面,當作另一筆訓練的資料和標記值。這樣的學習訓練方式,讓ChatGPT在往後的答覆更加合理,並且文字益形通順。 例如,“You should have studied harder.”,如果翻譯成“你原本應該更用功讀書”給予5分,如果翻成“你應該更用功讀書”給予3分,如果翻成“你應該用功讀書”給予1分。這樣的獎懲方式是「強化式學習」的基本概念,搭配上既有的監督式學習,是OpenAI公司迎頭趕上Google的重要關鍵。 圖3-1. 強化式學習(Reinforcement Learning, RL),其獎勵或懲罰(Reward),是建立最佳行動策略的重要因素。 強化式學習,和監督式及非監督式學習,並稱是人工智慧的三大學習方式。但這種學習方式有其獨特的地方。 它在建立其內部神經網路時,資料集是由自己計算所得,不需要再從外部蒐集資料;它應用的範圍甚廣,包括遊戲策略、自動駕駛、機器人控制、金融投資策略…………。 OpenAI早期喜用強化式學習來訓練遊戲,看似不務正業,實則在蓄積能量,待時機成熟即一鳴驚人。有志於這方面研發的工作人員,建議應先打好程式及理論基礎。 圖3-2. 捉迷藏遊戲,是OpenAI相當著名的強化式學習遊戲。 - [自然語言處理之5~ChatGPT做多益測驗](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b5chatgpt%e5%81%9a%e5%a4%9a%e7%9b%8a%e6%b8%ac%e9%a9%97/): 2-5:ChatGPT做多益測驗 ChatGPT被稱為大型語言模型,想當然耳,它最擅長處理的必然是各類語言,包括中英文和程式語言。在模型訓練階段,它使用了大量文字(主要是英文),來進行翻譯、摘要、創作等工作,所以它也會是一個很棒的英文老師。 我們先用它來幫我們解答多益測驗的閱讀部份,在此,所引用的考題來源,是連結自本網站“英語檢定”導覽列,可由下面首頁點選進入: https://mobile-learning-testing.com 提問(prompt)的方式很簡單,只要使用下列文字即可: “請解答下列英語測驗題, 請先將全部題目閱讀一次之後, 再開始作答. ‘……….’ “ 將網頁題目複製後,貼到提問中的 ‘……….’ 部份,取代………即可(保留成對的單引號或雙引號)。但要注意,提問的時候,一定要請它先把全部題目閱讀一次之後再作答,因為這題閱讀測驗,本身有三個填空選擇題,分放在文章前、中、後段,如果只讀完填空題前一小段文字即做答,會產生誤答。 圖2-5-1. 使用ChatGPT,來閱讀一個短篇文章的英語測驗填空題。 上圖是測驗文章及題目內容。ChatGPT在閱讀題目時很有技巧,它看得懂有底線“_______”的地方,才是要填空的位置;它也知道,要去避開不是很重要又不太懂的部份,例如網頁上每題下方都有選項鈕來供點選做答,如右方所示 A   B   C   D  。但在複製貼到ChatGPT時選項鈕就看不到了,它也就視而不見了。 下圖是ChatGPT答題及解釋的內容,每個答案的對或錯它都有分析,幾乎都是一語中的,不多冗言。 未來我們會在多益聽力測驗的部份有所著墨,其在解答分析上需要多一點技巧,可等到GPT-4o等產品較普及後再來嘗試。 圖2-5-2. 使用ChatGPT,來分析填空選擇題的每個答案正確與否。 - [自然語言處理之4~ChatGPT做網頁設計](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b4chatgpt%e5%81%9a%e7%b6%b2%e9%a0%81%e8%a8%ad%e8%a8%88/): 2-4:ChatGPT做網頁設計 網頁設計,包括有前端和後端,合稱為全端。前端就是我們使用瀏覽器閱讀的頁面,常見的設計語法有HTML、CSS、JavaScript;後端是連結網頁資料庫的地方,PHP和mysql是普遍的軟體。 ChatGPT,對所有全端部份都能勝任。我們在此,僅顯示其前端設計功能,一葉知秋,它的網頁設計潛力看起來是頗值得期待。 我們在ChatGPT裡面,撰寫下列提問(prompt): “請用html和JavaScript語法, 建立一個複選(multi-choices)英語測驗題. 這個測驗題是有關’關係代名詞’的, 請將題目內容由上而下靠左對齊.” 圖2-4-1. 使用ChatGPT,來設計一個網頁英語測驗題。 上圖的關係代名詞複選測驗題的程式碼,是由ChatGPT所提供答覆。將程式碼複製貼上文書編輯器(例如記事本),再將其存成*.html檔案格式,然後快點兩次,就可以用瀏覽器閱讀其頁面了。 提問者只需用文字描述所想要的結果,其所生成的程式碼內部的指令,如按鈕(button)、核取方塊(checkbox),甚至顯示答案對或錯,一概都是ChatGPT負責寫就。讓人驚訝的,不但它使用的程式語法頗專業,它出的英語測驗題目,其難度也在多益之上。 例如答案二當中,”The person who I met……….”,常人會以為who要用受格whom才對,但實際上,使用主格who也是可以的。 圖2-4-2. 用瀏覽器開啟圖2-4-1的程式內容,得到一個關係代名詞的複選題。 - [自然語言處理之3~ChatGPT做程式設計](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b3chatgpt%e5%81%9a%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88/): 2-3:ChatGPT做程式設計 使用ChatGPT整理資料或創作文字,適當的提問(prompt)是很重要的。好的提問可以做出有效的條件限制,讓它回答的內容,合理地限縮在你所需要的範圍內。 但一般人的日常對話,或者在社群平台輸入的文字,通常都比較隨興,不會刻意去講究文法和邏輯。因此在善用此項工具前,是需要花點時間學習,才能理解提問的重要性。 ChatGPT裡面,有非常強大的程式設計功能,因為它本身的神經網路機制,就是複雜又精巧的演算法。撰寫普通的程式碼,對它來講,僅是牛刀小試,但是提詞的技巧在此也益形重要。 圖2-3-1. 使用ChatGPT,來設計一個九九乘法表的程式碼。 上面的九九乘法表Python程式碼,是由ChatGPT所提供答覆,我們在提問階段,有給予一些限制,完整的提詞內容如下:”請設計一個Python程式, 可以輸出由左而右水平排列的九九乘法表. 其中, 乘數和被乘數需兩兩交換位置, 乘積的個位數需對齊. 請不要使用function, 只使用最常見之基本語法及最少之行數.”。 我們用prompt做出層層限制,其實是在用文字來代替程式碼的指令。這樣的方式,多嘗試幾次就比較能夠掌握了。複製上面的程式,再拿到Spyder軟體上執行後,得到下列的結果,看的出來,它的確有按照我們的要求在建立其邏輯。 圖2-3-2. 執行程式得到的九九乘法表,其輸出的的格式,有刻意用prompt去要求。 - [自然語言處理之2~大型語言模型](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b2%e5%a4%a7%e5%9e%8b%e8%aa%9e%e8%a8%80%e6%a8%a1%e5%9e%8b/): 2-2:大型語言模型 現今熱門的大型語言模型,比如像ChatGPT、Gemini等,採用的都是Transformer架構。這種架構,可以將巨量訓練資料快速平行處理,但必須使用到多部AI伺服器在雲端運算,並不是一般中小型企業能負擔的起的。 所以經過一番優勝劣敗激烈交鋒,目前能提供商品化服務的,僅寥寥幾家。即使研發能力傑出如臉書(Meta),最終還是退出了第一線的競爭。 但臉書開發出來的大型語言模型第二版LLama 2,被該公司免費公開,讓其它研究資源有限的單位,可以下載其源碼,經過微調的程序,就可以套用在各自的系統當中。 圖2-2-1. Meta公司的LLAMA 2被釋出為開源碼,造福不少財力有限的研究單位。 一般中小型公司,轉而聚焦在邊緣運算當中,希望開發出來的模型,在桌上型電腦,或者平板甚至手機就可以使用,如此不但可改善網路遲延(Latency),未來創造的商機更是不可限量。 對個人工作者而言,ChatGPT也已從當初的玩具階段,晉身到工具水平了。現在它的文字輸出品質,早非昔日吳下阿蒙,做簡報做表格它樣樣勝任愉快;在畫圖方面,除了人物的一致性尚待加強,採用寫實風格作畫,真是栩栩如生、躍然紙上。 圖2-2-2. 向Copilot要求”請用寫實風格,畫出一張黃色柴犬的微笑圖片。”它就幫你畫出這樣的圖片。 - [多益聽力測驗](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e8%81%bd%e5%8a%9b%e6%b8%ac%e9%a9%97/): 作答時間:15分鐘。將得分乘以4.95,就大約是你在多益聽力部份的分數。 多益精簡版聽力測驗           多益精簡版聽力測驗 第一部分:照片描述 Question 1.                                          A   B   C   D Question 2.                                          A   B   C   D Question 3.                                          A   B   C   D Question 4.                                          A   B   C   D Question 5.                                          A   B   C   D Question 6.                                          A   B   C   D Question 7.                                          A   B   C   D Question 8.                                          A   B   C   D Question 9.                                          A   B   C   D Question 10.                                          A   B   C   D 第二部分:應答問題 Question 11.                                          A   B   C Question 12.                                          A   B   C Question […] - [自然語言處理之1~編碼器與解碼器](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86%e4%b9%8b1%e7%b7%a8%e7%a2%bc%e5%99%a8%e8%88%87%e8%a7%a3%e7%a2%bc%e5%99%a8/): 2-1:編碼器與解碼器 在RNN早期階段,它常被使用在翻譯上,在某個時序輸入一個詞,就可以在同一時序得到相對應的輸出,這跟早期翻譯的模式很接近。 尤其是用英文來翻譯法文或西班牙文,這種一進一出的架構,對語系相近的文字很有利。但如果是翻譯中文和英文,問題就比較多了。 中文句子不像英文,可以利用句子當中的空格,把單字分開為各個詞彙。中文句子每個字都是並排靠攏在一起,例如像「我打遍天下無敵手」,其實包括了「我」、「打遍天下」、「無敵手」這三個詞彙。所以中翻英輸出和輸入長度常常是不一樣的。 類似這種情況,在文章摘要和文字創作都會出現。所以,序列對序列(Sequence to Sequence,Seq2Seq),這種架構就自然而然的被推出來了。這種架構包含一個編碼器和一個解碼器,容許輸入和輸出長度不同,如下圖所示。 圖2-1-1. 編碼器與解碼器構造。 上圖上是在訓練階段,解碼器輸出必須和標記值比對,以回饋修正模型權重值;上圖下則是在預測階段,用「文字接龍」的方式,逐一輸出整個句子或段落。 目前的文字生成,除了摘要和創作,還包括製表、繪圖甚至寫程式,但設法提升傳統翻譯精準度,在自然語言模型發展過程中,實在有很基本的貢獻。 一般人學習英文,常常感覺英文單字背了又忘、忘了又背,原因在於盎格魯、薩克遜是日耳曼人分支,且法國諾曼第威廉公爵,也曾在11世紀跨海統治過英倫,把法文詞彙帶進英文當中,英文字彙因而是德語加上法語的總和,所以英文難學是必然的。但在AI鋪天蓋地席捲而來之際,把英語學好,總是會比別人多佔一些優勢。 圖2-1-2. 威廉公爵的領地諾曼地(Normandy),是二戰盟軍反攻的主戰場。 - [多益閱讀測驗](https://mobile-learning-testing.com/%e5%a4%9a%e7%9b%8a%e9%96%b1%e8%ae%80%e6%b8%ac%e9%a9%97/): 作答時間:24分鐘。將得分乘以4.95,就大約是你在多益閱讀部份的分數。 多益精簡版閱讀測驗           多益精簡版閱讀測驗 第一部份:句子填空 1. The new product development meeting will be held either in Room 402 _______ in Room 501.       A. or       B. and       C. not       D. but      A   B   C   D   2. The restaurant will _______ for two days for remodeling.       A. hold       B. build       C. close       D. invite      A   B   C   D  3. The advertising budget is divided _______ among the three divisions in the marketing department.       A. equal       B. equals       C. equality       D. equally      A   B   C   D  4. Mr. Fullham’s investments in small start-up companies have doubled _______ value in just five […] - [自然語言處理](https://mobile-learning-testing.com/%e8%87%aa%e7%84%b6%e8%aa%9e%e8%a8%80%e8%99%95%e7%90%86/): 第二章:自然語言處理 影像分類辨識,可說是深度學習最基本的功夫,它所延伸出來的影像分割及物件偵測等,結合傳統的圖形識別(Pattern Recognition)技術,在電腦視覺領域上大放異采。 用它充當機器人的雙眼時,展現出來的識別功能,讓人刮目相看。如果再引入增強式學習,就是炙手可熱的無人駕駛和無人搬運了。在這個階段,和智慧影像處理相關的科技新知,成了很多鎂光燈的焦點所在。 但值此同時,另一支潛力績優股,卻正在悄然潛行。它日後綻放的光芒,掩蓋了所有其它的人工智慧同儕,它就是「自然語言處理」(NLP,Natural Language Processing)。 自然語言處理,也是採用深度學習神經網路,但屬於RNN(Recurrent Neural Network)架構。RNN我們稱之為循環神經網路,是使用同一組的神經層,在不同時間做一序列的不同輸出,如下圖所示。 圖2-1. RNN循環神經網路構造。 上圖左邊是RNN的基本構造,右邊展開後,可以看到在時間序列上,上一次的輸出,也會是下一次的部份輸入。這種結構具有記憶的功能,所以對文句這種字詞間有前後關聯的資訊,在處理上就比較有利。 這種RNN結構只有短期記憶功能,所以後來逐步將長期記憶也加進去,隨之也考慮文字輸入、輸出長度應該會不同,甚至輸出和輸入字詞間也會有不同程度的關聯………。 最後,乾脆揚棄這種無法平行處理大量數據的時間序列,改採可以建立大型語言模型的變形金剛–Transformer,進而讓自然語言生成的GPT橫空出世。從此,人工智慧真正進入風起雲湧的時代了。 圖2-2. 變形金剛來了! - [人工神經網路之6~物件偵測](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b6%e7%89%a9%e4%bb%b6%e5%81%b5%e6%b8%ac/): 1-6.物件偵測 前面提到的影像分割,在模型訓練階段,有一個比較麻煩的地方待處理。 我們還記得,在更早前做影像辨識的時候,只需要將輸入圖片的名稱編號再編碼就可以。例如,要辨識5種花朵中的第3種玫瑰,我們是先將它編號為2(從0開始編號),再將其編碼為00100,最後把這個「標記值」連同圖片放進模型訓練。 這個「標記值」的取得,在影像分割這邊可麻煩多了,在這裡稱「標記值」為ground truth,它需描繪標記出圖片裡面的各個物體邊緣輪廓。描繪邊緣輪廓線雖然有軟體可幫忙,但還是要用到不少人工手動作業,並不十分科學。 這時候,物件偵測技術也水到渠成被發展出來了。「物件偵測」(Object detection),同樣可以分類多種物體,還能統計出各類物體的數目,並且它標記的方式比影像分割簡單多了,其中最為人熟知的演算法,叫做YOLO—You Only Look Once。 圖1-6-1. YOLO模型預測圖片中不同物體,及其位置、大小。 上面的圖片是YOLO模型訓練完畢後,用程式來預測未知圖片所顯示的結果。它可以分類框選出不同物體,並大略判斷出這些物體的大小及位置。 但模型還在進行訓練的時候,框選作業是由人為手工來進行的,目的在標記資料集每張已知圖片中的物體種類、位置、大小。看的出來,設定方框是比描繪輪廓線要簡單多了。 有別於早先的技術,YOLO演算法最大的特色,就是它進行CNN運算時,只要做一次就好(You Only Look Once),後續計算的部份都是直接在特徵領域處理了,所以它的速度非常快。 這個特色讓YOLO非常適合做視訊處理,比如交通流量的調查,消費顧客人數的統計,都可得到很好的效果。 - [人工神經網路之5~影像分割](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b5%e5%bd%b1%e5%83%8f%e5%88%86%e5%89%b2/): 1-5.影像分割 前面提到的影像辨識,僅能從一張圖片當中,判斷其內容是屬於哪一類物體。如果換個角度來看,十幾萬個像素灰階值,經過模型計算輸出後,只能得到一個編號值,這是相當不經濟的。 至少,模型應該可以從圖片中辨識多於一種物體,而且各種物體的位置大小也都可以判讀出來,這樣的神經網路,才能提供足夠多的訊息給使用者。 影像分割的目的,就是要簡化影像的表示形式,使其更容易被理解和分析。這個領域的發展,近年來引進人工智慧的活力後,重點在於將圖片中的不同物體各自所包含的範圍,標記出一致性的灰階值。這種方式叫做語意分割(Semantic segmentation),意即對圖片內容涵意的理解。 圖1-5-1. 語意分割處理前後的圖片。 上面的第一張圖,是包含貓和狗兩種物體的圖片。神經網路取出貓和狗各自輪廓線所包含的範圍,各自標記其範圍內一樣的灰階值。在此狗標記紫色,貓標記褐色,加上背景的黑色,圖中總共只有三種顏色,但這已經足夠讓模型判斷出圖片中有幾種物體,以及各種物體之形狀及位置了。 上示圖片中每一像素都有三個灰階值,代表紅、綠、藍三原色。 - [人工神經網路之4~深度學習](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b4%e6%b7%b1%e5%ba%a6%e5%ad%b8%e7%bf%92/): 1-4.深度學習 前面提到的機器學習,在使用波士頓房價資料集做迴歸分析時,其特徵(變數)有13個,相對應的權重(參數)也有13個。但到了深度學習階段,變數參數達數萬或數百萬以上是很平常的。 比如在訓練影像辨識模型時,輸入的影像上每個像素灰階值,都可被當作是一個特徵值;將它每兩相鄰神經層的節點數相乘再做加總,就決定了其所有參數的數目。 當然這樣的計算是比較傳統,並不完全適用在所有的情況當中,因為影像中任一像素的灰階值,都會與相鄰像素有關。所以在實務上,卷積神經網路(CNN)是最常用的演算法,它的參數是存在於處理卷積運算的遮罩當中。 下面的圖形,是來自於手寫阿拉伯數字資料集,從這數萬張圖片的其中10張,可以一葉知秋,為何自大航海時代以來,辨識潦草的阿拉伯數字,會一直困擾著與數字為伍的行政人員。 圖1-4-1. 10張來自手寫阿拉伯數字資料集的圖片。 下面還有另外一組資料集,是用來辨識5種不同的花朵。圖片中有單一花朵的,也有好幾朵花的,甚至有的還故意加上背景,用以增加分辨難度。 在訓練模型的時候,無論是哪種情況,每張圖片都必須標記其花朵名稱,花朵名稱先編號再編碼,隨後再和圖片一起輸入模型訓練,這種方式叫做監督式學習。這等於是在訓練階段,每張圖片都附有標準答案,等到訓練完成,再讓模型去預測尚未標記的新圖片。 圖1-4-2. 另外一組資料集,用來訓練辨識5種花朵。 早期知名的ImageNet比賽,辨識的物體達1000種,圖片總數約一百萬張,參賽者使用的神經網路層數也越來越多,從早先的十幾層,到最後超過一百層,目前主流的演算法如ResNet等,基本上還是CNN的架構。 ImageNet比賽已在2017年最後一屆功成身退,電腦視覺也從image identification進化到image understanding,甚至到現今的生成式圖像了,人工智慧的進步,真是一日千里。 - [人工神經網路之3~機器學習](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b3%e6%a9%9f%e5%99%a8%e5%ad%b8%e7%bf%92/): 1-3.機器學習 人工智慧這個園地技術交流非常頻繁,有不少現成的資料集可供模型訓練。用在機器學習這個領域,有數個知名的資料集,例如波士頓房價預測資料集,以及鳶尾花分類資料集等可供下載。 波士頓房價預測資料集,是被應用在多元線性迴歸分析上面。它的變數(特徵)有13個,這些特徵部份反映出美國波士頓市的社會結構。 波士頓有著名的NBA勁旅凱爾特人(Celtics)隊,他們老祖宗在愛爾蘭及蘇格蘭家鄉的社會階層,到了新大陸仍舊可看出一些蛛絲馬跡。 影響波士頓房價幾個重要的特徵,屋齡和房子大小當然是最基本的,但在這個資料集當中,還包括了「中低收入戶比例」和「是否靠近查爾斯河」這些因數。 下面的圖形,是一張3D散佈圖,三個軸代表三個特徵,分別是房子大小(屋子房間數)、中低收入戶比例、一氧化氮濃度(空氣指標)。這種分佈圖在資料分析上十分常用,它可以用數據點的大小表示其數量,還可以用數據點的顏色或形狀來分類或分群。 圖1-3-1. 波士頓房價資料集所繪製的3D圖。 梵谷繪製的「鳶尾花」,是大家耳熟能詳的名作,但一般人比較不瞭解的,是鳶尾花的花萼和花瓣,其長度和寬度,和常人的認知是有所差異的。 常見的花朵,它的花萼多半是綠色(金庸小說”神鵰俠侶”裡面,就有一位「公孫綠萼」),其長度較短且包覆在花瓣外圍底部。但有些鳶尾花的花萼可能會比花瓣長,甚至兩者顏色還不容易直接區分出來,所以早在1936年,Ronald Fisher爵士就將其整理為分類的資料,雖然其樣本數僅150筆,但直到目前為止,還是非常好用的分類範例。 圖1-3-2. 這朵鳶尾花,你可以分辨出來花萼和花瓣各在哪裡嗎? 鳶尾花的花萼(sepal)和花瓣(petal),使用其長度(length)和寬度(width)來分類,可以得到下圖的結果。分別是花瓣(petal)較小的紅點Iris-Setosa,中等尺寸的綠點Iris-Versicolor,和較大尺寸的黃點Iris-Virginica。 圖1-3-3. 鳶尾花的三個分類。 - [人工神經網路之2~機器學習與深度學習](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b2%e6%a9%9f%e5%99%a8%e5%ad%b8%e7%bf%92%e8%88%87%e6%b7%b1%e5%ba%a6%e5%ad%b8%e7%bf%92/): 1-2.機器學習與深度學習 一般人提到人工智慧,有時會將它和「機器學習」當做是同一件事,認為既然某種機器懂得如何去學習,那麼它就如同具備有人工智慧了,並據此認為前面所提到的「深度學習」,也應該是屬於機器學習的一種。 這樣的認知並無不可,但更多的時候,機器學習和深度學習,是可以分開討論的。深度學習有不少觀念是源自於機器學習,但也有很多技術是獨立發展出來的,這兩者之間,還是可以做出一些區別。 機器學習,當初被發展的目的之一,是在擴充傳統統計技術之不足。早期在做統計迴歸的時候,權重的決定,必須先考慮到變數(特徵)的重要性,但到了機器學習的時代,權重是由大量數據分批次(batch)、分週期(epoch)、反覆修正(iteration)而得,所以一開始的權重,是可以用隨機的方式來設定它。 至於深度學習,如果先懂得機器學習再來理解它固然有幫助,沒有也無妨。它同樣是在取得最佳的權重值,但其權重是存在神經層和神經層之間,權重(參數)數目少則數十萬,多則可達數百億個,處理的技巧已經是既多元又繁複了。 機器學習,目前多使用在資料處理的範圍,例如迴歸、分類、分群。常用的技術像K-means、K-Nearest Neighbors、決策樹等。 深度學習,是目前在影像辨識、語音辨識、自然語言處理的主流技術。常用的技巧像CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DQN(Deep Q Network)等。 圖1-2. 深度學習可以被認為是屬於機器學習,但也可以把這兩者看成是人工智慧的兩個主要項目。 - [人工神經網路之1~達特茅斯會議](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af%e4%b9%8b1%e9%81%94%e7%89%b9%e8%8c%85%e6%96%af%e6%9c%83%e8%ad%b0/): 1-1.達特茅斯會議 西元1950年,英國科學家圖靈提出了著名的「圖靈測試」,認為同一個問題,如果機器的答案和人類的答案無從區分其差異的話,那就彷彿機器也有智能一樣。 1956年,在美國長春藤盟校之一,達特茅斯學院的研討會上,時任該校助理教授的麥卡錫(John McCarthy),在場確定了「人工智慧」(Artificial Intelligence,AI)這一個名詞。當時學者對其願景十分樂觀。 在經歷了經費充沛、優秀人才競相投入的60年代後,1974年迎來了AI第一次寒冬,過度誇大的前景預測一一泡沫化,經費大幅被削減。一直到專家系統(expert system)出現,才萌生一些轉機。 很不幸地,專家系統的熱潮,並沒有維持很久,從1987年苦撐到1993年,然後掉進第二次谷底。 圖1-1-1. 達特茅斯會議四位發起人之一,克勞德夏農(Claude Shannon),是在數位領域相當著名的學者。 1993年之後,情況開始改觀了。積體電路的快速發展,電腦功能的革命性躍昇,加上「感知器」(Perceptron)的重生,AI再度復活。這次,不單單是在學術領域而已,它涵蓋的範圍,已經和每個人的日常生活息息相關了。 在學理應用上,辛頓(Hinton)的深度學習(Deep Learning),改名自惡名昭彰的深度神經網路(Deep Neural Network,DNN),他善用反向傳播(Backpropogation)的技巧,來修正取得各節點的權重,是一個重大突破。 圖1-1-2. 反向傳播(back propagation),有用到微積分的連鎖法則(chain rule)。 若輔以矩陣運算能力特強的圖形處理器(GPU),彼時熱門的智慧影像識別的判斷誤差,已可得到顯著的改善。 人工智慧目前的商業應用,包括電腦視覺、語音辨識、自然語言處理等,是各先進國家大力推動的科技重點。 在AI基礎教育上,除了做跨領域整合,結合社會科學、人文藝術外,最根本的學能培養,還是在程式設計上面。目前各大學院校程式語言的課程,越來越多選用Python,這個語言也是人工智慧的最佳選擇。 然而比較高階的使用,在實務上還需再學習TensorFlow(學術界很多人喜歡用Pytorch),然後再搭配GPU在Python編輯環境上作業。C/C++語言則適合應用在視訊等需要快速運算的領域。 圖1-1-3. 為什麼要學Python?讓Rossum告訴你。 - [人工神經網路](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e7%a5%9e%e7%b6%93%e7%b6%b2%e8%b7%af/): 第一章:人工神經網路 人工智慧的深度學習(deep learning),也叫做深度神經網路,是從人工神經網路(Artificial Neural Network)發展而來的。它是一種模仿動物大腦結構與功能的數學模型或計算模式,我們先看一下大腦神經元是如何傳遞訊息的。 下圖上的神經元細胞接受到左方訊號後,會將訊號處理後再傳遞給右方的神經元細胞。接受訊號是使用較靠近細胞核(nucleus)的樹突(dendrite);傳遞訊號則是使用軸突末端(axon terminals),它和另外神經元的樹突,會形成所謂突觸(synapse)的接觸點,來進行電子或化學反應。不論接受或傳遞訊號,都可來自或經由一個以上的神經元。 我們可以用上圖下再把概念精簡類比一下。一個神經元細胞可當作一個節點,當來自其他神經元的訊號,進入節點經過處理後,可以把訊息再傳遞給其他節點。一個節點的訊號可來自多個節點,並把訊號傳遞給其他多個節點,這個概念可擴充成神經網路的初步雛形如下圖: 上圖上是一個簡易的神經網路結構,每個圓圈當作一個節點,縱向垂直排列的多個節點形成一個神經層,在此只有三個神經層,由左至右分別是輸入層、隱藏層、輸出層。 在這裡可以和幼兒的腦細胞發育做一個比較。嬰兒從出生到兩歲,神經元數量基本沒有變化,大腦在胎兒剛出生時,就配備了基本所有神經元,只是後來建立了很多突觸以連接其他神經元。這兩年當中,大腦每秒就產生700個突觸連接如下圖所示: 上面這種比較完整的神經元結構圖,就可以用下面的深度神經網路來模擬。其輸入層和輸出層當中的隱藏層數目,以及任一個神經層的節點數,都可做增減,來改變相鄰神經層中間權重矩陣的大小。 兩兩相鄰神經層中間交叉重疊的線條,就代表這些權重矩陣。一般而言,權重矩陣的元素越多,預測的準度也會越高,但同時也必須輸入更多的資料來訓練模型。 - [計算機到美國-5](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b-5/): 2-5.女性程式員開始露臉 先前提過的哈柏(Hopper)女士,她是以海軍上尉的身分,協助當時的海軍少校艾肯,在哈佛大學編寫馬克一號使用手冊。 她也是馬克一號主要的程式設計人員,雖然那時候還是使用打孔紙帶輸入程式碼,但馬克一號在哈柏的努力下,可說是當時最適合輸入電腦程式的計算機。 https://mobile-learning-testing.com/wp-content/uploads/2024/06/ComtoAmeri5.mp4 在此之外,有六個默默付出的娘子軍,在摩爾學院被選入ENIAC團隊,這六人變成男性工程師的程式設計夥伴,她們後來也逐漸理解,程式設計的重要性,可能不亞於電子電路的設計。  從愛達到哈柏女士到ENIAC這六人組,明白顯示出,天性細膩堅忍且恪守工作倫理的女生,其實很適合從事程式設計的相關工作。 圖2-5-1. ENIAC兩位女性程式設計員,Jennings(左)、Bilas(右)。 - [計算機到美國-4](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b-4/): 2-4.馮諾伊曼和艾柯特 ENIAC使用了1萬8千隻真空管,難度極高,幸賴艾柯特的年輕工程師團隊克服萬難,終於在1945年11月大功告成。它可在一秒鐘完成五千次加減運算,比馬克一號快了一百多倍。 但它有幾個問題。它是十進位而非二進位,儲存容量太小、使用太多真空管、改變程式太耗時間…………….。 圖2-4-1.馮諾伊曼在普林斯頓高等研究院所建立的計算機實驗室。 普林斯頓教授馮諾伊曼,在這緊要關頭適時登上舞台,他把下一代開發的機型命名為「EDVAC」。EDVAC有幾個特色,第一,它是使用二進位;第二,它把指令和資料共同儲存在內部記憶體上。 第二點相當重要,如果記憶體可同時儲存程式的指令和計算的數值,那就不用每次都要機械式地從外部輸入卡片,這將大大地提升處理速度和儲存空間。 這個原始想法應該是來自摩爾學院,但馮諾伊曼大力強調這項特色,似乎變成他才是主要貢獻者。二戰後馮諾伊曼回學校去了,當時的普林斯頓大師雲集,愛因斯坦和楊振寧都是校內成員。 https://mobile-learning-testing.com/wp-content/uploads/2024/06/ComtoAmeri04a.mp4 - [計算機到美國-3](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b-3/): 2-3.莫渠利和高士譚 為了因應二戰電子技術人力需求,摩爾學院在1941年暑假開辦電子學課程,其中一位約翰霍普金斯大學物理學博士班畢業,在爾賽納斯學院擔任講師的莫渠利,是結業生中表現最傑出的,獲得留在摩爾學院擔任助理教授的機會。 莫渠利曾造訪愛荷華州立大學「被遺忘的電腦之父」–阿塔那索夫,學到一些概念。他一直對製作真空管式計算機很感到興趣,本身也具深厚的計算理論基礎。 在摩爾學院內,莫渠利結識了優秀的電子工程師艾柯特,他是碩士班畢業生,兩人對電子式計算機的願景,都有強烈的熱忱。 莫渠利在1942年8月,提出一份備忘錄,標題為《高速真空管在計算上的應用》,但並沒有受到賓州大學的重視。 但這份備忘錄卻引起了一位軍官的注意,他是芝加哥大學數學博士班畢業的高士譚中尉,在二戰期間,負責聯絡摩爾學院有關女性計算員的各項事宜。 莫渠利和高士譚的理論背景,以及目睹女性計算員被數值大海淹沒的窘境,都讓他們瞭解新型計算機的建造是勢在必行。 所以在高士譚的協助下,莫渠利將計畫名稱修訂為「電子數值積分器與計算機」(ENIAC),在1943年4月9日正式拍板定案。 - [計算機到美國-2](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b-2/): 2-2.賓州大學摩爾學院 馬克一號做一次乘法計算,就需要花費6秒鐘的時間,即便是在1943年,都不是讓人滿意的速度,接下來要開發新型計算機,一定要想辦法提升運算效率。 馬克一號使用到電磁鐵式的繼電器,被歸類為機械式的計算機,要想加快運算速度,一定要改用電子電路,也就是應該使用真空管來取代繼電器。真空管是當時極重要的電子元件,具有放大和整流的功能,類似現在的電晶體。 https://mobile-learning-testing.com/wp-content/uploads/2024/06/ComtoAmeri02a.mp4 計算機電子化的重責大任,是落在賓州大學身上。它的電機學院是由Alfred Fitler Moore所捐贈,所以也稱之為摩爾學院。賓州大學是著名學府,其華頓商學院目前在全美排行數一數二。 賓州大學位於費城,離東北方普林斯頓大學約一個小時路程,離西南方美國陸軍的「彈道研究實驗室」,鐵路相連不到一小時車程。 圖2-2.賓州大學早期校園 - [計算機到美國-1](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b-1/): 2-1.哈佛大學艾肯教授 艾肯於1937年,在哈佛大學物理系唸博士班時,必須求解真空管的非線性微分方程式,他不得不向系上尋求支援,請求幫忙建造一台數位計算機。 系上對這個提議不置可否且無力支持,但艾肯鍥而不捨,他轉而將計畫向各方兜售,最終獲得IBM公司的青睞,在IBM頂尖工程師的協助下,建造出真正可以運作計算的電腦。 圖2-1-1.哈佛馬克一號 這部電腦取名為「馬克一號」(Mark Ⅰ)。它的運算速度並不快,每秒鐘只能做三次加法或減法,並不是採取二進位,而且體積龐大,稱不上是很先進的成果。但馬克一號的意義在於,它是電腦時代的圖騰,是第一台可以實際操作的全自動計算機。 當時負責打孔卡片程式輸入的是哈柏女士,哈柏有一次執行程式時發生問題,但詳細檢查之後,確認程式碼本身並無邏輯錯誤,後來維修工程師從一部繼電器的縫隙中,抓出一隻卡在裡面的肇禍飛蛾,從此,修改程式碼的錯誤就俗稱為「debug」(抓蟲)。  https://mobile-learning-testing.com/wp-content/uploads/2024/06/CominAmeri01.mp4 - [計算機到美國](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%88%b0%e7%be%8e%e5%9c%8b/): 第二章:計算機到美國 在巴貝奇和愛達那段期間,法國人柯爾瑪,也在1820年發明了加減計算機–Arithmometer。這部機器傳入美國並經改良後,在兩次大戰期間,竟然銷售了幾百萬台。 美國人自來就勇於嘗試各類新開發的辦公室裝置,例如像打字機、收銀機、加算機等。 因此在1890年的人口普查招標中,評審委員會一致同意,引用卡片打孔技術的霍勒里思電動列表系統,贏得該次人口普查的標案。 霍勒里思後來成立列表機器公司,提供資料統計分析服務。該公司之後被CTR收購,最終變成IBM國際商務機器公司。 - [計算機在歐洲-5](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%9c%a8%e6%ad%90%e6%b4%b2-5/): 1-5.艾達女士的演算法 艾達女士(1815~1852)有一個赫赫有名的父親,就是家喻戶曉的英國詩人拜倫男爵。 她母親安娜貝拉有不錯的數學天份,在和拜倫離婚後,為了不讓艾達沿襲她父親浪漫不羈的天性,聘請了家庭教師來加強她數學和科學的訓練。 但艾達同時遺傳了父母兩方的基因,以至於特別鍾情於所謂「詩意的科學」(poetical science),就是像計算機這種需要結合演算法,合乎邏輯、結構優美的科學。 巴貝奇的分析機從未真正運作過,但他所提的概念,例如數值儲存和算術運算分開,使用不同卡片輸入來執行不同運算等,讓分析機在概念上類似現代的電腦。 艾達是在社交場合認識巴貝奇,她能理解分析機的潛力,也協助翻譯義大利人描述分析機的論文,還加進了篇幅更長的「譯者評注」。 在1843年所寫的「譯者評注」中,艾達為後世留下兩個主要貢獻,也讓她因此名垂青史。 圖1-5-1.艾達女士圖像 其一,艾達認為,分析機不僅能做數值運算,還能做邏輯運算(例如比較判斷等),甚至,還可以處理音樂、影像等可供算術或邏輯運算的內容。 其二,她提出了現代電腦中「演算法」的概念,並以白努利數列舉例說明。 白努利數列是很複雜的無限數列,不好理解。我們可以用比較簡單的例子來認識何謂「演算法」。 例如我們知道直角三角形一邊為3, 一邊為4, 欲求其斜邊大小。 這個題目我們可引用畢氏定理「斜邊平方為兩直角邊之平方和」。所以先求3平方以及4平方之和後,再開根號得5。 在這個例子中,「先各求兩直角邊平方,將其相加後,再開根號」,即為本題之「演算法」。因為它是可以寫成程式,以計算出任何直角三角形的斜邊值。 另一個例子是從1加到10,1+2+3+4+5+6+7+8+9+10= ?。 我們用手算這題目,當然可以告訴自己,應該要一個一個慢慢加。但電腦並不懂什麼叫做「一個一個慢慢加」,你必須要教它如何進行「一個一個慢慢加」的程序。 你必須告訴它,「從1開始,每次加上一個比現有數字多1的數字,一直累加到10為止。」 上述過程,可以寫成迴圈(loop)程式碼,所以也是一種演算法。 簡單地講,「演算法」就是解答問題的步驟程序,並且可轉換成程式碼。「演算法」不一定要求出正確解,也可以只求出近似解︒ 愛達當年已經提出「次常式」的概念,也會使用遞迴的技巧,後世為表彰她的貢獻,美國國防部開發的程式語言Ada,就是以她來命名。 圖1-5-2.艾達的白努利數演算法 - [計算機在歐洲-4](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%9c%a8%e6%ad%90%e6%b4%b2-4/): 1-4.巴貝奇的分析機 巴貝奇出生於1791年,是倫敦一位富有銀行家的兒子。在就讀劍橋大學三一學院時,他的早年學長︐偉大的牛頓︐,其輝煌的學術成就產生一些後遺症,導致英國的數學水平落後於歐洲大陸,原因是他的微積分點運算符號晦澀難懂。巴貝奇曾和好友們組織社團,提倡使用萊布尼茲簡明易學的微積分符號。 他在1822年寫公開信給皇家學會會長戴維,建議政府應支持他開發差分機,以因應大航海時代和工業革命大量的計算製表需求。所以從1823年起,英國政府開始長期提供經費製造「差分機」。 差分機是使用機械裝置(主要是齒輪和軸承),來進行對數、三角函數計算,甚至可以求得微分方程的近似解。 之所以叫做「差分」,是因為它可以將複雜的函數計算,簡化為大量的加、減計算,由機器來執行。 圖1-4-1.巴貝奇的差分機 巴貝奇的差分機除了計算功能之外,還預期可將計算結果列表輸出,如此便可大幅減少因人工抄寫造成的製表錯誤。 但差分機的機械困難度,遠超過事先所估計,巴貝奇畫了幾百張設計圖,始終沒有正式產品做出來。 更糟的是,到了1834年,巴貝奇居然向英國政府要求,希望增加撥款,讓他建造功能更強大的「分析機」。自此,政府信心喪失殆盡,決定中止撥款。巴貝奇接下來終其一生,只能運用自己的財力,來支應分析機的設計和製造。 分析機,其設計是更接近後來的計算機,它採用雅卡爾織布機的概念,不但使用卡片輸入,而且不同的卡片輸入可以做不同的計算,可說是一部具廣泛功能的機器,但複雜度更甚於差分機,當然,最終還是沒有製造出來。 巴貝奇傾盡家財、耗盡心力,終究一無所獲。他晚年時,在科學界影響力日漸式微,甚至被視為與現實脫節的奇怪老人。   圖1-4-2.巴貝奇的分析機 - [計算機在歐洲-3](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%9c%a8%e6%ad%90%e6%b4%b2-3/): 1-3.雅卡爾織布機 早期織布機的操作方式,是靠人工用鉤子挑起選定的直向經紗,再用桿子把橫向的緯紗推到它下面,來進行編織圖案的動作。 1725年法國工人魯修為便於重複編織圖樣,在織布機套上穿孔紙帶;他的夥伴則在1726年改良設計,將紙帶換成相互串連的穿孔卡片。 以此機器為基礎,1801年法國人雅卡爾發明提花織布機。這種新型織布機,是利用卡片中所設定孔洞的位置排列,來決定所須啟動的鉤子和推動的桿子。 這部織布機變更連串的卡片來編織不同圖案時,無需更動機械設計,這是可程式化機器的里程碑。 圖1-3-1.雅卡爾織布機的運作 圖1-3-2.利用雅卡爾織布機所編織出的雅卡爾本人肖像 - [計算機在歐洲-2](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%9c%a8%e6%ad%90%e6%b4%b2-2/): 1-2.萊布尼茲計算機 1671年,和牛頓幾乎同時發明微積分的德國數學家萊布尼茲,在出使法國之後,請巴黎機械專家協助,在1674年設計一台更完整的機械計算機,但始終沒有實用化。 他設計的這種新型機器,由兩個部份組成:第一部份類似加法器;第二部份屬於乘法器,多使用了兩排齒輪(被乘數輪與乘數輪)。 圖1-2-1. 萊布尼茲乘法機 萊布尼茲多才多藝,是科學家、神學家、法學家、政治家兼外交家,號稱「17世紀的亞里斯多德」。他遠在中國傳教的朋友,曾經郵寄給他中國的易經伏羲六十四卦圖。 聰明的萊布尼茲,一眼就看出來,古代的中國人,很早就掌握了二進位的概念。萊布尼茲以圖解說明,八卦中的「- -」與「—」,就等於是「0」與「1」,這兩種符號,可以排列組合出八種變化。 圖1-2-2. 易經八卦圖(2的3次方等於8),和六十四卦圖(2的6次方等於64) 在「微積分是由誰發明」的爭論當中,雖然最後這項榮譽歸牛頓所有,但萊布尼茲的微積分運算符號,卻遠較牛頓的符號簡明易學,也因此讓歐洲大陸的數學水平,逐漸超越當時的科學重鎮英倫三島。 牛頓的微積分符號晦澀難懂,跟他不擅長溝通表達的性格很有關係。他在劍橋大學教書的時候,很不受學生的歡迎,經常對著空無一人的教室,照樣把課程硬是從頭講到尾。 https://mobile-learning-testing.com/wp-content/uploads/2024/05/CominEuro02.mp4 - [計算機在歐洲-1](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%9c%a8%e6%ad%90%e6%b4%b2-1/): 1-1.巴斯卡計算機 1642年法國數學家巴斯卡,為減輕父親計算稅金工作的負擔,製造出一台可以運算加減的加法機。這些機械,是利用一組水平齒輪和一組垂直齒輪,以相互嚙合轉動的方式,來執行計算和自動進位的運作。1971年發明的程式語言PASCAL就是為了紀念這位先驅。 圖1-1.巴斯卡加法機 - [計算機在歐洲](https://mobile-learning-testing.com/%e8%a8%88%e7%ae%97%e6%a9%9f%e5%9c%a8%e6%ad%90%e6%b4%b2/): 第一章:計算機在歐洲 現代電腦,是使用電子電路來進行大量快速計算,但在電子學尚未出現之前,人們已懂得利用機械裝置來從事類似的工作。 在本章中,從17到19世紀的歐洲,我們介紹幾位重要的機械式計算機先驅。 他們當中,有的人成功地將開發的產品推向市場,獲得商業利益;有的人卻僅有先期研究報告,沒有具體成果產出,甚至受人嘲弄抑鬱以終。但無論如何,他們同樣在計算機的開發歷史中,各自付出了智慧和心力。 - [前世與今生-12](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-12/): 大約過了兩個禮拜左右,一如我所料,尼古拉斯透過他太太,到學校來邀請我到他家去吃飯。 那天晚餐席中,尼古拉斯開頭就對我說,他已經接受了國立聖彼得堡大學的終身職教授缺,下個月初就要回俄羅斯了。 他要我不用擔心碩士學位,他會預先幫我安排妥當。 我坐在餐桌前,不斷搓著雙手,半天不曉得該說些什麼。尼古拉斯也個是悶葫蘆,說完開場白,接下來就是好一陣子的沉默。 他看到我欲言又止,知道我滿腹狐疑,雙方努力加餐飯,一時尷尬的氣氛還沒消解。 終於,他對那天的事情,說了聲抱歉。接下來的時間,都是他在跟我解釋整個事情的來龍去脈。  尼古拉斯說,自從我幫忙突破理論瓶頸後,他的實驗越做越精純,甚至後來連前六世的記憶也能被喚醒。 從彼得大帝自荷蘭學到造船技術,回到波羅的海建設聖彼得堡算起,他累世都是羅曼諾夫王朝的貴族,並且享受廣大佃農供養,生活奢靡優渥,直到共產黨破壞了這一切,並導致沙皇被刺殺身亡。 https://mobile-learning-testing.com/wp-content/uploads/2024/05/reincar12.mp4 「我剛理解這一切時,心中憤恨難平!」他說本想用自己的專業在台灣做一顆原子彈,偷渡回莫斯科,將克里姆林宮炸到片瓦不留。 至於原子彈會傷害到多少人,造成多大的損害,他當時被仇恨所蒙蔽的心,早已管不了這麼多了。 但是,在台灣生活的這幾年,耳濡目染所接觸到的事情,其實已經開始對他潛移默化。 中國人的包容寬厚,敬天畏神,凡事重視因果,讓他懂得感恩目前所擁有,知道要從各個角度來思考問題。 「我一定是前幾輩子有積到陰德,這輩子才能當到哈佛教授。」他笑著說。 他這次回俄羅斯不是要帶炸彈回去的,而是要帶著台灣的民主自由觀念回去。 「台灣真的很自由,走在大馬路上罵總統,也不用擔心會被抓去關!」他終於爽朗地哈哈大笑了。  我在桃園機場送尼古拉斯教授去搭長榮班機,他先要飛到曼谷轉阿姆斯特丹,最後再回聖彼得堡。我想到這段時間的點點滴滴,真的很像是演了一齣戲劇張力十足的電影。 尼古拉斯教授在機場對我說:「Doctor Yang, hope to see you soon !」,我苦笑著回答,我甚至連Master都還不是。 他說:「Don’t worry, sooner or later!」。他勉勵我,拿到博士學位只是做研究的開始,未來要走的路還很長遠。 當飛機直奔上雲霄時,我奮力的揮動手臂,大聲的喊道「再會了尼古拉斯教授!」。 再會了教授!再會了我的青澀歲月! - [前世與今生-11](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-11/): 他的穿著外貌看起來都和以前都沒什麼兩樣,但細心的人可以察覺得出來,事情好像已經開始有些不同了。 兩個月前的尼古拉斯是個溫煦長者,他諄諄教誨,令人如沐春風。但現在的他,談吐優雅如故,卻帶有一種心思縝密的政客侵略性。 警覺到他的變化,我開始有點害怕和他碰面了,一直到在他研究桌上看到一張設計草圖,我才知道事態有多嚴重! 那張設計圖什麼人都看得出來是一顆炸彈的草圖!最糟糕的,是裡面的原料,居然標示有蠟、石墨,以及鈾–235。 尼古拉斯教授竟然想做一顆原子彈………!  以他核物理的專業,這不是甚麼大問題,但他為什麼要做原子彈?他要去哪裡拿鈾-235? 想到這裡,我頓時頭皮發麻!原來尼古拉斯這一段時間,都在打隔壁清華原子反應爐的主意! 我覺得我必須要立刻採取一些行動了!  接下來幾天,我天天盯著他的行蹤,不敢稍有鬆懈。特別是晚上時候,只要他往反應爐方向走過去,我立刻神經緊繃。 要發生的事,終究還是會發生! 那天午夜過了十二點,剛好是在警衛交班的空檔,尼古拉斯手提蓋格計數器,身穿輻射防護衣,躡手躡腳的走近反應爐。 當他探頭探腦,還在猶豫不決的時候,我一把衝過去,將他撲倒在地上。 他使盡全力想掙脫我的壓制,憤恨的喊叫:「那些布爾什維克黨徒,應該付出代價!」。 https://mobile-learning-testing.com/wp-content/uploads/2024/05/reincar11a.mp4 他一直反抗,我一直壓制,等到他情緒逐漸平息,看清楚了我是誰,立刻像洩了氣的皮球,坐倒在路面上。 他在地上坐了半個小時,最後不發一語,走回實驗室。 我的老闆出了這樣的事,我一句話也不敢多說,不敢告訴任何人。 - [前世與今生-10](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-10/): 如果我讓駐波的週期改變,是不是可以刺激大腦皮質上不同粗細的紋路,也就是各個人不同時期的記憶? 我趕到實驗室,把那部射頻產生器拿過來,用頻譜分析儀解析它的頻率強度分佈。 我發現尼古拉斯的參數設定很隨興,他喜歡把電波的波長設在中段部份,而且頻寬較寬,難怪只得到微弱的前世訊號。 我隨即把射頻產生器的波長設定得短一些,並將譜線寬度縮更得窄一點。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/reincar10.mp4 隔天,我迫不及待把尼古拉斯教授拉過來試試,當時我的心裡有點七上八下,萬一事情不是如我所料,那真的就糗大了。 但一想到碩士學位,說什麼都得先博一博。 尼古拉斯倒是比我還著急,他一進實驗室馬上往醫療床一躺,戴好頭罩後,就催促我,趕快把調整過後的電波往他頭上投射過去,接下來的實驗進行了將近三十分鐘。  實驗完畢,尼古拉斯坐在醫療床邊半天沒有下床,嘴巴裡用俄文喃喃自語不知道在講什麼,我心裡更加惴惴不安了。 「Terrific job! How did you get it?」聽到他這麼講,我心上的石頭才落了地。 我一一跟他解釋我的想法,他不斷點頭,最後他說:「你把時間頻率轉換成空間頻率,非常高明!」他說他想休息一下,要我先回宿舍去。 接下來一段時間,尼古拉斯教授整天把自己關在實驗室裡,不准任何人去打擾。我也趕緊整理好實驗數據及理論,忙了將近兩個月撰寫碩士論文,好一陣子沒再看到尼古拉斯。 論文口試前一個月,我才又碰見尼古拉斯教授。 - [前世與今生-9](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-9/): 尼古拉斯並不否認,「喚起前世的記憶有什麼不好?」他輕描淡寫地說,這對於歷史、人文、風俗的研究都有很大的幫助,誰曰不宜?  我很清楚,他是在避重就輕。 深受佛道思想影響的我,認為凡事有其因果,企圖去掌握一些類似神通力的東西,絕對不是一個知識份子應該做的事。 接下來變成是尼古拉斯全力在說服我。入學之後,這是我第一次和尼古拉斯發生激烈的意見衝突,直到最後,他拿碩士學位來施壓。 我想到,辛辛苦苦從管理學院轉到理學研究所,為的是甚麼?難道就這麼泡湯嗎?最後我終於屈服,但我的附帶條件,是不能再用我本人做實驗了。 我打定主意,拿到碩士學位後,就不再做這種怪力亂神的研究。 峰迴路轉 接下來的時間,為了我的碩士學位,我不得不全力投入「喚起前世記憶」的這項工作。第一步,我要先了解,尼古拉斯目前究竟做到什麼程度? 他說日前用自己做實驗,隱隱約約感覺到,自己的前世好像是俄羅斯在沙皇時代的貴族,但因「訊號微弱」,更早的年代、更清楚的細節就察覺不出來了。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/reincar09.mp4 我趕緊上網瀏覽「訊號處理」類的最新文獻,看看有沒有什麼辦法,可以幫忙增加訊號強度。 但查了半天,實在沒什麼心得。只知道空間中傳播的無線電波,是由不同強度的電波頻率所組成的,但這也只是最基本的傅立葉理論而已。 事情一開始,就進行得不太順利,讓我有些氣餒。在一個轉側難眠的夜晚,我順手拿起實驗室的期刊隨意翻閱,看到一張照的很仔細的大腦磁振造影3D影像,影像上的大腦皮質皺摺清晰可見。 旁邊的文字解釋說,大腦皮質上的皺摺紋路越精密的,那個人的聰明才智也可能會越高。  看到這段文字我跳了起來,頭頂差點撞到上舖!我突然想到,在頭罩裡面的「駐波」,其實是在刺激這些大腦皮質皺褶的紋路。 - [前世與今生-8](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-8/): 我趕緊躺臥在醫療床上,尼古拉斯幫我把頭罩套上,將室溫調低,並用射頻產生器在我的頭罩內發出無線電波。 一開始,我的頭皮有點發燙,尼古拉斯立即調低無線電波的功率,並再調降室內空調溫度。再過一會兒,慢慢的,我彷彿覺得有人在幫我按摩大腦內部了。 我的意識,逐漸進入佛家所說的「不思善,不思惡」的境界,感覺好像知道被催眠,卻又不想一覺醒過來………。 朦朦朧朧之中,我好像看到高中英文老師正在訓勉同學「萬般皆下品,唯有讀書高」。 我很想大聲告訴他,讀書是一輩子的事情,不要用這種方式教學生,這樣會傷害學習的熱情!但身體使盡了力量卻發不出聲音來………。 我好像看到母親拉著我的手,一起在鄉下車站等公車。 坐上公車後,母親用左手輕擁著我的肩膀,我抬頭望著母親關心的表情,我喉頭似乎哽住了………。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/reincar08a.mp4 「好了,可以了!」聽到尼古拉斯的聲音,看到濛濛的眼前,我心裡這才明白,這部時光機器,真的有他所描述的功能。 尼古拉斯,要我隔天找個時間和他討論這次實驗的心得。  第二天到他的研究室時,我開門見山就問:「被喚醒的記憶,它的時間點能不能精確的掌握?」 他立刻表示,我一下子就能抓到問題的重心,這就是他為什麼要找我的原因。 他壓低了聲音告訴我,比兒時更遙遠的記憶都可以被喚醒。 這次我不再客氣,單刀直入地說,什麼是「比兒時更遠的記憶」?他要我自己先想想十分鐘,然後再回答他。 我起身在實驗室裡踱方步、繞圈圈,繞到第九個圈圈時,我已經瞭然於胸。 我大聲的質問他,「你是要喚醒前世的記憶!」。我在講這話時,心裡很激動,以致於聲音都在發抖。 - [前世與今生-7](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-7/): 系出名門 尼古拉斯家人和我慢慢熟稔之後,我也逐漸感覺出來,他們和別的家庭確實有很大的不同。 比如他教小孩子英文,不單單是要求講的流利而已,所使用的詞彙也必須精準又優雅,甚至連講話的語調也要求能和傳達的意思相貼切。 我幾次遇到這種情況時,都為他的小孩子感到不捨,覺得這讓一個十二歲的非英文母語兒童太沉重了。 奇怪的是,他兒子自己反倒甘之如飴,還不時希望他父親能再多教一些更深入的,這實在讓人嘖嘖稱奇。  https://mobile-learning-testing.com/wp-content/uploads/2024/04/reincar07a.mp4 和他家三人吃飯則是一件苦差事。 他太太的手藝並不是很糟糕,相反的,幾道俄羅斯家鄉菜,特別是那盤馬鈴薯泥常讓我食指大動。冬天的時候,一勺熱呼呼的馬鈴薯泥從食道緩緩嚥下,溫暖了我的胃、也溫暖了我的心。 辛苦的是吃飯的排場! 他要求餐桌上桌布及飾品的擺置,一定要高雅大方,用的餐具也都要是純銀的,甚至連餐後的甜點及紅酒也不能馬虎。這讓吃慣了路邊攤的我暗自叫苦,我開始有點懷疑,這家人是不是真的有些貴族血統…….。 到了後來,甚至連尼古拉斯家的水電瓦斯費都是我在幫忙繳交了,進入到這種水乳交融的階段,實驗室裡的學長、同儕自是對我牙癢癢的,但我也知道,尼古拉斯早把我當作入室弟子看待了。  有一天,當實驗室其他人都不在時,他神秘兮兮地找我到那間有3D人腦影像的實驗室去談話。看他掩不住心中那股雀躍,我知道關鍵時刻終於來臨了! 他問我願不願意試試那部時光機器?我立刻就答應,他要我晚上有點睏意的時候再過來。  我吃過晚餐,東摸西摸磨蹭了半天,好不容易熬到快十一點到實驗室時,尼古拉斯已經忙了一整個晚上在調整儀器參數了。 - [前世與今生-6](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-6/): 尼古拉斯教授聽到我要回去,顯然不太高興,嘟噥著說,才開始進入狀況,居然馬上就要結束了。 他諭令我,一定要去參加幾天後的清華碩士班推薦甄試,他會幫忙「擺平一切」。他不停催促我馬上去補辦報名手續,我也只好照著他的話,去學校試務中心繳了報名費。  碩士班推薦甄試那天,三、四個老師圍著我問了不少問題。每當我答非所問時,尼古拉斯馬上就幫我補充說明,問到後來,幾個老師似乎心裡有數了,他們微笑著回頭看了看尼古拉斯,我也知道事情差不多「妥當」了。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/Entrance.mp4 錄取名單一公佈後,我就好像如魚得水了。除了禮拜一、二的大四畢業班必修課之外,其餘時間,我都大模大樣待在清華實驗室裡面,儼然已經是一付準研究生的派頭。 待碩士班新生九月入學後,除了實驗室的研究事項之外,尼古拉斯也要我教他們父子倆中文,他堅稱,這是我領取研究生獎助金,必須做的工作一部份。 做這個「工作」,其實也沒有花費我多少力氣,因為他們父子都非常聰明,一教就會,並不時糾正一些我原先認為理所當然,但事實上卻沒有弄清楚的地方。 比方說,有一次我跟他解釋閩南人的閩字,是個形聲字,好比是門裡面有一隻蟲。 他卻反問我閩南是不是在中國偏南的地方?他說,很有可能當地古時候天氣炎熱且多沼澤,所以盛產蛇類,虫字可能指的是蛇。 我以為他在開玩笑,後來詢問過一個歷史系的教授,才發現尼古拉斯當真龍非池中物。 - [前世與今生-5](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-5/): 入學考試 但是我能做什麼?我又不是科班出身的!難怪那幾個研究生會不服氣。我向尼古拉斯教授表示我的疑慮,他竟然對我說:「你不用擔心,你的物理直覺很強!」 到了這種地步,我只好硬著頭皮,做出一副好像很有自信的樣子。 「薄塞爾是我在哈佛亦師亦友的老上司」尼古拉斯解釋著,其實我剛剛心裡已經猜到七八成了。 接著他說明,他到底是在做些甚麼研究。 原來薄塞爾是第一個證明核磁共振效應的人。他也發現在實驗中所使用的微波,除了可以研究無線電天文學之外,還可以刺激人腦的深層記憶,所以研究晚期,花了很多精神在理解微波對人腦的影響。 尼古拉斯接著說,早先科技不像現在這麼發達,薄塞爾所觀察到的生物現象並不明顯,但他卻一直認為,這是一個值得深入鑽研的領域,所以,建議尼古拉斯接手這方面相關的研究。 「那教授現在已經做到什麼程度了呢?」我好奇地問。 他回答說現代的技術,和當年已不可同日而語,他掩不住臉上得意的神色表示:「大部份兒時的記憶都可能被喚醒!」。 聽到這裡,我心裡激動到全身起雞皮疙瘩,好像是在親身參與一項劃時代的發現一樣。 我當場主動要求,希望留下來幫他整理一些文件及資料。接下來,一連忙了三天,才向尼古拉斯教授告辭,說要回隔壁交大去準備研究所考試了。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/NYCU.mp4 - [前世與今生-4](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-4/): 當我到達尼古拉斯研究室時,他正忙著用高斯定律解一道封閉曲面的電通量問題。一看到我,他立刻拉著我跟他一起動手算題目。 那道題目,用傳統方法來計算會非常複雜,所以他詢問我能否用電腦程式來逼近運算? 我對我的電腦沒太大信心,正不知該如何回答,卻突然發現,那個電通密度的函數值在兩邊積分面是對稱的,但符號相反,整個積分的結果看起來應該是零。 我把我的想法告訴他,他張大了嘴巴,半晌才吐出一句:「你真的是讀交通管理的嗎?」。 給他一個良好的初步印象後,很快的就進入主題了。原來他先前是應物理系之邀,來台灣做核磁共振(NMR)研究的。 原本客座的期間是兩年,但在半年多前,生命科學院又再邀他接續做醫療磁振造影(MRI)的研究,所以他在台的期間又多延長了兩年。 「反正我喜歡台灣!」他笑嘻嘻地說。  我沿著坡路跟他走到生科所的實驗室,發現已經有好幾個認真的研究生,提前返校在做實驗了。 他們知道今天指導教授有個「朋友」要來參觀,都很好奇。待發現老師的朋友居然是個穿著普通的年輕人,臉上都露出不以為然的神色。 我無暇顧及他們的反應,直接跟著尼古拉斯進入一個較內側的實驗室。 這個實驗室是尼古拉斯個人專用,他說只有學校高層進去過,一般研究生也難入其內。他這麼鄭重其事,讓我開始有點緊張。 當我走進更裡面的房間時,就看到幾部電腦螢幕上,有一些人腦的3D影像。剛剛他已經說過在做磁振造影的研究,所以我並不覺得有何特殊。直到我看到實驗醫療床上,擺放了一具假人,我才輕聲低呼了起來。 那具假人並沒有什麼特別的地方,跟做心肺復甦述的「安妮」一模一樣。 讓我感到震撼的,是「安妮」頭上戴著的頭罩,跟我在二十世紀發明回顧展,所看到的薄塞爾的「安全帽」,竟然有八成以上相似。 我這才有些明白,原來尼古拉斯教授是有意要我過來幫他提供一些意見的。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/NMR-MRI.mp4 - [前世與今生-3](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-3/): 一開始,他使用淺顯的物理用語,闡述那頂「安全帽」旁邊的文字,說「安全帽」其實是個共振腔,裡面存在有「駐波」。 「駐波」的作用,就好像是有數十根手指頭在幫大腦皮質做按摩一樣,這會幫助刺激一些深層的記憶,會讓人感覺好像回到過去一樣,因此這頂「安全帽」才會被展示在時光機器這區。 他意味深長的說,根據理論,比兒時更遠的記憶,都有可能會因此而被喚醒。 「比兒時更遠的記憶?」我正要進一步追問時,他在另外一個攤位參觀的兒子,過來提醒他要回家了。 雖然彼此相談甚歡,但天色已晚,他兒子又不停催促,我們只好匆促地交換了名片,互道珍重。他臨走前又轉過身和我點了點頭,好像很希望我能再跟他聯絡的樣子。  忙完期末考後,我回中南部住處過農曆新年,春節期間,正當我徜徉在嘉義蘭潭美景的時候,身上手機突然響起。 「Happy lunar new year, Mr. Yang!」 電話彼端傳來尼古拉斯教授賀節的恭禧聲,他竟然邀請我在過年休假期間,到他清華大學的實驗室去參觀! 這實在是受寵若驚!我不加思索,當即答應他的邀約,訂在大年初六時到他的實驗室去看看。  本來悠游閒散的春節假期,突然變得有些焦躁了,左等右等,終於盼到了大年初六,我迫不及待的跑到清華去找尼古拉斯教授。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/professor.mp4 - [前世與今生-2](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-2/): 在攤位角落處,我瞥見一位保全人員旁邊,擺放了一頂類似工安頭罩的東西。這個「頭罩」,外形彷彿是個安全帽,外接的線路歪七扭八,樣子很醜沒有美感,一看就知道設計的人八成是個科學家。 我注意到那頂「安全帽」發明人的名字寫著「薄塞爾」三個中文字,以及一個「Purcell」英文字,還附了一些英文解釋。 我不禁好奇問了一下現場工讀生,這個「薄塞爾」,是不是那個諾貝爾物理學獎得主?他搖搖頭,尷尬地露出不知情的神態。 可能是我在詢問時夾雜了諾貝爾獎的英文,站在我身後的一個高鼻子老外,居然頗稱許地回答了一句「Excellent, that’s the Nobel Prize winner!」。 我轉身面向答話的老外,看到這人身材高大,相貌堂堂,大約有六十出頭。年齡雖然不輕,但隨口講出的英文字正腔圓,一聽就知道是受過良好教育的人,我立刻和他攀談起來了。 原來他是從俄羅斯來台灣做研究的客座教授。他來這裡兩年多,已聽得懂一些簡單的中文會話了。 這個老外有個令人肅然起敬的名字,他不叫什麼可夫或斯基,他叫尼古拉斯。我不禁聯想起歷史上恐怖的沙皇,只是才第一次見面,不敢隨便開他名字的玩笑。 尼古拉斯教授不但名字嚇人,學歷也頗顯赫。他是莫斯科大學電機博士,麻省理工林肯實驗室研究五年,哈佛大學應用物理所講座教授七年。提到在哈佛大學的資歷時,他眼中散發出奕奕的光采。 面對尼古拉斯教授這樣的人,我趁機把話題導入那頂「安全帽」中,想聽聽看他有什麼說法。 尼古拉斯先問我,在學校主修的是什麼科系,我回答說「交通管理」!  這次輪到他露出訝異的表情,我趕緊跟他解釋,說我考慮在讀研究所時轉到理工科系,所以正在自修一些近代物理的書籍。他聽了我的說明,只笑嘻嘻地說:「喔,這是健康的」。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/Whats_your_major_202512311.mp4 - [前世與今生-1](https://mobile-learning-testing.com/%e5%89%8d%e4%b8%96%e8%88%87%e4%bb%8a%e7%94%9f-1/): 不期而遇 這一陣子,好幾個熱門頻道,出現了一股探討人類前世今生的熱潮,有幾家有線電視公司,競相推出這類的談話性節目。 只見到那幾張熟面孔的密宗大師、命理學家、紫薇斗數專家,穿梭在各台發表高論,他們什麼都談,什麼都懂,各種言論五花八門,實在讓人搞不清楚,究竟誰是真正的行家、誰在濫竽充數。 當中一個來自印度的婆羅門,他在公視節目所分析的輪迴理論,最讓我印象深刻。 他認為今世人的五蘊六識,其實是累積了數十世的因緣,才逐漸發展而成。所以人在當下的思考,並不僅僅受到學校教育或家庭教育的影響而已。 他所發表的論點,雖然不見得多麼鞭辟入裡,但比起那些胡吹法螺的江湖術士,實在高明多了。  在元旦連續假期前夕,台北信義區世貿大樓,正舉辦二十世紀發明回顧展,聽說有一個攤位名稱就叫做「時光機器」。 因著電視節目這股熱潮,我迫不及待騎上機車,從新竹直奔台北,搶先在開幕第一天急駛到會場去。 主辦單位看起來花了不少心思,現場佈置的美輪美奐。我走過最熱門的電腦攤位時,展示人員正在口沫橫飛地講解超大型積體電路發展歷史。 我才剛從電路學的書堆中脫身而出,聽到展示員在賣弄那些專有名詞,不禁倒抽一口氣,趕緊拔腿逃離現場,直到看見橫掛著「時光機器」大字的攤位招牌,我的腳步才放緩下來。 時光機器攤位的娛樂性好像還大於教育性,現場居然擺了一部麥可福斯特主演「回到未來」的模型車。 我在車旁徘徊了好一陣子,想起年少時一起看電影的幾個高中好友們,真是又懷念又傷感。 https://mobile-learning-testing.com/wp-content/uploads/2024/04/cyc2exh.mp4 - [安平追想曲-10](https://mobile-learning-testing.com/%e5%ae%89%e5%b9%b3%e8%bf%bd%e6%83%b3%e6%9b%b2-10/): 這一次柳退之不再是大聲跟他爭辯,而是神情嚴肅、小心翼翼地和他在討論些什麼事情。大約過了半小時,柳退之欣喜若狂地過來告訴我好消息。 「老師,我要回唐朝去了!」柳退之跑到我前面時氣喘吁吁,興奮之情溢於言表,他們給了他十分鐘過來和我道別。 原來天庭的人,認為柳退之塵緣未了,而且階段性任務已經完成,並也找好了替代的人選,所以決定將他送回唐憲宗的年代。 柳退之將他隨身攜帶的御賜沙漏送給我,眼眶泛紅地感謝我對他的關心,他說這一兩年來,是為天庭做事的一千年當中,最快樂的時候。 他告訴我,一定要特別保存現有的閩南語歌曲,「這真是天籟之音!」他反覆的叮嚀。 我告訴他,不用擔心,我一定會牢牢記住這些囑咐,不會讓他失望的。這才彼此揮揮手,依依不捨的互道珍重。   柳退之回家之後,接下來的學期,我的班上就空出一個座位來了,我也新開了一門「多媒體設計」的課程。 我在上課的時候,不自覺地,常常會朝柳退之空下來的位置看過去。我知道,我會開這門課,很可能是在潛意識裡想完成柳退之的囑咐。 我使用Illustrator和Unity軟體來設計美工場景,並用3ds max來做立體人像,接著再用Premier Pro和After Effects來完成特效剪輯,最後我終於躺在搖椅裡享受作品成果。 我手中把玩著柳退之贈送的沙漏,電腦螢幕及喇叭正播放我的心血………。 「身穿花紅長洋裝,風吹金髮思情郎,想郎船何往,音訊全無通,疑是行船遇風浪………………」 - [安平追想曲-9](https://mobile-learning-testing.com/%e5%ae%89%e5%b9%b3%e8%bf%bd%e6%83%b3%e6%9b%b2-9/): 「水、空氣和土地的品質糟得不得了!」柳退之對於中原故土今日的過度開發,非常不以為然。 他曾經利用寒暑假期間,潛入中國社會做探訪,對於現今中國人過度重視金錢物慾的情況,深以為憂。 他說中國人傳統中,「包容寬厚、內斂含蓄的美德,反而在台灣比較能重新體現,並且發揚光大!」。   柳退之在中國大陸查訪的結果,帶給他很不愉快的經驗。特別是他的專長–「語言」、「文字」,更是讓他滿腹牢騷。 「所使用的北京普通話,都是胡人的捲舌音!」 我忍不住笑了出來,閩南語裡面幾乎沒有捲舌發音,難怪柳退之一口標準的不能再標準的台灣國語。 他說除了語言的變化讓他不習慣之外,文字的改變,更是讓他期期以為不可。 「你是說簡體字?」我多此一舉的問道。 他回應說,簡體字所破壞的,不單單是字面上所透露的歷史演化過程,更重要的,文字本身所賦予的美感與內涵,也消失殆盡。 柳退之說,中國文字是極珍貴的文化資產。我們看到一個中國字,就好像在讀一幅畫,或者是在理解一個完整的意象一樣。 但簡體字硬生生的破壞這種功能,這讓新一代學習中文的大陸人,不但心性上無法像學楷書的台灣人一樣寬大,而且智力的發展,在幾十年後,必然慢慢跟不上在台灣的新生代。   說到這裡,剛剛離開的碟狀飛行物,突然去而復返,停在一百公尺外的大樹旁。 我看到從那部飛碟裡面,緩緩走出了一個金髮碧眼、氣度雍容的西洋人,遠遠地對著柳退之在招手,柳退之立即快步過去和他談話。 - [安平追想曲-8](https://mobile-learning-testing.com/%e5%ae%89%e5%b9%b3%e8%bf%bd%e6%83%b3%e6%9b%b2-8/): 我啞然失笑,「安平追想曲」歌詞是閩南語,歌曲說不定還有受到日本作曲的影響,這跟唐音有什麼關係? 他表示,「閩南語」正是唐朝人所使用的官方語言,隋唐時期日本派遣了很多留學生來中國,文字音律深受唐朝人的影響。所以他一聽到「安平追想曲」,馬上就有種回到故鄉的感覺。 這時候,我頓時才明白,為什麼他的閩南語造詣,會超出旁人那麼多,為什麼唱起閩南語歌曲,會那麼動人心弦。歷經一千多年的生離死別,他的椎心之痛,都藉由閩南語的細緻婉轉表達出來了! 我也瞭解,為甚麼他要在報紙上跟人家打那些筆仗,原來他就是親眼目睹歷史變遷的見證人啊! 那麼他和天庭的人,剛剛究竟是在吵甚麼? 他說他已經厭倦了這種四處漂泊的日子,他已經把台灣當做他的家了,他要在這裡終老,可是天庭的人不答應。 天庭的人要他結束在台灣的工作,趕緊改到中國大陸探訪。   中國大陸這些年來經濟快速崛起,已引起天庭的高度重視,所以破天荒的要他延長在人間的時間,並打算再加派人手來協助他。 說到「加派人手」,他臉上的表情,第一次露出十分罕見的憤恨神色。 他告訴我,原先天庭看中的人選,是他同科上榜的狀元郎,但是他們後來嫌狀元郎只是苦讀出身,並非出自書香門第,家學淵源不夠,最後才改而圈選他。 這個事情造成了他心中很大的不滿,久久不能釋懷。 除此之外,中國大陸這些年生活環境的變化,也更加堅定了他留在台灣的意念。 - [安平追想曲-7](https://mobile-learning-testing.com/%e5%ae%89%e5%b9%b3%e8%bf%bd%e6%83%b3%e6%9b%b2-7/): 「我慢慢知道這些飛碟上的人,其實就是民間所謂的天庭文官。他們像是戶籍人事單位的主管人員一樣,掌管民間的賞善罰惡。」。 親人的生離死別,一度讓他意志消沉,並不覺得替天庭做事有什麼光采。 「他們大約是地球上的一百年就載我回中國一次,然後待個一兩年瞭解民情風俗,再回到飛碟上整理資料。」 在這一千多年當中,他慢慢察覺到,純正漢人的人文習俗越來越往南移,而北方地區的語言發音、文化風俗也越來越受到胡人的影響。 胡人最早也是發源於黃河流域一帶,因為競爭力弱於農耕的漢人,才被迫北遷到較寒冷的地帶。 胡人因為成長在大漠草原之中,所用的言語要適用於遠距離傳遞,所以不像南方人那麼細膩。 大部份胡人的語音,為了方便傳遞向遠處,必須儘量使用簡易的表達方式,所以大多用喉嚨及舌頭來發聲。 而南方的民族,因為所處地域氣候溫和,生活富庶,人與人之間的互動相對頻繁密集多了。 為了傳達一些複雜的情緒,所使用的語音,每多輕聲細語,娓娓婉言。而且講話的時候,常喜用胸腔及腹腔來發音,以示真誠。 所以中國有一句成語叫「肺腑之言」,事實上是從南方人的發音習慣來的。 他上一次是在清朝末年回來中國,那時候正值多事之秋,他在燕京大學堂只當了一年太學生,天庭的人就趕緊把他載走。 這次,他是在一年多前,來到台灣。 原本天庭的人是要把他載到浙江大學,也幫他安排好了文學院學生的身分。但就在飛碟經過安平港上空時,突然聽到一陣熟悉的唐音。當時他立刻向天庭的人堅持要待在台南兩年收集資料,不願再往前推進到浙江省。 他這次非常固執,說甚麼也要留在台灣。天庭的人無可奈何,只能妥協。 我很好奇,他究竟是聽到了哪一首唐音?   他說:「安平追想曲」! - [安平追想曲-6](https://mobile-learning-testing.com/%e5%ae%89%e5%b9%b3%e8%bf%bd%e6%83%b3%e6%9b%b2-6/): 那天中秋飲酒賦詩之後,同榜進士一一回客棧歇息去了,只有他壓抑不住心中的興奮,在長安街頭,嘗試各種新奇的事物。 他在靠近城郊的地方,看到來自西域的洋人,正在展示一種碟形的金屬球體。 「那個金屬球體大約有兩層樓高」,他原先一直在外面品頭論足,高談闊論。後來仗著幾分酒意,大膽走入閘口,雙腳才剛入內,馬上聽到外頭人群一陣大聲驚呼,再抬頭往窗外看時,只見到一片無垠的星空了。 我聽到這裡,心裡瞭解,他恐怕是上了飛碟了。 「剛開始我雖然覺得好玩,但也馬上擔心剛考上的探花等第…」。 他說從飛碟裡面接著走出了幾個人,半客氣半強迫地跟他說,食物和飲水都很充裕,希望他花個數十天,把所知道的唐朝朝廷民間大小事,按照年代,有條理的詳列出來。 我插嘴問,在無垠的星空中,怎麼知道過了幾天?他說他隨身攜帶有皇帝御賜的沙漏,沙子漏完就是過了一天。 聽起來,飛碟裡面應該是裝設有重力系統的功能。 過了幾十天,他再度被放回到地面時,發現已幾經改朝換代了。 「那時候已經是元朝!」,他在心理上,完全無法接受親人已經全部不在的事實,但萬般無奈,只好到揚州一個遠房宗親家中擔任西席,並隱瞞住自己的真正身份。 「那個時候胡人幾度入侵中原,大量漢族數次由大陸北方越過黃河往南遷徙。」他接著又說,元朝將統治下的人等分成蒙古人、色目人、漢人、南人。蒙古人眾所周知不用多解釋,但色目人就是藍眼珠、碧眼珠的西洋人或西域人。 「最重要的是漢人及南人的分野」,說到這裡,柳退之的情緒開始激動起來了。 實際上,從那個時候開始,蒙古人所給予的漢人名稱,故意魚目混珠,套用在具有胡人血統的金人或遼人或西夏人等的後裔身上。 真正的南遷漢人,他們用歧視性的「南人」來稱呼。 說到這裡,我突然想起金庸小說中,天龍八部裡的耶律氏及完顏氏等,常常用「南蠻子」這些字眼來敵視中原人士。   他在揚州待了兩年,瞭解了一些民情風俗,飛碟上的人再度來載走他,並要他把那兩年所見所聞,再度詳細條列出來。 ## Pages - [英語檢定](https://mobile-learning-testing.com/%e8%8b%b1%e8%aa%9e%e6%aa%a2%e5%ae%9a/): 本頁面所使用的測驗題,是取材自ETS台灣區官方出版刊物, 內容只提供學生準備新多益考試,並不具商業營利用途 。 英語檢定 之一 “多益閱讀與聽力測驗” 多益閱讀測驗 請讀我 多益聽力測驗 請讀我 1 2 3 4 5 英語檢定 之二 “多益文法與字彙” 多益文法與字彙 請讀我 多益文法與字彙之1~動詞三態 請讀我 多益文法與字彙之2~被動語態 請讀我 多益文法與字彙之3~關係代名詞 請讀我 多益文法與字彙之4~假設語氣 請讀我 多益文法與字彙之5~分詞構句 請讀我 多益文法與字彙之6~句型與補語 請讀我 多益文法與字彙之7~介系詞與介副詞 請讀我 多益文法與字彙之8~比較級與最高級 請讀我 1 2 3 4 5 - [Python程式設計](https://mobile-learning-testing.com/python%e7%a8%8b%e5%bc%8f%e8%a8%ad%e8%a8%88/): Python程式設計 之一 “基本觀念” 基本觀念 請讀我 基本觀念之1~變數與資料型態 請讀我 基本觀念之2~條件敘述 請讀我 基本觀念之3~for迴圈 請讀我 基本觀念之4~串列與迴圈 請讀我 基本觀念之5~巢狀結構與輸出格式 請讀我 基本觀念之6~函式與遞迴 請讀我 1 2 3 4 5 Python程式設計 之二 “進階語法” 進階語法之1~物件與類別 請讀我 進階語法之2~物件與遊戲 請讀我 進階語法之3~物件與視窗 請讀我 進階語法之4~資料處理模組 請讀我 進階語法之5~資料處理視覺化 請讀我 進階語法之6~串列、陣列與張量 請讀我 進階語法之7~Google Colab之應用 請讀我 1 2 3 4 5 - [強化式學習](https://mobile-learning-testing.com/%e5%bc%b7%e5%8c%96%e5%bc%8f%e5%ad%b8%e7%bf%92/): 強化式學習 之一 “環境與代理人” 1 2 3 4 5 - [生成式AI](https://mobile-learning-testing.com/%e7%94%9f%e6%88%90%e5%bc%8fai/): 生成式AI 之一 “ChatGPT” 1 2 3 4 5 - [人工智慧入門](https://mobile-learning-testing.com/%e4%ba%ba%e5%b7%a5%e6%99%ba%e6%85%a7%e5%85%a5%e9%96%80/): 人工智慧入門 之一 “人工神經網路” 人工神經網路 人工神經網路之1~達特茅斯會議 人工神經網路之2~機器學習與深度學習 人工神經網路之3~機器學習 人工神經網路之4~深度學習 人工神經網路之5~影像分割 人工神經網路之6~物件偵測 1 2 3 4 5 人工智慧入門 之二 “自然語言處理” 自然語言處理 自然語言處理之1~編碼器與解碼器 自然語言處理之2~大型語言模型 自然語言處理之3~ChatGPT做程式設計 自然語言處理之4~ChatGPT做網頁設計 自然語言處理之5~ChatGPT做多益測驗 自然語言處理之6~ChatGPT的基礎Transformer 自然語言處理之7~AI連線上網 自然語言處理之8~小型語言模型轉執行檔 自然語言處理之9~AI生成之人物一致性 自然語言處理之10~ChatGPT表格處理 自然語言處理之11~ChatGPT之推理初步 自然語言處理之12~再探AI推理能力 自然語言處理之13~三探AI推理能力 自然語言處理之14~再探AI生成之人物一致性 自然語言處理之15~Gemini做程式設計 1 2 3 4 5 人工智慧入門 之三 “強化式學習” 強化式學習 強化式學習之1~馬可夫決策過程 強化式學習之2~監督式學習之瓶頸 強化式學習之3~隨機決策 強化式學習之4~Q-learning 強化式學習之5~AI版本個人乒乓球遊戲 強化式學習之6~AI版本打磚塊遊戲 強化式學習之7~AI版本動態遊戲初探 強化式學習之8~AI版本無人駕駛遊戲 強化式學習之9~黃仁勳之GTC演講 強化式學習之10~藍波之AI版本 強化式學習之11~訓練與實行 強化式學習之12~製作執行檔 強化式學習之13~DQN與聶老師 強化式學習之14~很重要又難理解的Policy Gradient 1 2 3 4 5 - [電腦發展簡史](https://mobile-learning-testing.com/%e9%9b%bb%e8%85%a6%e7%99%bc%e5%b1%95%e7%b0%a1%e5%8f%b2/): 電腦發展簡史 之一 “計算機在歐洲” 計算機在歐洲 請讀我 計算機在歐洲-1 請讀我 計算機在歐洲-2 請讀我 計算機在歐洲-3 請讀我 計算機在歐洲-4 請讀我 計算機在歐洲-5 請讀我 1 2 3 4 5 電腦發展簡史 之二 “計算機到美國” 計算機到美國 請讀我 計算機到美國-1 請讀我 計算機到美國-2 請讀我 計算機到美國-3 請讀我 計算機到美國-4 請讀我 計算機到美國-5 請讀我 1 2 3 4 5 - [我的首頁](https://mobile-learning-testing.com/): 讓我們一起友善浪浪 人工智慧半個多世紀發展以來,幾經跌宕起伏、數度備受質疑, 幸賴前人堅持執著、戮力不懈,終於迎來柳暗花明的春天 。 值此科技進步一日千里的關鍵時刻,唯有求新求變、 精益求精,才能在時代洪流中屹立不搖。  email:ccyang955@gmail.com  - [我的科幻小說](https://mobile-learning-testing.com/%e6%88%91%e7%9a%84%e7%a7%91%e5%b9%bb%e5%b0%8f%e8%aa%aa/): 我的科幻小說 之一 “安平追想曲” 安平追想曲-1 請讀我 安平追想曲-2 請讀我 安平追想曲-3 請讀我 安平追想曲-4 請讀我 安平追想曲-5 請讀我 安平追想曲-6 請讀我 安平追想曲-7 請讀我 安平追想曲-8 請讀我 安平追想曲-9 請讀我 安平追想曲-10 請讀我 1 2 3 4 5 我的科幻小說 之二 “前世與今生” 前世與今生-1 請讀我 前世與今生-2 請讀我 前世與今生-3 請讀我 前世與今生-4 請讀我 前世與今生-5 請讀我 前世與今生-6 請讀我 前世與今生-7 請讀我 前世與今生-8 請讀我 前世與今生-9 請讀我 前世與今生-10 請讀我 前世與今生-11 請讀我 前世與今生-12 請讀我 1 2 3 4 5 ## Products - [Money Plant](https://mobile-learning-testing.com/product/money-plant/): Pretium diam ornare! Architecto occaecati tempor aptent cum nesciunt dignissimos parturient a. Adipisicing placeat quibusdam. Pretium diam ornare! Architecto occaecati tempor aptent cum nesciunt. - [Aluminum Plant](https://mobile-learning-testing.com/product/aluminum-plant/): Pretium diam ornare! Architecto occaecati tempor aptent cum nesciunt dignissimos parturient a. Adipisicing placeat quibusdam. Pretium diam ornare! Architecto occaecati tempor aptent cum nesciunt. - [Boncellensis Secullant](https://mobile-learning-testing.com/product/boncellensis-secullant/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Green Soil Lotus](https://mobile-learning-testing.com/product/green-soil-lotus/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Piorro Quisquam](https://mobile-learning-testing.com/product/piorro-quisquam/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Rattle Snake Tail](https://mobile-learning-testing.com/product/rattle-snake-tail/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Mini Astrophytum](https://mobile-learning-testing.com/product/mini-astrophytum/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Star Cactus](https://mobile-learning-testing.com/product/star-cactus/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Ball Cactus](https://mobile-learning-testing.com/product/ball-cactus/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Mini San Pedro Cactus](https://mobile-learning-testing.com/product/mini-san-pedro-cactus/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Cleistocactus](https://mobile-learning-testing.com/product/cleistocactus/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. - [Old Lady Cactus](https://mobile-learning-testing.com/product/old-lady-cactus/): Neque porro quisquam est, qui dolore ipsum quia dolor sit amet, consectetur adipisci velit, sed quia non numquam eius modi tempora incidunt lores ta porro ame. Neque porro quisquam est, qui dolore ipsum quia dolor sit amet. [comment]: # (Generated by Hostinger Tools Plugin)