Author name: 楊慶忠

人工神經網路之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 »

人工神經網路之2~機器學習與深度學習

1-2.機器學習與深度學習 一般人提到人工智慧,有時會將它和「機器學習」當做是同一件事,認為既然某種機器懂得如何去學習,那麼它就如同具備有人工智慧了,並據此認為前面所提到的「深度學習」,也應該是屬於機器學習的一種。 這樣的認知並無不可,但更多的時候,機器學習和深度學習,是可以分開討論的。深度學習有不少觀念是源自於機器學習,但也有很多技術是獨立發展出來的,這兩者之間,還是可以做出一些區別。 機器學習,當初被發展的目的之一,是在擴充傳統統計技術之不足。早期在做統計迴歸的時候,權重的決定,必須先考慮到變數(特徵)的重要性,但到了機器學習的時代,權重是由大量數據分批次(batch)、分週期(epoch)、反覆修正(iteration)而得,所以一開始的權重,是可以用隨機的方式來設定它。 至於深度學習,如果先懂得機器學習再來理解它固然有幫助,沒有也無妨。它同樣是在取得最佳的權重值,但其權重是存在神經層和神經層之間,權重(參數)數目少則數十萬,多則可達數百億個,處理的技巧已經是既多元又繁複了。 機器學習,目前多使用在資料處理的範圍,例如迴歸、分類、分群。常用的技術像K-means、K-Nearest Neighbors、決策樹等。 深度學習,是目前在影像辨識、語音辨識、自然語言處理的主流技術。常用的技巧像CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DQN(Deep Q Network)等。 圖1-2. 深度學習可以被認為是屬於機器學習,但也可以把這兩者看成是人工智慧的兩個主要項目。

人工神經網路之2~機器學習與深度學習 Read More »

人工神經網路之1~達特茅斯會議

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告訴你。

人工神經網路之1~達特茅斯會議 Read More »

人工神經網路

第一章:人工神經網路 人工智慧的深度學習(deep learning),也叫做深度神經網路,是從人工神經網路(Artificial Neural Network)發展而來的。它是一種模仿動物大腦結構與功能的數學模型或計算模式,我們先看一下大腦神經元是如何傳遞訊息的。 下圖上的神經元細胞接受到左方訊號後,會將訊號處理後再傳遞給右方的神經元細胞。接受訊號是使用較靠近細胞核(nucleus)的樹突(dendrite);傳遞訊號則是使用軸突末端(axon terminals),它和另外神經元的樹突,會形成所謂突觸(synapse)的接觸點,來進行電子或化學反應。不論接受或傳遞訊號,都可來自或經由一個以上的神經元。 我們可以用上圖下再把概念精簡類比一下。一個神經元細胞可當作一個節點,當來自其他神經元的訊號,進入節點經過處理後,可以把訊息再傳遞給其他節點。一個節點的訊號可來自多個節點,並把訊號傳遞給其他多個節點,這個概念可擴充成神經網路的初步雛形如下圖: 上圖上是一個簡易的神經網路結構,每個圓圈當作一個節點,縱向垂直排列的多個節點形成一個神經層,在此只有三個神經層,由左至右分別是輸入層、隱藏層、輸出層。 在這裡可以和幼兒的腦細胞發育做一個比較。嬰兒從出生到兩歲,神經元數量基本沒有變化,大腦在胎兒剛出生時,就配備了基本所有神經元,只是後來建立了很多突觸以連接其他神經元。這兩年當中,大腦每秒就產生700個突觸連接如下圖所示: 上面這種比較完整的神經元結構圖,就可以用下面的深度神經網路來模擬。其輸入層和輸出層當中的隱藏層數目,以及任一個神經層的節點數,都可做增減,來改變相鄰神經層中間權重矩陣的大小。 兩兩相鄰神經層中間交叉重疊的線條,就代表這些權重矩陣。一般而言,權重矩陣的元素越多,預測的準度也會越高,但同時也必須輸入更多的資料來訓練模型。

人工神經網路 Read More »

計算機到美國-5

2-5.女性程式員開始露臉 先前提過的哈柏(Hopper)女士,她是以海軍上尉的身分,協助當時的海軍少校艾肯,在哈佛大學編寫馬克一號使用手冊。 她也是馬克一號主要的程式設計人員,雖然那時候還是使用打孔紙帶輸入程式碼,但馬克一號在哈柏的努力下,可說是當時最適於輸入電腦程式的計算機。 在此之外,一群默默付出的娘子軍,為ENIAC正式運作所做的貢獻,則易為人所忽略。 摩爾學院原本就和彈道研究實驗室合作,提供大量射擊表計算工作,給全美各地具數學背景的女性前來應徵,這當然是因為女性工作者較細心和負責。當中有六位表現特別傑出的,被選入ENIAC團隊做程式設計的工作。 圖2-5-1. ENIAC兩位女性程式設計員,Jennings(左)、Bilas(右)。 ENIAC程式設計可比馬克一號麻煩多了,它的系統複雜,每次更改輸入程式,都要大幅插拔一些電纜和開關,在當時可算是粗活。這些工作居然會一股腦交給女性來做,可見當時社會風氣對女性還是有些歧視。 她們被要求設計程式時,也要考慮到電路元件和線路的因素,所以這認真的六人組,慢慢地變成男性工程師不可或缺的工作夥伴。甚至她們也逐漸理解,程式設計的重要性,可能不亞於電子電路的設計。 從愛達到哈柏女士到ENIAC這程式設計六人組,明白顯示出,天性細膩堅忍且恪守工作倫理的女生,其實很適合從事程式設計的相關工作。

計算機到美國-5 Read More »

計算機到美國-4

2-4.馮諾伊曼和艾柯特 ENIAC使用了1萬8千隻真空管,是一個難度極高的複雜系統。幸賴艾柯特領導的年輕工程師團隊,夜以繼日克服萬難,終於在1945年11月大功告成。 科學界也開始注意到賓州大學的研究成果,摩爾學院為此舉辦了暑期課程,讓年輕科學家能夠參與。 ENIAC可以在一秒鐘完成五千次加減運算,比馬克一號快了一百多倍,功能十分強大。 但它有幾個問題。它是十進位而非二進位,真空管用了太多,改變程式太耗時間,儲存容量太小…………….。 圖2-4-1.摩爾學院之ENIAC 這些問題在發展第二代的新機型時,勢必要想辦法解決。 這時候,著名的匈牙利裔科學家馮伊諾曼登上舞台,適時為計算機結構做出了不可忽視的貢獻。 普林斯頓教授馮伊諾曼,是高士譚在亞伯丁車站碰巧遇到的,當時他是彈道研究實驗室的顧問。由於他在科學界的影響力,很快地,ENIAC計畫也邀請他擔任顧問。 馮伊諾曼針對ENIAC的缺點提出一些解決方案,並把下一代要開發的機型命名為「電子離散可變自動計算機」(EDVAC)。 EDVAC有幾個特色,第一,它是使用二進位;第二,它強調可以把指令和資料共同儲存在內部記憶體上。 第二點是相當重要的突破,如果計算機的記憶體在運算時,可以同時儲存程式的指令和計算的數值,那就不用每次都要機械式地從外部輸入卡片,而是在電子電路內部直接存取資料或指令就可以了,這大大地提升處理速度,增加儲存空間以及減少真空管的使用量。 這個原始想法,應該是來自莫渠利和艾柯特,但馮伊諾曼在EDVAC中大力強調這項特色,變成似乎他才是主要貢獻者。 這導致了研究團隊的分裂。莫渠利和艾柯特於1946年3月在費城成立一家公司開始電腦製造業務;馮伊諾曼也帶著高士譚回普林斯頓大學,著手建立其電腦實驗室。 圖2-4-2.馮伊諾曼在普林斯頓高等研究院所建立的電腦。

計算機到美國-4 Read More »

計算機到美國-3

2-3.莫渠利和高士譚 為了因應二戰電子技術人力需求,摩爾學院在1941年暑假開辦電子學課程,其中一位約翰霍普金斯大學物理學博士班畢業,在爾賽納斯學院擔任講師的莫渠利,是結業生中表現最傑出的,獲得留在摩爾學院擔任助理教授的機會。 莫渠利曾造訪愛荷華州立大學「被遺忘的電腦之父」–阿塔那索夫,學到一些概念。他一直對製作真空管式計算機很感到興趣,本身也具深厚的計算理論基礎。 在摩爾學院內,莫渠利結識了優秀的電子工程師艾柯特,他是碩士班畢業生,兩人對電子式計算機的願景,都有強烈的熱忱。 莫渠利在1942年8月,提出一份備忘錄,標題為《高速真空管在計算上的應用》,但並沒有受到賓州大學的重視。 但這份備忘錄卻引起了一位軍官的注意,他是芝加哥大學數學博士班畢業的高士譚中尉,在二戰期間,負責聯絡摩爾學院有關女性計算員的各項事宜。 莫渠利和高士譚的理論背景,以及目睹女性計算員被數值大海淹沒的窘境,都讓他們瞭解新型計算機的建造是勢在必行。 所以在高士譚的協助下,莫渠利將計畫名稱修訂為「電子數值積分器與計算機」(ENIAC),在1943年4月9日正式拍板定案。

計算機到美國-3 Read More »

計算機到美國-2

2-2.賓州大學摩爾學院 馬克一號做一次乘法計算,就需要花費6秒鐘的時間,即使是在1944年,都不是讓人滿意的速度。所以接下來計算機的開發,一定要朝提升效率上著眼。 馬克一號雖然有用到電磁鐵式的繼電器,但基本上,它是一部機械式的計算機,運算速度的加強,受到先天條件上的限制。 要加快運算速度,一定要用到電子式的電路,也就是應該使用真空管來取代繼電器。 真空管是當時極重要的基本電子元件,具有整流和放大的功能,類似現在的電晶體。 這個計算機電子化的重責大任,就落在賓州大學的摩爾學院上。 圖2-2.賓州大學早期校園 賓州大學的創建人就是如雷貫耳的富蘭克林(他在閃電交加的夜晚,和兒子放風箏的故事,經多方考據,證明是子虛烏有),它的華頓商學院目前在全美排行數一數二。它的電機學院是由Alfred Fitler Moore所捐贈,所以稱之為摩爾學院。 賓州大學位於費城,離東北方紐澤西州的普林斯頓大學約一個小時路程,離西南方馬里蘭州境內,美國陸軍委託計畫案的亞伯丁試射場,鐵路相連不到一小時車程。 在二戰前夕,亞伯丁試射場正式命名為「彈道研究實驗室」,招募各方科學家進行彈道數學計算相關工作。 賓州大學摩爾學院和彈道研究實驗室,各自擁有一部類比式微分解析機,時相交流,建立了良好的合作關係。

計算機到美國-2 Read More »

計算機到美國-1

2-1.哈佛大學艾肯教授 艾肯於1937年,在哈佛大學物理系博士班寫論文時,必須解真空管設計中的非線性微分方程式。 這種計算,用當時的加算機來處理非常繁雜,而隔壁的麻省理工學院類比式計算機也無法勝任,所以艾肯大膽地向系上尋求支援,幫他建造一台數位計算機。 系上對這件事的處理可想而知,一如眾人預期,反應極其冷淡。但好巧不巧,哈佛物理系實驗室頂樓,居然有一部份巴貝奇機器的計算齒輪,被固定在木板上供展示。 原來這是巴貝奇兒子亨利,在哈佛學院建院250週年紀念(1886)時,寄給哈佛學院院長的,希望把父親孕育計算機的種子,播撒到新大陸的沃土上。 艾肯鍥而不捨,將計畫向各方推薦,最終獲得IBM公司的青睞,在IBM頂尖工程師的協助下,建造出真正可以運作計算的電腦,可說是巴貝奇分析機的夢想成真。 圖2-1-1.哈佛馬克一號 這部電腦被取名為「馬克一號」(Mark Ⅰ)。它的運算速度並不快,每秒鐘只能做三次加法或減法,並不是採取二進位,而且體積龐大,稱不上是極先進的成品。 而且在1944年IBM為它舉辦的發表會上,艾肯居然將功勞往自己身上攬,未能讓大眾了解IBM公司所付出的心力,讓多人通力合作的成果為之蒙塵。IBM後來轉而資助哥倫比亞大學的計算機研究。 但馬克一號的意義在於,它是電腦時代的圖騰,它是第一台實際運行的全自動計算機,也是幫晚年抑鬱以終的巴貝奇,做了一次最佳的平反。 另外,二戰末期,是由軍方和IBM共同研發計算機,所以在IBM將馬克一號運交哈佛大學時,艾肯是以二戰服役海軍軍官的身分,代表軍方接管這部機器。之後,他和哈柏女仕一起編寫厚達五百頁的使用手冊,並請哈柏負責打孔卡片程式輸入的部分,她後來也在軟體界做出不少貢獻。   圖2-1-2.艾肯(左一)和哈柏(左二)以海軍軍官身分在哈佛。

計算機到美國-1 Read More »

Shopping Cart