Author name: 楊慶忠

自然語言處理之3~ChatGPT做程式設計

2-3:ChatGPT做程式設計 使用ChatGPT整理資料或創作文字,適當的提問(prompt)是很重要的。好的提問可以做出有效的條件限制,讓它回答的內容,合理地限縮在你所需要的範圍內。 但一般人的日常對話,或者在社群平台輸入的文字,通常都比較隨興,不會刻意去講究文法和邏輯。因此在善用此項工具前,是需要花點時間學習,才能理解提問的重要性。 ChatGPT裡面,有非常強大的程式設計功能,因為它本身的神經網路機制,就是複雜又精巧的演算法。撰寫普通的程式碼,對它來講,僅是牛刀小試,但是提詞的技巧在此也益形重要。 圖2-3-1. 使用ChatGPT,來設計一個九九乘法表的程式碼。 上面的九九乘法表Python程式碼,是由ChatGPT所提供答覆,我們在提問階段,有給予一些限制,完整的提詞內容如下:”請設計一個Python程式, 可以輸出由左而右水平排列的九九乘法表. 其中, 乘數和被乘數需兩兩交換位置, 乘積的個位數需對齊. 請不要使用function, 只使用最常見之基本語法及最少之行數.”。 我們用prompt做出層層限制,其實是在用文字來代替程式碼的指令。這樣的方式,多嘗試幾次就比較能夠掌握了。複製上面的程式,再拿到Spyder軟體上執行後,得到下列的結果,看的出來,它的確有按照我們的要求在建立其邏輯。 圖2-3-2. 執行程式得到的九九乘法表,其輸出的的格式,有刻意用prompt去要求。

自然語言處理之3~ChatGPT做程式設計 Read More »

自然語言處理之2~大型語言模型

2-2:大型語言模型 現今熱門的大型語言模型,比如像ChatGPT、Gemini等,採用的都是Transformer架構。這種架構,可以將巨量訓練資料快速平行處理,但必須使用到多部AI伺服器在雲端運算,並不是一般中小型企業能負擔的起的。 所以經過一番優勝劣敗激烈交鋒,目前能提供商品化服務的,僅寥寥幾家。即使研發能力傑出如臉書(Meta),最終還是退出了第一線的競爭。 但臉書開發出來的大型語言模型第二版LLama 2,被該公司免費公開,讓其它研究資源有限的單位,可以下載其源碼,經過微調的程序,就可以套用在各自的系統當中。 圖2-2-1. Meta公司的LLAMA 2被釋出為開源碼,造福不少財力有限的研究單位。 一般中小型公司,轉而聚焦在邊緣運算當中,希望開發出來的模型,在桌上型電腦,或者平板甚至手機就可以使用,如此不但可改善網路遲延(Latency),未來創造的商機更是不可限量。 對個人工作者而言,ChatGPT也已從當初的玩具階段,晉身到工具水平了。現在它的文字輸出品質,早非昔日吳下阿蒙,做簡報做表格它樣樣勝任愉快;在畫圖方面,除了人物的一致性尚待加強,採用寫實風格作畫,真是栩栩如生、躍然紙上。 圖2-2-2. 向Copilot要求”請用寫實風格,畫出一張黃色柴犬的微笑圖片。”它就幫你畫出這樣的圖片。

自然語言處理之2~大型語言模型 Read More »

多益聽力測驗

作答時間: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.                                    

多益聽力測驗 Read More »

自然語言處理之1~編碼器與解碼器

2-1:編碼器與解碼器 在RNN早期階段,它常被使用在翻譯上,在某個時序輸入一個詞,就可以在同一時序得到相對應的輸出,這跟早期翻譯的模式很接近。 尤其是用英文來翻譯法文或西班牙文,這種一進一出的架構,對語系相近的文字很有利。但如果是翻譯中文和英文,問題就比較多了。 中文句子不像英文,可以利用句子當中的空格,把單字分開為各個詞彙。中文句子每個字都是並排靠攏在一起,例如像「我打遍天下無敵手」,其實包括了「我」、「打遍天下」、「無敵手」這三個詞彙。所以中翻英輸出和輸入長度常常是不一樣的。 類似這種情況,在文章摘要和文字創作都會出現。所以,序列對序列(Sequence to Sequence,Seq2Seq),這種架構就自然而然的被推出來了。這種架構包含一個編碼器和一個解碼器,容許輸入和輸出長度不同,如下圖所示。 圖2-1-1. 編碼器與解碼器構造。 上圖上是在訓練階段,解碼器輸出必須和標記值比對,以回饋修正模型權重值;上圖下則是在預測階段,用「文字接龍」的方式,逐一輸出整個句子或段落。 目前的文字生成,除了摘要和創作,還包括製表、繪圖甚至寫程式,但設法提升傳統翻譯精準度,在自然語言模型發展過程中,實在有很基本的貢獻。 一般人學習英文,常常感覺英文單字背了又忘、忘了又背,原因在於盎格魯、薩克遜是日耳曼人分支,且法國諾曼第威廉公爵,也曾在11世紀跨海統治過英倫,把法文詞彙帶進英文當中,英文字彙因而是德語加上法語的總和,所以英文難學是必然的。但在AI鋪天蓋地席捲而來之際,把英語學好,總是會比別人多佔一些優勢。 圖2-1-2. 威廉公爵的領地諾曼地(Normandy),是二戰盟軍反攻的主戰場。

自然語言處理之1~編碼器與解碼器 Read More »

多益閱讀測驗

作答時間: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  

多益閱讀測驗 Read More »

自然語言處理

第二章:自然語言處理 影像分類辨識,可說是深度學習最基本的功夫,它所延伸出來的影像分割及物件偵測等,結合傳統的圖形識別(Pattern Recognition)技術,在電腦視覺領域上大放異采。 用它充當機器人的雙眼時,展現出來的識別功能,讓人刮目相看。如果再引入增強式學習,就是炙手可熱的無人駕駛和無人搬運了。在這個階段,和智慧影像處理相關的科技新知,成了很多鎂光燈的焦點所在。 但值此同時,另一支潛力績優股,卻正在悄然潛行。它日後綻放的光芒,掩蓋了所有其它的人工智慧同儕,它就是「自然語言處理」(NLP,Natural Language Processing)。 自然語言處理,也是採用深度學習神經網路,但屬於RNN(Recurrent Neural Network)架構。RNN我們稱之為循環神經網路,是使用同一組的神經層,在不同時間做一序列的不同輸出,如下圖所示。 圖2-1. RNN循環神經網路構造。 上圖左邊是RNN的基本構造,右邊展開後,可以看到在時間序列上,上一次的輸出,也會是下一次的部份輸入。這種結構具有記憶的功能,所以對文句這種字詞間有前後關聯的資訊,在處理上就比較有利。 這種RNN結構只有短期記憶功能,所以後來逐步將長期記憶也加進去,隨之也考慮文字輸入、輸出長度應該會不同,甚至輸出和輸入字詞間也會有不同程度的關聯………。 最後,乾脆揚棄這種無法平行處理大量數據的時間序列,改採可以建立大型語言模型的變形金剛–Transformer,進而讓自然語言生成的GPT橫空出世。從此,人工智慧真正進入風起雲湧的時代了。 圖2-2. 變形金剛來了!

自然語言處理 Read More »

人工神經網路之6~物件偵測

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非常適合做視訊處理,比如交通流量的調查,消費顧客人數的統計,都可得到很好的效果。

人工神經網路之6~物件偵測 Read More »

人工神經網路之5~影像分割

1-5.影像分割 前面提到的影像辨識,僅能從一張圖片當中,判斷其內容是屬於哪一類物體。如果換個角度來看,十幾萬個像素灰階值,經過模型計算輸出後,只能得到一個編號值,這是相當不經濟的。 至少,模型應該可以從圖片中辨識多於一種物體,而且各種物體的位置大小也都可以判讀出來,這樣的神經網路,才能提供足夠多的訊息給使用者。 影像分割的目的,就是要簡化影像的表示形式,使其更容易被理解和分析。這個領域的發展,近年來引進人工智慧的活力後,重點在於將圖片中的不同物體各自所包含的範圍,標記出一致性的灰階值。這種方式叫做語意分割(Semantic segmentation),意即對圖片內容涵意的理解。 圖1-5-1. 語意分割處理前後的圖片。 上面的第一張圖,是包含貓和狗兩種物體的圖片。神經網路取出貓和狗各自輪廓線所包含的範圍,各自標記其範圍內一樣的灰階值。在此狗標記紫色,貓標記褐色,加上背景的黑色,圖中總共只有三種顏色,但這已經足夠讓模型判斷出圖片中有幾種物體,以及各種物體之形狀及位置了。 上示圖片中每一像素都有三個灰階值,代表紅、綠、藍三原色。

人工神經網路之5~影像分割 Read More »

人工神經網路之4~深度學習

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,甚至到現今的生成式圖像了,人工智慧的進步,真是一日千里。

人工神經網路之4~深度學習 Read More »

人工神經網路之3~機器學習

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. 鳶尾花的三個分類。

人工神經網路之3~機器學習 Read More »

Shopping Cart