神经网络的反过程

2020-10-27 09:46洪鼎淇
中国信息化 2020年8期
关键词:蒙特卡洛原始数据神经网络

洪鼎淇

人能识别小鸟,而且能够想象出小鸟的模样。神经网络能识别对应数据,它应该也能根据标签来得出原来的数据的大致内容,这个过程就好比人类的想象力。在蒙特卡洛方式能通过在单位矩形的随机命中来求出圆周率的启发下,蒙特卡洛方式也应该能通过在模型中随机命中标签来求出对应标签数据的大致内容。下列通过蒙特卡洛方式与神经网络模型的结合,实现并给出一个根据标签来得出原来模型对应数据的大致内容的实验及思路。

一、缺失的想象力

想象力,一直以来都是人类特有的智能之一。它是如此神奇,在学习到新的知识之后,根据在脑海中的印象,人类能回忆起对应的知识点或者在脑海中展示出一副对应的图画。因为有这个能力,人类的生活变得如此丰富多彩,看一本小说,能根据自己的想象力,在脑海中重现出对应的画面。因为每个人的经历是不同的,想象出来的画面也是不同的。

神经网络,在人工智能的领域方面发挥着不可替代的作用。它在某些方面确实能发挥出类似人类的智能,然而神经网络并不是万能的,形如人们所特有的创造力,想象力,神经网络就不具有。

那究竟如何才能使其获得想象力?换句话说,就是如何根据目标标签的值,得出对应模型的原始数据的大致内容呢?

(一)蒙特卡洛测圆周率下的启示

在一次实验中偶然发现了蒙特卡洛测试圆周率的方法,实验过程中并没有出现圆周率的任何信息,但根据随机数的命中情况后,求出命中圆形区域的个数和未命中的个数比后,卻能够得出圆周率近似大小,其中关系引人深思。

上述的蒙特卡洛实验是从随机数到求近似值的一个过程,而且随着取的随机数的次数越多,求取的值将会越准确。若对神经网络来说,该蒙特卡洛 映射关系F([随机数1,随机数2,…]) =目标值依然成立的话,则应该有以下关系,若给定标签值,那根据多次取随机数后的命中目标标签情况,即通过这些命中目标标签的随机值取交集,可以反推得出原来对应标签的神经网络模型的之前大致的数据。这个过程类比人类来说,即人类根据小鸟这个词,想象出小鸟的模样。

(二)蒙特卡洛方式想象力思路

若有一个训练好数据的神经网络模型,该模型能预测N种类型的标签,取对应原始数据大小的M个随机数代入模型中,得到一个(M,N)大小的存储对应这M个数据的N个标签的预测值概率的二维列表。若想想象出标签K(K<=N)的大致数据,则取对应这M个数据的N个标签预测值概率的二维列表中的这M个元素中各个元素中第K个位置的预测值作为待取命中元素列表,并取待取命中元素列表种概率值最大的前S个随机数元素作为待交叉命中的列表,用计数规则将待交叉命中的列表中各元素的各个随机数中的元素的出现次数计数,这样就得到一个对应随机元素出现次数的列表,取每个出现随机元素的出现列表的I列的最大值作为想象结果的第I个元素的值,最终得到的想象结果即为概率命中想想象的标签的大致数据的值,即想象力的结果。

该过程通过调整M值的大小,对应得到想象出来对应标签的大致原始数据的精度也会跟着调整,也就是蒙特卡洛的思想。过程并不复杂,具体实现的例子通过最终的实现阶段展示。

二、想象力精度

人之间的想象力是有区别的,不同的人,因为阅历的不同,所以对于相同的事物而言,想象出来的物体也是不尽相同的。

而对于上述所说的蒙特卡洛方式的想象力想象得到的原始数据也是根据模型训练的差别导致想象出来的原始数据有所差别,但想象出来的数据在特定的模型下有一个大致的轮廓,在这个大致的轮廓下的差别就是想象精度所导致的,即蒙特卡洛方式取随机值的个数影响其精度,而取相同的随机数个数最终所想象出来的原始数据的差异则是所取的随机数的区别导致的。

(一)神经网络的反过程原理

神经网络最基本的功能就是对数据的分类,前期通过训练数据和标签而建立起一一对应的关系,这个过程本质是一个函数的过程,将这个特殊的函数保存起来就变成了模型,当要用到它的时候,将其代入想要判断的数据就得到了对应各个标签的预测值。

神经网络的反过程就是给定具体神经网络模型的一个标签,然后反推得到原本的数据有可能是什么样子的过程。这个过程可以参考最终的实现阶段的实例。

蒙特卡洛的想象的过程就是通过随机取点代入这个特殊的函数中看在这个特殊的函数上的各个标签的预测值,在所指定的要想象的标签的预测值最大的那些随机取点之间取交集达到尽可能还原出原本数据的目的。

很明显这个过程是一个具有随机性的过程,因为随机取点的不同,在代入神经网络这个特殊的函数的时候会导致预测的值之间会有较大的差距,这个时候可以通过将蒙特卡洛增加所取的随机数来减少这个误差,也可以通过在最终取交集的时候增强一些无关值(例如背景)从而来使想象的原始数据更加突出。

三、实现

神经网络的反过程实现,首先要有一个模型,这个模型应该是训练过想要想象的数据的模型的。类比于人,人首先要有知识,才能支撑他的想象。而模型的精度,能影响想象出来的数据的品质也是同样到道理。下列通过一个Tensorflow中mnist数据集训练的手写数字的模型为例子,来实现想象得出原来的大致数据的过程。

(一)实例模型参数介绍

mnist手写图片数据集大小28*28*1,用3个卷积层的2个全连接层卷积神经网络训练,第一层卷积层为5*5,步长为2,激活层为relu,池化层输出为32通道;第二层卷积层为3*3,步长2,激活层为relu,池化层输出64通道;第三层卷积层步长为3*3,步长为1,激活层为relu,池化层输出128通道;第一层全连接层激活层为relu,keep_ prob参数为0.5,通道数1024,第二层全连接层输出10个参数,优化器用亚当优化器,预测用softmax,每轮200个训练集,进行31轮训练,每轮训练100次。

在上述的基础上,从mnist中取6200个训练集进行训练,得到一个识别手写数字的模型,用测试集验证正确率达90% 蒙特卡洛取随机数值的二值化图片数20000张。

(二)想象效果

想象过程非常依赖模型对于随机产生黑白图片的识别,最终的图片的效果很大程度上依赖模型精度。得到这个模型后,即可根据模型识别多次在空白图上产生50%左右的黑点的图来得出图是对应数字的置信度的值,取前N张置信度较高的随机图片间黑点的交集,最终得到的想象图片再用简单的图片处理算法去除背景干扰点,即可得到效果相对而言相对较为清晰的图片。

用蒙特卡洛是属于无监督的过程,相较而言,实际上效果不如对抗神经网络有监督地仿照图片而产生的新图片。其想象图片仅拥有多次训练时中对应类别图片中的特征,除了数字2、3、7、8、9、0有较好的效果,此次训练的模型想象出来的其他数字均只有模糊的轮廓,如数字1体现了手写1竖着的头尾相对较粗的特征。

四、结论

上述是通过蒙特卡洛方式的简单实现想象神经网络原始数据功能,通过在黑盒中用蒙特卡洛的方式来推导出原来数据的简单实现。但也可以看到过程具有明显缺点:计算量偏大,精度偏低,对于模型的原始数据的想象能力还较差。不过可以通过降噪,取多次想象交集等多种方式来优化效果。

通过蒙特卡洛方式能实现神经网络的反过程,与其说是反过程,不如说是多次随机拟合取交集的过程的“想象”。其与人的区别是,模型是死的,人是活的。模型只能通过原先的训练数据来获得知识,而人的想象确能实时根据自身的经历而改变。说到想象,就不得不提及人工智能,面对如今貌似到处都用到的所谓人工智能,它具有创造力和想象力吗?它是真的“智能”吗?

作者单位:石家庄铁道大学

猜你喜欢
蒙特卡洛原始数据神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
论航空情报原始数据提交与应用
运用蒙特卡洛模拟仿真算法分析机电系统技术
蒙特卡洛应用于知识产权证券化资产风险量化分析
对物理实验测量仪器读数的思考
马尔科夫链蒙特卡洛方法及应用