3、利用预训练CNN进行特征提取及HDF5存储

利用预训练CNN进行特征提取及HDF5存储

1. 预训练CNN作为特征提取器

通常,我们将卷积神经网络(CNN)视为端到端的图像分类器,其流程如下:
1. 向网络输入一张图像。
2. 图像在网络中进行前向传播。
3. 从网络末端获取最终的分类概率。

但实际上,我们并非一定要让图像在整个网络中完成前向传播。我们可以在任意层(如激活层或池化层)停止传播,提取该层的数值,并将其用作特征向量。

以Simonyan和Zisserman提出的VGG16网络架构为例,原始的VGG16网络会输出1000个ImageNet类标签的概率。当将网络作为特征提取器时,我们通常会在全连接层之前截断网络(具体位置取决于数据集)。

此时,网络的最后一层是最大池化层,输出形状为 7×7×512,意味着有512个大小为 7×7 的滤波器。如果将一张图像通过去除了全连接层的VGG16网络进行前向传播,会得到512个 7×7 的激活值,这些值会根据图像内容被激活或不激活。我们可以将这 7×7×512 = 25,088 个值作为一个特征向量,用于量化图像的内容。

对整个图像数据集(包括VGG16未训练过的数据集)重复此过程,会得到一个包含N张图像的设计矩阵,每张图像有25,088列用于量化其内容(即特征向量)。基于这些特征向量,我们可以在其基础上训练现成的机器学习模型,如线性支持向量机(Linear SVM)、逻辑回归分类器或随机森林,以获得能够识别新图像类别的分类器。

需要注意的是,CNN本身无法识别这些新类别,我们只是将其作为中间的特征提取器,下游的机器学习分类器将负责学习从CNN提取的特征的潜在模式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值