“寝たり起きたり”を繰り返しながら学習する「DreamCoder」。そこで使われる「Wake-sleepアルゴリズム」は、「起床フェーズ」と「睡眠フェーズ」の2つのフェーズを繰り返す。起床フェーズでは外界からのデータと認識モデルを基に学習、睡眠フェーズでは夢として過去を思い出したり妄想したりして自分の認識を改善する。

 近年のAI(人工知能)技術は、深層学習の発展によって大きな進歩を遂げているが、現在のAIは人間のような知能を実現していると言えるだろうか? 恐らく多くの読者は「実現していない」と答えるのではないか。例えば、現在の深層学習では、解く問題が事前に限定され、しかもその問題を解くために大量の訓練データを必要とする。その一方で、我々人間は、様々な問題を学習した後、わずかな経験だけからその知識を一般化して、未知の問題に応用できる。なぜ人間はこのようなことが可能なのだろうか?

(写真/Shutterstock)
(写真/Shutterstock)

 例えば「自転車に乗って店に行く」という行動を学ぶとしよう。自転車に乗ったことのない人にとって、これをいきなり学習するのは非常に困難である。従って、まずは「自転車に乗る」ことを学習しようとするだろう。最初は乗るのが難しいかもしれないが、何度も学習するにつれて「自転車に乗る」という行動が当たり前にできるようになる。そうすると、今度は「自転車に乗る」ことを前提として「店に行く」ことを学習する。これも何度か行えば、やがて店への行き方は分かるようになるので、「自転車に乗って店に行く」という高次の行動概念が獲得されるようになる。

 さらに途中で獲得した「自転車に乗る」という行動は、「自転車に乗って遊びにいく」といった未知の行動に対して素早く汎化することにもつながる。この場合「遊びにいく」という行動を獲得すればいいし、過去の経験から「遊びにいく」ことを既に獲得しているならば、組み合わせによって簡単に汎化できる。このように、我々は複雑な問題を解くために、構成的かつ抽象的な知識、言い換えると「明示的な宣言的知識(言語化できる知識)」を自ら獲得しており、これによって少ない経験から知識を汎化している。

 人間は、こうした「明示的な宣言的知識」をデータから高速で認識(推論)可能だ。例えば、一度「自転車に乗って遊びにいく」という行動の知識を獲得していれば、ある状況で同じ行動をしたいときにどうすればいいかを直感的に認識できる。これは、我々が「暗黙的な手続き的知識(ノウハウ的な知識)」を持っていることを意味する。

 従って、人間がAIより優れている理由の一つが、「明示的な宣言的知識」と「暗黙的な手続き的知識」の両方を獲得可能ということだ。今回紹介する「DreamCoder」は、こうした2つの知識をAIに自律的に獲得させることを目指している。

有料会員になると全記事をお読みいただけるのはもちろん
  • ①2000以上の先進事例を探せるデータベース
  • ②未来の出来事を把握し消費を予測「未来消費カレンダー」
  • ③日経トレンディ、日経デザイン最新号もデジタルで読める
  • ④スキルアップに役立つ最新動画セミナー
ほか、使えるサービスが盛りだくさんです。<有料会員の詳細はこちら>
9
この記事をいいね!する