网站建设策划书心得,做百度网站要多少钱,最近韩国电影片免费观看,企业宣传片制作多少钱今天#xff0c;我们将探索卷积神经网络CNN的内部工作原理#xff0c;并理解CNN背后到底发生了什么。 这也是深度学习图解的第三部分#xff01; 第一部分#xff1a;神经网络工作原理图解 第二部分#xff1a;神经网络学习原理图解 点击既可跳转 对于我们的首个卷积神…今天我们将探索卷积神经网络CNN的内部工作原理并理解CNN背后到底发生了什么。这也是深度学习图解的第三部分第一部分神经网络工作原理图解第二部分神经网络学习原理图解点击既可跳转对于我们的首个卷积神经网络CNN项目我们将构建一个能够识别图像是否包含’X’符号的模型。这个模型将负责判断给定的图像是否表示了’X’。我们如何将图像而不是数值输入到神经网络中呢答案非常简单当我们放大图像时我们会发现它基本上只是一堆像素既然我们的X是一个简单的黑白图像我们可以将每个像素指定为1代表黑色像素或0代表白色像素。这些像素被存储为一个0和1的矩阵。我们可以将这个5x5的矩阵转换为一列现在这列25个5x51和0就可以作为神经网络的输入了假设这是一个训练好的神经网络那么这里我们将有25个输入到这个神经元每个输入都有自己的权重再加上一个偏置项。如果我们想创建一个更复杂的神经网络因为图像通常需要这样做我们需要添加更多的神经元和/或层。然而这种增加将指数级地增加需要优化的权重和偏置项的数量这需要大量的计算能力。尽管如此对于非常小的图像比如我们的5x5像素图像这仍然是可行的。但是一个256x256像素的图像将导致65536256x256个输入权重加上1个偏置项……这仅仅是一个神经元的神经网络更复杂的图像将需要更多的神经元和层。因此这种直接输入图像像素值的方法可能无法有效地扩展。另一个问题是图像可能并不总是看起来如我们所期望的那样。例如我们可能有一个理想地居中的、漂亮的“X”或者一个像这样扭曲的“X”或者一个像这样不居中的“X”所有这些图像都是“X”但每个“X”看起来都略有不同。如果我们使用完美居中的“X”来训练我们的神经网络它可能无法很好地处理其他“X”图像。这是因为网络只识别完美居中的“X”它无法识别不居中或扭曲的“X”。它只知道一种模式这对于现实世界的应用来说并不实用因为图像很少那么简单直接。因此我们需要调整我们的神经网络以处理“X”不完美居中的情况。在构建这个神经网络时我们需要采取更具创造性的方法可能是通过理解所有图像中的基本模式而不仅仅是某一种图像的模式。如果你仔细思考——我们的大脑识别图像的方式与此类似关注图像的特征并将它们组合在一起。鉴于我们遇到的大量信息我们的大脑擅长识别特征并丢弃不必要的信息。因此我们需要解决两个问题减少我们输入到神经网络的数据量并找到一种检测图像中模式的方法。滤波器让我们首先找到所有“X”图像中的一些一致模式。滤波器例如一个可能的模式是然后我们可以通过确认这个模式存在于图像中来确定图像是“X”。这个模式在这里被称为滤波器滤波器捕获了“X”的关键特征。因此即使图像被旋转、缩小或扭曲我们仍然保留了图像的本质。这些滤波器通常是小的方形矩阵最常见的是3x3像素尽管大小可能会有所不同。为了将滤波器应用于图像以进行模式检测我们将3x3滤波器滑动到每个部分上并计算滤波器与它所覆盖部分的点积。所以对于第一部分我们然后将滤波器和矩阵中每个重叠的像素值相乘然后将乘积相加通过计算图像和滤波器之间的点积我们可以说滤波器与图像进行了卷积这也是卷积神经网络名称的由来。我们现在通过滑动这个滤波器来对所有部分执行这个操作这取决于我们设置的步长stride。步长决定了我们希望滤波器移动多少个单元格。因此如果我们的步长 1我们就像这样移动到下一个部分而如果步长 2我们就像这样移动通常步长被设置为2但在我们的例子中我们将其设置为1。当步长 1时如果我们将所有点积存储在一个矩阵中我们得到然后我们在这个输出矩阵上加上一个偏置项这会产生一个称为特征映射feature map的东西。重要的是要注意我们的步长越大特征映射就会越小。在我们的例子中我们使用了步长 1结果得到了一个相对较大的特征映射。当处理实际图像时我们可能需要增加步长。毕竟我们在示例中处理的是一个5x5的输入图像但现实世界中的图像通常要大得多且复杂得多。通常这个特征映射中的每个值都会通过ReLU激活函数这是ReLU的公式这个函数会原样输出大于0的值如果输入小于或等于0则输出0。因此通过将特征映射传递给ReLU函数我们得到以下更新的特征映射在这种情况下除了中间的一个单元格外所有单元格都被设置为0。我知道这有很多步骤但总结一下卷积过程我们从X的输入图像开始然后在上面应用滤波器这也称为用滤波器对图像进行卷积接着在卷积矩阵上添加一个偏置项以创建特征映射最后我们通常将这个特征映射通过ReLU函数以获得更新的特征映射卷积步骤的主要目的是通过减少输入大小从整个图像到特征映射来简化处理。随之产生的一个合理问题是我们是否因为特征映射矩阵中减少的值而丢失了大量信息。确实我们有了更少的值但滤波器被设计用来检测图像的某些整体部分或特征并消除所有不必要的信息。就像我们之前讨论的那样这与人类眼睛辨别物体的方式类似通常忽略不相关的细节。我们不会检查每一个像素而是查看不同的特征。重点是保留这些基本特征。与前面提到的滤波器类似我们可以使用其他滤波器来检测其他特征。例如我们可以使用这个滤波器…它可以检测以下模式因此如果我们使用与上面相同的过程应用多个滤波器我们将从相同的输入图像中获得一系列特征映射。输入图像 - 特征图一个关键的问题是我们如何确定检测特征所需的滤波器这将在训练过程中确定我们稍后会讨论。池化现在我们的特征映射已经准备好了我们可以进入下一步——池化。这一步相当直接。我们只需扫描先前创建的特征映射选择小的2x2区域并从每个区域中选择最大值。以下是我们的第一步最大池化Max Pooling — 步骤 1这些我们选择的2x2区域并不重叠所以下一步会是这样的最大池化Max Pooling — 步骤 2在这一步中你会看到我们没有完整的2x2区域但这没关系因为这些区域不需要是完美的2x2。然后我们移动到下一步最大池化Max Pooling — 步骤 3最后最大池化Max Pooling — 步骤 4我们称这种方法为最大池化因为它从每个区域中选择最大值。另外我们还可以使用平均池化它计算每个区域的平均值。结果会是这样的来自均值池化的 2x2 矩阵注意和池化max pooling类似还有一种叫做求和池化sum pooling的方法顾名思义它是将每个区域的值相加。但是最大池化是最常用的方法。最大池化主要用于进一步减少图像中的噪声。随着图像尺寸的增大其效果变得更加明显因为它识别出滤波器与输入图像最佳匹配的区域。正如在卷积步骤中一样创建池化特征映射会丢弃无关信息。在这个过程中特征映射中原始信息的约75%会丢失因为我们只保留每四个像素集合中的最大值并丢弃其余值。这些都是不必要的细节去掉它们后网络可以更有效地工作。池化步骤的关键点——提取最大值是为了适应扭曲。到目前为止我们所做的一切工作都是为了使用真正的神经网络。我们将使用池化步骤的结果作为神经网络的输入。展平将这些值输入到神经网络中的第一步涉及将特征映射矩阵展平。我们不能直接输入特征映射因此我们将其展平。例如如果我们有四个滤波器它们将产生四个特征映射。反过来这些特征映射将在最大池化步骤中产生四个2x2的矩阵。展平后它们将如下所示最大池化Max Pooling- 展平Flattening神经网络之前我们讨论过的所有特征都存储在这个展平的输出中这使得我们可以使用展平的输出作为神经网络的输入。接下来我们将这些输入插入到一个全连接的神经网络中。注意这被称为全连接神经网络因为在这里我们确保每个输入和每个神经元都与另一个神经元相连。让我们设置神经网络的架构为1个隐藏层包含3个神经元和1个输出神经元现在我们需要选择激活函数ReLU激活函数对于内层来说仍然是一个好选择。然而对于外部神经元由于我们正在尝试解决的问题的性质不同它并不适合。我们的问题是给定一张图片判断它是否是字母X我们试图解决的问题的性质和我们所寻求的答案都有很大的不同这意味着我们需要调整外部神经元的处理。第一个场景是一个回归问题而当前的问题是一个分类问题。我们可以通过计算概率来解决当前的问题。例如给定一张输入图片我们可以确定这张图片代表“X”的可能性有多大。在这里我们希望神经网络输出0到1之间的值其中1表示是“X”的可能性很高0表示它可能不是“X”。为了实现这种类型的输出从我们对激活函数的讨论来看sigmoid函数是一个好选择。sigmoid函数接受一个输入并将其压缩成一个S形曲线输出一个0到1之间的值。这对于预测概率来说非常完美。基于这一点神经网络将如下所示假设这个神经网络已经被训练好了。然后我们知道在训练好的神经网络中每个输入都有与之相关的权重和偏置项。这个网络随后会输出0到1之间的值。因此如果我们把展平的示例输入到这个训练好的神经网络中输出为0.98这表明图片是“X”的概率为98%。再次回顾一下我们到目前为止所做的事情。我们从一张输入图片开始然后对这个图片应用滤波器进行卷积给输出添加偏置项并通过ReLU函数得到特征映射接下来我们对这些特征映射进行最大池化然后我们取这些输出展平它们并通过我们的神经网络我们最终得到0.98的预测值这是一个非常好的结果但现在我们需要一种方法来检查这个0.98的预测值有多好。在这种情况下我们知道原始图片是“X”所以我们可以说——“这个CNN在这里做得很好”但我们需要一些数学术语来告诉我们同样的事情我们需要在这里使用一个成本函数。但是正如我们之前说的由于预测的种类不同我们不能使用MSE。在这种情况下我们将使用一种称为对数损失函数Log Loss function的东西。对数损失成本函数看起来像这样在这里y1 表示图片是“X”y0 表示图片不是“X”而 p_hat 是预测的概率。sigmaσ只是对我们想要评估的所有图像预测的所有值进行求和。因此对于这个例子y1因为我们知道图片是“X”预测的概率 p_hat 0.98n1 因为我们只是想评估一张图片的输出这里我们看到成本函数非常接近0这是好的。成本函数越低效果越好。因此用数学术语来说这表示我们之前所说的——“这个CNN在这里做得很好”训练这篇文章不会详细讨论训练过程有对训练过程感兴趣的可以看看这篇文章。在之前的文章中神经网络通过梯度下降的训练过程学习最优的权重和偏置。这涉及到将训练集通过网络运行进行预测并计算成本。我们不断重复这个过程直到我们得到最优的值。当我们训练卷积神经网络时也会发生相同的过程但有两个变化。首先我们不使用MSE成本函数而是使用对数损失Log Loss。其次除了找到最佳的权重和偏置外我们还在卷积步骤中寻找最佳的滤波器和偏置项。滤波器只是3x3的数字矩阵所以目标是找到所有这些元素的最优值——滤波器、卷积步骤中的偏置项以及神经网络中的权重和偏置项。写在最后LLM Agent 的诞生为我们提供了一个极具想象空间的技术路线它将传统模型的强大语言理解能力与外部工具的实际动手能力相结合创造出无限可能的应用空间。希望这篇文章能够启发你进一步探索和创新用有限的代码创造出更加强大、高效且安全的智能体推动人工智能真正落地到更多场景惠及更多人群。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】