当前位置: 首页 > 科技观察

看懂这十步,一个8岁的孩子都能看懂深度学习

时间:2023-03-21 13:51:22 科技观察

在不懂技术的人眼里,什么是人工智能?《流浪地球》AI语音助手MOSS?还是《终结者》的天网?如果不了解深度学习这一当今人工智能的主流技术,有些人可能真的认为现在的科学家正在创造无所不能、无所不知的电影AI形象。那么,如何用最通俗的方式向大众解释什么是深度学习呢?法国博主Jean-LouisQueguiner写了这篇文章,以利用深度学习技术构建识别手写数字的神经网络为例,将深度学习的原理解释得一清二楚。每个人写这些数字的方式都不一样。计算机如何确定这些手写数字是什么?1、数数一样简单。首先,考虑到0到9这十个数字也有各种笔画,我们来拆解一下,看看每个手写数字有多少横竖笔画和曲折。弯曲。左边的竖栏是数字,上面的红字是拆开的笔画。用这个表来统计每个字对应的笔画有多少。现在,让我们写一些新的数字,然后数一数这些新写的数字中有多少个红色笔画,并与上面的表格进行比较,以确定这些新写的数字有多少。例如,第一个数字中有一个“/”和一个“丨”。我们发现数字“1”有这个特征,而且是完全一致的,所以第一个数字就是“1”。第二个数,有上、下、左、右2个半圆,还有一个“/”和一个“丨”,共10笔。比较一下就会发现,上表中的数字“8”有8笔,数字“9”有6笔,所以第二个数字是“8”。如果你理解了这一步,那么恭喜你,你已经构建了世界上最简单的用于识别手写数字的神经网络。2.图像的概念是矩阵。大多数8岁的小学生肯定没学过。可以简单的理解为一系列的横竖格子,每个格子都有一个数字。对于计算机来说,每张照片都是由微小的像素组成的。这些像素点排列成矩阵网格,每个网格都有一种颜色,它们共同构成了一幅图像。比如这些红绿绿的格子,如果你拉远一点,原来是草莓图片的一部分。对于计算机,颜色由数字表示。草莓图中的颜色是红绿蓝三种颜色,每一种都有一个数字,一共三个数字;而手写数字是黑白的,只有一个数字,0代表纯黑,255代表纯白,中间的数字是灰色。数字越小,颜色越深,数字越大,颜色越浅。所以,看这个手写数字,一共有28行28列,784个像素格子,没有笔画的黑色格子为0,有笔画的部分,笔画中心是浅白色,这个数字大约是1还是两百,笔画的边缘是灰色的,数字只有几十,构成了这个手写数字的矩阵。3.卷积层:找出笔画轮廓现在,我们知道图片的每个像素格都是一个数字,但是如何找出这些数字中的笔画呢?深度学习的神经网络由许多“层”组成。找到轮廓的步骤需要使用卷积层。本质上就是给前面数字代表的图片加一个滤镜,过滤掉没有笔画的部分。留下有笔触的部分。过滤器就像下面的玩具,它识别图案的轮廓。如果轮廓匹配,则可以将其放入盒子中。如果轮廓不匹配,则不会放入。三角形过滤器匹配三角形木块,方形过滤器匹配方形木块。4.独立过滤过滤器的过滤过程就像这个动画,每次扫描都是独立的,所以可以同时进行多次扫描,而且每次扫描互不干扰。5.重复前面的卷积过程,因为我们的手写数字图像是经过多个滤波器滤波的,但是为了提高准确率,我们只需要将之前滤波过的图像再滤波一次即可,我们使用的滤波器越多,滤波的次数就越多,结果越准确。而且,由于手写数字不像玩具中的三角形和五角星那么规则,每个人写数字“8”的方式可能不同,因此笔画的布局也不同。为了使过滤后的笔画更加清晰,需要不断地创建新的过滤器,直到过滤器精确到我们之前看到的那些红色横竖半圆的形状。6、卷积:乘法和加法,但是过滤中具体的扫描过程是怎样的?涉及到卷积操作,比如下图,左边是一个8×8的图像,中间是一个3×3的卷积滤波器,3×3的格子在8×8的图像上一个一个移动,卷积是一件一件地进行。在这里,我们需要告诉你卷积是如何计算的。比如上图中,左边3×3格子的左上角是3,中间卷积滤波器的左上角是-1,那么需要3和-1相乘得到-3.以此类推,相同位置的两个数相乘得到9次乘积,再将9次乘积相加得到-3,这就是卷积的结果。当然,图中的例子涉及到负数。如果孩子还没有学会如何计算负数,他们可以忽略它并将其视为整数。7、池化层:使图片变小,便于总结。经过复杂的卷积过程,我们现在需要总结和采样。首先,我们需要缩小矩阵。这里我们使用池化层。比如将四个格子缩成一个格子,可以取四个格子的最大值、最小值、平均值、求和等,这样矩阵的大小只有原来的四分之一尺寸。8.神经网络我们的整个过程就是识别手写数字。这个过程称为图像分类。因为只有10个数字,所以我们需要将每个不同的手写数字分为0到9十类。经过上面的多层处理,现在我们要把它归为一个类,我们需要准备10个神经元,每个神经元代表一个类,连接到最后一个池化层。下面是YannLeCun设计的最早的LeNet-5卷积神经网络,是图像识别领域的几个早期成果之一。9.通过反向传播进行自我提升然而,整个过程不仅仅靠卷积来完成,还需要依赖神经网络自身的学习和适应能力,比如使用一种叫做反向传播的方法来减少神经元的数量按重量计算。简单来说,我们看神经网络的输出。如果输出分类错误,例如将手写的6识别为9,我们认为其中一个过滤器出错并且不可靠。如果过滤器不能承担自己的责任,它就会降低自己的权重,神经网络下次就不会犯同样的错误了。这样,整个神经网络系统就具备了学习和保持自我完善的能力。10.写到最后,找了几千张图片,跑了几十个filter,采样了输出……所有的步骤都可以同时完美完成,适合在GPU上运行。另外,我们还没有讨论准确性的问题。在图像识别竞赛ImageNet中,根据历年的结果可以看出,随着神经网络层数的增加,准确率在不断提高。最后,虽然本文讲的是识别手写字母,但是所有图像识别的原理,无论是用于医疗还是用于自动驾驶,都是一样的。它依赖于多层神经网络和不同矩阵上的各种过滤器。进行各种变换。也就是说,所有的图像识别都是运行在GPU上的矩阵运算。传送门英文原文:https://www.ovh.com/blog/deep-learning-explained-to-my-8-year-old-daughter/