dlarray
をサポートする関数の一覧
dlarray
をサポートする Deep Learning Toolbox 関数
次の表は、dlarray
オブジェクトに対して作用する Deep Learning Toolbox™ 関数、およびこれらの関数の簡単な説明を示します。
深層学習の操作
関数 | 説明 |
---|---|
attention | attention 演算は、重み付き乗算を使用して入力の一部に焦点を当てます。 |
avgpool | 平均プーリング演算は、入力をプーリング領域に分割し、各領域の平均値を計算することによって、ダウンサンプリングを実行します。 |
batchnorm | バッチ正規化演算は、観測値全体における入力データの正規化を、各チャネルについて個別に行います。畳み込みニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、relu など、畳み込み演算と非線形演算の間のバッチ正規化を使用します。 |
crossentropy | クロスエントロピー演算は、単一ラベルおよび複数ラベルの分類タスクについて、ネットワーク予測とターゲット値の間のクロスエントロピー損失を計算します。 |
crosschannelnorm | クロスチャネル正規化演算は、異なるチャネルの局所応答を使用して各活性化を正規化します。通常、クロスチャネル正規化は relu 演算に続きます。クロスチャネル正規化は局所応答正規化とも呼ばれます。 |
ctc | CTC 演算は、非整列シーケンス間のコネクショニスト時間分類 (CTC) 損失を計算します。 |
dlconv | 畳み込み演算は、入力データにスライディング フィルターを適用します。関数 dlconv は、深層学習畳み込み、グループ化された畳み込み、チャネル方向に分離可能な畳み込みで使用します。 |
dlode45 | ニューラル常微分方程式 (ODE) 演算は、指定された ODE の解を返します。 |
dltranspconv | 転置畳み込み演算は、特徴マップをアップサンプリングします。 |
embed | 組み込み演算は、数値インデックスを数値ベクトルに変換します。ここで、インデックスは離散データに対応します。埋め込みを使用して、categorical 値や単語などの離散データを数値ベクトルにマッピングします。 |
fullyconnect | 全結合演算は、入力に重み行列を乗算してから、バイアス ベクトルを加算します。 |
gelu | ガウス誤差線形単位 (GELU) 活性化演算は、ガウス確率分布に従って入力を重み付けします。 |
groupnorm | グループ正規化演算は、グループ化されたチャネル サブセット全体における入力データの正規化を、各観測値について個別に行います。畳み込みニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、relu など、畳み込み演算と非線形演算の間のグループ正規化を使用します。 |
gru | ゲート付き回帰型ユニット (GRU) 演算では、時系列データとシーケンス データのタイム ステップ間の依存関係をネットワークに学習させることができます。 |
huber | Huber 演算は、回帰タスクのネットワーク予測とターゲット値の間の Huber 損失を計算します。'TransitionPoint' オプションが 1 の場合、これは "滑らかな L1 損失" とも呼ばれます。 |
instancenorm | インスタンス正規化演算は、各チャネルにおける入力データの正規化を、各観測値について個別に行います。畳み込みニューラル ネットワークの学習の収束性能を上げ、ネットワークのハイパーパラメーターに対する感度を下げるには、relu など、畳み込み演算と非線形演算の間のインスタンス正規化を使用します。 |
l1loss | L1 損失演算は、ネットワーク予測とターゲット値を指定して L1 損失を計算します。Reduction オプションが "sum" で、NormalizationFactor オプションが "batch-size" のときの計算値は平均絶対誤差 (MAE) と呼ばれます。 |
l2loss | L2 損失演算は、ネットワーク予測とターゲット値を指定して L2 損失を (L2 ノルムの 2 乗に基づいて) 計算します。Reduction オプションが "sum" で、NormalizationFactor オプションが "batch-size" のときの計算値は平均二乗誤差 (MSE) と呼ばれます。 |
layernorm | レイヤー正規化演算は、チャネル全体における入力データの正規化を、各観測値について個別に行います。再帰型多層パーセプトロン ニューラル ネットワークの学習速度を上げ、ネットワークの初期化に対する感度を下げるには、LSTM 演算や全結合演算などの学習可能な演算を行った後に、レイヤー正規化を使用します。 |
leakyrelu | 漏洩 (leaky) 正規化線形ユニット (ReLU) 活性化演算は、非線形のしきい値処理を実行し、ゼロよりも小さい入力値を固定スケール係数で乗算します。 |
lstm | 長短期記憶 (LSTM) 演算では、時系列データおよびシーケンス データのタイム ステップ間の長期的な依存関係をネットワークに学習させることができます。 |
maxpool | 最大プーリング演算は、入力をプーリング領域に分割し、各領域の最大値を計算することによって、ダウンサンプリングを実行します。 |
maxunpool | 最大逆プーリング演算は、アップサンプリングとゼロを使ったパディングによって、最大プーリング演算の出力を逆プーリングします。 |
mse | 半平均二乗誤差演算は、回帰タスクのネットワーク予測とターゲット値の間の半平均二乗誤差損失を計算します。 |
onehotdecode | one-hot 復号化演算は、分類ネットワークの出力などの確率ベクトルを分類ラベルに復号化します。 入力 |
relu | 正規化線形ユニット (ReLU) 活性化演算は、非線形のしきい値処理を実行し、ゼロよりも小さい入力値をゼロに設定します。 |
sigmoid | シグモイド活性化演算は、入力データにシグモイド関数を適用します。 |
softmax | ソフトマックス活性化演算は、入力データのチャネルの次元にソフトマックス関数を適用します。 |
dlarray
固有の関数
関数 | 説明 |
---|---|
dims | この関数は、dlarray のデータ形式を返します。 |
dlfeval | この関数は、自動微分を使用して関数 dlarray を評価します。 |
dlgradient | この関数は、自動微分を使用して勾配を計算します。 |
extractdata | この関数は、dlarray からデータを抽出します。 |
finddim | この関数は、任意の次元ラベルが付いた dlarray の次元のインデックスを検出します。 |
stripdims | この関数は、dlarray からデータ形式を削除します。 |
dlarray
をサポートする領域固有の関数
次の表は、dlarray
オブジェクトに対して作用する領域固有の関数、およびこれらの関数の簡単な説明を示します。
コンピューター ビジョン
関数 | 説明 |
---|---|
focalCrossEntropy (Computer Vision Toolbox) | 予測された分類ラベルとターゲットの分類ラベルを表す 2 つの dlarray オブジェクト間の焦点クロスエントロピー損失を計算します。 |
generalizedDice (Computer Vision Toolbox) | クラス加重を考慮した一般化 Dice メトリクスを使用して、セグメント化されたイメージを表す 2 つの dlarray オブジェクト間の類似度を測定します。 |
roialign (Computer Vision Toolbox) | dlarray データの ROI プーリングを実行します。 |
イメージ処理
関数 | 説明 |
---|---|
depthToSpace (Image Processing Toolbox) | 深さの次元から得られた dlarray データを空間ブロックに再配置します。 |
dlresize (Image Processing Toolbox) | dlarray の空間次元のサイズを変更します。 |
multissim (Image Processing Toolbox) | マルチスケール構造的類似性 (MS-SSIM) メトリクスを使用して、2 次元イメージを表す 2 つの dlarray オブジェクト間の類似度を測定します。 |
multissim3 (Image Processing Toolbox) | 3 次元 MS-SSIM メトリクスを使用して、3 次元イメージを表す 2 つの dlarray オブジェクト間の類似度を測定します。 |
psnr (Image Processing Toolbox) | ピーク S/N 比 (PSNR) メトリクスを使用して、イメージを表す 2 つの dlarray オブジェクト間の類似度を測定します。 |
spaceToDepth (Image Processing Toolbox) | dlarray データの空間ブロックを深さの次元に再配置します。 |
ssim (Image Processing Toolbox) | 構造的類似性 (SSIM) メトリクスを使用して、イメージを表す 2 つの dlarray オブジェクト間の類似度を測定します。 |
信号処理
無線通信
関数 | 説明 |
---|---|
awgn (Communications Toolbox) | dlarray オブジェクトで表される信号を、加法性ホワイト ガウス ノイズ (AWGN) チャネルを通してフィルター処理します。形式を整えていない入力配列のみがサポートされます。 |
bit2int (Communications Toolbox) | dlarray オブジェクトで表される入力ビットを整数に変換します。形式を整えていない入力配列のみがサポートされます。 |
genqammod (Communications Toolbox) | 一般的な直交振幅変調 (QAM) を使用して、dlarray オブジェクトで表される信号を変調します。形式を整えていない入力配列のみがサポートされます。 |
ofdmmod (Communications Toolbox) | 直交周波数分割多重 (OFDM) を使用して、dlarray オブジェクトで表される周波数領域信号を変調します。形式を整えていない入力配列のみがサポートされます。 |
ofdmdemod (Communications Toolbox) | 直交周波数分割多重 (OFDM) を使用して、dlarray オブジェクトで表される時間領域信号を復調します。形式を整えていない入力配列のみがサポートされます。 |
ofdmChannelResponse (Communications Toolbox) | dlarray オブジェクトで表される時変チャネルの周波数応答を計算します。形式を整えていない入力配列のみがサポートされます。 |
ofdmEqualize (Communications Toolbox) | dlarray オブジェクトで表される周波数領域 OFDM 信号をイコライズします。形式を整えていない入力配列のみがサポートされます。 |
dlarray
をサポートする MATLAB 関数
MATLAB® 関数の多くは dlarray
オブジェクトに対して作用します。次の表は、引数 dlarray
を使用する場合のこれらの関数の使用上の注意と制限を示します。
単項の要素単位の関数
二項の要素単位の演算子
リダクション関数
関数 | 注意と制限 |
---|---|
mean |
|
normalize |
|
std |
|
prod |
|
sum | |
vecnorm | 出力 |
極値関数
関数 | 注意と制限 |
---|---|
ceil | 出力 |
eps |
|
fix | 出力 |
floor | 出力 |
max |
|
min | |
rescale |
|
round |
|
フーリエ変換
その他の算術演算
関数 | 注意と制限 |
---|---|
colon , : |
|
interp1 |
|
mrdivide , / | 2 番目の |
mtimes , * |
|
ode45 | サポートされている構文は次のとおりです。
ヒント ニューラル ODE のワークフローでは、 |
pagemtimes | 一方の入力を形式を整えた |
pinv (R2024a 以降) | 最初の引数は、double 型または single 型の 2 次元の、形式を整えていない |
論理演算
関数 | 注意と制限 |
---|---|
all | 出力 |
and , & | 2 つの |
any | 出力 |
eq , == | 2 つの |
ge , >= | |
gt , > | |
le , <= | |
lt , < | |
ne , ~= | |
not , ~ | 出力 |
or , | | 2 つの |
xor |
サイズ操作関数
並べ替えと転置の演算
関数 | 注意と制限 |
---|---|
sort (R2024a 以降) | N/A |
ctranspose , ' | 入力 |
permute | 入力 |
transpose , .' | 入力 |
連結関数
変換関数
関数 | 注意と制限 |
---|---|
cast |
|
double | 出力は |
gather (Parallel Computing Toolbox) |
|
gpuArray (Parallel Computing Toolbox) |
|
logical | 出力は logical 型のデータが含まれる dlarray です。 |
single | 出力は single 型のデータが含まれる dlarray です。 |
比較関数
データ型と値を識別する関数
関数 | 注意と制限 |
---|---|
isdlarray | N/A |
isfinite | この関数は入力 |
isfloat | |
isgpuarray (Parallel Computing Toolbox) | |
isinf | |
islogical | |
isnan | |
isnumeric | |
isreal | |
isUnderlyingType | N/A |
mustBeUnderlyingType | |
underlyingType | |
validateattributes | 入力配列 A が、形式を整えた dlarray である場合、その次元は "SCBTU" の順序に従って並べ替えられます。サイズの検証は並べ替え後に適用されます。 |
サイズ識別関数
関数 | 注意と制限 |
---|---|
iscolumn | この関数は、列ベクトルで、最初の次元を除く各次元の大きさが 1 である dlarray に対して true を返します。たとえば、3 x 1 x 1 の dlarray は列ベクトルです。 |
ismatrix | この関数は、2 つの次元のみをもつ dlarray オブジェクト、および最初の 2 つの次元を除く各次元の大きさが 1 である dlarray オブジェクトに対して true を返します。たとえば、3 x 4 x 1 の dlarray は行列です。 |
isrow | この関数は、行ベクトルで、2 番目の次元を除く各次元の大きさが 1 である dlarray に対して true を返します。たとえば、1 x 3 x 1 の dlarray は行ベクトルです。 |
isscalar | N/A |
isvector | この関数は、行ベクトルまたは列ベクトルである dlarray に対して true を返します。isvector では 1 x 1 x 3 の dlarray がベクトルであるとは見なされないことに注意してください。 |
length | N/A |
ndims | 入力 |
numel | N/A |
size | 入力 |
作成関数
関数 | 注意と制限 |
---|---|
false |
|
inf | |
nan | |
ones | |
rand | |
randi | |
randn | |
true | |
zeros | |
createArray (R2024a 以降) |
|
文字列、文字、カテゴリカル関数
可視化関数
dlarray
の主な動作
データ形式での暗黙的な拡張
一部の関数は、暗黙的な拡張を使用して形式を整えた 2 つの dlarray
入力を結合します。関数は、必要に応じて、ラベル付けされた大きさが 1 の次元 (サイズ 1 の次元) を入力に導入し、それらの形式を一致させます。同じラベルが付いた次元の各ブロックの最後に、関数によって大きさが 1 の次元が挿入されます。
この動作の例を確認するには、次のコードを入力します。
X = ones(2,3,2); X = dlarray(X,'SCB') Y = 1:3; Y = dlarray(Y,'C') Z = X.*Y
X = 2(S) × 3(C) × 2(B) dlarray (:,:,1) = 1 1 1 1 1 1 (:,:,2) = 1 1 1 1 1 1 Y = 3(C) × 1(U) dlarray 1 2 3 Z = 2(S) × 3(C) × 2(B) dlarray (:,:,1) = 1 2 3 1 2 3 (:,:,2) = 1 2 3 1 2 3
i
、j
、および k
について Z(i,j,k) = X(i,j,k).*Y(j)
になります。Z
の 2 番目の次元 ('C'
というラベルが付いている) は、X
の 2 番目の次元および Y
の最初の次元に対応します。一般的に、一方の dlarray
入力の形式が、もう片方の dlarray
入力の形式のサブセットである必要はありません。たとえば、X
および Y
が dims(X) = 'SCB'
および dims(Y) = 'SSCT'
をもつ入力引数である場合、出力 Z
は dims(Z) = 'SSCBT'
をもちます。X
の 'S'
次元は、Y
の最初の 'S'
次元にマッピングされます。
'U' 次元の特殊な動作
dlarray
の 'U'
次元の動作は、標準的な MATLAB の大きさが 1 の次元の動作を示す他のラベル付きの次元とは異なります。形式を整えた dlarray
は、size
によって返される次元にしたがって、サイズ 1 の 'U'
次元を無数にもつと考えることができます。
次元の大きさが 1 ではない、または dlarray
の最初の 2 つの次元のいずれかである場合を除き、'U'
ラベルは破棄されます。
この動作の例を確認するには、次のコードを入力します。
X = ones(2,2);
X = dlarray(X,'SC')
X(:,:,2) = 2
X = 2(S) × 2(C) dlarray 1 1 1 1 X = 2(S) × 2(C) × 2(U) dlarray (:,:,1) = 1 1 1 1 (:,:,2) = 2 2 2 2
dlarray
を 3 次元の dlarray
に拡張し、既定で 3 番目の次元に 'U'
というラベルを付けています。暗黙的な拡張で 'U'
次元を使用する方法の例については、データ形式での暗黙的な拡張を参照してください。インデックス
dlarray
でのインデックス付けがサポートされています。これは次の動作を示します。
n
がndims(X)
以上の場合、X(idx1,...,idxn)
は、X
と同じデータ形式をもつdlarray
を返します。そうでない場合、形式を整えていないdlarray
を返します。Y(idx1,...,idxn) = X
を設定すると、Y
のデータ形式は保持されますが、ソフトウェアが末尾の'U'
次元ラベルを追加したり削除することがあります。X
のデータ形式はこの操作には影響しません。X(idx1,…,idxn) = []
を使用してdlarray
の一部を削除した場合、X
のデータ形式は、n
がndims(X)
以上であれば保持されます。そうでない場合、X
は形式を整えずに返されます。
丸め誤差
関数に dlarray
入力を使用する場合、関数内の演算の順序は dlarray
の内部保存の順序によって変化します。この変化によって、2 つの dlarray
オブジェクトの丸めの順序に違いが生じます。それ以外の場合には、これらのオブジェクトの丸めの順序は等しくなります。
参考
dlarray
| dlgradient
| dlfeval
| dlnetwork