« 前のひとこと | トップページ | 次のひとこと »

cocolog:94018088

中平健治『図式と操作的確率論による量子論』を読んだ。わかった気にさせてくれるよい本だった。モンティ・ホール問題をプロセスでどう表現するか? 機械学習のパーセプトロン的なものが必要では?…とか考えた。 (JRF 0015)

JRF 2023年2月11日 (土)

『図式と操作的確率論による量子論』(中平 健治 著, 森北出版, 2022年10月)
https://www.amazon.co.jp/dp/4627170610
https://7net.omni7.jp/detail/1107343113

なお、補遺や補足がインターネットで公開されていて、↓のダウンロードを辿れば手に入れられる。

《図式と操作的確率論による量子論|森北出版株式会社》
https://www.morikita.co.jp/books/mid/017061

JRF2023/2/112363

昔、↓という記事を書いた。そのときは、結局「確率操作」についてはほとんど言及できなかった。その点、この本は「操作的確率論」をうたっているという点でまずビビッときた。また、最近、量子力学に興味がある([cocolog:93955467] など)ので、その点もビビッときた。そこで少し高かったが購入したのだった。

《モンティ・ホール問題または三囚人問題の拡張とその確率操作シミュレーション - JRF のソフトウェア Tips》
http://jrf.cocolog-nifty.com/software/2016/08/post.html

JRF2023/2/116006

本は薄めだが、ギッシリ詰まっていて読みごたえがあった。付録 A の線型代数の基礎は、私がこれまで手薄だった線型代数の知りたいところを丁寧に解説されていて大変ありがたかった。圏論などにも関連があるらしく、そこも圏論にコンプレックスのある私には興味深かった。7章までは、定義の連続みたいなもので、それでもわかった気にさせてくれた。ただ、最後の8章になるととても難しく、私は「目を通す」だけになった。

JRF2023/2/115246

ただ、「わかりやすかった」というものの、何がわかったのかといわれると困ることとなる。量子論にどれほど応用できているのかわからないからだ。この後、ぜひ『量子力学』のちゃんとした物理学本を読んでみるべきだと思った(おそらく読むが、その(心の)余裕がないかも orz)。

JRF2023/2/113300

……。

>量子論で複素ヒルベルト空間が登場する理由について深く考えたりできるようになる。とくに、この視点は情報理論の観点から量子論をしっかり理解するための近道になるとおもう。<(p.i)

この点は私は結局理解できなかった。量子論の理解が足りてないのだと思う。

JRF2023/2/113584

……。

p.49 の式(4.3)の次の図式が私にはわからなかった。これ以降、図式がだいたいでしかわからなくなる。図式だから簡単ということはない。

図式はトレースや、Choi 状態について考えるにはいいのかな…と思うが、そこまでわかりやすくはないのではないか…という印象。

JRF2023/2/114620

……。

p.93 で、純粋状態と確率分布を固定してもρ'は一意に決まらない、それを量子重ね合わせとよぶということらしいのだが、純粋状態を固定すれば、そうはならないのでは…と思った。結局、私は、よくわかってないということだろう。

JRF2023/2/116295

……。

……。

本の中身についてはこれぐらいで。

この本を書いてる途中、私がかつてやりたかったモンティ・ホール問題について操作論…プロセスを使った表現にするにはどうすればいいのだろうと考えた。

モンティ・ホールでは乱数を最低でも二つ使う。当たりの選択と、司会者の選択だ。そのうち司会者の選択はその乱数が捨てられることがあるが、しかし、その捨てられる分も場合の数に数えなければならないというのがミソになる。

JRF2023/2/113786

昔ならば、モンティ・ホール問題を行列のプロセスで表すとか無理じゃないかと思っただろうが、今は、深層学習とか機械学習とかのセオリーを知ってるのである程度できるのではないかと思う。

そこでは、乱数が 0,1,2 というのを、数値でなく [1,0,0], [0,1,0], [0,1,0] などというバイナリ表現のベクトルにすると扱いやすくなるのがセオリー。

JRF2023/2/119658

乱数を二つでなく、もう少し使う。当たりがどれか、司会者の選択、はじめにプレイヤーがした選択、最後にプレイヤーがする選択で、これをベクトルとして [[1,0,0]@[1,0]@[0,0,1]@[1,0]] == [1,0,0,1,0,0,0,1,1,0] みたいに表現する。

JRF2023/2/114775

これを当たりのとき 1 が出力されるようにするには、プロセスの側で [1,0,0] が [1,0,0] にあたるとき 1 になればよく、ベクトルが v 行列の側が e として内積を . で表すと (e[0:2] . v[0:2]) * (e[3:4] . v[3:4]) * (e[5:7] . v[5:7]) * ((e[8:9] . v[8:9]) みたいな論理積が直感的には必要になり、行列積ではない。

JRF2023/2/118469

しかし、論理積ではなくパーセプトロン的に、((e[0:2] . v[0:2]) + (e[3:4] . v[3:4]) + (e[5:7] . v[5:7]) + ((e[8:9] . v[8:9])) * (1/4) >= 1 ならば 1 それ以外が 0 というものでもよく、このほうが、現代的であると言える。

その後、それらを入力のすべての適当な場合について、数え上げて全体の数で割れば良い。

JRF2023/2/116374

途中、司会者の選択により具体的な場所の指定に変換することもできるはずだ。これをするには場所指定も [1,0,0] みたいなベクトルにするとして、上から順にパーセプトロンと集約を使ったプロセスを三つ使う…みたいな形になるのだろう。

また、最後のプレイヤーの選択は、入力の側でなく、エフェクト的に最後の部分で調整するということもできそうだ。

JRF2023/2/113319

…と考えたところで、本を読み終り、Web の補遺・補足を読んだ。すると、『図式で学ぶ量子論』にモンティ・ホール問題が載っているではないか!

JRF2023/2/114750

読む。ふむふむ。なるほどこう表すのか。しかし、g は行列だというが、結局どういう行列なのか示されていない。これはパーセプトロン的なものでないといけないのではないか…というのが私の考え。そしてパーセプトロン的なものだと、入力は、[1/3, 1/3, 1/3] みたいなものではダメで、[1,0,0] に関して図式を描いてそこに 1/3 を付け [0,1,0] に関して図式を付け 1/3 を付け…というふうにやっていかないとダメなのではないか?

JRF2023/2/117186

単純な行列ではダメだと思うのだが、著者がここで間違えるはずがないから、方法はあるのかもしれない。ぜひ教えていただきたい。

JRF2023/2/116195

……。

最後に読みはじめのところでちょっと妄想したこともあった。

○ 2023-02-08T15:59:39Z

中平健治『図式と操作的確率論による量子論』を読んでいる。物理学では無限次元のヒルベルト空間を使うことがあるという。(この本は有限の範囲のみ扱うそうだが。)しかし、深層学習の行列の使い方を考えると、要素数を増やすのと、行列の積を増やすこと(層を増やすこと)はだいぶ違い、表現できることがかなり変わるのではないか? 無限次元…の数列があれば本当に物事が表せるとできるのだろうか? (妄想)

JRF2023/2/110087

○ 2023-02-09T07:59:42Z

正規直行系の無限数列では、従属の情報がないために、情報不足になることはある。それは当たり前か。でも、従属の情報をどれほど(有限に)含めば意味のある議論ができるのか…。

JRF2023/2/112232

……。

上は結局、パーセプトロン的なことは、無限数列などとは本質的な違いがあるということだろうか?

JRF2023/2/111096

……。

……。

追記。

なんと著者からモンティ・ホール問題について Twitter で反応をいただきました。

それを転記しておきます。

《Kenji Nakahira / 中平健治:Twitter:2023-02-12》
https://twitter.com/KenjiNakahira/status/1624535508209770496

JRF2023/2/129140


ありがとうございます
「ひとこと」拝見しました。「図式で学ぶ量子論」で提示したモンティ・ホール問題の表現について補足しておきます(なお,この表現は一例であり,他の表現でもよいと思います)。行列gは問題における「ステップ3」の条件を満たしていれば何でも構いません。

JRF2023/2/125415

行列gの具体的な形が正解率の計算に影響しないことが,以下の考察からわかります。
まず,アリスが推測結果を変えなかった(=aを選んだ)場合を考えます。この場合,gの情報は使いませんので正解率がgに影響しないことは明らかです。
次に,アリスが推測結果を変えた(=bを選んだ)場合を考えます。

JRF2023/2/124118

もしaが正解だった場合には(bは間違いですので)正解率は0であり,aが間違っていた場合は(bは正解ですので)正解率は1であることがわかります。このように,正解率は行列gの具体的な形とは無関係です。

JRF2023/2/129963

行列gの具体的な形も示しておきます。
gは9行3列の行列ですが,単純化のため正解が(0,1,2のうち)0の場合に限定します。このとき,gは3×3行列
[0, 1, 1;
p, 0, 0;
1-p, 0, 0]
で表せます(ただしpは0以上1以下の実数)。正解率の計算ではgの1行目のみが使われ,正解率はpに依存しません。

JRF2023/2/125079

なんと、g はただの行列で良いのですね…。驚きです。

ありがとうございます。

JRF2023/2/128238

……。

……。

追記。

モンティ・ホール問題について、検算を行ってみた。

《JRF-2018/matrix_monty_hall: 行列でモンティ・ホール問題を解く。》
https://github.com/JRF-2018/matrix_monty_hall

JRF2023/2/149855

パーセプトロン的枠組みについては、結局、当たり、司会者の選択、プレイヤーの選択の三つを入力として、プレイヤーがそのままにしたとき正解したかどうかと、司会者が残したほうに変えたとき正解したかどうかを出力するような複雑なルーチンとなった。

JRF2023/2/144274

一方、中平氏の枠組みは、g がそのままだとうまくいかなかった。g は

[0, 0, 0;
p, 1, 0;
1-p, 0, 1]

である必要があった。ただし、このようにすれば、これを拡張することで、プレイヤーが 0 番目を指定するという仮定がない場合でも、g が行列で書けることは確かめられた。

JRF2023/2/140096

……。

……。

追記。

上の検算を少しバージョンアップ(バージョン 0.0.2)。

matrix_monty_hall_3.py を少しだけ改良してわかりやすくした。

……。

なお、パーセプトロンの参考文献は、斎藤康毅『ゼロから作る Deep Learning』です(参: [cocolog:87181973])。

JRF2023/2/148497

……。

……。

追記。

中平氏からまた反応をいただいた。先の Tweet のつづき。


JRF> 検算してみたところ、g は

[0, 0, 0;
p, 1, 0;
1-p, 0, 1]

…のように思います。間違っていたらすみません。↓に検算の Python コードがあります。

https://github.com/JRF-2018/matrix_monty_hall

JRF2023/2/146705

中平> ご確認くださり,ありがとうございます。
詳細は確認できていませんが,matrix_monty_hall_3.pyなどで適切に実装できている気がします?
私が示した行列は,(アリスが0を選んだ場合ではなく)正解が0の場合だったときのものですので,行列の形が少し異なっています。

JRF2023/2/148128

JRF> あっ、失礼しました。誤解しておりました。たびたびご返答いただきありがとうございます。ペコリ

JRF2023/2/145304

JRF> 検算したところ中平様の方法を確認できました! ありがとうございます。(上の GitHub の matrix_monty_hall_4.py です。) ただし f はこの場合、

[p0, p0, p0;
p1, p1, p1;
p2, p2, p2]

…ではなく、

[1/3, 1/3, 1/3;
1/3, 1/3, 1/3;
1/3, 1/3, 1/3]

…とする必要があるのですね。

JRF2023/2/145371

……。

上に書いたようにバージョンアップした(バージョン 0.0.3)。

matrix_monty_hall_4.py を足し、ドキュメントを修正した。

JRF2023/2/142092

……。

……。

追記。

中平氏からつづいての反応をいただいた。先の Tweet のつづき。

JRF2023/2/156727


中平> 検算ありがとうございます?
今回は正解が0になる場合のg0を示しましたが,正解が0,1,2を確率1/3ずつでとる場合を考えて,対応する9行3列のgを考えれば,
f = [p0,p0,p0;
p1,p1,p1;
p2,p2,p2]
のときに Pa=1/3, Pb=2/3 となるはずです。

JRF2023/2/152560

中平> なお,matrix_monty_hall_4.pyのように正解が0の場合のみを考えたときは,Pa = p0 で Pb = 1 - p0 となります(アリスの推測結果が0である確率がp0ですので)。プログラムをざっと拝見した限りでは,正しい動きをしている気がします。

JRF2023/2/156241

matrix_monty_hall_4.py を一時的にいじって p0 と 1-p0 を表示させてみると、確かに Pa = p0、Pb = 1 - p0 になっていました!

ありがとうございます!

JRF2023/2/155067

……。

……。

追記。

○ 2023-02-21T21:18:30Z

モンティ・ホール問題を考えることで私のやりたかった「確率操作」とは結局なんだったのか…? ローゼンハウス『モンティ・ホール問題』のパターン2の変形問題の場合、捨てられた場合の数が出てくる。一方、標準的モンティの場合、司会者の乱数が使われない場合にも場合の数に含むことになる。その辺りで操作ができる…ということか?

JRF2023/2/225464

« 前のひとこと | トップページ | 次のひとこと »