講演者:佐藤 寛之(東京理科大学)
題 目:リーマン多様体上の最適化の数理
日 時:2016年3月10日(木) 18:00-
場 所:早稲田大学西早稲田キャンパス63号館 4階 420教室
オープニング
司会:では、そろそろ時間になりましたので始めさせていただきたいと思います。カウントすると今日は13回目だそうです。13回目の数理人セミナーは、理科大の佐藤さんにお願いしました。相原さん経由でお願いをしていただきました。相原さんにご紹介いただきたいと思います。
相原:簡単にご紹介させていただきます。佐藤先生は、もともとは京都大学御出身で、京都大の岩井先生の研究室にいたんですけれども、2013年の11月に早期に学位を取られまして、ただ岩井先生が退官されたので中村先生のところで学位を取られました。その後、学振のPDを2014年3月までやられて、4月から理科大の工学部経営工学科の助教に着任されました。
研究内容としては、この後お話があると思いますけれども、リーマン多様体上の最適化問題を専門とされていまして、ただ最適化手法はもちろんなんですけれども、そういう多様体上の最適化手法を通して数値線形代数におけるいろんな問題に対するアルゴリズムですね、特異値分解とか同時対角化とか、そういったものに対する計算アルゴリズムへ応用しようという研究をされています。
佐藤:大変、丁寧なご紹介をありがとうございます。東京理科大学の佐藤寛之と申します。よろしくお願いいたします。本日は、このような貴重な機会を与えていただきまして、山中先生、それからご紹介いただいた相原先生をはじめとして、世話人の先生方、本日お集まりいただきました皆様、本当にありがとうございます。
講演
それでは、早速、今、ご紹介いただいたようにリーマン多様体上の最適化ということを研究しておりますので、その概要からちょっと突っ込んだところまで、それから応用例を幾つかご紹介させていただこうと思います。
まずリーマン多様体なんですが、これは微分幾何学における基本的な対象です。先ほどご紹介いただいた私の所属しておりました岩井先生の研究室は、微分幾何を使って力学系の研究をしようという研究室でして、それで微分幾何にはもちろん興味を自分自身持っておりましたし、さらに最適化自体にも実は興味があって、その研究室自体は最適化の研究室ではないんですけれども、岩井先生に最適化にもちょっと興味があるんですということを言いましたら、こういう幾何学と最適化を合わせたような話が最近出てきているよということを2009年ぐらいに教えていただきまして、そこからこういう話をいろいろ勉強しつつ研究しています。
講演内容ですが、まず最初にその多様体についての簡単な話と、その上の最適化とはどういうことなのかというところをお話しします。
さらに、幾何学的な量がいろいろ出てきますので、これを簡単に解説しまして、さらに球面という簡単な多様体の例においてそういう幾何学的な量がどうなっているかというところをご紹介します。
その後にもうちょっと深く入っていって、最適化の中でも特に共役勾配法と呼ばれる手法についてリーマン多様体上ではどうなっているかというお話です。
最後に、応用例がいろいろとありますので、多様体上の最適化問題として定式化される例をいろいろとご紹介いたします。
では最初に、多様体上の最適化ですが、まず多様体の前にユークリッド空間の最適化について簡単にご説明をします。
今回考えますのは、このような制約条件なしの最適化問題です。これは目的関数と呼ばれる
こういった方法というのは、いずれも直線探索法と呼ばれる最適化手法の枠組みに入っているものでして、その直線探索を使ったアルゴリズムの一般的な形をここに書きました。
初期点をまずユークリッド空間の中で選びまして、そこから反復に入るんですけれども、各反復においては、点
これを図にしましたらこういう感じになるんですが、例えば初期点
求めましたら、このベクトルが定義する水色の直線上で次の点を探します。どれぐらい進んだところが目的関数を小さくするかということで、十分小さくするような点が見つかったらこれを次の点
では、探索方向を実際どう求めるのかというところですが、
ニュートン法と呼ばれる方法でしたら、
それから、これは特に詳しく後ほど説明しますが、共役勾配法という方法でしたら、最初の探索方向は最急降下方法と一致するんですけれども、それより後の探索方向は、その点における勾配の逆方向だけではなくて、1 つ前の探索方向
これがユークリッド空間の最適化なんですが、これを多様体上に持っていこうということで、動機づけのために簡単な例を 1 つご紹介します。
では、これは原点
じゃあ、ちょっと見方を変えましょうということで、この
そこで、
ということで、ニュートン法を普通はユークリッド空間で考えるわけですけれども、これを多様体上にあらかじめ拡張しておいて、多様体上のニュートン法というものをここに適用すれば実際にいいアルゴリズムが得られると期待される。スライドには書いていないんですけれども、実際この球面上の最適化問題に多様体上のニュートン法を適用しますと、それは実はレイリー商反復法と全く同じアルゴリズムになるということが証明されています。そういうわけで、既存のほかの分野での手法、今の場合ですと、数値線形代数の分野で知られているアルゴリズムと多様体上のニュートン法は実は等価であると、こういったことがありまして、そうするとこれはニュートン法ですから、一般に局所的な 2 次収束性を持つとかそういうことが証明できますので、そういったことは実はレイリー商反復でも成り立つということが、多様体上の最適化という観点からわかったりもする。それはちょっと余談にはなりますが、そういった形で多様体上の最適化問題というのは、こういうところに例えばあらわれるということであります。
では、多様体、多様体と言っているんですけれども、定義をここに書いておきました。そうすると、少しややこしい定義なんですけれども、今日は大ざっぱなところで、この厳密な定義というのはそんなに必要にはなってきませんので、集合
特に、タイトルにリーマン多様体とあるんですが、この多様体
リーマン多様体の例としましては、例えば
それからほかにもありまして、実射影空間というものがあります。これは、
ここでちょっとすき間をあけているのは、この 3 つとこの下の 2 つにはちょっと違いがありまして、この上の 3 つというのは、いずれも自然に外側の空間、球面でしたら
外側の空間がわからないようなこういう抽象的な多様体があるわけですが、こういったものも統一して理論としては扱えます。想像しやすいのはこういう外側の空間があるものなんですが、実際の理論としては、こういうちょっと抽象的なものも一緒に扱えるという話をしていくということです。
では多様体上の最適化ってどういうふうにやるのかということなんですが、まずユークリッド空間の場合の探索方向、これは多様体
図をお見せする前に、その
これは図をお見せしたほうが早いと思います。点
A: 素朴な疑問なんですけれども、ユークリッド空間の場合には探索方向というのは、その関数の降下方向を選べばいいというのは、アイデアとしてわかるんですけれども、多様体上で接ベクトルを選ぶというその根拠というか理由というのは何でしょうか。
佐藤:そうですね。接ベクトル以外に探索方向をあらわすうまい概念が自然にはないと思います。一般の多様体でしたら。どの方向に探そうかといったときに……。
A:それは実際の例えば計算のしやすさとか、そういうものまで考慮すると後々になって接ベクトルというのが扱いやすいということがあるとか。
佐藤:というのもありますし、抽象的な多様体でしたらそもそも「接していなくてもいいので、はみ出るようなベクトルを考えたい」といった場合に、そもそも外側の空間がないということがあるので、そうしますともう接ベクトル以外に考えられる幾何学的な対象というのが自然には定義できないと思います。
A:わかりました。
佐藤:ありがとうございます。
その接ベクトルとして選ぶ探索方向なんですが、どう計算するかといったときに、最急降下法でしたらやっぱりユークリッド空間と同じように関数の勾配の逆方向にするということなんですが、この
ここまではざっとした多様体上の最適化のお話でして、ほかにも幾何学的な量が出てきますので、簡単にご紹介をします。
まず、さっきから接空間と何回か言っているんですが、これは点
じゃあ球面の場合でということで、球面の例をいろいろとつけ加えながら話をしていきたいんですが、球面の場合でしたらイメージしていただいたらわかるように、
続きまして、リーマン計量というものがあります。これは、先ほどちょっと言ったんですが、各点
B:接空間はリーマン多様体のみに依存するものなんですか。さっきの目的関数の最小化のところで関数値には全く関係なくて、曲面の接している方向だけ向いているということですか。
佐藤:接空間自体は多様体だけに依存しています。
B:最急降下法も。
佐藤:最急降下法のときは、それは目的関数に依存します。
B:
佐藤:また別です。この次に出てきます。ありがとうございます。
C:リーマン計量のところで、
佐藤:これも球面の場合という特別な例で言うと、まさに
佐藤:こういうふうにリーマン計量を
今、おっしゃっていただいた勾配なんですけれども、勾配というのはこのリーマン計量に依存する概念でして、多様体上の関数
こういうふうに書きかえることの意味というのは、こう書きかえてやると、この式というのは
A:ちなみに今は、外側の空間としてユークリッド空間を考えられる場合には、標準内積を考えればわかりやすいんですけれども、外側のユークリッド空間がない場合というのは、内積をどういうふうにとるかは難しいんですか。
佐藤:そうですね。外側のユークリッド空間が定義されないような場合ですと、個別にいろいろ考えないといけないと。もうちょっと一般の場合でも、リーマン計量が与えられているような多様体の部分多様体である場合には、その外側のリーマン多様体の内積の取り方をそのまま採用しまして、部分多様体でのリーマン計量とすることはできます。
佐藤:ということで、一般には、どうやって計量を入れるかというのは、そのときどきで考えないといけないことではあります。ただ、実際数値計算できるようなものというのは、やっぱり何かしら行列であらわされていたりというのがほとんどですから、そういうことで、普通のベクトル空間の内積の入れ方をうまく使って計量を入れてやることができるという話になります。
このセクションの最後で、さっき少し紹介したレトラクションというものなんですけれども、これは具体的にはこういうふうに定義をします。
これは球面の場合の例なんですが、球面の場合はこういう簡単な式で
こういう感じで最適化をやっていく準備ができたということになります。
B:やっていることはわかるんですけれども、これは二度手間ではないんですか。もともとユークリッド空間内での方向を接平面に一旦落として、動いてまた球面に戻すんですよね。最初から球面に、ユークリッド空間内で動いたやつを接平面を経由せずに一気にリーマン多様体上に落としてはだめなんですか。
佐藤:まず、外側のユークリッド空間がないような場合ですと、こういうふうにやるしかないです。外側のユークリッド空間がある場合だったら、それは別の手法としてあり得る話で、その辺とこういう方法との比較というのは、やっていかないといけないなとは思っているところです。ただ、探索方向を接ベクトルとして取らずにやるといった場合に、その収束性の例えば理論的な解析であるとか、そういうところは難しくなってくると思います。ちょっとそれは、テクニカルな部分かもしれませんが。
B:探索方向、そうか、結局一緒ではないんですか。違うのかな。
佐藤:それは、一緒になるような多様体もあり得るとは思うんですが、一般には一緒にならないはずです。
B:距離を、ステップサイズをうまく調整すれば同じになるんじゃないかと思って。結局、射影して進んで落とすのと、その方向で進んで射影したときに一緒になるように距離の関係はあるんじゃないかと思うんですけれども。
佐藤:そうですね。それは。
B:一般にはむずかしい。
佐藤:一般の場合だと、ちょっと難しい。イメージとしては確かに成り立っていそうなんですけれども、一般の場合成り立っているかどうかというのはちょっと今は。でも、少なくとも球面の場合は、今おっしゃったことは確かに成り立っているはずです。
B:わかりました。
佐藤:その場合はステップ幅の調節で全く同じアルゴリズムになると思います。ありがとうございます。
続いて共役勾配法です。共役勾配法といいましても、通常の
これは勾配の逆方向に 1 つ前の探索方向を加えるということなんですけれども、ユークリッド空間ではこれでいいんですが、多様体の場合でしたらこの
これは、何かといいますと、定義はこうなんですが、簡単に言いましたら、接ベクトルを違う点における接空間に移動させるような写像であるということです。
これは図で描きましたらこういうふうになりますが、点
一般の多様体でも定義できる vector transport というのがあって、それはレトラクション
この vector transport というのを使いますと、多様体上の共役勾配法、ユークリッド空間とほとんど一緒なんですが、こっちは
じゃあ、あと、ステップ幅をどう計算するか、それから
ステップ幅の話なんですけれども、ステップ幅については、こういう
これを多様体に拡張するんですが、その拡張のところはちょっと飛ばしまして、流れだけで言うと、これらの不等式を
そうすると多様体では同じように点
こういった条件を満たすようにステップ幅を選べばいいわけです。特に、ここに
ユークリッド空間の場合、共役勾配法で
ただ、いずれにも共通することとして、目的関数を 2 次関数にして、すなわち線形共役勾配法、通常の数値線形代数の分野で知られている共役勾配法の場合に、こういう値を考えていきましたら、これらは全部いずれも同じものになって、線形共役勾配法に帰着されます。
いろいろあるんですけれども、特に今回は Fletcher-Reeves の
ところが、Dai-Yuan の方法というのは、こういう
まず簡単な Fletcher-Reeves からなんですけれども、収束性はほとんどユークリッド空間の場合と同じように証明できるということなんですが、ただ、その
じゃあ、どうやって改良しようかということで、案としては、vector transport がベクトルのノルムを大きくしてしまうときは、それは困るので、ノルムを小さくするような正の数を乗じる、つまりスケーリングをしてやったらいいんじゃないかということで、われわれが提案したのが scaled vector transport と呼ばれるものです。これはこういうふうに定義されていまして、vector transport で接ベクトルを動かしてやるんですが、その自分自身のノルムで割ってやって動かす前の接ベクトル
じゃあ、多様体上の Fletcher-Reeves 法というのを、こういうふうに定義できるのではないかというのがこちらです。ステップ幅は、これはユークリッド空間の場合も強ウルフ条件じゃないと収束性はいえないんですけれども、同じように多様体の場合も強ウルフ条件を仮定します。ここで先ほど vector transport を使うと言っていたんですが、その少し違うバージョンということで
この辺の仮定は、リプシッツ仮定と呼ばれているもので、標準的な仮定というか、ごく自然な仮定です。大域的収束性と言っていることの意味は、勾配のノルムの列の
A:先ほどの vector transport というのは、ノルムの値が小さくならないといけないという条件があったと思うんですけれども、それについてイメージができていなくて、ノルムの大きさが大きくなっても次の係数の計算、
佐藤:
A:
佐藤:
A:トランスポートして、ノルムが大きくなっても
佐藤:そのとおりです。もちろんそれでよくて、結局これでやったときに、ここをスケーリングしますよというかわりに、そのスケーリングの際に使う定数を
A:それでも、Fletcher-Reeves は。
佐藤:はい、そうですね、どっちが見やすいかというぐらいの話です。
B:トランスポートするときに、じゃあ小さければ何でもいいんですか。
佐藤:理論的にはオーケーです。ただし、あんまり小さくするとだめかもしれないですね。そこはもとの接ベクトルの情報を落としてしまうぐらい短くしてしまうとうまくいかないかもしれないですね。
ここ、繰り返しなんですけれども、従来の手法というのでは、ここの不等式が成り立っていないと困るということで、これをもうあらかじめ仮定してしまおうということで、普通の vector transport を用いるというのがあります。ただ、それですと、さっき言いましたようにうまく行かいない場合がある。実際、この不等式が自然かというとそうではなくて、破れることというのは幾らでもあります。なので、そういうときにはやっぱりスケーリングをちゃんとしてやろうというのがわれわれのやり方です。実際、それはこういうスケーリングしていない方法の改良になっているのかということで、その比較なんですけれども。この不等式ですね。この仮定が成り立たないような例をまずは人為的につくってみます。
対角行列に対してレイリー商最小化をするという問題です。人為的にということの意味は、計量を標準内積ではないもので定義するというところなんですが、ここに
そうすると、内積をこういうふうに定義しますから、接ベクトルのノルムというのが大きくはかられやすくなるということで、そういう状況を無理やりつくってこの不等式が破れるという場合をつくってみました。
勾配とかレトラクションとかは
横軸を反復回数、縦軸を目的関数値としたグラフがこちらなんですけれども、10 万反復しても目的関数値は最小値の 1 という値から非常に離れたところにいます。
このがたがたがちょっと気になるところなんですが、縦軸をちょっと変えてみまして、今度は
これがうまくいかないとすれば絶対にこれが破れているはずなので、じゃあ実際この不等式の破れぐあいというのを見てみましょうということで、この左辺を右辺で割ったような量、比、を考えます。そうすると、この比が 1 以下になっている場合というのはうまくいっているはずなんですけれども、実際その左辺 / 右辺という比を縦軸にしてまたグラフを書きますと、これがやっぱり 1 を超えてしまっているところがたびたびあります。
じゃあということで、これは10 万反復までいっていますけれども、2 万反復目まででちょっと拡大して、この前の図とこちらの図を合わせて書いたものがこれです。そうすると、その比が 1 を超えてはいけないということなんですけれども、確かに比が 1 を超えているのと同じタイミングで
そうすると、じゃあ提案手法のようにスケーリングをしてやったらどうかなというと、ちゃんと
実際、最適解と
ということで、やっぱりスケーリングは有効だなということはわかりました。ただ、今のは人為的な例でしたので、もうちょっと自然な例を今度は考えます。ほとんど同じような問題で、標準計量ということで内積も自然なものを使います。
1 点だけ、レトラクションは少し違うものにしました。これも自然なレトラクションで、よく使われるものです。ただ、このレトラクションを使うと vector transport はこういうふうになりまして、そうすると必ずさっきから言っている不等式というのが破れてしまいます。常に vector transport は接ベクトルのノルムを大きくしてしまいます。この式から
既存手法と提案手法を比較してみましたら実際に提案手法のほうは 200 反復ぐらいで収束しているところが、既存手法だったら 300 反復ぐらいかかっているということで、やっぱりスケーリングはこういう自然な例でも有効だということがわかると、こういう話です。
これが Fletcher-Reeves の場合でして、Dai-Yuan というのも同じようにありますけれども、ユークリッド空間の場合でしたらこのようなアルゴリズムです。
なぜ Dai-Yuan の方法が Fletcher-Reeves 法と別にまた考えられたかというと、さっきから強ウルフ条件というのを言っていたんですが、そうではなくてもうちょっと緩いウルフ条件というもので実は大域的収束性が保証されるという話があります。ユークリッド空間の場合は大域的収束性が証明されています。
これを多様体上に拡張したいということで、また同じように、ただちょっと難しいところがあったりするんですけれども、ちょっとそれは省略しまして。
いろいろと試行錯誤を経ながら頑張ってこの
かなりややこしい式なんですけれども、さらに
少しだけ補足すると、ユークリッド空間の場合の
いろいろ試行錯誤を経てこういうものを得まして、先ほどと同じように大域的収束性が証明できました。
これも数値例を最後に見ますと、同じ球面上のレイリー商の最適化の例で、DY と書いてあるのが Dai-Yuan です。FRと書いてあるのが先ほどまで説明していた Fletcher-Reeves の方法。wWolfe と書いているのは普通のウルフ条件、つまり弱ウルフ条件のつもりなんですが、sWolfe というのが strong Wolfe ということで強ウルフ条件を満たすようにステップ幅を決めているというようなものになっています。
そうすると、DY というのは水色と赤色ということで、ステップ幅のほうを合わせてこの水色と黄色、DY と FR を比べたら DY のほうがいいということがわかりますし、この赤色と紫色を比べると、これはちょっとどっちがいいかわかりにくいんですけれども。
もうちょっと次元を上げていったらやっぱりこの赤色の DY のほうがどうもよさそうだということがわかります。
さらにもうちょっと詳しく見ていきますと、反復回数でいってもやっぱり DY は FR に比べて少ない反復回数で収束する。次元はこっちが100 次元でこっちが 500 次元の問題です。関数の評価回数とかで見ますと DY のやっぱり弱ウルフでやるというのがよかったり、勾配の評価回数もそうです。気になるのは計算時間ですけれども、計算時間で言っても DY をウルフ条件で実装するというのが一番速いということがわかる。そんな感じで DY を提案するというのは、やっぱり FR よりも優れたものを提案するということになっていて、意味があることになっています。しかも、この弱ウルフ条件というのは、強ウルフ条件を満たすようなステップ幅よりも簡単に見つけられるので、そういうところでこの反復回数は多くなってしまっているけれども、関数の評価回数とか勾配の評価回数は小さくなっている。この上の 2 行で比べた場合ですね。反復回数は上のほうが多いんだけれども、評価回数で見ると上のほうが少なくて、結果的に計算時間も短いというようなことになっています。
こういった形で今のは Dai-Yuan の方法でした。
C:さっきのグラフだと最適解の距離みたいな感じなんですけれども、今度は勾配のノルムを見ていて違うものを見ている気がするんですけれども、何か理由があるんですか。
佐藤:それは合わせておけばよかったです。理由はないです。
C:勾配のノルムが十分小さいと十分最適解に近いとか保証みたいなのはあるんですか。
佐藤:それは、個別の評価になってくると思いますが、少なくとももちろん最小点では勾配は 0 というのは理論的に言えているので、ある程度滑らかな関数ですから、その辺の評価はできるはずではあります。
A:さっきの Fletcher-Reeves のほうなんですけれども、不等式が成り立っていない部分がありましたよね。でも、実験結果を見ると収束しているように見えたんですが、それは必要十分ではないということですか。
佐藤:必要十分ではないです。例の不等式を満たすということは収束のための十分条件です。必要条件ではないです。
今、Fletcher-Reeves と Dai-Yuan を紹介したんですけれども、こことここです。ただ、ユークリッド空間ではこういう基本的な
ということで、今は FR と DY の話をしたんですけれども、ほかの
ということで、まず多様体上の最適化の概観を見てきまして、特にじゃあ実際に最適化はどういう手法でやるのかということで共役勾配法を詳しく説明しました。
最後に、実際、こういう応用例があるということを紹介しようと思っているんですけれども。
まずは特異値分解への応用というのがあります。数値線形代数への応用の一例ということで、
特異値分解のアルゴリズムだというと、いろいろと特異値分解には優れたアルゴリズムがありますので、例えば速度はこっちのほうが速いなどとはなかなか言えないですけれども、ほかの例もあるということで、目的関数を変えたり多様体を変えても同じ話で、ここで研究した話というのは、ほかのところにもどんどん使えますから、そういうことで今日ははほかの例も紹介します。
統計のところで正準正準相関分析というのがありますので、そういうところへの応用の話です。平均 0 の 2 組のデータ行列があったとしまして、分散共分散行列とかそういったものをこういうふうに定義しております。このとき、この
そうすると、これを最大化するということなんですが、これは無制約の問題ではあるんですけれども、この
さらに、この
という話もありますし、あと制御の話もありまして、制御理論においては、こういう状態方程式と呼ばれるものを考えるんですが、
定式化の方法としては、
そうすると、これはやっぱりシュティーフェル多様体上の問題になっていて、目的関数はもとのシステムと低次元化したモデルとの誤差の 2 乗になっている。これは、制御の言葉で言うと伝達関数の差の
また、テンソル補完問題というのもあります。これは、与えられた 3 階のテンソルがあって、このテンソルというのは特定の添字のところだけ成分がわかっているという状況です。そのわかっている成分のところにうまく合うように低ランクの異なるテンソル
これは、テンソルがこういうタッカー分解というのを持つという話がありまして、結局この
さらに、ちょっとここでこの
こういう例もありますし、最後ですが、逆固有値問題への応用ということで、二重確率行列と呼ばれる各行の和と各列の和がいずれも 1 となるような非負の正方行列に関して、DSIEP (Doubly Stochastic Inverse Eigenvalue Problem) という問題があります。これは、与えられた複素数の集合があったときに、
この問題も、oblique manifold と呼ばれる多様体ですとか、狭義上三角行列全体の集合ですとか、直交群とかを使いますと、結局のところ oblique manifold と直交群と狭義上三角行列全体の集合という、この 3 つの多様体の直積の積多様体上の最適化問題というふうに書けます。
ということで、こういう例もある。これは私の知る限り一番新しい応用例です。これはさっき紹介しました共役勾配法を使ってくれているということで、引用していくれていたので見つけたんですけれども、この問題を解くのに先ほど紹介したような共役勾配法が例えば使われていたりするという話です。
ということで、いろいろとあるわけなんですが、最後にざっと振り返ります。
今日のお話は、最適化はリーマン多様体上でどういうふうになっているかということをお話しまして、最後に応用例をいろいろ紹介しました。メインパートとしては、共役勾配法と呼ばれる方法を特に詳しく紹介をしました。
今後は、先ほどの繰り返しですが、共役勾配法というのはユークリッド空間で現在でも盛んに研究されていまして、いろいろ新しい結果が出てきています。そういったものをリーマン多様体の上に拡張していきたいなということですとか、最後に紹介しましたように、いろんな分野の問題がリーマン多様体上の最適化問題になっているということでその解法をいろいろと多様体上の観点から提案していければ、いろいろと役に立てるのかなというようなことを考えております。
ということで、以上で発表を終えさせていただきたいと思います。どうもありがとうございました。
質疑
司会:何か会場の方から質問があればお願いします。
B:一番最初のほうの多様体の例のところで教えてもらっていいですか。シュティーフェル多様体は、
佐藤:
B:今回出された例は、全部これで言うと上のやつですよね。
佐藤:そうですね。
B:外が存在しないときというのが、いまいちぴんと来なくて。
佐藤:実は最後の例だけ、商多様体を考えていまして。これは、外側の空間があるようなこういう多様体。これですと、
例えばこういう例があります。これは、さっきの球面上のレイリー商最小化というのを、それは最小固有値だけだったんですが、小さいほうから
B:何で小さくなったのに外がないんでしょうか。それは
佐藤:
B:グラスマン多様体上で最適化するときに、さっき言っていた接平面に一旦落とさなきゃいけなくなるんですか、そのときは。それの代表があるんだから、結局、探索方向というのは、
佐藤:はい。
B:その後、グラスマン多様体の接平面に一旦落としてと経由する必要がどこに出てくるのかというのが、いまいちぴんと。
佐藤:最急降下法の場合でしたら、もしかしたら二度手間になっているかもしれないです。ただ、共役勾配法までくると 1 回接空間に落とさずにという考え方でやろうと思うと、多分、かなり話がややこしくなってきまして、この辺でもやっばり接空間の上での足し算とかという話になってきますし。
B:全部ユークリッド空間でやればいいんじゃないかと。
佐藤:それは一つあり得るのかとは思いますけれども。
B:結局、1 反復終わった後にその多様体上に落とすという作業をやるのであれば、それまでは全部ユークリッド空間でやっちゃってもいいように思えちゃうんですけれども、そうやるよりは探索方向の決定は接平面で 1 回やったほうがうまくいくということなんですかね。
佐藤:そうですね。ちょっと、接空間に落とさずにやるというのはなかなか、おっしゃっていることはわかるんですけれども、ちょっと難しいのかなというふうに思っています。
B:わかりました。
A:それは、現実的には多分ありだと思うんですけれども、収束性証明とかはかなり難しくなるんじゃないかな。
佐藤:その辺も全部ユークリッド空間のほうで話をすれば同じようなことを言えるのかもしれないんですけれども、かなりややこしくなってくるとは思います。
A:ユークリッド空間上でいろいろ計算した後に多様体上に戻したときにどこに落ちるのか。
佐藤:そうですね、その辺の話が。
B:結局、接平面上でつくったやつを多様体上に落とすときに、同じことをやる、起こるんじゃないか。
A:それはある程度、その多様体上のちゃんと距離を定義すれば、いいところに落ちるというのは、ちゃんと解析されているんです。
B:じゃあ、最初はもともとはユークリッド空間内で持っている関数をある意味で無制約の状況で降下方法を決めて接平面に落とす。そこの落とし方も結局わからないと言ってるのと同じ気がして。2 段階で落とせば何でわかって、1 回で落としたら何でわからなくなるのかというのが。
A:接平面に落とすときには射影なんですよね。平面上に射影してあげて、それを滑らかな曲面に対して自然に落ちてくるところなんですけれども、よくわからないところからいきなり落とすと、それはどこに落ちているのかというのはわからない。
B:一気に落ちているようで、1 回、接平面を経由して 2 段階ぽんぽんと落ちたというようなことしかできないということなのかもしれない。
佐藤:あとは、多様体から全くはみ出ているような方向でしたら、その方向に目的関数がどういうふうに減少するかというのを見ても、多様体上で 2 段階経由せずに一気に多様体に落としたときにどういうふうに関数値が変化するかというのはちょっと見にくいのかなと。それもやっぱり 1 段階で落とした場合のはみ出たベクトルと多様体上の点との関係をちゃんと導いておけば議論はできるんでしょうけれども、でもそうすると一般の場合の話というのは多分難しくなると思います。
個別の場合は、例えばこういう多様体だったら結局一気に落とせばこういうふうになるとかという話は多分できると思うんですけれども、全く一般の場合をやろうと思うとやっぱり接ベクトルとして考えてという話になってくるのではないかなと思います。
B:接ベクトルに一旦行って、
佐藤:勾配は球面という外側のユークリッド空間がある場合の例ということで、射影したような感じだというふうに言ったんですけれども、そもそも一般のリーマン多様体上の勾配というのは、まさにこの式を満たす接ベクトルというふうにしか定義できないということで。そういう意味では、そもそも一般の場合は、はみ出ていてもいいよと言われても、そのベクトルを求められないというか。まず自然な勾配を求めようとしたら、もうその時点で接ベクトルになるという感じです。
B:意味がわかりました。
A:関係してなんですけれども、方向が決まった後にユークリッド空間と、いわゆる正確な直線探索みたいなことで、関数値を一番下げるように選べると思うんですけれども、それに対応するような多様体上の正確な探索という、そういうものというのは対応するものはあるんですか。
佐藤:それは全くユークリッド空間の場合と同じです。結局、直線探索は何をやっているかというと、さっきちょっと見てきたんですが、今いる点から探索方向に伸びるような直線を考えて目的関数値を見ましょうと、ユークリッド空間の場合ですね。そうすると、
A:それは、実装は結構大変ですか。
佐藤:それは、ユークリッド空間の場合でも通常正確な直線探索というのはあんまりされないとは思います。いろいろもちろん正確に探索する方法はあるとは思うんですけれども。
A:よくわかっていないんですが、その概念としてまずはユークリッド空間に正確な直線探索があって、それは難しいからいろんな手法が考えられるという。
佐藤:そうですね。
A:そういう意味では、正確な直線探索みたいなのがあった上でそれを多分難しいので…。
佐藤:そうです。ちょっと近似的に近くのやつを持ってきましょうという感じですね。
司会:ほかございますか。
C:多様体の定義みたいなところで、同相写像というのがあったんですけれども、同相写像というのはどういうものですか。
佐藤:同相写像といいますのは、全単射な写像でかつ自分自身もその逆写像も連続である写像です。すなわち、連続的にユークリッド空間と 1 対 1 に対応がつくということですね。
C:リーマン計量上で勾配を求めるというのが、ちょっと直感的にはよくわかっていなくて、こういう曲面に沿うようなものを見つけているということになるのか、それともまた違うんですか。
佐藤:沿うようなものではなくて……。
C:飛び出るもの。
佐藤:そういう意味では、接するものとしてということですね。
C:沿うものを見つけるというのは難しいんですか。
佐藤:それはベクトルではなくということですかね。
C:ベクトルではないというか、局所的に多様体を平面化してみて直線探索する、そういうアイデアは難しいんですか。
佐藤:それをやると、結局多様体で曲げてやると結局こういう多様体上の勾配を接ベクトルとして求めてそれに接するような曲線の上で探すのと同じことになります。すなわち、この図で例えばこれが勾配だとして、この勾配という接ベクトルに接するような曲線の上で次の点を探しているんですけれども、これは、局所的にこれはユークリッド空間と同一視できるからということで、同一視したユークリッド空間、この図でしたら平面とこの曲面が同一視できるということですけれども、平面の上でこの話を書き直してやると図的にはこういうことをやっているのと同じになります。
C:そうすると、リーマン多様体上で解を探索していくというのは、制約条件を常に満たしながら解を探索をしているということですか。
佐藤:そうですね、はい。そのとおりです。
C:そうすると、例えば、固有値問題だと球上で答えを見つけようとするんですけれども、球の反対側から真の解を見つけようとしている場合もあるということですよね。うまく初期解を選ばないと。
佐藤:そうですね。ただ、実は、今のレイリー商の場合ですと
C:そうすると、何か球の中を突っ切っていくようなのに比べたら遅くなってしまう。
佐藤:それは、あり得るとは思います。そうですね、全然別のアルゴリズムということになってくると思うので、それは状況によってどっちがいいかというのはいろいろあり得ると思います。
C:わかりました。
佐藤:ありがとうございます。
クロージング
司会:すごくたくさん応用例があって、すごく面白そうな、これからも発展していきそうな面白い分野ですね。
佐藤:ありがとうございます。
司会:なかなか最新の、年号が最近のものがすごく多くて、そんなに活発やられているところというのは、いろいろあるとは言え、あまり多くはないと思うので、ぜひまたほかのことも時間のある人はいろいろ聞いてみるといいかなと思います。
ちょうど時間になりましたので、これで終わりにしたいと思います。どうもありがとうございました。
プロフィール
2013 年 11 月京都大学大学院情報学研究科博士後期課程期間短縮修了。博士(情報学)。日本学術振興会特別研究員(PD)を経て、現在、東京理科大学工学部情報工学科助教。幾何学的な連続最適化の理論およびその応用の研究に従事。日本応用数理学会、日本オペレーションズ・リサーチ学会、IEEE、SIAM、各会員。ホームページ:https://sites.google.com/site/hiroyukisatojpn/