ニューラルネットワークのデータの符号化と復号化
実際に取り扱うデータには,数値,カテゴリ,テキスト,画像,音声,動画等,さまざまな種類がある.ニューラルネットワークは数値配列を扱う高度な方法であるが,非数値入力をそのままで扱うことはできない. Wolfram言語は非数値データとネットワーク対応NumericArrayオブジェクトとの変換を自動的に効率よく行うためのエンコーダ・デコーダを提供する.特別な特徴抽出器や一般的な関数からカスタムのエンコーダも作成できる.
エンコーダ
NetEncoder — 画像,カテゴリ等を数値配列に変換する
音声エンコーダ
"Audio" — 音声を波形の大きさの列として符号化する
"AudioMelSpectrogram" — 音声をメルスペクトログラムとして符号化する
"AudioMFCC" — 音声をMFCC(メル周波数ケプストラム係数)ベクトルの列として符号化する
"AudioSpectrogram" — 音声をスペクトログラムとして符号化する
"AudioSTFT" — 音声をフーリエ(Fourier)変換の列として符号化する
テキストエンコーダ
"SubwordTokens" — 文字列中のトークンを整数コードの列として符号化する
"Characters" — 文字列中の文字を整数コードまたはワンホットベクトルの列として符号化する
"Tokens" — 文字列中のトークンを整数コードの列として符号化する
"UTF8" — 文字列をそのUTF8バイトとして符号化する
画像エンコーダ
"Image" — 2D画像を階数3の配列として符号化する
"Image3D" — 3Dの画像を階数4の配列として符号化する
動画エンコーダ
"VideoFrames" — 動画のフレームを階数3の配列として符号化する
その他のエンコーダ
"Boolean" — TrueとFalseを1と0として符号化する
"Class" — クラスラベルを整数コードまたはワンホットベクトルとして符号化する
"Function" — カスタム関数を使って入力を符号化する
"FeatureExtractor" — FeatureExtractorFunctionを使って入力を符号化する
デコーダ
NetDecoder — 数値配列を画像,確率等として解釈する
テキストデコーダ
"SubwordTokens" — 確率ベクトルをサブワードトークンの文字列として復号化する
"Characters" — 確率ベクトルを文字の列として復号化する
"Tokens" — 確率ベクトルをトークンの文字列として復号化する
画像デコーダ
"Image" — 階数3の配列を2D画像として復号化する
"Image3D" — 階数4の配列を3D画像として復号化する
その他のデコーダ
"Boolean" — 1と0をTrueとFalseとして復号化する
"Class" — 確率配列をクラスラベルとして復号化する
"CTCBeamSearch" — CTCLossLayerで訓練された確率ベクトルの列を復号化する
"Function" — カスタム関数を使って復号化する