方哲 吳昊健 張志春 馮月婷 章玉珠


摘? 要:人工智能類似人類的認知能力,能感知并做出推理和計劃。深度學習依靠機器從數據中獲得知識,包括模式識別,數據挖掘和優化。神經網絡模擬人類大腦中神經元的網絡。將神經網絡算法應用于手寫數字識別,是基本的智能化應用。未來的人工智能或將更加深入在金融投資和智能駕駛系統中。
關鍵詞:人工智能,神經網絡,反向傳播算法,數字識別
隨著大數據處理的需要和計算機技術的發展,依靠人工智能技術解決生產和生活中的問題成為了近幾年來的新熱點。本文首先介紹人工智能的發展歷程和研究類別,接著對神經網絡的基本原理進行闡述并將其中的BP算法應用于數字識別,最后指出人工智能應用的領域。
1、人工智能的起源與發展過程
1956年夏天,“達特茅斯會議”的主要參與者明斯基,麥卡錫,香農提出了人工智能的概念,其含義就是讓計算機能夠像人一樣思考。在漫長的發展過程中,人工智能大致可分為四個階段:
第一階段:上世紀五十年代至六十年代
在這一階段中,出現了人工智能的雛形,以求解各類特殊的智力問題為特征。明斯基創立了Snare學習機,使機器能基于過去行為的知識預測其當前的結果,目的是學習如何穿過迷宮,這是世界上第一個神經網絡模擬器。麥卡錫創立的α-β搜索法應用于編制下棋程序,該算法能減少計算機要考慮的棋步。西蒙和紐厄爾的“邏輯理論家”可以讓計算機證明一些邏輯學和幾何學定理。
第二階段:上世紀六十年代
主要成果計算機理解人類自然語言,機器自動回答問題和進行景物分析等通用性問題。西蒙用其創立的信息處理語言(IPL)開發了通用問題求解器。
第三階段:上世紀七十年代
以模擬人類專家進行科學推理的具有專家水平的程序系統的研制為主要特征。這一階段的代表是MYCIN(用于細菌感染診斷)、RI(用于計算機配置)、HEARSAT(用于語音識別)的智能系統。
第四階段:上世紀八十年代
以知識為中心,充分發揮各類專門知識在模擬智能中的特殊作用,針對各實際應用領域,廣泛研制各類實用專家系統。以“知識+推理=系統”的新模式,代替長期以來“數據結構+算法=程序”的舊模式,并使知識從程序與數據結構中獨立出來,構成專門的“知識庫”。
第五階段:上世紀九十年代至今
隨著網絡時代的大數據出現,依靠先進芯片,云計算,量子技術應用于機器翻譯、語音識別、圖像識別等領域。產生了機器學習使其自動從數據中學習知識,源于人工神經網絡的深度學習代表是AlphaGo(用于圍棋計算)。
2、人工智能的分類
經過半個世紀的發展,依據其智能的先進程度可分為三種:弱人工智能只在特定領域、既定規則中表現強大的智能。強人工智能不受領域規則限制,具有人類同樣的創作力和想象力。超級人工智能遠超越人類智能。人工智能的研究類別大致可以分為三個學派:
1.邏輯學派(符號主義):計算機上實現了邏輯演繹系統,其有代表性的成果為啟發式程序LT(邏輯理論家),證明了38條數學定理,表明了可以應用計算機研究人的思維過程,模擬人類智能活動。
2.控制論學派(行為主義):20世紀末以人工智能新學派的面孔出現,把神經系統的的工作原理與信息理論、控制理論、邏輯以及計算機聯系起來。模擬人在控制過程中的智能行為和作用,如對自尋優、自適應、自鎮定、自組織和自學習等控制論系統的研究。這一學派的代表是布魯克斯的六足行走機器人。是一個基于感知-動作模式的模擬昆蟲行為的控制系統。
3.仿生學派(聯結主義):從神經元開始研究人工智能。它的代表性成果是1943年由生理學家麥卡洛克和數理邏輯學家皮茨創立的腦模型,即MP模型,開創了用電子裝置模仿人腦結構和功能的新途徑。
3、人工神經網絡的原理與應用
從某種意義上看,人工智能是模仿人腦的功能,而人腦是由大量神經元組成的巨大神經網絡。根據生物醫學,人腦的神經元基本結構為:胞體、樹突和軸突。圖3-1。
胞體:神經細胞的本體,完成普通細胞功能。
樹突:用于接收來自其他神經元的信號。
軸突:用于輸出信號。
突觸:各個神經元相聯系的特殊部位。
神經元可以處于兩種狀態:興奮和抑制。當處于抑制狀態時,如果接收其他神經元由突觸傳來的興奮電位,多個輸入在神經元中以代數和的方式疊加,當興奮總量超過某個閾值,神經元就被激發進入興奮狀態。處于興奮狀態的神經元會輸出脈沖,并通過軸突的突觸傳遞給其他神經元。根據神經元的描述,可以采用數學模型解析人工神經元的機制,如圖3-2。
手寫像素為28*28數字圖片數字0-9分別存放于10個文件夾,將黑底白字的二值圖像轉化為35維的特征矢量。
每個數字4500張圖片用于訓練網絡,500張用于測試已訓練網絡的準確率。使用Matlab實現BP網絡訓練過程。
BP神經網絡創建,訓練可以用以下代碼實現:
網絡訓練函數:
net=network_train(train_data,train_label);
其中包括初始化網絡結構:
net=newff(train_data,train_label,layer);
layer=25;網絡隱含層數25
net.trainParam.epochs=1;訓練次數
net.trainParam.lr=0.1;網絡學習速率
net.trainParam.goal=0.001;訓練目標最小誤差
net.trainFcn='trainrp';以彈性BP算法修正神經網絡
net=train(net,train_data,train_label);網絡訓練
使用已訓練網絡函數測試5000張數字的識別:
predict_label=network_test(test_data,net);
神經網絡訓練結果如圖6-1所示,經過888次訓練,計算誤差為0.02849,達到最佳。
使用已訓練網絡識別數字的正確率達到86.2%。
6、人工智能的應用
人工智能在處理海量信息、應對不確定性方面可以發揮其優勢,符合金融投資的不確定性。如應用于股票交易市場上,通過大數據與人工智能,把股市行情中眾多繁雜的指標數據進行整合分析,計算出最優的投資策略組合。在人工智能出現之前,這些數據都需要股市分析師自己整理分析,而如今計算機能自行給出基礎方案,與普通投資者相比大大提高了投資的準確性。
參考文獻
[1]? 李彥宏,智能革命:迎接人工智能時代的社會、經濟與文化變革.中信出版社,2017
[2]? 邁克爾.帕拉斯澤克,斯蒂芬妮.托馬斯,Matlab與機器學習.機械工業出版社,2018
[3]? 劉衍琦,詹福宇,蔣獻文,周華英,Matlab計算機視覺與深度學習實戰.中國工信出版集團,2017