CNN中的滤波器数量是多少?

2023-12-22

我目前看到theano的API,

theano.tensor.nnet.conv2d(input, filters, input_shape=None, filter_shape=None, border_mode='valid', subsample=(1, 1), filter_flip=True, image_shape=None, **kwargs)

哪里的filter_shape是一个元组(num_filter, num_channel, height, width),我对此感到困惑,因为过滤器的数量不是由在图像上滑动过滤器窗口时的步幅决定的吗?我怎样才能像这样指定过滤器编号?如果是通过参数stride(如果有的话)来计算的话,对我来说是合理的。

另外,我也对特征图这个术语感到困惑,它是每一层的神经元吗?批量大小如何?它们是如何相关的?


滤波器的数量就是神经元的数量,因为每个神经元对层的输入执行不同的卷积(更准确地说,神经元的输入权重形成卷积核)。

特征图是应用过滤器的结果(因此,您拥有与过滤器一样多的特征图),其大小是过滤器的窗口/内核大小和步幅的结果。

The following image was the best I could find to explain the concept at high level: enter image description here Note that 2 different convolutional filters are applied to the input image, resulting in 2 different feature maps (the output of the filters). Each pixel of each feature map is an output of the convolutional layer.

例如,如果您有 28x28 输入图像和一个具有 20 个 7x7 滤波器且步幅为 1 的卷积层,那么您将在该层的输出处获得 20 个 22x22 特征图。请注意,这将作为宽度 = 高度 = 22 且深度 = num_channels = 20 的体积呈现给下一层。您可以使用相同的表示在 RGB 图像(例如来自 CIFAR10 数据集的图像)上训练 CNN,这将是32x32x3 体积(卷积仅应用于 2 个空间维度)。

编辑:我想澄清的评论中似乎存在一些混乱。第一的,没有神经元。神经元只是神经网络中的一个比喻。也就是说,“卷积层中有多少个神经元”无法客观回答,而是与您对该层执行的计算的看法相关。在我看来,过滤器是一个神经元扫过图像,提供不同的激活对于每个位置。在我看来,整个特征图是由单个神经元/过滤器在多个位置生成的。评论者似乎有另一种观点,与我的观点一样有效。他们将每个过滤器视为一组用于卷积运算的权重,并将一个神经元视为图像中每个参与位置,所有神经元都共享由过滤器定义的同一组权重。请注意,这两个视图都是功能上(甚至根本上)相同,因为它们使用相同的参数、计算并产生相同的结果。因此,这不是问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CNN中的滤波器数量是多少? 的相关文章

  • Encog:BasicNetwork:无需预先构建数据集的在线学习

    我正在尝试使用 encog 库作为强化学习问题的函数逼近器 更准确地说 我正在尝试启动并运行多层感知器 BasicNetwork 由于我的代理将根据我选择的任何 RL 算法以某种方式探索世界 因此我无法预先构建任何 BasicNeuralD
  • 从 Azure ML 工作室下载经过训练的 ML 模型以部署在独立计算机上

    我已在 Azure ML 中设置了 ML 模型studio我可以使用 ML Studio 的 Web API 来获取预测 将模型托管在 Azure ML Studio 中的关键挑战是客户端计算机的互联网依赖性以及与每个预测相关的延迟 我想了
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 无法从 DenseVariational 获得合理的结果

    我正在尝试使用以下大小的数据集 正弦曲线 进行回归问题500 首先 我尝试使用 2 个密集层 每个层有 10 个单元 model tf keras Sequential tf keras layers Dense 10 activation
  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • 在逻辑回归中使用排名数据

    当我努力学习这些概念时 我将对此给予最大赏金 我正在尝试在逻辑回归中使用一些排名数据 我想使用机器学习来制作一个简单的分类器来判断网页是否 好 这只是一个学习练习 所以我不期望有很好的结果 只是希望学习 过程 和编码技术 我已将数据放入 c
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization
  • 了解最大池层之后的全连接层的尺寸[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在下图 架构 中 4096 个单元的 全连接 密集层是如何从最后一个最大池层 右侧 维度导出的256x13x13 而不是 4096 不应该
  • 如何使用 Keras 中的 Conv2D 在 5D 张量的最后三个维度上应用卷积?

    通常的输入张量Conv2DKeras 中是一个 4D 张量 其维度为batch size n n channel size 现在我有一个 5D 张量 其尺寸为batch size N n n channel size我想对中的每个 i 应用
  • 什么是 ANN 中的纪元以及它如何转换为 MATLAB 中的代码?

    我试图理解 并可视化 训练人工神经网络的时代到底是什么 我们有一个包含约 7000 个产品的训练集 其中有 10 个特征 输入 这些产品必须根据这 10 个输入分为 7 个类别 我们的 ANN 有 10 个输入 这些输入进入由 10 个神经
  • 如何解决错误:PyTorch 中预期输入批量大小与目标批量大小不匹配?

    我尝试通过 PyTorch 在 CIFAR10 数据集上创建逻辑模型 但是我收到错误 ValueError 预期输入batch size 900 与目标batch size 300 匹配 我认为正在发生的事情是 3 100 是 300 所以
  • 地图应用的聚类算法

    我正在研究地图上的聚类点 纬度 经度 对于快速且可扩展的合适算法有什么建议吗 更具体地说 我有一系列纬度 经度坐标和一个地图视口 我正在尝试将靠近的点聚集在一起以消除混乱 我已经有了解决问题的方法 see here http bouldr
  • 使用 Keras 时,验证集中未见的类别会出现错误

    我有由数值变量和分类变量组成的数据 分类变量有很多类别 因此我使用嵌入来表示这些类别 我的模型是一个简单的神经网络 我知道当你定义嵌入层时你需要通过input dim number of categories 1为了解释训练中看不见的类别
  • 神经网络的层和神经元

    我想更多地了解神经网络 我正在开发一个 C 程序来制作神经网络 但我坚持使用反向传播算法 很抱歉没有提供一些工作代码 我知道有很多库可以用多种语言创建神经网络 但我更喜欢自己制作一个 关键是我不知道要实现特定目标 例如模式识别或函数近似或其
  • 预处理 csv 文件以与 tflearn 一起使用

    我的问题是关于在将 csv 文件输入神经网络之前对其进行预处理 我想使用 python 3 中的 tflearn 为著名的 iris 数据集构建一个深度神经网络 数据集 http archive ics uci edu ml machine
  • PyTorch 中的后向函数

    我对 pytorch 的后向功能有一些疑问 我认为我没有得到正确的输出 import numpy as np import torch from torch autograd import Variable a Variable torch
  • 在具有不平衡数据的管道中进行交叉验证的正确方法

    对于给定的不平衡数据 我创建了一种不同的标准化管道和一种热编码 numeric transformer Pipeline steps scaler StandardScaler categorical transformer Pipelin
  • 图书馆神经实验室培训纽夫

    我对 python 和 Neurolab 的使用还很陌生 我在前馈神经网络的训练方面遇到了问题 我已经构建了如下网络 net nl net newff 1 1 64 60 1 net init testerr net train Input
  • Keras CNN 回归模型损失低,准确度为 0

    我在 keras 中遇到这个 NN 回归模型的问题 我正在研究一个汽车数据集 以根据 13 个维度预测价格 简而言之 我已将其读取为 pandas 数据帧 将数值转换为浮点数 缩放值 然后对分类值使用 one hot 编码 这创建了很多新列
  • 与 XGBoost gridsearch rating='roc_auc' 和 roc_auc_score 不同的 roc_auc 吗?

    我使用 GridSearch 来解决分类问题 A parameter grid for XGBoost params min child weight 1 5 10 gamma 0 5 1 1 5 2 5 subsample 0 6 0 8

随机推荐