數(shù)學(xué)基礎(chǔ)
如果你能夠順暢地讀懂深度學(xué)習(xí)論文中的數(shù)學(xué)公式,可以獨(dú)立地推導(dǎo)新方法,則表明你已經(jīng)具備了必要的數(shù)學(xué)基礎(chǔ)。
掌握數(shù)學(xué)分析、線性代數(shù)、概率論和凸優(yōu)化四門數(shù)學(xué)課程包含的數(shù)學(xué)知識,熟知機(jī)器學(xué)習(xí)的基本理論和方法,是入門深度學(xué)習(xí)技術(shù)的前提。因?yàn)闊o論是理解深度網(wǎng)絡(luò)中各個層的運(yùn)算和梯度推導(dǎo),還是進(jìn)行問題的形式化或是推導(dǎo)損失函數(shù),都離不開扎實(shí)的數(shù)學(xué)與機(jī)器學(xué)習(xí)基礎(chǔ)。
數(shù)學(xué)分析
在工科專業(yè)所開設(shè)的高等數(shù)學(xué)課程中,主要學(xué)習(xí)的內(nèi)容為微積分。對于一般的深度學(xué)習(xí)研究和應(yīng)用來說,需要重點(diǎn)溫習(xí)函數(shù)與極限、導(dǎo)數(shù)(特別是復(fù)合函數(shù)求導(dǎo))、微分、積分、冪級數(shù)展開、微分方程等基礎(chǔ)知識。在深度學(xué)習(xí)的優(yōu)化過程中,求解函數(shù)的一階導(dǎo)數(shù)是最為基礎(chǔ)的工作。當(dāng)提到微分中值定理、Taylor公式和拉格朗日乘子的時候,你不應(yīng)該只是感到與它們似曾相識。
線性代數(shù)
深度學(xué)習(xí)中的運(yùn)算常常被表示成向量和矩陣運(yùn)算。線性代數(shù)正是這樣一門以向量和矩陣作為研究對象的數(shù)學(xué)分支。需要重點(diǎn)溫習(xí)的包括向量、線性空間、線性方程組、矩陣、矩陣運(yùn)算及其性質(zhì)、向量微積分。當(dāng)提到Jacobian矩陣和Hessian矩陣的時候,你需要知道確切的數(shù)學(xué)形式;當(dāng)給出一個矩陣形式的損失函數(shù)時,你可以很輕松的求解梯度。
概率論
概率論是研究隨機(jī)現(xiàn)象數(shù)量規(guī)律的數(shù)學(xué)分支,隨機(jī)變量在深度學(xué)習(xí)中有很多應(yīng)用,無論是隨機(jī)梯度下降、參數(shù)初始化方法(如Xavier),還是Dropout正則化算法,都離不開概率論的理論支撐。除了掌握隨機(jī)現(xiàn)象的基本概念(如隨機(jī)試驗(yàn)、樣本空間、概率、條件概率等)、隨機(jī)變量及其分布之外,還需要對大數(shù)定律及中心極限定理、參數(shù)估計(jì)、假設(shè)檢驗(yàn)等內(nèi)容有所了解,進(jìn)一步還可以深入學(xué)習(xí)一點(diǎn)隨機(jī)過程、馬爾可夫隨機(jī)鏈的內(nèi)容。
凸優(yōu)化
結(jié)合以上三門基礎(chǔ)的數(shù)學(xué)課程,凸優(yōu)化可以說是一門應(yīng)用課程。但對于深度學(xué)習(xí)而言,由于常用的深度學(xué)習(xí)優(yōu)化方法往往只利用了一階的梯度信息進(jìn)行隨機(jī)梯度下降,因而從業(yè)者事實(shí)上并不需要多少“高深”的凸優(yōu)化知識。理解凸集、凸函數(shù)、凸優(yōu)化的基本概念,掌握對偶問題的一般概念,掌握常見的無約束優(yōu)化方法如梯度下降方法、隨機(jī)梯度下降方法、Newton方法,了解一點(diǎn)等式約束優(yōu)化和不等式約束優(yōu)化方法,即可滿足理解深度學(xué)習(xí)中優(yōu)化方法的理論要求。
機(jī)器學(xué)習(xí)
歸根結(jié)底,深度學(xué)習(xí)只是機(jī)器學(xué)習(xí)方法的一種,而統(tǒng)計(jì)機(jī)器學(xué)習(xí)則是機(jī)器學(xué)習(xí)領(lǐng)域事實(shí)上的方法論。以監(jiān)督學(xué)習(xí)為例,需要你掌握線性模型的回歸與分類、支持向量機(jī)與核方法、隨機(jī)森林方法等具有代表性的機(jī)器學(xué)習(xí)技術(shù),并了解模型選擇與模型推理、模型正則化技術(shù)、模型集成、Bootstrap方法、概率圖模型等。深入一步的話,還需要了解半監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等專門技術(shù)。
從一個輸入中產(chǎn)生一個輸出所涉及的計(jì)算可以通過一個流向圖(flow graph)來表示:流向圖是一種能夠表示計(jì)算的圖,在這種圖中每一個節(jié)點(diǎn)表示一個基本的計(jì)算并且一個計(jì)算的值(計(jì)算的結(jié)果被應(yīng)用到這個節(jié)點(diǎn)的孩子節(jié)點(diǎn)的值)??紤]這樣一個計(jì)算集合,它可以被允許在每一個節(jié)點(diǎn)和可能的圖結(jié)構(gòu)中,并定義了一個函數(shù)族。輸入節(jié)點(diǎn)沒有孩子,輸出節(jié)點(diǎn)沒有父親。
這種流向圖的一個特別屬性是深度(depth):從一個輸入到一個輸出的最長路徑的長度。
傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)能夠被看做擁有等于層數(shù)的深度(比如對于輸出層為隱層數(shù)加1)。SVMs有深度2(一個對應(yīng)于核輸出或者特征空間,另一個對應(yīng)于所產(chǎn)生輸出的線性混合)。 需要使用深度學(xué)習(xí)解決的問題有以下的特征:
深度不足會出現(xiàn)問題。
人腦具有一個深度結(jié)構(gòu)。
認(rèn)知過程逐層進(jìn)行,逐步抽象。
深度不足會出現(xiàn)問題
在許多情形中深度2就足夠表示任何一個帶有給定目標(biāo)精度的函數(shù)。但是其代價是:圖中所需要的節(jié)點(diǎn)數(shù)(比如計(jì)算和參數(shù)數(shù)量)可能變的非常大。理論結(jié)果證實(shí)那些事實(shí)上所需要的節(jié)點(diǎn)數(shù)隨著輸入的大小指數(shù)增長的函數(shù)族是存在的。
我們可以將深度架構(gòu)看做一種因子分解。大部分隨機(jī)選擇的函數(shù)不能被有效地表示,無論是用深的或者淺的架構(gòu)。但是許多能夠有效地被深度架構(gòu)表示的卻不能被用淺的架構(gòu)高效表示。一個緊的和深度的表示的存在意味著在潛在的可被表示的函數(shù)中存在某種結(jié)構(gòu)。如果不存在任何結(jié)構(gòu),那將不可能很好地泛化。
大腦有一個深度架構(gòu)
例如,視覺皮質(zhì)得到了很好的研究,并顯示出一系列的區(qū)域,在每一個這種區(qū)域中包含一個輸入的表示和從一個到另一個的信號流(這里忽略了在一些層次并行路徑上的關(guān)聯(lián),因此更復(fù)雜)。這個特征層次的每一層表示在一個不同的抽象層上的輸入,并在層次的更上層有著更多的抽象特征,他們根據(jù)低層特征定義。
需要注意的是大腦中的表示是在中間緊密分布并且純局部:他們是稀疏的:1%的神經(jīng)元是同時活動的。給定大量的神經(jīng)元,仍然有一個非常高效地(指數(shù)級高效)表示。
認(rèn)知過程逐層進(jìn)行,逐步抽象
人類層次化地組織思想和概念;
人類首先學(xué)習(xí)簡單的概念,然后用他們?nèi)ケ硎靖橄蟮模?/p>
工程師將任務(wù)分解成多個抽象層次去處理;
學(xué)習(xí)/發(fā)現(xiàn)這些概念(知識工程由于沒有反省而失???)是很美好的。對語言可表達(dá)的概念的反省也建議我們一個稀疏的表示:僅所有可能單詞/概念中的一個小的部分是可被應(yīng)用到一個特別的輸入(一個視覺場景)。
總是說由淺入深,許多專業(yè)并不是專精一科就行,其中有許多的知識還涉及到別的專業(yè)知識。如果想要專精一科的話,由這一科聯(lián)系到的知識也應(yīng)該多涉及一些;就像學(xué)計(jì)算機(jī)就要英語與數(shù)學(xué)兼顧,并不是只注重計(jì)算機(jī)一門課程就好;
那我們就要學(xué)習(xí)的面要廣,大致的知識面要都涉及一些;用的時候知道怎么可以找到。
基礎(chǔ)的知識是必備的,扎實(shí)的基礎(chǔ)是往后發(fā)展的前提,許多基礎(chǔ)知識的用處是很重要的!基礎(chǔ)扎實(shí)了可以避免走很多彎路。根基穩(wěn)固則一路通途。
再就是理論與實(shí)際相結(jié)合,很多理論上的東西在實(shí)際操作時候并不能全部體現(xiàn),所以可以借鑒,也要多實(shí)踐操作下,反復(fù)印證。
多問多學(xué)多看,祝愿你可以走的更。
1、先學(xué)會給自己定定目標(biāo)(大、小、長、短),這樣學(xué)習(xí)會有一個方向;然后梳理自身的學(xué)習(xí)情況,找出自己掌握的薄弱環(huán)節(jié)、存在的問題、容易丟分的知識點(diǎn);再者合理的分配時間,有針對性的制定學(xué)習(xí)任務(wù),一一的去落實(shí)。
2、可以學(xué)習(xí)掌握速讀記憶的能力,提高學(xué)習(xí)復(fù)習(xí)效率。速讀記憶是一種高效的學(xué)習(xí)、復(fù)習(xí)方法,其訓(xùn)練原理就在于激活“腦、眼”潛能,培養(yǎng)形成眼腦直映式的閱讀、學(xué)習(xí)方式。
速讀記憶的練習(xí)見《精英特全腦速讀記憶訓(xùn)練》,用軟件練習(xí),每天一個多小時,一個月的時間,可以把閱讀速度提高5、6倍,記憶力、理解力等也會得到相應(yīng)的提高,最終提高學(xué)習(xí)、復(fù)習(xí)效率,取得好成績。如果你的閱讀、學(xué)習(xí)效率低的話,可以好好的去練習(xí)一下。
3、要學(xué)會整合知識點(diǎn)。把需要學(xué)習(xí)的信息、掌握的知識分類,做成思維導(dǎo)圖或知識點(diǎn)卡片,會讓你的大腦、思維條理清醒,方便記憶、溫習(xí)、掌握。
同時,要學(xué)會把新知識和已學(xué)知識聯(lián)系起來,不斷糅合、完善你的知識體系。這樣能夠促進(jìn)理解,加深記憶。
4、做題的時候要學(xué)會反思、歸類、整理出對應(yīng)的解題思路。遇到錯的題(粗心做錯也好、不會做也罷),最好能把這些錯題收集起來,每個科目都建立一個獨(dú)立的錯題集(錯題集要?dú)w類),當(dāng)我們進(jìn)行考前復(fù)習(xí)的時候,它們是重點(diǎn)復(fù)習(xí)對象,保證不再同樣的問題上再出錯、再丟分。
深度學(xué)習(xí)需要有數(shù)學(xué)和計(jì)算機(jī)基礎(chǔ)。
深度學(xué)習(xí)(DL, Deep Learning)是機(jī)器學(xué)習(xí)(ML, Machine Learning)領(lǐng)域中一個新的研究方向,它被引入機(jī)器學(xué)習(xí)使其更接近于最初的目標(biāo)——人工智能(AI, Artificial Intelligence)。
深度學(xué)習(xí)是學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,這些學(xué)習(xí)過程中獲得的信息對諸如文字,圖像和聲音等數(shù)據(jù)的解釋有很大的幫助。它的最終目標(biāo)是讓機(jī)器能夠像人一樣具有分析學(xué)習(xí)能力,能夠識別文字、圖像和聲音等數(shù)據(jù)。 深度學(xué)習(xí)是一個復(fù)雜的機(jī)器學(xué)習(xí)算法,在語音和圖像識別方面取得的效果,遠(yuǎn)遠(yuǎn)超過先前相關(guān)技術(shù)。
深度學(xué)習(xí)在搜索技術(shù),數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí),機(jī)器翻譯,自然語言處理,多媒體學(xué)習(xí),語音,推薦和個性化技術(shù),以及其他相關(guān)領(lǐng)域都取得了很多成果。深度學(xué)習(xí)使機(jī)器模仿視聽和思考等人類的活動,解決了很多復(fù)雜的模式識別難題,使得人工智能相關(guān)技術(shù)取得了很大進(jìn)步。
關(guān)于數(shù)學(xué)基礎(chǔ)有的同學(xué)有數(shù)學(xué)基礎(chǔ),但是缺乏 C++/Python 編程語言;有的同學(xué)沒有數(shù)學(xué)基礎(chǔ),是否可以學(xué)?數(shù)學(xué)基礎(chǔ)需要到什么程度?如果提前學(xué)習(xí)是否有資料推薦?【回答】首先學(xué)習(xí)本門課程并不需要特別高的數(shù)學(xué)基礎(chǔ),只需要掌握大學(xué)本科階段學(xué)習(xí)的高等數(shù)學(xué)、線性代數(shù)和概率論等課程。
雖然從應(yīng)用角度上來看:如果想要深入研究深度學(xué)習(xí),比如完全自己實(shí)現(xiàn)不同結(jié)構(gòu)的網(wǎng)絡(luò),設(shè)計(jì)網(wǎng)絡(luò)的層與參數(shù)最好能夠熟練運(yùn)用矩陣?yán)碚撝械南嚓P(guān)工具,但是我相信如果職業(yè)道路規(guī)劃不是算法工程師,一般并不會深入到這一層面。對應(yīng)于不同應(yīng)用領(lǐng)域,還需要不同的數(shù)學(xué)工具,比如和圖像、信號識別相關(guān)的領(lǐng)域,圖形學(xué)等相關(guān)的基礎(chǔ)功底是必須要有的,但這個已經(jīng)是復(fù)雜的現(xiàn)實(shí)應(yīng)用問題了,并不在本門課程的教學(xué)范圍之內(nèi),本門課程的應(yīng)用領(lǐng)域還是相對較為簡單的。
實(shí)際上,如果你是一個工科生,你會發(fā)現(xiàn)學(xué)習(xí)數(shù)學(xué)最難的地方就是不理解這些數(shù)學(xué)工具到底能幫助我們?nèi)ソ鉀Q什么問題,因?yàn)榇髮W(xué)老師大多數(shù)都是數(shù)學(xué)專業(yè)老師,并不會從學(xué)生各自專業(yè)的角度來講解數(shù)學(xué)問題。但是當(dāng)你知道你需要用數(shù)學(xué)工具做什么,有一個明確目標(biāo)后,你會發(fā)現(xiàn)你的動力和學(xué)習(xí)能力將會有一個突破,你不會覺得這些數(shù)學(xué)知識是枯燥乏味的。
因此哪怕你的數(shù)學(xué)基礎(chǔ)相對薄弱,有一個明確的目的,再去補(bǔ)充這些數(shù)學(xué)知識,相信學(xué)員自己一定能解決這個問題。數(shù)學(xué)也絕對不是學(xué)習(xí)這門課的障礙,但是如果你想以其作為職業(yè),去打好這個數(shù)學(xué)的底子是不可或缺的。
最后,如果你是數(shù)學(xué)專業(yè),或者覺得自己數(shù)學(xué)很好的學(xué)生,你們也更不用擔(dān)心不會 1、2 門語言,因?yàn)橛?jì)算機(jī)語言只是一種工具,最關(guān)鍵的還是訓(xùn)練自己的思維,這種思維的核心就是數(shù)學(xué)和算法。如果你數(shù)學(xué)很好,學(xué)習(xí)這些語言是很快的,而且本門課程中除了最后的 C++ 開發(fā),也不會應(yīng)用到什么特別的語法特性。
但是另一方面也不要忽視學(xué)習(xí)好這些工具的重要性,只是希望學(xué)生自己能夠權(quán)衡。對數(shù)學(xué)好的同學(xué)來說,可能最致命的是一個誤區(qū),因?yàn)橛?jì)算機(jī)的基礎(chǔ)是數(shù)學(xué),所以完全使用數(shù)學(xué)思維去解決計(jì)算機(jī)問題是沒問題的,我這里只能說計(jì)算機(jī)有自己的思維模式,哪怕是那些基于數(shù)學(xué)原理的算法問題,所以數(shù)學(xué)專業(yè)的同學(xué)必須要學(xué)會認(rèn)識到這種思維的差異并學(xué)會使用計(jì)算機(jī)的思維來解決問題,而機(jī)器學(xué)習(xí)則是計(jì)算機(jī)思維的一個典型代表,這個將會在課程中具體討論。
至于需要的數(shù)學(xué)基礎(chǔ),肯定是希望同學(xué)能夠?qū)W習(xí)高等數(shù)學(xué)中的微積分,線性代數(shù)和概率論的相關(guān)知識,對于沒有實(shí)際編程經(jīng)驗(yàn)的學(xué)生則推薦深入學(xué)習(xí)一下離散數(shù)學(xué)(無關(guān)乎是否精于數(shù)學(xué))。本門課程需要的數(shù)學(xué)基礎(chǔ)也就是這些了。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:3.674秒