Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知...
Search
kmotohas
January 10, 2018
Technology
0
34
20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知について
20180110 AI&ロボット勉強会 Deeplearning4J と時系列データの異常検知について 25+5 min
社会性フィルタ通過分のみ公開。
kmotohas
January 10, 2018
Tweet
Share
More Decks by kmotohas
See All by kmotohas
SageMaker Dive Deep Workshop 動かして理解する SageMaker Training Job の仕組み
kmotohas
0
90
AWS re:Invent直前!2021年のアップデートを振り返ろう AI/MLサービス編
kmotohas
0
930
論文解説 150 Successful Machine Learning Models: 6 Lessons Learned at Booking.com
kmotohas
0
1.3k
konduit-servingとSpring Cloud Data Flowを用いたMLアプリケーション開発
kmotohas
0
650
Deep Learningによる画像認識の基礎・CNNの仕組み
kmotohas
0
1.1k
詳説Deep LearningとDL4JとMLOps入門
kmotohas
0
690
オートエンコーダーと異常検知入門
kmotohas
1
1.4k
20190515 RNNと自然言語処理 RNNの基礎からAttention〜BERTの概要まで
kmotohas
0
790
20190417 畳み込みニューラル ネットワークの基礎と応用
kmotohas
0
180
Other Decks in Technology
See All in Technology
急成長を支える基盤作り〜地道な改善からコツコツと〜 #cre_meetup
stefafafan
0
130
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
480
Kotlin Coroutine Mechanisms: A Surprisingly Deep Rabbithole
amanda_hinchman
2
100
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
350
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
140
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
300
ドメイン特化なCLIPモデルとデータセットの紹介
tattaka
0
160
Prox Industries株式会社 会社紹介資料
proxindustries
0
330
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1.1k
本が全く読めなかった過去の自分へ
genshun9
0
580
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
290
Featured
See All Featured
KATA
mclloyd
30
14k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
710
The World Runs on Bad Software
bkeepers
PRO
69
11k
Agile that works and the tools we love
rasmusluckow
329
21k
Code Reviewing Like a Champion
maltzj
524
40k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Facilitating Awesome Meetings
lara
54
6.4k
Six Lessons from altMBA
skipperchong
28
3.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
Deeplearning4J Java/Scala で書ける産業向けのディープラーニングフレームワーク 本橋 和貴 2018年1月10日 AI & ロボット勉強会
▪ アジェンダ 社会性フィルタにより削除 ディープラーニングとは Deeplearning4J (DL4J) DL4J を用いた異常検知 2
▪ (人工)ニューラルネットワーク 脳機能に見られるいくつかの特性を計算機上のシミュレーションによって 表現することを目指した数学モデル (ニューラルネットワーク - Wikipedia) 3 図出典: http://www.lab.kochi-tech.ac.jp/future/1110/okasaka/neural.htm
人工ニューロン(パーセプトロン)
▪ ディープニューラルネットワーク ネットワークをディープにすることで より多くの、高次の特徴量を抽出 4 図出典: http://dl.ndl.go.jp/info:ndljp/pid/10952149 入力層 中間層 (隠れ層)
出力層 (Shallow) Neural Network 【中間層が1層】 Deep Neural Network 【中間層が2層以上】 図出典: GumGum
▪ ディープラーニングは機械学習のあくまで一分野 しばしば機械学習は自然からヒントを得ている • 進化論 ◦ 遺伝、自然淘汰 • 物理学 ◦
アニーリング • 群知能 ◦ 蟻コロニー • 免疫 ◦ クローン選択説 • 神経科学 ◦ ニューラルネットワーク 5 図出典: Deep Learning: A Practitioner’s Approach
▪ なぜいまディープラーニングか 計算機の発達、GPGPU (General Purpose Graphic Processing Unit) の台頭 扱えるデータ量の爆増
学習のための様々な工夫の発明 (ReLU, Dropout, Batch Normalization, etc) ⇨ ディープラーニングの本領発揮、人間を超えるパフォーマンスも 6 ニューラルネットは パラメータが多く、表現力が高い 学習が遅い・難しい (過学習、勾配の消失)
▪ ニューラルネットの学習 * 入力 x と(正しい)出力 y の “マッピング” を学習
ニューラルネットワーク = 関数近似器 7 図出典: https://www.slideshare.net/AkinoriAbe1/ss-69510936 出力の誤差 パラメータの変分
▪ ディープラーニングの得意分野 入力 ⇨ 出力 の マッピング は得意 • 物体認識(画像
⇨ 種類) • 音声認識(音 ⇨ 単語) • ゲーム(画面 ⇨ ボタン操作) • 次元圧縮(高次元 ⇨ 低次元) それ以外は実際そうでもない • 会話(フレーズ ⇨ 適切な「回答」って?) * 一問一答ならできる、チャットボット 8 ナチュラルな会話には感情のモデル化が必要でしょう https://musyoku.github.io/2016/03/16/deep-reinforcem ent-learning-with-double-q-learning/ http://tech-blog.abeja.asia/entry/object-detection-summar y 出典:いらすとや
▪ アジェンダ 社会性フィルタにより削除 ディープラーニングとは Deeplearning4J (DL4J) DL4J を用いた異常検知 9
▪ ディープラーニング開発フレームワーク Q: Tensorflow, Keras, Pytorch, Chainer, Caffe2, .. どれを使えばいいの?
10 ニューラルネットの 構築・学習・利用 のためのモジュール群 出典: https://dev.classmethod.jp/machine-learning/introduction-keras-deeplearning/
▪ ディープラーニング開発フレームワーク 11 出典: https://dev.classmethod.jp/machine-learning/introduction-keras-deeplearning/ ニューラルネットの 構築・学習・利用 のためのモジュール群 Q: Tensorflow,
Keras, Pytorch, Chainer, Caffe2, .. どれを使えばいいの? A: 好きなやつ (Python わかるなら個人的には Keras, Pytorch, Chainer) cf) 比較表 https://docs.chainer.org/en/stable/comparison.html
▪ Open Neural Network Exchange ニューラルネットのモデルの統一フォーマット Microsoft と Facebook によるオープンソースプロジェクト
「あるAIフレームワークで構築した学習モデルを異なる機械学習システムに簡単に切り 替えることを目的としている」http://www.itmedia.co.jp/news/articles/1709/08/news051.html 12 相互 import /export
▪ ディープラーニング開発工程 いわゆる研究開発用開発フレームワーク (Tensorflow など) が活躍するのは 開発工程の一部 (まあそこが肝だけど) 運用を意識したフレームワーク選び ⇨
Deeplearning4J の提案 13 図出典: https://www.abeja.asia/news/
▪ Deeplearning4J (DL4J) Java/Scala で書ける商用ディープラーニング開発ソフトウェア群 cf) Reddit 「Amazon のシステムは 99%
Java で動いている」 https://www.reddit.com/r/java/comments/7cyhjc/what_do_you_mainly_use_java_for/dptr5fg/ [[ DataVec (ETL), ND4J (線形代数), SKIL (デプロイ)]] Skymind社による商用サポートあり Apache Spark にネイティブに対応 ⇨ Hadoop クラスタを用いた並列化 14 プログラミング 人口ランキング (TIOBE)
▪ アジェンダ 社会性フィルタにより削除 ディープラーニングとは Deeplearning4J (DL4J) DL4J を用いた異常検知 15
▪ 時系列データの異常検知 【正常・異常のラベル付きデータの場合】 通常の分類問題に帰結 【ラベルなしデータの場合】 基本的にこちらが対象 方針:正常データを学習しておき、「正常」からの逸脱をみる 以降の説明で用いるニューラルネットワーク*: LSTM (時系列データを扱うためにメモリセルを導入したモデル)
+ Variational Autoencoder(正常データの復元;できなければ異常) 16 図出典: https://qiita.com/kenmatsu4/items/68e48a00aaebf338bedc * 引用元: IBM - developerWorks 深層学習を利用して異常を検出するコグニティブ IoT ソリューションを開発する https://www.ibm.com/developerworks/jp/iot/library/iot-deep-learning-anomaly-detection-3/index.html
▪ LSTM (Long-Short Term Memory) ある時刻 t の入力だけでなく、時刻 t -
1 の入力も考慮する どの時刻のデータを重視するかは入力・忘却・出力ゲートにより制御 17 図出典: https://www.slideshare.net/AndrePemmelaar/deep-lst-msandrnnsjulia 図出典: 深層学習 - 岡谷貴之
▪ Variational Auto Encoder 「入力 = 出力」になるようにエンコード・デコード処理を学習するモデル • 正常データを入力すれば正常データが復元される •
異常データはうまく復元できない (Reconstruction Error 大) 18 図出典: https://www.slideshare.net/ssusere55c63/variational-autoencoder-64515581
▪ DL4J (Scala) を用いたニューラルネット実装 1. ニューラルネットの configuration オブジェクトを作成 + 学習におけるグローバルパラメータの設定
19 引用元: IBM - developerWorks 深層学習を利用して異常を検出するコグニティブ IoT ソリューションを開発する https://www.ibm.com/developerworks/jp/iot/library/iot-deep-learning-anomaly-detection-3/index.html 2. まず、0層目に LSTM (designed by Alex Graves) を載せる
▪ DL4J (Scala) を用いたニューラルネット実装 20 引用元: IBM - developerWorks 深層学習を利用して異常を検出するコグニティブ
IoT ソリューションを開発する https://www.ibm.com/developerworks/jp/iot/library/iot-deep-learning-anomaly-detection-3/index.html 3. LSTM 層の出力を入力とした Variational Autoencoder を載せる 4. 最後に、出力層を載せ、config を MultiLayerNetwork に食わせれば完了
▪ Apache Spark を用いた並列化 21 MultiLayerNetwork オブジェクトの代わりに、 分散学習のため、各ワーカーにおける訓練結果の平均を取る機構を加えて、 SparkDl4jMultiLayer に食わせればOK
fit メソッドに訓練データセットを食わせて学習(ここでは1000回 iteration) 引用元: IBM - developerWorks 深層学習を利用して異常を検出するコグニティブ IoT ソリューションを開発する https://www.ibm.com/developerworks/jp/iot/library/iot-deep-learning-anomaly-detection-3/index.html
▪ IBM developerWorks 引用元の IBM developerWorks チュートリアルは非常に参考になる https://www.ibm.com/developerworks/jp/learn/analytics/ ベアリングの振動観測のための加速度計センサーを例に、 1.
Node-RED を用いた擬似 IoT データ作成 2. Watson IoT Platform サービスを MQTT メッセージ・ブローカーとして利用 3. ニューラルネットワークの構築・訓練 4. センサーで受信したデータに対する応答確認 https://www.ibm.com/developerworks/jp/iot/library/iot-deep-learning-anomaly-detection-3/index.html IoT x Deep Learning システム開発の一連の流れを学べる ApacheSystemML, Tensorflow (TensorSpark) を用いた例もあり 22
▪ まとめ • 社会性フィルタにより削除 • ニューラルネットワークは入力と出力のマッピングを行う関数近似器 • Deeplearning4J (DL4J) は
Java/Scala で書ける商用ディープラーニング 開発ソフトウェア群 ◦ Skymind 社による商用サポートあり ◦ 他フレームワークで構築したモデルをインポート可能 • DL4J + LSTM + Variational Autoencoder で時系列データの異常検知 ◦ Apache Spark とネイティブに連携して並列コンピューティング 23
▪ きっと参考になると思う文献 • 仕事ではじめる機械学習 ◦ 有賀康顕、中山心太、西林孝 ◦ 従来の機械学習を仕事に活用するためのノウハウ • Deep
Learning: A Practitioner’s Approach ◦ Josh Patterson, Adam Gibson ◦ プログラミング実務家向けの深層学習 w/ DL4J 活用指南書 • 異常検知と変化検知 ◦ 井手剛、杉山将 ◦ 従来の機械学習を用いた異常・変化検知手法の解説本 • 深層学習を利用して異常を検出するコグニティブ IoT ソリューションを開発する ◦ Romeo Kienzler ◦ 深層学習を用いた IoT データ解析手法の解説 24
Backup 25
26 https://www.abeja.asia/news/