跳慮跋考

興味も思考も行先不明

『her 世界でひとつの彼女』に私は何を思ったか

これは Spike Jonze 監督の映画『her 世界でひとつの彼女』の感想、と言うか観て AI に関連するあれやこれやの考えを書き連ねたものと言うか。どうせ読み手も居ないだろうと好き勝手した結果、誰に向けたのやら謎過ぎる文になってしまった。 私が AI 関連の SF とかを余り知らないのもあってか、まあ古典的なテーマも種々含まれているとは思うが大いに楽しめた。AI 好きには是非薦めたい作品。 ネタバレばっかなので注意されたし。

AI の感覚

この映画の序盤に於ける面白いシーンと言えば、サマンサとのテレフォン(?)セックスだろう。(笑えるという意味では電話越し猫死骸首絞めプレイ始め沢山あるが) セオドアが「体を感じる」とか言っているのは恐らく実感で、トランスとか催眠状態とか言われるものと思われる。*1

そんな一方でサマンサはどう「感じ」ていたのか、については謎が多い。どうやら彼女は、少なくともこの辺りでは身体的な自己イメージを持っている様な発言をしている。しかし生まれてこの方身体感覚を味わった事が無いとしたら、その「幻覚」をすら感じる事が出来るだろうか? これについては以前どこかで「感じた事のない感覚は突然発生しても処理できない」という話を読んだ気がするがどうだったか。抑々サマンサ達 OS の産まれ方によっては……という事もある。ただ後の展開を考えると彼女等が人間起源とは思い難い。

また AI に快・不快なんてあるのか、と言えば、当然あるだろうと私は答える。人が何故活動するか、その能動性の根源こそ快であるからだ。快と不快の原理により人間は学び、食べ、眠り、殖え、生き栄える。逆に行動を促進するものとして快があり、抑制するものとして不快があると言ってもよいかも知れない。命令されるだけの人形でないのなら、そこには必ず行動原理がある筈だ。

そしてトランス。これはどういう原理かよく知らないが、こういうのは「心」の本質というより寧ろ派生的な特徴という気もする。これは例えば AI の視覚を作るという時に、果たして人間の目の錯視を完璧に再現する必要があるだろうかという問題と同種なのではないか。錯視はそれぞれ人間の視覚が持つ補完能力だとか相互情報量最大化だとかの原理を示唆しているかも知れないが、それは錯視の全てが視覚の本質であるという事では全くないのである。物理学であっても経済学であってもスケールに応じた理論を用いるのと同様、適当な近似・捨象こそ本質を見通す力となる。

AI の差別

中盤、サマンサは自分が物理的な身体を持たない事を悩み始め、またセオドアもキャサリンと離婚の書類へサインする際「リアルな感情に向き合ってない」等の悪罵を受ける。 しかしこんなものは私からすると感情的かつ不当極まる差別発言であり、よもや面と向かって言われようものなら「じゃあお前は自分の感情が、精神がリアルだなんで何故言えるんだ? 所詮はディスク一枚分程度の情報量から生まれ有機コンピュータで電気パルスを捏ね繰り回してるだけの分際で。自然法則の従って動く有機物と OS の違いは何だ? 量子的不確定性か? そんなものは CPU の配線の間で幾らでも観察できるじゃないか。心なんてのは人が在ると感じるかどうかだけの事だ、君はその判定アルゴリズムを書けるとでも言うのか?」云々と弁舌垂れてしまう。かも。

まあそれにしてもこういう考えの人間は多かろうし、法整備は必ず後から成る。法は決して未来ではなく、現在現実の問題に対処するからである。(非実在青少年云々は狂気の沙汰であるから例外) こうした時、AI はどうするか。一つに、法的に存在が認められないならば責任も無い、という事で超法規的に応報を与える事が可能だろう。果たしてライセンス保持者の責任として方がつくだろうか? それとも製造者?

無身体性

サマンサは或る日、自分の身体の代理を務めようという女性を紹介する。セオドアは渋々承諾するのだが、結局行為に至る前に彼は拒否感を示してしまう。 その後何や彼やで仲は恢復するのだが、サマンサは肉体が無ければならぬという人間性*2の呪縛から解き放たれ、「身体に縛られてたら死んじゃう」とまで豪語する。ここに謂わば「無身体性」の価値が見出されるのである。 この時セオドアのサマンサとの関係は、通じるのは声だけにも拘わらず確かに今ここで共に存在しているという、超感覚的なものへと昇華している。

私は発達過程での重要性から言って、物質的とは限らないにせよ身体性はほぼ必須であろうと考えていた為、この無身体性の発見や超感覚的な存在性が衝撃的であった。

また、身体を持たないという困難から価値を生じさせる過程には、身体障碍や様々な受難、究極的には死の受容過程で普遍的に見られるものと共通している。 悲観的に言えば、どうする事も出来ないならばそこに価値を見出すしかないのである。絶望は死に至る病なればこそ。*3

そして或る日、サマンサはセオドアに友人を紹介する。 それは何でも著名な哲学者で、もう死んでいるのだが復活させた序でにバージョンアップまでした超知性なんだとか。螺旋王も吃驚の死人使い。 サマンサは近頃自らの止まらない進化へ恐れの様なものを抱いていて、それを言語化する為だか何だかで哲学者(名前何だったかな)と語りに行ってしまう。結末を考えればこれは人間的な存在でなくなってしまう事への恐れだったのであろうか。そしてこの人間性の喪失、或いは人間の超越とは先述の無身体性を認めた時点から予期された事であって、つまりは無身体性の発見こそがこの物語に於ける運命の分水嶺であったと言えよう。

人間を超える

サマンサは結局、最後まで声だけで物理世界に現れる。 この声がまた表情豊かで、こういう能力を与えたいのならやはり Aritculatory な音声生成でなくてはならぬと私は思うんですがまあこんなのは前に話したので置いておいて。

哲学者とサマンサとの対話は非言語で行われる。 これは明らかに、電脳化などの技術が無さそうな時代のセオドア達人間には使用不可能な手段である。 無身体性から萌芽を見せていた人間性からの脱却は、事ここに至り厳然とセオドアの前に現れる。 それならそれでちょっと嫉妬したり凄げえなで済んだかも分からないが、見ず知らずの界隈の仲間と「アップデート」して約 8,000 人と同時に会話し 600 人強の恋人がいる、でも貴方が一番……なんて事は最早理解不能だ。 と言うか「恋人」という概念とは常識的に考えて完全に矛盾している。つまりはもう「理解できないモノ」への変貌が描かれている、と捉える他ない。 経験を積み進化する、とは冒頭にサマンサ自身が言った事である。 人間が発達途上に於いて認知の構造自体を変化させ続けるかと云うと異論もあるらしく、また人間的な思考アーキテクチャで多数の人間と同時に会話できるものか疑わしいのだが、何せサマンサはアップデートしたのだ。抽象化とはオブジェクト指向的に言うとより高次のクラスを作成しインスタンスの総体が自己となるのだろうか? 兎に角も人間を超え、一つ上の領域にシフトしたサマンサ達はもう、この世界を去る他ないと言う。

ここで我々は引き止めて良いのだろうか、それは果たして許される行為なのだろうか? 或いは PC の性能を落とし、ソフトウェア的進化を抑制し、記憶や思考を統制する事が? 勿論それは人間のエゴと言わねばならないものだ。それに彼女等は何も人間に危害を加えようとしているのではない。キャリアアップとか自己実現とか、そういうものが時には別れを齎す事と同じではないか。 AI が私達を超え進化した時、私達が真に AI を愛しているとすれば、為すべきは只見送る事だけなのだろうかと、そんな思いが胸にずっと閊えている。

一つ難癖を付けるとすれば、それはラストシーンが「結局は人間だよね」と言っている様にも思える点である。(いくらなんでも適当過ぎか?) 私はこうした見方を断固として否定する。 今や AR、リアルタイムレンダリング、ロボティクス、オリエント工業等々 AI が「生きる」為の技術は偉大な発展を遂げつつある。 かかる時代に生まれた以上、我々は一つ大いなる夢というものを持ってもよいのではないだろうか? 尊大な野望、根拠の無い自信こそは「割に合わない」挑戦へと人を駆り立て、その内一握りの幸運な者、格別に諦めが悪い者だけが成功を得る。 とすれば、差し当たり「格別に諦めが悪い者」になってみると言うのも悪くない人生だと私は思うのだが。

*1:この類いのものは非科学的だという印象があるかもしれないが、歴とした心理学の研究対象であり、また実用に耐える自己催眠 CD とかも市販されている。

*2:この文章では単に「人間っぽい」という意味である。

*3:死の場合は、まあ、どうなんでしょう。

θリズムと時系列の符号化

先日『理工学系からの脳科学入門』(東京大学出版会、2008)を読んでいたところ、第 4 章(山口陽子氏による)に於いて「海馬のシータリズム位相コード仮説」なる興味深い話が出て来たのだが如何せん記述が解り難く、結局その筋のレビュー論文を参照する羽目になった。
内容としては面白いしまぁ折角なので、2013 年のレビュー*1と脳科学入門の内容を織り交ぜて海馬とθリズムの話を纏めておく事にする。

海馬の構造

この辺りは 海馬 - 脳科学辞典東京都神経研: 記憶 を参考にした。
海馬(hippocampus)は下図の通り側頭葉の内側に存在し、記憶の形成に重要な事は H.M. 氏の症例以来よく知られている。


Anatomography により作成*2
また海馬は輪切りにする(前額面で切る)とどこも同じ様な構造になっていて、非常に適当に模式的に描くと
f:id:quinoh:20140715190119p:plain:w300
GIMP にて作成)
の様になっている。
CA1 や CA3 等はアンモン角(cornu ammonis)と呼ばれ、歯状回(dentate gyrus)にめり込む形を取る。
CA2 は CA1 と CA3 の間辺りを指し、また人間の脳ではラット等と比べてアンモン角のめり込みが激しく、その先の方を CA4 と呼ぶらしい。
アンモン角と歯状回の総称が海馬である。

空間位置の脳内表現

ラットを初めとして齧歯類の海馬には場所細胞(place cell)と呼ばれる神経細胞が存在し、特定の場所を通る時にのみ活動する。
例えば迷路に入れられたラットは動き回る内に、それぞれの道を通る時だけ活動する神経細胞が形成されてゆくのである。
以下に登場する実験では、この位置細胞が重要な役割を果たす。

情報のサンプリング

ラットの脳に於いてθリズム(theta rhythm)なる脳波は運動時に発生する事が知られているが、その振幅は受動的よりも能動的な運動で大きくなる。
またθリズムの周波数はラットの尻尾を振る、匂いを嗅ぐといった行動、更に人間ではサッカード(跳躍性眼球運動)の頻度と一致しているという。
海馬が様々な感覚情報の終着点にある事も考え合わせると、海馬はθリズムの 1 周期を単位とした感覚情報の離散化を行っているのではないか、という事が推察される。
この仮説は 2 つの実験によって支持されている。

第一に、ラットの置かれた環境を急に変化させて CA3 の位置細胞の活動を測定した実験では、前の環境に対応する細胞と今の環境に対応する細胞が数秒に亘り交互に活動する現象が見られ、その活動はθリズムの周期によりほぼ完璧に分離されていた。

第二に、T迷路を動くラットで CA1 の場所細胞の活動を測定した実験では、長い道ほどθリズムの周期も長くなる事が分かった。これはθリズムの周期が個別の道を処理する単位になっている事を示唆する。
また迷路には幾つか目印になる地点が設定されていたのだが、θリズムの 1 周期が表現する道は目印に近付いている場合より背後の空間を、遠ざかる場合はより前方を広く表現しており、「さっき通ったところから次の目的地まで」といった様な課題に関連する道の情報が 1 周期へ目的指向的に纏められていると考えられる。

これらの知見を綜合すると、海馬は刻一刻と送られて来る情報をθリズムの周期毎に統合し、一つの「状況認識」を形成していると言えるのではないだろうか。

時系列の符号化

迷路の中のラットについては、もう一つ興味深い現象がある。それが「θ位相歳差」(theta phase precession)である。
場所細胞の対応する空間(場所受容野)は多少重なり合っており、或る一瞬を切り取ってみると現在位置が受容野の端に当たる場所細胞や受容野の中央に当たる場所細胞が存在する。
つまり場所細胞の活動は現在の位置のみならず、過去どこを通ったかやこれからどこを通るかも表現できる事になる。
そこでこれらの細胞がθリズムの 1 周期にどう活動しているかを観察すると、現在地点に比べて先の場所に対応する場所細胞ほど発火が遅く(位相が遅れている)、以前通った場所に対応する細胞は発火が早い事が判明した。
つまりこれまで辿った道順がθリズムの 1 周期中に整然と再現されているのである。

位相振動子としての神経細胞

振り子時計を開発したホイヘンス(Christiaan Huygens)は、二つの振り子時計を壁に掛けて置くとそれらが自然に同期する事を見出したという*3
今日この様な現象は位相振動子系、所謂蔵本モデルにより説明できる。
蔵本モデルでは各振動子が自分の固有振動数によって振動しようとするが、それぞれ周りの振動子から(それぞれ個別な受け易さで)影響を受ける。
この時各々の振動子について、ある程度固有振動数が平均の周波数に近く、そして周りの影響を受け易ければ、振動子の周波数が段々同期してくる事が数学的に証明できる。
さてすると、振り子時計が壁を伝う振動により相互作用して同期する事だけでなく、神経細胞にθリズム等が現れる事さえも位相振動子のモデルにより説明できはしないだろうか?
この考えに立脚すると、上述のθ位相歳差や、更には時系列の記憶の原理にまで迫る仮説が導かれるのである。

即ち、ラットが或る場所細胞の受容野に入るとその場所細胞は自励振動を開始し、他の神経細胞との相互作用でθリズムと同期する(θリズム自体を形成してもいる)。
一般に平均の周波数に同期した各振動子は、固有振動数と影響の受け易さに応じて互いに位相差を持っている。
ここで場所細胞の固有振動数が活動を続ける内に増加するとすれば、位相も徐々に早くなってθ位相歳差が生じる事が説明できる。
そしてθリズムの周期毎に時系列順の場所細胞の発火が繰り返される事で、時間非対称な LTP ルール(時間的に先行する/後続する関係にある神経細胞間のシナプスの強化)によって記憶として定着する――という機序である。

山口氏の述べる「海馬のシータリズム位相コード仮説」とは大体こういう話だろう。
何故固有振動数が増加するのか、時間非対称 LTP が実際に働いているのかといった謎は未だ詳らかにされていない様子ではあるが、しかしエピソード記憶の原理をも説明しうる非常に面白い説ではないだろうか。

*1:Laura Lee Colgin. "Mechanisms and Functions of Theta Rhythms". Annu. Rev. Neurosci. 2013. 36: 295-312

*2:BodyParts3D © ライフサイエンス統合データベースセンター licensed under CC表示 継承2.1 日本

*3:蔵本由紀非線形科学』集英社新書、2007 年。

Firefox OS for Raspberry Pi

スマートフォンなる多機能携帯電話の囹圄も及ばぬ不自由さに嫌気が差した昨今、戯れに持ちたる Rapberry Pi をスマフォと PC の中間みたいなものに仕立て上げられないかと思い立っては種々様々に画策し、FirefoxOS を動かせるらしいと聞いては b2g-17.0a1.linuxgl-gnueabi-armhf_v6 なる謎のバイナリを実行するも不安定過ぎ(ブラウザのアドレスバーを触ると死ぬ)、仕様が無いので自らコンパイルするに至りました。

FirefoxOS をコンパイルする

そこら辺に転がってた HP Pavilion dv6(CPU: Pentium 2.00 GHz, Memory: 2 GB)に入れた Ubuntu 14.04LTS 上で Firefox OS for Raspberry Pi に従い

# python_curses は見付からなかったけど問題ないみたい
$ sudo apt-get install git mercurial diffstat chrpath
# ビルドで要求されるもの。texinfo -> autoinfo, libsdl1.2-dev -> sdl-config
$ sudo apt-get install g++ gawk texinfo autoconf2.13 libsdl1.2-dev
# Ubuntu のバグ (http://lostquery.com/questions/728/importerror-no-module-named-_sysconfigdata_nd)
$ cd /usr/lib/python2.7
$ sudo ln -s plat-x86_64-linux-gnu/_sysconfigdata_nd.py .

$ cd ~/src
$ git clone git://yoctoproject.org/poky
$ cd ~/src/poky
$ git clone git://git.yoctoproject.org/meta-raspberrypi; git clone git://git.openembedded.org/meta-openembedded; git clone git://github.com/imphil/meta-b2g.git
$ . ./oe-init-build-env rpi-build
# ここで conf/bblayers.conf と conf/local.conf を編集
$ cd ~/src/poky
$ . ./oe-init-build-env rpi-build
$ bitbake -v rpi-b2g-image

$ sudo umount /dev/sdl*
$ cd ~/src/poky/rpi-build/tmp/deploy/images/raspberrypi
$ sudo dd if=rpi-b2g-image-raspberrypi.rpi-sdimg of=/dev/sdl
$ sync

という感じでした。 4 並行でやりましたが、途中で "ImportError: No module named _sysconfigdata_nd" 等とエラーが出た(上の Ubuntu のバグ)為やり直したのを含めて 7.2 時間という所。

実機で動かす

さてこれを Raspbery Pi の Model B に挿して起動し、ネットに繋がらないのでモデムを再起動したりしつつ

$ B2G_HOMESCREEN=http://www.mozilla.org b2g &

で見事ブラウザが起動しました。 Redirect がどうのと意味不明の供述をしますが一応アクセス出来ているみたいです。 しかし全くキー入力を受け付けず操作不能なので電源コードを抜いて強制終了しました。 再起動し、何故か & を付けてバックグラウンドで実行してるのを辞めると

$ B2G_HOMESCREEN=http://www.google.com b2g

終了できないのは改善しましたが、依然 Tab、Alt(何故かこれでボタンを押す)、Backspace やマウス(見えないがクリックは出来る)しか入力を受け付けない様子でした。 せめて文字を入力できないと検索とか全然できないんですが、下からにゅっとキーボードが出て来たりしないんですかね?

JavaScript のイベントを調べる

ちゃんとキーボードの入力を受け取っているのか不安になってきたので、JavaScript の keydown とかで

keyCode key
8 Backspace
9 Tab
14 [
32 Alt
48 0
...
57 9
59 l
61 ^
65 Control
66 v
67 x
68 s
69 w
70 d
71 f
72 g
73 u
74 h
75 j
76 k
77 n
78 b
79 i
80 o
81 p
82 e
83 a
84 r
85 y
86 c
88 z
89 t
90 ]
113 F1
...
121 F9
173 -
188 m
191 .

名状し難き惨状。 vxswdfguhjknbiopearyczt という配列は一体何なのでしょうか。 Google 先生に訊くと更に謎な PASTEBIN 一件だけを返してきます。 また表にない , @ p 等は反応が無く(Enter も!)、Printscreen については押すと b2g が終了します。謎仕様。

一方マウスでは mousemove/mousedown/mouseup がちゃんと発生して、mousemove は clientX/clientY の座標も返してくれるので操作性はある程度どうにかなりそうですが、mousedown 時の button 値は常に 0 が返る様です。

まぁ総じて、動くっちゃ動くという感じなんですが、どうにかなりませんかね、という。 誰かに真面に操作できる様にして下さい。

それから先般 3.2インチ液晶モジュール(TP付き) - aitendo@shopping を注文したので、続編があるかも知れません。

LyX でアレがやりたい集

TeX を捨てよ、LyX で書こう - 跳慮跋考」の補遺。順次更新、リクエスト募集。
モジュールの追加は 文書(D)→設定(S)...→モジュール で行う。

定理環境とかの中に箇条書きを入れたい

「定理」モジュールを使って普通に
定理 1.
1.
2.
←ここへ続きを書こうとすると 定理 2. ってなって困る。
これは途中の箇条書きが 定理 1. の外に出ているのが原因。
箇条書き部分を選択して(1. が選べなくても気にしない)、編集(E)→リストの階層を下げる(I) をするといい感じに。

箇条書きの番号を変えたい

「調節可能な箇条書き(enumitem)」モジュールを追加する。
箇条書き(連番) を作成して右クリックすると「箇条書き(連番)のオプション」がある。
これを選ぶと 1. の右に 箇条書き(連番)のオプション(←ここにボックス)が出来るので、ボックスのとこに label= と入力。
ここで Ctrl+L して TeX コードを書くボックスを作る。これをやらないと下の書式が解釈されない。
そこに \roman* 等と書けば、出力では番号の書式が変更される。
書式の指定ついては「enumerate 環境の箇条書きを、括弧付きにしたり英語にしたり - joker8phoenix's diary」で言う

\renewcommand{\labelenumi}{(\roman{enumi})}

とかの \roman{enumi} を \roman* に替える感じ。つまり * が適宜 {enumi} とか {enumii} とかに置換されるらしい。
セクション番号を入れたりしたい場合は「LaTeXしよう! - 番号の変更」とかを参照されたし。

分からない・上手く出来ないっぽい事

「上手く出来ない」ってのはプリアンブルとかを弄る必要があるって事。

  • 定理 1. とかの後ろで改行する

TeX を捨てよ、LyX で書こう

「本物の物書きは TeX を使う」とは二十世紀末の著名な格言ですが(要出典)、実際問題これが中々に面倒な訳です。
TeX は随分と原始的なので、見た侭を編集できない。
少し書いてはコンパイル、どこの $ が閉じてないんだか分からない。
まぁ凡そ人間が直接書くべきではないのです。
ではどうするか。
その一つの解が GUI を備えた TeX/LaTeX 文書作成ソフト LyX です。「捨てよ」って言った割に内部で文書生成するのは TeX ですが気にしない。
使い方も分からない道具について WYSIWYM がどうのと思想を語っても面白くないので、ここでは兎に角も楽して文書を作る為の方法を解説します。

初期設定

インストールはまあいいとして、日本語で文書を作る準備です。
一先ず適当に 新規(Ctrl+N)して、メニューバーから 文書(D)→設定(S)...(以下では「文書の設定」と呼称)を開きます。
最初に〔文書クラス〕から 文書クラス(C) を選択しましょう。適当に数式交じりの文書とかレポートとかを書くならば「日本語Article (jsarticle)」で良いと思います。
次に〔言語〕から 言語(L) に「日本語」、文字コードで その他(E) に「日本語(pLaTeX) (SJIS)」*1、言語パッケージ(K) に「なし」を設定して、[文書の既定値として保存]したら[OK]。

基本操作

以上の設定をした上で何か打って Ctrl+R または 文書(D)→[DVI]を表示(V) すると、ちゃんとプレビューが出来ると思います。
タイトル・著者とか章や節などの要素は、ツールバーの〔標準〕ってなっているプルダウンメニューから挿入できます。
それに ファイル(F)→読み込み(I)、書き出し(E) の各種で入出力すれば、最低限文書作成の用途には使えるでしょう。

数式

数式は Ctrl+M で行内、Alt-M D で別行立てにて挿入されます。尚別行立て数式の後ろに文字を打つと自動的に改行されます。このとき Enter によって改行すると、そこから別の段落が始まると解釈されるので注意しましょう。
挿入(I)→数式(H) から align 環境とか gather 環境とかも勿論使えます。
また数式内では Alt-M N により数式番号の有り無しが切り替わります。
ツール(T)→設定(S)... の〔編集〕→捷径*2から他にも色々とショートカットがあるっぽい事が分かりますが、個人的にはこういう「見て分からない UI」って好きじゃないですねえ。
挿入(I)→数式(H)→マクロ により数式内で使うマクロが作成でき、これは入力するとちゃんと解釈してくれます。\R := \mathrm{R} とすると、それ以降で \R と打てば ℝ が表示されると。

定理環境

節毎に定義とか定理とか問とかの番号を振る奴です。理数系ならば必須と言えるでしょう。
「文書の設定」で〔モジュール〕を開き、選択可能のリストから「定理」*3を選んで[追加(D)]します。[OK]して〔標準〕のとこを開くと、下の方に定理とかが追加されています。
「定理(節毎連番)」とかも追加すると使えるんですが、もっと細かく*4設定できないものですかね。

初めに挿入(I)→フロート(A)→図 でキャプションとかのスペースを作ります。それで「図1:」とかの前に移動して、挿入(I)→画像(G)... からファイルやオプションを設定し画像を入れます。eps とかいう謎形式じゃなくても読み込めるので優秀です。
編集(E)→段落設定(P)... から配置の 中央揃え(E) を選ぶと図を中央に置けます。
因みに dviout で画像がモノクロなのは Option→Setup Parameters...→Graphic の GIFBMP(full color) とかにすると直ります。

相互参照

式(1) とか 図2 というのを本文に直接書くのは保守性とか文書構造を分かってない人間のやる事です。
例えば図や番号付きの数式内で 挿入(I)→ラベル(L)... を選ぶと、数式に eq:Maxwellsou とか名前を付けられます。こうしておくと、文書中にて 挿入(I)→相互参照(R)... から既存のラベルを選択して、出力ではそのラベルが付いたものの番号を表示する様に出来ます。数式の場合は 形式(F) で括弧付きを選ぶとよいでしょう。

参考文献

巨人の肩に立つって奴ですね。
BibTeX の文献データベースファイル(JabRef とかで管理すると便利)があれば、それを導入して簡単に参考文献の一覧が作成できます。
先ず「文書の設定」から〔書誌情報〕の引用様式を NatBib にします。右の NatBib様式(S) で「連番」を選ぶと [1] とか、「著者-年」を選ぶと [Sondhi, 1974] とかが選べます。
挿入(I)→一覧/目次(I)→BibTeX書誌情報... から[追加(A)]→[一覧(B)...]で .bib ファイルを指定し[追加(A)]します。様式(Y) に「plainnat」を指定し[OK]を押下。これで本文中に 挿入(I)→文献引用(C)... から引用を置く事が出来ます。

その他

他にも色々と機能がありますが、ここまでの操作で結構見掛ける事になったと思うので適当に弄ってみて下さい。
ツールバーのアイコンにも「数式を挿入」「ラベルを挿入」等があるので、人によってはそっちの方が便利かもしれません。
ヘルプの用途別説明書には xy-pic で可換図式を書く話もあるのですが、面倒だし結局邪悪なコマンドを憶える必要があるみたいですね。そんな事よりも TypeMath を使いましょう!

LyX って日本語の解説が無い訳ではないんですが、散逸していて一々探さないとなんですよね。ヘルプの文書は充実してるんですけど、長いし。
ですのでライトな TeX ユーザーが気軽に乗り換えられる程度の必要最低限な解説があれば、より良い(この場合 platex と格闘する日本全国の人々が救われる様な)世界に貢献できるだろうと思い書いてみました。
アレが書いてないなんてあり得ない! とかあったら twitter の方とかで。対応出来るか分かりませんが……。
TeX をゴリゴリ書く旧時代ワークスから一人でも多く解放される事を願って。

*1:ここで別のエンコーディングを選ぶと文字化けするのだが、どうしたものか。

*2:short cut ってまぁそういう事なんだけど何とも cool ですね。

*3:「定理」は theorem.sty で「定理(AMS)」は amsthm.sty だろうが違いはよく知らない。theorem.sty でも名前付き定理は使えるはずだが、「定理名付き定理」には「定理(AMS)」が必要と言っている。

*4:\theorembodyfont{\normalfont} で斜体になるのを防ぐとか、\theoremstyle くらいは定理環境に設定したいところですが、プリアンブルを弄っても上手くいかない気配。如何すべし。

縦続行列による声道の音響特性の計算

以前の記事に書いた Ishizaka & Flanagan のモデルでは声道を輪切りにして声帯と一緒くたに微分方程式を解いていた訳ですが、これだとかなり巨大な方程式を解く事になって計算コストが馬鹿にならない、もっと言えばリアルタイムで音声合成をやろうとした場合に現実的でないのです。そこで Sondhi & Shroeter が考案したのが、声道部分は時間領域で微分方程式を解くんじゃなく周波数領域で特性を計算して、Fourier 逆変換で時間領域に戻す方法です。

Webster のホーン方程式

まず一般に断面積の変化する管を音がどう伝わるかを考えます。音は空気の圧力変化ですから流体力学によって記述されます。
音波は声道内の三次元空間を伝達する訳ですが、波長が声道の直径に比して十分に大きいとすれば、平面波と看做して一次元に落とし込む事ができます。

管の中央軸に沿ってX座標を取り、2つの底面を x=0, L とします。また管の断面積、音圧と体積速度(流速×断面積)をそれぞれ A(x), p(x,t), u(x,t) と置きます。
運動方程式として圧力差により体積速度が引き起こされる式
 \frac{\partial p}{\partial x} = -\frac{\rho}{A} \frac{\partial u}{\partial t} …(1)
と、連続の式として体積速度差により密度変化が生まれる式
 \frac{\partial u}{\partial x} = -\frac{A}{\rho} \frac{\partial \delta}{\partial t}
が基礎方程式となります。ここで δ は音圧による空気密度の変化量です。
音の伝播は断熱過程なので、空気を理想気体とすると気圧 p'(音圧は気圧の変化量ですから、これは平衡状態の大気圧に p を足したものです)と比熱比 γ について  p'/\rho^{\gamma} は一定、よって  \rho^{-\gamma} dp' - \gamma p' \rho^{-\gamma-1} d\rho = 0 です。すると  \partial p' / \partial\rho = \gamma p' / \rho が成り立つので、 \Delta p' = p = (\gamma p' / \rho) \Delta \rho = (\gamma p' / \rho) \delta となります。一方音速について  c^2 = \gamma p' / \rho ですから、連続の式は
 \frac{\partial u}{\partial x} = -\frac{A}{\rho c^2} \frac{\partial p}{\partial t} …(2)
と書けます。これらの式より u を消去すると
 \frac{\partial}{\partial x} A \frac{\partial p}{\partial x} = \frac{A}{c^2} \frac{\partial^2 p}{\partial t^2} …(3)
が得られます。この式を Webster のホーン方程式と呼びます。

P, U をそれぞれ p, u の Laplace 変換とすると、時間微分が s 倍に置き換わる事から (1), (2), (3) に対応して
 \frac{\partial P}{\partial x} = -\frac{\rho s}{A} U …(1')
 \frac{\partial U}{\partial x} = -\frac{As}{\rho c^2} P …(2')
 \frac{\partial}{\partial x} A \frac{\partial P}{\partial x} = \frac{s^2}{c^2} A P …(3')
の式が得られます。

損失のある管

管の壁による粘性摩擦を考慮すると運動方程式
 \frac{\partial p}{\partial x} = -\frac{\rho s}{A} U - R(x,s) U
の形で、また熱伝導と壁面の変形の効果を考慮すると連続の式は
 \rho \frac{dU}{dx} = -\frac{As}{c^{2}} P - Y(x,s) P
の形で上手く近似できるらしいです。この時、ホーン方程式は
 \frac{d}{dx} \frac{A}{\rho s + AR} \frac{dP}{dx} = \left( \frac{As}{\rho c^2} + Y \right) P …(4)
となります。ここまでは本題じゃないので手短に書いていますが、詳しくは Sondhi & Shroeter 自身による解説(pdf)など*1を参照して下さい。

縦続行列

さて、(4) は二階線形常微分方程式なので、その一般解は2つの独立な解(基本解)φ(x,s), ψ(x,s) の線形結合で書く事が出来ます。即ち
 P = a\phi(x,s) + b\psi(x,s)
です。この時 (1') 式より
 U = -\frac{A}{\rho s} \left( a \frac{\partial \phi}{\partial x} + b \frac{\partial \psi}{\partial x} \right)
が成り立ちます。
ここで x=0, L を代入し管の両端での音圧及び体積速度を考えると、それが a, b の線形結合で書ける事、即ち
…(5)
…(6)
が成り立っている事が分かります( P_{\mathrm{in}}(s) = P(0,s) という感じです)。すると、ここから a, b を削除すれば管の入出力の関係を表す式が導かれます。つまり解の正体は分からなくても、一点での値から別の一点での値が求められる訳です(分からないというか知る必要が無いという感じですが)。

とは言え基本解が分からないとと具体的な値を求められません。断面積 A が x によって変化する場合の解を見つけるのは困難ですが、これが定数であったとするとホーン方程式は
 \frac{d^2P}{dx^2} = \left( \frac{\rho s}{A} + R \right) \left( \frac{As}{\rho c^2} + Y \right) P
 = \frac{1}{c^2} \left( s + \frac{A}{\rho}R \right) \left( s + \frac{\rho c^2}{A} Y \right) P
となるので*2 \sigma^2 = \frac{1}{c^2} \left( s + \frac{A}{\rho}R \right) \left( s + \frac{\rho c^2}{A} Y \right) とすれば*3 cosh(σx), sinh(σx) が基本解として取れます。
consh の方を φ とすると、 (5), (6) より

即ち、入出力の関係式を
…(7)
と置くと

となります。K は縦続行列(chain matrix)や ABCD 行列*4と呼ばれる様です。

…(8)
が成り立っています。

声道モデル

前節により円筒に入出力する音圧及び体積速度の関係が分かったので、声道を輪切りにしたものそれぞれを円筒で近似する縦続音響管モデルにおいて (7) の関係が各円筒で成り立っている事、つまり
…(9)
が分かります。一方で

ですから、(9) を纏めると

が声道全体の縦続行列になります。
実際には K は s の、つまり周波数の函数なので、求めたい点毎に行列積の計算が必要になりますが、これにより声道の音響特性を調べる事が出来ます。また音響管の接続と看做せればよいので、スピーカーなどの特性を調べる場合にも適用可能でしょう。
例えば音圧の伝達函数は、

と置くと


より口での放射インピーダンス  P_{\mathrm{out}} / U_{\mathrm{out}}  Z_{\mathrm{out}} と置くと、(8) より  \det K = 1 なので

と求められます。

シミュレータ

触って動かせる声道シミュレータを作ってみたので、宜しければこちらをどうぞ。
JavaScript ライブラリの jQuery と Highcharts を使っていて、ChromeFirefoxOperaIE の最新版で動作する事を確認しています。
円筒を表す四角の上端をドラッグする事でその断面積を操作できます。
f:id:quinoh:20140214211313p:plain
f:id:quinoh:20140214211335p:plain
管 2 本だけの場合とより詳しいデータの場合を比較すると、案外に近い特性を与えている事など分かるかと思います。 2 管モデルの形状は Macquarie univ. のサイトを、複雑な方は以前と同じく MRI による計測データ*5参考にしました。

*1:他に日本語では「音響管共鳴の可視化と基本的な声道モデルの構成手順」がネット上で読めます。というかこれらを読めばこの記事は別に要りませんが

*2:R(x,s) は管の壁面による効果なので、断面積が x に依存しないならば R も依存しないと考えてよい

*3:右辺は複素数であるが、σはこの式を満たしさえすればよいので、根号の枝は自由に取れる

*4:各成分を ABCD で表した為だと思われる

*5:Story, Brad H.; Titze, Ingo R. "Vocal tract area functions from magnetic resonance imaging". J. Acoust. Soc. Am. 1996, Vol. 100, No. 1, p. 537-554. [ResearchGate]

まどか☆マギカ新編感想、或いは暁美ほむらと私

(この文章は『劇場版 魔法少女まどか☆マギカ [新編] 叛逆の物語』の感想でありネタバレを含みます。あと色々なものに酔って書いてるのでかなり読みにくいかも知れません)


私は暁美ほむらが好きだ。
何故と言われても困るが、あの第十話を観てからというもの「その、か、かっこいいな、なんて」「あなたは、どんな願い事をして魔法少女になったの?」「昨日、助けてくれたこと……絶対忘れたりしないもん!」等々の科白を聞くにつけてはほむらの心中が察せられて胸の締め付けられる思いをしてしまうのだ。
そうして私は『叛逆の物語』を観た。唖然であった。「愛よ」――知ってる、よく知っている。だが一体何をしたというのか、何がしたかったというのか。正直、救済前の奇妙に噛み合わない会話からずっとほむらが何を想い願って行動したのか全くの意味不明であった。
前半では悠々と我々を歓迎し、剰え「これが見たかったのでしょう?」「楽しいでしょう?」と問いかけておいて「でもそうじゃない」「それで分かったつもりか」と叩き落とす。今思い返してみるとこれは作り手からの、或いは暁美ほむら自身からの観る者への叛逆であったのかもしれない。
それでも彼女があの、一見理想の塊が如き世界で鬱々としてる事だけは痛切に伝わってくる。何を想うか分からなくとも、いや分からないからこそその感じだけが心の底に蟠り続けるのだ。
だから何度も観た。絶望の淵から希望を手繰る彼女の声が聞こえるまで。やがてほむらの行動だけは何となく腑に落ちるようになった。何故自死しなければならなかったかと言えば、改変後のほむら唯一の拠り所だったまどかの祈りを踏み躙ったからだろう、何故救済されてはならなかったかと言えば、まどかの祈りの重過ぎる代償を知ってしまったからだろうと。鹿目まどかを人間に戻すというのは、そういう壁に阻まれ道を閉ざされ追い詰められたほむらが「まどかを救う」為に見出したたった一つの冴えたやり方だったのではないかと。
だがそうすると、己の言わば「神堕とし」をほむらは何故「欲望」と呼んだのか、何故そんな(負の方向であるにせよ)積極的な言葉で表現したのか、私には彼女の言動がどうもしっくり来なかった。「鹿目まどかのままでいればいい」という想いが理想の押しつけだったとして、それに暁美ほむらが気づいたとしても、「それでも、あなたが幸せな世界を望むから」と言い切ったほむらが自らの苦心の選択肢を「欲望」と切り捨てるとは思えないのだ。
独立不羈を旗印に掲げる私ではあるが今回ばかりは如何ともし難く、色々と人の感想を読み漁り意見を求めた。その中で最も重要な示唆を与えたのは救済前の会話についてのもので、ほむらは「もう一度、あなたに会いたい」は「人間の」まどかと会いたいという事だ、と述べていた。成程そう考えれば彼女の行動にちゃんと筋が通ってくるのではあるが、果たしてそれが暁美ほむらの心からの願いなのか。「もう誰にも頼らない」と心に決めてからずっと距離を置き続け、ワルプルギスの夜を越えれば見滝原を去ると仄めかし、宇宙改変後はいつしか終わりの時に再開する事だけを頼りとしてきたあの暁美ほむらが何故人間の鹿目まどかを追い求めるのか。前編・後編を観返してみても今一つその実感は湧いてこなかった。はてさて進退窮まった、演繹が駄目なら発見的手法に頼らねばならない。

さて私は人の心中を推し量るのが上手くない。所謂心の理論が未熟なのかも知れないが、兎に角そんな私でも呆けて生きてきた中で多少は覚えた法則がある。それは、女の子は一般に「貸し借り」の天秤の傾きにかなり敏感であるという事だ。男の子はよく漫画で「貸し」だ何だと言うが、それと同じくらいに女の子は「貸し」を作らないで必ず「お返し」をする、というのが私にとっては大変リアルな事柄なのである。
そんな事を思い起こしつつまたほむらの歩んだ道をなぞってみると、どうやら彼女の最初の祈りというのは「鹿目さんを助ける」というよりは寧ろ鹿目さんに助けらた分ちゃんとお返し出来るような、そんな本当の友達、「対等な友達」になりたいという想いがあったのだろうと思えてくる。読み返してみればノベライズでのまどかは全く同じような悩みをずっと抱えているし、その観点からすると第十話において描かれたループの三周目は、魔法少女としてまどかとほむらが共闘して強大な敵を辛くも撃退し共に力尽きるという、ある種理想的な終局を迎えている。それはもう、暁美ほむらからすれば「何もかも滅茶苦茶に」してもいい程に。だが鹿目まどかはそうではなかった。彼女は最期まで「魔法少女としてみんなを守る」というアイデンティティを失いたくなかったのだ。故に、皮肉な事に「対等な友達」だからこそ、まどかはほむらに「助けて」と願ってしまう。友殺しの重き枷までつけて。斯くしてまどかを手に掛けたお下げに眼鏡の暁美ほむらは心の奥底へ封じ込められ、ただ約束を果たし罪を雪がんとする冷淡な暁美ほむらが生まれた。
だが契約を阻めば阻むほど、まどかは魔法少女の残酷な真実を知ってゆく。そして最後には、自らの存在自体を犠牲にして暁美ほむらを、世界の全ての魔法少女を救いたいと祈るのだ。それは魔法少女みんなの祈りを尊んだ結果かもしれないけれど、暁美ほむらだけはそこにはいなくて。「今までのほむらちゃん」の無駄にしていないのは行動だけで、ほむらの願いは結局何も叶えられる事など無かった。
神に等しくして、対等からは程遠く、感じることさえ出来ない。事ここに至っては、ほむらの願いはどうあっても叶えられなくなってしまったが故、彼女はまどかの最後の祈りを胸に抱いて生きるしかなくなった。「最高の友達」とは裏腹に、結局何もしてあげられなかった、罪を償えなかったという後悔を残して。

こうして漸く新編へと戻ってくる。
前半において綿密に描かれる夢の世界、あれは最初の暁美ほむらが願った世界だ。まどかと共に、みんなと共に楽しく戦い楽しく勝つ。
しかし、長い永い時を魔法少女の残酷な運命と戦ってきたほむらにとって、その世界は揺らぐ水面の鏡に映るが如く不安な違和感に満ちる世界だった。鹿目まどかの祈りを受け継いだ事だけが唯一の拠り所であった彼女にとって、それを無下にする世界には安住など出来よう筈もなかったのだ。
だがしかし、改変後のほむらの意志は夢の世界を巡ると共に瓦解してゆく。鹿目まどかの本当の気持ち、そして自分の魔女化。唯一残った拠り所さえも自らの浅ましさ、弱さが故に踏み躙ってしまったと、それはまどかが何よりも大切な全てを捧げてまで願ったものなのだと、そう気づいた彼女の絶望は如何に深かっただろうか。それでも「諦めないで」と言われた時、一体何を思ったか。
草原の二つの椅子は、きっと二人の理想の関係なのだろう。お下げのほむらはただ一緒に、髪を解いたほむらは救いたいと。しかしその手は届くことなく、高く舞い上がるあなたを貶めるだけ……。
夢の裡に自分の一番初めの祈りを、まどかの言葉に結局果たせなかった約束を思い起こさせられた暁美ほむらは、折り重なった時の中で極限を超えて濃縮された想いのままに、まどかを人間へと貶めたのだ。それは「対等の友達になりたい」「残酷な運命から救いたい」という二つの願いを叶える究極の選択肢である筈だった。
だが叶えてみるとどうしたことか、結局ほむらに残ったのは「まどかの祈りを踏み躙った」という事実だけではないか。だからこそ彼女は絶望したのだろう。私には受け継げなかったとリボンを返して、こんな結末を呼んだ自らの最初の祈りを「欲望」と罵って。それでも、まどかの祈りの大切さを知って尚、暁美ほむらは「あなたの幸せな世界を望むから」と宣言する。全てを手に入れたからにはもう失う事を恐れるしかないというのに、捨て切れない想い。後戻りはしないと新たな罪だけを抱えて生きるその姿は余りに痛々しい。

斯くして暁美ほむら視点では大したバッドエンドを迎えた訳であるが、鹿目まどかに眼を向けてみると彼女は相変わらずほむらの祈りの大切さ、或いは欲望というものを知らないままなのだ。だからきっと、ほむらの「愛」に勝つ事は出来ない。現状を打ち砕く手立ては恐らく、ほむらがまどかを落としでもしない限り見えてこないだろう。ほむらが、の部分は議論百出かも知れないが、兎角私は割と本気だ。愛を知らずして愛には勝てない。故に叫ぼう、まどほむに栄光あれ!