第20章 寫論文
二十來分鐘后,大家鍛煉完畢,回寢室稍作整頓,盥洗一番之后,就去了食堂。
由于早起運(yùn)動的關(guān)系,每個(gè)人都多吃了一個(gè)饅頭,精神頭也好了不少。
飯后溜達(dá)了一會兒,幾個(gè)人就結(jié)伴回班,上早讀。
江寒端正地坐在座位上,拿出一個(gè)嶄新的筆記本,開始寫論文的第一稿。
先寫下標(biāo)題:《感知機(jī):大腦信息存儲和組織的概率模型》。
然后是摘要:“本文探討了生物神經(jīng)元的工作機(jī)制,并建立了一個(gè)簡單的數(shù)學(xué)模型,以及探索了如何在機(jī)器學(xué)習(xí)中運(yùn)用這個(gè)模型……通過對生物神經(jīng)元的模擬,來解決線性可分的二分類問題?!?p> 寫完摘要后,又設(shè)了幾個(gè)關(guān)鍵字,接下來就進(jìn)入了正文。
第一部分是背景介紹,主要討論生物神經(jīng)元。
“要了解智能對知覺識別,泛化,回憶和思考的能力,首先我們要回答三個(gè)問題:生物系統(tǒng)如何感知或檢測物理世界的信息?以什么形式存儲或記住信息?存儲或記憶中的信息如何影響識別和行為?
第一個(gè)問題屬于感官生理學(xué)領(lǐng)域,而且人們對它已經(jīng)有了可觀的認(rèn)識。第二和第三個(gè)問題,目前仍然只有大量的猜測,而且神經(jīng)生理學(xué)提供的一些相關(guān)事實(shí),還沒有被整合成為一個(gè)可以被人們接受的理論……”
開宗明義之后,接下來,就可以詳細(xì)討論生物神經(jīng)元的工作機(jī)制了。
足足用了兩千來字,才寫完這些羅里吧嗦的東西,最后下了結(jié)論。
“綜上所述,不管什么信息被保留,都必須以某種方式,存儲為特定響應(yīng)的偏好,即信息包含在連接或關(guān)聯(lián)中!”
接下來,進(jìn)入下一環(huán)節(jié),建立數(shù)學(xué)模型。
對于很多人來說,這是論文寫作之中,最為困難的地方。
就算拿出“感知機(jī)”這種大殺器,江寒也并不擔(dān)心,會被人懷疑是重生者。
除非屢見不鮮,否則誰會一碰到厲害的人,就懷疑是穿越、重生來的?
網(wǎng)上關(guān)于劉秀和王莽的段子,只是調(diào)侃和玩笑罷了。
但江寒仍然決定,將數(shù)學(xué)部分精簡一下,盡量不涉及太高深的東西。
很多高等數(shù)學(xué)的東西,大學(xué)生學(xué)起來都挺費(fèi)勁,自己一個(gè)普通高中生,憑啥能熟練運(yùn)用?
除非能證明自己,的確是個(gè)不世出的天才,不然很難解釋。
如果得到足夠的學(xué)術(shù)點(diǎn),將七維屬性都加到10以上,那自己不想當(dāng)天才都不可能。
可現(xiàn)在是起步階段,還是穩(wěn)一點(diǎn)的好。
“感知機(jī)”的工作邏輯很簡單,本來也不是什么復(fù)雜的東西,只是表述上要稍微嚴(yán)謹(jǐn)一點(diǎn)。
前世刷過的那篇同名論文,大部分內(nèi)容都是枯燥的論述,數(shù)學(xué)推導(dǎo)并不多,關(guān)于如何在計(jì)算機(jī)上實(shí)現(xiàn),則基本沒怎么講。
這也不怪原作者,那個(gè)年代的計(jì)算機(jī)科學(xué),本來就不怎么發(fā)達(dá)。
而且那篇論文的精華,也就是一個(gè)模型,一個(gè)原理。
至于編程實(shí)現(xiàn),有了模型之后,那還不是So easy嗎?
但現(xiàn)在是2012年,計(jì)算機(jī)技術(shù)已經(jīng)取得了長足進(jìn)步,足夠?qū)C(jī)器學(xué)習(xí)技術(shù),運(yùn)用于生產(chǎn)生活實(shí)踐了。
所以,江寒將這篇論文的重點(diǎn),放在了原理解析,以及如何實(shí)現(xiàn)上。
除了開頭第一段,江寒并沒有照抄原文,事實(shí)上,他也沒那個(gè)本事。
那么長的論文,能記住大概思路,就相當(dāng)不錯(cuò)了。
一個(gè)字不差背下來?江寒做不到?。?p> 根據(jù)自己對該技術(shù)的理解,江寒開始自由發(fā)揮。
先從最簡單的情況,也就是單變量開始討論。
“對于只含有1個(gè)輸入信號xi的樣本集T,我們期望找到一個(gè)線性函數(shù)y=wx+b,通過輸入的數(shù)據(jù)xi和標(biāo)簽yi,確定其中的權(quán)重w和偏置b,其中權(quán)重w控制輸入信號的重要性,而偏置b可調(diào)整神經(jīng)元被激活的難易程度……”
江寒越寫越順,下筆如飛。
“……
我們定義損失函數(shù)如下:L(w,b)=?(1/||w||)∑y i (w?x i +b),根據(jù)預(yù)設(shè)的學(xué)習(xí)率η,不斷調(diào)整權(quán)重w和偏置b,直到損失函數(shù)到達(dá)極小點(diǎn),即可得到可用的函數(shù)模型。
綜上所述,學(xué)習(xí)算法如下:
首先選定訓(xùn)練數(shù)據(jù)集T=(x1,y1),(x2,y2),...,(xN,yN),yi∈{?1,+1}并指定一個(gè)學(xué)習(xí)率η(0<η<1);
1、任意選定權(quán)重w和偏置b;
2、讀入數(shù)據(jù)點(diǎn)(xi,yi);
3、判斷該數(shù)據(jù)點(diǎn)是否為誤分類點(diǎn),如果yi(w?xi+b)≤0 則更新w=w+ηyixi;b=b+ηy i;
4、重復(fù)進(jìn)行2、3步,直到?jīng)]有誤分類點(diǎn)。
此時(shí),我們就獲得了最佳的w和b,把它們代入y=wx+b,就得到了一個(gè)數(shù)學(xué)模型?!?p> 感知機(jī)的學(xué)習(xí)過程,有個(gè)非常形象的比喻。
假設(shè)在一個(gè)棋盤上,有一堆黑子,和一堆白子,它們不相混合。
下面,拿一根細(xì)棍放上去。
我們希望這根棍子,能恰好將黑子和白子分開,棍子的一邊全是黑子,另一邊全是白子。
先把棍子隨機(jī)扔到棋盤上,如果恰好將黑子和白子分開了,那就皆大歡喜,否則的話,就平移和調(diào)整棍子的角度,直到所有白子和黑子恰好分開……
那根棍子就是感知機(jī),而挪動棍子的過程,就是感知機(jī)在學(xué)習(xí)。
棍子的角度和平移量,就是要尋找的參數(shù)w和b,也就是直線(棍子)在平面直角坐標(biāo)系(棋盤)里的函數(shù)解析式。
瞧,夠通俗易懂吧?
可惜寫論文就不能這么寫了。
感知機(jī)是人工神經(jīng)網(wǎng)絡(luò)的雛形,其中有個(gè)關(guān)鍵概念,叫激活函數(shù),它決定了一個(gè)神經(jīng)元是否有輸出。
江寒在這里,用一個(gè)階躍函數(shù)sign(x)作為激活函數(shù),其定義為: x<0時(shí)函數(shù)取值-1; x≥0時(shí)函數(shù)值為1。
只要將sign換成sigmoid或者其他非線性函數(shù),就是真正的單層前饋神經(jīng)網(wǎng)絡(luò)了。
但江寒并沒有著急將sign之外的函數(shù)拋出去。
在第一篇論文里,最重要的是提出概念,其他東西完全可以在下一篇論文中再討論。
能多水幾篇,豈不更加美滋滋?
搞定了輸入空間是1維的情況,接下來,就可以擴(kuò)展到N維。
“對于一般情況,當(dāng)有n個(gè)輸入信號時(shí),假設(shè)輸入空間是x∈Rn,輸出空間是y∈{+1,-1}。輸入x∈X 表示實(shí)例的特征向量,對應(yīng)于輸入空間的點(diǎn);輸出y屬于Y 表示實(shí)例的類別。
由輸入空間到輸出空間的如下函數(shù):Ψ(x)=rsign(w1x1+w2x2+……+wnxn+b)=rsign(wTx+b),就可以稱之為感知機(jī),其中w∈Rn,b∈R為感知機(jī)算法的參數(shù)……”
在討論完n個(gè)輸入信號的情況后,江寒指出:
“模型建立之后,經(jīng)過訓(xùn)練,就可以得到一組權(quán)重和偏置,這些參數(shù)確定了一個(gè)分離超平面(定義為n維空間上的一個(gè)n-1維子空間),此超平面可以將訓(xùn)練集中的數(shù)據(jù),完全正確地分成兩份,一份為正,一份為負(fù)(或者0,可以自己定義)。”
取得了模型的參數(shù)后,就可以把測試數(shù)據(jù)放進(jìn)去,根據(jù)模型函數(shù)運(yùn)算的結(jié)果,就能對數(shù)據(jù)進(jìn)行分類。
感知器用處很廣泛,幾乎所有二分類問題,都可以用它來試一試。
當(dāng)然,必須是線性可分的問題,線性不可分的問題,是不能用單層感知器解決的。
例如年齡和有沒有生活經(jīng)驗(yàn),就不存在線性關(guān)系;長得帥不帥和學(xué)習(xí)好不好,也沒有線性關(guān)系……
關(guān)于如何高效地判斷數(shù)據(jù)是否線性可分,江寒還真研究過,只是這個(gè)題目比較大,三言兩語說不清楚。
嗯……好像又能多水一篇或幾篇SCI?