洪鼎淇
人能識(shí)別小鳥,而且能夠想象出小鳥的模樣。神經(jīng)網(wǎng)絡(luò)能識(shí)別對(duì)應(yīng)數(shù)據(jù),它應(yīng)該也能根據(jù)標(biāo)簽來得出原來的數(shù)據(jù)的大致內(nèi)容,這個(gè)過程就好比人類的想象力。在蒙特卡洛方式能通過在單位矩形的隨機(jī)命中來求出圓周率的啟發(fā)下,蒙特卡洛方式也應(yīng)該能通過在模型中隨機(jī)命中標(biāo)簽來求出對(duì)應(yīng)標(biāo)簽數(shù)據(jù)的大致內(nèi)容。下列通過蒙特卡洛方式與神經(jīng)網(wǎng)絡(luò)模型的結(jié)合,實(shí)現(xiàn)并給出一個(gè)根據(jù)標(biāo)簽來得出原來模型對(duì)應(yīng)數(shù)據(jù)的大致內(nèi)容的實(shí)驗(yàn)及思路。
想象力,一直以來都是人類特有的智能之一。它是如此神奇,在學(xué)習(xí)到新的知識(shí)之后,根據(jù)在腦海中的印象,人類能回憶起對(duì)應(yīng)的知識(shí)點(diǎn)或者在腦海中展示出一副對(duì)應(yīng)的圖畫。因?yàn)橛羞@個(gè)能力,人類的生活變得如此豐富多彩,看一本小說,能根據(jù)自己的想象力,在腦海中重現(xiàn)出對(duì)應(yīng)的畫面。因?yàn)槊總€(gè)人的經(jīng)歷是不同的,想象出來的畫面也是不同的。
神經(jīng)網(wǎng)絡(luò),在人工智能的領(lǐng)域方面發(fā)揮著不可替代的作用。它在某些方面確實(shí)能發(fā)揮出類似人類的智能,然而神經(jīng)網(wǎng)絡(luò)并不是萬能的,形如人們所特有的創(chuàng)造力,想象力,神經(jīng)網(wǎng)絡(luò)就不具有。
那究竟如何才能使其獲得想象力?換句話說,就是如何根據(jù)目標(biāo)標(biāo)簽的值,得出對(duì)應(yīng)模型的原始數(shù)據(jù)的大致內(nèi)容呢?
(一)蒙特卡洛測(cè)圓周率下的啟示
在一次實(shí)驗(yàn)中偶然發(fā)現(xiàn)了蒙特卡洛測(cè)試圓周率的方法,實(shí)驗(yàn)過程中并沒有出現(xiàn)圓周率的任何信息,但根據(jù)隨機(jī)數(shù)的命中情況后,求出命中圓形區(qū)域的個(gè)數(shù)和未命中的個(gè)數(shù)比后,卻能夠得出圓周率近似大小,其中關(guān)系引人深思。
上述的蒙特卡洛實(shí)驗(yàn)是從隨機(jī)數(shù)到求近似值的一個(gè)過程,而且隨著取的隨機(jī)數(shù)的次數(shù)越多,求取的值將會(huì)越準(zhǔn)確。若對(duì)神經(jīng)網(wǎng)絡(luò)來說,該蒙特卡洛 映射關(guān)系F([隨機(jī)數(shù)1,隨機(jī)數(shù)2,…]) =目標(biāo)值依然成立的話,則應(yīng)該有以下關(guān)系,若給定標(biāo)簽值,那根據(jù)多次取隨機(jī)數(shù)后的命中目標(biāo)標(biāo)簽情況,即通過這些命中目標(biāo)標(biāo)簽的隨機(jī)值取交集,可以反推得出原來對(duì)應(yīng)標(biāo)簽的神經(jīng)網(wǎng)絡(luò)模型的之前大致的數(shù)據(jù)。這個(gè)過程類比人類來說,即人類根據(jù)小鳥這個(gè)詞,想象出小鳥的模樣。
(二)蒙特卡洛方式想象力思路
若有一個(gè)訓(xùn)練好數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)模型,該模型能預(yù)測(cè)N種類型的標(biāo)簽,取對(duì)應(yīng)原始數(shù)據(jù)大小的M個(gè)隨機(jī)數(shù)代入模型中,得到一個(gè)(M,N)大小的存儲(chǔ)對(duì)應(yīng)這M個(gè)數(shù)據(jù)的N個(gè)標(biāo)簽的預(yù)測(cè)值概率的二維列表。若想想象出標(biāo)簽K(K<=N)的大致數(shù)據(jù),則取對(duì)應(yīng)這M個(gè)數(shù)據(jù)的N個(gè)標(biāo)簽預(yù)測(cè)值概率的二維列表中的這M個(gè)元素中各個(gè)元素中第K個(gè)位置的預(yù)測(cè)值作為待取命中元素列表,并取待取命中元素列表種概率值最大的前S個(gè)隨機(jī)數(shù)元素作為待交叉命中的列表,用計(jì)數(shù)規(guī)則將待交叉命中的列表中各元素的各個(gè)隨機(jī)數(shù)中的元素的出現(xiàn)次數(shù)計(jì)數(shù),這樣就得到一個(gè)對(duì)應(yīng)隨機(jī)元素出現(xiàn)次數(shù)的列表,取每個(gè)出現(xiàn)隨機(jī)元素的出現(xiàn)列表的I列的最大值作為想象結(jié)果的第I個(gè)元素的值,最終得到的想象結(jié)果即為概率命中想想象的標(biāo)簽的大致數(shù)據(jù)的值,即想象力的結(jié)果。
該過程通過調(diào)整M值的大小,對(duì)應(yīng)得到想象出來對(duì)應(yīng)標(biāo)簽的大致原始數(shù)據(jù)的精度也會(huì)跟著調(diào)整,也就是蒙特卡洛的思想。過程并不復(fù)雜,具體實(shí)現(xiàn)的例子通過最終的實(shí)現(xiàn)階段展示。
人之間的想象力是有區(qū)別的,不同的人,因?yàn)殚啔v的不同,所以對(duì)于相同的事物而言,想象出來的物體也是不盡相同的。
而對(duì)于上述所說的蒙特卡洛方式的想象力想象得到的原始數(shù)據(jù)也是根據(jù)模型訓(xùn)練的差別導(dǎo)致想象出來的原始數(shù)據(jù)有所差別,但想象出來的數(shù)據(jù)在特定的模型下有一個(gè)大致的輪廓,在這個(gè)大致的輪廓下的差別就是想象精度所導(dǎo)致的,即蒙特卡洛方式取隨機(jī)值的個(gè)數(shù)影響其精度,而取相同的隨機(jī)數(shù)個(gè)數(shù)最終所想象出來的原始數(shù)據(jù)的差異則是所取的隨機(jī)數(shù)的區(qū)別導(dǎo)致的。
(一)神經(jīng)網(wǎng)絡(luò)的反過程原理
神經(jīng)網(wǎng)絡(luò)最基本的功能就是對(duì)數(shù)據(jù)的分類,前期通過訓(xùn)練數(shù)據(jù)和標(biāo)簽而建立起一一對(duì)應(yīng)的關(guān)系,這個(gè)過程本質(zhì)是一個(gè)函數(shù)的過程,將這個(gè)特殊的函數(shù)保存起來就變成了模型,當(dāng)要用到它的時(shí)候,將其代入想要判斷的數(shù)據(jù)就得到了對(duì)應(yīng)各個(gè)標(biāo)簽的預(yù)測(cè)值。
神經(jīng)網(wǎng)絡(luò)的反過程就是給定具體神經(jīng)網(wǎng)絡(luò)模型的一個(gè)標(biāo)簽,然后反推得到原本的數(shù)據(jù)有可能是什么樣子的過程。這個(gè)過程可以參考最終的實(shí)現(xiàn)階段的實(shí)例。
蒙特卡洛的想象的過程就是通過隨機(jī)取點(diǎn)代入這個(gè)特殊的函數(shù)中看在這個(gè)特殊的函數(shù)上的各個(gè)標(biāo)簽的預(yù)測(cè)值,在所指定的要想象的標(biāo)簽的預(yù)測(cè)值最大的那些隨機(jī)取點(diǎn)之間取交集達(dá)到盡可能還原出原本數(shù)據(jù)的目的。
很明顯這個(gè)過程是一個(gè)具有隨機(jī)性的過程,因?yàn)殡S機(jī)取點(diǎn)的不同,在代入神經(jīng)網(wǎng)絡(luò)這個(gè)特殊的函數(shù)的時(shí)候會(huì)導(dǎo)致預(yù)測(cè)的值之間會(huì)有較大的差距,這個(gè)時(shí)候可以通過將蒙特卡洛增加所取的隨機(jī)數(shù)來減少這個(gè)誤差,也可以通過在最終取交集的時(shí)候增強(qiáng)一些無關(guān)值(例如背景)從而來使想象的原始數(shù)據(jù)更加突出。
神經(jīng)網(wǎng)絡(luò)的反過程實(shí)現(xiàn),首先要有一個(gè)模型,這個(gè)模型應(yīng)該是訓(xùn)練過想要想象的數(shù)據(jù)的模型的。類比于人,人首先要有知識(shí),才能支撐他的想象。而模型的精度,能影響想象出來的數(shù)據(jù)的品質(zhì)也是同樣到道理。下列通過一個(gè)Tensorflow中mnist數(shù)據(jù)集訓(xùn)練的手寫數(shù)字的模型為例子,來實(shí)現(xiàn)想象得出原來的大致數(shù)據(jù)的過程。
(一)實(shí)例模型參數(shù)介紹
mnist手寫圖片數(shù)據(jù)集大小28*28*1,用3個(gè)卷積層的2個(gè)全連接層卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練,第一層卷積層為5*5,步長為2,激活層為relu,池化層輸出為32通道;第二層卷積層為3*3,步長2,激活層為relu,池化層輸出64通道;第三層卷積層步長為3*3,步長為1,激活層為relu,池化層輸出128通道;第一層全連接層激活層為relu,keep_ prob參數(shù)為0.5,通道數(shù)1024,第二層全連接層輸出10個(gè)參數(shù),優(yōu)化器用亞當(dāng)優(yōu)化器,預(yù)測(cè)用softmax,每輪200個(gè)訓(xùn)練集,進(jìn)行31輪訓(xùn)練,每輪訓(xùn)練100次。
在上述的基礎(chǔ)上,從mnist中取6200個(gè)訓(xùn)練集進(jìn)行訓(xùn)練,得到一個(gè)識(shí)別手寫數(shù)字的模型,用測(cè)試集驗(yàn)證正確率達(dá)90% 蒙特卡洛取隨機(jī)數(shù)值的二值化圖片數(shù)20000張。
(二)想象效果
想象過程非常依賴模型對(duì)于隨機(jī)產(chǎn)生黑白圖片的識(shí)別,最終的圖片的效果很大程度上依賴模型精度。得到這個(gè)模型后,即可根據(jù)模型識(shí)別多次在空白圖上產(chǎn)生50%左右的黑點(diǎn)的圖來得出圖是對(duì)應(yīng)數(shù)字的置信度的值,取前N張置信度較高的隨機(jī)圖片間黑點(diǎn)的交集,最終得到的想象圖片再用簡單的圖片處理算法去除背景干擾點(diǎn),即可得到效果相對(duì)而言相對(duì)較為清晰的圖片。
用蒙特卡洛是屬于無監(jiān)督的過程,相較而言,實(shí)際上效果不如對(duì)抗神經(jīng)網(wǎng)絡(luò)有監(jiān)督地仿照?qǐng)D片而產(chǎn)生的新圖片。其想象圖片僅擁有多次訓(xùn)練時(shí)中對(duì)應(yīng)類別圖片中的特征,除了數(shù)字2、3、7、8、9、0有較好的效果,此次訓(xùn)練的模型想象出來的其他數(shù)字均只有模糊的輪廓,如數(shù)字1體現(xiàn)了手寫1豎著的頭尾相對(duì)較粗的特征。
上述是通過蒙特卡洛方式的簡單實(shí)現(xiàn)想象神經(jīng)網(wǎng)絡(luò)原始數(shù)據(jù)功能,通過在黑盒中用蒙特卡洛的方式來推導(dǎo)出原來數(shù)據(jù)的簡單實(shí)現(xiàn)。但也可以看到過程具有明顯缺點(diǎn):計(jì)算量偏大,精度偏低,對(duì)于模型的原始數(shù)據(jù)的想象能力還較差。不過可以通過降噪,取多次想象交集等多種方式來優(yōu)化效果。
通過蒙特卡洛方式能實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的反過程,與其說是反過程,不如說是多次隨機(jī)擬合取交集的過程的“想象”。其與人的區(qū)別是,模型是死的,人是活的。模型只能通過原先的訓(xùn)練數(shù)據(jù)來獲得知識(shí),而人的想象確能實(shí)時(shí)根據(jù)自身的經(jīng)歷而改變。說到想象,就不得不提及人工智能,面對(duì)如今貌似到處都用到的所謂人工智能,它具有創(chuàng)造力和想象力嗎?它是真的“智能”嗎?
作者單位:石家莊鐵道大學(xué)