偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

看得見的機(jī)器學(xué)習(xí):零基礎(chǔ)看懂神經(jīng)網(wǎng)絡(luò)

人工智能 機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)就像高中生的性愛。每個(gè)人都說他們做了,但其實(shí)沒有人真的做了,也沒有人真正知道它到底是什么。

 關(guān)于機(jī)器學(xué)習(xí),有一個(gè)古老的笑話:

Machine learning is like highschool sex. Everyone says they do it, nobody really does, and no one knows what it actually is. [1]

翻譯過來意思大概是:

機(jī)器學(xué)習(xí)就像高中生的性愛。每個(gè)人都說他們做了,但其實(shí)沒有人真的做了,也沒有人真正知道它到底是什么。

[[324779]]

總之,在某種程度上,機(jī)器學(xué)習(xí)確實(shí)有很多晦澀難懂的部分。雖然借助TensorFlow、sklearn等工具,機(jī)器學(xué)習(xí)模型以及神經(jīng)網(wǎng)絡(luò)通常能被快速地運(yùn)行起來,但真正弄清背后發(fā)生了什么,仍然不是一件容易的事。在本篇文章中,我會(huì)試圖用直觀的方式來解釋神經(jīng)網(wǎng)絡(luò)。俗話說,「耳聽為虛,眼見為實(shí)」,本文的目標(biāo)就是,利用「可視化」的方法,讓你親眼「看到」神經(jīng)網(wǎng)絡(luò)在運(yùn)行時(shí)到底做了什么。

本文不會(huì)出現(xiàn)一個(gè)公式,希望非技術(shù)人員也能看懂。希望如此^-^

最簡單的神經(jīng)網(wǎng)絡(luò)

當(dāng)今在圖像識(shí)別或NLP中使用的深度神經(jīng)網(wǎng)絡(luò),都發(fā)展出了非常復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)層次多達(dá)幾十層,模型參數(shù)多達(dá)數(shù)十萬、上百萬個(gè)。這樣的神經(jīng)網(wǎng)絡(luò)理解起來,難度極大,而且計(jì)算起來也需要很強(qiáng)的算力。

因此,我們由簡入繁,先從最簡單的情況入手。

首先,我們考慮一個(gè)簡單的「二分類」問題。下面展示了一個(gè)隨機(jī)生成的數(shù)據(jù)集:

 

上圖展示的是總共160個(gè)點(diǎn)(包括紅色和藍(lán)色),每個(gè)點(diǎn)代表一個(gè)數(shù)據(jù)樣本。顯然,每個(gè)樣本包含2個(gè)特征,這樣每個(gè)樣本才能夠在一個(gè)二維坐標(biāo)系中用一個(gè)點(diǎn)來表示。紅色的點(diǎn)表示該樣本屬于第1個(gè)分類,而藍(lán)色的點(diǎn)表示該樣本屬于第2個(gè)分類。

二分類問題可以理解成:訓(xùn)練出一個(gè)分類模型,把上圖中160個(gè)樣本組成的訓(xùn)練集按所屬分類分成兩份。注意:這個(gè)表述并不是很嚴(yán)謹(jǐn)。上圖中的樣本只是用于訓(xùn)練,而訓(xùn)練出來的模型應(yīng)該能對「不屬于」這個(gè)訓(xùn)練集的其它樣本進(jìn)行分類(不過我們現(xiàn)在不關(guān)注這一點(diǎn),可以先忽略掉這個(gè)表述上的細(xì)節(jié))。

為了完成這個(gè)二分類任務(wù),我們有很多種機(jī)器學(xué)習(xí)模型可供選擇。但現(xiàn)在我們的目的是為了研究神經(jīng)網(wǎng)絡(luò),所以我們可以設(shè)計(jì)一個(gè)最簡單的神經(jīng)網(wǎng)絡(luò),來解決這個(gè)分類問題。如下圖:

 

這個(gè)神經(jīng)網(wǎng)絡(luò)幾乎沒法再簡單了,只有1個(gè)輸入層和1個(gè)輸出層,總共只有3個(gè)神經(jīng)元。

經(jīng)過簡單的數(shù)學(xué)分析就容易看出,這個(gè)只有2層的神經(jīng)網(wǎng)絡(luò)模型,其實(shí)等同于傳統(tǒng)機(jī)器學(xué)習(xí)的LR模型(邏輯回歸)。也就是說,這是個(gè)線性分類器,對它的訓(xùn)練相當(dāng)于在前面那個(gè)二維坐標(biāo)平面中尋找一條直線,將紅色點(diǎn)和藍(lán)色點(diǎn)分開。

根據(jù)紅色點(diǎn)和藍(lán)色點(diǎn)的位置分布,我們很容易看出,這樣的一條直線,很容易找出來(或?qū)W習(xí)出來)。實(shí)際上,上圖中這個(gè)簡單的神經(jīng)網(wǎng)絡(luò),經(jīng)過訓(xùn)練很容易就能達(dá)到100%的分類準(zhǔn)確率(accuracy)。

現(xiàn)在,假設(shè)我們的數(shù)據(jù)集變成了下面的樣子(紅色點(diǎn)分成了兩簇,分列藍(lán)色點(diǎn)左右):

 

如果我們還是使用前面的2層的神經(jīng)網(wǎng)絡(luò),試圖畫一條直線來把紅色點(diǎn)和藍(lán)色點(diǎn)分開,顯然就做不到了。我們說,現(xiàn)在這個(gè)分成三簇的數(shù)據(jù)集已經(jīng)不是「線性可分」的了。實(shí)際上,針對最新的這個(gè)數(shù)據(jù)集,前面這個(gè)只有2層的神經(jīng)網(wǎng)絡(luò),不管你怎么訓(xùn)練,都只能達(dá)到60%~70%左右的分類準(zhǔn)確率。

為了提高分類的準(zhǔn)確率,比較直觀的想法也許是畫一條曲線,這樣才能把紅色點(diǎn)和藍(lán)色點(diǎn)徹底分開。這相當(dāng)于要對原始輸入數(shù)據(jù)做非線性變換。在神經(jīng)網(wǎng)絡(luò)中,我們可以通過增加一個(gè)隱藏層(hidden layer)來完成這種非線性變換。修改后的神經(jīng)網(wǎng)絡(luò)如下圖:

 

我們看到,修改后的神經(jīng)網(wǎng)絡(luò)增加了一層包含2個(gè)sigmoid神經(jīng)元的隱藏層;而輸入層和隱藏層之間是全連接的。實(shí)際上,當(dāng)我們重新訓(xùn)練這個(gè)帶隱藏層的神經(jīng)網(wǎng)絡(luò)時(shí),會(huì)發(fā)現(xiàn)分類的準(zhǔn)確率又提升到了100%(或者非常接近100%)。這是為什么呢?

我們可以這樣來看待神經(jīng)網(wǎng)絡(luò)的計(jì)算:每經(jīng)過一層網(wǎng)絡(luò),相當(dāng)于將樣本空間(當(dāng)然也包括其中的每個(gè)樣本數(shù)據(jù))進(jìn)行了一次變換。也就是說,輸入的樣本數(shù)據(jù),經(jīng)過中間的隱藏層時(shí),做了一次變換。而且,由于隱藏層的激活函數(shù)使用的是sigmoid,所以這個(gè)變換是一個(gè)非線性變換。

那么,很自然的一個(gè)問題是,經(jīng)過了隱藏層的這一次非線性變換,輸入樣本變成什么樣了呢?下面,我們把隱藏層的2個(gè)神經(jīng)元的輸出畫到了下圖中:

 

我們發(fā)現(xiàn)了一個(gè)有趣的現(xiàn)象:變換后的樣本數(shù)據(jù)點(diǎn),還是分成了三簇,但紅色點(diǎn)再也不是分列藍(lán)色點(diǎn)的兩側(cè)了。兩簇紅色點(diǎn)被分別逼到了一個(gè)角落里,而藍(lán)色點(diǎn)被逼到了另外一個(gè)不同的角落里。很容易看出,現(xiàn)在這個(gè)圖變成「線性可分」的了。而隱藏層的輸出數(shù)據(jù),再經(jīng)過神經(jīng)網(wǎng)絡(luò)最后一個(gè)輸出層的處理,剛好相當(dāng)于經(jīng)過了一個(gè)線性分類器,很容易用一條直線把紅色點(diǎn)和藍(lán)色點(diǎn)分開了。

從隱藏層的輸出圖像,我們還能發(fā)現(xiàn)一些細(xì)節(jié):

所有的數(shù)據(jù)坐標(biāo)(不管是X軸還是Y軸),都落在了(0,1)區(qū)間內(nèi)。因?yàn)閟igmoid激活函數(shù)的特性,正是把實(shí)數(shù)域映射到(0,1)之間。

我們發(fā)現(xiàn),所有的數(shù)據(jù)都落在某個(gè)角落里。這不是偶然,還是因?yàn)閟igmoid激活函數(shù)的特性。當(dāng)充分訓(xùn)練到sigmoid神經(jīng)元「飽和」時(shí),它一般是會(huì)輸出接近0或1的值,而極少可能輸出一個(gè)接近(0,1)中間的值。

總結(jié)一下:從前面的分析,我們大概可以看到這樣一個(gè)變換過程,就是輸入樣本在原始空間內(nèi)本來不是「線性可分」的,而經(jīng)過了隱藏層的變換處理后,變得「線性可分」了;最后再經(jīng)過輸出層的一次線性分類,成功完成了二分類任務(wù)。

當(dāng)然,這個(gè)例子非常簡單,只是最簡單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。但即使是更復(fù)雜的神經(jīng)網(wǎng)絡(luò),原理也是類似的,輸入樣本每經(jīng)過一層網(wǎng)絡(luò)的變換處理,都變得比原來更「可分」一些。我們接下來就看一個(gè)稍微復(fù)雜一點(diǎn)的例子。

手寫體數(shù)字識(shí)別MNIST

現(xiàn)在我們來考慮一下「手寫體數(shù)字識(shí)別」的問題。

在機(jī)器學(xué)習(xí)的學(xué)術(shù)界,有一個(gè)公開的數(shù)據(jù)集,稱為MNIST[2]。使用神經(jīng)網(wǎng)絡(luò)對MNIST的數(shù)據(jù)進(jìn)行識(shí)別,堪稱是神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)領(lǐng)域的「Hello World」。

在MNIST的數(shù)據(jù)集中,共有70000張手寫體數(shù)字圖片。它們類似下面的樣子:

 

每一張圖片都是28像素×28像素的黑白圖片,其中每個(gè)像素用一個(gè)介于[0,255]之間的灰度值表示。

MNIST的數(shù)字識(shí)別問題,就是給你一張這樣的28像素×28像素的圖片,用程序區(qū)分出它具體是0到9哪一個(gè)數(shù)字。

對于這個(gè)問題,歷史上的最佳成績是99.79%的識(shí)別率,方案使用了卷積神經(jīng)網(wǎng)絡(luò)(CNN)。我們這里不想讓問題復(fù)雜化,因此還是采用普通的全連接的神經(jīng)網(wǎng)絡(luò)來求解。我們使用的網(wǎng)絡(luò)結(jié)構(gòu)如下:

 

這個(gè)神經(jīng)網(wǎng)絡(luò)的輸入和輸出是這樣定義的:

  • 輸入:每次輸入一張圖片。圖片的每個(gè)像素的灰度值,除以255后得到一個(gè)[0,1]之間的歸一化的灰度值,然后輸入到輸入層的每個(gè)神經(jīng)元上。也就是說,輸入層有784個(gè)神經(jīng)元,正好對應(yīng)一張圖片28×28=784個(gè)像素。
  • 輸出:輸出層共10個(gè)神經(jīng)元,各個(gè)神經(jīng)元的輸出分別對應(yīng)0到9這幾個(gè)數(shù)字。哪個(gè)神經(jīng)元輸出的值最大,我們就可以認(rèn)為預(yù)測結(jié)果是對應(yīng)的那個(gè)數(shù)字。另外,10個(gè)輸出值再經(jīng)過softmax處理,就得到了當(dāng)前輸入圖片是各個(gè)數(shù)字的概率。

對這個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,可以很輕松地獲得98%左右的正確識(shí)別率。那針對這個(gè)更寬的神經(jīng)網(wǎng)絡(luò),我們還能使用前面的方法來對它進(jìn)行可視化的圖像繪制嗎?

降維

在前面的一小節(jié)中,我們的簡單神經(jīng)網(wǎng)絡(luò)輸入層和隱藏層都只有2個(gè)神經(jīng)元,因此可以在一個(gè)二維坐標(biāo)平面中繪制它們的圖像。而對于MNIST的這個(gè)神經(jīng)網(wǎng)絡(luò),當(dāng)我們想對它的輸入層進(jìn)行圖像繪制的時(shí)候,發(fā)現(xiàn)它有784維!

如何把784維的特征向量繪制出來?這涉及到對于高維數(shù)據(jù)可視化的問題。通常來講,人的大腦只能理解最高3維的空間,對于3維以上的空間,就只能靠抽象思維了。

我們想象一個(gè)簡單的例子,來感受一下對高維空間進(jìn)行直觀的理解有多么困難:

  • 首先,在一個(gè)平面內(nèi)(也就是2維空間),我們可以找到3個(gè)兩兩等距的點(diǎn),以它們?yōu)轫旤c(diǎn)可以組成一個(gè)等邊三角形。
  • 在一個(gè)3維空間內(nèi),我們可以找到4個(gè)兩兩等距的點(diǎn),以它們?yōu)轫旤c(diǎn)可以組成一個(gè)正四面體,這個(gè)正四面體的每個(gè)面都是一個(gè)等邊三角形。
  • 現(xiàn)在,我們上升到4維空間,理論上我們可以找到5個(gè)兩兩等距的點(diǎn),以它們?yōu)轫旤c(diǎn)可以組成一個(gè)我們姑且稱之為「正五面體」的東西。繼續(xù)類比,這個(gè)所謂的「正五面體」,它的每個(gè)「面」,也就是由5個(gè)點(diǎn)中的任意4個(gè)點(diǎn)組成的「面」,嚴(yán)格來說不能稱它為一個(gè)「面」,因?yàn)樗且粋€(gè)正四面體。另外需要注意,當(dāng)我們在這里用「正五面體」這樣一個(gè)名不副實(shí)的名字來命名的時(shí)候,還帶來了很大的誤導(dǎo)性,因?yàn)樗犉饋硐袷?維空間中的一個(gè)「正多面體」。但如果你對數(shù)學(xué)的歷史有所了解的話,那么就應(yīng)該知道,早在2000多年前,歐幾里得就在他的《幾何原本》中提出了,3維空間中根本不存在正五面體(實(shí)際上3維空間中只有5種正多面體)。

好了,如果你還能跟得上前面最后這一段關(guān)于4維空間的描述,那么說明你一定閱讀得非常仔細(xì),而且正在一邊閱讀一邊思考^-^但不管怎么說,4維空間的情形已經(jīng)讓人足夠惱火了(它們符合邏輯但卻不可想象),更別說讓我們來想象784維空間中的幾何結(jié)構(gòu)了!

因此,我們需要降維(dimensionality reduction)的技術(shù),把高維空間中的數(shù)據(jù)降低到3維或2維空間內(nèi),然后才能可視化地繪制出來,達(dá)到一定的「直觀理解」的目的。

那降維到底是怎樣的一種操作呢?我們仔細(xì)回想一下,其實(shí)在現(xiàn)實(shí)世界中,我們已經(jīng)碰到過很多降維的情況了。比如下面這張圖片:

[[324787]]

 

這是100多年前的一幅名畫,名字叫《大碗島的星期天下午》。在這幅畫作中,我們可以感受到海灘遠(yuǎn)處強(qiáng)烈的縱深感。但任何一幅畫作,都是在一張二維的平面上繪制的。所以,畫家需要把三體景物投影到二維上,這就是一種「降維」處理。與此類似,我們平常用相機(jī)拍出的照片,也是把三維空間「降維」到了二維平面上。這種降維處理普遍存在,可以稱為「投影變換」,是線性變換的一種。

我們再來看一個(gè)例子:

 

圖中右側(cè)是一張世界平面地圖。本來地球的表面是個(gè)三維空間中的球面,但上面的世界地圖把整個(gè)球面繪制到了一個(gè)二維平面上。為了做到這一點(diǎn),顯然地圖的繪制者需要把球面攤平,部分區(qū)域需要進(jìn)行一定的拉伸和扭曲。我們把這個(gè)繪制過程想象成一個(gè)映射:地球表面的一個(gè)點(diǎn),映射到世界平面地圖上的一個(gè)點(diǎn)上。但所有的點(diǎn)的映射并不滿足同樣的線性關(guān)系,所以這是一個(gè)非線性變換。

上面不管是畫作、照片的例子,還是世界平面地圖的例子,都是把三維降維到二維。但在機(jī)器學(xué)習(xí)中,我們經(jīng)常需要把從更高維降維到三維或二維。人們發(fā)明了各種各樣的降維方法,比如PCA (Principal Component Analysis),是一種線性降維方法;MDS (Multi-dimension Scaling)、t-SNE (t-Distributed Stochastic Neighbor Embedding),都是非線性降維方法。

基于k近鄰圖和力學(xué)模型的降維可視化方法

前面提到的各種降維方法,做法不同,也各有側(cè)重點(diǎn)。任何一種解釋起來,都要花去很大的篇幅,因此本文不一一詳述。考慮到我們接下來的目標(biāo),是為了對前一節(jié)引入的MNIST神經(jīng)網(wǎng)絡(luò)進(jìn)行直觀的可視化展示,所以我們這里采取一種更為直接(也易理解)的方法——一種基于k-NNG (k-Nearest Neighborhood Graph,k近鄰圖)和力學(xué)模型(Force-Directed)的降維可視化方法[3][4]。

這種方法的過程可以如下描述:

  1. 對于高維空間中的節(jié)點(diǎn)計(jì)算兩兩之間的距離,為每個(gè)節(jié)點(diǎn)找到離它最近的k個(gè)節(jié)點(diǎn),分別連接起來建立一條邊。這樣就創(chuàng)建出了一個(gè)由節(jié)點(diǎn)和邊組成的圖數(shù)據(jù)結(jié)構(gòu)。這個(gè)新創(chuàng)建的圖有這樣的特性:有邊直接相連的節(jié)點(diǎn),它們在原高維空間中的位置就是比較接近的;而沒有邊直接相連的節(jié)點(diǎn),它們在原高維空間中的位置就是比較遠(yuǎn)的。這個(gè)圖稱為「k近鄰圖」,也就是k-NNG (k-Nearest Neighborhood Graph)。另外還有一個(gè)問題:高維空間中兩個(gè)節(jié)點(diǎn)的距離怎么計(jì)算?這其實(shí)有很多種計(jì)算方法,比較常見的有「歐幾里得距離」、「明可夫斯基距離」等。
  2. 將前面一步得到的k近鄰圖在二維平面中繪制出來。這變成了一個(gè)常見的繪圖布局的問題,從某種程度上跟電路板的元器件布局有點(diǎn)像。為了讓繪制出來的圖像清晰易觀察,這個(gè)繪制過程需要盡量滿足一定的條件,比如,邊線的交叉應(yīng)該盡量少;有邊相連的節(jié)點(diǎn)應(yīng)該盡可能離得近一些;節(jié)點(diǎn)之間不能離得太近(聚在一起),應(yīng)該盡量均勻地散布在整個(gè)坐標(biāo)系平面上。為了達(dá)到這樣的要求,我們采用了Fruchterman和Reingold發(fā)明的Force-Directed Graph Drawing這種算法。它模擬了物理世界的力學(xué)原理,如下圖所示:

 

  • 想象左上角的圖,把邊換成彈簧,把節(jié)點(diǎn)換成帶電小球;
  • 彈簧會(huì)傾向于把相鄰節(jié)點(diǎn)(即有邊相連的節(jié)點(diǎn))固定在一個(gè)自然長度上(對應(yīng)原高維空間中的距離),不能太遠(yuǎn)也不能太近;
  • 所有「帶電小球」都互相保持斥力,讓不相鄰的節(jié)點(diǎn)互相遠(yuǎn)離,并促使所有節(jié)點(diǎn)盡量散布整個(gè)畫面;
  • 放開手,讓各個(gè)節(jié)點(diǎn)在彈簧和斥力的作用下自由移動(dòng),最后達(dá)到總體能量最小的狀態(tài),這時(shí)就得到了左下角那個(gè)更好的節(jié)點(diǎn)布局。

對于這種方法,我們需要重點(diǎn)關(guān)注的是:從高維降到低維,原來高維空間中的哪些幾何特性被保持住了?從前面繪制過程的描述容易看出:在原高維空間中距離比較近的節(jié)點(diǎn),在最后繪制的二維圖像中,也會(huì)在彈簧拉力的作用下離得比較近。只有搞清楚這一點(diǎn),我們才能通過觀看低維的圖像,來理解高維的結(jié)構(gòu)。

現(xiàn)在,我們終于做好準(zhǔn)備來對MNIST神經(jīng)網(wǎng)絡(luò)進(jìn)行可視化了。

MNIST的可視化

 

上圖是對于MINST神經(jīng)網(wǎng)絡(luò)輸入層數(shù)據(jù)的可視化圖像(784維)。圖中每一個(gè)節(jié)點(diǎn)都表示一張圖片,用一個(gè)784維的向量表示;圖中每一種顏色表示0到9數(shù)字中的一個(gè),相當(dāng)于節(jié)點(diǎn)總共有10種分類。我們可以看出:

  • MNIST的原始數(shù)據(jù)集中,自發(fā)展示出了一些結(jié)構(gòu)。表示相同數(shù)字的節(jié)點(diǎn),它們在原784維空間中,也會(huì)比較接近,因此會(huì)自然地聚集成簇。比如,左側(cè)的藍(lán)色節(jié)點(diǎn)群,表示數(shù)字0;右下角的靛藍(lán)色節(jié)點(diǎn)群,表示數(shù)字1;而左下角的絳紫色節(jié)點(diǎn)群,表示數(shù)字6。
  • 中間右側(cè)有多種不同類的節(jié)點(diǎn)混雜的一起。比如,表示數(shù)字9的紅色節(jié)點(diǎn),表示數(shù)字7的深褐色節(jié)點(diǎn),還有表示數(shù)字4的黃綠色節(jié)點(diǎn),相互交織在一起。這表示它們不太容易互相區(qū)分開。

 

上圖則是對于MINST神經(jīng)網(wǎng)絡(luò)中間隱藏層輸出數(shù)據(jù)的可視化圖像(128維)。圖中每一個(gè)節(jié)點(diǎn)還是對應(yīng)一張圖片(即對應(yīng)原始圖片數(shù)據(jù)經(jīng)過了隱藏層的變換之后的數(shù)據(jù)),變成了用一個(gè)128維的向量表示;圖中每一種顏色仍是表示0到9數(shù)字中的一個(gè),還是總共有10種分類。我們可以看出:

  • 與前面的MINST原始輸入數(shù)據(jù)相比,節(jié)點(diǎn)的混亂程度降低了(我們也可以說,熵值降低了)。這也包括在前面圖像中混雜在一起的數(shù)字7、數(shù)字4和數(shù)字9,現(xiàn)在它們都各自聚集成簇了:左側(cè)突出來的深褐色節(jié)點(diǎn)群,是數(shù)字7;左上角的黃綠色節(jié)點(diǎn)群,是數(shù)字4;紅色節(jié)點(diǎn)群,是數(shù)字9。這表示更容易把它們相互分開了。

 

上圖是對于MINST神經(jīng)網(wǎng)絡(luò)最終的輸出層輸出數(shù)據(jù)(經(jīng)過了softmax處理之后的)的可視化圖像(10維)。圖中每一個(gè)節(jié)點(diǎn)還是對應(yīng)一張圖片(即對應(yīng)原始圖片數(shù)據(jù)經(jīng)過了整個(gè)神經(jīng)網(wǎng)絡(luò)的變換之后的數(shù)據(jù)),變成了一個(gè)只有10維的向量;圖中每一種顏色仍是表示0到9數(shù)字中的一個(gè),還是總共有10種分類。我們可以看出:

  • 節(jié)點(diǎn)混亂程度極大降低,每類數(shù)字都各自聚集在一起。考慮到這張圖像里面的節(jié)點(diǎn)數(shù)量跟前面兩張圖像里面的節(jié)點(diǎn)數(shù)量是完全一樣的,但散布空間小了很多,說明按照分類的聚集程度達(dá)到了很高的程度。實(shí)際上,這時(shí)候只需要對最后這個(gè)10維向量做一個(gè)簡單的argmax判斷,就可以以很高的準(zhǔn)確率識(shí)別出具體數(shù)字了。這表示,最后的輸出具有很高的「可分」度。

小結(jié)

在本文中,通過對神經(jīng)網(wǎng)絡(luò)的可視化研究,我們發(fā)現(xiàn):從原始的特征輸入出發(fā),神經(jīng)網(wǎng)絡(luò)每經(jīng)過一層的變換處理,都在抽象程度上離問題的目標(biāo)更接近一點(diǎn)。拿MNIST的手寫體數(shù)字識(shí)別問題來說,目標(biāo)是一個(gè)多分類問題,即把圖片歸到0到9這10個(gè)類別中的一個(gè)。最開始輸入的是原始的圖片像素?cái)?shù)據(jù),每經(jīng)過一次網(wǎng)絡(luò)層變換處理之后,數(shù)據(jù)就變得比原來更「可分」一點(diǎn),也就是離分類的目標(biāo)更接近一點(diǎn)。

這是一種典型的對信息進(jìn)行整合的過程。就像許多現(xiàn)實(shí)世界中的情形一樣,龐雜的細(xì)節(jié),只有經(jīng)過有效地整合,我們才能獲得真正的「感知」或「認(rèn)知」。

而對于類似圖像識(shí)別這樣的簡單的感知行為,人類甚至意識(shí)不到這個(gè)信息整合過程的存在。把人眼看到物體這個(gè)過程拆解開來看,物理世界的光子進(jìn)入人眼感光細(xì)胞,會(huì)產(chǎn)生大量的細(xì)節(jié)數(shù)據(jù)。而這些數(shù)據(jù)勢必經(jīng)過了人腦中一個(gè)類似神經(jīng)網(wǎng)絡(luò)(肯定比神經(jīng)網(wǎng)絡(luò)更高級)的結(jié)構(gòu)來處理,將這些細(xì)節(jié)數(shù)據(jù)經(jīng)過整合之后,才讓我們在宏觀層面認(rèn)識(shí)到眼前看到了什么物體。對人腦來說,這個(gè)過程是瞬間發(fā)生的,它快速、準(zhǔn)確,而且低能耗。如果我們要設(shè)計(jì)一種能識(shí)別物體的模型,最好的方法也許是完全復(fù)制人腦的處理機(jī)制。但這些機(jī)制都是未知,或者至少我們所知非常有限。因此,我們只能近似、參考、模仿人腦的機(jī)制。

最后,我們今天所討論的可視化技術(shù),只是對于機(jī)器學(xué)習(xí)追求可解釋性的技術(shù)(Interpretability Techniques)中非常初級的一部分。它可能會(huì)對我們?nèi)绾涡拚F(xiàn)有模型或者如何更好地訓(xùn)練模型,提供參考價(jià)值,但是,它很可能無法幫助我們從頭發(fā)明出一個(gè)顛覆式的學(xué)習(xí)機(jī)制。就像我們在上一篇文章《程序員眼中的「技術(shù)-藝術(shù)」光譜》中所討論的那樣,新模型的設(shè)計(jì),或者一種嶄新學(xué)習(xí)機(jī)制的發(fā)明,仍然是一門需要靈感的「藝術(shù)」。

責(zé)任編輯:武曉燕 來源: 張鐵蕾
相關(guān)推薦

2017-01-15 10:22:49

安全可視化迪普科技信息安全

2017-01-18 00:45:50

安全可視化迪普科技信息安全

2013-01-05 14:31:23

云平臺(tái)用友UA

2024-06-04 12:49:58

神經(jīng)網(wǎng)絡(luò)AI

2012-06-04 11:15:24

NEC投影機(jī)

2012-05-29 15:30:31

計(jì)算機(jī)

2015-12-01 14:26:57

2023-04-19 10:17:35

機(jī)器學(xué)習(xí)深度學(xué)習(xí)

2013-11-29 14:31:18

NETGEAR路由NETGEAR

2016-08-19 18:22:24

2019-10-11 14:48:42

技術(shù)研發(fā)指標(biāo)

2018-10-18 10:27:15

機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)python

2017-04-14 12:49:21

智慧鄉(xiāng)村梅光信息化

2022-01-27 11:24:48

春運(yùn)技術(shù)運(yùn)輸

2025-02-24 08:00:00

機(jī)器學(xué)習(xí)ML架構(gòu)

2022-02-15 23:38:22

Python機(jī)器學(xué)習(xí)算法

2016-11-24 18:18:27

數(shù)字化轉(zhuǎn)型SaaS

2017-12-22 17:38:35

VRARMR

2020-08-06 10:11:13

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)算法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)