当前位置: 首页 > 科技观察

高颜值神经网络可视化:3D彩色,可自定义,还可以可视化参数重要性

时间:2023-03-22 11:06:06 科技观察

本文经AI新媒体量子位授权转载(公众号ID:QbitAI),转载请联系出处.最近,一种神经网络可视化工具开始流行起来。这个名为“nn_vis”的工具使用了一种新的3D可视化技术,可以呈现这样的效果:根据其作者的说法,该工具的创建是因为神经网络内部缺乏透明度,因此很难为不同的任务选择有效的架构.究竟是什么让nn_vis与众不同?看一看。可以创建神经网络模型,也可以通过参数设置获得不同的呈现形式;并根据参数重要性的评价结果??,对神经网络进行剪枝,简化模型;同时,神经网络绑定过程也可以实现可视化。那么,这些功能是如何实现的呢?nn_vis利用神经网络优化领域的现有方法,使用批量归一化、微调和特征提取来评估训练神经网络不同部分的重要性。结合边缘绑定、光线追踪、3Dimpostor和特殊透明技术等,得到神经网络的3D模型,证明了评估结果的有效性。仔细看看~参数准备首先通过configs/processing.json准备神经网络处理的参数,像这样:{"edge_bandwidth_reduction":0.9,"edge_importance_type":0,"layer_distance":0.5,"layer_width":1.0,"node_bandwidth_reduction":0.95,"prune_percentage":0.0,"sampling_rate":15.0,"smoothing":true,"smoothing_iterations":8}也可以在GUI中设置:Createaneuralnetworkmodelusingthevisualizationtoolstart_tool.py,并选择神经网络LoadProcessedNetwork。除了现有网络之外,还可以生成随机网络,并且可以处理各种规模的网络。可视化可以使训练参数比最常用的参数更加结构化。经过不同的训练,通过旋转,切换相机位置,截图,可以得到这样的结果:边缘越近,神经网络的这些部分越泛化,也就是越容易适应新的数据样品。?左侧的神经网络未使用随机分配的值进行训练:节点和边缘分布在离中心较远的地方;?中间的那个,经过一些基础训练,准确率达到90%以上。?右边的神经网络以相同的方式训练,并使用L1正则化来防止过度拟合,从而得到精度相似的最窄模型。评估每个节点的重要性根据节点和边的重要性进行着色,不同的颜色代表神经网络的各个部分,用于预测它们的相关性。从左图可以看出,剪枝不重要的参数不会像重要参数那样影响模型的预测精度。右图表明,当神经网络根据类的重要性进行剪枝时,重要的类可以保持准确率。与整体准确度相比,重要类别的准确度始终更高。通过对神经网络进行剪枝,即剪掉不重要的冗余参数,降低模型复杂度和过拟合风险,提高泛化程度,得到更高效、训练成本更低的神经网络。这证明了重要性评估的有效性。绑定过程可视化,通过不断迭代实现神经网络的绑定。大致过程如下:视觉神经网络绑定过程:需要注意的是,每层神经网络的处理都需要一定的时间,而且计算不是实时的。不同的可视化效果在GUI中或者通过configs/rendering.json修改shader参数,包括:size,对象的基本opacity,即importance对opacity的影响比,cameradistance对opacity的影响比,ratio物体上不同点的密度对不透明度的影响,以及根据物体的重要性来渲染物体的阈值。可以获得不同的可视化效果:对这个工具感兴趣的朋友可以通过文末链接获取~GitHub项目地址:https://github.com/julrog/nn_vis