关于机器学习:MindSpore跟着小Mi一起机器学习神经网络表述一

3次阅读

共计 5848 个字符,预计需要花费 15 分钟才能阅读完成。

好久不见,甚是惦记!明天小 Mi 持续带大家学习咱们的机器学习系列。置信神经网络这个名词大家都不会生疏,神经网络实际上是一个绝对比拟古老的算法,寂静了很长一段时间,不过当初随着硬件计算能力的晋升,它又成为许多机器学习问题解决的首要办法。

好了,到这置信大家不禁地会问了,既然曾经有线性回归、逻辑回归算法了,那么为什么还要钻研神经网络这个学习算法呢?为了进一步论述钻研神经网络的目标,小 Mi 决定带大家先理解几个机器学习问题的例子。

1 非线性假如
假如有一个监督学习分类问题,训练集如上图所示,如果利用 logistic 回归来解决这个问题,咱们能够结构一个蕴含很多非线性项的 logistic 回归函数,上述的 g 仍是 sigmoid 函数,其中能够蕴含很多像这样的多项式,当多项式项数足够多时,那么可能就能失去能够离开正样本和负样本的假如。当只有两个特色,比方时,这种办法的确会失去不错的后果。因为咱们能够把的所有组合都蕴含到多项式中。然而,显然许多乏味的机器学习问题的特色远不止两项。例如之前曾经探讨过房价预测的问题,假如一个房子有很多特色,想要预测房子在将来半年内能被卖出去的概率,这是一个对于住房的分类问题,而不是回归问题。对于不同的房子有可能就有上百个特色,对于这类问题,如果要蕴含所有的二次项,即便只蕴含二次多项式,最终也会有很多项。

好了,既然是这样,那么倘若咱们只思考二次项,也就是说,两个项的乘积,那么在 n =100 的状况下,最终也会有 5000 个特色,而且慢慢地,二次项的个数大概以的量级增长,其中,n 是原始特色的个数,即这些项,事实上二次项的个数大概是,因而要蕴含所有的二次项仿佛并不是一个好办法,而且因为项数过多,最初的后果很有可能是过拟合的。此外,在解决这么多项时,也存在运算量过大的问题,当然,你也能够试试只蕴含下面这些二次项的子集。例如,咱们只思考这些项,这样就能够将二次项的数量大幅度缩小,缩小到只有 100 个二次项,然而因为疏忽了太多相干项,在解决相似上图的数据集时,不可能失去现实的后果。实际上,如果只蕴含这一百个二次项,就不可能拟合出一些特地的假如,比方可能拟合出一个椭圆状的曲线,然而必定不能拟合出上图中这样简单的分界线,所以 5000 个二次项看起来曾经很多了,如果当初假如,包含三次项,例如等等,事实上,三次向的个数是的量级,当 n =100 时,能够计算出来,最初能失去大略 17000 个三次项。所以,当初始特色个数 n 很大时,将这些高阶多项式包含到特色里,会使特色空间急剧收缩,当特色个数 n 很大时,减少特色来建设非线性分类器并不是一个好做法。对于许多理论的机器学习问题,特色数 n 是很大的。咱们能够看看示例:

对于计算机视觉中的一个问题,假如咱们想要应用机器学习算法来训练一个分类器检测图像,判断图像是否为一辆汽车,很多人可能会好奇,为什么计算机视觉很难,当咱们本人看这幅图像时,这是什么。高深莫测。你必定会好奇,为什么学习算法竟可能会不晓得图像是什么。为了解答这个疑难,取出这幅图像中的一小部分,将其放大,比方图上,这个红色方框内的局部,当人眼看到一辆汽车时,计算机实际上看到的却一个数据矩阵,或者说示意像素强度值的网络,通知咱们图像中,每个像素的亮度值,因而计算机视觉问题就是,依据这个像素点亮度矩阵,来通知咱们这些数值代表一个汽车门把手。

具体而言,当咱们用机器学习算法结构一个汽车识别器时,咱们要做的就是提供一个带有标签的样本集,其中一些样本是各类汽车,另一部分样本不是车,将这个样本集输出给学习算法来训练出一个分类器。而后咱们就进行测试,输出一副新的图片,让分类器判断这是什么货色。现实状况下,分类器能辨认出这是一辆汽车。为了了解引入非线性假如的必要性,咱们从学习算法的训练样本中,找出一些汽车图片和一些非汽车图片,从图片中抉择一组像素点位,一个是像素点 1 的地位,还有一个是像素点 2 的地位,在坐标系中,标出这副汽车的地位,车的地位取决于像素点 1 和像素点 2 的强度,让咱们用同样的形式解决其余图片。察看这两个雷同的像素地位,这幅图片中像素 1 有一个像素强度,像素 2 也有一个不同的像素强度,所以在这幅图处于另一个地位,咱们持续画上两个非汽车样本,这两个不是汽车,接着又持续在坐标系中画上更多的新样本,用“+”示意汽车图片,“-”示意非汽车图片,咱们将发现汽车样本和非汽车样本分布在坐标系中的不同区域。因而,咱们当初须要一个非线性假如来尽量离开这两类样本,这里的特色空间的维数是多少?假如咱们用 5050 像素的图片,图片曾经很小了,长款只各有 50 个像素,但这仍然是 2500 个像素点。因而,特征向量的元素数量 n =2500。特征向量 x 就是蕴含了所有像素强度的列表,包含像素点 1 的亮度,像素点 2 的亮度等等,直到最初一个像素点的亮度。来对典型的计算机图片示意办法,如果存储的是每个像素点的灰度值,那么每个元素的值应该在 0 -255 之间,因而,这个问题中 n =2500,然而这只是应用灰度图片的状况,如果咱们用的是 RGB 彩* 像,每个像素点蕴含红、绿、蓝三个值,那么 n =7500。因而,如果咱们要通过包好所有的二次项特色来学习失去非线性假如,那么这就是式子中的所有条件,因为有 2500 像素,总共就有约 300 万个特色,这个数字就大得有点离谱了。对于每个样本都要找到并示意所有这 300 万个特色,这样的计算成本太高了。因而,只是包含平方项或者立方像特色,简略的 logistic 回归算法,并不是一个在 n 很大时,学习简单的非线性假如的好方法,因为特色过多。前面将解说神经网络在学习简单的非线性假如上被证实是一种好得多的算法,即便输出特色空间,或者 n 很大,也能轻松搞定。

2 神经元和大脑
神经网络是一种很古老的算法,它最后产生的目标是制作能模仿大脑的机器,它能很好地解决不同的机器学习问题,而不只因为它们在逻辑上行得通,不论是将其利用到古代的机器学习问题上,还是利用到那些你可能会感兴趣的问题中。从某种意义上说如果咱们想要建设学习零碎,那为什么不去模拟咱们所意识的最神奇的学习机器——人类的大脑呢?

神经网络逐步衰亡于二十世纪八九十年代,利用得十分宽泛。但因为各种起因,在 90 年代的前期利用缩小了。然而最近,神经网络又卷土重来了。其中一个起因是:神经网络是计算量有些偏大的算法。然而大略因为近些年计算机的运行速度变快,才足以真正运行起大规模的神经网络。当你想模仿大脑时,是指想制作出与人类大脑作用成果雷同的机器。大脑能够学会去以看而不是听的形式解决图像,学会解决咱们的触觉。

咱们能学习数学,学着做微积分,而且大脑能解决各种不同的令人惊奇的事件。仿佛如果你想要模拟它,你得写很多不同的软件来模仿所有这些形形色色的微妙的事件。不过能不能假如大脑做所有这些,不同事件的办法,不须要用上千个不同的程序去实现。相同的,大脑解决的办法,只须要一个繁多的学习算法就能够了?

大脑的这一小片红 ** 域是你的听觉皮层,你当初正在了解我的话,这靠的是耳朵。耳朵接管到声音信号,并把声音信号传递给你的听觉皮层,正因如此,你能力明确我的话。

神经系统科学家做了上面这个乏味的试验,把耳朵到听觉皮层的神经切断。在这种状况下,将其从新接到一个动物的大脑上,这样从眼睛到视神经的信号最终将传到听觉皮层。如果这样做了。那么结果表明听觉皮层将会学会“看”。这里的“看”代表了咱们所晓得的每层含意。所以,如果你对动物这样做,那么动物就能够实现视觉分别工作,它们能够看图像,并依据图像做出适当的决定。它们正是通过脑组织中的这个局部实现的。上面再举另一个例子,这块红色的脑组织是你的躯体感觉皮层,这是你用来解决触觉的,如果你做一个和方才相似的重接试验,那么躯体感觉皮层也能学会“看”。这个试验和其它一些相似的试验,被称为神经重接试验,从这个意义上说,如果 ** 有同一块脑组织能够解决光、声或触觉信号,那么兴许存在一种学习算法,能够同时解决视觉、听觉和触觉,而不是须要运行上千个不同的程序,或者上千个不同的算法来做这些大脑所实现的成千上万的美妙事件。兴许咱们须要做的就是找出一些近似的或理论的大脑学习算法,而后实现它大脑通过自学把握如何解决这些不同类型的数据。在很大的水平上,能够猜测如果咱们把简直任何一种传感器接入到大脑的简直任何一个部位的话,大脑就会学会解决它。

上面再举几个例子:

这张图是用舌头学会“看”的一个例子。它的原理是:这实际上是一个名为 BrainPort 的零碎,它当初正在 FDA (美国食品和药物管理局)的临床试验阶段,它能帮忙失明人士看见事物。它的原理是,你在前额上带一个灰度摄像头,面朝前,它就能获取你背后事物的低分辨率的灰度图像。你连一根线到舌头上装置的电极阵列上,那么每个像素都被映射到你舌头的某个地位上,可能电压值高的点对应一个暗像素电压值低的点。对应于亮像素,即便依附它当初的性能,应用这种零碎就能让你我在几十分钟里就学会用咱们的舌头“看”货色。

这是第二个例子,对于 回声定位或者说 声纳。你有两种办法能够实现:你能够弹响指,或者咂舌头。不过当初有失明人士,的确在学校里承受这样的培训,并学会解读从环境反弹回来的声波模式—这就是声纳。如果你搜寻一下,就会发现有些视频讲述了一个令人称奇的孩子,他因为癌症眼球惨遭移除,尽管失去了眼球,然而通过打响指,他能够到处走动而不撞到任何货色,他能滑滑板,他能够将篮球投入篮框中。留神这是一个没有眼球的孩子。

第三个例子是触觉皮带,如果你把它戴在腰上,蜂鸣器会响,而且总是朝向北时收回嗡嗡声。它能够使人领有方向感,用相似于鸟类感知方向的形式。

还有一些离奇的例子:

如果你在青蛙身上插入第三只眼,青蛙也能学会应用那只眼睛。因而,这将会十分令人惊奇。如果你能把简直任何传感器接入到大脑中,大脑的学习算法就能找出学习数据的办法,并解决这些数据。从某种意义上来说,如果咱们能找出大脑的学习算法,而后在计算机上执行大脑学习算法或与之类似的算法,兴许这将是咱们向人工智能迈进做出的最好的尝试。人工智能的幻想就是:有一天能制作出真正的智能机器。

神经网络可能为咱们关上一扇进入边远的人工智能梦的窗户,对于古代机器学习利用。它是最无效的技术办法。因而接下来,咱们将开始深刻到神经网络的技术细节中。

3 模型表示 1
为了构建神经网络模型,咱们须要首先思考大脑中的神经网络是怎么的?每一个神经元都能够被认为是一个处理单元 / 神经核(processing unit/Nucleus),它含有许多输出 / 树突(input/Dendrite),并且有一个输入 / 轴突(output/Axon)。神经网络是大量神经元互相链接并通过电脉冲来交换的一个网络。

上面是一组神经元的示意图,神经元利用强劲的电流进行沟通。这些弱电流也称作动作电位,其实就是一些强劲的电流。所以如果神经元想要传递一个音讯,它就会就通过它的轴突,发送一段强劲电流给其余神经元,这就是轴突。

这里是一条连贯到输出神经,或者连贯另一个神经元树突的神经,接下来这个神经元接管这条音讯,做一些计算,它有可能会反过来将在轴突上的本人的音讯传给其余神经元。这就是所有人类思考的模型:咱们的神经元把本人的收到的音讯进行计算,并向其余神经元传递音讯。这也是咱们的感觉和肌肉运行的原理。如果你想流动一块肌肉,就会触发一个神经元给你的肌肉发送脉冲,并引起你的肌肉膨胀。如果一些感官:比如说眼睛想要给大脑传递一个音讯,那么它就像这样发送电脉冲给大脑的。

神经网络模型建设在很多神经元之上,每一个神经元又是一个个学习模型。这些神经元(也叫激活单元,activation unit)驳回一些特色作为输入,并且依据自身的模型提供一个输入。下图是一个以逻辑回归模型作为本身学习模型的神经元示例,在神经网络中,参数又可被成为权重(weight)。

咱们设计出了相似于神经元的神经网络,成果如下:

其中是输出单元(input units),咱们将原始数据输出给它们。是两头单元,它们负责将数据进行解决,而后呈递到下一层。最初是输入单元,它负责计算。

神经网络模型是许多逻辑单元依照不同层级组织起来的网络,每一层的输入变量都是下一层的输出变量。下图为一个 3 层的神经网络,第一层成为输出层(Input Layer),最初一层称为输入层(Output Layer),两头一层成为暗藏层(Hidden Layers)。咱们为每一层都减少一个偏差单位(bias unit):

上面引入一些标记法来帮忙形容模型:代表第层的第个激活单元。代表从第层映射到第层时的权重的矩阵,例如代表从第一层映射到第二层的权重的矩阵。其尺寸为:以第层的激活单元数量为行数,以第层的激活单元数加一为列数的矩阵。例如:上图所示的神经网络中的尺寸为 3*4。

对于上图所示的模型,激活单元和输入别离表白为:

下面进行的探讨中只是将特色矩阵中的一行(一个训练实例)喂给了神经网络,咱们须要将整个训练集都喂给咱们的神经网络算法来学习模型。

咱们能够晓得:每一个 a 都是由上一层所有的 x 和每一个 x 所对应的决定的。(咱们把这样从左到右的算法称为前向流传算法(FORWARD-PROPAGATION))

把别离用矩阵示意:

咱们能够失去。

4 模型表示 2
(FORWARD PROPAGATION) 绝对于应用循环来编码,利用向量化的办法会使得计算更为简便。以下面的神经网络为例,试着计算第二层的值:

令,则,计算后增加。计算输入的值为:

令,则。这只是针对训练集中一个训练实例所进行的计算。如果咱们要对整个训练集进行计算,咱们须要将训练集特色矩阵进行转置,使得同一个实例的特色都在同一列里。即:

为了更好了理解 Neuron Networks 的工作原理,咱们先把左半局部遮住:

右半局部其实就是以, 依照 Logistic Regression 的形式输入:

其实神经网络就像是 logistic regression,只不过咱们把 logistic regression 中的输出向量变成了中间层的, 即:。咱们能够把看成更为高级的特征值,也就是的进化体,并且它们是由与决定的,因为是梯度降落的,所以 a 是变动的,并且变得越来越厉害,所以这些更高级的特征值远比仅仅将次方厉害,也能更好的预测新数据。这就是神经网络相比于逻辑回归和线性回归的劣势。

好啦,明天对于神经网络的简略介绍就到这里啦,下期小 Mi 将会带着大家进一步地进行一个更为直观的了解。咱们下期再见呦~(挥手十分钟!)

正文完
 0