首页 文章

改变卷积神经网络中的参数

提问于
浏览
0

我正在为CNN做准备 . 我读了一些关于训练MNIST数据集的论文使用CNN . 图像的尺寸为28x28并使用架构5层:输入> conv1-maxpool1> conv2-maxpool2>完全连接>输出

Convolutional Layer #1
- Computes 32 features using a 5x5 filter with ReLU activation.
- Padding is added to preserve width and height.
- Input Tensor Shape: [batch_size, 28, 28, 1]
- Output Tensor Shape: [batch_size, 28, 28, 32] 
Pooling Layer #1
- First max pooling layer with a 2x2 filter and stride of 2
- Input Tensor Shape: [batch_size, 28, 28, 32]
- Output Tensor Shape: [batch_size, 14, 14, 32] 
Convolutional Layer #2
- Computes 64 features using a 5x5 filter.
- Padding is added to preserve width and height.
- Input Tensor Shape: [batch_size, 14, 14, 32]
- Output Tensor Shape: [batch_size, 14, 14, 64] 
Pooling Layer #2
- Second max pooling layer with a 2x2 filter and stride of 2
- Input Tensor Shape: [batch_size, 14, 14, 64]
- Output Tensor Shape: [batch_size, 7, 7, 64] 
Flatten tensor into a batch of vectors
- Input Tensor Shape: [batch_size, 7, 7, 64]
- Output Tensor Shape: [batch_size, 7 * 7 * 64] 
Fully Connected Layer
- Densely connected layer with 1024 neurons
- Input Tensor Shape: [batch_size, 7 * 7 * 64]
- Output Tensor Shape: [batch_size, 1024] Output layer
- Input Tensor Shape: [batch_size, 1024]
- Output Tensor Shape: [batch_size, 10]

在conv1中,1输入使用5x5滤波器计算32个特征,在conv2中使用来自conv1的32个输入计算使用相同滤波器的64个特征 . 什么是基于?选择的32,64,2x2滤波器等参数?它们是基于图像的大小吗?

如果图像大小大于28x28,例如128x128 . 我应该增加5层的层数吗?以上参数如何随其他尺寸的图像而改变?

谢谢提前

1 回答

  • 1

    在它的基础级别,这些输入称为HyperParameters,通常不由任何特定的规则集定义 . 也就是说,我们经常使用经验法则(启发式)来选择一组超参数,然后使用超参数优化来提高性能或效率等 .

    对此的一个很好的解释是Here

    Edit: 本文中的更多信息 - 这是一个被广泛研究的问题,请查看Arxiv和Stats.Stackexchange以获取更多信息,但这是我在学习时使用的一篇很棒的论文Here

相关问题