Press "Enter" to skip to content

神经网络可视化,真的很像神经元!

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

不知道大家有没有这种感觉?在接触AI时,老感觉神经网络就像个黑盒子,摸不着,看不透,贼神秘了。

 

其实,神经网络就是对人脑运作模式的智能模拟。和人脑一样,神经网络模型的强大能力,是基于成千上万个神经元的相互作用。以卷积神经网络(CNN)为例,其结构就分为很多层,层与层之间通过线来连接。训练的过程,就是将所有的线设置成合适的值的过程。

 

为了直观展示,今天就通过可视化带大家看看AI训练时都长啥样。(前方多图预警!

 

首先,AI模型训练前长这样:

训练中,依次经过卷积-激活、卷积-激活-池化、卷积-激活、卷积-激活-池化……这个过程大概长这样:

最后,训练完成后长这样,一种张扬肆意的凌乱美有没有:

可以看到, 经过训练后的模型之所以长得不再“均匀规整”,是因为被赋予了权值不一的特征 。虽然训练花了不少时间,但360度观摩神经网络的训练后,让人觉得再漫长的等待都是值得的。

 

看完上面炫酷的3D展示,接下来我们再通过AI模型全局结构图,一步步拆解训练过程,试着把CNN每一层的操作和变化都展示出来。

 

首先是 卷积层 ,这一步主要是为了提取特征。因为AI在识别图片时,并非一下子整张图整体识别,而是先对图中的每一个特征进行局部感知。

 

图: 卷积层

 

然后,到了 激活层 ,这个步骤是对上面提取的特征做一次非线性映射。

图:激活层

接着,来到 池化层 ,用白话来讲就是去除冗余信息,保留关键信息。毕竟一张图像通常包含了大量杂余信息,如果把整张图的所有特征都学习下来,那可不把AI累死。

图:池化层

就这样,以上操作重复N次,就形成了一个深层神经网络,完成自动化的有效特征提取:

 

最后,来到 全连接层 ,通过对所有得到的特征加权,计算输出预测结果,大功告成。

10

以上,就是一整套AI训练时的正常画风。那幺,如果我们给AI悄摸摸喂点对抗样本,训练过程又是什幺画风呢?

 

所谓对抗样本,是指对原始图片添加细微干扰形成输入样本,让人眼看来无明显变化,却能导致AI模型的预测结果走偏、出错。

 

这里,举个小熊猫图片被加入噪声的例子:

11

首先看看原始的小熊猫图片在神经网络中的一个特征分布情况:

12

再看看小熊猫图片被加入对抗样本后的特征分布情况:

13

可以清楚看到,两者的预测结果截然不同(小熊猫vs车子),但两者在训练过程中的不同之处大家有发现吗?

 

乍看之下,两者的特征权值分布非常相似,但仔细观察就会发现一些略微不同。 这里我们给池化层的第三个filter来个特写镜头,大家来找找茬 :

14

如上,从这些细微差异中,可以窥见AI的预测逐渐“走偏”的蛛丝马迹。

 

这就如同蝴蝶效应,最开始的一点点细微干扰,在经过训练过程中重复多次的卷积、激活、池化后,越走越歪,最终输出的结果和原始结果千差万别。

 

也许,这就是神经网络的奥秘所在吧。欢迎感兴趣的同学与我们交流探讨!

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注