人間の自己高階性
こんにちは。お久しぶりです。
留学をし始めてからツイッターを含めあまり文章でのアウトプットをしなくなりました。
それは考えを明確化しなくても前に進めるという意味で良いことでもあるんですが、面白いことに出会ったときに忘れてしまうとも思います。
今までであればツイッターで自由にアウトプットできたのですが、最近はやたらといいねやリツイートがされるのが怖くなってきた(リテラシーの獲得?)というのもあり、できれば気軽にブログに書いていきたいなと思います(これは毎回言っている)。
この前久しぶりにある高校同期と話しました。高校同期と話していると面白いアイデア(妄想)がよく見つかります。
留学に来てから尚更実感していますが、東大にせよヨーロッパにせよ、そもそも環境に恵まれて育った人が多いと思います。
それに比べて高校同期は一般人が多くて、素のセンスで生きてきた人が多い気がします。
(あと、生活に根ざしたローカルな問題に向き合って着実に成果を上げている人が多くて、それもすごいと思います。あまりにもLocal People Solving Local Problems高校だ)
今回は、その友達と話して思ったことをまとめておこうと思います。
人間は、higher-orderになりやすい?
人間は行動決定をする上でfirst-orderかhigher-orderかを区別せず、自由に行き来していることが多いと思います。
例えば、今日の夕ごはんに何を食べようか考えているときに、「何を食べたら良いか」という直接的な理由のみならず、「何を食べている自分が良いか」についてもほぼ無意識的に、区別せずに考えているのではないでしょうか。
ラーメンのほうがパスタより美味しそうだから、今日はそれを食べたい気分だから食べようというだけではなく、今週はカロリーを取りすぎたからヘルシーなものにしようと考えることもあります。
このとき、食べ物自体の良さではなく、その食べ物を食べることの良さや、その食べ物を食べる自分の良さについても考えていることになります。
確かに、良さという概念が既に曖昧で、食べ物自体の良さだと思われるものも、自分自身とその物の関係性や自分の捉え方によって決まるというのもあるかもしれず、それがこの場合のorderの認識上の区別の無さを生み出していると言えるかもしれません。
より明確な例としては、旅行先できれいな景色を見て満足した際に、きれいな景色に満足をしたのか、きれいな景色を見た自分に満足をしたのかが曖昧になりがちであるということがあります。この場合、後者は、きれいな景色を見た自分をインスタなどを通じて他人に共有可能で、承認欲求を得ることができます。区別自体はより明確に存在していますが、我々はあまりそれらを意識していないと思います。
higher-orderへの移行は過適合に対応する?
このhigher-orderへの移行は過適合や、経験のバイアスに基づいたshortcut learningによるものだと捉えられるかもしれません。
それは良いとして、逆にshortcut learningや過適合が一般にメタな特徴量への適合だと考えられるかもしれないのは新しい視点でした。
「経験談」が話せる
人間は一度物事を経験すると、そのコツを暗黙的に掴むだけでなく、どうすれば良いのかを言語化して理解・説明したりすることができるようになります。
これは物事を経験しているとき、物事を経験する自分も経験しているからで、結構非自明です。というのも、コンピューターの場合は何をやったのかを記録しておくにはわざわざ画面録画などをしておかなければなりません。ログなどは残りますがそれもかなり明示的になされるもので、しかも断片的です。
プログラムが異常終了したときにスタックトレースなどをダンプすることはできますが、やはり断片的な情報しか残っておりません。
確かに人間でも朝ご飯に何を食べたかなど、意外と忘れていることはありますが、それでも一貫性のある総体的なイメージ(物事を経験する自分)は経験としてほぼ自動的に蓄えられていると思います。
シミュレーター
とはいえ、コンピューターは本当に「物事を経験する自分を経験」できないのでしょうか。
コンピューターの文脈に置き換えると、「プログラムを実行する自分を実行できるか」だと思います。
これはまさしくチューリング完全性の帰結ですよね。コンピューターは十分な表現力を持っているため、自分自身を実行することができます。
つまり、例えばRISC-Vマシン上で、RISC-Vシミュレーターをソフトウェアとして動かすことができます。
しかしこのように「自分」を「実行」すると言う際、自分というのは同じ動きをするものを指しているだけであり、自分自身ではありません。RISC-VシミュレーターはRISC-Vマシンとはインスタンスとして別物です。
人間の場合は、自分の上で別の自分のインスタンスをシミュレートしているとは思えません(負荷が高くて疲れると思います)。自分をシミュレートしている自分は、インスタントしても自分自身なのではないでしょうか。そう考えると、主体A1が主体A2をシミュレートして、主体A2が主体A3をシミュレートして、…と続くシミュレーション関係の順序において、人間は不動点となっていると考えられるかもしれません。
もっとも、自分とはなにかについてここではかなりナイーブに捉えており、自分がシミュレートしている自分が自分自身なのかについては明らかではないと思います。
ちなみに、私自身留学で英語をそれなりに頑張ってはいますが、いつまで経っても言語シミュレートをしています。実際すぐに疲れます。
その他
気胸発症してから胸腔鏡手術をして退院するまでの1週間
こんにちは。お久しぶりです。
先週の水曜日に気胸になってしまい、1週間入院していました。
その間に初めての手術を始め、医療の大切さの実感や普段関わる人たちとは大きく異なる属性を持った方々との交流など、色々と新しい経験をしました。
個人的にはプレ留学みたいな感じだったのかなと思います。そのことについて書こうと思います。
属性
身長 178cm、体重 63kg、留学準備や課題、期末試験対策で高ストレス
気胸にならないわけがないですね…
水曜日: 発症
大学から帰って家でゆっくり過ごしていたところ、息を吸うと突然左の肺が痛くなりました。夜7時前だと思います。
息を吸うたびに痛いので深く息を吸わないようにしていました。
以前にもそういった感覚になったことはあったものの、体をよじったりするとすぐに治ることが多かったのですが、今回はそうもいきませんでした。
周りに気胸になった人は多かったので、すぐに気胸は疑い始めました。
夜ごはんは何も考えずに近くのラーメン屋に行ったところ、全然すすることができずかなり苦労しました。
韓国風の?、レンゲに麺を載せて食べるやつをやっていました。
木曜日: 病院へ
朝になると症状は悪化し、ぺこぺこといかにもやばそうな音が肺からするようになったので、朝一で病院に行くことにしました。
最初は近くのクリニックにしようとしましたが、電話すると「検査できてもうちでは処置ができないから最初から大きい病院に行った方が良いよ」と言われました。
初診料が気になりますがどっちみちクリニックも初診で検査費用の重複を考えるとそんなに変わらないだろうと思い、近くの大きな病院に自転車で行きました。
レントゲンとCTを取った所、肺が鎖骨より下に落ちてしまっている中程度の気胸であることが分かり、緊張性気胸という重篤な状態にならないためにすぐに胸に穴をあける処置が必要だと言われました。
ですが、なんとその病院でも処置はできないと言われてしまい、さらに大きな病院に紹介状を書いてもらうことになりました。
自転車で来たというと怒られ(当たり前)、タクシーで行くように言われました。そのため自転車は度重なるゲリラ豪雨の下現在その病院の駐輪場で雨ざらしになってしまっています。
CTの検査料が高くてこの病院でも初診料と合わせて1万円くらいかかってしまいました。最初からさらに大きな病院に行っていればさらに高い初診料を引いても数千円安く抑えられたので、こっちも電話しておくべきだったなと思います。
さらに大きな病院でも、気胸の進行と穴をあけるのに適切な場所を把握するためにレントゲンと高解像度のCTを追加で受けることになり、数時間で2回CTを受けたのでそれが少し心配ではあります(一応心配を医師と放射線技師にお話しして、大丈夫だよとは言ってもらいました)。
そして即刻胸に穴をあけました。局所麻酔をしたためほぼ痛みはありませんでしたがグロいのが無理なのでかなり怖くて、もう受けられない期末試験の勉強用に持ってきていた「情報幾何学の基礎 藤原 彰夫 著」を読んで気を紛らわせながら処置してもらいました(ほとんど内容は頭に入ってこない)。
穴をあけた後管を胸腔ドレーンという装置につないで、胸腔内を陰圧にしました。これで肺がしぼむのを防ぐのですが陰圧にすると若干胸がずっと痛いんですよね。
その後再びレントゲンを撮る前に、毎回のことですがグロい経験をすると脳貧血っぽくなるやつが起きてしまい、車いすで運ばれていましたが座っていられなくなってしまいストレッチャーで運んでもらうことになりました。重症の患者みたいになってしまった。迷走神経反射というらしいです。お手数をおかけしました。
そのまま病床まで寝たまま運んでもらい、緊急入院となりました。
病院食はこの病院の場合かなり美味しく、学食のほうが全然ひどいです。
夜は(ほかの患者の)心電図モニターの音がずっと鳴っていて慣れず、ほとんど寝られませんでした。
金曜日: 痛み
この日は術後の次に辛い日だったと思います。
特にやることは無くベッドの上で一日過ごしましたが、背中や胸の前のほうがジンジンしたり少し動くだけでビリビリしたりする痛みが非常に強く、なるべく準静的過程みたいな動きを目指していました(それでも結構痛い)。
看護師の方に聞くと(診断ではないが)肋間神経痛じゃないかなと言われ、調べてみると確かに、穴をあけることで神経が影響を受け、穴をあけた場所以外の神経が通っている場所が上に挙げたような痛みになることがあるようです。
痛み止めを何種類か飲んでもあまり効かず辛かったです(実際効きにくいらしいです)。最終的に抜歯用の強い痛み止めで耐えられるくらいになりましたが、これは頬っぺたをつねっても痛くなくなるようなレベルで危なそうだなと思いました。
また、前日はバタバタしていてあまり実感がありませんでしたが、見ず知らずの人(しかも、機嫌が結構悪くて看護師にどなっている人や、認知症でかなりボケている人などがほとんど)のすぐ隣で過ごさなければいけない状況、家族と一日30分しか面会できないこと、いつ帰れるのか分からないこと、やはり胸の穴も簡単には塞がらないこと、痛みなどが相まってかなり辛い気持ちの1日でした。4回くらい泣いていた気がします。
あと、この病院は入院患者数が多くて看護師もかなり忙しそうで、あまり話しかけてはいけない雰囲気が醸し出されていました。そのため自力でやっていかないとだめなんだろうなと思っていました。
医師も1日2回、1分ずつくらいしか話すことができず、質問を予め用意して帰りそうになるところを何とか引き留める、みたいなことをしていました。
土曜日
この日は肋間神経痛が少し落ち着いていました。だんだんとお菓子など入院中の物もそろってきてそれなりに生活していけそうだという実感を持つことになりました。
ご飯が美味しいのは本当に良かったです。
9月最初から留学が控えていることを予め伝えていたので、ドレーンで減圧して自然に穴が塞がるのを数週間かけて待つより、短期で治らなければ手術に踏み切ろうという話は最初からしていました。実際、手術をすることで穴が開いていた場所を切除できるため、再発がしにくくなることもあり、その方が安心だと思いました。
この日の朝、ドレーンを見る感じでは空気漏れは確認されなかったため、クランプといってドレーンの陰圧部を胸腔から分離する処置をして、肺が落ちてこないかをレントゲンで確認することにしました。
その結果やはり肺は落ちてしまい、まあ手術だろうということになりました。
この日はまだ怖くて、できることなら避けられないかなあと思っていました。
日曜日
先生から、手術を「何時になるか分からないけど明日緊急の枠でやるか」「水曜日決まった枠でやるか」選ぶように言われました。
長引かせてもメリットはないし、覚悟はいつまでたってもできないだろうと思ったので、月曜にやることにしました。
月曜日: 手術
この日の0:00からは食事も水もダメで、すべて点滴となりました。手術中に吐いたりすることを防ぐ目的があるそうです。
点滴で体は大丈夫でも、空腹感やのどが渇く感じは残るので結構苦しかったです。
手術の説明がありました。胸腔鏡下肺部分切除術という、胸腔にドレーンの管用の他に2か所ほど小さい穴をあけて、内視鏡を胸腔に入れて肺の穴が開いているところを切除する手術を行うと聞きました。さらに切除した場所にシートを貼り付けて再発しにくくもするそうです。
手術の時間は午後になるが緊急の枠でほかの手術の合間に行うので開始30分前にならないと分からないと言われ、この日の午後はいつ呼ばれるんだろうかとずっと緊張していました。
実際18時からだったので、6時間弱びくびくしていたことになります。
手術室の入り口の手前で麻酔科の先生とお話があり、そこで家族とお別れしました。先生方は今までの話す機会でかなり信頼できていて、そこまで不安や怖さはなかったです。
麻酔科の先生は初めて会いましたがちょっと変わった面白い人で、なんか笑わされましたが笑うと肺が痛いので困りました。
入り口から手術室へは先生方と一緒に歩いて向かいました。謎の長いまっすぐの渡り廊下があって、病院の中でもほかの箇所からは遠ざけられている場所なのかなあと思いました。
手術室内は色々な道具があったり天井にシャンデリアみたいな大きな照明があったりして、物々しい雰囲気でした。手術台の上にも自分で寝させられ、執刀しやすいポーズを指示されました。
まず酸素マスクをつけられ数回深呼吸した後、点滴経由で全身麻酔を入れられました。「入れていきますよー」と言われた後最初ちょっと胃が気持ち悪くなって、視界がちょっと歪む感じがありましたが、そこからは覚えていません。
目が覚めた時は手術室の外にいて、口の中に管が入っていたようでかなり痰がでました。既に家族も周りにいたようでした。 この時20時半だったので、2.5時間ほど手術+麻酔が切れるのを待つ時間があったようです。 なんか数学の授業を受ける夢を見た気がしましたが、ネットで調べると麻酔中は夢を見ないはずらしいので、切れかかった時に見たのかと思います。そんなに長い感じはしませんでした。
僕自身手術の結果は聞いておらず、家族から上手くいったらしいと聞いたのですが、後から聞くと家族によるとどうやら麻酔から(僕の感覚で)目が覚める直前に説明を受けていたらしいです。それってちょっとずるくないか。
でもどうやら僕は無意識で「はい」とか相槌を打っていたらしいので、他人にはもう覚めているように見えていたんですかね、最初はろれつが回っていなかったようで全然覚えておらず、やはり怖いです。
その後ハイケアルームというところに向かい安静になりましたが、ここからが実は一番精神的には辛かったです。
火曜朝まで: ハイケアルーム
ハイケアルームといっても、看護師さんが頻繁に来てくれるのは確かなのですが、いつもより優しいとかそういうことでは決してなかったです。
常時ハイケアルームにいる人は、隣の人もそうでしたが話す言葉が支離滅裂で点滴の針を突然抜いちゃったりして身体拘束されたりしていました。そのため、僕に対しても看護師さんの態度はかなり悪く、口論になったこともありました。
翌朝9時に巡回で先生が来るまで安静解除されず、食事制限もそのままで、空腹感のままずっと過ごしました。
痛み止めを点滴経由で使ったものの術後の痛みは強く、その上着心地の悪い手術着を着たままでいなければならず、ベッドからも出られません。足には手術中の血栓を防ぐための弾性ストッキングがついていて締め付けが強く、さらにその上にマッサージ器がついていて常に足を圧迫されたりされなかったりを繰り返されていました。
さらに心電図モニターが付けられており、寝ようとすると脈が遅くなるので警告音がうるさくてほとんど寝られませんでした。それらのコードが体の上や下にたくさんあるのも不快でした。
そのうえ酸素マスクを介して痰を出しやすくする吸入がされていたのですが、その機械からマスクまでのパイプの途中で薬が液化してしまい、それが手術着・傷口の上にこぼれたり、看護師さんを呼ばないといけなくなったりして辛かったです。ここで口論になりました。酸素の濃度もなんか低そうで息苦しく、こっそりマスクを外しました(点滴の針を抜くよりはましだと思います)。
翌朝9時まで12時間、こんな感じでベッドから出られず、しかも寝られずに過ごしていました。かなり自由意志として辛かったです。
トイレのことを書き忘れました。尿瓶といって、看護師の方にお願いをしてベッドの上にじょうろのようなものを持ってきてもらってそこでトイレをしなければならず、それも苦痛でした。看護師の方は普通に年の近い女性なので普通に嫌でした。おじいさんとかならいいのかもですが。
9時に先生が来たときはマジで解放されたという気持ちでした。そこから一気に着替えて食事もできました。
実は食事は術後すぐにしても良かったらしく、この病院は忙しくて報・連・相が本当にダメだと思いました。ちゃんと食事等の術後の制限もこちらから直接聞いておくべきだったと後悔しています(任せたままにすると医療的な問題はなさそうですが、生活の質は本当に最低限になってしまうと強く思いました)。
火曜日: 術後
確かに傷口の痛みはあり、また肋間神経痛(手術前のビリビリした感じとは違って、板が入ったような感覚と、麻痺したような感覚)が生じましたが、まあ耐えられる程度でした。
この日に3回レントゲンを撮り、経過が良かったので胸腔ドレーンの管は抜け、もう明日退院ということになりました。
水曜日: 退院
午前中のうちに、追い出されるように退院しました。追い出されたというのが結構正しいと思います。病床足りていなさそうだったので。
入院していたのは大学病院で、後から知りましたが、大学病院はどこも忙しくてあまり面倒見も良くなくこんな感じらしいです。
やはり入院中は音(ほかの人の心電図の機械の音やいびき)がうるさくて寝不足だったので、家ではほぼずっと横になって過ごしています。
家のほうが回復が速いと実感しています。肺の痛みも肋間神経痛ももうだいぶ収まってきた気がします。
まとめ
まず、ストレスを溜めすぎてはいけないなと実感しました。なんでもがむしゃらにやって耐える年齢は過ぎてしまったみたいです。
そして、お医者さんを始めとした医療従事者の方々のイメージが変わりました。今までの経験では大病院のお医者さんは研修医の方とかだとヘラヘラしていて不安になることが正直多かったのですが、今回はどの方も話していると色々な選択肢を考えてそこから選んでいるということが伝わってきて、またどうしてそれをするのかについての説明が合理的で本当に信頼できました。ほぼ無休で病院に来ている実態も知って、献身的で他人のことを第一に考えられるのは本当にすごいと思いました。僕も分野は違いますが、やはり自己満足な学問で終わらせるのではなく他人の役に立つことがしたいなと思うようになりました(医療はマイナスを耐えにすること(これももちろん重要)だから、プラスを生み出していけたらなと思いました)。
今まで関わってきた人たちとは異質な属性を持つ患者さんたちと密接に過ごしたのも大きかったです。僕が生きてきた世界は一側面でしかないのだということがよく分かりました。
また、今回色々な人に励ましの言葉を頂いたことも、退院まで何とか精神を持ちこたえることに繋がったと強く思います。ありがとうございました。
大学は高校までと比べて個人主義だと思っていましたが、改めて周りの人たちの存在の重要さに気づかされました。
暑い中何度も面会に来て物資を搬入・搬出してくれて、また常に連絡を取って励ましてくれた家族にも感謝しています。
健康は健康でいると大事さを忘れがちですが、失うと本当に何もできなくなる土台のようなものだと分かりました。
これからは健康第一で頑張ろうと思います。
アラン・チューリングの限界―自然言語、生命、自動運転に関する考察
この記事は、Turing Advent Calendar 12/19の記事です。
昨日の記事に引き続き、ルールベース(形式的な手法)との比較のお話です。
情報科学や論理学で重要な考え方として、「形式化」というものがあります。これはプログラムの考え方そのものでもありますが、世界の事象の在り方や働きの「本質」を抽出し、その定義のみからその事象を再現できるように、厳密に定義されたモデルを構築する営みのことです。Turing機械が、人間の知的活動を形式化したモデルであると同時に、計算とは何かを理解するための道具となっているように、我々情報科学に従事する人々はこのような形式化をもって物事を理解しようとすることが多いと思います。また、形式化は自律的なシステムを構築する力も持っています。現代のコンピューターが最たる例であり、それを通じて、物事を(究極的に)客観的に捉えることができるようになります。
私は1年前は(情報科学のFreshmanらしく)こうした形式化の力を信じ切っていたのですが、この1年で経験したことで、現実世界での問いに対して形式化は本当にふさわしい道具なのだろうか、という疑問が生じてきました。この疑問は、この1年間の生成AIの進歩などによってきっと多くの方が思ったことと本質的には同じなのではないかと思いました。そのため、このことについて考えて、まとめることにしました。
自然言語の形式意味論
1年前、私は大学院の形式意味論の授業を取っていました。この授業は、自然言語の意味(この「意味」の意味が明らかではないが)を論理式やλ計算の式といった形式的なモデルを用いて捉えるものです。少し(厳密さを欠いた)例をお見せしましょう。Taro is a child and every child plays. という文を考えます。 を、文(の一部)を形式的な表現に写す関数だと考えます。形式意味論では、品詞ごとに型を持つと考える(ことが多い)ですが、ここでは固有名詞(Taro) は型
(entity, もの)、一般名詞(child)と自動詞(play)は
を受け取って
(truth value, 真理値) を返す関数、つまり型
だと考えることにします。
の型を持つ関数は
の集合と同一視できるので、以後集合の記法を用います。さらに
とします。型については、andのほうは真理値を2つ受け取って真理値を返すので、 で、everyのほうは集合を2つ受け取って真理値を返すので、
となります。どうしてそうなる(そうする)のかは、後の計算を見るとお分かりいただけると思います。
は、文の構文木を受け取っているのだと考えます。このことにより、
という計算を許します。これを続けると、
となります。ここでは は
、
を恒等関数
だと考えて、さらに計算を続けると、最終的に
となります(気になる方は、自分の手で計算してみてください)。
は、遊ぶ存在の集合を表しているわけで、
は、確かに Every child plays を表しているというわけです。
このように、自然言語の文を形式的に表して、意味を解析することができます。この形式化の結果を用いて、例えば Taro plays が含意されているかどうかを調べたりすることができるというわけです。
この授業の最終レポートで、私は内包意味論(intensional semantics)という、上の例のように真理値で意味が捉えられない場合(believe thatなど)にアルゴリズムとして意味を捉える論文の解説を行い、優上の評価を頂くことができました。ですが、勉強するにつれて思ったのは、これは自然言語の学問ではないということです。どちらかというと論理学であり、このような意味論を考えるのは、論理学やプログラミング言語では理論上も実用上も重要だと思うのですが、自然言語らしい性質や、自然言語ならではの面白さが現れてくるとは私には思えませんでした。例のように量化子(詞)や接続詞の問題を扱うことが多く、それはそれで非自明な対応関係が見えてきたりするのですが、自然言語に対して驚きを感じるのは、論理的な推論関係(厳密には、合成性が成り立つような意味)というより、やはり豊かな推論や表現の仕方などのほうだというのもあり、仮にこのような形式的な概念を積み上げていって扱える自然言語の現象を広げていったとしても、そうした自然言語の豊かさは、そういった概念に取り上げられない側に常に残り続けてしまうだろうという感覚を持たざるを得ませんでした。
私はその後、友人の勧めでブランダムの「推論主義」について勉強したりしました(つまり、意味論から語用論に関心がシフトしたということです)。こちらはウィトゲンシュタイン後期の思想とかなり同一であるという印象を受けました。体系化は難しいですが、自然言語の理解としては、やはり使用や実践を重視すべきだと感じられてきました。このことは、哲学にまで立ち返らなくても、大規模言語モデルと日常的に接するようになってきて自然にわかってきたことだと思います。使用場面を徹底的に学習したモデルのほうが、本質をつかめていると思われるからです。
人工生命
人工生命について「作って動かすALife」という本を購入し、実装してみたりしました。以前合成生物学の国際大会iGEMに出場した経験もあり、生命をエンジニアリングの対象として捉えたり、それを通じて理解したりすることには興味を持っており、コンピューターベースで人工生命について理解する方法についても学ぼうと考えました。自己複製するセルラーオートマトンを作る話などが面白かったですし、学習ベースの人工生命の話も載っており、この分野の常識を学ぶ上で読むべき本だと思いました。セルラーオートマトンはそれ自体としては面白いのですが、やはりルールを定めるという所にどうしても「ライフ」ゲームとは言えないところがあると思います。生命は、定義されず、それ自体が自己組織化し、進化により変化していくところに本質があると思うので、決められた規則でシミュレーションするような手法ではそのような部分が捉えられず、厳しいです。また、Turingパターン(Turingが考案した、動物の縞々模様のような模様が自発的に現れる偏微分方程式の系)の話もありましたが、それも同じようになぜその式になるのか(生物でも同じ原理なのか)が気になりますし、また模様(や動き)だけではあまり生命らしさは感じ取れませんでした。
ライフゲームに関しては、最近読んだ論文で面白いものがありました。これだけで記事にしても良い気がしてきました。Flow-Leniaというものです。空間、時間、状態が連続化されたセルラーオートマトンで、時間発展の規則を定めるパラメーターは質量保存の法則が制約として与えられる中で、探索により得られるようにしています。すると、ランダム探索でもほとんどの点で空間局在的な模様(SLP; spatially localized pattern)が現れるようになったとのことです。私も自分でセルラーオートマトンをアレンジしてみたことがあるのですが、少し変わったことをするとパターンが非局在化してしまうことが結構あったので、これを安定化させるのはすごいと思いました(質量保存の法則と聞くと確かにそうなる気もしますが)。また、有名なConwayのライフゲームでは時間発展の規則が空間全体で共有されていましたが、Flow-Leniaでは規則が場所によって異なることが許されており、時にはそれらが混ざり合うことも起きます。セルラーオートマトンの規則は、物理法則以上の意味を持っていることが多く、むしろ物質をどのように活用するかという生命が持つ性質のような面があります。この規則の局在化は、複数の種の共存や非生命的な(安定した)ものと空間を共有することを許すもので、実際複数の生命が共存して、淘汰されたりする様子を下のリンクのサポートサイトの動画から見ることができます。不気味の谷に入り始めたような、生命らしい気持ち悪さも多少感じます。生命とは本来そういった気味の悪いものでもあると思います(理論的に、洗練されたものではない!)。

ライフゲームの良いところは、個としての生命(オブジェクト指向的な世界観)と、その複製を仮定しないところです。その意味で物理学の「場」のような印象を受けます。Flow-Leniaでは、さらにその規則を人間が定めるのではなく、規則を定めるパラメーター空間の多くで自然に生命らしい振る舞いをするようなモデルを、少数の物理法則に類似した前提のみから生み出せたという点が面白いと思います。気になった点としては、複数種のシミュレーションで、最初多くの種が干渉しあわない位置に配置されていて、セットアップがもっとぐちゃぐちゃだとどうなるのかということです。また、時間が経つにつれ多様性が低下していたので、分化を促進するのに変異とかを入れたら良いのでしょうが、確かにそもそも何に変異を入れたらいいのか(規則への変異が「遺伝子」的なものにあたるのか)考える必要があると思いました。論文中で述べられているように食べ物などを不均一に環境中に配置することは進化を促進することができるかもしれません。
形式的な手法について
このように、自然言語と生命という、2つの現実世界に内在する対象について向き合っていたのですが、どちらも似ていたのは、形式的な手法では本質をとらえきれないと思えたことでした。では、どうして本質をとらえきれないのでしょうか。
私は最初、形式的な手法の表現力の低さにその原因があると考えました。自然言語も生命も、複雑な対象です。ですが、形式的な手法は、基本的に少数の規則で(美しく)物事をとらえようとするため、そういった複雑な現象に対しては、次元圧縮のようなことが起こってしまいます。そして、自然言語や生命がその「高次元であること」自体に本質があるのだとすると、射影を取ったとたんに本質が失われてしまうというのは確かに起こり得ると思います。
ですが、本当にそうでしょうか。形式的な手法は、複雑な現象に立ち向かうことができないのでしょうか。それは違うと思います。理論計算機科学は十分に複雑な問題を含んでいますし、数学一般についても形式的な定義から豊かな世界が広がっています。また、私たちの世界であっても、物理的な側面に着目すると、物理学の理論は複雑で豊かな現象に立ち向かうことができていると言えます。
そこで私は、むしろ世界の構造の方に原因があるのだと考えるようになりました。形式的な手法が得意とする世界と、現実世界では世界の構造が大きく異なります。形式的な手法が得意とする世界は、演繹的な世界であり、規則から世界の在り方が導出されるような世界です。そのような世界では、「一般」が問題になります。すなわち、すべての○○がこういう性質を持つかとか、こういう性質を持つものが存在するかといった、一般的な問題です。一方で、我々の現実世界は、もちろんそうやって定義づけられた世界ではなく、問題になるのは、具体的に立ち現れてくるもの、すなわち〈この〉現前している事象です。自動運転の問題で言っても、すべての(一定の条件を満たす)赤コーンに対して止まることができるかを証明しても、その条件を満たさない例外的な状況への対処が求められることになると思いますし、そういう状況こそが現実世界の難しさや、奥深さを象徴しているのではないかと考えます。
形式的な手法が得意とする世界においても、複雑な現象は現れるので、現実世界の複雑な問題を近似的に捉えることができるのではないかと、私を含め多くの人が考えていたのではないかと思います。ですが、演繹的な世界で複雑な現象を扱う時の形式的な手法の威力は、そもそも現実世界には適用しえないと考えます。というのも、そういった数学などの世界では、冒頭で書いた「形式化」の自律性に任せて、人間の理解を離れて、形式がどんどんと先へ行ってしまうことを許すことができ、それこそがその世界で複雑性を生む源泉であると考えているからです。現実世界においては、意外な結果が形式的な体系から現れたとしても、それを称賛するのではなく、むしろそれを 「不具合」だと捉えて、そういったことが起きないように抑圧してしまうことが多いでしょう。これは、この2つの世界の決定的な断絶を表すものであり、なぜ形式的な手法が現実世界の問題に対処できなかったかの根本であると考えます。
そして、現実世界においても、最終的に複雑な問題をとらえることができる手法は、「人間を置いて行って、どんどんと先へ行ってしまう」力を備えたものであるように推測されます。私はこのような流れから、深層学習などの統計的な手法に頼る流れは必然なのではないかと考えます。
自動運転
そして、Lv.5の完全自動運転は、まさに現実世界の、目に見える世界から社会規範までもが入り混じった複雑な問題であると考えています。私はこの意味でEnd-to-endの機械学習でこの問題に取り組むというTURINGの方針に共感しています。LLMやVLMといった、形式化とは異なる手法で、自律的に振る舞い人間を超えていくようなモデルこそがこの問題の解であると考えています。
新交通システムのようなものであれば、形式的な手法の方が合っているかもしれません。その方が、決められた時間に決められた場所に到着する保証が得やすいでしょう。ですが、ゆりかもめなどを見ても、ホームドアは異様に高いですし、走行する場所もほかの往来とは大きく異なっていて、ある意味で仕様から起こる現象がすべて説明できるような、演繹的な世界だといえます。
今後、どういうことがやっていきたいか
先ほど、自然言語や生命などの現実世界での問題について「その『高次元であること』自体に本質があるのだとすると」と書きました。これは本当なのでしょうか。もしそうなのだとすると、先ほどの「理解は低次元への射影を取ることだ」という考え方に基づくと、人間は言語や生命について決して理解することはできないのではないか、「言語とは何か」「生命とは何か」といったことを問うのは無意味ではないかという、虚無主義に陥ってしまわないかと思われるかもしれません。
私は、高次元であること自体に本質があるというのはかなり正しいと考えるようになりました。正直、一番の根拠は大規模モデルのスケーリング則で、それ以外は特に無いです。
ではどうしていけばいいでしょうか。私は理解の仕方や目的を変えれば、逆にチャンスになるのではないかと考えました(特にエンジニアにとっては)。大きな流れとして、人工知能の発展により、哲学的、思弁的な問いが工学的な問いの領域に落とし込まれてきているというのはあると思います。確かに、形式的な手法で人間の活動や実世界について完全理解できるというスタンスは通用しなくなってきたと思いますが、中身についてよく分からない部分があっても、「作ることで理解する」ことができる部分は大きいと思います(人工生命もそういう動機だったと思います)。また、中身についても、モデルの動作はそれ自体の学習にお任せしつつ、モデルについて解析すべきことは多くあると思います。幸いなのか分かりませんが、モデルは人間がエンジニアリングしているものなので、整然としていますし、形式的な手法で解析できることもあるようです。今セメスターの授業で、どうして深層学習の活性化関数にReLUが使われるようになったのかや、どうしてAttentionがあのような形をしているのかを数学的に教えてくれる授業があり、今までは「そういうものなのか」で済ませていた部分に理由付けができて面白かったです。最初に考えられたときはもしかしたら適当で、そういう理解は後付けなのかもしれませんが、それでも面白いですし、そういう種類の解析は単に自分の満足だけではなく、自動運転でも大事なモデルのRobustnessの解析などにもつながってくると思うので、最近は深層学習の理論に興味が出てきました。一方で、モデル自体も自己組織化するような方向への研究もあるらしく、もう人間が置いてきぼりになりそうですが面白いと思っています。
また、スケーリング則に関連して、高次元になりすぎるとカオスになったりしないのかは気になります。現代文の過去問で生命がいられる場所?について「カオスの縁」の話があって、それを思い出しました(確か自由度が低すぎると結晶みたいに規則的なことしかできなくて(形式化の手法に近いですね)、高すぎると動き回りすぎて何も持続できないみたいな話だった気がしましたが、ほとんど忘れました)。もし上界もあるのであれば、高次元なら何でもよいというわけではなく、その次元の特徴づけが意味を成してくるので面白いと思います。現代の計算資源を使って、カオスの上界を探ってみることには興味があります。
まとめ
現実世界の問題を解決する道具としては、形式的な手法は困難だということが分かってきました。このことは、「生命とは何か」「言語とは何か」「人間とは何か」といった大きな問いに対して従来の手法では理解に到達できないことを意味するかもしれませんが、逆にそれらの問題に工学的にアプローチできるようになってきたという捉え方もできると思います。
つまり、これらの問いの今一番近くにいるのはエンジニアだと言えるかもしれません。生成AIのサービスを享受する側に甘んじるのではなく、作る側になりたいです。Lv. 5完全自動運転は、身体性や世界の知識などが必要とされ、人間を作るのに近いと思っているので、今後のTURINGが楽しみです。
人間の理解やものづくりと、進化が生み出す物について考えていたこと
この記事は、ISer Advent Calender 2022 12/19の記事になります。
とは言っても、実は書いたのは結構昔になります。下書きにたまっていました。書いただけで自分としては満たされて公開しなかったパターンですね。さすがに2日連続で記事を書くのはきつかったので(連投してる人すごすぎる)、ちょっと直しつつこれを放出しようと思います(前日の記事はこちらです)。ポエムなのですがどうか許してください…。
みなさんこんにちは。お久しぶりです。
2Sセメスターももう終わろうとしていますね。
このセメスターは取った授業は少ないもののiGEMや未踏で本当にバタバタしていました。このことについてはまた今度書くかもしれません(書かない気がします)(12/19注: 書きませんでした)。
本当はこんな記事も書いている時間も無いはずなんですが、進振りも近いですし「自分が何をやりたいのか/やるべきなのか」を考える機会が多く、この辺りで一回まとめて、自分でも自分のことを分かっておいたほうがいいだろうと思って書くことにしました。
また、このようにブログ記事として公開するのは、他の人とも共有したいという気持ちもあるからです(12/19注: 公開してなかった人が何を言っているんだ)。私としては自分が興味を持っていることはもっと多くの分野で普遍的/本質的なことかもしれないと思っています。文学部に行った友人と話してみたら話が合ってしまったこともありました。この記事を通じて、異分野の人でも興味を持っていただけると嬉しいです。
「硬いプログラム」と「やわらかいプログラム」
私は「硬いプログラム」と「やわらかいプログラム」を対比的に捉えるのが好きです。どちらかというと、やわらかいプログラムのほうが好きで、それを硬いプログラムと比較することで、それがどんな性質を持っているものなのか浮かび上がらせることに興味があります。まずは「硬いプログラム」「やわらかいプログラム」が何を指しているのかについて説明しようと思います。大まかに言うと「硬いプログラム」はコンピューターで「やわらかいプログラム」は生物に当たると考えていただいて構いませんが、少し違う面もあります。
硬いプログラム
「硬い」という言葉で私が想定しているのは、物事を分解的に見て、できるだけ厳密な論理で理解しようとしたり、何かを作り上げようとしたりすることです。コンピューターはこのような営みの最たる成果だと思います。チューリングマシンは「計算」という人間の行為を厳密に観察し、定義したものです。それを元に緻密に設計し、正確に動くよう作られたものがコンピューターだと思います。少し範囲を広げると、形式論理や型理論も「硬い」という言葉で捉えています。情報科学との関連もそうですが、自然言語などにみられる論理構造を分解し、厳密に理解しようとしたものが形式論理でしょうし、型理論は数学を厳密な論理で構築していく上で有用になっていると思います。
やわらかいプログラム
「やわらかい」という言葉で私が思い浮かべているのは、誰が設計したわけでもなくて、よくわからないものだけど、なんか上手くいっているようなものです。更に、環境との相互作用を活発に行い、それ自体が変容していくようなものです。生物が最たる例でしょう。生物と言ってもいろんなレベルで当てはまると思いますが、私が一番思い浮かべやすいのはDNAレベルです。iGEMでは合成生物学をやっていて、今年は酵母のゲノムを「プログラム」して目的の機能を実現させようとしています。合成生物学の場合はこのように目的を持って生物をプログラムをしようとするのですが(その意味では生物を「硬い」設計論理に従わせようと頑張っているのですが)、本来酵母のゲノムは誰が設計したわけでもありません。厳密に、正確に、パーツを組み上げて設計されたコンピューターとは大違いです。それなのに生物が上手くいっていることは身の回りでよく分かることで、大変興味深いです。またそのように設計者はいないものの、塩基配列はまさに「プログラム」と言えるような制御構造が現れており、下のツイートで述べたようにある意味でイベントドリブンプログラミングだともいえ、面白いです。
縮小でツイートしたらウケが良かったのでこっちにも載せるか pic.twitter.com/1hkdCzoEHq
— FI&NNL (@fwnnl) May 16, 2022
自然言語も同じように、「日本語とは、これこれこういうものとする」と誰かが定義したようなものでもないのにこれほど豊かで、さらに言葉のやり取りによってどんどん変容していく対象であり、面白いと思います。
硬いプログラムとやわらかいプログラムの対比
この2つを対比的に捉えている分野は様々あると思います。いくつかを挙げたいと思います。
コンピューターと生物
コンピューターと生物がこの対比に重ねられることは先ほど書いた通りです。ここではそれらを融合したアプローチをいくつか紹介したいと思います。コンピューターで生物を模倣するものは、機械学習や遺伝的アルゴリズムなど有名なものが多いと思うので詳しくは省略します。生物でコンピューターを模倣する、つまり生物に「硬さ」を持ち込もうとするものは、合成生物学がまさにそうですが、より私が詳しく興味を持っているものだと次のようなものがあります。
CRISPR-Cas9という生物のシステムがあり、ゲノム編集などに活用されているのですが、それを少し改変したものでdCas9というものがあり、これは遺伝子の転写制御に使えます。モジュール性が高く、これにより複雑な回路をシンプルなパーツの組み合わせで構築することができます。NORゲートを比較的簡単に構築することができ、これを組み合わせることでAND, OR, NAND等の様々なゲートを生物の中で構築することが出来ます。このアウトプットは「遺伝子の発現」にすることができるので、「こういう環境の条件の時に、この機能を生物に持たせたい」といったことをより精密に行うことが可能になります。
酵母の中で組み合わせ可能なXORゲートを作って、それをもとに色んな論理ゲートを作ってます。すごくない? pic.twitter.com/z63LFWWuoZ
— FI&NNL (@fwnnl) June 6, 2022
(このツイートはXORでなくNORでした、ごめんなさい)
このツイートの画像ではアウトプットはGFP(緑色蛍光タンパク質)の発現なので、電子工作で言えばLEDを光らせるみたいな感じです。
元論文はNature Communicationsにあるので、どなたでも読むことが出来ます。
Digital logic circuits in yeast with CRISPR-dCas9 NOR gates | Nature Communications
「これで加算器をつくれないか」と友人に言われました。現段階では組み合わせられるゲート数に制限がある(徐々に誤差が溜まってしまう)ためできませんが、将来的にはできるようになるかもしれません。夢がありますね。
他にも、生物の遺伝子発現を記述するプログラミング言語を作るという取り組みもあります。MITのVoigt研などがやっているそうです。紹介ページにも「The first is focused on the development of a programming language for cells.」と書かれています。私もiGEMで生物版スクラッチのようなものを開発中で、とある高校向けの授業で用いたり、iGEMで知り合った方と協力して開発したりしています(これについては今度書くかもしれません、書かないかもしれない)(12/19注: これはいずれ書こうという意志があります)。
この前退官された理学部情報科学科の萩谷先生が専門の「自然計算」も近いのかもしれません。DNAコンピューターなどを研究されていたそうです。ただ、「生物で」というより「DNA分子で」と計算をするという印象があります。
情報認知科学
2Sで取っていた授業ですが、そこでも知能を「硬いもの」として捉えるか「やわらかいもの」として捉えるか、に近い話題がありました。前者は「計算と表象」に基づいた古典的なフレームワークで、知能をコンピューターメタファーの中で捉えます。脳の中に記憶装置、処理装置などがあると仮定していく立場でした。そして固定された表象に計算を施していくという風に人間の知能をとらえていました。この立場だと、「環境との相互作用」や「知能が変化していくさま」が上手く掴めないので「生物学的シフト」が生じて、後者のように考えられるようになりました。知識は予めStaticに貯蔵されているのではなく、使われるたびに環境との相互作用の中で構築されるという「生成性」や、またその構築のされ方も「もの」として作られるというより、様々な感覚の活性パターンによって生じるという「イベント的な知識観」などが印象的でした。
自然言語処理
自然言語にもこの対比は当てはまると思います。自然言語処理の界隈では「古典的計算主義⇔コネクショニズム」という軸があるようです。昔の人工知能研究では、「自然言語の諸現象は形式的な論理で説明できる」と考えられていることが多いイメージがあります。ですがそれだとなかなかうまくいかないことが判明したようです。膨大な数の規則が必要という問題もあるほか、言葉の意味はどんどん変わっていくので、そのような変化に対しいちいち「各単語固有の文法規則」をアップデートしていくのは無理があります。また、そもそも自然言語で形式的に表現できる部分はサブセットに過ぎなかったという話もあるそうです。そのため、統計的な自然言語処理やディープラーニングベースの、コネクショニズム的な手法が今の主流なのだと思います。ですがそれだと今度は論理的な意味の把握に弱くなってしまったので、「硬いアプローチ」と「やわらかいアプローチ」の融合が模索されている、と聞きます。
(この分野については知らないことが多すぎたので、自然言語処理専門の先輩に教えていただきました。)
ウィトゲンシュタイン?
ウィトゲンシュタインの思想にも、「硬い理解」⇔「やわらかい理解」という対比が見て取れる気がします。そんな書けるほど詳しくないので出しゃばりすぎないようにしますが、前期の思想では自然言語の文は(自然言語処理の古典的計算主義に似てる気がしますが)世界を記述する命題として捉えられているイメージがあります。その上「論理空間」などの概念を緻密に定めて「語りえないもの」を導出しようとしている印象があります。そのため「硬い」イメージがします。後期の思想は「言語ゲーム」という、日常での言語使用の場面場面を重視し、その中で習得していくものとして言語を捉えているような気がして、環境との相互作用などを重視しているイメージから「やわらかい」感じがします。
まとめ
今よくやっていること等の関係で情報と生物の内容が多くなってしまいましたが、それ以外の分野でもこの対比は当てはまるということが分かっていただけたのではないでしょうか。
ほかの分野の専門の方にはあまりにも緩いアナロジーになってしまったかもしれず、申し訳ないです。興味はあるので、詳しく教えていただけると嬉しいです。
12/19追記
今読み返すと、対比だけ構築しておいてあとは何するつもりなんだ…!みたいな感じで、ちょっと消化不良の方もいるかもしれません。ごめんなさい。
今の私の興味としては、「硬い」「やわらかい」のどちらかにつくというよりは、両方を通貫するようなことを研究してみたいなという興味があります。
具体的には、「記号列」はまさにそうだと思います。プログラミング言語のように厳密に定義されたもの(硬いもの)もそうですが、やわらかそうな自然言語やDNAも同様に形式言語として捉えられる側面が大きいです(塩基配列でいうとRNAの構造解析などに役立つらしく、「実用的」でもありちょっと驚きました)。形式言語理論の授業が始まってみると、思いのほか面白かったというのは大きいです。今リアルタイムでは群論の言語の話がかなり自分の中で来ています(昨日書いたMuller-Schuppの定理はアツいですね、本当に)。これは「硬い」方だと自分では思います。
また、(「硬い」設計論理で重要になってくる)「理解」とは何なのか、必要なことなのか、といったことにも興味があります。これは最近もよく考えていることなので、考えがまとまったら記事にしたいです。進化は「理解する」主体者のようなもの無しで物を生み出しているわけで、それでもこんなに上手くいっているのはやはり不思議です。理解するという営みは、高次元の現象を低次元に圧縮してコンパクトにするようなことなのかなあ、という風に考えています。だから、高次元のまま何かができればそれに越したことはないのかもしれないです。私としても、頭で理解しようとして逆に動きや直観が悪くなるようなことはたまにあります。ここら辺のことは今頭に浮かんだことを書き連ねているだけであまり論理的ではないですが、いずれうまく言語化できるようになってきたらまとめたいです(それも低次元化して理解しようとした結果ということではあるのですが)。
理解と記号列の話は別々の話ではないです。記号列の形でものを認識するということは人間が何かを理解するということと深くつながっているような気がします。プログラムや自然言語など人間の生み出すものや認識するものが記号列の形を成しているのは人間の理解可能な範囲に収まる必要性からなのかもしれない("1次元"の記号列として)と考えていて、そのように考えることは可能なのかとちょっと考えています。ですがDNAも1次元の記号列の形をとっているのは不思議ですよね。もっと複雑な構造で塩基配列を記憶していても良かったのに。これらのものが1次元の記号列の形になっているのは、もっと他の制約(理解などとは別)からきていることも多いのかもしれません。
今までのブログなどの記事では書かないくらいのスピードで頭の中に浮かんだことを書いたので、だいぶ色んなことが飛んで行ったりしているかもしれないのですが、ここら辺のことはまたいずれ整理して書きたいです。その時はまた、お付き合いいただきたいです。
有限生成群上の形式言語がどんなオートマトンで受理できるかを考える
こんにちは。finalです。
これは ISer Advent Calendar 2022の12/18の記事です。
なんか1日早いんですけど、まだ明日も書くつもりでいます()
Advent Calendarに面白そうな数学の記事があったので、僕も数学の話がしたくなってしまったのです。
早速ですが、万物の根源は何でしょうか。有限の記号列ですよね。
人間の世界は、有限の記号列から出来ているといっても過言ではありません。
人間の話す言葉、プログラム、等々、世界は有限の記号列からできています。数学も例外ではありません。
数学で問題となる対象は、何らかの有限の記号列で表現されている必要があると思います。
また逆に、ある対象が複数の有限の記号列で表現されることがあります。
例えば、「7」という数は、7,3+4,2+5,1+2+4,1+1+1+1+1+1+1など、複数の記号列がそれを表します。
このような記号列を全部集めると、「整数上で7という数字を表す言語」が作れそうですよね。なんだか形式言語っぽい話になってきました。
有限生成群上の「言語」を考える
を群として、
によって
が生成されているとします。すなわち、任意の
は、
が存在して
と表せます。
そこで、次のような言語(#)を考えます。に対し、
とします*1。ここで、の*はKleene starで、
をアルファベットとしてみた時そのアルファベットの有限列(空列含む)全体からなる集合です。
に対し、
は記号列を表しますが、
でその記号列が指し示す群の元を指すことにします。
例えば、とします。演算が積でないのはややこしいですが、
なので、
となります。
モチベーションについて
有限生成群上の言語(#)を集合としては定義できましたが、具体的にその言語がどのようなクラスに属しているかは気になります。
正則なのか、文脈自由なのか、…ということです。
もし、比較的簡単なクラスに属していたとすれば、それは興味深い事実です。
「群」というのは非常に豊かな対象で、演算も多様な意味で定義されています。
ですが、そのような群上の言語を受理するオートマトンや、言語を生成する規則などは、そのような「豊かな意味」がどんなに豊かなのかを知らなくても、有限の規則に従って演算を処理するだけで「2つの表記が群の中で同じものを指すかどうか」を判定することができる、ということになるのです。
そんなことができるのか、という風に思われるかもしれません。
この問題は「Dehn's problem」や「Word problem」とも呼ばれていて、Wikipediaにも載っています。
実際、ある有限生成群についてこの言語が計算可能にはならないことが示されています。この話はどこかで書きたいです。
いくつかの種類の群の言語(#)については、計算可能ですし、きれいな言語クラスに属します。
以下のような定理が存在します。
有限生成群について次の(1)(2)は同値である*2。
(1) はVirtually free groupである。
(2) についての言語(#)は文脈自由言語である。
(2)⇒(1)は、おそらく難しいと思います。言語に属する記号列に対応するケイリーグラフ上のパスにをかけて閉路にしたものに対角線を引いて三角形に分割していくとき、Chomsky 標準形をうまく使うと対角線の長さに上限を与えることができます。そこからよく意味の分からないことをやると、示せるみたいですね…()(参考文献に証明があるので、どなたか教えてください)。
ここでは、(1)⇒(2)を示そうと思います。
有限生成なVirtually free group
Virtually free groupは自由群を正規部分群に持つ群で、さらに指数が有限になっているもののことです。
すなわち、 (右剰余類)とすると、
で任意の
は、
を用いて、
と表すことができます。
そして、さらには有限生成なので、有限集合
を用いて
となっているとします。
ともに有限集合であり、
について、それぞれ次のような
が定まるというわけです(
は簡約済み)。
この関係式は有限個しか存在しません。そのため、予め全てのについてこの関係を用意しておきます。
なんだか、プッシュダウンオートマトンに使えそうな気がします。
プッシュダウンオートマトンを構成する
気持ちとしては、のケイリーグラフに判定用のグラフをちょっと付け加えたようなものとしてプッシュダウンオートマトンを作ります。
プッシュダウンオートマトンを次のように構成します。
: 状態の有限集合。ここでは、
とする(
は後述)。
: 入力アルファベットの有限集合。ここでは、
とする。
: スタックアルファベットの有限集合。ここでは、
とする*3。
: 遷移関係。後で定義。
: 初期状態。ここでは、
とする(
:
の単位元)。
: 初期スタック記号。
記号列を受理することを考えます。
を一致するか判定したい目的の元とします(
の
)。
は
と(簡約すれば)一意的に表せるので、まず、
の時(またその時に限って)、
となるように遷移関係を設定したいです(括弧内は時点表示:ID を表す3つ組で、現状態、残り文字列、スタックの記号列を表します)。そのためには、次のようにすればよいことがわかります。
状態にいて、記号
を次に認識する状況を考えます。この時、
となるとします。
の1番目の文字を
とします。
もしスタックの一番上の文字が
ならば、これをスタックからpopして、2文字目以降があればそれをpush(またはpop)していって、状態
に移ります(注:
は複数文字のこともあるので、その場合は遷移をいくつかに分けて(中間状態(
)を用意して)、繰り返しスタックの一番上の文字を見ていくことになります。ですがそれでも遷移と状態は有限個で確定します)。一番上の文字が
以外ならば、スタックに
をpushします。
さきほど有限個用意しておいたの関係をもとに、これらの遷移関係を全部
に入れます。
そうすると、で、
となっているとすれば、この遷移に従うことで、
となります(は簡約結果を表す。例:
)。さらに
なので、うまく遷移関係を設定できたことになります。
popとpushをうまく使い分けることで、簡約ができるのがポイントですね。
さて、 という状況になったとします(
)。この状態になったときに限って、ある状態
において、IDが
となるようにしたいです。
そのためには、の語の長さを
として、新たに状態を
個
に追加します。それは、状態
から一本道で、
遷移するごとに、スタックの一番上のアルファベットを見て、それが
のものとして正しい場合に限ってpopするように定めればよいです。その道の終点から、さらにもう1つ状態を追加して、そこで初期記号
もpopできるようにします。これにより言語(#)は受理できました。
まとめ
知らない世界でしたが、群論と形式言語がつながっている世界で、色々な論文を読んでいると本当にワクワクしてきました。
早く(2)⇒(1)が理解したいです。
参考文献
- Word problem for groups (Wikipedia)
- The Word Problem in the Chomsky Hierarchy
- Word Problemの全体像(どんなクラスのものがどんな種類の群に対応しているか)について書かれています。
- 群の語の問題と Muller–Schupp の定理
- 文脈自由言語とVirtually Free Groupの対応が説明されています。日本語ありがたい…
- Muller, D. E., & Schupp, P. E. (1983). Groups, the theory of ends, and context-free languages. Journal of Computer and system sciences, 26(3), 295-310.
- 文脈自由言語とVirtually Free Groupの対応の証明です。こちらの場合、(2)⇒(1)はThe theory of endsなるものやStalling structure theoremを用いています。
- Diekert, V., & Weiß, A. (2017). Context-free groups and Bass–Serre theory. In Algorithmic and geometric topics around free groups and automorphisms (pp. 43-110). Birkhäuser, Cham.
- 同じく文脈自由言語とVirtually Free Groupの対応の証明なのですが、こちらのほうが分かりやすい気がしました。長くて全部は読めていないのですが、(2)⇒(1)の証明がMuller, Schupp, 1983とは少し違いそうです。
謝辞
このような分野の存在を教えてくださった線形演習でお世話になったN先生に感謝します。
想像力について学んだこと
こんにちは。ついに期末試験が終わりましたね。 モチベーションを下げたくないので、流れでブログを書きます。
Aセメは楽しい授業が多かったです。特に、英語中級・哲学Ⅱ・先進科学Ⅱαでは「想像力」についての話がありました。
ここでは英語中級向けに書いたレポートを抜粋・編集してそれについて書いていこうかと思います。
「未来学入門」
英語中級の授業内容は、Jacob Bronowski氏の『A Sense of the Future』を読んでいくというものでした。この本自体が面白いですし、さらに本の内容を時間や範囲を気にせず掘り下げて考えていくスタイルが(英語一列と違って)好きでした。もうちょっとあの授業をやっていたかったですね。
レポートを紹介する前に一応本の内容をざっくりと説明します。次のような感じです。
- Chapter 1 A SENSE OF THE FUTURE: 科学が大事にする価値とは何か(=非常に人間的で、民主主義的な価値)。そのような科学の姿勢が未来に立ち向かう上でふさわしい。
- Chapter 2 THE CREATIVE PROCESS: 科学と芸術における「創造」とは何か(=全人格的に、無秩序の中から新しい「つながり」を生み出すこと)。
- Chapter 3 ON ART AND SCIENCE: 科学と芸術の違いは何か(=「創造」のプロセスにはそこまで違いはない。創作物への追体験のされ方が異なる。科学は厳密に元の体験と一致するが、芸術はそのようなことはない)。
- Chapter 4 THE REACH OF IMAGINATION: 科学や芸術における創造と、想像力の関係。人間固有な想像力の在り方。
- Chapter 5 あるけど読んでいない
レポートはChapter 4の「想像力」の在り方に主眼をおいて書きました。この「想像力」は先ほど書いたようにAセメで受けた他の授業でもよく取り上げられていました。哲学Ⅱでも「想像力とはなにか」というテーマで議論が進められていましたし、先進科学Ⅱαも、ヒトにしか出来ない行動の源泉として「想像力」が挙げられていました。そのため、想像力について書いたレポートを振り返ることは、Aセメの多くの授業にわたって学んだことを振り返ることに繋がるので、書きたいなと思った次第です。
レポート紹介
人間の想像力と人工知能(AI)の持つ力を対比的に考えていくレポートです。
ここで用意するcounterpartはAIである。本文中では、「現在のみを生きることができる」動物と対照的に、想像力によって過去や未来について意識を働かせることが出来る人間の在り方が提示されている。だが、これは本当に人間だけなのか。AIも未来について「予測」することが出来る。「株価予想」などと言ってよくAIが使われている通りだ。他にも様々な「予測」が出来る。本文中で上げられている「チェスの手の想像」について言えば、今やAIのほうがよほど得意なようである。
想像力が無ければ「現在のみを生きる」ことになってしまいます。この話は先進科学Ⅱαとつながってうおーとなりました。Ⅱαではチンパンジーに「交換」が出来ないというのを学びました。交換をするには、一時的に自分の物を差し出すことで不利益を被る必要があります。「後で利益が返ってくる」ということを認識するには想像力が必要です。
レポート中で本文について触れていますので、その部分の補足をします。次のように動物と人間の在り方が対照的に説明されています。括弧内は引用者による追記・省略を表しています。強調も引用者によるものです。
- The direct (≒physical) gesture of attention and readiness is perhaps the only symbolic device that the dog commands to hold on to the past, and thereby to guide itself into the future.
犬の記憶力を試す実験が紹介されており、犬はどうやら「自分の身体を使って」記憶を保持する(ライトが光った方向に前足を向けておく、など)しか方法が無いようです。
- the most important images for human beings are simply words, which are abstract symbols.
それに対し、人間には「言語」があります。
- The (linguistic) images play out for events which are not present to our senses, and thereby guard the past and create the future (...). By contrast, the lack of symbolic ideas, or their rudimentary poverty, cuts off an animal from the past and the future alike, and imprisons it in the present.
人間は想像力によって、過去や未来に意識を向けることが出来ます。一方動物にはそれはできないということが、確かに述べられています。
想像力と言語には密接な関係があると思います。言語を持たないものは想像力も持ちえないと考えます。このことについてはAIの例を通じてこれから書いていきます。
レポートの内容を続けます。再びAIの予測と人間の想像の比較です。
確かに、「予測」と「想像」は違うのだと言われるかもしれない。最初に書いたように「想像」は人間らしい「創造」の基盤となり、予測は一見そうは思えない。だが、AIが人間らしい創造を出来るようになってきているのは事実である。AIが小説、音楽、絵画などを作ったという話をよく聞く。例えば、AIが文章の続きを補完して小説を書いてくれる「AIのべりすと」は有名であり、よくTwitterのフォロワーが使って遊んでいるのを見かける。
「最初に書いた」部分をブログ上では省略したんですけど、想像は創造の基盤となります。本文に「創造=chaosからのunityの発見」と書かれていました。その発見を支えているのが想像力でしょう。AIに我々のような想像力があるようには思えませんが、それでも似た創造活動が出来るようになってきています。
AIの行う創造が人間らしい創造に近づいてきている事態は、Bronowskiの議論を踏まえれば皮肉なことである。なぜなら、AIにはpersonalityが一切ないからだ。本文にあるように「理性・感情含め全人格を詰め込んで」創造を行っているなんて持っての外で、きわめてdeductiveかつmechanicalな方法で、人間に近い創造ができるということになってしまうのだ。
Bronowskiは、さらに本文中で創造の在り方として「全人格を詰め込む活動」というのを挙げていました。そしてそのような創造は、演繹的な推論、つまり何が導かれるかが前提から決まってしまうような推論ではなく、現実から帰納的に、ある程度の主観的な判断が介在してなされる推論により成り立っているものです。それなのに、それと真逆な位置にいるAIが、創造をそれなりにシミュレートすることが出来ています。
とすると、personalityを持った存在である人間の行う創造と、AIの行う創造に原理的な違いはないのか気になってくる。それを明らかにするため、いくつか定義づけを行う。以前から述べてきたように人間の創造は「想像」によるとし、AIの創造は「予測」によるとする。そして「想像」は人間がpersonalかつinductiveに「unity」を見つけることとし、「予測」はAIがmechanicalかつdeductiveに「trend」を見つけることとする。その上で、想像と予測の違い、特に「人間の創造を人間らしいものたらしめている『想像』の、『予測』との違い」について考えていきたい。
問いを立てるのが難しいという話をよく聞きますが、やはりそうでした。AIと人間の創造の在り方を比べていると、上のような問いに行きつきました。
レポートの中間の部分は省略します。
私は想像が「言語」によって行われる営みである点に、それ(=上に述べた「違い」)を見出せると考える。本文では動物が身体に束縛された仕方でしか記憶を保持できないとされて、言語という記号を操れる人間と対比されていたが、この対比はAIに対しても拡張が出来る。AIの「予測」は言語に拠っているのではなく、数値に拠っている。もっといえば、少なくとも現状AIは数値を記憶するデバイスによってしか記憶を保持することが出来ない。
想像力と言語の話に戻ってきました。AIの創造は確かに人間の創造に近づいてきてはいますが、決定的に違うのはこの点なのではないでしょうか。AIは言語を有していません。人間は言語を有していて、それが想像力の基盤となっています。さらに想像力が創造の基盤となっているので、創造に原理的に違いが出てくるのではないかということです。
非言語的な想像もあるのではないか、という指摘がされるかもしれません。ここで指している言語はもう少し広いニュアンスで、記号全般と捉えてもいいと思います。例えば数学の問題を解くとき空間を想像しますが、その空間も記号として捉えることができそうです。そのため以下に出てくる言語という言葉は記号と置き換えてもらっても構いません。
人間の扱う言語の特徴として、2つ考えられる。1つは表現力の高さである。ウィトゲンシュタインが言うように、人間の言語はあらゆることを表現できる極大の表現力を持つとされる。本当に極大なのかは若干怪しいが、少なくともAIの扱う数値よりは表現力が高い。なぜなら、数値の場合「それが何を意味するか」を人間により規則として定められてしまうため、表現力がその規則の範囲内になってしまうからだ。言語は外から制限されるようなことが無い。文法規則などが考案されても、それは常に言語の運用に遅れて発明されるものであり、実際の言語使用では規則からはみ出ることもよくあるだろう。その「本質的な規則の無さ」がまさに「芸術は爆発だ」というような突拍子もない、想定外の閃きを(芸術のみならず科学においても)支えているのかもしれない。もう1つは、言語の記号性である。言葉はそれ自体が固定的な意味を持つわけではない。外部から情報を受け取る際、受け取り側においてそれをどの意味に当てはめるかについて選択の余地が残されている。そのため、解釈の仕方にpersonalityを介在させることが出来る。AIの場合、数値は与えられた規則の下で一定の意味から切り離すことが出来ない。シンプルな例だと、(255,0,0)という3次元ベクトルの値はRGBというルールが与えられていれば赤と解釈するしかできず、緑だ、青だなどと勝手に値を変えることはできない。人間もAIも同じように「過去の蓄積」が大事だとしても、ストックする際にデータが機械的に処理されるか、解釈を伴って記憶されるかに違いが出てくるのだ。これらの点が、人間の想像とAIの予測の本質的な違いであり、この違いによってこそ人間は全人格を投入して創造をすることが出来るのではないかと考える。
最近読んだ本、レポートに引用しがち。鬼界彰夫さんの『ウィトゲンシュタインはこう考えた』という本を読みました。面白かったです。
記号性についての議論は哲学Ⅱの授業で聞いた話に近いです。AIの扱っている数値は、AIにとっては記号にはなりえないのかもしれないですね。AIにとっては数値を特定の意味(≒文脈、規則)から切り離すことが出来ないので。
先ほど非言語的な場合も記号として捉えていいと書きましたが、今哲学Ⅱのレジュメを振り返ったらこれはまさにそう書いてありました。デリダは『声と現象』において「意識そのものに記号の不透明性が見いだせる」と言っています(表現はレジュメから引用)。ここでいう不透明性とは記号が本質的に持ちうる「一定の意味に留めておくことの不可能性」だと思います。この主張を導くには意識についての説明のステップが必要だと思いますが、簡略化して言えば、意識において重要なのが「自分自身に語り掛けること(自己触発)」であり、語り掛けるうえでその内容が記号性を伴うからということだと思います。
このデリダの言説を踏まえれば、上に書いた言語の特徴、言語的な想像の特徴は我々の意識そのものの特徴に当てはまると言えるでしょう。そして、そのような「不透明性」ゆえに我々は意識そのものに「自分らしさ」の自覚を介在させることができるのかもしれません。AIにはそのようなものを介在させる余地が無い(厳密に規則、コードが定まってしまっているため)から、オリジナリティが生まれないと言ってもいいのかもしれません。オリジナリティは創造のみならず我々が自分らしく在ることの源泉だと考えられるので、自分らしさの源泉として記号的な意識の不透明性を取り上げてもいいかもしれないですね。
以上の議論をまとめる。現代において考えれば、AIも「予測」により人間に近い創造が可能になってきている。今後更に創造力が上がり、人間の創造物と同じように、ある人の心を動かす作品を作るようになるかもしれない。だが、人間の創造のpersonalityの源は「想像」の「言語性」であり、それを有していないAIが人間の創造に近づくのには限界があるのではないだろうか。この点において、人間の創造の営みを機械の営みから区分けできるかもしれない。
こういうことを書きました。レポートでは創造に絞って書きましたが、上に書いたように、このようにして意識そのものについて機械から区別することができるかもしれないです。
創造に関して言えば、実際に人間の創造とAIの創造の成果物的な比較が出来たら面白そうですね。言語あり/なしでどう異なるかみたいなのを知りたい。
あと、これに関する話を先輩としたとき、次のような意見が出ました。
その意味で言語と同等の表現力のある数学的対象を作れないでしょうか
これは面白いと思います。ただ、今まで数学が追求してきたものと逆の方向にありそうですよね。
数学的対象は自然言語の曖昧性などを出来る限りそぎ落として、議論を厳密化するために導入されてきたと思います。
「曖昧さ」を取り入れたような概念、つまり不透明性を持つ概念を扱えるようになったら強そうですね。
謝辞
1学期間お世話になった英語中級のT先生、哲学ⅡのK先生、先進ⅡαのI先生に感謝します。
学業レポートを書きました
こんにちは。早いもので2021年ももうあと少しですね。
さて、今日はちょうど奨学金のレポートで学業を振り返るというものがあったので、
せっかくだしそのレポートをブログにしようかなと思います。
実際、レポートに皆さんとの交流もたくさん書いたので、皆さんと一緒に振り返りたいな(小並)と思ってます。 レポート実況みたいな感じで書いていこうと思います。
奨学会の方へ
いつも本当にお世話になっております。 提出されたレポートを調べたらほとんど同じ内容の記事があった、と思われるかもしれませんが、 そのレポートを提出したのは僕です。送信時間をご覧いただくと、こっちの公開のほうが遅いはずです。
ひたすら頑張ったSセメ
私の大学生活はAセメスター(秋学期)から始まった。というのもSセメスター(春学期)は受験の延長線のように過ごしていたからだ。Sセメスターはとにかく成績を重視して、些細な努力も怠らなかった。東大では進学選択があるので成績がとにかく大事であり、また自分が東大という集団の中で全力を出したらどのくらいの成績が取れるのかを確かめたかったというのもある。母集団が優秀なので正直東大受験よりも大変だった。受験は合格ラインに達すれば良いが、この場合は天井がなく、頑張れるなら頑張っただけ良い結果になるというシステムで辛かった。だが、この努力の結果、かなり良い成績を取ることが出来た。
Sセメ、マジで勉強以外何してたんだろう()
転機
だが、それで良いのだろうかと思うようになった。もう受験は終わっていて、成績や点数がすべてではないのである。東大には本当にすごい人がたくさんいる。試験のため・成績のための勉強ではなく、自分の興味や、将来必要となるだろうことを考えて、独学で勉強している人がたくさんいる。国際物理学オリンピックに出場した人などと話すと、その人がどれだけ私の知らないことを自分で勉強しているかがよくわかる。
ほんとTwitterやサークルを通じてたくさんのつよつよの方々に出会うことができ、それが価値観の変化につながりました。ありがとうございます。
確かに、Sセメスターの成績が高い人ということで少し有名になったらしく、それで各方面に強い人とやり取りをできる機会に恵まれたのは良かった。また、高い成績を取れたことで、Aセメスター・2年のSセメスターは成績をそこまで気にしなくても進学選択で行きたい所に行けるようになったというのは大きい。Aセメスターからは、高い成績によって得られたこれらのメリットを生かして、成績目当ての勉強をやめるようにした。成績を取るための勉強となると、本質的でない箇所を暗記したり、必要以上に課題に時間を費やしたりする必要があるのだが、それをやめた。
やめました。
思いのままに過ごしたAセメ
それにより空いた時間に、自分の興味で行う勉強として、理学部数学科に進学した学生が3年で履修する代数学の内容(群・環・体論とガロア理論)を学習した。今までの勉強よりずっと難しかった。もちろん内容が難しいというのもあるが、それよりも「そもそも何を学べばいいのか分からない」という、自分で学ぶならではの難しさがあった。授業だと先生が内容を大事さに応じて取捨選択してくださるが、自分で教科書を読んでいるとそのような「価値判断」が出来ないため、漫然と学んでいっても分かった気になれないということがよくあった(よくいう「お気持ちわからん」の状態である)。修行のような期間が長かったのだ。また、テストのような明確なゴールがないので、モチベーションを維持しづらい辛さもあった。それでも勉強を続けて、少しずつ勉強の成果が見えてきた。勉強をしていると感じてくる「世界の解像度が上がる感覚」が徐々に代数学においても持ててきている。例えば必修の授業の線形代数の内容について、より深いところで関連を考えたりすることが出来るようになってきており、楽しい(行列の相似は代数学でいう共役類を成しているのだな(厳密には行列全体は群を成していないので違いはあるが、実際線形写像の合成とみるとそれなりに近い)、行列の最小多項式の考えはイデアルという環論の概念が念頭にあるのだな、など)。また、代数学の内容についてさらに進んだ知識を得ている人が同学年にやはりいた(強すぎる)ので、その人と話題を共有できたのもとても刺激になった。
高校生活でもあまり自分で範囲外のことを積極的に勉強しようみたいに思ったことはあまりなく、それよりは授業で習ったことを丁寧に理解しようという立場でした。まあそれで良かった面もあると思います。それもそれで深めていく道がありましたし、1つ1つの物を丁寧に考える姿勢とか、そういう勉強の面白さとかはそれで知った面もあると思っています。
大学に入ってからはあまり授業の内容の細部に興味が持てなくなってたんですよね。なぜか。それでSセメは受験期みたいにひたすら問題演習するとか暗記するとかを重視していた気がします。Aセメからは力点をそこから自学に移した感じです。
ただ時間をフルで勉強に回せたわけではないんですよね…もっと時間を有意義に使えるようになりたい、これは大きな目標です()
選択授業を取る際も、成績の取りやすさを考えるのではなく、自分の興味で選ぶようにした。哲学に興味があり、文科生向けの哲学Ⅱの必修授業を聞いているほか、現代思想の授業を取っている。問題意識が日頃私が抱いている物に非常に近く、それに答えが与えられるまでではないが、それに対する他の人の考えたことを読み解くことが出来るのは楽しい。どうして人間の認識を超えたような世界まで人間の営為である自然科学が予測しうるのか、人間の思考を離れたような真理は存在するか、数学や哲学はそれに到達できているのか、などである。哲学というとカントの思想を緻密に読み解いていくなどが主流なのかと思っていた(それも面白そうだが)ので、少し意外だった。哲学は同時代の自然科学の影響を受けざるにはいられない、と先生はおっしゃっていたが、現に哲学の研究者もそのように考えているのだということに驚いた。先生方との議論・雑談もよくさせていただいており、非常に刺激的で楽しい。現代思想の授業では授業後にその先生と議論させていただき、人文科学系の方の考え方などを直接学ばせていただいている。線形代数演習では、ほぼ毎週授業後に数時間にわたって雑談や議論にお付き合いいただいており、本当にありがたい。話の内容も、数学に留まらずそれに関連した哲学の話などであり、分野の垣根なく物事を考える姿勢が身についてきている。
Aセメは本当に多くの先生にお世話になりました。英語中級も「artとscienceの違い」みたいな話をひたすら論じていて、これは哲学と数学という対比と重なるところが多いのでまたたくさん議論させていただけました。時にはあまりうまく質問がまとめられなかったり意見が言えなかったり議論についていけなかったりしたこともあったんですが、お時間を取っていただけて本当にうれしかったです。ありがとうございました。
あと、Aセメを通して議論する姿勢そのものも変わった気がします。最初は緊張しましたし僕なんかが…いいのか…?みたいな風に思って自信が持てませんでした。段々あまり気にならなくなってきました。慣れは大事ですね。
教養課程を楽しみたい
勉強していると数学と哲学にあまり区別がないことが実感されてくる。文理融合型・分野横断型の教育などと最近言われているが、むしろ文理や分野を分けるほうが本来難しいのかもしれない。ある問題に答えを求めようとする際、その問いを十分に理解するためには、思考を一分野に留めておく方が難しい。こう書くともっともに見えるが、受験期に各科目ごとに勉強していた頃にはこのような感覚は真に得ていなかっただろうし(だからこそ文理融合などの言葉が高校教育で注目されていたのだろう)、Sセメスターでも依然そうであった。この実感を持ち始めてきたことをもって、私は大学での勉強の始まりとしたいのである。
Aセメから僕の大学生活が始まったと書きましたが、本当にそう思っています。
実は、私は数学に進もうとも哲学に進もうとも思っていないのだが、それらを学ぶことで、どんなことを考えるときにも基礎となるような物を得られているという実感がある。それは先ほど書いた、世界の解像度が上がるような感覚である。これこそが教養学部での前期課程の意義であると考えるし、このような勉強によってこそ享受できていると考える。
某先生もおっしゃっていましたが、進振りというシステムが最も教養教育を不可能にしている諸悪の根源だと思います。本当に教養を身につけさせたいなら、点数化をして、それを競争させるようなのはダメだと思います。全科目初ゼミ理科みたいに合否しかつかない世界になってほしい。
言い訳
おそらくAセメスターでは成績は前より落ちるだろう。だがそれは手を抜いたからというわけではなく、このような事情だということをご理解いただきたい。
これは前の記事にも書いた通りです。 →実はそんなに落ちませんでした(-0.3になった)
まとめ
最後までお読みいただきありがとうございました。
みなさんのおかげで、充実したAセメスターを過ごすことが出来ました。本当にありがとうございました。