CategoricalCrossEntropyレイヤー(多クラス交差エントロピー)
説明
カテゴリIndexで与えられるデータセットの変数との交差エントロピーを最小化するニューラルネットワークの出力層です。
誤差関数の位置づけ
誤差関数レイヤーは出力層に位置づいていますが、厳密にはこのレイヤーの手前の層が出力層です。誤差関数レイヤーは学習済モデルの実行時は手前のレイヤーの出力をそのまま出力します。
学習時は手前のレイヤーの出力を正解値と比較し、出力値と正解値の誤差を算出します。算出された誤差は各ネットワークの重みの変更に利用されます。
数式
交差エントロピーについて
交差エントロピーとは、情報理論において2つの確率分布の間に定義される尺度です。
符号化方式が、真の確率分布ではなく、ある所定の確率分布qに基づいている場合に、とりうる複数の事象の中からひとつの事象を特定するために必要となるビット数の平均値を表す。
(出典:wiki)
https://ja.wikipedia.org/wiki/%E4%BA%A4%E5%B7%AE%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AD%E3%83%94%E3%83%BC
↓↓↓ 以下のサイトがとても分かり易いのでリンクを掲載します。
https://qiita.com/klis/items/4ad3032d02ff815e09e6
プロパティ
Axis
指定した軸に沿って正規化します。
デフォルト値 = 0
T.Dataset
データセットに含まれる変数のうち、このBinaryCrossEntropyレイヤーの出力として期待する変数の変数名を指定します。
デフォルト値 = y
T.Generator
データセットの代わりに用いるGeneratorを指定します。GeneratorプロパティがNone以外の場合、最適化時T.Datasetで指定した変数の代わりにGeneratorにより生成するデータを用います
デフォルト値 = None
- None:データ生成を行いません
- Uniform:-1.0~1.0の一様乱数を生成します
- Normal:平均0.0、分散1.0であるガウス乱数を生成します
- Constant:全ての要素が一定値(1.0)であるデータを生成します
T.GeneratorMultiplier
T.Generatorにより生成した値に対して掛ける係数を指定します。
デフォルト値 = 1
利用用途
出力結果と正解の誤差の算出に利用します。出力結果が0と1の2値の場合に使用します。
分類ネットワークにおいて使用するネットワークの基幹となるレイヤーです。
出力サイズ
入力サイズと同様
サンプル構成
CNN
補足)誤差関数の役割と学習の仕組み
https://qiita.com/Nezura/items/0a37e1746f2830e31ddc/
qiitaに丸投げです(-_-;)
何時か自分で記事にします。
![]() |
【送料無料】 ソニー開発のNeural Network Console入門 増補改訂・クラウド対応版--数式なし、コーディングなしのディープラーニング / 足立悠 【本】 価格:2,592円 |