大家好, 欢迎来到I实现的第一部分, 第一部分构建AI,
正如大家所看到的, 我已经在此实现的结构中添加了一个维度, 第一部分由三个部分组成,
清楚地显示了我们将如何构建它｡
首先我们要做的大脑就是神经网络｡
然后我们要做一个身体来定义动作是如何进行的｡
一旦我们有了大脑和身体, 我们将把它们组装起来, 制造人工智能,
这将是第一部分的最后一节｡
因此, 现在您已经可以很好地了解此实现的结构｡
首先我们制造大脑, 然后我们制造身体, 然后我们组装身体来制造人工智能｡
接下来这个教程, 我们将从第一节开始, 关于大脑的制作,
这将是一个教程.
你可以想象, 制造大脑不像做蛋糕｡
因此, 这将需要多个教程｡
当然, 像往常一样, 我们要用类来表示大脑, 因为我们需要几个函数,
为了有一个由几个函数组成的结构, 这些函数将被组织在某种指令中, 当然,
我们需要一个类, 这很完美,
因为一旦我们把这个类做好, 我们就可以通过创建这个类的一些对象, 来创建我们想要的任意多个大脑｡
同样的, Python中的类, 以及一般的面向对象编程语言中的类,
都是非常实用的, 因为你可以为你想要构建的东西建立模型, 然后你就可以创建任意多的对象,
它们将拥有你在类中定义的所有特性｡
而对于我们的大脑来说, 这些特征当然会是｡
首先, 神经网络的架构, 我想说的是CNN,
当然, 还有不同的功能, 比如, 把信号从输入神经元传递到输出神经元｡
这就是我们要做的第四个函数｡
所以我们开始吧, 我们开始制造大脑｡
这将是相当令人兴奋的｡
这是我最喜欢的部分之一, 因此让我们直接进入它｡
所以我们首先要引入一个类, 当然, 我们要把这个类叫做.
好吧, 我犹豫着要不要叫它大脑, 但我们更直接地叫它CNN吧, 因为大脑实际上是一个CNN网络,
一个卷积神经网络｡
所以如果你愿意, 你可以称之为大脑｡
但至少我们知道我们在造什么｡
而美国有线电视新闻网（CNN）的自动驾驶汽车网络将继承GN模块｡
请记住, DN模块是我们在这里导入的, 我们希望能够使用此引擎模块的所有工具,
因此,
我们希望在面向对象编程中使用此技术, 这是继承, 允许我们使用父类中的所有工具｡
这个父类将是一个RN DOT模块｡
我们走吧｡
现在我们可以使用note模块的所有工具和对象了｡
好吧, 我会的
现在我们有了继承, 我们可以进入类来创建第一个函数｡
正如你可能猜到的, 第一个函数是init函数, 它将定义未来大脑对象的所有变量,
CNN对象将被创建｡
好的, 我们来做这个def, 然后在这个过程中, 下划线是, 现在我们需要输入一些变量｡
首先, 第一个变量是self｡
那当然是指物体｡
我猜你对这个很满意吧｡
然后, 我们将添加另一个变量, 它将是哑环境中的操作数｡
所以我们称之为数字行动, 一系列行动｡
实际上, 这个变量对于init函数不是必需的｡
如果您想测试我们将在其他环境中构建的API,
那么这将非常实用, 因为我们将从Dhoom环境包装器中导入此数量的操作变量, 其中包含两个离散的操作｡
当我们这样做的时候, 你知道, 输入环境的名称doom为零｡
所以如果你想在其他的末日环境中, 或者在其他的游戏中,
用这个I来做实验, 你不用做任何事情, 因为这个动作的数量, 会直接得到你将要玩的末日环境中的动作数量｡
好了, 这就是init函数的两个参数｡
所以现在我们可以进去了, 现在记住我们要做什么｡
我们要做的第一件事是用超级函数激活继承｡
这和自动驾驶汽车完全一样｡
我们采取超级功能｡
然后在里面, 我们开始输入定义神经网络的类, 这就是CNN｡
这时我们必须输入自我来指称对象｡
但是记住, 这还不是我们需要的全部, 在这里加上一个点, 然后是init函数和一些括号｡
通过这样做, 我们激活了继承, 现在我们可以使用结束模块中的所有工具｡
好了, 现在我想是时候构建神经网络的架构了｡
所以, 大家还记得,
我们要建立一个CNN, 一个卷积神经网络, 因为这一次人工智能将有眼睛, 人工智能的眼睛将是这个卷积神经网络的卷积层｡
然后, 在人工智能用卷积层可视化图像后, 它会将信号传递到一个经典的人工神经网络｡
这就是我们之前在完全连接的层上使用的, 它会尝试预测我们可以玩的每个可能动作的提示值｡
因此, 您心中已经有了架构｡
首先, 我们将有一些卷积层, 然后是一些完全连接的层,
这将是我们的人工智能的大脑｡
那么, 我们要做些什么才能在我们正在做的事情上后退一步呢？
好吧, 让我们用我们想要创建的变量来创建这个架构｡
实际上, 说到这个架构,
我们将构建一个具有三个卷积层的CNN, 然后是一个隐藏层, 这意味着我们将需要三个卷积连接和两个全连接｡
说到联系, 这正是我们将要定义的｡
这将是我们CNN课程的变量｡
因此, 现在, 我将定义五个变量, 三个是卷积连接,
两个是全连接｡
所以我们开始吧｡
我们从卷积连接开始｡
所以我称之为自点卷积1｡
我会复制它｡
在下面给他们定步调, 我们走｡
自卷积二和自卷积三｡
这是我们的卷积连接｡
第一个卷积层将对输入图像进行一些卷积, 得到第一个卷积层, 然后是第二个卷积层｡
这里的两个将第一卷积层作为输入, 并且通过再次应用一些卷积, 它将创建第二卷积层｡
在这个卷积层中, 我们将得到一些新的图像, 每个图像检测一个特定的特征｡
我们将在卷积层中得到这些新的图像｡
然后, 我们将这个卷积应用到这里, 把这些来自第一卷积层的新图像连接到第二卷积层的一些新图像｡
并且这些新的图像将再次检测第一卷积层的图像中的一些特征｡
因此, 只需对特征检测进行增强, 然后对第二层卷积图像进行增强｡
我们在这里应用第三次卷积, 为它们中的每一个获得更多的图像, 这些图像检测输入图像内部的更多特征｡
所以我们做得越多, 我们就越多地对图像的不同层次进行卷积｡
嗯, 我们越是能够察觉到一些特征｡
这就是通过检测特征, 人工智能将了解怪物在哪里, 它必须在哪里开枪杀死他们,
以及它应该去哪里｡
它也会探测到墙壁, 障碍物, 嗯, 字面上它必须去的地方｡
这要归功于所有这些卷积层在原始输入图像中检测到的内容｡
好吧, 我会的
这是CNN的卷积部分｡
但是, 请记住, 在卷积层之后, 我们必须将应用的不同卷积系列获得的所有像素展平｡
通过展平所有的像素阵列, 我们得到了这个巨大的向量, 它将成为经典人工神经网络的输入｡
这就是我们得到完全连接的层, 因此我们的全部连接｡
现在我们要做的就是创建两个新变量因为我们在这个经典的人工神经网络中有一个隐藏层｡
因此, 我们需要一个完整的连接, 从这个巨大的扁平化向量到这个隐藏层,
还有一个完整的连接, 在这个隐藏层和输出层之间, 由输出神经元组成,
这些输出神经元是提示值｡
我们先建立这些2/1连接, 然后定义所有这些连接｡
至于自动驾驶汽车, 我们将称之为self dot FC 1, 然后再称之为self dot FC 2｡
好了, 现在我们有了所有的变量,
现在我们要做的就是用RN模块的类来定义它们｡
这就意味着我们将基本上创建神经网络的架构, 这也是我们在下一个教程中要做的｡
在那之前, 好好享受吧｡
一､