コンピュータ科学者は脳を構築できるか?
Could a computer scientist build a brain?
脳はどのようにして単一の細胞から、ゲノムにコードされた情報だけで配線されるのか。この問題を工学的な課題として捉え、コンピュータ科学者が直面する制約(ゲノムの情報容量と発生時間)から、生物が実際に用いる発生戦略が必然的に導かれることを論じる。脳の設計は、分解するのではなく、ゲノムがそれをどのように指定するかを問うことで回復可能かもしれない。
脳の設計は、それを分解することからではなく、ゲノムがそれを最初にどのように指定しなければならないかを問うことから回復可能かもしれない。
HNでの議論
66- ppsreejith
> プログラムは約1ギガバイトのゲノムサイズの命令セットに収まらなければならない
確かにそうだが、これはもっと大きくなり得る。プログラムを表現するのに使うプログラミング言語によっては、1エクサバイトの命令サイズになるかもしれない。そして、大規模な実行時の不変性*を考慮に入れても、まず大量の細胞機構を構築しなければならないため、定数倍の係数は巨大になるかもしれない。カール・セーガンの言葉を思い出す:サンドイッチを作るには、まず宇宙を構築しなければならない!
* 例えば、プログラムを言語Aから言語Bに翻訳するには、言語AからBへの翻訳機を書くのに一定のサイズを割り当てることができる。したがって、プログラムのサイズが大きい場合、プログラムのサイズが翻訳機のサイズ(一定)を支配するので、コルモゴロフ複雑性(すなわち命令セットのサイズ)はプログラム間でかなり類似している。しかし、細胞機構の定数倍の係数は巨大かもしれない**
** あるいは、おおまかなシミュレーションで十分なら、そうでもないかもしれない
- jekude
この質問と記事は魅力的だと思う。遺伝子表現と細胞が実行するアルゴリズムだけでなく、シミュレーションを実行する形式化された環境も見るべきだと思う。
私はこれを数年間考えてきたが、これらの細胞はセルオートマトンのような3次元格子の中で「動く」ことができるか、あるいは何らかの循環グラフのノードになる必要があると本当に思う(あるいはその両方かもしれない)。
遺伝子表現については、DNA/RNAがSKI計算(コンビネータ論理)と不思議なほど似ているという洞察があり、チャーチ符号化を使ってSKIプログラムをターンごとの「アクション」(移動、接続、スパイク、分裂など)に変換してきた。これには、細胞の「プログラム」と細胞間のスパイク、そしてシミュレーション自体への入出力が同じもの(単なるコンビネータの文字列)になり得るという素晴らしい性質がある。
いずれにせよ、著者はこの種のものが持つ性質、すなわち1)「常時オン」(別のトレーニングモードがない)、2)局所的な相互作用、3)すべてがゲノムに由来する、4)各細胞が他のすべての細胞と同じ遺伝子を持つ独自の小さなミニプログラムである、という点で的確である。
言えるのは、進化的プログラムは難しく、シミュレーションを実行するには大規模な計算か長い時間スケールが必要だということだ。それでも魅力的な話だ。
- hoppp
脳の発達は環境に大きく依存するため、純粋に遺伝的なものではないので、シミュレートされた環境が必要になるだろう。
- sim04ful
私見では、認知基質としての脳に根本的に特別なものは何もない。水たまりでさえ認知を持ち得る(リザーバーコンピューティング)。それは、十分に高次元の物理システムであれば、多くの構成を探索するのに十分な内部自由度と、コヒーレントであり続けるのに十分な結合と安定性、そして経験が将来のダイナミクスに永続的な変化を残すのに十分な可塑性があれば、現れ得る一般的な性質だと思う。
そして、そのようなシステムを持続的な外部の客観的压力にさらすと…内部の組織化によっては他のものよりもうまく機能し、環境についての有用な構造を徐々に蓄積していくだろう。
脳は、ホストがコヒーレントで永続的な存在として存続し続けるという要件によって繰り返し形作られてきた、何十億年にもわたる盲目的な環境的風化の非常に古い遺物にすぎない。
要するに、脳は認知を可能にする原理において根本的に特別なわけではない。
この記事への私の返答として言いたいのは、彼は必要なレベルよりもはるかに高い抽象度で作業しているということだ。それは物理学の前にソフトウェアを置いているようなものだ。
また、これは「苦い教訓」と同じ調子でもある。進化的探索の何世代にもわたる残骸をトップダウンでリバースエンジニアリングするのは非常に非自明だ。あなたは基本的に、それが残したこの途方もなく過学習された遺物を達成するための、より賢い方法を推測しようとしている…私は、進化の全重量に賭けないだろう。