機械学習を有効に機能させるためには、分析モデルや予測式を創るまでのデータサイエンティストによる試行錯誤や、環境変化に応じた更新という手間が掛かる。そうした課題を解決する技術が広がり始めている。

課題を解決する技術が登場

 モデルの見直しなどの課題を軽減する技術の1つに、NECの異種混合学習などがある。複数の規則性に従うデータが混在していても、データを自動的に分割し、それぞれの規則性を分析する技術である。

 一般的には、仮説から条件ごとにデータを分割して学習させて、条件分けした数の分だけ予測式を作らなければならない。異種混合学習ならば、混在したデータをまるごと読み込ませれば、自動的にデータを分割、予測式を作成してくれる。

 こういった一見“力ずく”の方式は処理が遅くなる可能性がある。しかし異種混合学習技術は、「変数の数が増えても、処理時間はそれほど増えない」(NECラボラトリーズアメリカメディアアナリティクス部門の藤巻遼平リサーチャー)仕組みが実装されている。

 大林組では、省エネ/コスト削減やBCP(事業計画継続)を進める技術研究所本館のエネルギー需要予測システムについてNECに相談した。大量のデータがあって、データの組み合わせや場合分けによって予測式を作成できる異種混合学習が向いていると判断した。

 大林組の技術研究所本館は、太陽光発電を使い、夜間電力を使い蓄電池と蓄熱槽にエネルギーを蓄積するというシステムになっている。太陽光発電は天候や季節(日照時間)に左右される。また、蓄電池や蓄熱槽は時間とともに、蓄えたエネルギーを放出してしまう。容量いっぱいにエネルギーをためればいいわけではない。翌日に使用する電力をまかなえればいい。省エネのため、エネルギー需要予測が必要となった。

 一方で、このビルの電力使用量の変動は激しい。室内側に温度、湿度、照度などのセンサーが設置してある。日射が入ると照明の明るさを調節する。従業員の部屋の入退室、席についているかどうかによって、照明や空調を制御している。従業員はICカードを携帯しており、行動を管理して省エネなどにも利用している。

 約200人の従業員が勤務しており、1人ひとりの各データが約200倍になるため、分析対象となるデータの種類が約4600に上る。さらに、季節ごと、営業日/休業日で状況が大きく異なる。人手でエネルギー需要の条件の違い、データの取捨選択や分類を人手で実施するのは困難だ。

予測式の分岐条件が分かる

 異種混合学習のシステムに、過去2年間分のデータを学習させて分析モデルを作成した。異種混合学習は、分析モデルや予測式が出力されるという特徴もある。機械学習は多くの場合、ブラックボックスとなる。分析モデルなどが分かると、何が予測に影響するのかが分かる。例えば、業務などが変わったら分析モデルの見直しが必要かどうかを比較的容易に判断できるのが、従来の機械学習との違いだ。

大林組のエネルギー需要予測の予測式選択基準
大林組のエネルギー需要予測の予測式選択基準
[画像のクリックで拡大表示]

 作成した分析モデルは、上図のように「前週建物全体使用量」や「外気温度」「休業日/営業日」などの条件で異なる予測式を利用するものである。入退室の人数によっても予測式を切り替える。この予測式の切り替えにより、予測値と実測値がかなりの精度で一致する結果が得られた。

 異種混合学習でも、データを単に入力するだけでシステムが完成するわけではない。データのクレンジングなどは必要である。当然、技術研究所本館の状況を理解し、データ(説明変数)を読み込ませる必要がある。実際、「システムの完成までNECの担当者とのキャッチボールは結構あった」(大林組建築本部設備技術部ビル情報システム課の竹井宏課長)。

 例えば、休日なのに使用電力が多い。それも休日だからといって、いつも電力が多いわけではない。これは蓄熱槽に熱をためるために電力を使うからだ。蓄熱槽は季節によって使ったり使わなかったりする。厄介なことに蓄熱槽は手動でオンオフを切り替える。つまり、データとして入力されていなかった。

 大林組では、実証実験の結果を踏まえ今年11月の導入を予定している技術研究所内のすべてのビルを対象にしたエネルギースマート化プロジェクトに今回のエネルギー需要予測システムを採用する予定である。

大林組のエネルギー需要予測の実績値と予測値
大林組のエネルギー需要予測の実績値と予測値
[画像のクリックで拡大表示]

リアルタイムでデータ分析

 Jubatusは、リアルタイムでデータを分析できる機械学習基盤である。同時に、オンラインで分析モデルを更新する。また、分散処理が可能であるため、サーバー増設によって処理の高速化が可能である。前述した「ビニールハウスの異常検知のように、過去の状態を常に学習してモデルを更新できる」(PFI研究開発部門リサーチャーの比戸将平Jubatusチームリーダー)。

 リアルタイム/オンライン対応の分散処理対応の機械学習基盤には、米ヤフーの「SAMOA(Scalable Advanced Massive Online Analysis)」や米クラウデラの「Oryx」などがある。

 Jubatusは分散処理のなかで高速化を図るため、オンライン学習する際に“緩やか”に分析モデルを共有する技術を開発した。データは共有せず、個々のサーバーでのみ処理する。

 データを処理するたびに、サーバーマシン間でモデルを更新していたのでは処理が遅くなってしまう。その解決策として、緩やかな共有を許し徐々にモデルを更新していく手法を開発、採用した。

 NTTソフトウェアは、量販店向けに従業員の行動監視にJubatusを利用したシステムを開発中である。従来、カメラ映像を管理者がチェックしていたが、手間がかかる作業であり非効率である。そこで、Jubatusを利用して、カメラ映像をリアルタイム分析して、従業員がおかしな行動を取っていないかをチェックしようというのだ。

消費電力から家電の利用を把握

 リアルタイム学習技術を使って、消費電力から居住者の行動まで分析しようというのがインフォメティス(東京都港区)の「機器分離技術」である。家庭などの分電盤に電流センサーを取り付け、各機器の電力利用状況を把握する。「掃除機や洗濯機、テレビ、エアコンなど、各機器の利用状況から行動まで導き出そうと考えている」(インフォメティス只野太郎社長)。もちろんHEMS(ホームエネルギー管理システム)用に利用できる。

 機器分離技術は、家庭などのすべての機器が消費する電流波形を、各機器の電流波形に分離する。あらかじめ各機器の消費電流を調べて学習させておく「教師あり学習」ではない。波形データをクラウドに送り、クラウド上で学習しながら自動的に機器を識別する。このため、新製品が登場しても、手作業で学習させなくても識別できる。

 機器の使用状況だけでなく、機器の老朽化や火災原因となるトラッキング現象なども検知できる。機器の使用状況が把握できるため、より詳細なマーケティング情報として使える。

 最近では、機械学習の一種であるディープラーニング技術が注目されている。アマゾンやグーグルなどが積極的に開発を進めている。これはAIで採用されたニューラルネットワークが発展したもので、機械学習とは別物という見方もある。コンピュータの処理能力が向上したことから、ニューラルネットワークの処理の回数(層)を増やすことが容易になり、実用的になった。

 機械学習、ディープラーニングといった新しい技術が登場しているが、適材適所で使い分ける必要がある。いまのところ、ディープラーニングはパターンマッチング系の処理に向くという。一方でJubatusも万能ではない。「あるユーザーは外れ値検知でJubatusに興味を示したが、従来の回帰分析などを薦めた」(NTTソフトウェア メディア事業部第一事業ユニットの冨田清次統括マネージャー)。その方が簡単でコストが安い場合もあるからだ。データ量は今後さらに増えていく。データ分析の手法の1つに機械学習を取り入れるのは時代の流れである。