卷积神经网络在计算机视觉应用中取得了成功。各种网络架构被提出,它们既不神奇也不难理解。
在323导航网的本文章中,您将了解卷积层的操作及其在更大的卷积神经网络中的作用。
完成本教程后,您将学到:
- 卷积层如何从图像中提取特征
- 不同的卷积层如何堆叠起来构建神经网络

了解卷积神经网络的设计
概述
本文分为三个部分;他们是:
- 网络示例
- 显示特征图
- 卷积层的影响
网络示例
以下是在CIFAR-10数据集上进行图像分类的程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, Dropout, MaxPooling2D, Flatten, Dense
from tensorflow.keras.constraints import MaxNorm
from tensorflow.keras.datasets.cifar10 import load_data
(X_train, y_train), (X_test, y_test) = load_data()
# rescale image
X_train_scaled = X_train / 255.0
X_test_scaled = X_test / 255.0
model = Sequential([
Conv2D(32, (3,3), input_shape=(32, 32, 3), padding=“same”, activation=“relu”, kernel_constraint=MaxNorm(3)),
Dropout(0.3),
Conv2D(32, (3,3), padding=“same”, activation=“relu”, kernel_constraint=MaxNorm(3)),
MaxPooling2D(),
Flatten(),
Dense(512, activation=“relu”, kernel_constraint=MaxNorm(3)),
Dropout(0.5),
Dense(10, activation=“sigmoid”)
])
model.compile(optimizer=“adam”,
loss=“sparse_categorical_crossentropy”,
metrics=“sparse_categorical_accuracy”)
model.fit(X_train_scaled, y_train, validation_data=(X_test_scaled, y_test), epochs=25, batch_size=32
|
该网络应该能够实现 70% 左右的分类准确率。图像为 32×32 像素,RGB 颜色。它们分为 10 个不同的类,标签是从 0 到 9 的整数。
您可以使用 Keras 的函数打印网络summary()
:
1
2
|
...
model.summary()
|
在此网络中,屏幕上将显示以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
Model: “sequential”
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 32, 32, 32) 896
dropout (Dropout) (None, 32, 32, 32) 0
conv2d_1 (Conv2D) (None, 32, 32, 32) 9248
max_pooling2d (MaxPooling2D (None, 16, 16, 32) 0
)
flatten (Flatten) (None, 8192) 0
dense (Dense) (None, 512) 4194816
dropout_1 (Dropout) (None, 512) 0
dense_1 (Dense) (None, 10) 5130
=================================================================
Total params: 4,210,090
Trainable params: 4,210,090
Non-trainable params: 0
_________________________________________________________________
|
在图像分类网络中,早期阶段通常由卷积层组成,其中 dropout 层和池化层交错。然后,在稍后阶段,卷积层的输出被一些全连接层展平并处理。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...