本研究では,時々刻々と変化する交通条件におけるモデルの適用性を高めるため,ディープラ ーニングによるモデル構築を行った.
構築するディープラーニングモデルについて 第1項 ディープラーニングとは
ディープラーニングとは,機械学習手法の一つであり,主にニューラルネットワーク(以下NN)を 基盤とした変数選択が自動化されたモデリング手法である.モデルの予測精度が高く,主に画像 認識や言語予測などの分野で成功を収めている.その一方でモデルの構造がブラックボックスなも のとなっており,とにかく精度の高さを要求するような識別問題に適性がある.ところが通常のNN は時系列データの解析に不適当なモデルとされ,今回対象としている事故や渋滞の発生といった 時系列な性質を持つデータの扱いには向かない.そこで時間を遡ることができ時系列を考慮可能 なリカレントニューラルネットワーク(以下,RNN)を使用する.ただし,RNNには長期依存を学習 できない問題がある.そこで本研究では,長期的な時系列データを扱うため,リカレントニューラル ネットワークの拡張モデルであるLSTM(Long Short-Term Memory)層を使用し,LSTM層の 予測への適用可能性を検討することとした.
43
第2項 LSTM(Long Short-Term Memory) 層とは
第1項においても触れたように,一般的なRNNの課題として,長期依存を学習できない点が 挙げられる.これは「勾配消失問題」と呼ばれ,誤差逆伝搬時に,誤差を入力に近い階層まで伝搬 させることが困難なことにより,系列データが長くなるにつれ「勾配消失問題」が生じる.このため10 時刻程度のデータを超えると限界を迎えることが多い.
そこで内部状態を記憶するメモリセルと3つ(忘却/入力/出力)のゲートを構成することで勾配消 失問題を解決し,短期と長期の記憶を両立した内部情報の保持方法を実現したものがLSTMで ある.詳細を以下の図に示す.本研究においては,LSTMの構造はメインではなく,今後のペー ジにおいて扱う際には「LSTM BLOCK」として表現する.
図 4-1 リカレントニューラルネットワークとLSTMの違い
図 4-2 LSTMの詳細
(参考:「山下隆義著,イラストで学ぶディープラーニング改訂第2版」より引用)
44 第3項 入出力データとモデル構造
モデルの概要を図4-3に示す.入力データには,ベイジアンネットワークで使用した変数と同じ ものを使用する.詳細は表3-1を参照されたい.また,出力として5分後の事故・渋滞の発生を予 測する.出力はベイジアンネットワークと異なり,「非渋滞継続」「渋滞発生」「事故発生」の3種類 のものを設定した.これはベイジアンネットワーク同様4種類の出力を与える前段階として,最低限 の適用可能性をみるためにこのような設定とした.
入力と出力については,様々な角度からディープラーニングに対してアプローチを行った.結果 的にこのモデルに落ち着くまでの入出力の検討過程については付属資料を参照されたい.
図 4-3 モデルの概要
45
学習データの抽出方法を示す.学習データには事故発生データ,渋滞発生データ,無事故・非 渋滞データを用意した.事故発生データと渋滞発生データは,事故・渋滞の発生する直前の時間 から約2時間分のデータを抽出する.その後,事故発生データと渋滞発生データと被りがないよう 事故・渋滞の発生しない2時間分のデータを抽出する.なお,無事故・非渋滞データが学習デー タの約半数になるよう事故発生データ件数と渋滞発生データ件数を基に設定した.抽出の際,学 習データのうち無事故・非渋滞データはランダムに選択する.このランダムな抽出を10データ分 行う.このデータを合わせたものを学習データとする.その概要を図4-4に示す.図4-4を見ると わかる通り,事故発生件数は通常時や渋滞発生件数と比較して少ないため,モデルに反映されに くいことが考えられた.そこで10の異なる入力データから異なる学習データを形成し,予測された 発生確率の平均値を分析した.
図 4-4 学習データ概要
… … …
…
46
モデルの構造は,LSTM層1層を隠れ層としたものを構築した.入力層と隠れ層の間の活性化 関数にはReLU関数を用い,隠れ層から出力層の間の活性化関数にはsoftmax関数を使用し た.ReLU関数は,0以下の入力を0に置き換え,0より大きな入力はそのまま出力する関数であ
る(図4-5).入力層隠れ層間の活性化関数には,その他にTanhやSigmoidが存在するが,今
回は不適当な値を十分に排除するためにReLU関数を使用する.softmax関数は分類問題等 で頻繁に使われる関数であり,正解ラベルの推論を確率で割り振ることができる.本研究において も,「非渋滞継続」「渋滞発生」「事故発生」の3種類の交通状況への遷移への分類問題を考える ため,softmax関数を使用した(図4-6).
図 4-5 ReLU関数
図 4-6 softmax関数の例
47 分析結果
第1項 損失値と正解率
はじめに,損失値と正解率を指標として分析した.損失値は,予測と実際の値のズレの大きさを 表すものであり,モデルの予測精度を評価する.一方で正解率は,全ての事象の中で結果があっ ていたものを指す.今回の分析においては,664あるデータのうち,200を訓練データ,464を検 証データとし,エポック数(計算の繰り返し回数)を100回とした.その結果の一例を以下の図4-7,
図4-8に示す.
図4-7は損失値を示す.この結果を見ると,検証データの損失値がエポック数を増やすごとに 悪化している.すなわち過学習している結果となった.構築するモデルには,この損失値が最小に なる,すなわち最良になるものを採用する.本研究では学習データをランダムに抽出しているた め,その抽出したデータにこの結果が依存していることが考えられた.しかし,抽出データのちがい による影響は大きく見られない結果となっていた.一方で中間層を増やすことでの結果の変化は,
抽出データのランダム性と比較して大きい結果となっていた.これは付属資料を参照されたい.
図4-8は正解率を示す.この結果をみると,訓練データではほぼ100%まで精度があがることが わかる.一方で検証データの結果は横ばいになっており,7割~8割前後の正解率にとどまる結 果となっていた.
48 図 4-7 損失値
図 4-8 正解率
49 第2項 再現率
損失値と正解率のみでの検証は不十分であると考えた.これは例えば,全データのうち90%を 正解しているとされた場合に,全データ中7%に満たない事故発生を全く事故発生として正解でき ていない場合においてもこの数字を叩き出すことが可能なためである.そこで再現率を指標として 用いる.再現率には,「実際にXのデータでXと判別される割合」「実際にXではないデータでX 以外に判別される割合」の2種類が存在する.その結果の一例を以下の図4-9に示す.図4-9に 示す再現率の数値は,前者を左,後者を右で示している.これをみると,実際に事故のデータで事 故発生と判別される割合が33%と高い数値を持つことがわかる.その他の数値も7割を超してお り,良好な結果であると考えられた.しかしながら,事故発生を事故発生と判定する再現率の値に はばらつきが大きく,ほとんど的中していない結果を持つケースも多々見られた.
図 4-9 再現率の結果
50
続けて,より高い再現率を目指し,入力する変数選択を変更した.これは,67種類の変数が多 すぎる関係で,モデルに影響の大きな変数が出ていないのではないかとの仮説の元進めたもので ある.変数を減らす際,ベイジアンネットワークの結果を参考に変数を絞ることとした.選択された入 力変数の個数と内訳を以下の表に示す.個数とその内訳を選択した理由を示していく.はじめに,
ベイジアンネットワークの結果を参考に,ベイジアンネットワーク上における親1の変数3種類のみ で表現する方法を考えた.また,親2,3を含めて考えた際,TC4地点の追越車線の実交通量が影 響を与えている結果を得ることができた.これより,個数3,4の場合を設定した.一方で,ベイジアン ネットワークの結果とは独立してどの要素が表現しやすいのかを,モデルを組む上で知っておく必 要があると考え,それぞれの速度であれば速度のみ,といった形で要因別の分析も行うこととした.
これにより,個数6,7,18a,b,cを与える.また,要因だけでなく車線別の影響も考えたほうがモデル を組む上で参考になるのではないかと考え,車線毎に分けたものを用意した.ところが,本研究に おいて「速度」は断面速度を指すため,速度を組み込むことができなかった.そこで,ベイジアンネ ットワークの結果において影響のあった「速度_TC0」と「速度_TC2」を加えることとした.これが
20a,b,cである.これまでと同様67個の変数を含めたものを用意し,それぞれの入力変数の組み
合わせにおける再現率を比較する.
表 4-1 入力変数の個数と内訳
51
表4-1に示す入力変数の個数と内訳により,標準化したインプットデータを用意し,10種類の 学習モデルを構築した.この10のモデルにおいて導出された再現率の平均値を比較する.な お,本研究においては,「XであるもののうちXと判断できた割合」をrecall,「Xではないデータ でX以外に判断される割合」をrecallxと呼ぶ.この結果を以下の表4-2に示す.
この結果から,変数の数が極端に少ない場合には,事故をほとんど判別できないことが分かる.
また,渋滞に関しても,変数が3の場合に相対的に低い再現率を示していることから,変数の数は ある程度なければならないことが言える.続いて変数7個の際の再現率を見ると,事故をほとんど あてられないことは勿論のこと,渋滞や通常時の再現率も大きく低下することが明らかとなった.変 数7個中に含まれるものは,天候や風速など環境要因で直接的に交通流から得られたデータで ないことによる結果であると考えられる.天候や風速などの環境要因が事故や渋滞の発生には大 きく関係していないといえる.しかしながら,今回の分析においてはその他に変数67個の場合の みに環境要因が含まれていること,また過去の既往研究から悪天候時の事故率の増加が指摘され ていることもあり,慎重に考えていく必要がある.
同様に変数18個の場合を見ていくことにする.18a,bにおいては再現率が20%弱にまで上っ ていることがわかる.一方で,18cに着目すると,18a,bと比較して約半数の再現率にまで落ちてし まっている.18cは大型車混入率であり,この結果から大型車混入率がほかの要因と比較して事故 発生への影響が大きくない可能性が考えられる.加えて,18cは渋滞や通常時における再現率も そこまで大きくなく,特に休日のみに絞っている今回の研究においては大型車混入率の影響をそ こまで強く意識する必要がない可能性が考えられた.
次に車線別の20a,b,cの比較をする.この結果を見ると,20a,bは再現率が20%弱にまで上が っていることが分かる.また20cをみると,事故の再現率が26%を超え,67個の変数を使用したモ デルの再現率よりも良好な結果を得ることができた.事故発生以外にも,渋滞発生において67個 の変数を使用したモデルと比較して再現率が大きく出ており,全体的に予測に安定感があるように 思われた.20cは第1走行車線をまとめたものであり,追越車線から渋滞が始まることや追越車線 において事故が多いことなどの過去の知見と比べて直接関係がありそうにない結果となった.そこ で第1走行車線が影響を与えていた理由を探るべく,感度分析を行うこととした.