時系列データ異常検知

概è¦

Transformerを用ã„ãŸæ™‚系列データ異常検知

話題ã®ChatGPTã«ã‚‚活用ã•れã¦ã„ã‚‹Transformerを用ã„ã¦ã€æ™‚系列データã®ç•°å¸¸æ¤œçŸ¥ã‚’行ã„ã¾ã—ãŸã€‚
Transfomerã¯è‡ªç„¶è¨€èªžå‡¦ç†åˆ†é‡Žã§ææ¡ˆã•れãŸãƒ¢ãƒ‡ãƒ«[1]ã§ã—ãŸãŒã€ç”»åƒã€æ•°å€¤ãƒ‡ãƒ¼ã‚¿ã«ã‚‚応用ã§ãã‚‹ã“ã¨ãŒçŸ¥ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚ 異常検知ã«ãŠã„ã¦ç•°å¸¸ãƒ‡ãƒ¼ã‚¿ãŒè±Šå¯Œã«ã‚ã‚‹ã“ã¨ã¯ã€ç¨€ãªã®ã§ã€æ­£å¸¸ãƒ‡ãƒ¼ã‚¿ã®ã¿ã‚’学習ã—ã¦ã€ç•°å¸¸ã‚’検知ã™ã‚‹æ‰‹æ³•を用ã„ã¾ã—ãŸã€‚ 今回ã¯å¿ƒé›»å›³ãƒ‡ãƒ¼ã‚¿[2]を用ã„ã¦ã€ãƒ‡ãƒ¼ã‚¿ã«å«ã¾ã‚Œã‚‹ç•°å¸¸ãªãƒ‘ターンを検知ã—ãŸã„ã¨æ€ã„ã¾ã™ã€‚

異常検知

異常検知

今回用ã„る手法ã§ã¯ã€Transformerã«æ™‚系列予測(Forecasting)ã‚’ã•ã›ã€æ­£å¸¸ãƒ‡ãƒ¼ã‚¿ã®ã¿ã‚’学習ã•ã›ã¾ã™ã€‚ ãã®å¾Œã€ç•°å¸¸ãƒ‡ãƒ¼ã‚¿ã‚’å«ã‚€ãƒ‡ãƒ¼ã‚¿ã‚’使ã£ã¦ã€äºˆæ¸¬ã•ã›ã‚‹ã¨ã€Transformerã¯æ­£å¸¸ãƒ‡ãƒ¼ã‚¿ã®ã¿ã‚’学習ã—ã¦ã„ã‚‹ã®ã§ã€ 異常をå«ã‚€ç®‡æ‰€ã¯äºˆæ¸¬ãŒã†ã¾ãã„ãã¾ã›ã‚“。ã“ã®ã“ã¨ã‹ã‚‰ã€äºˆæ¸¬èª¤å·®ã®å¤§ãã„箇所ãŒç•°å¸¸ã¨åˆ¤æ–­ã§ãã¾ã™ã€‚

1. ãƒ‡ãƒ¼ã‚¿ã®æº–å‚™

学習ã«ç”¨ã„ã‚‹ã®ã¯ã€æ­£å¸¸ãƒ‡ãƒ¼ã‚¿ã®ã¿ã§å­¦ç¿’を行ã„ã¾ã™ã€‚ 学習ã«ç”¨ã„るデータ モデルã«å­¦ç¿’ã•ã›ã‚‹ã®ã¯ã€nå€‹ã®æ™‚系列データã‹ã‚‰1ã¤å…ˆã®æ™‚間ステップを予測ã•ã›ã‚‹ã‚¿ã‚¹ã‚¯ã§ã™ã€‚ ãã®ãŸã‚é•·ã•n+1ã®æ™‚系列データã«ãªã‚‹ã‚ˆã†ã«ã€å…ƒã®æ™‚系列データを整形ã—ã¾ã™ã€‚é•·ã•n+1ã®æ™‚系列データã®ã†ã¡ã€ å‰ã®n個をモデルã®å…¥åŠ›ã¨ã—ã¦æ‰±ã„ã€æ®‹ã‚Šã‚’予測対象ã¨ã—ã¦ã€ãƒ¢ãƒ‡ãƒ«ã«å­¦ç¿’ã•ã›ã¾ã™ã€‚ データã®åŒºåˆ‡ã‚Šæ–¹ ã¾ãŸã€å¿…è¦ã«å¿œã˜ã¦ãƒ‡ãƒ¼ã‚¿ã®æ­£è¦åŒ–も行ã„ã¾ã™ã€‚

2. äºˆæ¸¬ãƒ¢ãƒ‡ãƒ«ã®æ§‹ç¯‰

今回用ã„るモデルã¯Transformer[1]ã§ã™ã€‚モデル図ã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚ Transformerモデル図

3. トレーニング

ãƒã‚¤ãƒ‘ーパラメータを調整ã—ã€æ­£å¸¸ãƒ‡ãƒ¼ã‚¿ãŒé«˜ç²¾åº¦ã«äºˆæ¸¬ã§ãるよã†ã«å­¦ç¿’ã•ã›ã¾ã™ã€‚ 学習ã®çµæžœã¯ä»¥ä¸‹ã®é€šã‚Šã§ã™ã€‚高精度ã«äºˆæ¸¬ãŒã§ãã¦ã„ã‚‹ã“ã¨ãŒåˆ†ã‹ã‚Šã¾ã™ã€‚ 正常データã®äºˆæ¸¬çµæžœ

4. 異常スコアã®è¨ˆç®—

最後ã«å…¨ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚’使ã£ã¦Transformerã«äºˆæ¸¬ã‚’ã•ã›ã¾ã™ã€‚絶対誤差を計算ã—ãŸã¨ã“ã‚〠元データã®å‘¨æœŸæ€§ãŒå´©ã‚Œã¦ã„る箇所ãŒã†ã¾ã予測ã§ãã¦ã„ãªã„ã“ã¨ãŒåˆ†ã‹ã‚Šã¾ã™ã€‚ 異常をå«ã‚€ãƒ‡ãƒ¼ã‚¿ã®äºˆæ¸¬çµæžœ ã“ã®æ€§è³ªã‚’利用ã—ã¦ã€æ™‚系列データã®ç•°å¸¸æ¤œçŸ¥ã‚’行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

ãŠå•ã„åˆã‚ã›ã¯ã“ã¡ã‚‰ã‹ã‚‰

弊社ã§ã¯ã€ãŠå®¢æ§˜ã®ã”è¦æœ›ã«å¿œã˜ãŸAIæ´»ç”¨ã‚·ã‚¹ãƒ†ãƒ ã®ææ¡ˆã€ä½œæˆã‚’行ã£ã¦ãŠã‚Šã¾ã™ã€‚ã¾ãšã¯ãŠæ°—軽ã«ã”相談ãã ã•ã„。

045-682-7070

ãŠå•ã„åˆã‚ã›