Other

2018.07.17

新刊『作って動かすALife ―実装を通した人工生命モデル理論入門』は7/28発売!

Text by editor

1832_fundamentals_of_deep_learning_cvr

「Make:」書籍編集チームが企画・制作を行った書籍を紹介します。

●書籍紹介

生命性をコンピュータ上でシミュレートすることにより、生命の本質に迫る「ALife(人工生命)」は、「AI(人工知能)」の発展系として、近年改めて注目されつつある分野です。本書は、セルラーオートマトンやボイドモデルなど、さまざまなALifeの理論モデルを、Pythonで書かれたサンプルコードで実装することで体感的に学ぶことができるユニークな書籍です。雑多な情報を整理して「最適化」する力に優れたAIと比較して、「新たな自然を作り出す」という特徴を持つALifeは、人間の多種多様な創造的行為を支援すると考えられ、その応用先は、デザイン、ゲーム、アート、建築など、創造性が必要となる領域全般に及びます。機械学習の技術も活用するALifeを学ぶことは、AIをすでに活用している読者にとっても、発想を拡げるきっかけになることでしょう。

●書籍概要

岡 瑞起、池上 高志、ドミニク・チェン、青木 竜太、丸山 典宏 著
2018年07月28日 発売予定
A5判/224ページ
ISBN978-4-87311-847-5
定価2,808円

●全国の有名書店、Amazon.co.jpにて予約受付中です。


●「まえがき」から

本書の目的

 「人工生命」という言葉を聞いたことはありますか? 「人工知能」は知っているけれど、「人工生命」は初めて聞くという人は多いでしょう。
 この言葉は、「Artificial Life」の訳語で、英語では「ALife(エーライフ)」と略されます。人工生命とはずばり、人間がコンピュータの力を借りながら生命の挙動をシミュレーションすることによって、「生命とは何か?」という根源的な問いを探究する分野を指します。
 この本は、より多くの人にALifeに興味を持ってもらうと同時に、自身のコンピュータ上でALifeのプログラムを動かし、自身の関心にそって新しいALifeの使い方を学んでもらうために書かれています。
 大きな前提として、今日、生命についてテクノロジーを使って考えることには、どのような意味があるのでしょうか?
 実は、コンピュータの歴史は、生命を「計算」しようとした科学者たちの軌跡でもあります。コンピュータの数学的原理を打ち立てた数学者のアラン・チューリングは、生物の持つ模様を数式化した「モルフォジェネシス」という論文を1952年に発表しましたし、モダンなコンピュータの基本構造を作り上げたジョン・フォン・ノイマンは、「自己増殖」という生命的な挙動を数学的に定義し、1966年に「自己増殖オートマトン」の研究としてまとめました(本書では、この両者のモデルに基づいた実際のプログラムにも触れて学んでいきます)。
 このように、コンピュータによってもたらされた計算能力によって、それまでは複雑すぎて人間の手では太刀打ちできなかった生命の領域に切り込もうという流れが生まれたのです。現代の高度化した科学でも、まだ「生命とは何か?」を完全に定義できないでいますし、身体に付随する人間の心や意識の研究も、途上の段階にあります。この状況の中、ALifeとは、すでに存在する生命体を観察することで生命を理解しようとするのではなく、「生命の本質とはこういうことではないか?」という仮説をたくさん立てて、その仮説を基に人工的なシステムを作ってしまうことで、生命を理解しようとするアプローチなのです。
 今日の ALife の主な方法論として、コンピュータ上のソフトウェアを使う手法(ソフト ALife)、ロボットなどの物理的な機械を使う手法(ハード ALife)、そして化学や遺伝工学を使う手法(ウェット ALife)があります。
 この本は、プログラムを書きながら「ソフト ALife」の方法を学ぶための入門書という位置付けですが、本書を読み終わる頃にはロボットを使った「ハード ALife」への道も見えてくるでしょう。化学的なアプローチにも興味を持った読者は、この本で学んだソフトウェアを化学の分野で応用できるかもしれません。

対象とする読者

 この本は、コンピュータを使って生命そのものをデザインすることに興味のある人全般に、読み進めてもらえるように努めて書いています。
 その意味でこの本は、もともと「生命とは何か?」という問いに関心のある自然科学の研究者やエンジニア、ALife の研究を志す学生だけではなく、キャラクターや環境の生成のためにALifeを使いたいゲームデザイナー、自分の創造性の幅を広げたいクリエイターにも読み進められるように書かれています。一通り本書を読み進めた頃には、人工生命という観点から現代のテクノロジーをとらえる視点を獲得できるでしょう。
 ALifeは、人工知能で使われる機械学習の技術も活用するので、人工知能に興味のある人や、すでに作っている人にとっても、発想とアウトプットの幅を拡張するきっかけにしてもらえると考えています。
 また、この本にはALifeの実行用ソースコードが付いています。必要なプログラミングのスキルについては、ソースコードを読んで「この部分は何をしているか」という意味がおおよそわかるレベルであれば、大丈夫です。この本では人工知能系のプログラミングでよく使われる Python という言語で書かれたコードを使って学んでいきますが、Pythonをはじめて使う人でも、本で参照しているコードをダウンロードすれば実行できるように書いています。
 この本は、あくまでプログラミングを書いて実行し、ALife の挙動を身体感覚でつかむことを主眼にしているので、生命性に関するコンセプトや理論についての詳しい議論は省いています。また、紹介するアルゴリズムや概念も、深掘りしようとするとそれぞれで一冊本が書けてしまうところを、ぎゅっと圧縮して書いています。
 このように入門的な本書ですが、全体を読み終え、さまざまなコードを実際に書いて動かした後には、より詳しい人工生命の本や記事を読めるようになるでしょう。

今日のALifeの状況と、本書が書かれた理由

 ここまで読んで、「でも、ALifeって具体的に何の役に立つの?」という疑問を持った人も多いでしょう。そこで、「役に立つ」現代的なテクノロジー分野の代表格である人工知能(Artificial Intelligence; AI)とALifeの比較をしてみて、この疑問に答えてみましょう。
 20世紀後半に花開いたコンピュータのテクノロジーが人類にもたらした恩恵は計り知れず、なかでも人工知能(AI)技術の発展によって私たちは今日、未解明の病気への対処方法を見つけたり、人間にとっては大変な労働作業を代替してもらったり、新しい知識や人との出会いを増やしたりすることができています。
 ただその一方で、人間に特有の知性と創造力を必要とする新たな課題も生み出されています。例えば、インターネットの普及によって個々人が日常的に処理するべき情報量が圧倒的に増えたために、それぞれの人が創造的な行為に費やせる時間は短くなっているという問題があります。
 人間の合理的な認知能力には、限界があります。それは文字通り、「認知限界」と呼ばれています。人工知能技術は、人間の認知限界を超える量の情報を処理して、その中からパターンを識別することで、作業の自動化や効率化をもたらす技術だと言えます。
 これに対して、人工生命(ALife)技術には、「新たな自然を作り出す」という特徴があります。それを使って、人間の知性を補完したり増幅したりするために活用し、多種多様な創造的行為を支援することができると考えられます。
 例えば、AIにはデータをたくさん与えて機械的に学習させて、自動的に「良質な」情報を選ばせることができます。その意味でAIは、雑多な情報を整理して最適化する力が優れていると言えます。しかし、「新しい商品を考える」、「新しいデザインを考える」、「新しい研究のアイディアを作る」というように、最適化の関数が作れない、あるいは最適化ではない問題に対してはどうやったらよいのかについては、AIにはわかりません。
 良いアイディアは、単純に定量化できる情報の中に入っていないことが多いのです。だから、データにはないものを新たに作るという能力が大切です。そして、それこそが、ALifeが得意な領域なのです。
 この本は、ALifeの考え方にそってコンピュータ技術を活用することによって、より生命的に活性化する社会がもたらされると信じる、5名の著者によって書かれました。長らく日本と海外でALifeの研究を牽引しながら、そこから生まれる技術をアート活動へと展開してきた池上高志、コンピュータサイエンス出身でウェブの生命的な挙動を研究しているうちに ALife の面白さに惹き込まれた岡瑞起、インターネット上における創造の共有地を拡げる活動をしながらネットワークの生命性に魅了されたドミニク・チェン、新たな世界の見え方を提示するアーティストや研究者が集まるコミュニティを育てながら、ALifeという存在が人の行動を変え、新たな文化や社会を作ると信じる青木竜太、そしてもともとは宇宙物理学のシミュレーションを行っていて、今は池上研究室でマルチエージェントシミュレーションの研究に携わる丸山典宏。
 この5名は、それぞれの観点から、今の時代にこそALifeのもたらす価値を広めたいと強く願っています。


●目次

まえがき

1章 ALifeとは
1.1 科学としての生命の定義
1.2 人工生命は実験数学である
1.3 生命の計算
1.4 サイバネティクスから人工生命へ

2章 生命のパターンを作る
2.1 自己組織化する自然界のパターン
2.2 生成パターンモデル
2.3 現実世界の計算

3章 個と自己複製
3.1 個の創発
3.2 ノイズに強い自己複製
3.3 自己複製と進化

4章 生命としての群れ
4.1 創発現象
4.2 ボイドモデル
4.3 創発と生命の進化プロセス
4.4 ネットワークとしての創発

5章 身体性を獲得する
5.1 サブサンプション・アーキテクチャ
5.2 身体化された認知

6章 個体の動きが進化する
6.1 進化と自己複製
6.2 オープンエンドな進化
6.3 人工進化
6.4  ALife の進化モデル
6.5 多様性原理とALife の展望

7章 ダンスとしての相互作用
7.1 内部状態とアトラクター
7.2 コンピュータによる「学習」
7.3 予測に基づく相互作用の学習
7.4 他者性

8章 意識の未来
8.1 意識のボトルネック
8.2 リベットの実験
8.3 ロボットへの実装
8.4 意識′状態を持ったロボット
8.5 意識を持つエージェント

付録 本書で使用しているオリジナルライブラリ
参考文献

O’Reilly Japan – 作って動かすALife