WEBVTT

00:00.270 --> 00:04.380
大家好, 欢迎来到我们制作大脑的最后一步｡ 

00:04.380 --> 00:06.300
我们有一个向左的函数｡ 

00:06.300 --> 00:16.080
这是将在神经网络的所有层中传播信号的前向函数, 包括三个卷积层和全连接层｡

00:16.080 --> 00:21.630
所以这个函数是正向函数,

00:21.630 --> 00:27.360
和自动驾驶汽车的正向函数完全一样, 只不过这次我们必须在全连接层之前的卷积层中传播信号｡

00:27.360 --> 00:32.910
好消息是, 我们已经在前面的步骤中使用了计数神经元函数,

00:32.910 --> 00:37.110
所以我们已经有了在卷积层中传播信号的代码｡

00:37.110 --> 00:38.790
所以这会很快｡ 

00:38.790 --> 00:45.360
我们将把我们在这里所做的和我们在自动驾驶汽车上所做的结合起来, 我们将得到我们大脑的向前功能｡

00:45.540 --> 00:46.680
所以我们开始吧｡ 

00:46.680 --> 00:54.810
我们在这里引入了一个新的函数, 最后一个用于大脑的函数, 这个函数是前向函数,

00:54.900 --> 01:03.840
它的自变量和self之前的自变量完全一样, 来引用对象和x, x首先是输入图像, 然后随着信号传播到神经网络中,

01:03.840 --> 01:10.110
X会被更新｡

01:10.440 --> 01:14.100
好了, 科林, 我们进去吧.

01:14.100 --> 01:20.340
正如我刚才所说的, 我们已经编写了代码, 在三个卷积层中传播信号｡ 

01:20.340 --> 01:23.370
这就是这三行代码｡ 

01:23.370 --> 01:28.920
所以我把它们复制粘贴在这里和那里｡ 

01:28.920 --> 01:35.580
我们已经在三个卷积层中传播了信号,

01:35.580 --> 01:45.120
现在只需要将信号从卷积层传播到隐藏层, 然后最终传播到输出层, 即神经网络的最末端｡

01:45.120 --> 01:50.880
要做到这一点, 我们首先需要将这里得到的第三个卷积层展平｡ 

01:50.880 --> 01:58.260
请记住, X首先是输入图像, 然后这里X变成第一卷积层,

01:58.260 --> 02:03.720
然后这里X变成第二卷积层, 然后这里X变成第三卷积层｡

02:03.720 --> 02:07.620
现在, x是第三个卷积层｡ 

02:07.620 --> 02:14.010
现在为了得到展平层, 我们需要展平第三个卷积层x｡ 

02:14.010 --> 02:18.090
为了做到这一点, 我们要做一些和这里非常相似的事情｡ 

02:18.090 --> 02:20.730
只不过这次我们不需要神经元的数量｡ 

02:20.730 --> 02:24.870
我们只需要在第三卷积层中平坦化信道｡ 

02:24.870 --> 02:27.990
所以这将是相当简单的, 但非常相似｡ 

02:28.140 --> 02:35.400
为了更好地完成这个过程, 我们再取一次X, 因为X将成为展平层｡ 

02:35.640 --> 02:38.610
所以我们只是更新了x, 所以x等于｡ 

02:38.610 --> 02:40.350
然后我们再取x｡ 

02:40.350 --> 02:44.340
但是这个x是旧的x, 也就是第三个卷积层｡ 

02:44.340 --> 02:52.290
所以我们取第三个卷积层, 然后是点, 然后取视图函数, 我们给它两个参数｡

02:52.290 --> 02:55.590
第一个是x点大小0｡ 

02:55.860 --> 03:03.900
所以, 我们再一次用尺寸函数来取第三卷积层中所有通道的所有像素, 我们把它们一个接一个地放进去｡

03:03.900 --> 03:11.190
这个巨大的向量将变成这里的x, 这个x将成为全连接网络的输入｡

03:11.190 --> 03:15.960
但这还不是我们要加的全部, 逗号和-1｡ 

03:15.960 --> 03:19.140
你可以在PyTorch教程中找到这个技巧｡ 

03:19.140 --> 03:24.990
这就是如何使用size函数来展平由多个通道组成的卷积层｡ 

03:24.990 --> 03:29.790
当然, 如果你想了解更多关于如何工作的细节, 你可以去pytorch教程｡ 

03:29.790 --> 03:31.200
我会提供链接｡ 

03:31.560 --> 03:36.870
现在我们有了平坦化层,

03:36.870 --> 03:43.590
这个平坦化层将成为一个典型的全连接网络的输入端, 信号通过简单的线性传输｡

03:43.590 --> 03:48.210
所以现在我们不使用卷积函数来传递信号｡ 

03:48.210 --> 03:53.820
我们将对线性类使用线性传输, 然后打破线性,

03:53.820 --> 03:58.680
因为我们处理的是图像, 图像具有非线性关系,

03:58.680 --> 04:03.060
我们将使用校正函数来学习这些非线性关系｡

04:03.300 --> 04:04.410
所以我们开始吧｡ 

04:04.410 --> 04:06.000
这实际上是下一步｡ 

04:06.000 --> 04:09.120
这和我们为自动驾驶汽车所做的完全一样｡ 

04:09.120 --> 04:11.970
我们取X是因为我们想再次更新它｡ 

04:11.970 --> 04:14.580
我们现在要获取隐藏层｡ 

04:14.820 --> 04:18.930
首先我们要做的是把我们的全部联系｡ 

04:18.930 --> 04:20.940
FC一是因为全连接｡ 

04:20.940 --> 04:25.290
FC 1是连接展平层和隐藏层的层｡ 

04:25.290 --> 04:32.730
因此, 我们需要取FC 1, 并将其应用于我们现在拥有的X, 即展平层｡

04:32.730 --> 04:39.440
当然我们也不会忘记self, 因为FC one是init函数的变量, 所以self也是FC

04:39.450 --> 04:45.420
one x, 这样就线性地把信号从展平层传递到隐藏层｡

04:45.420 --> 04:49.890
但现在我们需要激活这些神经元, 同时打破线性｡ 

04:49.890 --> 04:53.220
这正是我们对整流器激活功能所做的｡ 

04:53.220 --> 04:58.050
现在我们要做的就是把功能模块｡ 

04:58.050 --> 04:59.610
而从这个功能模块我们｡ 

05:00.220 --> 05:07.690
当然, 我们的修正函数, 也就是值, 我们把self, FC, 放在括号里｡ 

05:08.050 --> 05:08.380
好吧, 我会的

05:08.380 --> 05:17.140
在这行代码中, 我们首先将信号从平坦层传播到全连接网络的隐藏层｡

05:17.320 --> 05:24.490
然后我们激活这个隐藏层的神经元, 用这个整流激活函数打破线性｡

05:24.490 --> 05:27.700
我们得到了隐藏层X｡ 

05:28.240 --> 05:28.960
好极了｡ 

05:28.960 --> 05:31.030
现在我们又少了一步｡ 

05:31.030 --> 05:38.590
当然, 它是将信号从隐藏层传播到具有最终输出神经元的输出层｡

05:38.590 --> 05:40.930
而要做好这一点, 那是非常简单的｡ 

05:40.930 --> 05:43.450
这和我们为自动驾驶汽车所做的完全一样｡ 

05:43.450 --> 05:46.330
我们开始第二次完整连接｡ 

05:46.330 --> 05:53.440
当然, 我们把它应用到, 隐藏层的神经元上, 也就是现在的x｡ 

05:53.440 --> 05:55.780
这里x是隐藏层的神经元｡ 

05:55.810 --> 06:02.620
这个旧的x和这里的x当然变成了包含Q值的输出层的输出神经元｡ 

06:02.980 --> 06:10.030
最后我们简单地返回输出神经元, 也就是X和Q的值｡ 

06:10.030 --> 06:11.080
太完美了｡ 

06:11.080 --> 06:12.130
恭喜你啊

06:12.130 --> 06:13.660
我们刚做了个大脑｡ 

06:13.660 --> 06:17.620
我们只是用眼睛和其他细胞制造了眼睛的大脑｡ 

06:17.620 --> 06:18.970
所以恭喜你

06:18.970 --> 06:26.440
现在是时候让身体定义我们将如何发挥的行动后, 所有的信号在大脑中处理｡

06:26.440 --> 06:28.210
这是我们的第二个重要步骤｡ 

06:28.210 --> 06:30.130
让我们在下一个教程中进行此操作｡ 

06:30.130 --> 06:31.420
在那之前, 好好享受吧｡ 

06:31.420 --> 06:31.870
一､ 
