一位外国小哥把整个 CNN 都给可视化了,卷积、池化清清楚楚!网友:美得不真实......

浅谈在Unity3D中实现人工神经网络插件Artificial Neural Networks 这个人工神经网络插件是本人使用Unity3D所开发,它最大的特点就是具有学习的能力 在本插件中的人工神经网络选用BP反向误差传播算法来进行学习 - - 特点 在本神经网络框架中,您可以名为AIBrain的脚本组件可以挂载到你自己的游戏对象上 当AI的训练完成时,你可以保存和加载存储在神经网络中的记忆 - - 在线说明文档 Introduction Manu... 阅读详情

萧箫 鱼羊 发自 凹非寺

报道 | 量子位

仅做学术分享,侵删

做计算机视觉,离不开CNN。

可是,卷积、池化、Softmax……究竟长啥样,是怎样相互连接在一起的?

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

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

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

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

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

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

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

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

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

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

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

网友们纷纷表示:

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

“求开源。”

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

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

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

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

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

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

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

它的节点编辑器长这样:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关研究还不少

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

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

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

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

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

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

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

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

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

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

作者介绍

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


觉得还不错就给我一个小小的鼓励吧!


疑难问题(二)——PyTorch 2.3.0 ‘import torch‘ 错误排查:深入解析‘shm.dll‘加载失败与系统路径修复 本文深入解析了在Windows系统上安装PyTorch 2.3.0后,执行'import torch'时遇到的'shm.dll'加载失败错误(OSError)。该问题通常源于系统DLL搜索路径缺失,导致无法找到关键的共享内存通信组件或其依赖项。文章提供了核心解决方案:通过手动修改PyTorch的`__init__.py`文件,将用户基目录下的Library\bin路径添加到DLL搜索列表中,从而从根本上修复此导入错误,并给出了详细的修改步骤和验证方法。 阅读详情

相关推荐

AI订单流异常检测:精准识别与闭环处置

本文系统阐述了订单流AI驱动的可视化与异常解释系统的构建策略。核心包括:1)多维度融合的异常检测技术,结合数据指纹、行为图谱和时序分析实现精准识别;2)分级分类与自动化处置机制,通过规则矩阵和风险熵值量化进行智能决策;3)基于SHAP/LIME的可解释性技术,提升决策透明度;4)千万级数据训练要求,确保模型达到87%以上的F1值。系统采用Flink+PAI实时计算架构,支持从异常检测到根因分析的完整闭环,为电商、金融等领域的订单风险管理提供智能化解决方案。

2401_83000568的博客 1360

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

萧箫 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI做计算机视觉,离不开CNN。可是,卷积、池化、Softmax……究竟长啥样,是怎样相互连接在一起的?对着代码凭空想象,多少让...

量子位 352

高速PCB差分对布线仿真实战案例

差分对布线是高速PCB设计的关键环节,直接影响信号完整性与EMI性能。本文结合实际项目,详解等长控制、阻抗匹配、间距优化等核心技巧,并通过仿真工具验证眼图、串扰和时序裕量,助力工程师规避常见高速pcb设计陷阱。

weixin_29092787的博客 351

太牛逼了!一位中国博士把整个CNN都给可视化了,每个细节看的清清楚楚!

点击上方蓝色小字,关注“涛哥聊Python”重磅干货,第一时间送达本文经AI新媒体量子位(公众号ID:QbitAI)授权转载每一个对AI抱有憧憬的小白,在开始的时候都会遇到CNN(卷...

涛哥聊Python 656

使用ShaderGraph制作URP各向异性

URP上用shaderGraph实现各向异性效果,解决只能用shader的问题

dreamform的专栏 1099

【AI气象6】Skilful nowcasting of extreme precipitation with NowcastNet

极端降水是气象灾害的重要因素,因此迫切需要通过高分辨率、长时间预报和局部细节的精准短期预报来减轻其社会经济影响。当前的方法存在模糊、衰减、强度或位置误差,基于物理的数值方法在捕捉关键的混沌动态(如对流起始)时面临挑战,而数据驱动的学习方法则未能遵循内在的物理法则(如平流守恒)。我们提出了 NowcastNet,这是一种针对极端降水的非线性短期预报模型,将物理演变方案与条件学习方法统一到一个端到端的神经网络框架中,通过优化预测误差进行训练。基于来自美国和中国的雷达观测数据,我们的模型能够生成物理上合理的降水短

weixin_51473374的博客 2325

DL之CNN:模型可解释性之卷积神经网络算法的卷积原理可视化——CNN网络的3D可视化(LeNet-5为例可视化)

DL之CNN:模型可解释性之卷积神经网络算法的卷积原理可视化——CNN网络的3D可视化(LeNet-5为例可视化)

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 4943

【胡学长 带你学 Global Mapper 】如何将影像地图转换为国家2000坐标系

多部门联合开展工作坐标数据不匹配怎么办?Hi,我是胡学长!今天教大家如何利用Global Mapper将谷歌影像数据转换为国家2000坐标系影像数据 。

一起来交流学习吧 1万+

一位外国小哥把整个 CNN 都给可视化了,卷积、池化清清楚楚!网友:美得不真实...

转自:量子位 做计算机视觉,离不开CNN。 可是,卷积、池化、Softmax……究竟长啥样,是怎样相互连接在一起的? 对着代码凭空想象,多少让人有点头皮微凉。于是,有人干脆用Unity给它完整3D可视化了出来。 还不光是有个架子,训练过程也都呈现得明明白白。 比如随着epoch(迭代次数)的变化,训练过程中各层出现的实时变化。 为了能更清楚地展示网络细节,用户还可以在其中自由地折叠、扩展每个层。 比如将特征图在线性布局和网格布局之间转换。 折叠卷积层的特征图输出。 对全连接层进行边绑定(...

osfront的博客 347

Demo2Reward:用人类演示动态优化VLM奖励模型提示

多模态大模型(VLM)的奖励建模正面临核心瓶颈——静态提示导致语义鸿沟与泛化失效。其本质是将人类判断标准固化为不可更新的文本模板,使奖励信号脱离真实任务意图。Demo2Reward提出范式级改进:以结构化人类演示为元信号,驱动提示权重连续优化,实现从‘结果打分’到‘过程理解’的跃迁。该方法不修改VLM主干,却显著提升RLHF收敛效率与OOD鲁棒性,在医疗、工业质检等场景验证了跨任务迁移与热修复能力。它重新定义了提示工程的技术价值:不是前端微调,而是奖励系统的认知校准基础设施。

weixin_34302798的博客 408

STM32 使用SYN6288语音模块

本篇文章带大家学习一下SYN6288语音模块,这个模块可以用于车载设备,语音电子书等众多产品当中,而且这个模块支持多种编码格式,GB2312,GBK等字符编码格式。SYN6288语音合成模块是一种语音合成设备,其可实现文字转语音功能,将输入的文字信息通过内部的处理和合成,输出相对应的语音信息。SYN6288模块具有语音合成质量高、输出音质好、使用方便等特点,因此广泛应用于语音播报、语音提示、语音识别、智能家居、智能家电、安防监控等领域。支持多语言:包括中文、英文、日文、韩文等多种语言。

m0_49476241的博客 2万+

公众号内容拓展学习笔记(2021.4.16)

公众号内容拓展学习笔记(2021.4.16) ???? 今日要点 YOLOv5在无人机/遥感场景下做旋转目标检测时进行的适应性改建详解(踩坑记录) ⭐️⭐️⭐️ 主要内容:在YOLOV5基础上增加旋转目标检测 code: https://github.com/hukaixuan19970627/YOLOv5_DOTA_OBB 超越MoCov2!阿里达摩院提出百万实例分类自监督方案 | AAAI 2021 ⭐️⭐️ 主要内容:单分支(One-branch)的参数化

xiaoxuebajie的博客 255

智驾车载以太网(18)-switch之报文转发和vlan处理流程

本文详细解析了交换机中报文处理和转发流程:1)通过目标MAC查找转发端口,源MAC创建ARL条目;2)VLAN标签处理包括tagged/untagged帧判断、默认VID标记等5种处理方式;3)完整转发流程包含CRC校验、IQ封装、VLAN和ARL表查询、端口向量计算及优先级队列发送。文中还涉及TCAM修改VLAN、802.1q多种模式处理等细节,省略了流量控制等次要流程。该过程实现了基于MAC和VLAN的高效二层交换。

mitugaoyang1993的博客 44

近距离看CNN训练!360度可视化,网友:美得不真实

点击上方“CVer”,选择加"星标"置顶重磅干货,第一时间送达萧箫 鱼羊 发自 凹非寺 来源:量子位(QbitAI)做计算机视觉,离不开CNN。可是,卷积、池化、Softm...

阿木寺的博客 455

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

NPU(神经网络处理单元)详细解析

NPU(Neural Processing Unit,神经网络处理单元)是一种专门为加速神经网络计算(尤其是深度学习推理)而设计的专用处理器(ASIC/DSP 类)。它也常被称作神经引擎(Neural Engine)、AI 加速器、APU(AI Processing Unit)等。处理器擅长不擅长CPU通用逻辑控制、串行任务、操作系统调度大规模并行矩阵运算,能效比低GPU图形渲染、大规模并行浮点计算功耗高(几十到几百瓦),不适合电池设备NPU神经网络核心算子(矩阵乘、卷积、激活)

zhaoshuzhaoshu的专栏 231

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

python torch 自定义神经网络NN

经过epochs次训练,每次epoch训练多个batch_size个样本,Loss逐渐减少。自定义全连接神经网络需要继承Model,重写__init__ 和forward方法。

frt的博客 247

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

基于神经网络的机器人导航系统的设计与执行!

基于神经网络的机器人导航系统,本质上是一个“感知-规划-控制”的闭环。它的核心优势在于强大的泛化能力和端到端的简洁性,能够处理传统几何方法难以解决的复杂场景(如密集人群、非结构化地形)。

m0_65595995的博客 241

神经网络与深度学习笔记_Day6

神经网络与深度学习笔记_Day6,包含 ANN案例、CNN概述、卷积层 与 池化层。 写于2026/02/12。

ZZHow Blog 349

2027年神经网络、智能信息与数据科学国际会议(NNIDS 2027)

2027年神经网络、智能信息与数据科学国际会议(NNIDS 2027)将在中国·合肥举行,会议围绕神经网络、智能信息处理与数据科学等研究方向展开学术交流,关注人工智能算法、数据分析技术以及智能信息系统的发展。

Yangxshy的博客 212

第 06/24 期:神经网络的反向传播算法:从链式法则到梯度计算

本文系统阐述了神经网络中反向传播的数学原理:前向计算为函数复合,而参数梯度需通过链式法则逆向传递。核心是定义误差项 $\delta^{(l)} = \nabla_{z^{(l)}}\mathcal{L}$,从输出层开始递推,利用权重转置与激活导数实现高效梯度传播。权重梯度由误差项与输入的外积构成,偏置梯度即误差项本身。通过两层网络实例验证了公式正确性,强调维度一致性的重要性,并揭示了激活函数导数在梯度传播中的关键作用,为理解深层网络训练机制提供理论基础。

weixin_47502228的博客 533
上一篇: 985高校博士:师从院士的我,直到毕业也没和导师单独说过一句话
下一篇: 一图胜千言!数据可视化多维讲解
Wang_AI
博客等级 码龄12年 997粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值