denseとかembeddingとかの違い


DeepLearningを学んでいる。

ネットワークの中間層で、DENSEとかEMBEDDINGとか、いったい何が違うのか?
っていう話。

元ネタ
https://medium.com/logivan/neural-network-embedding-and-dense-layers-whats-the-difference-fa177c6d0304

語源

そもそも何の意味やねん?  

  • DENSE    《物理》高密度の 

  • EMBEDDING  埋め込み、包埋 

違い

EMBEDDING  変数にカテゴリカルを埋め込むときに使う

  • 入力サイズの縮小と計算の複雑さの軽減 → 学習時間の短縮
  • 重みWは、単純なルックアップテーブル
  • 欠点はバイアス、活性化関数のパラメータが不足
  • one-hot encodingのみに使用
  • 単語の埋め込みで広く利用 → Word2vec

DENSE

  • 計算量が多いマトリクスの処理 → 処理が重たい
  • 重みWは、重み行列として考慮する

まとめ

要するに自然言語処理のONE HOTを受けるときに、
最初に使われるネットワークだということ