---
title: ae7ae-7. 予測・判断（時系列データ，リカレントニューラルネットワーク，LSTM）
tags:  #時系列データ #リカレントニューラルネットワーク #lstm #ディープラーニング #人工知能 #金子邦彦研究室  
author: [kunihikokaneko](https://www.docswell.com/user/6674398749)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VJN5V4V878.jpg?width=480
description: トピックス：時系列データ, リカレントニューラルネットワーク, LSTM, ディープラーニング, 人工知能  ディープラーニング（スライドとプログラム例，Python を使用）（全１５回） https://www.kkaneko.jp/ai/ae/index.html  金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
published: January 29, 23
canonical: https://www.docswell.com/s/6674398749/KE6Q7K-2023-01-29-132449
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VJN5V4V878.jpg)

7. 予測・判断（時系列データ，
リカレントニューラルネット
ワーク，LSTM）
（ディープラーニング，Python を使用）
（全１５回）
https://www.kkaneko.jp/cc/ae/index.html
金子邦彦
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YE9Y6Q6XJ3.jpg)

太陽の黒点数の変化
予測
1848年～1999年のデータを用いて，2000年以降を予測
（ディープニューラルネットワークによる予測）
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GE86ZGZ97D.jpg)

データサイエンス
• データの正しい取り扱いと活用
• 統計，数学を基礎とする
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LEL9DGDMJR.jpg)

機械学習
• 学習による上達の能力
• 訓練データを使用して，学習を行う
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4JMZPQP6EW.jpg)

ニューラルネットワークの原理
ニューラルネットワークのユニットは，数理により
動く
① 入力は複数
② 入力を重みづけし合計をとる
③ その合計から出力値を得る
0.3 × 0.1
-0.5 × 0.8
⇒ 0.03
⇒ -0.4
0.2 × -0.5 ⇒ -0.1
合計
-0.47
合計に
応じた出力値
0.3846
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PJR6181N79.jpg)

ニューラルネットワーク
機械学習の能力を持つ．コンピュータで動作．
次を特徴とする．
① 入力は複数
② 入力を重みづけし合計をとる
③ その合計から出力値を得る ・合計に，バイアスという値を
1 2 3
4 5 6
7 8 9
入力
1
2
3
4
5
6
7
8
9
1
1
1
0
1
1
0
0
1
白黒の画像
（画素は 0 または 1）
足し引きしたあと，活性化関数
が適用され出力値が得られる．
・活性化関数はさまざまな種類
重み w1 ～ w9
w1
w2
w3
w4
w5
w6
w7
w8
w9
合計
シグモイド
ユニット
0.9
0.8
0.7
合計は，
0.6
1 × w1 + 1 × w2 + 1 × w3 +
0 × w4 + 1 × w5 + 1 × w6 +
0 × w7 + 0 × w8 + 1 × w9
0.3
ReLU
（2011年発表）
0.5
0.4
0.2
0.1
0
-2.0
-1.5
-1.0 -0.5
0.0
0.5
1.0
1.5
2.0
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PEXMY8Y87X.jpg)

ニューラルネットワークの仕組み
• 前の層から結果を受けとって，次の層へ結果を
渡す
〇
〇
〇
〇
〇
〇
〇
〇
〇
〇
〇
〇
入力層
〇 はユニット，線は結合
〇
〇
〇
〇
〇
（他の結合は書
〇
〇
いていない）
〇
（他の結合は書 〇
〇
〇
いていない）
〇
〇
〇
全結合のときは， 〇
〇
〇
次層の全ユニッ
全結合のときは， 〇
〇
トと結合する
次層の全ユニッ
〇
〇
トと結合する
〇
〇
〇
〇
〇
出力層
中間層
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/3EKG3K3LJD.jpg)

アウトライン
番号
項目
7-1
7-2
7-3
7-4
時系列データ
リカレントニューラルネットワーク
LSTM
演習
各自，資料を読み返したり，課題に取り組んだりも行う
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/L73NGZG675.jpg)

全体まとめ
• 時系列データは，時間とともに，値が変化するデー
タ
• 時系列データから，周期性やトレンドなどを読み取
ることができる
• リカレントニューラルネットワーク
• 回帰により，過去の情報を保持
• 時系列データなどデータの並びを扱う能力を持つ
予測，手書き文字認識，音声認識，言葉の理解，
翻訳，テキスト生成，プログラム生成 など
• 長期に及ぶ過去の情報の保持のため，LSTM が考案され
た
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/87DW1R1MJG.jpg)

7-1. 時系列データ
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/VJP9QWQQE8.jpg)

過去の量から，周期性を分析し活用
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/2EVM585PEQ.jpg)

過去の量から，トレンドを分析し活用
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/57GG656Q7L.jpg)

時系列データ
時系列データは，
昨日の気温は15度
今日の気温が13度
のように，時間とともに，値が変化するデータ
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/4EQX4Z4W7P.jpg)

時系列データの例
太陽の黒点数の変化
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/KJ46Q3Q171.jpg)

時系列データの特性
• 周期性：
• イベント：
週単位，月単位，年単位
正月，クリスマス，４月頭
• 長期的な傾向：
増加傾向，一定，減少傾向
• 誤差や，突発的な変化・変動
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LE1VP1P57G.jpg)

Facebook イベント数の分析例
曜日で色を変えてプロット ⇒
曜日単の周期性を読み取る
Taylor SJ, Letham B. 2017. Forecasting at scale. PeerJ Preprints 5:e3190v2
https://doi.org/10.7287/peerj.preprints.3190v2
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/GEWL282W72.jpg)

Facebook イベント数の分析例
周期性の分析
元データをProphet で処理した結果
土日は少ない
年末年始は少ない
トレンドの分析
元データをProphet で処理した結果
2015年からは増加
Taylor SJ, Letham B. 2017. Forecasting at scale. PeerJ Preprints 5:e3190v2
https://doi.org/10.7287/peerj.preprints.3190v2
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/47ZMD8D2E3.jpg)

まとめ
• 時系列データは，時間とともに，値が変化する
データ
• 時系列データから，周期性やトレンドなどを読み
取ることができる
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/YJ6N1P36JV.jpg)

7-2. リカレント
ニューラルネットワーク
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/GJ554KL5J4.jpg)

リカレントニューラルネットワーク
リカレントニューラルネットワークは
回帰により過去の情報を保持する
ニューラルネットワーク
前回の実行時での結果を，
回帰 次の実行に反映
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/LE3NGZL5E5.jpg)

リカレントニューラルネットワーク
• 回帰により，過去の情報を保持．前回の実行時で
の結果の一部が，次の実行に反映される
• 時系列データなど，データの並びを扱う能力を持
つ
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/8EDW1RNY7G.jpg)

フィードフォワードとリカレントニューラルネッ
トワーク
回帰
フィードフォワード
ネットワーク
リカレントニューラルネッ
トワーク
ある層の出力を，次の層が受
け取る
回帰により，前回の実行時での
結果の一部が，次の実行に反映
される．
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/V7P9QW52J8.jpg)

リカレントニューラルネットワークの動作イメー
ジ①
保持
使用
デ
ー
タ
の
並
び
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/2JVM58PXJQ.jpg)

リカレントニューラルネットワークの動作イメー
ジ②
保持
前回の実行時での
結果も使用
デ
ー
タ
の
並
び
使用
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/5EGG65PREL.jpg)

リカレントニューラルネットワークの動作イメー
ジ③
保持
前回の実行時での
結果も使用
デ
ー
タ
の
並
び
使用
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/4JQX4Z2YEP.jpg)

リカレントニューラルネットワークの応用
• 時系列データを用いた予測
データの並びを扱う
• 手書き文字認識
筆記の動きを扱う
• 音声認識
音の並びを扱う
• 「言葉」の理解，翻訳，テキスト生成，プログラ
ム生成
単語の並びを扱う
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/K746Q3LZE1.jpg)

リカレントニューラルネットワークのニュース
数学に関する教科書を人工知能が学習．数学論文の
偽物等を生成する能力を獲得
人工知能が生成した数学レポート
人工知能が生成した C言語プログラム
Andrej Karpathy のブログ記事
The Unreasonable Effectiveness of Recurrent Neural Networks. 2015.
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/LJ1VP1LDEG.jpg)

リカレントニューラルネットワークの特質
• 単純なフィードフォワードのニューラルネット
ワークより，高い能力を持つ
• その分，多くの訓練データを必要とする
• 長期に及ぶ過去の情報の保持が困難 （1991年,
1994年に理論的根拠が示された） ⇒ LSTM など，
改良が生まれた
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/GJWL28V8E2.jpg)

7-3. LSTM
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/4EZMD849J3.jpg)

LSTM の応用
• 単純なリカレントニューラルネットワークでは困
難な，長期に及ぶ過去の情報を扱うディープラー
ニング
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/Y76N1P3D7V.jpg)

LSTM 誕生の背景
• リカレントニューラルネットワークでは，長期に
及ぶ過去の情報の保持が困難 （1991年, 1994年
に理論的根拠が示された）
• 長期に及ぶ過去の情報を保持しようとすると，問
題が発生（勾配消失や勾配爆発により，学習がう
まくいかなくなる）
Y Bengio 1, P Simard, P Frasconi,
Learning long-term dependencies with gradient descent is difficult,
IEEE Trans Neural Netw, 1994;5(2):157-66, doi: 10.1109/72.279181, 1994.
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/G7554KL874.jpg)

LSTM の仕組み
LSTM は，リカレント
ニューラルネットワークの一種
回帰
出力
入力
状態を受け取る
ユニットの動作のたびに
状態が変化する
状態
状態は「メモリセル」に記憶されている
２つの機能
・記憶の持続 (constant error carousel)
1997年発表
・記憶の忘却 (forget gate)
32
1999 年発表


# Page. 33

![Page Image](https://bcdn.docswell.com/page/9J2NVWLVER.jpg)

LSTM の特徴
• LSTMは，リカレントニューラルネットワークの一
種
• メモリセルは，状態として，同じ値の長期の記憶
の保持を可能とする
• リカレントニューラルネットワークの弱点ともい
われる「長期に及ぶ過去の情報の保持が困難」で
あることを解決
• 1997, 1999年発表の技術．その後，手書き文字認
識，音声認識，自動翻訳など数多くの応用
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/DEYP3LQQEM.jpg)

全体まとめ
• 時系列データは，時間とともに，値が変化するデー
タ
• 時系列データから，周期性やトレンドなどを読み取
ることができる
• リカレントニューラルネットワーク
• 回帰により，過去の情報を保持
• 時系列データなどデータの並びを扱う能力を持つ
予測，手書き文字認識，音声認識，言葉の理解，
翻訳，テキスト生成，プログラム生成 など
• 長期に及ぶ過去の情報の保持のため，LSTM が考案され
た
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/VJN5V4K278.jpg)

7-4. 演習
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/YE9Y6QVDJ3.jpg)

Google Colaboratory の使い方概要 ①
実行
コードセル
Google Colaboratory ノートブック
コードセルの再実行や変更には，
Google アカウントでのログインが必要
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/GE86ZGP57D.jpg)

Google Colaboratory の使い方概要 ②
実行
コードセル
テキストセル
実行
コードセル
• WEBブラウザでアクセス
• コードセルは
Python プログラム．
各自の Google アカウント
でログインすれば，
変更，再実行可能
一番上のコードセルから順々に実行
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/LEL9DG13JR.jpg)

① LSTM による予測
1. 使用するページ:
https://colab.research.google.com/drive/1qxh5l0iEPU
m-QRTuEBSqBLd3V9KvqItK?usp=sharing
2. 必要な事前知識
LSTM もニューラルネットワークの一種であり，学
習のさせ方などは，ふつうのニューラルネットワー
クと同じであること
3. 各自で実行すること
実際に実行し、予測を試す．
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/4JMZPQWMEW.jpg)

太陽の黒点数の変化
予測
1848年～1999年のデータを用いて，2000年以降を予測
（ディープニューラルネットワークによる予測）
予測では，過去の観測値から「次の日（つまり一日
分）の予測」を行うことを繰り返している．
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/PJR618YL79.jpg)

① 10日分のデータから
11日後を予測
② 100日分のデータから
101日後を予測
③ 1000日分のデータから
1001日後を予測
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/PEXMY8467X.jpg)

① 10日分のデータから
11日後を予測
② 100日分のデータから
101日後を予測
③ 1000日分のデータから
1001日後を予測
訓練データの量が
1/10 になる
訓練データの量が
1/100 になる
「①より②，③が良い」と思い込まないこと
（①がベスト，ということもあり得る）
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/3EKG3KZGJD.jpg)

みどころ
10日分のデータから
11日後を予測
これを
上手く使って
太陽の黒点
数の変化
予測
1848年～1999年のデータを用いて，2000年
以降を予測
42


# Page. 43

![Page Image](https://bcdn.docswell.com/page/L73NGZD575.jpg)

プログラム
データ
（入力）
１０日分のデータ
予測結果
コンピュータ
訓練データ
１０日分のデータと，
予測結果の正解（１１日後のデータ）
LSTM も教師あり学習である
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/87DW1RPYJG.jpg)

①
LSTM
訓練データ
１０日分のデータと，
予測結果の正解（１１日後のデータ）
最初の１１日分を切り出して使用
1848年～1999年のデータ
LSTM での学習の繰り返し
2000年以降のデータ
44


# Page. 45

![Page Image](https://bcdn.docswell.com/page/VJP9QWN2E8.jpg)

②
過去の情報が
LSTM
保持される
訓練データ
１０日分のデータと，
予測結果の正解（１１日後のデータ）
少しずらして，
１１日分を切り出して使用
1848年～1999年のデータ
LSTM での学習の繰り返し
2000年以降のデータ
45


# Page. 46

![Page Image](https://bcdn.docswell.com/page/2EVM58KXEQ.jpg)

③
過去の情報が
LSTM
保持される
訓練データ
１０日分のデータと，
予測結果の正解（１１日後のデータ）
最後まで使い切って
学習を終了
1848年～1999年のデータ
LSTM での学習の繰り返し
2000年以降のデータ
46


# Page. 47

![Page Image](https://bcdn.docswell.com/page/57GG65QR7L.jpg)

④
過去の情報が 予測結果が
LSTM
保持される 得られる
予測したい部分に進んでい
く（１０日分切り出し）
1848年～1999年のデータ
LSTMによる予測
2000年以降のデータ
47


# Page. 48

![Page Image](https://bcdn.docswell.com/page/4EQX4ZKY7P.jpg)

⑤
過去の情報が 予測結果が
LSTM
保持される 得られる
予測したい部分の最後まで
続ける（１０日分切り出し
を続ける）
1848年～1999年のデータ
LSTMによる予測
2000年以降のデータ
48


