最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

一位外國小哥把整個(gè) CNN 都給可視化了,卷積、池化清清楚楚!網(wǎng)友:美得不真實(shí)...

2023-04-14 10:32 作者:人工智能前沿講習(xí)  | 我要投稿

當(dāng)你初入江湖,迷茫不知道該干什么的時(shí)候,不妨去模仿前人是如何進(jìn)行科研的,并從中歸納出最適合自己的道路。為此,我們推出“學(xué)術(shù)人生”專欄,介紹科研的方法與經(jīng)驗(yàn),為你的科研學(xué)習(xí)提供幫助,敬請關(guān)注。

做計(jì)算機(jī)視覺,離不開CNN。可是,卷積、池化、Softmax……究竟長啥樣,是怎樣相互連接在一起的?對著代碼憑空想象,多少讓人有點(diǎn)頭皮微涼。于是,有人干脆用Unity給它完整3D可視化了出來。

還不光是有個(gè)架子,訓(xùn)練過程也都呈現(xiàn)得明明白白。比如隨著epoch(迭代次數(shù))的變化,訓(xùn)練過程中各層出現(xiàn)的實(shí)時(shí)變化。

為了能更清楚地展示網(wǎng)絡(luò)細(xì)節(jié),用戶還可以在其中自由地折疊、擴(kuò)展每個(gè)層。比如將特征圖在線性布局和網(wǎng)格布局之間轉(zhuǎn)換。

折疊卷積層的特征圖輸出。

對全連接層進(jìn)行邊綁定(edge bunding)等等。

這樣的可視化圖像,可以通過加載TensorFlow的檢查點(diǎn)來構(gòu)建。也可以在Unity編輯器中設(shè)計(jì)。

是不是有點(diǎn)鵝妹子嚶那感覺了?最近,這個(gè)項(xiàng)目又在社交媒體上火了起來。

網(wǎng)友們紛紛表示:“要是能在訓(xùn)練的時(shí)候看到這個(gè)過程,再長時(shí)間我也能忍啊?!薄扒箝_源?!?/p>

該項(xiàng)目的作者,是一位來自維也納的3D特效師。據(jù)他介紹,之所以創(chuàng)建這樣一個(gè)CNN可視化工具,是因?yàn)樗约撼鯇W(xué)神經(jīng)網(wǎng)絡(luò)時(shí),經(jīng)常覺得很難理解卷積層之間是如何相互連接,又如何與不同類型的層連接的。而該工具的主要功能包括,卷積、最大池化和完全連接層的可視化表示,以及各種能實(shí)現(xiàn)更清晰可視化的簡化機(jī)制等等。總而言之,就是想讓初學(xué)者通過最直觀的方式,來get到CNN的重點(diǎn)。


如何用Unity搞出一個(gè)3D網(wǎng)絡(luò)

在正式上手Unity前,作者先在Houdini軟件中,搭建了一個(gè)可視化的3D網(wǎng)絡(luò)原型。
也就是說,先給Unity版3D網(wǎng)絡(luò)提供一個(gè)搭建思路,提前準(zhǔn)備好實(shí)現(xiàn)展示卷積計(jì)算的方法、特征圖的形狀、邊綁定的效果等問題。它的節(jié)點(diǎn)編輯器長這樣:

然后,就可以在Unity上搭建3D神經(jīng)網(wǎng)絡(luò)了。首先,需要預(yù)設(shè)好神經(jīng)網(wǎng)絡(luò)的“形狀”。由于之前并沒有用過Unity,作者先學(xué)習(xí)了著色器和過程式幾何相關(guān)的知識(shí)。這里面,作者發(fā)現(xiàn)了一些局限性,他采用的是Unity為著色器開發(fā)的語言Shaderlab,這個(gè)語言無法使用著色變化,只有對語義進(jìn)行預(yù)定義的變量,才能讓它在頂點(diǎn)、幾何和像素著色器之間傳遞。而且,它無法任意分配頂點(diǎn)屬性,只有位置、顏色、UV等預(yù)定義屬性。(可能這也是3D網(wǎng)絡(luò)無法實(shí)時(shí)改變顏色的原因之一)

在研究了一些實(shí)例化(instancing)相關(guān)的概念后,作者計(jì)劃采用幾何著色器的方法生成神經(jīng)網(wǎng)絡(luò)的連線。其中起點(diǎn)和終點(diǎn)被傳遞到頂點(diǎn)著色器,并直接轉(zhuǎn)發(fā)到幾何著色器。這些線,最多可以由120個(gè)頂點(diǎn)組成,因?yàn)閁nity允許的幾何著色器能創(chuàng)建的變量的標(biāo)量浮點(diǎn)數(shù)為1024。設(shè)計(jì)后的網(wǎng)絡(luò)形狀,大致長這樣:

然后,就是從模型的TensorFlow代碼中,生成對應(yīng)的3D神經(jīng)網(wǎng)絡(luò)圖像。其中,Tensorflow-native.ckpt格式的文件,需要存儲(chǔ)重構(gòu)模型圖所需的數(shù)據(jù)、二進(jìn)制的權(quán)重讀取和激活值,以及特定層的名字。以Cifar10-greyscale數(shù)據(jù)集為例,需要編寫一個(gè)檢查點(diǎn)(checkpoint)文件,以及設(shè)置隨即初始化的權(quán)重。

在那之后,需要加載這些檢查點(diǎn)文件、啟動(dòng)TensorFlow會(huì)話,輸入訓(xùn)練示例,以便查詢每一層的激活函數(shù)。然后編寫一個(gè)json文件,存儲(chǔ)每一層的形狀、名稱、權(quán)重和激活函數(shù),便于讀取。然后使用權(quán)重值,將顏色數(shù)據(jù)分配給各層的Unity Mesh。

最終搞出來的效果,還是不錯(cuò)的:

作者還錄了個(gè)開發(fā)視頻,在文末可以找到地址。


相關(guān)研究還不少

事實(shí)上,此前已經(jīng)有不少學(xué)者,進(jìn)行過神經(jīng)網(wǎng)絡(luò)可視化的研究。
例如,去年5月,太牛逼了!一位中國博士把整個(gè)CNN都給可視化了,每個(gè)細(xì)節(jié)看的清清楚楚!,只需要點(diǎn)擊對應(yīng)的神經(jīng)元,就能看見它的“操作”。

這是用TensorFlow.js加載的一個(gè)10層預(yù)訓(xùn)練模型,相當(dāng)于在瀏覽器上就能跑CNN模型,也可以實(shí)時(shí)交互,顯示神經(jīng)元的變化。不過,這還是個(gè)2D的項(xiàng)目。目前,也已經(jīng)有人像上面那個(gè)神經(jīng)網(wǎng)絡(luò)模型一樣,做出了3D的可視化神經(jīng)網(wǎng)絡(luò):

這個(gè)項(xiàng)目,同樣用到了邊綁定、光線追蹤等技術(shù),與特征提取、微調(diào)和歸一化相結(jié)合,將神經(jīng)網(wǎng)絡(luò)可視化。這項(xiàng)項(xiàng)目希望能借由這些技術(shù),來估計(jì)神經(jīng)網(wǎng)絡(luò)中不同部分的重要性。為此,作者將神經(jīng)網(wǎng)絡(luò)的每一部分都用不同的顏色來表示,根據(jù)節(jié)點(diǎn)和節(jié)點(diǎn)在網(wǎng)絡(luò)中的重要性,來預(yù)測它們之間的關(guān)聯(lián)性。

大致的處理過程是這樣的:

如果對于這類3D神經(jīng)網(wǎng)絡(luò)可視化感興趣,可以在文末找到對應(yīng)的開源項(xiàng)目地址。


作者介紹

Stefan Sietzen,現(xiàn)居維也納,此前曾是個(gè)3D視覺方向的自由職業(yè)者。目前,他在維也納工業(yè)大學(xué)讀碩,對視覺計(jì)算(visual computing)非常感興趣,這個(gè)3D神經(jīng)網(wǎng)絡(luò),就是他在碩士期間做的項(xiàng)目之一。

開發(fā)過程:
https://vimeo.com/stefsietz已開源的3D神經(jīng)網(wǎng)絡(luò)項(xiàng)目:
https://github.com/julrog/nn_vis

參考鏈接:
https://www.reddit.com/r/MachineLearning/comments/leq2kf/d_convolution_neural_network_visualization_made/?
https://mp.weixin.qq.com/s/tmx59J75wuRii4RuOT8TTg?
https://vimeo.com/stefsietz?
http://portfolio.stefansietzen.at/?
http://visuality.at/vis2/detail.html


蕭簫 魚羊 發(fā)自 凹非寺

量子位 報(bào)道 | 公眾號(hào) QbitAI


一位外國小哥把整個(gè) CNN 都給可視化了,卷積、池化清清楚楚!網(wǎng)友:美得不真實(shí)...的評論 (共 條)

分享到微博請遵守國家法律
富裕县| 麦盖提县| 威宁| 湖州市| 海林市| 晋中市| 五原县| 玉屏| 弥渡县| 盱眙县| 隆安县| 修武县| 吉隆县| 淅川县| 泾阳县| 寿宁县| 周口市| 辽源市| 焦作市| 紫金县| 福建省| 石泉县| 阳泉市| 日土县| 井冈山市| 洪洞县| 江陵县| 兴城市| 阳泉市| 邹平县| 甘谷县| 阳谷县| 连山| 定州市| 武宣县| 平定县| 康乐县| 海盐县| 喀喇| 获嘉县| 雅安市|