卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一 。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)” 。
对卷积神经网络的研究始于二十世纪80至90年代,时间延迟网络和LeNet-5是最早出现的卷积神经网络 [4] ;在二十一世纪后,随着深度学习理论的提出和数值计算设备的改进,卷积神经网络得到了快速发展,并被应用于计算机视觉、自然语言处理等领域 。
卷积神经网络仿造生物的视知觉(visual perception)机制构建,可以进行监督学习和非监督学习,其隐含层内的卷积核参数共享和层间连接的稀疏性使得卷积神经网络能够以较小的计算量对格点化(grid-like topology)特征,例如像素和音频进行学习、有稳定的效果且对数据没有额外的特征工程(feature engineering)要求 。
% 遍历样本文件
file_list = GetAllFiles(db_foldername);
% 初始化
X = [];
Y = [];
r = 0;
for k = 1 : length(file_list)
% 获取输入、输出
filename = file_list{k};
[~, name, ~] = fileparts(filename);
im = sreader(filename);
% alexnet识别
[class_info, class_score] = classify(alex_train, im);
if isequal(name(1), char(class_info))
r = r + 1;
end
end
acc = r/length(file_list)*100;
fprintf(’\n准确率为%.2f%%\n’, acc);
相关文章: