360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

萧箫 鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI

做计算机视觉,离不开CNN。 [原创文章:www.11jj.com]

可是,卷积、池化、Softmax……究竟长啥样,是怎样相互连接在一起的? [原创文章:www.11jj.com]

对着代码凭空想象,多少让人有点头皮微凉。于是,有人干脆用Unity给它完整3D可视化了出来。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

还不光是有个架子,训练过程也都呈现得明明白白。

比如随着epoch(迭代次数)的变化,训练过程中各层出现的实时变化。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

为了能更清楚地展示网络细节,用户还可以在其中自由地折叠、扩展每个层。

比如将特征图在线性布局和网格布局之间转换。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

折叠卷积层的特征图输出。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

对全连接层进行边绑定(edge bunding)等等。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

这样的可视化图像,可以通过加载TensorFlow的检查点来构建。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

也可以在Unity编辑器中设计。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

是不是有点鹅妹子嘤那感觉了?

最近,这个项目又在社交媒体上火了起来。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

网友们纷纷表示:

“要是能在训练的时候看到这个过程,再长时间我也能忍啊。”

“求开源。”

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

该项目的作者,是一位来自维也纳的3D特效师。

据他介绍,之所以创建这样一个CNN可视化工具,是因为他自己初学神经网络时,经常觉得很难理解卷积层之间是如何相互连接,又如何与不同类型的层连接的。

而该工具的主要功能包括,卷积、最大池化和完全连接层的可视化表示,以及各种能实现更清晰可视化的简化机制等等。

总而言之,就是想让初学者通过最直观的方式,来get到CNN的重点。

如何用Unity搞出一个3D网络

在正式上手Unity前,作者先在Houdini软件中,搭建了一个可视化的3D网络原型。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

也就是说,先给Unity版3D网络提供一个搭建思路,提前准备好实现展示卷积计算的方法、特征图的形状、边绑定的效果等问题。

它的节点编辑器长这样:

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

然后,就可以在Unity上搭建3D神经网络了。

首先,需要预设好神经网络的“形状”。

由于之前并没有用过Unity,作者先学习了着色器和过程式几何相关的知识。

这里面,作者发现了一些局限性,他采用的是Unity为着色器开发的语言Shaderlab,这个语言无法使用着色变化,只有对语义进行预定义的变量,才能让它在顶点、几何和像素着色器之间传递。

而且,它无法任意分配顶点属性,只有位置、颜色、UV等预定义属性。(可能这也是3D网络无法实时改变颜色的原因之一)

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

在研究了一些实例化(instancing)相关的概念后,作者计划采用几何着色器的方法生成神经网络的连线。其中起点和终点被传递到顶点着色器,并直接转发到几何着色器。

这些线,最多可以由120个顶点组成,因为Unity允许的几何着色器能创建的变量的标量浮点数为1024。

设计后的网络形状,大致长这样:

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

然后,就是从模型的TensorFlow代码中,生成对应的3D神经网络图像。

其中,Tensorflow-native.ckpt格式的文件,需要存储重构模型图所需的数据、二进制的权重读取和激活值,以及特定层的名字。

以Cifar10-greyscale数据集为例,需要编写一个检查点(checkpoint)文件,以及设置随即初始化的权重。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

在那之后,需要加载这些检查点文件、启动TensorFlow会话,输入训练示例,以便查询每一层的激活函数。

然后编写一个json文件,存储每一层的形状、名称、权重和激活函数,便于读取。然后使用权重值,将颜色数据分配给各层的Unity Mesh。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

最终搞出来的效果,还是不错的:

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

作者还录了个开发视频,在文末可以找到地址。

相关研究还不少

事实上,此前已经有不少学者,进行过神经网络可视化的研究。

例如,去年5月,一位中国博士就可视化了卷积神经网络,将每一层的变化都展示得非常清楚,只需要点击对应的神经元,就能看见它的“操作”。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

这是用TensorFlow.js加载的一个10层预训练模型,相当于在浏览器上就能跑CNN模型,也可以实时交互,显示神经元的变化。

不过,这还是个2D的项目。

目前,也已经有人像上面那个神经网络模型一样,做出了3D的可视化神经网络:

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

这个项目,同样用到了边绑定、光线追踪等技术,与特征提取、微调和归一化相结合,将神经网络可视化。

这项项目希望能借由这些技术,来估计神经网络中不同部分的重要性。

为此,作者将神经网络的每一部分都用不同的颜色来表示,根据节点和节点在网络中的重要性,来预测它们之间的关联性。

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

大致的处理过程是这样的:

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

如果对于这类3D神经网络可视化感兴趣,可以在文末找到对应的开源项目地址。

作者介绍

360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

Stefan Sietzen,现居维也纳,此前曾是个3D视觉方向的自由职业者。

目前,他在维也纳工业大学读硕,对视觉计算(visual computing)非常感兴趣,这个3D神经网络,就是他在硕士期间做的项目之一。

开发过程:
https://vimeo.com/stefsietz

已开源的3D神经网络项目:
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


本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

加入AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与50000+名好友共同关注人工智能行业发展&技术进展

现在加入,还可参与2.9-2.11社群内抽奖哦,扫码添加小助手入群▽
360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实
360度无死角、近距离看「CNN」训练,是种什么体验?网友:美得不真实

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~


自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    内江公需科目继续教育登录入口官网(内江市公需科目考试网)

    大家好,小美今天来为大家解答内江公需科目继续教育登录入口官网以下问题,内江市公需科目考试网很多人还不知道,现在让我们一起来看看吧!

  2. 2

    第四门八门遁甲(八门遁甲第四门叫什么)

    大家好,小乐今天来为大家解答第四门八门遁甲以下问题,八门遁甲第四门叫什么很多人还不知道,现在让我们一起来看看吧!1、八门遁甲中的第四

  3. 3

    毫无底线,永久封禁!8人全部获刑

    为了流量,毫无底线编造“怙恃双亡”人设骗取网友同情和爱心卖的居然照样假货……近日拥有近400万粉丝的主播“凉山孟阳”及其团伙等8人均获刑

  4. 4

    左边绿右边红左右相遇起凉风打一字(左边绿,右边红相遇起凉风,(打一字))

    大家好,小丽今天来为大家解答左边绿右边红左右相遇起凉风打一字以下问题,左边绿,右边红相遇起凉风,(打一字)很多人还不知道,现在让我们一起

  5. 5

    提高语文成绩的办法有哪些(提高语文成绩具体措施)

    大家好,小美今天来为大家解答提高语文成绩的办法有哪些以下问题,提高语文成绩具体措施很多人还不知道,现在让我们一起来看看吧!1、快速提

  6. 6

    葡语还在让你心累 ?

  7. 7

    女生网名可爱超萌清新2字(网名2021最新版的女生可爱2字)

    大家好,小豪今天来为大家解答女生网名可爱超萌清新2字以下问题,网名2021最新版的女生可爱2字很多人还不知道,现在让我们一起来看看吧!1、漠

  8. 8

    常识积累:刑法之自首

    小伙伴们,下昼好今天给人人带来的常识相关考点是【刑法之自首】供人人储蓄进修一、概念。  自首是指犯罪后主动投案,向公安、司法机关或

Copyright 2024.依依自媒体,让大家了解更多图文资讯!