WEBVTT

00:00.180 --> 00:02.190
大家好, 欢迎回到深度学习课程｡ 

00:02.190 --> 00:07.830
今天我们要讲的是神经元, 它是人工神经网络的基本组成部分｡ 

00:07.830 --> 00:08.970
那么我们开始吧｡ 

00:09.180 --> 00:14.460
之前我们看过一张像这样的图片, 这些是真实的的神经元,

00:14.460 --> 00:19.890
它们被涂在一层光泽上, 涂上一点颜色, 然后通过显微镜观察｡

00:19.890 --> 00:21.000
这就是它们的样子

00:21.000 --> 00:28.080
正如你所看到的, 这是一个非常有趣的结构, 一个身体, 然后是很多不同的尾巴,

00:28.080 --> 00:30.060
从它们身上伸出一些分支｡

00:30.060 --> 00:35.910
这很有趣, 但问题是, 我们如何在机器上重现它？

00:35.910 --> 00:42.660
因为我们真的需要在机器上重现它,

00:42.660 --> 00:50.880
因为深度学习的全部目的就是模仿人脑的工作方式, 希望通过这样做, 我们能创造出令人惊叹的东西｡

00:50.880 --> 00:54.960
我们要创造一个令人惊叹的基础设施让机器能够学习｡ 

00:54.960 --> 00:56.730
我们为什么希望这样呢？

00:56.730 --> 01:02.940
因为人类的大脑很好, 恰好是这个星球上最强大的学习工具之一,

01:02.940 --> 01:07.200
或者说是这个星球上最强大的学习机制｡

01:07.200 --> 01:11.250
我们只希望如果我们重建它, 我们会有像那样棒的东西｡ 

01:11.250 --> 01:18.210
所以我们现在面临的挑战, 也是我们创造人工神经网络的第一步, 就是重建一个神经元｡

01:18.210 --> 01:19.020
那我们该怎么做呢？

01:19.020 --> 01:23.190
首先, 让我们仔细看看它到底是什么｡ 

01:23.700 --> 01:39.600
这张图片是西班牙神经科学家圣地亚哥·拉蒙·卡哈尔在1899年首先创造的, 他所做的是在真实的脑组织中杀死神经元, 然后在显微镜下观察它们｡

01:39.600 --> 01:42.450
当他看着他们的时候, 他实际上画了他所看到的｡ 

01:42.450 --> 01:43.470
这是他看到的｡ 

01:43.470 --> 01:52.200
他看到两个神经元或者两个大的神经元在顶端, 所有这些分支都从它们的顶端延伸出来.

01:52.200 --> 02:01.410
然后每一个都有一根杆或者像线一样的东西从底部伸出来很长的一根, 是的, 这就是他看到的｡

02:01.410 --> 02:11.850
现在科技已经进步了很多我们已经更近更详细地看到了神经元现在我们真的可以画出它戏剧性的样子

02:11.850 --> 02:13.140
让我们来看看｡ 

02:13.140 --> 02:14.100
这是一个神经元

02:14.100 --> 02:22.050
这看起来和圣地亚哥·拉蒙在这里画的非常相似在这个神经元中, 我们可以看到它有一个主体, 这是神经元的主要部分,

02:22.050 --> 02:29.010
然后在顶端有一些分支, 叫做树突.

02:29.010 --> 02:32.760
它也有轴突, 也就是神经元的长尾｡ 

02:33.180 --> 02:36.630
这些树突和轴突是干什么用的呢？

02:36.630 --> 02:43.950
好吧, 这里要理解的关键点是, 神经元本身是非常无用的｡ 

02:43.950 --> 02:45.870
就像蚂蚁一样, 对吧？

02:45.870 --> 02:47.220
一只独立的蚂蚁｡ 

02:47.220 --> 02:49.560
就像五只蚂蚁在一起一样｡ 

02:49.740 --> 02:51.090
也许他们能找到些线索｡ 

02:51.090 --> 02:54.060
但是, 他们他们不他们不能建立一个蚁丘｡ 

02:54.210 --> 02:55.380
他们不能建立殖民地｡ 

02:55.380 --> 02:59.220
它们不能像一个巨大的有机体那样一起工作｡ 

02:59.220 --> 03:03.240
但与此同时, 当你有很多很多的广告, 就像你有一百万只蚂蚁, 它们可以建立一个完整的殖民地,

03:03.240 --> 03:05.520
它们可以建立一个蚁丘｡

03:05.550 --> 03:07.050
神经元本身也是如此｡ 

03:07.050 --> 03:07.740
没那么强烈｡ 

03:07.740 --> 03:12.210
但是当你有很多神经元在一起时, 它们会一起工作来创造奇迹｡ 

03:12.210 --> 03:13.740
它们是如何协同工作的？

03:13.740 --> 03:14.340
这就是问题所在｡ 

03:14.340 --> 03:16.620
这就是树突和轴突的作用｡ 

03:16.620 --> 03:22.800
树突就像是神经元的信号接收器而轴突则是神经元的信号传递器.

03:22.920 --> 03:26.460
这是一个概念上的运作方式｡ 

03:26.460 --> 03:32.490
在顶部你可以看到一个神经元, 它的树突连接着其他神经元的轴突,

03:32.490 --> 03:35.640
这些神经元在它上面更远的地方.

03:35.760 --> 03:43.530
然后这个神经元发出的信号沿着它的轴突传递到下一个神经元的树突上｡

03:43.530 --> 03:44.730
这就是它们之间的联系｡ 

03:44.730 --> 03:52.320
在那边的小图中, 你可以看到轴突并没有接触到树突｡ 

03:52.350 --> 03:58.700
很多很多的机器学习或者像一些机器学习一样, 科学家们对此非常坚定｡

03:58.710 --> 04:06.750
事实上, 它不接触它, 就像它不接触它一样, 已经证明, 那里没有物理连接｡

04:06.750 --> 04:16.230
但我们感兴趣的是它们之间的联系, 即信号传递的整个概念, 这被称为注册｡

04:16.230 --> 04:23.730
你可以看到在那张小图片中, 那个数字括号是注册, 这是我们将要使用的术语｡

04:23.730 --> 04:29.610
所以我们不用人工神经元, 我们将要拥有的线路或者人工神经元的连接器, 我们不用轴突或者树突,

04:29.610 --> 04:35.130
因为问题是这是谁的连接？

04:35.130 --> 04:36.810
是那个神经元还是这个神经元？

04:36.810 --> 04:39.210
我们只是打电话给他们, 我们只是要打电话给他们注册｡ 

04:39.210 --> 04:42.630
这样就能马上回答所有的问题｡ 

04:42.630 --> 04:45.020
这基本上就是信号传递的地方｡ 

04:45.030 --> 04:47.550
那元素是谁的并不重要｡ 

04:47.550 --> 04:50.160
这只是传递信号的一种表示｡ 

04:50.160 --> 04:51.240
我们现在就能看到｡ 

04:51.750 --> 04:54.840
这就是神经元的工作原理｡ 

04:54.840 --> 04:59.940
是的, 让我们继续讨论如何表示神经元？

05:00.210 --> 05:03.300
在机器中创造神经元｡ 

05:03.300 --> 05:04.800
所以我们现在要搬走了｡ 

05:04.800 --> 05:10.200
我们正在从神经科学转向技术, 我们开始了｡ 

05:10.200 --> 05:13.200
这是我们的神经元有时也被称为节点｡ 

05:13.620 --> 05:18.240
神经元得到一些输入信号, 然后有一个输出信号｡ 

05:18.240 --> 05:20.820
树突和轴突, 记住｡ 

05:20.820 --> 05:28.950
但我们还是要把这些突触称为输入信号, 我们也会用其他神经元来表示它们.

05:28.950 --> 05:35.760
所以在这个特定的例子中, 你可以看到这个神经元, 这个绿色的神经元从黄色的神经元接收信号｡

05:35.760 --> 05:42.480
在本课程中, 我们将尝试使用特定的颜色编码机制, 黄色表示输入图层｡

05:42.480 --> 05:57.060
所以基本上所有的神经元都在外层或者说是在信号传入的第一个前端, 而信号把它叫做信号可能有点矫枉过正｡

05:57.060 --> 05:58.710
基本上就是输入值｡ 

05:58.710 --> 06:04.950
因此, 你知道, 即使是在简单的线性回归中, 你有输入值, 然后你有一个预测值｡

06:04.950 --> 06:05.550
这里也一样｡ 

06:05.550 --> 06:08.850
所以你有输入值, 它们在那里, 黄色的｡ 

06:08.850 --> 06:12.330
在右边, 你会看到它是红色的, 它是输出值｡ 

06:13.300 --> 06:17.100
我想在这里指出的是,

06:17.100 --> 06:21.150
在这个具体的例子中, 我们看到的是一个神经元, 它从输入层神经元接收信号｡

06:21.160 --> 06:23.790
所以它们也是神经元, 但它们是输入层神经元｡ 

06:24.360 --> 06:31.680
有时候你会看到一些神经元从其他的隐藏层神经元那里得到信号, 也就是从其他的绿色神经元那里.

06:31.680 --> 06:33.240
概念也是一样的｡ 

06:33.300 --> 06:37.170
就在这个例子中, 我们为了简单起见, 我们描绘了这个例子｡ 

06:37.380 --> 06:44.790
就输入层而言, 我们可以这样想, 用人脑的类比, 输入层就是你的感官,

06:45.060 --> 06:48.010
对吧？

06:48.030 --> 06:52.200
所以不管你在这里看到什么, 感觉到什么, 摸到什么, 闻到什么｡ 

06:52.200 --> 06:55.770
当然, 这就像有有很多东西你可以看到｡ 

06:55.770 --> 06:57.510
有很多信息进来了｡ 

06:57.510 --> 07:00.060
但这些都是你的那是你的大脑所局限的｡ 

07:00.090 --> 07:05.940
这就像是一个用骨头做的盒子｡ 

07:05.940 --> 07:12.270
你的大脑被锁在一个黑盒子里, 它看不见, 听不见,

07:12.270 --> 07:17.280
它唯一能得到的就是来自这些器官的电脉冲, 这些器官被称为你的耳朵, 鼻子,

07:17.280 --> 07:23.850
眼睛, 你知道, 你的触觉和任何东西, 你的味觉,

07:23.850 --> 07:28.260
对吗？

07:28.260 --> 07:35.970
所以它只是接收信号, 但它基本上生活在这个黑暗的黑盒子里, 它通过你的感官来理解世界｡

07:35.970 --> 07:37.440
这是这是惊人的｡ 

07:38.280 --> 07:38.910
所以是的｡ 

07:38.910 --> 07:42.960
所以你有这些输入来自人脑｡ 

07:42.960 --> 07:43.950
这是你的五种感官｡ 

07:43.950 --> 07:50.520
而就机器学习或深度学习而言, 这基本上是你的输入值｡ 

07:50.520 --> 07:52.740
所以你们的独立变量, 我们马上就能得到｡ 

07:52.740 --> 07:59.520
输入值, 信号通过突触传递给神经元, 然后神经元得到输出值,

07:59.520 --> 08:02.760
再传递给下一个神经元.

08:03.300 --> 08:06.930
在此特定情况下, 就颜色编码而言, 黄色再次表示输入层｡ 

08:06.930 --> 08:08.520
所以我们把这里的一切都简化了｡ 

08:08.520 --> 08:13.140
我们只需要输入层, 然后我们会有一个绿色的隐藏层, 也就是隐藏层,

08:13.140 --> 08:16.830
然后我们马上就会有输出层｡

08:17.370 --> 08:20.280
所以现在我们可以先习惯这些颜色｡ 

08:21.330 --> 08:22.080
好了, 我们走吧｡ 

08:22.080 --> 08:23.940
这是基本结构｡ 

08:23.940 --> 08:28.320
现在, 让我们更详细地了解一下这些不同的元素｡ 

08:28.320 --> 08:29.520
现在我们有了输入层｡ 

08:29.730 --> 08:31.020
这是什么？

08:31.020 --> 08:35.370
我们有这些输入, 实际上是独立变量｡ 

08:35.370 --> 08:38.070
那么自变量一是不是已经可供自变量了呢？

08:38.510 --> 08:44.670
这里要记住的重要一点是, 这些自变量都是针对一个单一的观察｡ 

08:44.670 --> 08:47.550
因此, 请将它视为数据库中的一行｡ 

08:47.550 --> 08:51.360
一个观测值你只需要取所有的自变量｡ 

08:52.110 --> 08:54.690
也许是人的年龄｡ 

08:54.690 --> 08:57.480
它们是银行账户里的钱数｡ 

08:57.720 --> 08:58.590
然后呢？

08:58.590 --> 09:00.690
他们如何开车或步行上班？

09:00.690 --> 09:02.790
他们使用什么交通工具？

09:02.790 --> 09:08.370
这些都是一个人的描述符, 你要么训练模型,

09:08.370 --> 09:11.520
要么进行预测.

09:12.330 --> 09:16.260
关于这些变量, 你需要知道的另一件事是你需要标准化它们｡ 

09:16.260 --> 09:21.270
所以你要么把它们标准化, 也就是说确保它们的均值为0, 方差为1.

09:21.270 --> 09:27.930
或者你有时也可以和以前学过的会更详细一点地指出这些情况｡ 

09:27.930 --> 09:32.880
也许在实践教程中你会遇到这些,

09:32.880 --> 09:38.520
有时候你可能不想标准化, 你可能想标准化它们, 意思是不是要确保平均值是0,

09:38.520 --> 09:44.060
方差是1, 你只需要, 减去最小值,

09:44.080 --> 09:49.200
然后除以最大值减去最小值, 再除以数值的范围, 这样你就得到了0和1之间的值｡

09:49.200 --> 09:52.350
这取决于具体情况｡ 

09:52.350 --> 09:58.950
你可能想做一个或另一个, 但基本上你希望所有这些变量都非常相似, 在大约相同的｡

09:59.650 --> 10:00.610
值的范围｡ 

10:00.610 --> 10:01.690
为什么呢？

10:01.690 --> 10:02.080
为什么会这样呢？

10:02.110 --> 10:06.670
所有这些值都将进入神经网络, 在那里, 正如我们刚才看到的, 它们将被相加,

10:06.670 --> 10:10.280
乘以权重, 相加等等.

10:10.280 --> 10:16.780
如果它们都差不多的话, 神经网络会更容易处理它们｡

10:16.930 --> 10:23.500
事实上, 你知道, 这正是它能够正常工作的方式｡ 

10:24.040 --> 10:29.020
如果你想读更多关于标准化､

10:29.020 --> 10:37.960
规范化和其他你可以对你的输入变量做的事情, 一个很好的附加阅读论文是Yan LeCun在1998年写的《有效的背支撑》｡

10:38.410 --> 10:39.370
那边的链接｡ 

10:39.370 --> 10:45.910
严立群, 我们将在课程中讨论卷积神经网络的部分,

10:45.910 --> 10:50.320
更多地讨论这个深度学习领域的非凡人物｡

10:50.320 --> 10:55.080
你会发现这绝对是一个知道自己在说什么的人｡ 

10:55.090 --> 11:00.760
他是杰弗里·欣顿顿的密友, 我们已经见过他了, 他也提到过.

11:00.760 --> 11:06.730
因此, 在本文中, 您将了解更多关于标准化和规范化的内容, 同时还可以学到许多其他不同的提示和技巧,

11:06.730 --> 11:12.070
在学习本课程时, 您将成为一个很好的补充阅读资料来源｡

11:12.070 --> 11:15.100
所以, 如果你有兴趣阅读一些其他的东西, 可以去看看｡ 

11:16.180 --> 11:16.870
我们走吧｡ 

11:16.870 --> 11:19.960
这就是我们需要对变量做的｡ 

11:20.050 --> 11:23.050
这里我们得到了输出值｡ 

11:23.050 --> 11:24.870
那么我们的产值能是多少呢？

11:24.880 --> 11:26.200
我们有几个选择｡ 

11:26.200 --> 11:31.240
输出值可以是连续的, 比如价格, 它可以是二进制的｡ 

11:31.240 --> 11:35.950
例如, 一个人会退出还是会留下来, 或者它可以是一个分类变量｡ 

11:35.950 --> 11:41.440
如果它是一个分类变量, 这里要记住的重要一点是, 在这种情况下,

11:41.440 --> 11:43.810
你的输出值不会只有一个｡

11:43.810 --> 11:50.500
这将是几个输出值, 因为这些将是一个虚拟变量, 将代表您的类别｡

11:51.220 --> 11:53.110
这就是它的工作原理｡ 

11:53.110 --> 12:01.570
重要的是要记住, 在这种情况下, 这就是你如何从人工神经网络中得到你的分类｡

12:02.560 --> 12:10.060
但是让我们回到一个简单的例子, 一个输出值, 现在让我们再讨论一个点, 或者说类似于我们已经讨论过的点｡

12:10.060 --> 12:17.470
我只想在左边重申这一点, 你有一个观察, 所以数据集中有一行｡

12:17.470 --> 12:19.630
右边也有一个观察结果｡ 

12:19.630 --> 12:21.880
这是同样的观察｡ 

12:21.880 --> 12:27.730
记住这一点很重要, 不管你输入什么, 都是一行的,

12:27.730 --> 12:29.920
然后你得到的输出也是同一行的.

12:29.920 --> 12:36.190
或者如果你在训练神经网络, 那么你把输入放在那一行, 你把输出放在那一行｡

12:36.190 --> 12:43.900
所以如果你想简化复杂性, 可以把它想象成一个简单的线性回归或者多元线性回归｡

12:43.900 --> 12:47.790
所以你输入你的值, 你就有了你的输出｡ 

12:48.300 --> 12:52.720
这就像当我们谈论回归时, 这是毫无疑问的, 因为我们已经习惯了｡

12:52.720 --> 12:54.910
这里也一样, 没什么太复杂的｡ 

12:54.910 --> 12:56.680
我们只是输入值, 我们得到输出｡ 

12:56.680 --> 13:01.240
但要记住, 每次你要处理的是一行,

13:01.240 --> 13:09.040
这样你就不会感到困惑, 并开始认为这些是不同的, 不同的角色, 你要放入你的人工神经网络或其他什么东西｡

13:09.040 --> 13:11.170
这只是一行中的值｡ 

13:11.170 --> 13:17.650
所以每次都有不同的观察结果, 不同的特征或属性与一次观察结果相关｡

13:19.060 --> 13:19.320
好吧, 我会的

13:19.330 --> 13:24.940
接下来我们要讨论的是突触, 这里是窦吗？

13:24.940 --> 13:27.940
我们有鼻窦, 它们实际上都被分配了权重｡ 

13:28.360 --> 13:28.840
砝码｡ 

13:28.840 --> 13:31.660
下面我们将讨论更多关于权重的内容｡ 

13:31.660 --> 13:41.530
但简而言之, 权值对人工神经网络的功能至关重要, 因为权值是神经网络学习的方式｡

13:41.530 --> 13:49.060
通过调整权重, 神经网络可以决定在每一种情况下, 哪个信号对某个神经元重要, 哪个信号对它不重要,

13:49.060 --> 13:53.290
哪个信号被传递, 哪个信号不被传递,

13:53.290 --> 13:57.520
或者信号被沿着的强度和程度｡

13:57.520 --> 13:59.230
所以重量是至关重要的｡ 

13:59.230 --> 14:01.240
他们是, 他们是｡ 

14:01.240 --> 14:03.520
在学习过程中得到调整的东西｡ 

14:03.520 --> 14:10.780
就像当你训练一个人工神经网络时, 你基本上是在调整整个神经网络中所有注册的所有权重｡

14:10.780 --> 14:16.600
这就是梯度下降和反向传播发挥作用的地方｡ 

14:16.600 --> 14:18.700
我们也会讨论这些概念｡ 

14:19.450 --> 14:21.220
基本上, 这些就是权重｡ 

14:21.220 --> 14:22.780
我们现在只需要知道这些｡ 

14:22.870 --> 14:24.520
这是神经元｡ 

14:24.520 --> 14:28.210
信号进入神经元, 然后在神经元中发生了什么｡ 

14:28.210 --> 14:30.460
所以这是有趣的部分｡ 

14:30.460 --> 14:33.610
就像我们今天讨论的神经元, 神经元内部发生了什么｡ 

14:33.610 --> 14:36.310
首先发生了几件事｡ 

14:36.310 --> 14:41.260
第一步是把所有这些值加起来｡ 

14:41.260 --> 14:43.450
于是就把这个加了进去｡ 

14:43.720 --> 14:49.740
所以所有输入值的加权和变得非常简单了？

14:49.780 --> 14:51.130
这非常非常简单｡ 

14:51.130 --> 14:56.950
只需要加起来乘以重量, 把它们加起来, 然后它就会应用一个激活函数｡ 

14:56.950 --> 14:59.110
现在, 我们将详细讨论激活函数｡ 

14:59.370 --> 15:04.710
再往下, 基本上是一个函数, 它被分配给这个神经元或者整个神经层,

15:05.100 --> 15:09.330
并且它被应用于这个加权和｡

15:09.330 --> 15:17.100
然后, 神经元知道它是否需要传递一个信号,

15:17.100 --> 15:22.170
就像传递给加权和函数的信号一样.

15:22.170 --> 15:27.210
但基本上取决于功能, 神经元要么传递信号, 要么不传递信号.

15:27.690 --> 15:34.380
这就是第三步所发生的, 神经元将信号传递给下一个神经元, 这也是我们下一节课要讲的内容,

15:34.440 --> 15:39.870
因为这是一个非常重要的话题

15:39.870 --> 15:46.590
我们想更深入地研究激活函数, 但希望现在一切都应该非常清楚, 你是如何获得输入值的, 你是如何获得权重的,

15:46.590 --> 15:51.540
你是如何获得正弦的, 你是如何获得神经元中发生的事情的, 你是如何获得加权和的,

15:51.540 --> 15:55.620
然后应用激活函数,

15:55.620 --> 16:01.560
然后在线路上传递, 这在整个神经网络中重复进行, 不停地说｡

16:02.670 --> 16:06.900
成千上万次, 取决于你有多大, 有多少个神经元,

16:06.900 --> 16:09.150
你的神经网络有多少个突触｡

16:09.270 --> 16:10.010
好了, 我们走吧｡ 

16:10.020 --> 16:12.000
希望您喜欢今天的教程｡ 

16:12.030 --> 16:13.170
等不及下次见你了｡ 

16:13.170 --> 16:15.150
在此之前, 请尽情享受深度学习｡ 
