主要内容

最新のリリースでは,このページがまだ翻訳されていません。このページの最新版は英語でご覧になれます。

イメージ分类用词の自己号化器の学学

この自由展牌,积层自己己て,数目のせて,数码のイメージてて。

各层,イメージは,异なる解く解くでを,复抽象できでただし,复抽象できでただし,复抽象できでネットワーク,复抽象できでネットワーク,复习できあるネットワーク,习习できでただし,复习できでただし,复习できますただし,复习できますただし,复数のます。の学习は,実际には难しい难しい场ます。

复ネットワーク学习あるニューラルネットワーク习习のなな,一个,一个,一个,一个,一个,一个,一个,一个人,所以习行うこと。として知られている特殊なネットワークの学习を行。

この例では2つの隠れ層があるニューラルネットワークの学習を行い,イメージ内の数字を分類する方法を説明します。最初に,自己符号化器を使用して教師なしの方法で個々の隠れ層の学習を行います。次に,最後のソフトマックス層の学習を行い,層を結合して積層ネットワークを形成し,教師ありの方法でもう一度このネットワークの学習を行います。

データセット

この例では,学校ととの全体をとおして合成データ使し。合成イメージ,さまざまなフォントを使使てなれををイメージランダムなアフィンを适适て​​生成さたたものて。

それぞれの数码イメージは28 x 28ピクセルで,5,000个の学习例があります。学习データを読み込み,一般のイメージを表示でき。

%将训练数据加载到内存中[XtrainImages,TTrain] = DigitTrainCellarrayData;%显示一些训练图像CLF.对于i = 1:20 subplot(4,5,i);imshow (xTrainImages{我});结束

イメージのラベルは,行5000列の行列に格納されます。この行列は,すべての列で数字が属するクラスを示す1つの要素が1になり,列内の他のすべての要素は0になります。十番目の要素が1の場合,数字イメージは0であることに注意してください。

最初の自己符号化器の学習

はじめに,ラベルを使用しない学習データでスパース自己符号化器の学習を行います。

自己符号化器とは,出力で入力を复制ようようとするネットワークですしたがって入のサイズははサイズと同じになります。化因子ははのを习习します。

ニューラルニューラルには,学校前前にランダムにされた重み设定されますがれれます毎回异ます。。

rng (“默认”

自己符号化器の隠れ層のサイズを設定します。学習を行う自己符号化器に対して,入力サイズより小さいサイズを設定することをお勧めします。

hiddensize1 = 100;

学习を行う自己号化器のは,スパース自己符号化器です。この自己展牌化器は,正文化项を使して最初层のスパース表现します。さまざまさまざましますするするで,これらの正式化项影响影响を制御ます。

  • L2WeightRegularizationは,ネットワークの重み(バイアスバイアス除く)に対するl2正则化项のを制御します影响を制御制御し。

  • 略乳石化は,隠れ層からの出力のスパース性に制約を課そうとする,スパース正則化項の影響を制御します。これは,重みに対するスパース正則化項の適用とは異なるので注意してください。

  • 啪量为はスパース正式化。これは,隠れ层からの出のスパースををします。啪量为に低い値を指定すると,通常,隠れ層の各ニューロンは,少数の学習例の出力を大きくした場合に限り”特殊化”します。たとえば,啪量为を0.1に设定するの,隠れ层の各ニューロンの习例に対する平等均ががこの値0〜1でなけれなりません。理想想は问题の性质ません。によって异なります。

ここで,上记の正则化项に値を指定して,自己符号化器の学习を行います。

autoenc1 = trainautoencoder(xtrainimages,hiddensize1,......'maxepochs',400,......'l2weightregularization',0.004,......'sparsityRegularization'4......“SparsityProportion”,0.15,......'scaledata',假);

自由展示化器の図を表示ます。自己码化器は,钢材化器材は,符后に続く复复てますで化さ続くれいます。このマッピングを逆にして元の入力を再构成しようとします。

视图(autoenc1)

最初の自己号化器ののの可催化

自己符号化器材の号化器分公司でされたは,データデータの特徴の抽出に役立ち役立ち役立ち役立ち役立ち役立ち役立ち役立ちますの各各ニューロンには付けられられた重みのベクトルがありありありられられたベクトル重みがありありあり重み重みのベクトルベクトルはありありあり重みののベクトルベクトルベクトルありありありののベクトルベクトルベクトルベクトルベクトル。

图()plotWeights (autoenc1);

自己符号化器によって学習された特徴が,数字イメージに含まれる曲線や直線のパターンを表すことを確認できます。

自己展牌化器ののの100次元のの力量は,入これはしたです。これこれは,上记の可化さた徴に対する応答まとめられてますいます。学习データデータから抽出ささたこれらデータから抽出ささののので,次の自己符符,学院习を行ます。まず,学院済みの自由尺号化器の码化器材しのて,特徴生成しばばません。

feat1 =对编码(autoenc1,xtrainimages);

2番目の自己符号化器の学習

最初の自己号化器の学习を行た后,同様に2番目の自己符主な违いはをいい化化な违いはいい化化な违い,2番目の自由尺寸化器では,最初の自由展牌化器によって生成された特价を习データとしてとして使ですですです。また,隠れ表现のを50ににてをを50に减らして,2番目の自己符によってによってによってによってによってさらに小さい表现の习が行われるににしし。

hiddensize2 = 50;autoenc2 = trainautoencoder(feat1,hiddensize2,......'maxepochs',100,......'l2weightregularization',0.002,......'sparsityRegularization'4......“SparsityProportion”,0.1,......'scaledata',假);

この場合にも,関数视图をを使使て自己己符符図図をできます。

视图(autoenc2)

前のセットを2番目の自由尺号化器の码化器に渡すことによって,特徴の2番目のセットをできます。

feat2 =对编码(autoenc2,feat1);

学习データの元のははは784次元でした。これらを1番目の符符いにた后は,100次元に减少してい.2番目の符减少しい。减少减少ています。これで,50次元のベクトルを异なるクラスににするよう,最后の层の习を行。

最後のソフトマックス層の学習

50次元の特徴ベクトルを分類するように,ソフトマックス層の学習を行います。自己号码化器とは異なり、学習データのラベルを使用して教師ありの方法でソフトマックス層の学習を行います。

softnet = trainSoftmaxLayer (feat2 tTrain,'maxepochs',400);

关节视图をを使してソフトマックスの図図表示できできます。

视图(softnet)

积层ニューラルネットワークの形成

3つの異なる積層ニューラルネットワークのコンポーネントを個別に学習させました。この時点で,学習した3つのニューラルネットワークを表示すると有益です。それは,autoenc1.autoenc2.,およびsoftnetです。

视图(autoenc1)视图(autoenc2)视图(softnet)

前述のように,特点の抽出には自己码化器のののののののてい。

stackednet = stact(autoenc1,autoenc2,softnet);

关节视图ネットワークは,自由の図表示ます。

查看(StackedNet)

ネットワーク全に対する结果をますますに,テストイメージなけれはなりん変更しうはません変更しにはんん変更うはませ。列をスタックしてベクトルを形成した后に,これらのベクトルから行列を形成します。

%获取每个图像中的像素数ImageWidth = 28;imageHeight = 28;InputSize = ImageWidth * ImageHeight;%加载测试图像(xTestImages, tt) = digitTestCellArrayData;%将测试图像转换为向量,并将其放入一个矩阵中xtest = zeros(inputsize,numel(xtestimages));对于i = 1:numel(xTestImages) xTest(:,i) = xTestImages{i}(:);结束

混同行列を使使结果可化でき。行程の右ののの形数码は,血型の精密を示し。

y = stackednet (xTest);plotconfusion (tt, y);

積層ニューラルネットワークの微調整

多層ネットワーク全体に対して逆伝播を実行することによって,積層ニューラルネットワークの結果を改善できます。このプロセスは,多くの場合,微調整と呼ばれます。

教师ありの方法で习习について再习を行うことで,ネットワークを行前ます,これを行前に,テストイメージののと同様,学校习の形状と列にししなけれなりなりませ変更。

%将训练图像转换为向量并将它们放在矩阵中xtrain = zeros(输入,numel(xtrainimages));对于i = 1:numel(xtrainimages)xtrain(:,i)= xtrainimages {i}(:);结束%执行微调StackedNet =火车(StackedNet,Xtrain,TTrain);

この场合にも,混同行列を使用して结果を表示できます。

y = stackednet (xTest);plotconfusion (tt, y);

まとめ

この例では,自然展牌化器材しして,イメージイメージの数码ををようにニューラルニューラルの习をうニューラルのを明ししまし说说说しましまし说说说说まし手顺は说说ましまし手顺は说字手顺手顺はは说字た手顺ははで字手顺手顺はででイメージ手顺手顺ででで様様様でさなさなさなさなさなさなさなさなさなで様さなさなさなさなさなさなカテゴリのオブジェクトイメージといったものの分类など,その他の类似の问题に适用できます。