Chào mọi người,
Mình đang tìm hiểu về mạng CNNs, khi xem các bài huấn luyện trên tập MNIST với kích thước ảnh 28x28. Với kiến trúc 5 tầng: input >Conv1-Maxpool1>Conv2-Maxpool2>Fully Connected>Output
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]
Mình muốn hỏi là:
- Như tại conv1, 1 input, tính toán ra được 32 feature đầu ra. Rồi từ conv2, với 32 input từ conv1 tính ra 64 feature đầu ra. Và Maxpool với filter 2x2. Những tham số 32,64, filter 2x2 hay số output 1024 tại Fully Connected được tính ra dựa trên cái gì không ( có phụ thuộc vào kích thước ảnh không)?
- Số tầng của kiến trúc CNNs có thay đổi theo từng bài toán, tập dữ liệu hay không? Vì với kích thưóc ảnh 28x28, max pool 2 lần (filter 2x2) thì kích thưóc còn 7x7. Nhưng với những tập ảnh có kích thưóc lớp hơn thì max pool 2 lần (filter 2x2), kích thươc ảnh vẫn rất lớn
Cảm ơn mọi người rất nhiều.