卷积神经网络:原理、优化与实践
1. 卷积神经网络简介
卷积神经网络(Convolutional Neural Networks,CNNs)是一种特定类型的前馈神经网络,网络中包含一个或多个卷积层,卷积层可与全连接层配合使用。若网络仅包含卷积层,则被称为全卷积网络(Fully Convolutional Network,FCN)。在深度学习中,卷积网络与计算机视觉紧密相连,但 CNNs 也可应用于其他领域,如各种自然语言处理(NLP)问题。
2. 过滤器与参数共享入门
卷积层是卷积网络中最重要的部分。在卷积层中,有一些块会在输入数据上进行卷积操作(类似于滑动窗口)。这种技术为每个块共享参数,从而能够在整个输入数据中检测该块内的特征。块的大小称为核大小或过滤器大小。简单来说,卷积层从总特征集中提取局部特征。
输入数据可能包含多个不同的特征,因此可以多次应用这种卷积操作,这被称为过滤器数量或过滤器深度。例如,在图像数据上使用具有五个过滤器的卷积层时,卷积块会尝试学习图像中的五种不同特征,如面部的鼻子、眼睛、嘴巴、耳朵和眉毛等特征。虽然这些特征并未明确指定,但网络会自行尝试学习有价值的特征。
对于卷积神经网络,建议逐渐增加过滤器的数量,例如在每个卷积层将过滤器数量加倍,如 32、64 和 128。
以下是实现一个卷积神经网络对 MNIST 图像进行分类的步骤:
1. 导入必要的库 :
import numpy as np
from matplotlib import pyplot as plt
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



