2015年8月27日木曜日

スパースモデリングって何ですか?

NHKの番組「サイエンスZERO」で、スパースモデリングというのを特集していました.いろいろな応用ができるうちの一つで、脳MRI画像をノイズリダクションするみたいな事例が出ていました.番組で語られていたのは、観測点数を1/10ぐらいにしてもへっちゃらだ、という利点でしたから、ノイズリダクションとは違うみたいでした.ともあれどうしてそんな魔法みたいなコトが出来るんだろ? 信号処理大好きなひら的には興味あり.
信号とノイズが混ざっていたり、信号Aと信号Bが混ざっていたりと、邪魔な信号のせいで判然としない状況をなんとかして克服する信号処理はストレージや通信の世界ではよくあります.ぶっちゃけ次のようなのが例です.

例1) HDDやDVDやケータイや地デジですでに使われている最尤復号というのがあります.送信信号にあらかじめ規則性を持たせておきます.受信信号はノイズでボロボロにやられています.受信信号を規則性から最も逸脱しないように復号します.
ゆえに広い意味で最尤復号はノイズリダクションの一種といえますが、正しく復号する根拠、すなわち、正しいかどうかの判定基準は「あらかじめの規則性」なわけです.「あらかじめの規則性」をたくさん追加するとノイズリダクション性能は向上しますけど、冗長度が増えてしまうデメリットとのトレードオフでいろいろと工夫されます.

例2) 混ざった画像Aと画像Bを分離するために、AとBの直交性を根拠にして分離するやり方もあります.ベクトルAとBの内積がゼロに近ければ直交していると呼びます.混ぜたのがあまり直交してない画像(=似た画像)だと上手く分離できません.

例3) IEEE 802.11nの無線LANは、たくさんのデータを送るためにアンテナを4本にしたりします.すると4つの電波が混ざってグチャグチャになってしまいますが、逆計算をすれば必ず分離できますから実際にそうしています.逆計算の数式を決めるにはどうするか? 答えのわかっている学習データを送信して、受信機が最も上手く分離できる数式を決定します.(たぶん)

ノイズを除去するにせよ、混ざった信号を分離するにせよ、何らかの根拠が在るから出来ているわけで、手品には必ずタネがあるのと同じです.上の3例の太字が手品のタネです.タネが無いのに分離など出来てしまったら超能力になってしまいますから.

-----
では、スパースモデリングの手品のタネは何なのか?
とあるサイトから引用しますとスパースモデリングの仕組みは、
 1) 高次元データの説明変数が次元数よりも少ないと仮定し
 2) 説明変数の個数がなるべく小さくなることと、データへの適合とを同時に要請することにより
 3) 自動的な説明変数の選択を可能にする枠組み
だそうです.
雰囲気的には多変量解析に近いみたいですが、1,2,3を読んでも具体的には何のコトやらさっぱりわからんちんです.

ネットをうろついて、このページの解説が判りやすかったです.
http://home.hiroshima-u.ac.jp/uemuram/?page_id=234

連立一次方程式を解く場面を考えます.Xが解きたい解です.この例のように、解きたいXがN個ある場合は、連立方程式がN本あれば解けます.正確にはM本≧N個ならOKOK.
ところが、スパースモデリングは、M本≦N個の連立方程式を解くというのですから、こりゃ超能力です.つまり、Xが100個(100次元)なのに、方程式が10本しかないじゃん、という場面です.そんなの解けるわけがあるか???

でも解けるのはなぜか? そのカラクリは、
たとえXが100次元であっても、90個のXがゼロであれば、解けるじゃん
というのがタネであるようです.
スパースモデリングの語源は、
100個中90個がゼロである=まばらである=スパース
から来ています.まばらとか疎という意味だそうです.

座標変換を良く知っている人なら、ある座標系では100次元のXが全て数値で満ちているけど、別の座標系では90個がゼロな場合もありうるというコトを判ると思います.そういう座標変換もスパースモデリングのテクニックの一つらしい.というか自動的にそうしてくれるみたい.

-----
Xのどの成分がゼロなのか? それを勝手に決めるんじゃねぇ!と主張したい気になる者の一人です、わたしも.

連立一次方程式を最小二乗法で解くのは従来から知られている方法です.これがその式です.
yが観測値、xが求めたい解、Aが連立方程式の係数、Axが推定値.
|y-Ax|^2は、観測値と推定値との距離、すなわちバッチリさの判断根拠です.どうして二乗なのかはピタゴラスの定理に出てくる二乗とまぁ同じです.
minは、推定値がなるべくバッチリであれ、という願望です.
「めくら撃ち」でxをあれこれと試してみて、偶然にバッチリが達成できたとしたら、、、そのxが連立一次方程式の解なわけです.実際にはxの「めくら撃ち」ではなく、何らかの根拠のあるxを試すのですが、その解説はまたの機会にいたします.

スパースモデリングも最小二乗法の変形で解くらしい.その式は、
λ|x|という、Xの各成分の絶対値を足した項が加わっていますね.なんじゃこりゃ? これでloopが収束するのかいな???   上式のモデリングがcase by caseで変わるのかどうかも知りません.わからないのでこれ以上考えるのはGIVE UPします.

ちなみに、統計処理向けの「R言語」というのがあります.Rでスパースモデリングを解くこともできるらしいです.ふ~ん、、、

スパースモデリングは脳神経科学から出てきたらしいです.脳が不要な情報をそぎ落とす動作と関係しているとかなんとかでしょうか?

通信とかストレージには使えそうにないかな? ビッグデータには使えそう.

かしこ


人気ブログランキングへ

13 件のコメント:

  1. ソニーOB:佐藤2015年8月28日 23:07

    PRMLって2~3dBのマージンが増えるんでしたっけ?
    もう一生使うことのない技術です。職業訓練では出てきません。。。。

    返信削除
    返信
    1. 符号理論を習う職業訓練があったら相当ビビりますね.(笑)
      LDPCみたいに「シャノン限界」まで行ける符号なら理論的には6dBぐらい行けちゃうんじゃなかったかと思いますが、すでにウロ覚えです.まぁ、PRMLの類の理論ゲインを現実に叩きだせる場面はあまり無いもんでしてね.(泣)

      削除
    2. ソニーOB:佐藤2015年8月28日 23:36

      実は伝送理論はユニット訓練の中にあるんですよ。テキストは最近見ました。
      でもそれを訓練に採用しているところは今のところないような。
      http://www.tetras.uitec.jeed.or.jp/CurriculumModel/unitsheet/?cd=EU403-1061-2

      削除
    3. へぇぇカリキュラムに符号もあるんですね.工事担任者を受ける人向けってとこでしょうか? このへんは平易に解説しようとすると苦労しそうです.というか苦労してますかw

      削除
    4. ソニーOB:佐藤2015年8月28日 23:52

      最近教えたのは有接点シーケンス制御とPLC制御でした。伝送理論はうちのカリキュラムに無いです。

      削除
    5. 有接点シーケンス制御ってリレーでコンピュータを作るみたいです.未体験ぞーん

      削除
    6. ソニーOB:佐藤2015年8月29日 0:15

      昔はそうみたいですね。基本は論理回路ですから。

      削除
  2. スパースと言えばLDPCを連想しますが、関連ありますか?

    返信削除
    返信
    1. わたしも「まばら」と聞いてLDPCを連想しました.
      でも、上のような調べモノをした結果、別なモノだと思いました.
      スパースモデリングの最大の特徴は、100のデータから10のパラメータを上手に推定するところにあるようです.別の言い方をすれば、無駄だった90個のデータを如何に捨て去るかという信号処理.
      それに対して、LDPCは基本的に100のデータから100のデータを取り出そうとする方式だと思います.基本的に捨てませんよと.
      ただLDPCが「まばら」なのは事実で、何がまばらなのかというと、符号化するために必要なmatrixの次元が10x10すなわち100個のパラメータが必要であるところを、10個ぐらいのパラメータで済ましちゃうというような仕組みだったと思います.すなわちLDPCは、「あらかじめの規則」を削減出来るから冗長度を抑制できてうれしいなという技術だと思えば合ってるように思います.

      削除
    2. ソニーOB:佐藤2015年8月28日 23:45

      LDPCというと野田さん??

      削除
  3. アダプティブEQのLMSみたいな感じ?

    返信削除
    返信
    1. 最小二乗法(=LMS)の部分は同じなんだと思います.スパースの部分はいろいろと違うモノみたいです.

      削除