神经网络可视化有3D版本了,美到沦陷!
转自|量子位
做计算机视觉 , 离不开CNN 。
可是 , 卷积、池化、Softmax……究竟长啥样 , 是怎样相互连接在一起的?
对着代码凭空想象 , 多少让人有点头皮微凉 。 于是 , 有人干脆用Unity给它完整3D可视化了出来 。
文章图片
还不光是有个架子 , 训练过程也都呈现得明明白白 。
比如随着epoch(迭代次数)的变化 , 训练过程中各层出现的实时变化 。
文章图片
文章图片
为了能更清楚地展示网络细节 , 用户还可以在其中自由地折叠、扩展每个层 。
比如将特征图在线性布局和网格布局之间转换 。
文章图片
折叠卷积层的特征图输出 。
文章图片
对全连接层进行边绑定(edgebunding)等等 。
文章图片
这样的可视化图像 , 可以通过加载TensorFlow的检查点来构建 。
也可以在Unity编辑器中设计 。
文章图片
【神经网络可视化有3D版本了,美到沦陷!】是不是有点鹅妹子嘤那感觉了?
最近 , 这个项目又在社交媒体上火了起来 。
网友们纷纷表示:
“要是能在训练的时候看到这个过程 , 再长时间我也能忍啊 。 ”
“求开源 。 ”
该项目的作者 , 是一位来自维也纳的3D特效师 。
据他介绍 , 之所以创建这样一个CNN可视化工具 , 是因为他自己初学神经网络时 , 经常觉得很难理解卷积层之间是如何相互连接 , 又如何与不同类型的层连接的 。
而该工具的主要功能包括 , 卷积、最大池化和完全连接层的可视化表示 , 以及各种能实现更清晰可视化的简化机制等等 。
总而言之 , 就是想让初学者通过最直观的方式 , 来get到CNN的重点 。
如何用Unity搞出一个3D网络
在正式上手Unity前 , 作者先在Houdini软件中 , 搭建了一个可视化的3D网络原型 。
文章图片
也就是说 , 先给Unity版3D网络提供一个搭建思路 , 提前准备好实现展示卷积计算的方法、特征图的形状、边绑定的效果等问题 。
它的节点编辑器长这样:
文章图片
然后 , 就可以在Unity上搭建3D神经网络了 。
首先 , 需要预设好神经网络的“形状” 。
由于之前并没有用过Unity , 作者先学习了着色器和过程式几何相关的知识 。
这里面 , 作者发现了一些局限性 , 他采用的是Unity为着色器开发的语言Shaderlab , 这个语言无法使用着色变化 , 只有对语义进行预定义的变量 , 才能让它在顶点、几何和像素着色器之间传递 。
而且 , 它无法任意分配顶点属性 , 只有位置、颜色、UV等预定义属性 。 (可能这也是3D网络无法实时改变颜色的原因之一)
文章图片
在研究了一些实例化(instancing)相关的概念后 , 作者计划采用几何着色器的方法生成神经网络的连线 。 其中起点和终点被传递到顶点着色器 , 并直接转发到几何着色器 。
- 如果孩子没有这四种行为,说明他的情商很高,你家孩子占了几个?
- 在目前的价位,拥有3大亮点的真我Q3s,那是非常值得入手的!
- |全球13台根服务器,美国独占10台,若想关闭中国的网络有可能吗?
- 华为|如何看待有博主称“华为在装可怜,小米在鼓舞社会”?
- iPhone|天天查:iPhone 手机有很多隐藏功能,现在教你如何使用它
- TCL|TCL电子的“护城河”有多宽?
- 宁德时代|宁德时代曾毓群:有了换电技术 买车只买车身就行
- 本文转自:浙江日报徐剑(右)在浙江卓雅国际贸易有限公司走访调研。|在发展现场找改革答案
- 高通骁龙|在目前的价位,拥有3大亮点的真我Q3s,那是非常值得入手的!
- 微头条|在网上用手机怎么赚钱?网上赚钱的正规平台有哪些?