《Neural Networks for Machine Learning》学习一
前言
最近報了一下Hinton大牛的coursera的神經(jīng)網(wǎng)絡(luò)課程,奈何比較懶,一直沒看,還是寫個博客督促自己比較好
貼一下課程地址:https://www.coursera.org/learn/neural-networks/home/week/1
第一講主題是為何需要機器學習,文檔可以去課程下載,此處提供一下百度云地址
【Lecture 1a】百度云下載地址:鏈接:http://pan.baidu.com/s/1dEFCEXV 密碼:em4h
為何需要機器學習
什么是機器學習
寫一個程序去識別有照明條件的復雜場景中的三維物體是比較困難的:
——我們不知道怎么去寫,因為我們并不知道人類看到物體后大腦的運作狀況
——即使較好地了解如何去實現(xiàn)它,程序也會非常復雜
寫一個程序去計算一場信用卡交易是欺詐性質(zhì)的概率是多少
——因為可能沒有簡單可信賴的條件去判別。我們需要結(jié)合大量的隱藏規(guī)則去判斷。
——欺騙是可以轉(zhuǎn)移目標的,程序需要不斷更改。
機器學習方法
無需為每一個特定任務(wù)書寫代碼,我們收集了大量的樣本,這些樣本中指定了對于一個給定輸入的正確輸出
機器學習算法就是利用這些樣本去生成完成指定工作的程序:
——學習算法創(chuàng)造的程序可能會與手寫的程序非常不同,可能包含數(shù)以百萬計的數(shù)目。
——如果我們正確做到了這些工作,程序在新樣本上的效果就會像訓練集上的樣本一樣。
——如果數(shù)據(jù)可以更改,那么,那么在新數(shù)據(jù)上的程序也是可以被更改的。
目前大量的計算比付費給程序員書寫一個特定任務(wù)的程序便宜很多。【難道是因為并行計算的普及?哈哈,瞎猜的】
通過學習能解決的任務(wù)實例
模式識別
——真實場景的目標檢測
——面部識別或者面部表情
——說話文字
異常識別
——信用卡交易的不正規(guī)序列
——核電廠傳感器讀數(shù)的不正常模式
預測
——將來股價或者貨比交換率
——比較受歡迎的電影
標準的機器學習實例
果蠅遺傳學研究
——方便研究, 因為繁殖快
——我們對果蠅已經(jīng)了解了不少
手寫數(shù)字識別MNIST數(shù)據(jù)庫與果蠅是等價的
——數(shù)據(jù)公開,可以用一個中型神經(jīng)網(wǎng)絡(luò)去快速學習
——我們知道多種機器學習方法能夠處理MNIST數(shù)據(jù)集
我們將使用MNIST作為標準的任務(wù)。
很難說生成2的原因到底是什么。
基于MNIST的ImageNet任務(wù)
ImageNet是一個比賽,有興趣的可以關(guān)注一下。今年的ImageNet好像中國人獲獎很多。Google好像沒參賽?
ImageNet共包含1000種不同的對象類別,1.3百萬個訓練圖像
——2010年競賽的最好方法獲得了第一選錯率47%和前五選錯率25%的結(jié)果
Jitendra Malik(一個神經(jīng)網(wǎng)絡(luò)學者)說這個競賽是對于深度神經(jīng)網(wǎng)絡(luò)是否能夠在對象識別上取得好成績的一個非常好的測試。
——Krizhevsky等提出的深度神經(jīng)網(wǎng)絡(luò)在第一選錯率上取得了40%錯誤率,前五選錯率少于20%
這個網(wǎng)絡(luò)的一個早期版本的一些樣本
可以處理大范圍的目標
也有一些非常cool的錯誤
語音識別任務(wù)
語音識別包含幾個步驟:
——預處理:將音波轉(zhuǎn)換為聲系數(shù)(acoustic coefficients)向量,每10千秒(mille seconds)提取一個向量。
——聲模型(acoustic model):使用聲系數(shù)的鄰接向量為正在說話的麥克風“下注”(place bets)
——解碼:尋找適合聲音數(shù)據(jù)的最優(yōu)的“下注”順序并且滿足為人們說話內(nèi)容建立的模型。這句話不太會翻譯,原始句子:Find the sequence of bets that does the best job of fitting the acoustic data and also fitting a model of the kinds of things people say
George Dahl和Abdel-rahman Mohamed指出在語音建模中,深度神經(jīng)網(wǎng)絡(luò)正在替代之前的機器學習方法。
基于TIMIT數(shù)據(jù)集的音素識別(Phone recognition)
——在標準的后處理之后,使用bi-phone模型(一個深度網(wǎng)絡(luò),具有8個層)得到了20.7%的錯誤率
——在TIMIT數(shù)據(jù)集上的獨立演講者識別中最好的識別率是24.4%并且需要平均好幾個模型的結(jié)果
——MSR的Li Deng意識到這個結(jié)果可能會改變說話人識別的方法
MSR、IBM、Google的單詞誤識別率
什么是神經(jīng)網(wǎng)絡(luò)
學習神經(jīng)計算的原因
了解人腦的實際工作方法
——非常巨大和復雜并且當你刺它的時候會有許多組成材料死亡。所以需要計算機仿真
了解由神經(jīng)元激發(fā)的并行計算風格以及他們的自適應連接
——與順序計算非常不同的風格
※處理大腦擅長的東西時候效果比較好(比如視覺)
※處理大腦不擅長的東西時候效果比較差(比如計算23*31)
由大腦啟發(fā)的使用新穎的學習算法解決實際問題
——學習算法需要是有用的,即使它們并不是大腦實際工作的那樣
典型的大腦皮層神經(jīng)
總的物理結(jié)構(gòu):
——下圖是一個神經(jīng)元軸突分值
——是一個接受其他神經(jīng)元輸入的樹突樹
在突觸的地方神經(jīng)元會連接樹突樹
——在一個神經(jīng)元活動的刺激導致的電流會被傳導到突觸有關(guān)的神經(jīng)元
刺激的生成
——當有足夠的能量流動到突觸去極化細胞膜,神經(jīng)元小丘就生成向外傳播的刺激
突觸
當活動刺激沿著神經(jīng)元到達一個突觸,便產(chǎn)生傳遞化學遞質(zhì)的小囊泡
——有許多種傳遞介質(zhì)
傳遞分子在突觸裂隙中播散,影響到后突神經(jīng)元接收分子,因此改變了它們的形態(tài)
——這些打開的洞允許指定離子出入
突觸如何適應
突觸的有效部分會被改變
——改變傳遞分子的小囊泡數(shù)量
——改變接收分子的數(shù)量
突觸比較慢,但是比RAM(隨機存儲器?)更具優(yōu)勢
——非常小,非常低能量
——它們使用本地可用信號做出改變(adapt)
※但是如何決定使用什么規(guī)則去做出何種改變呢?
大腦是如何運行的on one slide
每個神經(jīng)元接受其他神經(jīng)元的輸入
——有些神經(jīng)元連接接收器
——皮層神經(jīng)元使用刺激交流
一個神經(jīng)元的每一個輸入隊列的影響都是由一個突觸權(quán)重控制的
——權(quán)重可以是積極的也可以說消極的
突觸權(quán)重具有自適應性,因此才能讓整個網(wǎng)絡(luò)做出有用的計算
——認知對象,理解語言,做出計劃,控制身體
你有10^11神經(jīng)元,每一個具有10^4個權(quán)重
——巨大的權(quán)重數(shù)目影響到了短時間內(nèi)的計算,比工作站更好的帶寬。
模塊化與大腦
不同小片的皮質(zhì)做不同的事情
——大腦的局部損壞具有特定的影響,(比如喝醉了就會晃)
——指定的任務(wù)會加速血液流動到指定的區(qū)域
但是皮質(zhì)看起來幾乎都一樣
——早期大腦損傷使得功能重置relocate
皮層是由具有依據(jù)經(jīng)驗轉(zhuǎn)換為特定意圖物質(zhì)的一般意圖物質(zhì)組成的
——這賦予了快速并行計算和靈活性
——傳統(tǒng)計算機通過存儲一系列程序獲得靈活性,但是這需要非常塊的中央處理器去處理長時間序列的計算
神經(jīng)元的一些簡單模型
理想化神經(jīng)元
為了為事物建模,我們需要理想化他們(比如原子)
——理想化移除了那些對理解主要原理無用的復雜細節(jié)
——允許我們使用算術(shù)以及對其它類似系統(tǒng)做推理
——只要明白基本原理,增加模型復雜性去讓模型更加準確是非常簡單的
理解模型為什么出錯是非常必要的(但是我們必須不能忘記,他們是出錯的)
——比如那些交流真實值的神經(jīng)元,而不是那些離散的活動刺激。(也就是有些神經(jīng)元沒事到處跑,我們要關(guān)注的是那些攜帶“基本原理”的神經(jīng)元)
線性神經(jīng)元
比較簡單,但是計算受限
——如果我們讓它們學習的更多,那么就可以了解更復雜的神經(jīng)元
二值閾值神經(jīng)元
McCulloch -Pitts:影響馮洛伊曼
——首先計算輸入的加權(quán)和
——如果加權(quán)和超過閾值,則送出一個固定的活動激勵
——McCulloch和Pitts認為每一個激勵就像每一個提議(proposition)的真實值,而且每一個神經(jīng)元結(jié)合真實值去計算另一個提議的真實值。
下面是二值閾值神經(jīng)元的兩種等價寫法:
矯正線性神經(jīng)元(Rectified Liner Neurons,有時候稱為線性閾值神經(jīng)元)
計算輸入的線性加權(quán)和
輸出是所有輸入的非線性函數(shù)
sigmoid神經(jīng)元
給出了實值(real - valued )輸出,是對于所有輸入的光滑有界函數(shù)
——典型地使用logistic 函數(shù)
——有非常好的求導能力,使得學習很簡單
學習的一些簡單案例
理解手寫形狀的簡單方式
以具有兩層神經(jīng)元的神經(jīng)網(wǎng)絡(luò)為例
——頂層神經(jīng)元代表已知的形狀
——底層神經(jīng)元代表像素強度
當一個像素有墨跡的時候,就會得到一票
——每一個墨跡像素點可以為不同的形狀投票
得到最多票數(shù)的形狀獲勝
如何顯示權(quán)重
給定輸入圖像的輸出單元的“map”(我經(jīng)常稱為特征圖),展示在特征圖中對應來自每一個像素的權(quán)重
使用黑或者白的blob(我稱為斑點塊)代表權(quán)重大小,顏色代表符號
如何學習權(quán)重
展示一張圖片的網(wǎng)絡(luò)和來自活躍像素的增長權(quán)重到正確的類別
活躍像素的權(quán)重衰減到網(wǎng)絡(luò)猜想的其他任何類別
這些學習算法的細節(jié)在未來的課程會有介紹
為什么簡單的算法會低效
頂層具有單贏策略的雙層網(wǎng)絡(luò)等價于對于每一個形狀具有固定(rigid)的模板
——獲勝者是模板中具有最大重疊墨跡者
手寫數(shù)字的書寫方法是多變的,使用簡單的模板去匹配整個形狀是非常麻煩的
——為了獲取所由允許的數(shù)字變化,我們需要學習這些組成特征(the features that it is composed of )
手寫數(shù)字的樣本在首次展示在屏幕上的時候可以正確識別
學習的三種方法
學習任務(wù)的類型
監(jiān)督學習(supervised learning)
——給定一個輸入向量,學習著去預測一個輸出
增強學習(Reinforcement learning )
——學習選擇一種行為(action)去最大化報酬(payoff)
無監(jiān)督學習(unsupervised learning)
——發(fā)現(xiàn)輸入的一種內(nèi)在表示方法
監(jiān)督學習的兩個類型
每個訓練案例包含輸入向量x和目標輸出t
回歸(regression):目標輸出是一個真實值,或者真實值的整個向量
——六個月時間內(nèi)的股價
——明天中午的溫度
分類(classification):目標輸出是一個類別標簽
——最簡單的案例就是選擇1或者0
——也可以具有多個可選標簽
監(jiān)督學習如何工作
選擇一個模型-類別:y=f(x;w)
——模型-類別,f,是運用一系列數(shù)值參數(shù)W,去映射每一個輸入向量x到預測輸出y
學習經(jīng)常意味著調(diào)整參數(shù)去降低訓練案例的真實輸出 t 與由模型產(chǎn)生的實際輸出y 的矛盾
——對于回歸(y-t)2/2經(jīng)常是衡量矛盾的好的測量方法
——對于分類,有許多其他衡量的方法,也可能更有效(他們經(jīng)常也產(chǎn)生更好的效果)
增強學習
在增強學習中,輸出是一個行為或者一系列的活動,而且唯一的監(jiān)督信號是一個臨時的梯度獎勵(occasional scalar reward)
——選擇每一個行為的目標是最大化將來獎勵的期望和
——我們常為延遲獎勵(delayed rewards)使用一個折扣因素(discount factor),因此無需展望過久的未來。
增強學習是困難的
——獎勵經(jīng)常延遲,因此很難知道哪里出錯了或者是正確的
——梯度獎勵并沒提供太多信息
這個課程無法包含所有的事情,而且增強學習是一個非常重要的話題,但是遺憾的是本課不會包含
無監(jiān)督學習
40年來,無監(jiān)督學習在機器學習領(lǐng)域被很大程度上忽視了
——機器學習上一些廣泛使用的定義排除它在外
——很多研究認為聚類是無監(jiān)督學習的唯一形式
非常難說無監(jiān)督學習目標是什么
——其中一個重要的目標是生成輸入數(shù)據(jù)的內(nèi)在表示,這個表示對于后來的監(jiān)督學習和增強學習很有用
——可以使用兩個圖像的不一致來計算距離。但是你不想無數(shù)次觸碰到你的腳尖去計算不一致(沒看懂啥意思),You can compute the distance to a surface by using the disparity between two images. But you don’t want to learn to compute disparities by stubbing your toe thousands of times
無監(jiān)督學習的其他目標
提供了輸入數(shù)據(jù)的簡單低維表示
——高維輸入經(jīng)常接近一個低維流行(manifold)(或者多個這樣的流行結(jié)構(gòu))
——PCA是廣泛使用的尋找低維表示的線性方法
根據(jù)學習到的特征,提供了比較合算的輸入數(shù)據(jù)的高維表示
——二值特征是非常合算的economical
——全部接近0的實值特征也是同樣
找到了輸入數(shù)據(jù)比較合乎情理的聚類(sensible clusters)
——這是系數(shù)斑馬的一個案例,其中僅僅只有一個特征是非零的(only one of the features is non-zero)
總結(jié)
以上是生活随笔為你收集整理的《Neural Networks for Machine Learning》学习一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为点击的按钮添加高亮
- 下一篇: 《Neural Networks for