在CNN中,之前的激活图是如何影响到下一个激活图的

假设我有一个CNN,包含2,用于处理一张25×25RGB像素图片,第一层滤波器大小为50,卷积核大小5×5步长1×1填充0x0。而第二层的参数与第一层相同,只是滤波器大小100。我知道第一层通过后的激活图尺寸为21x21x3(其中的×3是因为RGB),这意味着我通过在输入图片上应用50个不同的滤波器,创建了50个尺寸为21x21x3激活图

我的问题是,对于第二层通过,由于我的滤波器大小100,这是否意味着第一层50激活图会通过第二层100滤波器,每个作为感受野,这样在第二层通过时,我总共有100×50激活图,还是说这50激活图会在传递之前融合成一个单一的单位,使得第二层仍然只产生100激活图


回答:

你这里有一个小误解。卷积操作并不是保持输入图像的维度(在你的例子中是3,因为是RGB),而是跨越所有这些维度进行卷积。这意味着对于特定图像区域x大小为5x5x3的卷积操作C的输出将只是一个单一的值,而不是大小为1x3的向量。

激活图(我喜欢称之为特征图)仅仅意味着你有多少不同的卷积滤波器,因此你会得到同样多的“输出维度”堆叠。在你的例子中,输出不会是21x21x3,而是21x21x50
对于下一层,你将同样使用(假设你使用相同的卷积核大小)5x5x50作为输入,再次产生一个单一的值。这次,你有100个输出堆栈,因此结果大小将是17x17x100

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注