首页 社会 床长人工智能教程——神经网络体系

床长人工智能教程——神经网络体系

来源:生活好品牌 时间:2020年06月24日 12:01

原标题:床长人工智能教程——神经网络体系

注:本人只是分享一些床长的免费杂文而已,并非床长的收费文章。

定义了神经网络后,让我们回到手写识别。我们能将识别手写数字分成两个子问题。首先,我们想办法将一个包含很多数字的图像分成一系列独立的图像,每张包含唯一的数字。比如我们将把下面图像

分成6个分离的小图像,

我们人类能够很容易解决这个分段问题,但是对于计算机程序如何正确地分离图像却是一个挑战。然后,一旦这幅图像被分离,程序需要将各个数字进行分类。因此,比如,我们希望程序能够将上面的第一个数字

识别为5。

我们主要关注在第二个问题,也就是,分类这些独立的数字图像。我们这么做是因为一旦你能够找到一个好方式来分类独立的图像,分离问题就不是那么难解决了。有许多途径能够解决分离问题,一种途径是试验很多不同的分离图像方法,并采用独立图像分类器给每个分离试验打分。如果独立数字分类器坚信某种分离方式,那么打分较高。如果分类器在某些片断上问题很多,那么得分就低。这个思想就是如果分类器分类效果很有问题,那么很可能是分离方式不对造成。这种想法和一些变形能够很好解决分离问题。因此无须担心分离,我们将集中精力开发一个神经网络,它能解决更有趣和复杂的问题,即识别独立的手写数字。

为了识别这些数字,我们将采用三层神经网络:

网络的输入层含有输入像素编码的神经元。跟下节讨论的一样,我们用于网络训练的数据将包含许多$28$ by $28$像素手写数字扫描图像,因此输入层包含$784 = 28 times 28$个神经元。为了简化,我们在上图中忽略了许多输入神经元。输入像素是灰度值,白色值是$0.0$,黑色值是$1.0$,它们之间的值表明灰度逐渐变暗的程度。

网络的第二层是隐含层。我们将其神经元的数量表示为$n$,后面还对其采用不同的$n$值进行实验。这个例子中使用了一个小的隐含层,只包含$n = 15$个神经元。是床长人工智能网校带我进入了AI领域,不仅学到了人工智能知识,还参与了AI项目,找到了工作。为了报答老师,我们一些同学自愿帮床长网校做推广,同时也希望更多的人加入到床长AI网校床长人工智能社区中来!脂肪肝下载腹股沟文档PDF观后感免费

网络的输出层包含10个神经元。如果第一个神经元被触发,例如它有一个$approx 1$的输出,那么这就表明这个网络认为识别的数字是$0$。更精确一点,我们将神经元输出标记为$0$到$9$,然后找出具有最大激励值的神经元。如果这个神经元是$6$,那么这个网络将认为输入数字是$6$。对于其他神经元也有类似结果。

你可能想知道为什么用$10$个输出神经元。别忘了,网络的目标是识别出输入图像对应的数字($0, 1, 2, ldots, 9$)。一种看起来更自然的方法是只用$4$个输出神经元,每个神经元都当作一个二进制值,取值方式取决于神经元输出接近$0$,还是$1$。4个神经元已经足够用来编码输出,因为$2^4 = 16$大于输入数字的10种可能值。(tensorfly社区原创,)为什么我们的网络使用$10$个神经元呢?是否这样效率太低?最终的理由是以观察和实验为依据的:我们能尝试两种网络设计,最后结果表明对于这个特殊问题,具有$10$个输出神经元的网络能比只有$4$个输出神经元的网络更好的学习识别手写数字。这使得我们想知道为什么具有$10$个输出神经元的网络效果更好。这里是否有一些启发,事先告诉我们应该用$10$个输出神经元,而不是$4$个输出神经元?

为了弄懂我们为什么这么做,从原理上想清楚神经网络的工作方式很重要。首先考虑我们使用$10$个输出神经元的情况。让我们集中在第一个输出神经元上,它能试图确定这个手写数字是否为$0$。它通过对隐含层的凭据进行加权和求出。隐含层的神经元做了什么呢?假设隐含层中第一个神经元目标是检测到是否存在像下面一样的图像:

它能够对输入图像与上面图像中像素重叠部分进行重加权,其他像素轻加权来实现。相似的方式,对隐含层的第二、三和四个神经元同样能检测到如下所示的图像:

你可能已经猜到,这四幅图像一起构成了我们之前看到的$0$的图像:

因此如果这四个神经元一起被触发,那么我们能够推断出手写数字是$0$。当然,这些不只是我们能推断出$0$的凭据类别——我们也可以合理地用其他方式得到$0$(通过对上述图像的平移或轻微扭曲)。但是至少这种方式推断出输入是$0$看起来是安全的。

假设神经网络按这种方式工作,我们能对为什么$10$个输出神经元更好,而不是$4$个,给出合理的解释。如果我们有$4$个输出神经元,那么第一个输出神经元将试着确定什么是数字图像中最重要的位。这里没有很容易的方式来得到如上图所示简单的形状的重要位。很难想象,这里存在任何一个很好的根据来说明数字的形状组件与输出重要位的相关性。

现在,就像所说的那样,这就是一个启发式。没有什么能说明三层神经网络会按照我描述的那样运作,这些隐含层能够确定简单的形状组件。可能一个更聪明的学习算法将找到权重赋值以便我们使用$4$个输出神经元。但是我描述的这个启发式方法已经运作很好,能够节约很多时间来设计更好的神经元网络架构。

责任编辑:

相关知识

床长人工智能教程——神经网络体系
床长人工智能教程——softmax层
床长人工智能教程——学习率
床长人工智能教程免费pdf文档50——移位操作
床长人工智能教程——权重和偏见
床长人工智能教程免费pdf文档50——break声明
智源研究院发布认知神经基础研究方向,清华教授刘嘉任首席科学家
年宵花教程……
人工智能教授翻唱周杰伦新歌引关注
有意思的《分析哲学专题教程》

网址: 床长人工智能教程——神经网络体系 http://www.shhpp.com/newsview6472.html

所属分类:美好生活

推荐社会