RBFネットワークとは?

AI
目次

はじめに

ニューラルネットワークと聞くと、何層にも重ねた深層学習を思い浮かべる方が多いかもしれません。

RBF(Radial Basis Function、放射基底関数)ネットワークは、よりシンプルな構造で非線形な関係を学習する手法です。大きな特徴は、「入力が、設定した代表点(中心)にどれくらい近いか」を手がかりに予測を行う点にあります。たとえば、家賃を見積もるときに「駅からの距離や広さが似ている物件の家賃」を参考にするようなイメージです。

この記事では、次の3点を順にご紹介します。

  • RBFネットワークの基本的な仕組み
  • 得意なことと、使う際の注意点
  • 斜面の動きを監視し、警戒の目安を作る応用例

数式も少し登場しますが、具体的な使われ方は最後の応用例でご紹介していますので、イメージがつかみにくい場合はそちらもあわせてご覧ください。

RBFネットワークの仕組み

基本的な構成は、入力層、RBFを計算する隠れ層、出力層の3層です。隠れ層の各ユニットは、それぞれ「中心」と「幅(広がり)」を持っています。代表的なガウス関数を用いる場合、隠れユニットの反応は次のように表せます。

$\phi_j(\boldsymbol{x})=\exp\left(-\frac{\|\boldsymbol{x}-\boldsymbol{c}_j\|^2}{2\sigma_j^2}\right),\qquad \hat{y}(\boldsymbol{x})=b+ \sum_{j=1}^{M} w_j\phi_j(\boldsymbol{x})$

ここで𝒙 \boldsymbol{x} は入力、𝒄j\boldsymbol{c}_j は中心、σj\sigma_j は反応する範囲を決める幅、wjw_j は出力への重みです。また、bbは出力全体を調整するバイアス、MMは隠れユニットの数、y^\hat{y} はモデルの出力です。入力が中心に近いほど反応は大きくなり、離れるほど小さくなります。こうした複数のユニットの反応を重み付きで足し合わせ、バイアスを加えることで、曲線的な予測や複雑な境界を表現できます。

中心の決め方には、クラスタリングでデータの代表点を求める方法や、格子の交点に配置する方法があります。今回紹介する斜面計測の資料では、格子の交点に基底関数を配置しています。中心と幅を固定したあとであれば、出力の重みは最小二乗法や正則化付きの回帰で求めることができます。

得意なことと注意点

  • 局所的な変化を表現しやすい。 中心の近くで強く反応するため、「この条件の周辺ではこのように振る舞う」という関係を組み合わせて表現しやすくなります。
  • 中心の数と幅によって性能が左右される。 ユニットが少なすぎたり幅が広すぎたりすると細かな変化を捉えにくくなります。逆に、ユニットを増やしすぎたり幅を狭くしすぎたりすると、観測データに過度に適合(過学習)してしまうことがあります。
  • 未観測の領域への外挿には注意が必要。 ガウス型では、どの中心からも遠い入力に対しては反応が小さくなります。そのため、学習した範囲の外でも正しく予測できるとは限りません。

実際に活用する際は、入力項目のスケールをそろえる前処理、中心の数・幅・正則化の調整、そして実運用に近い条件での検証が重要です。RBFネットワークは距離によって反応が決まるため、たとえば「温度は数十、回転数は数千」といった入力をそのまま並べると、値の大きい項目に距離が引っ張られてしまいます。

応用例:斜面の動きを見守り、警戒の目安を作る

山道沿いの斜面や工事現場では、地面が少しずつ動いていないかをセンサーで計測することがあります。たとえば、地面の傾きや亀裂の広がり具合といった記録です。動きが大きくなれば注意が必要ですが、「何ミリ動いたら危険か」を一律に決めるのは簡単ではありません。斜面の地形や地盤の状態により崩れやすさが異なるためです。[2]

仮に、斜面Aは毎日わずかに動いていても安定しており、斜面Bは普段ほとんど動かないとします。同じ「2ミリ動いた」という記録でも、AとBでは意味合いが変わってきそうです。あくまで説明のための例ですが、斜面ごとに警戒の目安を考える必要があることがわかります。

図1:崩れなかった期間の計測件数のイメージ

この課題に対して西日本技術開発株式会社が紹介されているのが、「ここまで動いても崩れなかった」という計測データに着目して、斜面ごとの管理基準を作る方法です。

従来は、過去の災害事例から得られた「ここまで動いたら崩れた」という情報をもとに基準値を考えるのが一般的でした。しかし、監視中の斜面が実際に崩壊する事例は非常に少なく、さまざまな斜面の実績を寄せ集めた汎用的な基準になりやすいという課題があります。一方で、計測を続けている間に崩れなかった斜面には、「動いても崩れなかった」という実績が日々蓄積されていきます。この記録をRBFネットワークで学習・分析し、その斜面で観測された「崩れなかったときの動き」の範囲をもとに、警戒のための管理基準線を策定します。[1] [2]

図2:RBFネットワークで管理基準線を作る流れ(模式図)

先ほどの式との対応は、次のように考えるとわかりやすいと思います。1時間変位量と24時間変位量の組み合わせが入力 𝒙\boldsymbol{x} にあたります。各ユニットの反応を重み付きで足し合わせ、バイアスを加えると、RBFネットワークの出力が得られます。この出力を高さとして描いたものが、図2の曲面です。この曲面を一定の高さで切ったときの線(等高線)を、計測値の平面に写したものが管理基準線になります。新たに得られた計測値が線の警戒側に入った場合は、過去の「崩れなかった動き」から求めた目安を超えたとみなし、点検や警戒を強める判断材料として活用できます。[2]

公開資料には、管理基準線を一度越えたあとに動きが収まり、線の内側へ戻ったものの、その後再び線を越えて変位が続き、崩壊に至った事例が掲載されています。つまり、線を越えたからといって、すぐに崩れるとは限りません。この基準線は崩壊の時期を言い当てるものではなく、異変を見逃さずに監視するための目安といえます。

まとめ

RBFネットワークは、入力と中心との距離から局所的な反応を作り、それらを足し合わせて予測を行うモデルです。斜面監視の例では、崩壊というまれな出来事のデータを待つのではなく、日々蓄積される「崩れなかった」記録から警戒の目安を作っていました。AIが安全を保証してくれるわけではありませんが、計測値の変化にいち早く気づくための心強い道具になり得ます。

参考資料

  1. 西日本技術開発「人工知能技術で災害防止!」
  2. 西日本技術開発「斜面計測データを対象とした学習分析による管理基準値の策定」
CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次