▼ 言語はどこら辺まで本能か?
まあ、非専門家の個人的意見だから信じてはいけません。(間違いの批判は受けるけど。)
単語、特に名詞の獲得は本能。 二語連接、三語連接あたりも本能。
連接の二重三重の入れ子は本能では無く一般の運動学習能力を利用している。 それ以上の複雑で完備した文法能力は、数学というかそれの根源になっている能力の一部を利用している。つまり規則性を発見し、繰り返しをつくり出す能力。
(このような破れのある再帰は珍しい物では無い。 たとえばFORTRANのような初期の言語には関数はあっても再帰は無かった。 それどころか初期のコンピュータアーキテクチャにはスタックが無くて無制限再帰が出来ない物もあった。 だから、入れ子無し->限定された入れ子->完全な再帰 という発展のパターンは良くあるものである。 むしろ最初から完備した物を考えると起源が分からなくなる。)
▼ 大学院に入ったころからずっと、つねに知識の不足について、恐怖心と焦りを抱いていたが、最近もう知識は要らないというか、知る価値のある事は大体知ったと感じるようになった。 もちろん何でも知っている訳では無いし、知識が多い方でもないけど、必要なら知識がどこにあるか見当がつくようになった。
しかし、この心境の変化は、不思議な事に嬉しくなかった。むしろ「もう世の中には面白い事がない」ような気分になってとても落ち込んでいる。
(実はその心境の変化は確率微分方程式を理解したところで起こった。でも私の知らない事の総量はほとんど変化していないので、ここで心境の変化を起こすのは理屈に合っていない。)
▼ MATLAB。struct同士が==で比較できないのは悪いとは言わないけど、ダサ過ぎる。
▼ イチビリ科学者について
「イチビリ」というのは関西ローカルな言葉だけど、そういう人はどこにでもいる。自分の言動が当人にとってはエラく面白いらしいのだけど、端から見たらつまらない人の事だ。
そして科学にもイチビリはある。なんかその研究が当人にとっては凄く面白いらしいのだけど、端から見るとつまらない研究が。
で、そういうイチビリ研究には一貫した特徴があることに気がついた。 ストーリーが複雑すぎるのだ。たとえば風が吹けば桶屋が儲かるという話と同じで、科学でも長いストーリというのは妥当性が低いし、他で利用する事ができない。だから普遍性のある結果とはならない。 だけど、当人にとってはなにか文学的な感興を催すんだろうねえ。
ちなみにイチビリ研究者は死後はともかく生きているうちは結構評価されたりよい待遇を得たりすることがある。ソウイウヒトニ、ワタシモナリタイ。
最初のころに発言したけど、流れが速くて追いつけません。 なんだか「悲観的な専門家」の枠組みで理解されたようで不本意ではある。私としては本質をつかめば難しく無いかもしれない、という楽観派だと自分の事を思っていたのですが。 楽観的だからこそシミュレーションの検討を始めたりする訳で。
▼ 私は数学に集中が出来ない、プログラミングに集中できるほどには。
私がなぜ数学よりプログラミングにより簡単により深く集中できるかというと、プログラミングの方がより私の頭の中で形式化が進んでいて完全に底が割れているからだろう。(「底が割れている」というのはマシン語レベルまで頭の中で分割できるという事だ。) それは機械という完全に形式化された基盤を持っているからだ。それはまさにピタゴラ装置のような物だ。 数学者も訓練によりコンピュータと同じくらいマシン性を持った物を脳内に構築しているのだろう。(マシン性というのはいつも同じ単純な動作をするということ。ここでの「形式性」と同じ事。)
わたしはコンピュータが1千万サイクルの間にやる事が見える。
それは別に変な事じゃ無くて、目の前に1千万の砂粒が同時に見えているのと同じ事だ。そしてしようと思えば、どの砂粒一つにでも注意を向けてその色とか形とかが分かるのと同じ。また砂で何かの形が作ってあるとかのより大きな構造も自在に見る事ができて、これら異なるスケールの間を自在に飛び回る事ができる。
最新の数学では定理は公理に分解すれば数百万ステップになると聞くけど、おそらく数学者にとっての数学は、私が高次のプログラムから機械命令の1ステップまで見ようと思えば見られるのと同じように、高次の定理の証明に含まれる数百万の公理の適用が1ステップまで自由にズームしてみる事ができるのだろう。
私にとってちょうど良い長さと抽象度で役にたった。 原理的には持っている数学辞典にも同じ事が書いてあるはずなんだけど、数学辞典の記述はいつも抽象度が私には高すぎてきつい。 それが私にとっての悩みの種。
しかし第二節のルベーグ積分の所は知っている事だから 読み飛ばそうと思ったけど、記号のローカルルールに慣れるためにと思ってひさしぶりに読んでみたら、ピタゴラ装置みたいなおもしろさがある。そう、数学の面白さってこのピタゴラ装置なんだよね。
上位ディレクトリの 物理・工学のための数学 も充実していて宝箱を見つけたような気分になりました。
▼ たまたま珍しくテーブルの近くに居たから、BSIのパーティで始めてお寿司が食べられたよ。
私は子供の頃から、競争みたいな皆が殺到することになったら争わないのが方針なので。 誰かと取り合いになりそうなら、最初から別なところに行ってそこを耕すという価値観。 反対にゼロサムゲームに熱をあげる人間には嫌悪感を感じる。 ゼロサムゲームほど嫌な物はない。 (27日更新)
▼ Direct magnetic resonance detection of neuronal electrical activity. Petridou N, Plenz D, Silva AC, Loew M, Bodurka J, Bandettini PA. Proc Natl Acad Sci U S A. 2006 Oct 24;103(43):16015-20.
機能的MRIは血流の変化から間接的に神経活動を見ている。 そのせいで時間的解像度は数秒、空間的解像度はミリメートル程度だ。それに対して この論文はMRIで直接に神経活動が見られるという話。信号の大きさは血流関係の1/10くらい。数ヘルツくらいまで検出できてる(画像にした時はそうかはわからない)。すごいと思うけど、信じがたいほど。
▼ "Not Even Wrong"と"The Trouble with Physics"がNatureにもSCIENCEにもScientific AmericanにもNature Physicsにも取り上げられていた。しかも一度ならずも2度3度と。議論を巻き起こしているようだ。
▼ Activity-dependent expression of occ1 in excitatory neurons is a characteristic feature of the primate visual cortex, Takahata T, Komatsu Y, Watakabe A, Hashikawa T, Tochitani S, Yamamori T., Cereb Cortex. 2006 Jul;16(7):929-40.
普通の哺乳類では抑制性細胞にしか発現しないocc1という遺伝子が、霊長類の脳の一次視覚野では興奮性細胞にも現れているという話。おもしろい。
脳には興奮性細胞と抑制性細胞がある。哺乳類の大脳とかを見てると興奮性細胞の方が目立つから一見、抑制性細胞はつまらない物のような気がしてしまう。
でも進化的な起源は抑制性細胞の方が古くて、だからだろうけど、抑制性細胞の方がいろんな芸当ができる。例えば一部の抑制性細胞みたいに数百ヘルツで発火し続けたら、興奮性細胞ならあっという間に死んでしまうだろう。あるいは例えばPurkinje細胞のように大形で異形が可能だったり。
私がこの研究の事実を面白いと思ったポイントは、これが示しているのは霊長類の興奮性細胞は抑制性細胞の遺伝子をいただいて得意技を何か一つ盗んだみたいだからだ。まあ私の解釈に過ぎないけど。
▼ 今日のセミナーについて、 本題では無いけど写真の傷修復の話がdiscussionになった。 で、傷がどこか分かると修復できるけど、傷を見つけるのが難しいと言う話になって、自転車置き場の議論になっていた。(脳関係の理論家はだれもが一度は考えた事があるけど解決してない問題という事だろう。)
わたしの考えは・・・自然イメージのimaga statisticsからいって確率的にあり得ない領域が傷という風にformulateすればいいと思う。つまり傷とは何かでなく、普通の画像とは何かという視点から見るべき。
▼ CPUアーキテクチャの次の転轍は?
トランジスタ増加を直列性能向上に使う時代から、 コアを増やす事に使う時代になった(030529)。こんどは、どのような変化が何時起きるのだろう。
私が想像するに、次は演算能力を増やす時代から、CPUパッケージ内のメモリを増やす時代への転轍だと思う。それはメモリバンド幅が律速になるからである。それ以降はCPUの増強はやめて、最後にはプロセッサはメモリの一角を間借りする形になる。それはいつだろうか?
転轍が訪れるのは、パッケージ内にコアを増やしてもバスが律速して速度が上がらなくなる時期の少し後だろう。16か32コアの時くらいだろうか。それならそれほど遠くはなさそうだ。
参考メモ: 「13. PIM か POM か?」によれば、
速度がでるプロセッサと DRAM を同じダイにいれようとすると、 DRAM の集積度が汎用 DRAM よりもずっと下がり、しかもシリコンの面積当り のコストも高いのでメモリのビット単価が 2桁程度上がってしまう
基本的には DRAM のプロセスで、遅くてもいいから論理回路を、という 方向はまだ可能性があります
ところで、貫通電極への移行過程として、マルチチップモジュールではダメなのだろうか。
原始的な心エコーが開発されて、当時の心音図の権威の先生方にこの機械を見せたときには、 「こんなもの必要ない」と一笑に付されたそうだ。そのうち、何人かの医師は心エコーの可能性に気がついてそちらに移り、最後は 学会が分裂する騒ぎになって、心音図は滅んだ。
理学系の学会とはずいぶん学会の性格が違うと感じた。
▼ ニューラルネットワークの専用ハードについて
新皮質の計算論を完成する事ができたような気が個人的にするので、そろそろ、新皮質の模擬をする専用ハードウェアについて考えようと思っていた[1]。
しかし、これをみたら:
NVIDIAの次世代GPU「GeForce 8800」(後藤弘茂のWeekly海外ニュース)
専用ハードは要らないのじゃないかと思った。500Gflopsだって。
GPUはまだ単精度のはずで、科学演算に使いにくいけど、
ニューラルネットで必要とされる計算の特徴は比較的低精度でよく、反対に(GRAPEなどとは違って)メモリ転送の能力がかなり必要ということ。多分、浮動小数点演算数回あたりメモリ1回の転送が必要。
で、GPUなら、メモリバンド幅についてもかなり良く作ってあるはずだし(100GB/s 近くらしい)、良いのでは無いでしょうか。
(大量のメモリが必要なのはシナプスに対応してのこと。 領野に相当する分割は比較的簡単にできるので並列化もしやすい。 いや、しかしoffline学習なら時間軸方向にnフレームまとめれば、メモリ転送dominateでなく、 計算dominateに変更できるかも。)
一方GRAPE-DRを使うと言う可能性もある。
浮動小数点の演算性能は、単精度で512G FLOPS、倍精度で384G FLOPSを達成。
これの写真を見ると、チップ内メモリが比較的小さい事から、やはり重力のような演算量が多い割にメモリとのやり取り(やデータ量)が比較的少ない用途向きに設計されていると思う。(外部メモリアクセスの能力について知りたかったが、記事には無かった。)
PlayStation 3のCELLは意外にも256Gflopsもあって魅力的ではあるけど、恐らく5年アップデートされない事を考えると、研究用には使えない。
ところで「 スーパーコンピューティングの将来」(牧野さん) は、前に見た時は途中までしか無かったけど、完成してました。 アーキテクチャについて考えるに好適な資料です。 GPUの科学演算への利用についても言及があります。
[1] 順番としては、計算論の確定、パソコン用CPUでの実行、1CPUでの最適化、マルチコアとクラスタへの最適化、FPGAやGPUなどの利用の検討、専用ハード、という順であるべき。計算論も分かっていないのにいきなり専用ハードを作りはじめるの はあまりよくない。
▼
この間の「多重参照」の話
のフォローアップとして、
ユーザがポインタをいじれる為にオプティマイズが阻害されること、つまり世間の思い込みとは逆にポインタのせいで遅くなることも多いということを書こうと思っていたけど、
w_oさんが書いてましたよ。
http://d.hatena.ne.jp/w_o/20061112#p3
▼
まえに紹介した
Hyvarinenの論文をみて思う。
あれは良いアイデアだけど、内容は私が書いた紹介文の簡単な数式で尽きている。
だけど、それだけだと論文にはならない。論文と言うパッケージに丈があわないから、査読を通らないだろう。だから要らない事をいろいろ書いて論文に仕立ててある。読む方にとっても邪魔なだけなのに、書く方にとっても手間なだけなのに。
人工知能って、実は生まれつつあるのかもしれない。ひとつのマシンのひとつのプログラムがチューリング・テストに合格するイメージを持っていたけれど、実際には違うのかも。いったいどこにつながっているのか、何台のマシンがバックエンドにあるのか、そこに人間が介在しているのか、さっぱりわからないけれど、問いに答える存在としての知能。
この表現は上手いなと思いました。
知性があるか知らないけど質問に答えるとか
知性があるか知らないけどおつかいができるとか
知性があるか知らないけどお部屋がピカピカとか
そういう物を作ることの方が知性を理解する近道になると私も思います。
▼ そういえばブログの草創期に、web日記と違うブログの特徴として トラックバックが如何にすばらしいか、楽しいか力説されていたような気がするけど、最近トラックバックについて何か語る人を見かけない。実際、自分が人のブログを読む時にはトラックバックは関係ない記事が多くてスルーぎみ。
▼ IQテストのスコアが1世代毎に5くらいずつ上昇しているらしい。で、なかなか原典を捜せなかったんんだけど、 「フリン効果 」という名前だと分かった。 これで幾らでも検索できる。
蛇足ならが、付け加えると、他の研究者が同様の結果を続々と出してこない限りは確実とは思わない方がいい。本当なら面白いけど。
▼ なんつーか、XMLとか最近のHTMLとかは好きじゃ無い。
世の中には他人にルールを強制する事が好きな人がいる。 たとえば静的型がいい!とか早起きがいい!とか言う人だ。 いや、静的型が好きなのはいいのだ。私も好きだ。これで回避できたポインタ周りのバクは幾つになるのか見当もつかない。 早起きだっていい。私も毎日6時前に起きている。 それを他人に常に強制したがるのが良いことなのかが疑問なのだ。
たとえば、部下に早起きを強制したがるのはどう言う事か考えてみる。おそらく、朝はやく起きて仕事を始めると、爽快で静かで集中でき頭の回転も良く生産性があがる事に気付いたからなのだろう。だからぜひともそれを勧めたいのだろう。 でもそれはその人の話しだ。朝はダメで夜に生産性があがる人もいるだろう。 ようするに「自分の生産性を最適にする働き方をしろ」と言うべきところで「早起きしろ」と言ってしまう間違いを犯しているのだ。 また静的型を勧めたがる人にも同様の問題を感じる事が多い。
そしてHTMLの小うるさい規格にも同様のものを感じる。 自分の考える良さを人に強制したがる何かだ。 strictなルールつまり手段を強制すればそれで目的が達成されるという考え方だ。
昔のHTMLはそれほど酷く無かったのにこの「正しさを強制したい」という欲望によって酷くめんどくさくなった。 そしてそれに対する反抗心で、私は「正しく無い」HTMLを書いている。子供っぽい反抗心で、ほんとは従うべきだとは思うけど。
▼ あと、もっとぶっちゃけ言ってHTMLのルールは複雑すぎ。
しかもプログラミング言語ならルール違反は即座にエラーメッセージになって出てくるけど、それ無しの癖にプログラミング言語と同じくらいの複雑さである。コンパイラがwarningを出さずにlintを別途かける必要があった時代のC言語より悪い。
しかもルール違反が分かってもどうやって直せばいいのかはマニュアルを理解しなくては分からない。これを仮に「CUI性」と呼ぶ。 プログラミング言語ならCUI性は仕方が無い。CUI性なしの万能言語はあり得ないように思えるからだ。しかしHTMLはプログラミング言語にくらべてほとんど万能性が無い癖に、プログラミング言語に匹敵するCUI性を持っている。これがイヤ。
* 健全なマクロが不健全なのは、「やりたいこと」はとっても健全なんだけれど、実装しようとすると落とし穴が多すぎるというかほとんど地雷源。で、そんなに複雑になるのは、実は問題の立てかたが間違ってるんじゃないかって感がぬぐえない。
これは興味深い。 Cipherのマクロも健全なんだけど、まえから、これを置換で実現するべきなのか、それとも引き数を評価せずに受け取る関数の一種とするべきなのか考えていた。(今は前者で実装されている。)で、困っているのが自分だけじゃ無いとすると、標準的な前者の考えがまずいと言う事かもしれない。
▼ 世の中には1,3,5系列と1,2,5系列のものがある。 パスネットなんかは1000円、3000円、5000円で1,3,5系。 測定器なんかは1V, 2V, 5V, 10Vとかと1,2,5系。 私は1,2,5の方が好きだ。パスネットやSUICAも1,2,5系になってほしい。自分の乗っている自転車のギアも1,3,5系なんじゃ無いかと思うけど、やっぱり1,2,5系にして欲しい。自宅の扇風機も1,3,5系のような気がする。1,3,5は1と3の差は大きく感じるけど、3と5の差はあまり感じないと言うのが特徴だ。
▼ その言語では、空白は何に使われているか
プログラミング言語の文法の比較では演算子やキーワードが比較されることが多い。比較では忘れられる事も多いが空白が何に使われているかは重要である。たとえば
C言語: double x;みたいに静的型の指定
LISP: (list 1 2 3)みたいにリストのcellの連結
MATLAB: [1 2 3]みたいに行列の要素のセパレータ
Cipher: y = f(g(x))をy = f g xと書ける。つまりオペレータ積。または関数合成
APL: オペレータの合成
それぞれ、Cは型にうるさく、LISPはlistというかconsセル中心で、MATLABは行列用の言語で、Cipherは数学表記に近付けようとしている、と言うぐあいに言語のもっとも中心的な性質を良く表していることが分かる。
演算子などにくらべると意識されにくいが空白(必ずしもスペースやタブに限らずトークンの切れ目になる構造)は言語のなかの一等地であって、その言語がもっともよく使う構造をそこに入れるのが相応しい。
▼ はてなアンテナの(このサイトだけに対する)不具合については見当がついた。 htmlのコメントタグの中にタグがあるといけないようだ。 これがhtmlとしては未定義っぽいことは知っていたが、それってヒドい規格だよねえ。 たとえば、C言語で「コメント/* ... */ のなかに+演算子があったらダメ」とか言ったらどうする?
▼ よく「アウトソーシングでコスト削減」とかの標語を見かけるけど、ホントかな? もともと内製した方が安いから、自社内に部門を作ったんじゃないの?
▼ BSIリトリートで発表したポスター(PDF)をここにおいておきます。 この間のJ. Neurosicenceに掲載した仕事です。
▼ 知能や意識の仕組みを科学的に理解する事への、障碍になっているのは、間違った考え方である。 それらはここ数百年の哲学の文脈から出てきた物が多い。また人工知能の研究の文脈から出てきた物もある。
家を屋根から建てようとしたら家をたてる事は不可能に思えるだろうし、 組み木細工は最初に外すピースが分かるまでは分かちがたい一体に見える。 望遠鏡を逆さから覗けば物を小さく見せる道具に見えて、なるほど「遠眼鏡」だと合点する。 意識と知能の研究の多くはこのたぐいであって、存在するだけで研究者の思考を変な方向に誘導する有害な考え方である。
この分野の研究を進歩させるためにはこれらの有害な考え方を一掃する必要がある。 観客にとってもっとも分かりやすいやり方は、有害な考え方を振りまく人を名指しして批判したり笑い者にしたりすることだ。 だけど、あんまりそう言う攻撃的な事はやりたく無いしなあ。
▼ 過去に大きな仕事を成し遂げた、尊敬すべき年寄りたちの話をwebで何件か読む機会があった。 普段読んでいる「まだ何も成し遂げていない人たち」の日記に比べて、なぜか彼らの話はつまらない。 彼らこそ「独創」とかしつこくいうけど、これから彼らから新しいものが生まれるような感じがしない。かれらには緊張感も感じられない。 反対に「こういう老人にならないためにはどうしたらいいのだろう」という方ばかり気になった。