注:本文首發(fā)于公眾號《開智學堂》
人類對于人工智能一直抱有無限遐想绍坝。古希臘神話中兔仰,火神赫菲斯托斯用金子制造了機器人女工幢尚,她們不僅可以幫他干活破停,還可以說話交流〕崧ィ瑪麗雪萊筆下的科學怪人尉剩,和普通人一樣有好奇心,追求美好的情感毅臊。除了出于提高勞動效率理茎,改進生活等現(xiàn)實因素,更是因為人有一種與生俱來的欲望,渴望成為造物者皂林,像女媧造人那樣朗鸠,看著泥土在自己手中幻化成為有智慧的生命。也許這一天還很遙遠础倍,但人類的探索從未停止過烛占。過去幾年人工智能快速增長,前所未有的浪潮洶涌而來沟启。作為人工智能的一個子領域忆家, 深度學習在解決復雜學習問題領域的成功已經(jīng)有目共睹。亞馬遜的語音助理Alexa德迹,AlphaGo擊敗李世石芽卿,Google的自動翻譯技術,它們的背后都離不開深度學習胳搞。
我也十分好奇卸例,計算機是如何具備學習能力的。就在前兩個月肌毅,我參加了開智學堂第一期深度學習課程筷转。在這里,分享一個小白在摸索路上的心得悬而。
機器學習旦装,學什么
對于用戶來說,可以把計算機當做一個黑盒子摊滔,根據(jù)輸入的數(shù)據(jù)阴绢,處理后反饋結果〖杼桑可以把處理過程表征為一個模型呻袭,或者說一個函數(shù) f()。
對于圖像識別程序腺兴,
對于AlphaGo左电,
對于語音識別程序,
這個函數(shù)有可能非常復雜页响,計算機的任務就是把它模擬出來篓足。
假設有這樣一組數(shù)據(jù),記錄了一門課程的結業(yè)成績闰蚕,a1是學生的平時分栈拖,a2是期末考試的分數(shù),y是老師給出的最終得分没陡。這組數(shù)據(jù)稱為樣本集涩哟,a1索赏,a2稱為特征,y稱為標簽贴彼。
我們把數(shù)據(jù)交給計算機潜腻,讓它從中學習打分的模型。也就是說器仗,我們期望它能夠獲得這樣一個函數(shù)f(a1,a2)融涣,盡可能地滿足這一系列等式
f(60,90) =80
……
f(50,65) =75
假如計算機學習到的模型是正確的,或者準確率是可接受的精钮,就可以給這個函數(shù)一系列新的輸入暴心,讓它預測這些學生的分數(shù)。
看看如何用深度學習來解決這個問題杂拨。深度學習是機器學習的一個分支专普,基于人工神經(jīng)網(wǎng)絡技術。在理解神經(jīng)網(wǎng)絡之前弹沽,要先理解什么是神經(jīng)元檀夹。神經(jīng)元其實就是一個能夠接收輸入,對輸入進行線性疊加策橘,運算并輸出結果的單元炸渡。
為了簡化問題,假設神經(jīng)元直接把線性疊加的結果輸出丽已,沒有經(jīng)過其他的運算蚌堵。 即f(a1,a2)=a1W1+a2W2+b,W1沛婴,W2是平時分和期末分數(shù)分別所占的權重吼畏,但它們是未知的。神經(jīng)網(wǎng)絡的任務就是把這三個未知數(shù)W1嘁灯,W2和b算出來泻蚊。
怎么算呢?答案是:猜丑婿。當然不是漫無目的的猜性雄,而是按照特定的策略,一邊猜一邊進行修正羹奉。參考下面的流程圖秒旋。
先給權重和常數(shù)賦一個隨機的值,假設是W1=0,W2=1诀拭,b=2迁筛。把樣本集里的第一行數(shù)據(jù)交給神經(jīng)元進行計算。 把計算結果和第一行數(shù)據(jù)里的真實值進行比較炫加,算出誤差瑰煎。再根據(jù)誤差修改權重铺然。具體怎樣修改權重俗孝,有很多種方法酒甸,都是基于特定的數(shù)學理論,能夠保證不斷的迭代之后赋铝,誤差會越來越小插勤。這個基于誤差修改權重的過程,就稱為學習革骨。學習方法歸根結底就是網(wǎng)絡連接權重的調(diào)整方法农尖。接下來不斷地循環(huán)以上過程,直到誤差變得最小良哲,就獲得了最合適的W1盛卡,W2和b的組合,也就得到所需的函數(shù)筑凫。
以上是最簡單的滑沧,只有一個神經(jīng)元的網(wǎng)絡,它只能表達簡單的函數(shù)。假如有兩個老師給學生打分巍实,他們的意見不一致滓技,各自都有自己的一組權重。那就在網(wǎng)絡中增加一個神經(jīng)元棚潦。權重增加為四個令漂。每個老師算出的分數(shù)再交給一個神經(jīng)元進行計算,同樣也要添加不同的權重丸边。
假如輸入的特征增加叠必,例如上課次數(shù),平時分妹窖,期末得分共同決定總成績挠唆,網(wǎng)絡就變?yōu)?/p>
當許許多多神經(jīng)元按一定規(guī)則連接起來,構成深度神經(jīng)網(wǎng)絡嘱吗,就具備了強大的功能玄组。深度學習的“深度”一詞指的是層數(shù)比較多的神經(jīng)網(wǎng)絡。
以上就是神經(jīng)網(wǎng)絡的工作原理谒麦。具體到特定領域俄讹,比如圖像識別,也是先人工給大量圖片做好標記绕德,這是一只貓患膛,這是一只狗,這是一朵花耻蛇,再交給計算機進行學習踪蹬。每一輪學習胞此,它都會根據(jù)設定好的方式對權重系數(shù)做出修正。當然具體的應用要更復雜跃捣,例如y值的計算漱牵,通常不是簡單的線性函數(shù),而是更復雜的運算過程疚漆,每一層的計算方法也會不一樣酣胀。微軟在2015年ImageNet挑戰(zhàn)賽中應用的系統(tǒng)具有152層神經(jīng)網(wǎng)絡。
人工神經(jīng)元與大腦神經(jīng)元
神經(jīng)元的學習過程令我想起曾經(jīng)在科學館里走過的鏡子迷宮娶聘。當你進入迷宮后闻镶,眼前層層疊疊,分不清虛實丸升,前進的方法是用手里的泡沫軸敲一敲铆农,看看是鏡子還是路,如果路就往前走狡耻,如果是鏡子就換一個方向墩剖,當走到了死胡同就退回來。人類大腦做決策也是類似的:不斷的接收輸入酝豪,做出判斷涛碑,再根據(jù)現(xiàn)實與自身判斷的差距進行調(diào)整。人類大腦的學習是對自我的修正孵淘,人工神經(jīng)元的學習則是對它擁有的一系列權重系數(shù)的修正蒲障,只是在計算機上精確的量化了這一過程。
1943年瘫证,邏輯學家Walter Pitts和神經(jīng)生理學家Warren McCulloch提出神經(jīng)元模型揉阎,其后神經(jīng)網(wǎng)絡研究起起伏伏多年,一度被淡忘背捌,直到2010年前后才重新崛起毙籽,獲得大規(guī)模的應用。事實上人工神經(jīng)網(wǎng)絡的發(fā)明正是受到中樞神經(jīng)系統(tǒng)的啟發(fā)毡庆。研究大腦認知機理坑赡,再把它運用到計算機上,是實現(xiàn)人工智能的一個重要途徑么抗。下圖是大腦神經(jīng)元的構造毅否。
樹突是神經(jīng)元的輸入通道,軸突是神經(jīng)元的輸出通道蝇刀。一個神經(jīng)元通常具有多個樹突螟加,而軸突只有一條,軸突尾端有許多軸突末梢跟其他神經(jīng)元的樹突產(chǎn)生連接,從而傳遞信號捆探。這個連接的位置在生物學上叫做“突觸”然爆。
在認知寫作課中,陽老師曾提到1977年諾貝爾物理學獎得主安德森的論文《多者異也》黍图,指出物質(zhì)在不同的尺度會遵從不一樣的規(guī)律曾雕。單個神經(jīng)元的功能十分簡單,當神經(jīng)元多達數(shù)百億個雌隅,心智自然涌現(xiàn)翻默。大腦神經(jīng)網(wǎng)絡之所以具有思維認識等高級功能缸沃,正是因為無數(shù)神經(jīng)元之間的聯(lián)結構成了一個龐大而復雜的系統(tǒng)恰起。
我前面所介紹的內(nèi)容,都只是簡單的趾牧,淺層次的理解骂远,其中的知識也都屬于“司機知識”躺酒。深度學習是一個融合了數(shù)學,計算機技術和特定領域知識的多學科交叉領域。在數(shù)學理論的指導下乓土,才能保證模型的學習是朝著正確的方向,能夠獲得最優(yōu)的結果诗轻;在理解了神經(jīng)網(wǎng)絡的原理之后贮聂,必須通過編程技術才能真正實現(xiàn);如何用來解決現(xiàn)實中的問題认臊,計算機怎樣理解圖像圃庭,我們使用的語言文字要怎樣轉換成計算機可以處理的數(shù)字,這些都是需要沉下心來失晴,投入時間才能夠掌握的剧腻。下一階段的計劃是深度學習“深度學習”。
學習如織網(wǎng)
新生兒的大腦中約有 860 億個神經(jīng)元涂屁。但是對大腦的運行而言书在,神經(jīng)元數(shù)目只是一方面,神經(jīng)元之間的連接才是決定性的拆又。怎樣建立神經(jīng)元之間的連接呢儒旬?通過學習。
神經(jīng)可塑性(Neuro-plasticity)是指的由于經(jīng)驗原因引起的大腦的結構改變帖族。神經(jīng)可塑性是近期的發(fā)現(xiàn)栈源,過去往往認為在嬰兒關鍵期后,大腦結構往往不發(fā)生變化盟萨。大腦有神經(jīng)元細胞和神經(jīng)膠質(zhì)細胞構成凉翻,這些細胞互相連接,通過加強或削弱這些連接捻激,大腦的結構可以發(fā)生改變制轰。
大家有沒有這樣的體會前计,當你第一次閱讀一段文字,往往不會有深刻印象垃杖。后來男杈,在某個觸動你的故事中看到對這段文字的引用,或某個場景令你聯(lián)想到它调俘,才能在腦海中留下鮮活印象伶棒。中學時很喜歡讀詩詞,大部分都是過目即忘彩库。某天放學路上肤无,我望著天邊的落日,一句話從腦海里涌出:浮云游子意骇钦,落日故人情宛渐。完全記不起這是誰寫的,什么時候讀過眯搭,甚至有種錯覺窥翩,似乎是自己想出來的。查書才知道來自李白的《送友人》鳞仙。這時我才是真正的“記住”了這首詩寇蚊。
生物學家埃里克·坎德爾(Eric R. Kandel)通過研究原始動物海兔的神經(jīng)細胞,發(fā)現(xiàn)記憶就發(fā)生在神經(jīng)元的突觸上棍好。短期記憶形成時仗岸,突觸連接的強度增加,長期記憶形成時梳玫,不僅是突觸強度增加爹梁,神經(jīng)回路中的突觸數(shù)目也發(fā)生了變化。
因此提澎,坎德爾寫道:“對需要長期保持的記憶而言姚垃,輸入的信息必須經(jīng)過徹底而深入的處理。要完成這樣的處理過程盼忌,就得留意這些信息积糯,并把這些信息跟記憶中已有的知識有意義地、系統(tǒng)化地聯(lián)系起來谦纱】闯桑”
古人云,學而時習之跨嘉。學習是一個反復印證川慌,互為佐證的過程,也是在不斷地增強大腦中神經(jīng)元之間的連接。前面所說的深度學習過程梦重,其中的計算部分兑燥,通過線性代數(shù)中的矩陣來實現(xiàn)。每個列代表一個神經(jīng)元琴拧,也就是它所擁有的權重降瞳。一個公式簡潔的表達了前面所說的一系列運算步驟。
這是我和線性代數(shù)的第三次相遇蚓胸。讀大學時它是令我頭疼的一門課挣饥,各種矩陣變換令人暈頭轉向,完全不明白為什么要定義這些奇怪的規(guī)則沛膳。在考研時專門找了一個老師的視頻學習扔枫,發(fā)現(xiàn)自己居然弄懂了,但是后來的工作中沒有使用于置,又漸漸遺忘茧吊。在深度學習課程中贞岭,我才明白八毯,原來矩陣可以用在這里。我們接受的教育有一個奇怪的特點瞄桨,把知識灌輸?shù)搅四X海话速,但是沒有把它和現(xiàn)實生活聯(lián)系。仿佛有一塊孤零零的區(qū)域芯侥,專門用來考試的泊交。學生只是在考試的指揮棒之下被迫趕路,無法領略其中的奧妙柱查。直到多年以后廓俭,我們?yōu)榱死斫庑碌闹R,不得不去重溫唉工,才明白研乒,原來它是這樣使用的。把過去的記憶提取到大腦中淋硝,與新的記憶連接雹熬,我們同時在織著兩張網(wǎng),一張是虛擬的知識網(wǎng)絡谣膳,一張是大腦中神經(jīng)元的網(wǎng)絡竿报。
洞穴外的光
到目前為止,我參加了開智學堂的四門課程继谚,坦白說烈菌,開智的課程信息密度都很大,稍不注意就會掉隊了。每期課程都有一些特別優(yōu)秀的同學芽世,在我還沒看懂算法內(nèi)容的時候侨嘀,他已經(jīng)可以和老師討論算法的性能了。我的狀態(tài)就是一直在追趕捂襟,從來都追不上咬腕。但是這樣一次又一次“被虐”,我卻樂此不疲葬荷。
在認知寫作課上涨共,陽老師提到過柏拉圖的洞穴隱喻。設想有一個深邃幽暗的洞穴宠漩,人被完全禁錮举反,只能看到前方墻壁上刻意制造的幻象,一直以為這是真實的世界扒吁。當其中一人的枷鎖被解除火鼻,能夠自由行動,看到洞穴里的一切雕崩,他會開始思考何者為真何者為幻魁索,產(chǎn)生困惑與痛苦。當他走出洞穴盼铁,逐步看清事物真相粗蔚,適應了刺眼的陽光,便不愿意再回到黑暗之中生活饶火。其實我們都生活在自我構建的洞穴之中鹏控,它可以是所處的環(huán)境,也可以是一個人的不同階段肤寝。假如你觀察一個孩子当辐,會發(fā)現(xiàn)他的喜怒哀樂、行動都是出于本能鲤看,是不自知的缘揪。隨著心智成熟,有一天他會能夠意識到自己的情緒刨摩,從而調(diào)節(jié)和控制寺晌。這便是一個走出洞穴的過程。留在已知世界中會令我們感覺安全澡刹,而探索新知呻征,開拓思維的疆域,則有機會來到更寬廣更精彩的世界罢浇。對我而言陆赋,這就是光沐祷。
其實學習的這些課程,在短期內(nèi)都和我的工作沒有多大關聯(lián)攒岛,但是并不意味著它們對我的生活不具備現(xiàn)實意義赖临。在我看來,最好的教育不是僅僅提供知識和答案灾锯,而是給你更多疑問兢榨,讓你對現(xiàn)狀產(chǎn)生質(zhì)疑。
相信很多小伙伴都和我一樣顺饮,面臨這個問題:想做的事情太多吵聪,時間不夠用,怎么辦兼雄?在學習認知科學吟逝,了解大腦怎樣做決策后,開始嘗試著簡化生活赦肋, 把一些不那么重要的事情盡可能地簡單化块攒,自動化,減少對認知能量的消耗佃乘。在陽老師的生活十二問和 童牧晨玄老師的分享中都有提及囱井,我就不再贅述。想分享的一個小體會是恕稠,簡化生活琅绅,最重要的是處理好與身邊人的關系。遠方的戰(zhàn)火會令我們動容鹅巍,慨嘆過后,生活照舊料祠。但是假如和身邊的人骆捧,尤其是家人產(chǎn)生矛盾,則會帶來一整天的心神不寧髓绽。而我們往往更在意自己面對外人時的形象敛苇,而忽略了家人的感受。意識到這一點顺呕,帶來的是行動上的改變枫攀。相比兩年之前,我能感受到自己能夠以一種更平和的心境面對工作和生活株茶。
陶淵明筆下来涨,武陵人穿越山中小口,遇見桃花源启盛。當我們跨出自我的疆域蹦掐,踏進未知世界技羔,或許會也會感覺豁然開朗,另有一番天地卧抗?
參考文獻
[1] 神經(jīng)網(wǎng)絡淺講:從神經(jīng)元到深度學習
3 尼古拉斯·卡爾 《淺薄》 中信出版社 2010-12 ISBN: 9787508624488