【第三章】神经网络的架构-前馈神经网络

架构

在下一部分,我将介绍一个能够相当不错地对手写数字进行分类的神经网络。为了做好准备,有必要解释一些术语,这些术语让我们能够给网络的不同部分命名。假设我们有以下网络:

如前所述,这个网络中最左边的层被称为输入层,层内的神经元被称为输入神经元。最右边或输出层包含输出神经元,或者在这种情况下,一个单独的输出神经元。中间层被称为隐藏层,因为这一层中的神经元既不是输入也不是输出。术语"隐藏"可能听起来有点神秘 - 我第一次听到这个术语时以为它一定有一些深刻的哲学或数学意义 - 但它实际上只是意味着"既不是输入也不是输出"。上面的网络只有一个隐藏层,但有些网络有多个隐藏层。例如,下面的四层网络有两个隐藏层:

有点令人困惑是,也是出于历史原因,这种多层网络有时被称为多层感知器或MLP,尽管它们由Sigmoid神经元组成,而不是感知器。在本教程中,我不打算使用MLP术语,因为我认为它容易混淆,但我想提醒你它的存在。

神经网络中输入和输出层的设计通常是直接的。例如,假设我们试图确定一幅手写图像是否描绘了一个"9"。设计网络的一种自然方式是将图像像素的强度编码到输入神经元中。如果图像是一个64×64的灰度图像,那么我们将有4,096=64×64个输入神经元,其强度在0到1之间适当缩放。输出层将只包含一个神经元,其输出值小于0.5表示"输入图像不是9",大于0.5表示"输入图像是9"。

虽然神经网络的输入和输出层的设计通常是直接的,但是隐藏层的设计可能会有相当大的艺术性。特别是,不能用几个简单的经验法则总结出隐藏层的设计过程。相反,神经网络研究人员已经开发了许多隐藏层的设计启发式方法,这些方法帮助人们从网络中获得他们想要的行为。例如,这些启发式方法可以用来帮助确定如何权衡隐藏层数量与训练网络所需的时间。我们将在本教程的后面遇到几种这样的设计方法。

到目前为止,我们一直在讨论输出层的输出被用作下一层的输入的神经网络。这种网络称为前馈神经网络。这意味着网络中没有循环 - 信息总是向前传递,从不向后传递。如果我们有循环,我们将遇到σ函数的输入取决于输出的情况。那将很难理解,所以我们不允许这样的循环。

然而,还有其他模型的人工神经网络,其中可能存在反馈循环。这些模型被称为递归神经网络。这些模型的想法是有一些神经元在有限的时间内激活,然后变得静止。这种激活可以刺激其他神经元,在稍后的一段时间内也可能激活,同样也是在有限的时间内。这会导致更多的神经元激活,随着时间的推移,我们会得到一系列神经元的激活。在这种模型中,循环不会造成问题,因为神经元的输出只会在稍后的某个时间影响其输入,而不是瞬间影响。

与前馈网络相比,递归神经网络的影响力较小,部分原因是递归网络的学习算法(至少到目前为止)不那么强大。但是递归网络仍然非常有趣。它们在工作方式上更接近我们的大脑工作方式,而不是前馈网络。并且有可能递归网络可以解决只能通过前馈网络非常困难才能解决的重要问题。然而,为了限制我们的范围,在本教程中,我们将集中讨论更广泛使用的前馈网络。

相关推荐
Zzj_tju2 分钟前
大语言模型技术指南:Transformer 为什么能成为基础架构?核心模块与参数怎么理解
人工智能·语言模型·transformer
gorgeous(๑>؂<๑)9 分钟前
【CVPR26-韩国科学技术院】令牌扭曲技术助力多模态大语言模型从邻近视角观察场景
人工智能·语言模型·自然语言处理
AC赳赳老秦23 分钟前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
用户78245208077942 分钟前
一些容易混淆的点(个人记录)
人工智能
胡志辉44 分钟前
OpenClaw 教程:新 Mac 从 0 配到国产 AI、飞书微信和无人值守
人工智能·神经网络
机器之心1 小时前
全球第一,13个SOTA!我们找到了龙虾界掌管GUI的神
人工智能·openai
AI问答工程师1 小时前
Meta Muse Spark 的"思维压缩"到底是什么?我用 Python 复现了核心思路(附代码)
人工智能·python
机器之心1 小时前
大佬深度解析:Coding Agent的底层运行逻辑是什么?
人工智能·openai
爱吃的小肥羊1 小时前
Claude降智再被实锤!推理能力严重下滑,用户连夜跑路 Codex
人工智能·aigc·openai
Rabbit_QL1 小时前
【理论分析】信息熵的极值问题:什么时候最小?什么时候最大?
人工智能·深度学习