今回もNILM(Non-Intrusive Load Monitoring)論文紹介です。 前回のNeural Fourier Energy Disaggregationの論文紹介でリファレンス手法として挙げられていた論文です。
2行で説明すると
- BidirectionalGRUの代わりにシンプルなAttention機構を組み込んでみたよ
- 軽量かつ特に汎化性能に関して良い性能を示したよ
モデルアーキテクチャ
モデルアーキテクチャは以下のようになっています
基本的には、WGRU手法の最初のBidirectional GRU層がAttention層に置き換わっただけですが 後半のBidirectional GRU層のサイズやDense層のサイズも 128 -> 64 と減少しています
軽量を謳っているように、モデルのパラメータサイズは圧倒的にリファレンスモデルと比べて小さくなっています。
Attention層を導入することにより性能を落とさず全結合層のサイズを小さくできたためと解釈するのが良さそうです。
Additive or Dot
Attention層は 論文の図中にもあるようにシンプルなもので Additive と Dot の2種類のAttentionが使われています
それぞれ
- Additive: Bahdanauのアテンション(https://arxiv.org/abs/1409.0473)
- Dot: Luongのアテンション (https://arxiv.org/abs/1508.04025)
に対応しています。
それぞれのkeras実装はこちらになります
- Additive: https://github.com/keras-team/keras/blob/v3.0.5/keras/layers/attention/additive_attention.py#L6
- Luong: https://github.com/keras-team/keras/blob/v3.0.5/keras/layers/attention/attention.py#L7
Luongの論文ではconcat含む以下の3種類のやり方が示されているのですがこのうちの dot が Luongスタイルということみたいです。
(https://arxiv.org/pdf/1508.04025.pdf より)
dot手法のSAED-dotのほうが高速であり、以下の表を見ると性能としてもSAED-dotのほうがadditive手法のSAED-addのほうより若干優勢と読み取れます。
性能評価
データセット
データセットは UK-DALEと REDD、REFITが使われています。
DW(食洗機)、FZ(冷蔵庫)、KT(ケトル)、MW(電子レンジ)、WM(洗濯機)については、
Category1 | Category2 | Category3 | Category4 | |
---|---|---|---|---|
Train | UK-DALE 1家庭 |
UK-DALE 1家庭 |
UK-DALE 2~4家庭 | UK-DALE 2~3家庭 |
Test | UK-DALE 1家庭(trainと同じ) | UK-DALE 2~4家庭(trainと別) | UK-DALE 1家庭(trainと別) | REDDの4~5家庭 |
TVとPCに関しては、
Category1 | Category2 | Category3 | Category4 | |
---|---|---|---|---|
Train | REFIT 1家庭 |
REFIT 1家庭 |
REFIT 2家庭 | REFIT 2家庭 |
Test | REFIT 1家庭(trainと同じ) | REFIT 1家庭(trainと別) | REFIT 2家庭(trainと別) | UK-DALEの1~2家庭 |
という学習/テスト条件になっています
Category1は汎化性能を確認するための比較条件となり、基本的にはCategory2~4の結果に注目すべきでしょう
評価指標
F1スコア、MAEといった馴染みのある指標に加えて 汎化性能を示すための指標としてAUH、EUH、MGLが使われています。
- AUH: Accuracy on Unseen Houses
- EUH: Error on Unseen Houses
- MGL: Mean Generalization Loss
AUHとEUHの定義はこちら
学習に使ってない家庭の平均F1スコア、平均MAEということであり、素直に理解できます。AccuracyとなってますがF1スコアの平均です。
MGLの定義はこちら
F1スコアベースでもMAEベースでも 直感的には、
- seen家庭スコア > unseen家庭スコア: 正の値
- seen家庭スコア = unseen家庭スコア: 0
- seen家庭スコア < unseen家庭スコア:負の値 (あり得る??)
となります
つまり、0や負の値に近づくなどマイナスも含めて数値が小さくなればなるほど汎化性能が良いということを表します。
リファレンスモデル
Seq2Point (NFED論文より引用)
色々なNILM論文で引用されるSeq2PointやWGRUが比較対象となっており、基本的には信頼できそうです
定量評価結果
論文中はすべて表ベースになっていて比較がやりにくく分かりにくいのでグラフにしてみました
Time/ep
まず、一番わかり易い Time/ep(1エポックあたりの学習時間)から
WGRUが断トツに遅くなっており、Seq2PointはSAED-dotはほぼ同等レベル(若干SAED-dotのほうがより速い)、SAED-addはこれら2つに比べるとやや遅い という結果になっています。
F1スコア
category1~2ではWGRUであったりSeq2Pointが若干良さそうですが category3~4ではSAEDの2手法がやや良さそうに見えます。
MAE
F1スコアと同様の結果(優劣)になってます
(参考)家電別 F1スコア
(参考)家電別 MAE
感想
実験結果からは SAEDはcategory3~4といったところで相対的に成績が良く、汎化性能について優れているという主張でした。
アテンション機構の強力さだったりやパラメータ数の少なさから良い汎化性能を示すという流れは理解できますが 同じ家庭の学習/評価のcategory1より学習家庭と異なる家庭を評価したcategory2のほうがスコアが良かったりする箇所が至るところであり(家電別 F1スコアのグラフでよく分かる)、結果に関して??な所が残ります。
単にリファレンス手法が過学習気味になっている可能性も頭に入れておきたいです。
引用数も17件と多くなく、他の著者の論文で本手法がリファレンスとして登場するのか注目したい所です