メインコンテンツ

レガシ ニューラル ネットワーク コードの dlnetwork ワークフローへの移行

R2026b

レガシ ニューラル ネットワーク機能 (network オブジェクトに関係する機能など) は、将来のリリースで削除される予定です。代わりに dlnetwork オブジェクトと関連機能を使用してください。

レガシ ニューラル ネットワーク オブジェクトは旧式であり、現代のワークフローには適していません。削除される予定の機能には、R2006a より前に導入されたものも含まれています (network オブジェクトや train 関数など)。代わりに、dlnetwork オブジェクト (R2019b で導入) や、trainnet 関数 (R2023b で導入) などの関連機能の使用をお勧めします。それらを利用することで、以下の利点が得られます。

  • dlnetwork オブジェクトは、trainnet 関数を使用して学習させたり、外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。

  • dlnetwork オブジェクトは、より高い柔軟性を提供し、より幅広い種類の Deep Learning Toolbox™ 機能をサポートしています。

  • dlnetwork オブジェクトは、ネットワークの構築、予測、組み込み学習、圧縮、Simulink®、コード生成、検証、およびカスタム学習ループをサポートする統合されたデータ型を提供します。

ヒント

trainNetwork、SeriesNetwork、DAGNetwork のコードを dlnetwork ワークフローへ移行する方法については、Transition trainNetwork, SeriesNetwork, and DAGNetwork Code to dlnetwork Workflowsを参照してください。

表形式データのワークフローの場合、fitrnet (Statistics and Machine Learning Toolbox) 関数と fitcnet (Statistics and Machine Learning Toolbox) 関数を使用してニューラル ネットワークに学習させ、それらを dlnetwork オブジェクトに変換することができます。

mdl = fitrnet(X,T);
net = dlnetwork(mdl);

それ以外のタイプのデータの場合、または高い柔軟性が必要な場合は、trainingOptions 関数と trainnet 関数を使用してニューラル ネットワークに学習させることができます。

options = trainingOptions("adam");
net = trainnet(X,T,layers,"mse",options);

または、時系列モデラー、ディープ ネットワーク デザイナー、回帰学習器 (Statistics and Machine Learning Toolbox)、分類学習器 (Statistics and Machine Learning Toolbox)などのアプリでワークフローを対話的に再作成し、モデルをエクスポートすることもできます。

Time Series Modeler Data tab showing a summary of imported data, a plot of time series lengths, and a preview of the selected observation.

深層学習のワークフローでは、以下のアプリを使用できます。

コードを更新するには、通常、例やリファレンス ページからコードを取得し、自分のタスクに合わせて改変するのが最善の方法です。まずは以下の例を参考にしてみてください。

次の表は、コードの更新に関する推奨事項を示しています。より詳細な情報については、該当機能のリファレンス ページを参照してください。

メモ

これらの例で使用されている学習オプション、モデル アーキテクチャ、およびアルゴリズムは、ほとんどのタスクで使用 (または改変して使用) するのに適しています。柔軟性を高める場合や、アルゴリズムを完全に再現する場合は、カスタム学習ループを実装します。カスタム学習ループの詳細については、Custom Training Loopsを参照してください。

カテゴリ削除される予定の関数またはオブジェクト推奨
アプリnnstart

深層学習ワークフローには、代わりに次のアプリとライブ エディター タスクが推奨されます。

ニューラル ネット時系列、ntstool

時系列モデラー アプリ

ニューラル ネット パターン認識、nprtool

分類学習器 (Statistics and Machine Learning Toolbox)アプリ

ニューラル ネット フィッティング、nftool

回帰学習器 (Statistics and Machine Learning Toolbox)アプリ

ニューラル ネット クラスタリング、nctool

データのクラスタリング (Statistics and Machine Learning Toolbox) ライブ エディター タスク

時系列データ ワークフロー

adapt, adaptwb, adddelay, closeloop, con2seq, distdelaynet, elmannet, extendts, getsignals, gettimesteps, narnet, narxnet, nncorr, noloop, openloop, preparets, removedelay, setsignals, settimesteps, tapdelay, timedelaynet

時系列データのワークフローの詳細については、以下の例とトピックを参照してください。

ネットワークの構築

cascadeforwardnet, competlayer, configure, feedforwardnet, fitnet, gridtop, hextop, isconfigured, linearlayer, lvqnet, maxlinlr, network, newgrnn, newlind, newpnn, newrb, newrbe, patternnet, perceptron, regression, unconfigure, tritop

これらのワークフロー用に独自のニューラル ネットワークを設計およびカスタマイズするには、深層学習層の配列または dlnetwork オブジェクトを使用してネットワークを作成します。ニューラル ネットワークの作成と編集を対話形式で行い、コードを生成するには、ディープ ネットワーク デザイナー アプリを使用します。ニューラル ネットワーク構築のワークフローの詳細については、以下の例とトピックを参照してください。

学習と予測

train, sim

ニューラル ネットワークの学習と予測の詳細については、以下の例とトピックを参照してください。

可視化

errsurf, plotconfusion, plotep, ploterrcorr, ploterrhist, plotes, plotfit, plotinerrcorr, plotpc, plotperform, plotpv, plotregression, plotresponse, plotroc, plottrainstate, plotvec, plotwb, view

可視化のワークフローの詳細については、以下の例とトピックを参照してください。

データの処理

catelements, catsamples, catsignals, cattimesteps, cellmat, combvec, getelements, divideblock, divideind, divideint, dividerand, dividetrain, fixunknowns, fromnndata, getsamples, gpu2nndata, ind2vec, lvqoutputs, mapminmax, mapstd, nncell2mat, nndata, nndata2gpu, nnsize, numelements, numfinite, numnan, numsamples, numsignals, numtimesteps, processpca, quant, removeconstantrows, removerows, seq2con, setelements, setsamples, tonndata, vec2ind

ニューラル ネットワークのデータ処理の詳細については、以下の例とトピックを参照してください。

伝達関数と活性化関数compet, elliotsig, elliot2sig, hardlim, hardlims, logsig, netinv, netprod, netsum, poslin, purelin, radbas, radbasn, satlin, satlins, softmax, tansig

ニューラル ネットワークにおける活性化関数と伝達関数の使用の詳細については、以下の例とトピックを参照してください。

メトリクスと損失関数

confusion, crossentropy, mae, mse, perform, roc, sae, sse

ニューラル ネットワークに学習させるときにメトリクスと損失関数を使用する方法の詳細については、以下の例とトピックを参照してください。

Simulink とコード生成

gensim, nndata2sim, sim2nndata, genFunction, getsiminit, setsiminit

Simulink とニューラル ネットワークのコード生成の詳細については、以下の例とトピックを参照してください。

数学演算

boxdist, convwf, dist, dotprod, gadd, gdivide, gmultiply, gnegate, gsqrt, gsubtract, linkdist, mandist, meanabs, meansqr, minmax, negdist, normc, normprod, normr, pnormc, scalprod, sumabs, sumsqr

サポートされている数学演算、深層学習演算、および深層学習層の詳細については、以下の例とトピックを参照してください。

自己符号化器

Autoencoder, decode, encode, generateFunction, generateSimulink, network, predict, plotWeights, stack, trainAutoencoder, view

自己符号化器のワークフローの詳細については、以下の例とトピックを参照してください。

自己組織化マップ

learnsom, learnsomb, plotsom, plotsomnc, plotsomhits, plotsomnd, plotsomplanes, plotsompos, plotsomtop, selforgmap

自己組織化マップのワークフローの詳細については、以下の例とトピックを参照してください。

枝刈り

prune, prunedata

枝刈りやその他のニューラル ネットワーク圧縮ワークフローの詳細については、以下の例とトピックを参照してください。

重みとバイアス関数

concur, formwb, getwb, init, initcon, initlay, initlvq, initnw, initwb, initzero, midpoint, randnc, randnr, rands, randsmall, randtop, revert, separatewb, setwb

ニューラル ネットワークの学習可能なパラメーターの初期化とカスタマイズの詳細については、以下の例とトピックを参照してください。

学習アルゴリズム

learncon, learngd, learngdm, learnh, learnhd, learnis, learnk, learnlv1, learnlv2, learnos, learnp, learnpn, learnwh, trainb, trainbfg, trainbr, trainbu, trainc, traincgb, traincgf, traincgptraingd, traingda, traingdm, traingdx, trainlm, trainoss, trainr, trainrp, trainru, trains, trainscg, tribas, srchbac, srchbre, srchcha, srchgol, srchhyb

学習アルゴリズムのカスタマイズの詳細については、以下の例とトピックを参照してください。

導関数

bttderiv, defaultderiv, fpderiv, num2deriv, num5deriv, staticderiv

自動微分ワークフローの詳細については、以下の例とトピックを参照してください。

参考

(Statistics and Machine Learning Toolbox) | (Statistics and Machine Learning Toolbox) | | | | | | (Statistics and Machine Learning Toolbox) | (Statistics and Machine Learning Toolbox)

トピック