如何写一个游戏AI(二)卷积神经网络是什么,怎么使用?

      开始接触卷积神经网络已经有快三个星期了。觉得还是有一些概念,要刚开始知道会比较容易理解这个东西。

     1.什么是卷积神经网络

       其实这个东西应该是这样读的,卷积  神经网络。卷积是用来提取特征的,神经网络是用来分类的。合起来就是,卷积神经网络用来提取特征然后分类的。下面继续解释

      2.为什么卷积可以提取特征

        在使用卷积神经网络时,经常看到一个概念叫做卷积核(滤波器),这个东西为什么可以提取特征呢。举个可能不恰当的例子,例如,你现在有一堆混合物(大米+红豆+大豆),要对它们进行分类,这个使用你使用一个筛子,这个筛子就类似于上面说的卷积核(滤波器),你通过改变它,既可以提取特征。就像你改变你的筛子大小,最小的时候,你只能筛出大米,别的东西无法通过筛子,你的卷积核就提取了大米的特征。

       3.什么是神经网络

        如上图所示,这就是一个神经网络的结构,简单来说,就是输入层(两个神经元,红色)--->隐藏层(三个神经元,绿色)--->输出层(两个神经元,黄色)。即,给定了输入,最后得到输出。为什么可以分类,我也不太清楚,可以自行百度。

         4.使用卷积神经网络的实际例子

         用大白话举例过程,原理是这样的,但是实际操作会有一些别的不通。比如用卷积神经网络训练了一个可以识别猫、狗图像的AI。

         1.把海量的猫图片、狗图片作为输入

         2.当输入猫图片时,让训练模型输出为A

         3.当输入狗图片时,让训练模型输出为B

         4.当训练的时候,海量的训练数据就会反复调整卷积核,不停的改变参数(也就是学习),最后拿到最优的模型

         5.最后,使用时当你给定一张猫的图片的时候,猫图片输入模型,模型会预测出这张图最大概率结果是A。如果输入的是狗的图片,则这张图最大概率是B

        最后有两点要说一说

        1.其实使用卷积神经网络训练AI并没有想象的那么可怕,会自己思考,什么的七七八八。你必须事先告诉它结果。例如,你给他一巴掌作为输入时,输出为AI给你100元。当训练完之后,你给它一巴掌,它只会给你100元,并不会反过来打你一巴掌。

        2.要想使用卷积神经网络训练AI,必须要规定相应的输入和输出作为训练,这个输入和输出是我们程序员自己定的。

猜你喜欢

转载自blog.csdn.net/banfushen007/article/details/107965044