主要内容

。

分析

深层学习ネットワークアーキテクチャの解析

说明

分析を使用して,ネットワークのアーキテクチャを可視化して把握し,アーキテクチャが正しく定義されていることを確認して,学習前に問題を検出します。分析が検出する问题に,层层欠损または未结合,层入力のサイズ误り,层のの力数の,无效なグラフ构造などありあり。

分析(系列网络またはDagnetwork.オブジェクトのを解析します。关节は,ネットワーク アーキテクチャを対話的に可視化し、ネットワーク層についての詳細情報を提供します。層の情報には、層の活性化と学習可能なパラメーターのサイズ、学習可能なパラメーターの総数、および再帰層の状態パラメーターのサイズが含まれます。

ヒント

ネットワークの可视化,解析,および学习を対话的にうに,DeepNetWorkDesigner(网)を使用します。详细については,ディープネットワークデザイナーを参照してください。

分析(层数は,层配列层数を解析し,Trainnetwork.ワークワークフローのエラーエラーとも検出しし

分析(LGRAPH.は,层グラフLGRAPH.を解析し,Trainnetwork.ワークワークフローのエラーエラーとも検出しし

分析(dlnetは,カスタム学习ループワークフローのdlnetwork.オブジェクトを解析します。未接続のの力がネットワークはサポートされててませ

分析(LGRAPH.“TargetUsage”,目标は,指定指定されたたワークフローのLGRAPH.を解析します。この構文は,dlnetwork.ワークフローの层グラフを解析するときににに使ますます。

すべて折りたたむ

事前学习済みgooglenet畳み込みニューラルネットワークを読み込みます。

net = googlenet.
net = DAGNetwork with properties: Layers: [144×1 net.cnn.layer. layer]连接:[170×2 table]

ネットワークを解析します。分析は,ネットワークアーキテクチャの対话型,およびおよびネットワーク层についての情情情れるれるれる表示表示しし

左侧のプロットアーキテクチャをますてで层选択します。选択选択たはします。选択したは,プロットと层ののの强调表示さます。

桌面は,层层プロパティ,层层タイプ,层层活性とと,层の情パラメーターサイズされます。

ネットワークのさらに深い層を選択します。深い層の活性化は,空間次元(最初の2つの次元)が小さくなり,チャネルの次元(最後の次元)が大きくなることに注目してください。畳み込みニューラルネットワークについてこの構造を使用すると,空間分解能を下げながら,抽出されるイメージの特徴の数を徐々に増やすことができます。

层の表の右右上隅ある矢印をクリックし,(学習可能の総数)を选択して,学校可以なパラメーターののをしますます表示します。を并べ替えるにのの并べ替えるには,列の见出しマウスを移て,表示て,学士学位,习でを并べ替えるで,含まれるパラメーター最もと,含まれるパラメーターが并べ替えると。

分析(净)

ショートカット结合を使しシンプルな畳み込みネットワークをししのますを层配列层配列として。layerGraphは,层数ののすべての层层を顺にに结しし

图层= [imageInputLayer([32 32 3],'姓名''输入')卷积2dlayer(5,16,'填充'“相同”'姓名''conv_1')剥离('姓名''relu_1') convolution2dLayer(3, 16岁,'填充'“相同”'走吧'2,'姓名''conv_2')剥离('姓名''relu_2')附加层(2,'姓名''Add1') convolution2dLayer(3, 16岁,'填充'“相同”'走吧'2,'姓名''conv_3')剥离('姓名''relu_3')附加层(3,'姓名''Add2') fullyConnectedLayer (10'姓名'“俱乐部”) classificationLayer ('姓名''输出'));Lgraph = LayerGraph(层);

ショートカット综合を作物成しますカットカット合1のつに,単一,1 x 1畳み込み层Skipconv.が含まれます。

Skipconv = Convolution2dlayer(1,16,'走吧'2,'姓名''skipconv');Lgraph = Addlayers(LAPHAGH,SKIPCONV);Lgraph = ConnectLayers(LAPHAGE,'relu_1'“add1 / in2”);Lgraph = ConnectLayers(LAPHAGE,'Add1''Add2 / In2');

ネットワークアーキテクチャを解析します。分析によってネットワークの4つのエラーががさますます。

分析(LGROPH)

。

  • 输出分享到するするする,分享到するにソフトマックス层层层追加。

  • Skipconv.層が残りのネットワークに結合されていません。これはadd1层とadd2层のショートて必要がありますますますます。add1Skipconv.に结合し,Skipconv.add2に结合します。

  • add2层のの力が3つになるように指定れていが,この层ののは2つしかありません。このこのを修するには,入力の修2を指定します。

  • 加入层へののの力のサイズは同じばなりませんが,add1层にサイズが异なる2つのつの力がます。Conv_2层の'走吧'の値が2であるため,この层では最初の2つの次元(空间次元)においてにおいてわれますわれます。relu2.層からの入力のサイズをrelu1.からのの力のサイズ同じにになるよう変更するにConv_2层の'走吧'の値を1に設定してダウンサンプリングを削除します。

この例の開始時からの層グラフの構築にこれらの変更を適用し,新しい層グラフを作成します。

图层= [imageInputLayer([32 32 3],'姓名''输入')卷积2dlayer(5,16,'填充'“相同”'姓名''conv_1')剥离('姓名''relu_1') convolution2dLayer(3, 16岁,'填充'“相同”'走吧',1,'姓名''conv_2')剥离('姓名''relu_2')附加层(2,'姓名''Add1') convolution2dLayer(3, 16岁,'填充'“相同”'走吧'2,'姓名''conv_3')剥离('姓名''relu_3')附加层(2,'姓名''Add2') fullyConnectedLayer (10'姓名'“俱乐部”)softmaxlayer('姓名''softmax');classificationLayer ('姓名''输出'));Lgraph = LayerGraph(层);Skipconv = Convolution2dlayer(1,16,'走吧'2,'姓名''skipconv');Lgraph = Addlayers(LAPHAGH,SKIPCONV);Lgraph = ConnectLayers(LAPHAGE,'relu_1'“add1 / in2”);Lgraph = ConnectLayers(LAPHAGE,'Add1''skipconv');Lgraph = ConnectLayers(LAPHAGE,'skipconv''Add2 / In2');

新闻アーキテクチャを解析ます。新しいネットワークにはエラーがずず,学校のののが整っています。

分析(LGROPH)

カスタム学习ループますます。

[imageInputLayer([28 28 1],]),'正常化''没有任何''姓名''输入')卷积2dlayer(5,20,'姓名''conv1'batchnormalizationlayer('姓名''bn1')剥离('姓名'“relu1”)卷积2dlayer(3,20,'填充',1,'姓名''conv2'batchnormalizationlayer('姓名''bn2')剥离('姓名''relu2'20岁的)convolution2dLayer (3'填充',1,'姓名''conv3'batchnormalizationlayer('姓名''bn3')剥离('姓名''relu3') fullyConnectedLayer (10'姓名'“俱乐部”)softmaxlayer('姓名''softmax'));Lgraph = LayerGraph(层);

关节分析をを用して层グラフを解析解析,'targetusage'オプションを'dlnetwork'に设定します。

分析(LGraph,'targetusage''dlnetwork'

关报报告によれば,このこの层グラフには何のもありませませの问题もありませませ

入力数

すべて折りたたむ

学習済みネットワーク。系列网络またはDagnetwork.オブジェクトとして指定します。事前学习済みのネットワークネットワークインポートインポートするするする(googlenet.を使用する),またはTrainnetwork.をを使し独独ネットワーク习习习せるによって,学校済みネットワークを取得でき。

ネットワーク層。配列として指定します。

组み込ま组み込まれているいる层ののについて,深层学习层の一道を参照してください。

层グラフ。分层图オブジェクトとして指定します。層グラフを作成するには,layerGraphを使用します。

カスタム学习ループのネットワーク。dlnetwork.オブジェクトとして指定します。

ターゲットワークフロー。次のいずれかとして指定します。

  • 'trainnetwork'——関数Trainnetwork.たとえば,关节,层,层グラフ出出もち,切り离されたます。

  • 'dlnetwork'-dlnetwork.たとえば,关节はにににににししにし解析しししたとえばもたないグラフがチェックししををもたないことがチェックしし

R2018Aで导入