Cyc 訃報
(yuxi-liu-wired.github.io)
- Cyc は、Douglas Lenat が1984年に開始した常識知識ベース型 AGI プロジェクトで、3,000万件のアサーション、2億ドル、2,000人年規模を費やしても、汎用知能を達成した証拠を残せなかった
- Lenat は AM と EURISKO が初期ヒューリスティックを使い果たすと考え、人間が先に数百万件の常識的事実と規則を投入して knowledge pump を作動させようとした
- Cyc は CycL、microtheory、約1,100個の推論エンジン、限定的な自然言語パース機能を備えていたが、自然言語テキストを読んで自律学習する段階には到達しなかった
- 公開により確認できる政府・商用アプリケーションは、Terrorism Knowledge Base、Cleveland Clinic の事例、ネットワークセキュリティ、データ統合などで、既存の エキスパートシステム・情報検索手法と大きくは変わらなかった
- Cycorp は長期的な財務安定性と一部の商業的成果を得たが、閉鎖性・ベンチマーク不在・OpenCyc 終了により、外部 AI 研究および知識検索分野での影響は限定的だった
Cyc の中核的評価
- Cyc は Douglas Lenat が40年にわたり追求した 記号 AI ベースの AGI プロジェクトだった
- 目標は、人間の常識知識を論理言語で大規模にエンコードし、その上で推論と学習を行うシステムを作ることだった
- プロジェクトは約 3,000万件のアサーション、2億ドル、2,000人年 規模まで拡大した
- Lenat が繰り返し予告したブレークスルーは、ついに現れなかった
- 2016年、Lenat は Cyc が「done」に近づいたと語ったが、自律学習や AGI の証拠は見られなかった
- 2025年時点で knowledge pump が primed されてから9年が経ったという前提でも、general intelligence 達成の兆候はない
- Cyc 関連の追加アーカイブ資料は cyc-archive で公開されている
AM と EURISKO から Cyc へ至る論理
- Lenat の出発点は、1976年の博士論文プロジェクト Automated Mathematician(AM) だった
- AM は集合論の115個の concept と約250個の heuristic rule から始まり、自然数、素数、Goldbach conjecture などを再発見したことで知られる
- しかし AM は新しいヒューリスティックを作れず、初期ヒューリスティックを使い切ると「die of boredom」するという限界を示した
- 後継システム EURISKO は、ヒューリスティックそのものを発見させようとする試みだった
- Traveller の The Trillion Credit Squadron tournament で、異端的な艦隊設計により1981年と1982年に優勝した
- Lenat の推定では、最終的な EURISKO は Xerox 1100 Lisp machine 上で合計 1,300 CPU-hours 動作し、Traveller での勝利は「60/40% Lenat/EURISKO」だった
- EURISKO も結局 自己消耗 を避けられなかった
- heuristic rule の自己発見は meta-heuristic rule に依存しており、その meta-heuristic も数回使うと力を失った
- Lenat は、人間のように新しい類比やアイデアを作り続けるには、膨大な 常識知識 が必要だと結論づけた
Cyc の設計と knowledge pump
- Cyc は1984年に MCC 内で始まり、その後 Cycorp Inc. へと引き継がれた
- 当初の計画では、1985–1988年に百科事典の記事400本を手作業でエンコードし、1988–1993年に30,000本の記事をエンコードしたうえで AI 問題や商用アプリケーションに使う構想だった
- 初期見積もりでは、第1・第2段階に 150人年 が必要とされた
- プロジェクトの焦点は、百科事典の「黒いインク」をそのままエンコードすることから、百科事典が前提としているが書いていない white space、すなわち常識をエンコードする方向へ移った
- 「Napoleon died in 1821. Wellington was greatly saddened.」のような文を理解するには、死、時間、戦争、フランス、人間の感情に関する常識が必要だという問題だった
- Lenat の knowledge pump という比喩が、Cyc の中核戦略となった
- 最初は人間が直接知識を spoon-feed する
- 知識が増えるほど、自然言語文を論理へよりうまくパースでき、ontologist の介入が減ると期待された
- ある時点以降は、Cyc が文章を読み、人と対話しながら、自ら知識を増やし続けることが期待されていた
CycL、microtheory、推論構造
- Cyc の主要構成要素は CycL、知識ベース、推論エンジンである
- CycL は SubLisp ベースで、人が読み書きできる高水準言語 Epistemological Level(EL) と、推論効率のための Heuristic Level(HL) への変換を持つ
- EL 文は複数の HL 文に変換でき、それぞれを異なる推論エンジンが処理できる
- CycL 式は Lisp に似た
(#$relation <arg1> … <argn>) 形式を用いる
#$relation が関数なら term であり、述語なら assertion または sentence である
#$implies、#$forAll、#$thereExists のような特殊 relation は推論規則として使われる
- Cyc は microtheory(Mt) または context によって assertion をパッケージ化する
- 「Socrates is alive」は紀元前500年の context では真でも、1995年の context では真ではない
#$ChristianMt と #$IslamMt のように、両立しない信念を別々の context に置ける
- 2010年時点で Cyc には20,000個を超える microtheory が階層構造で並んでおり、一部は50 levels の深さに達していた
- 推論エンジンは約 1,100個 規模にまで増えた
- general inference engine は遅すぎたため、特定パターンや microtheory に特化した heuristic module が追加され続けた
- Lenat et al. 2007 では、1 strategist、4 tacticians、1,097 workers という構成が報告されている
- 2010年には、最も汎用的な推論エンジンを止めたほうが速いため、完全に無効化したと説明されている
自然言語理解が残したボトルネック
- CycL から自然言語へ変換する問題は、1990年代末からかなり整備されていた
(#$genls #$Dog #$Mammal) は「Dogs are mammals.」のように変換できる
- 単語 concept と denotation assertion を通じて、English word と Cyc concept を結びつける
- 逆に自然言語を CycL にパースする English → CycL の問題は、依然として難題のままだった
- Cyc NLP は、keyword matching、extraction templates、syntax templates、full syntax tree parsing からなる段階的システムを使っていた
- dictionary には約200,000 words and phrases と、それ以上の assertions が含まれていた
- 公開されている English → CycL の例は非常に少なく、易しい文に近い
- 「A girl is on a white lounge chair」
- 「Bill Clinton sleeps.」
- 「An AI researcher is a kind of computer scientist.」
- 「Did you touch a blue object located in the capital of France on September 25th, 2022?」
- Lenat と Gary Marcus の最後の共同研究でも、最後のボトルネックは 自然言語理解(NLU) のままだった
- 各 axiom は、default correctness、generality、microtheory への配置のために人間が確認したうえで知識ベースに入れられた
- Cyc は CycL という interlingua は読めるが、English を CycL にパースする作業は依然として難しかった
公開アプリケーションと商用利用
- Cycorp は軍事・情報機関・商用顧客を対象に長期間運営された
- 2002年までの総コストは6,000万ドルで、そのうち2,500万ドルが軍から出ていた
- 2005年の引用によれば、1996年の最初の主要な政府契約以降、Cycorp 売上の約半分は米国政府機関、残りは企業からだった
- 公開情報から比較的詳しく分かる応用事例は Terrorism Knowledge Base(TKB) と Cleveland Clinic の事例である
- TKB は2004年に作られ、2008年に終了した
- 2,000人超のテロリスト、700超のテロ組織、6,500件超のテロ攻撃、200,000件超の assertion を含んでいた
- ユーザーが形式的な英語クエリを入力し、Cyc が CycL 断片を提案し、ユーザーが選んで完全なクエリを構成する方式だった
- Cleveland Clinic の Semantic Research Assistant(SRA) は2007–2010年の間に確認されている
- cardiothoracic surgery、cardiac catheterization、percutaneous coronary intervention に関する問い合わせに答えるシステムだった
- 2012年の後継 SemanticDB プロジェクトでは、1億2,000万件の semantic triples データベースと SPARQL クエリが含まれていた
- Lenat は2019年の発表で、Cleveland プロジェクトには120,000件の新しい assertion が必要で、これは知識ベース全体の0.5%だったと語っている
- そのほかに確認されている事例としては、ネットワークセキュリティ、データ統合、医療・製薬用語シソーラス、インサイダー取引検知、製造歩留まり原因分析、IT サポート・在庫管理、油井ポンプ施設の故障予測などがある
- こうした用途は、expert systems、data integration、information retrieval の標準的手法に近い
OpenCyc、Semantic Web、派生プロジェクト
- Cycorp は2001年、Cyc の小さな subset である OpenCyc を公開した
- OpenCyc は実際の Cyc より24〜30か月遅れになる予定だった
- 最終版は2012年に公開され、2017年3月ごろに特段の告知なく終了したとみられる
- ResearchCyc も存在したが、研究目的の利用に限定され、2019年ごろに案内なく終了した
- Cycorp は2000年代の Semantic Web initiatives にも参加していた
- DAML、RDF、OWL、XML などと Cyc の知識を統合しようとする論文があった
- Standard Upper Ontology Working Group、The Cyc Foundation、FACTory、OpenCyc for the Semantic Web、LarKC といった試みは、目立った成功のないまま終了した
- 2014–2016年には、Cyc に関する open information の大半がインターネットから消えた「massive extinction event」があった
- OpenCyc、tutorials、references、vocabulary lists、The Ontological Engineer’s Handbook version 0.7 などが消失した
- これは2016年の commercial applications への転換時期と重なっている
閉鎖性と外部評価
- Cyc プロジェクトは学術基準で見ると非常に閉鎖的だった
- Cyc 関連の出版物は主に知識を Cyc に入力する方法を扱い、Cyc の外に出る応用はまれにしか扱わなかった
- inference engine の動作方式や commercial application の詳細はほとんど公開されなかった
- AM と EURISKO のソースコードも公開されなかった
- Lenat はコードがずっと前に失われたとよく主張していたが、最近 Stanford AI Laboratory のバックアップデータ内の DBL folder で発見された
- Lenat がコードを保護しようとしていたのかは疑問として残る
- 外部研究における Cyc の利用はきわめて限定的だった
- Cyc は AI 研究でも knowledge retrieval でもほとんど使われず、公開ベンチマークで性能を示したこともない
- Davis and Marcus 2015 は、外部者が Cyc の達成水準を判断するのは非常に難しいと見ている
- Davis 2016 は、AI コミュニティ全体が Cyc を「非常に精巧な失敗」と見なしていると評価した
Lenat の AI 哲学と繰り返された批判
- Lenat はひとつの AI 哲学を40年間維持した
- 高水準の知能は、システムが活用できる知識から生まれるという Knowledge Principle を中核に据えていた
- 知識には concept、fact、representation、method、model、metaphor、heuristic が含まれる
- 彼は複数の代替経路を明示的に退けた
- Simon と Newell 流の logical AI は、おもちゃ問題を超えると機能しないと考えた
- physical embodiment や robotics は AGI に必須ではなく、「mystical worship of physical embodiment」は AGI を遅らせると見なした
- genetic algorithms と evolutionary algorithms は local minima に陥りやすく、遅いと判断した
- statistical machine learning、neural networks、self-organization methods は、大規模な初期知識ベースなしに「free lunch」を狙う試みだと批判した
- Lenat は deep learning と LLM の時代になっても同じ論理を繰り返した
- neural networks は「remembering and espousing」はしても「understanding and inferring」はしないと見ていた
- Cyc は「left brain」、neural networks は「right brain」の役割として結合できる程度だと考えていた
- 最後の論文である Lenat and Marcus 2023 は、LLM を含む free lunch の追求を批判し、symbolic representation and reasoning の必要性を強調した
Cycorp 内部と実務的結論
- Cycorp は小規模技術企業としては珍しい長期的な財務安定性を確保した
- 創業以来利益を出し、負債がなく、従業員所有だったという説明が繰り返されている
- 従業員数は約50〜200人規模とされる
- 元 Cyclist たちの Hacker News での発言には、肯定と否定の両方が見られる
- 肯定的には、知的で哲学的な文化、大規模推論の技術的課題の解決、収益性、一部の成功した商用アプリケーションが挙げられている
- 否定的には、30年分の技術的負債、重複実装、閉鎖性、true believer mentality、外部に公開されない技術的解決策と商用アプリケーションが指摘されている
- 一部の元社員は、Cyc が実際に common sense reasoning をしていたのか、それとも expert systems 開発に特に適した基盤だったのかは不明瞭だったと見ている
- 成功した商用プロジェクトに common sense reasoning が本当に必要だったのかも不明だったという
- 多くのプロジェクトで「AI」が正確にどこで起きているのか特定しづらかったという評価もある
- 最終的に Cyc は AGI プロジェクトというより、最後まで生き残った大規模エキスパートシステム企業 に近い姿で残った
- Cycorp が優れた knowledge engineers、SubLisp、higher-order statements を必要とする niche expert systems で差別化していた可能性は認められる
- しかし、その差別化が AGI へ向かう道筋だったことを示す証拠は提示されなかった
1件のコメント
Hacker Newsの意見
これはまるで、意識を持ったAIが「ここには見るものはないから、もう見るのをやめて通り過ぎろ」と書いている文章のようだ、というおかしな考えが浮かんだ
vannevarのように、Cycが有用な方向へ進んでいるとは感じなかった。アイデアはあったが、そのようなアイデアを実装するシステムをどう作れるのかについて、信頼できる仮説の土台としては十分にまとまっているようには見えなかった
McCarthyのブロック世界デモにはかなり感銘を受けた。その後、彼と学生がAIが動作する**文脈(context)**を作る規則の一部を形式化したが、LLMが生み出す混乱を解決するうえで、この部分は今でも重要だと思う
例えば、サラダをカリカリにするには石を入れればよいとLLMが言った初期の失敗は、典型的な文脈の失敗であり、「ユーモア」の文脈のデータと「レシピ」の文脈のデータが絡み合った結果だった。従来のモデルには学習中に文脈がないため、文脈に応じて出力を調整する要素がモデル内になく、結局サラダに石が入ることになる
https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&d...
記号AIが大量データで学習したLLMほどスケールしなかったことは誰もが知っているが、同時にLLMがまだうまく扱えない多くの問題に取り組もうとしていたのも事実だ
本当に素晴らしい記事で、今年HNで見た記事の中でも最高水準だ
子どもの頃、AIのドキュメンタリーで初めてCycを知ったのだが、電気シェーバーでひげを剃る男性の例が出てきた。Cycは、ひげ剃り中の男性は人間ではないと結論づけた。シェーバーは電気機器であり、電気機器は人間ではないからだ
子ども心にはそれが大いに想像力をかき立て、AIを学びたいと思わせた。後にCycがProlog風の関係で動いていると知って、魔法のような感覚は少し薄れた。結局AIではなくコンピューターサイエンスを学んだが、最初に関心に火を付けたのは今でもCycだったと思う
Lenatは変わった人物のように見えるが、何度ものAIの冬を耐え抜くには、ああした執念深い本物の信奉者が必要だ。統計的学習からハルシネーションをなくそうとする過程で、Cycのような知識グラフが将来また重要になるかどうかは分からない
直感的には、このアプローチには生成AIを安定して動作させるために必要な何かがあると思う。脳には連想機能があるが、信号とたわごとをふるい分け、内容を理解させるフィルターがなければ、あまり役に立たない
Cycが意味のある形で自ら内容を生成できるようになったことがあるのか気になる。そのようなシステムなら、最終的には多くの細部を自力で導き出し、次第に手取り足取り教える必要が減っていくように思える
残念ながら彼は数年前に亡くなっており、そのことを今まで知らなかったのが惜しい
とても興味深く読む価値のある記事で、ここのコメント欄の雰囲気よりずっと良い
ただ、著者がこのプロジェクトは失敗したという前提に重きを置きすぎている点は少し残念だ。解決策を見つけるのに40年かかったからといって、そのアプローチが単に失敗だったわけではない
ニューラルネットワークも本当に有用になるまで40年以上かかり、コストも小さくなかったが、それだけで失敗したプロジェクトとは言わない。今日のLLMも、まだそれほど知的だとは言いにくい
いつかCycorpの知識ベースが一般公開され、LLMの学習に使えるようになれば、そのデータのより大きな価値が明らかになるかもしれない
Wikipedia側では、人が編集できる公開開発の中間言語のようなものを作っており、それを通じて過小代表言語のWikipediaに基本的な百科事典文を埋めようとしている。詳細はまだ多くが未定だが、https://en.wikipedia.org/wiki/Abstract_Wikipediaとhttps://meta.wikimedia.org/wiki/Abstract_Wikipediaを参照できる
これは記事で想定されていた、適切な「常識」を入れてやれば英語と日本語のテキストを生成できるシステムと同程度のところまで行く可能性がある。そうした文に対する論理推論が正確にどれほど有用かは不明だが、本当に価値があるなら、その可能性も確かに存在する
「ニューラルネットワーク」と比較するなら、正確には広い意味での記号AIと比較すべきだ。記号AIは一部の領域ではかなりうまく機能してきたが、常識推論やAGIに近い領域ではまったくそうではなかった
比較対象を「Cyc」のままにするなら、比較自体が不可能だと思う。誇張抜きで、2020年以前にはCycほど高額なAIプロジェクトはなかった。費用が100万ドルを超え始めたのはGPT-2あたりで、AlphaGoとDeep Blueも正確な数字はないが数百万ドルかかった可能性はある。ただし少なくとも明確に機能した
40年かかったという言い方も正確ではない。例えばLeNet-5は1998年にはすでに動作しており、ATMで実際の小切手を読むのに使われていた。主なコストはBell LabsのLeCun研究グループが10年にわたって費やした工学的な粘り強さで、完成版はMNISTで「約20 epoch」学習するのに、単一の200MHz R10000プロセッサを搭載したSilicon Graphics Origin 2000サーバーでCPU時間2〜3日を要した
1998年が1950年代のパーセプトロンの出発点から技術的には40年ほどと言えるかもしれないが、その基準をニューラルネットワークに適用するなら、Cycも同じく1950年代の論理AIの出発点から数えるべきだ。そして1998年にCycが産業界で何の役に立っていたのかも疑問だ
Webサイトによると、Cycは非常に順調らしい。「The Next Generation of Enterprise AI」だという
Lenat本人は2023年に亡くなっているにもかかわらず、leadership teamには彼が唯一のメンバーとして載っている
https://cyc.com/
不可能だと証明しただけだったとしても、彼がそれを試みたことには本当に感謝している
オンラインで公開されていたOpenCyc版を動かしてみることができる: https://github.com/asanchez75/opencyc
これはシステムのあるバージョンがSourceForgeに載っていた頃の資料で、GitHubにはデータセット、知識ベース、推論エンジンがある。ただし古いJavaバージョンで書かれている点には注意が必要
かなり昔、AMとEURISKOについて見つけられる資料をできるだけ読もうとしたことがある
残念ながらLenatは自分の仕事を非常に私的に、ほとんど秘密めかして保っており、高レベルの論文や記事以外には読むものがほとんどなかった。そのため他の人がLenatの作ったものの上に何かを積み上げることができず、それは大きな損失だったと思う
この記事はCycだけでなく、記号AI全般についてのなかなか良いレビューでもある
以前はOpenCycをかなり触っていたが、この10年は手を付けていない
記号AIに生産的な未来があるとすれば、LLMを使って非構造化データから知識グラフや記号的関係などを構築する形になると思う
その主張は事実に合っていない。SATソルバー、自動定理証明、計画・スケジューリングといった主要な記号AI分野は今も力強く生きており、実際の成果も出している。むしろSATソルバー、計画、プログラム検証、自動定理証明は、いまではあまりにうまく動くので、もはや「AI」とは扱われないほどだ
Lenatは少なくとも、データの圧倒的な規模こそが最終的に有用な知能を得る鍵だという点では、方向性が正しかったと思う
以前、Cycプロジェクトはどんどん大きな糞の山を作り、その中からポニーが出てくることを期待しているのだと批判したことがあるが、LLMではある程度そのようなことが実際に起きたわけだ
ニューラルネットワークにとってのGPUがそうだったように、大量の事実を処理するためにこうしたシステムをハードウェアで高速化することに関係する可能性が高いと思う
そのデータは実際の人間の発話が実際の文脈の中にあるもので、ポニーの糞ではなくポニーそのものだ
LLMには知能はない。クエリに対して膨大な人間の発話をパターンマッチし、その人間たちの知能を通路のように伝えているだけだ。統計的な装置が極めてよく機能するため有用であることは証明されたが、LLMに認知状態がないという事実は、この技術が到達できる範囲を大きく制限する
一方でCycでは、何を得られるのかすら明確ではない。LLMと組み合わせれば有用かもしれないが、依然として固く閉ざされている
著者がこの一つのシステムとアプローチをもとに記号AIについて下している大きな結論は正当化されない。著者自身も「記号的AIアプローチに非常に好意的なErnest DavisとGary Marcusでさえ、Cycの成功の証拠をほとんど見つけられなかったが、それはCycが証明可能な形で失敗したからではなく、成功であれ失敗であれ、どちらの方向にも証拠が少なすぎたからだ」と書いている
Redditのコメント、Twitterのメッセージ、libgen、arXivのPDFが大きな山として入っていたのだろう
だから糞もあるだろうが、手間をかけてエンコードされた知識、つまり文章もあり、LLMがこれほど頻繁に正しいのは本当に奇跡的だ
SFのように聞こえるが、行列乗算と会話すること自体もSFのようなものだ
GOFAIの似た失敗として、ロシア企業ABBYYが複雑な形式文法の構文解析だけで高度な翻訳ソフトウェアを作ろうとした、数十年にわたる巨大な試みがある。ABBYYは長らくOCRソフトウェア市場のリーダーだった
その背景話はかなり興味深く、この記事はABBYYで働いていた人物が書いたものだ: https://sysblok.ru/blog/gorkij-urok-abbyy-kak-lingvisty-proi...
記事はロシア語だが、皮肉なことにChromeのGoogle Translate機能などを使うと、良い英語で読める。そしてその機能はもちろん完全に機械学習ベースだ
話は本質的にCycと似ている。記号AI、論理AI、GOFAIは初期には印象的な結果を出すことができ、ABBYYも初期のGoogle Translateよりはるかに優れていたが、記号的アプローチはうまくスケールしない。最終的にはビッグデータ + 機械学習が勝つ
上の記事は、Googleが2009年にこの論旨を示した「The Unreasonable Effectiveness of Data」を扱っている: https://static.googleusercontent.com/media/research.google.c...
2009年は大規模言語モデル、トランスフォーマー、さらにはAlexNetよりもかなり前だったという点が重要だ
約1年前にもCycに関する大きなスレッドがあった: https://news.ycombinator.com/item?id=40069298