首页 > 编程知识 正文

神经网络的层数(单层神经网络)

时间:2023-05-05 18:06:15 阅读:86585 作者:2004

本文介绍了神经网络的基本体系结构,并介绍了输入层、隐藏层和输出层是如何工作的。

介绍构建深度神经网络时的常见注意事项,包括隐藏层数、层中的单元数和要使用的激活函数。 在我们的技术讨论中,我们关注的是简单的前馈神经网络。

输入电平

输入层接受输入数据,然后传递给第一个隐藏层。 由于输入层不转换数据,因此通常不计数神经网络中的总层数。 神经元的数量与输入数据集特征的数量相同。

如果存在多维输入,输入层会将图像平面化为一维。 例如,用于图像分类的网络需要图像作为输入; 标准的彩色RGB图像通常有三个维度:宽度、高度和三个颜色通道。 因为灰度图像不需要多个颜色通道,所以两个维就足够了。 要将灰度图像输入到神经网络中,可以将各列的像素转换为矢量,然后将它们重叠在一起。 因此,44的灰度图像需要16个神经元的输入层。

可以进一步平坦特定彩色图像的颜色通道。 现代深度学习框架解决扁平化的问题。 只需将图像传递到输入层并指定其大小,帧就会处理其余的部分。

隐藏层

隐藏层的目标是对输入数据执行一个或多个转换,最终生成与预期输出足够接近的输出。 隐层是最不可思议的地方,它把神经网络和深度学习置于现代人工智能的前沿。

神经网络为什么会有隐藏层?

在隐藏图层上执行的转换可能相当复杂,例如从一种语言的文本段转换为另一种语言。 你如何表达英语文本和中文文本的抽象关系? 这个函数能捕捉到意思、上下文、语法规则、文化的差异吗?

传统的机器学习算法由于不能充分表达关系的复杂性,在语言翻译等任务中表现得相当差。 神经网络擅长于这样的任务。 因为增加更多的隐藏层,改变神经元的数量,可以让学生学习几乎任意复杂程度的映射。

神经网络在学习中可以提取复杂的特征而无需明确地表示这些特征,因此与其他许多机器学习算法相比也是有利的。 这样,可以通过网络学习识别图像中的对象和语言结构。 隐藏层起特征提取器的作用。 例如,在基于深度学习的图像识别系统中,初始层提取水平线和垂直线等低级特征。 后一层基于这些提取的特征构建更高级别的特征。 到达输出层后,必须提取可识别的对象,以便可以确定是否存在需要输出层的对象。 隐藏层的数量取决于任务的复杂性,通常通过实验发现。

隐藏图层以计算什么?

隐藏图层接受来自上一个图层的输入向量。 然后,通过与权重项相乘并添加偏差项来执行仿射变换。

严格地说,上一层和当前层之间的连接会增加权重和偏差。 通过非线性激活函数推送输出z,以捕获映射中的非线性关系。

深度学习研究社区提出了校准线性单元(ReLU )、双曲正切函数)等几个激活函数。 在大多数情况下,ReLU是一个很好的默认选择。 可以通过在多个隐藏层中链接这些操作来表示高度复杂的关系。

elu激活函数

如果输入为正,则ReLU激活只返回输入; 如果输入负数,则ReLU激活只返回零。

乍一看,这看起来非常简单。 特别是与逻辑s字型等其他激活功能相比。 但是,在神经网络的背景下,ReLU的简单性有几个优点。

因为不需要计算指数,所以计算成本很低。

如果输入是巨大的正数或巨大的负数,则以前应用的sigmoid和TanH函数经常饱和为非常高或非常低的值。 这将引起渐变消失和爆炸的问题。 如果在这些函数中将其与多个层区分开来,则坡度会过小或过大,从而阻碍坡度下降的收敛。 ReLU执行准线性变换。 这个可以防止

止饱和并加速梯度下降。

如何选择隐藏层的数量?

一般来说,更复杂的函数往往需要更多的层来恰当地表示它们。如果你正在处理机器翻译或图像识别任务,你将需要比根据饮食习惯、年龄和体重指数将患者分类为心脏病风险患者更多的层次。后一个例子是一个简单的分类任务,一个单层的神经网络(逻辑回归)就足够了。前面的例子需要多个阶段的隐藏特征提取和数据转换。

不幸的是,没有精确的公式来确定神经网络中隐藏层的数量。 您最好的选择是研究您所在领域的研究社区实施的标准网络,以获得最佳性能。这应该能让你很好地了解有多少层和多少神经元是合适的。除此之外,您还需要通过调整网络体系结构进行系统性实验,找出最适合您的特定问题的解决方案。

隐藏层的类型

在简单的多层感知器中,隐藏层通常由所谓的完全连接层组成。它们被称为完全连接,因为前一层中的每个神经元都与当前层中的每个神经元相连。 在更高级的神经网络架构中,您将发现不同类型的层。

深度学习社区为不同的目的提出了不同的层,例如卷积神经网络(主要用于计算机视觉)中的卷积层和池层,或者递归神经网络和转换器(主要用于自然语言处理)中的递归层和注意层。

输出层

输出层生成由神经网络计算的最终输出,并与预期输出进行比较。输出层中的神经元数量等于预测可以归入的类的数量。 例如,如果您的任务是对图像中是否包含猫、狗或兔子进行分类,那么您将有三个输出类,从而有三个神经元。

输出层计算什么?

与隐藏层非常相似,输出层基于传入连接的权重和偏差计算仿射变换。

接下来,它应用表示分类设置中的概率值的非线性激活函数。这意味着单个值必须大于零但小于一,所有单个概率的总和必须为一。 二进制分类设置中最常用的激活函数是logistic sigmoid,而在多类设置中,最常用的是softmax。

Sigmoid和Softmax

logistic sigmoid是一个s形函数,当输入值z为负值时渐近于0,当z为正值时迅速向1增长,当输入值z为正值时渐近于1。

这使得它成为二进制分类问题的理想函数,在二进制分类问题中,输出可以排序为等价于0或1的类。

这使得它成为二进制分类问题的理想函数,在二进制分类问题中,输出可以排序为等价于0或1的类。 softmax函数将sigmoid推广到任意数量的k类问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。