目次
1. アルゴリズム操作レンダリングのプレビュー
2.アルゴリズム実行ソフトウェアバージョン
MATLAB2022a
3. いくつかのコアプログラム
.......................................................................
%定义网络层
layers = [
input_layers
Cnn_layers
ouput_layers
]
layers(2).Weights = 0.0001 * randn([filterSize numChannels numFilters]);
% 设置网络训练选项
opts = trainingOptions('sgdm', ...
'Momentum', 0.9, ...
'InitialLearnRate', 0.001, ...
'LearnRateSchedule', 'piecewise', ...
'LearnRateDropFactor', 0.1, ...
'LearnRateDropPeriod', 8, ...
'L2Regularization', 0.004, ...
'MaxEpochs', 40, ...
'MiniBatchSize', 128, ...
'Verbose', true);
% 训练CIFAR-10分类网络
cifar10Net = trainNetwork(P_train, T_train, layers, opts);
% 提取第一个卷积层的权重
w = cifar10Net.Layers(2).Weights;
% 将权重重新缩放到[0, 1]的范围以便更好地可视化
w = rescale(w);
figure
montage(w)
% 在测试集上运行网络
YTest = classify(cifar10Net, P_test);
% 计算准确率
accuracy = sum(YTest == T_test)/numel(T_test)
figure;
for i = 1:49
subplot(7,7,i)
imshow(P_test(:,:,:,i));
title([YTest(i)]);
end
figure;
for i = 1:49
subplot(7,7,i)
imshow(P_test(:,:,:,i+49));
title([YTest(i+49)]);
end
52
4. アルゴリズム理論の概要
CNN は画像処理に特化したニューラル ネットワーク アーキテクチャであり、その核となるのは畳み込み層、プーリング層、全結合層です。CNN は、畳み込み演算とプーリング演算を使用して画像内の特徴を自動的に学習し、完全接続層を通じてこれらの特徴をさまざまなカテゴリのラベルにマッピングして、画像の分類とターゲット認識を実現します。
CNN の核となるアイデアは、ローカル受容野の重み共有です。つまり、同じ畳み込みカーネルが画像の異なる位置で畳み込み演算を実行することで、ネットワーク パラメータの数が効果的に削減され、トレーニング プロセスが高速化されます。畳み込み層はスライディング ウィンドウを通じて画像の特徴抽出を実行し、次にプーリング層は抽出された特徴をダウンサンプリングしてデータ次元をさらに削減します。
CNN では、各畳み込み層のフィルター (畳み込みカーネル) は、エッジ、テクスチャなどのさまざまな特徴をキャプチャできます。ネットワークが深くなるにつれて、畳み込み層はより抽象的な特徴を学習できるようになり、それによって画像のさまざまなレベルの意味理解が達成されます。
畳み込み層は CNN の中核部分であり、畳み込み演算を通じて画像から特徴を抽出します。畳み込み演算は次の数式で表すことができます。
プーリング層は、特徴マップのサイズを削減し、計算の複雑さを軽減するために使用されます。最大プーリングは一般的に使用されるプーリング操作であり、その数式は次のとおりです。
CIFAR-10 データベース: CIFAR-10 は、一般的に使用される画像分類データベースであり、10 のカテゴリに 60,000 枚の 32x32 カラー画像が含まれており、各カテゴリに 6,000 枚の画像が含まれています。カテゴリは、飛行機、車、鳥、猫、鹿、犬、カエル、馬、ボート、トラックです。
CIFAR-10データベースの特徴:
- データセットは適度なサイズで、アルゴリズムの検証と研究に適しています。
- 画像サイズは 32x32 ピクセルと小さいため、ネットワーク トレーニングの高速化に役立ちます。
- 複数のカテゴリが含まれており、複数カテゴリの画像分類タスクに適しています。
CIFAR-10 データベースへの CNN の適用: CIFAR-10 データベースでは、CNN がターゲット認識タスクに広く使用されています。研究者は、さまざまな CNN アーキテクチャ、ハイパーパラメータ、トレーニング手法を使用して、高性能の画像分類モデルを実現しています。CIFAR-10 データセットでトレーニングすることにより、CNN はさまざまな特徴を自動的に学習し、正確な画像分類を実現できます。
5. アルゴリズム完全プログラムエンジニアリング
おおおお
ああ
○