OpenCog: A Software Framework for Integrative Artificial General Intelligence



Similar documents
Levels of Analysis and ACT-R

Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus

System Structures. Services Interface Structure

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Strategic Plan Proposal: Learning science by experiencing science: A proposal for new active learning courses in Psychology

Example of Standard API

Frequency, definition Modifiability, existence of multiple operations & strategies

Operating System Organization. Purpose of an OS

Running a Program on an AVD

Why Get an M.Eng. in CS or Anything Else? Prof. Charlie Van Loan CS M.Eng. Program Director

Data Centric Systems (DCS)

DATA SCIENCE ADVISING NOTES David Wild - updated May 2015

What is Artificial Intelligence?

Programming Languages

Chapter 2 System Structures

Neptune. A Domain Specific Language for Deploying HPC Software on Cloud Platforms. Chris Bunch Navraj Chohan Chandra Krintz Khawaja Shams

School of Computer Science

Chapter 3 Operating-System Structures


NSF Workshop: High Priority Research Areas on Integrated Sensor, Control and Platform Modeling for Smart Manufacturing

Delivering Quality in Software Performance and Scalability Testing

Xeon+FPGA Platform for the Data Center

Definition of Information Need

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Appendices master s degree programme Artificial Intelligence

Masters in Computing and Information Technology

Security challenges for internet technologies on mobile devices

QF01/ الخطة الدراسية كلية العلوم وتكنولوجيا المعلومات- برنامج الماجستير/ الوصف المختصر

LSKA 2010 Survey Report I Device Drivers & Cloud Computing

Masters in Information Technology

DIABLO VALLEY COLLEGE CATALOG

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

CS 40 Computing for the Web

Masters in Human Computer Interaction

Masters in Advanced Computer Science

Masters in Artificial Intelligence

From the Monolith to Microservices: Evolving Your Architecture to Scale. Randy linkedin.com/in/randyshoup

What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.

Masters in Networks and Distributed Systems

How to Select a Virtualization Management Tool

Is the Scanning of Computer Networks Dangerous?

CASSANDRA: Version: / 1. November 2001

Development (60 ЕCTS)

PSS E. High-Performance Transmission Planning Application for the Power Industry. Answers for energy.

Cloud Computing Deja Vu

Developing Google Android Mobile Clients for Web Services: a Case Study

An Open Architecture through Nanocomputing

Lecture 1 Introduction to Android

Parallel Analysis and Visualization on Cray Compute Node Linux

A Client-Server Interactive Tool for Integrated Artificial Intelligence Curriculum

CrossPlatform ASP.NET with Mono. Daniel López Ridruejo

Writing in the Computer Science Major

Component visualization methods for large legacy software in C/C++

2972 Linux Options and Best Practices for Scaleup Virtualization

IBM Enterprise Content Management Product Strategy

Page 1 of 5. (Modules, Subjects) SENG DSYS PSYS KMS ADB INS IAT

(Academy of Economic Studies) Veronica Adriana Popescu (Academy of Economic Studies) Cristina Raluca Popescu (University of Bucharest)

CSC384 Intro to Artificial Intelligence

IAI : Expert Systems

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Monitoring, Tracing, Debugging (Under Construction)

Smartphone market share

Building Docker Cloud Services with Virtuozzo

MEng, BSc Applied Computer Science

Effective Java Programming. efficient software development

Fall 2012 Q530. Programming for Cognitive Science

L1: Introduction to Hadoop

Multi-core Programming System Overview

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

BSC vision on Big Data and extreme scale computing

IBM Tivoli Composite Application Manager for WebSphere

Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System

Chapter 14 Virtual Machines

Evaluation of Load/Stress tools for Web Applications testing

The Phios Whole Product Solution Methodology

Rackspace Cloud Databases and Container-based Virtualization

Chapter 6, The Operating System Machine Level

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Research and Design of Universal and Open Software Development Platform for Digital Home

Implementing SharePoint 2010 as a Compliant Information Management Platform

Cognitive Science. Summer 2013

Sanjeev Kumar. contribute

ScienceLogic vs. Open Source IT Monitoring

Parallels Virtuozzo Containers vs. VMware Virtual Infrastructure:

F-16 Modular Mission Computer Application Software

Dynamic Resource management with VM layer and Resource prediction algorithms in Cloud Architecture

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Transcription:

OpenCog: A Software Framework for Integrative Artificial General Intelligence David Hart 1,2 and Ben Goertzel 1,2 1 Novamente LLC 2 Singularity Institute for Artificial Intelligence Abstract. The OpenCog software development framework, for advancement of the development and testing of powerful and responsible integrative AGI, is described. The OpenCog Framework (OCF) 1.0, to be released in 2008 under the GPLv2, is comprised of a collection of portable libraries for OpenCog applications, plus an initial collection of cognitive algorithms that operate within the OpenCog framework. The OCF libraries include a flexible knowledge representation embodied in a scalable knowledge store, a cognitive process scheduler, and a plug-in architecture for allowing interaction between cognitive, perceptual, and control algorithms. 1. Introduction The information revolution we experience today is underpinned by numerous enabling technologies, many of which are based on open platforms and standards with conceptual roots dating back to the 1960s and earlier. Most of the present day Internet software infrastructure from Google, Amazon, Ebay and others, is built on Linux and other open source technologies. The field of artificial intelligence has fallen woefully the rate of progress of other fields within computer science and information technology. The reasons for this are many and varied, and exploring them all would take us too far off topic. However, we suggest that one viable path to remedying the situation involves providing the field of AI research with an open foundation comparable to the open foundations underlying popular Internet applications. In this paper we briefly describe the motivations and scientific approach underlying OpenCog. OpenCog is designed with the ability to integrate different and varied AI methodologies within a common framework operating on a common knowledge representation and utilizing a common scheduler and I/O subsystem. Providing as much breadth and flexibility as is possible, consistently with the goal of providing a coherent unifying framework, has been an overriding design goal. While OpenCog is a highly flexible platform, we recognize that software development generally proceeds most efficaciously in the context of concrete application goals. With this in mind our intention is to initially guide OpenCog development in the context of natural language conversation, both on the command line and potentially also in the context of embodied agents.

2. The Challenges of Integrative AGI Precisely how the human brain works is unknown to scientists and laymen alike, but all of the available evidence suggests that the brain is a highly complex and integrative system [1]. Different parts of the brain carry out various functions, and no one part is particularly intelligent on its own, but working in concert within the right architecture they result in human-level intelligence. In this vein, Steven Mithen [2] has provided powerful albeit somewhat speculative vision of modern human intelligence as the integration of components that evolved relatively discretely in prehuman minds. On the other hand, most of the work in the AI field today is far less integrative than what we see in the brain. AI researchers work on individual and isolated algorithms for learning, reasoning, memory, perception, etc. with few exceptions. The combination of algorithms into coordinated systems demonstrating synergistic intelligent behavior is much less frequent than it should be. The mainstream of AI research is attempting to address this, for instance the most recent AAAI conferences have contained a Special Track on Integrated Intelligence [3], and this trend is likely to continue. However, the move to more integrated intelligence approaches entails serious practical difficulties. Most AI researchers operate under extremely constrained resources, and performing system integration requires a large amount of extra work. The reasons for experimenting with AI algorithms in isolated rather than systemically integrated contexts is typically purely pragmatic rather than theoretical. As a result, no one knows what level of intelligence could be achieved by taking an appropriate assemblage of cutting-edge AI algorithms and appropriately integrating them together in a unified framework, in which they can each contribute their respective strengths toward achieving the goals of an overall intelligent system. Of course, conceptual and architectural integration is required in addition to simple software integration, but conceptual and architectural integration is precisely what is needed as we move toward a practical understanding of how to create powerful AI systems. The current body of academic and commercial AI knowledge contains solutions to many of the key problems underlying the creation of powerful AI, but until these partial-solutions are integrated in useful ways, we cannot explore the synergistic effects which will emerge from their union, or discover the key gaps to be addressed by more fundamental research. As discussed, one approach to overcoming this AI bottleneck and helping the research community transition to transition away from building algorithms and systems in isolation is to provide a flexible, powerful and approachable software framework, designed specifically for integration of AI algorithms. With this in mind, the authors and a number of colleagues have established the Open Cognition Project, beginning with the release of the OpenCog Framework, a software framework specifically intended to support the construction of integrative AI systems from component AI algorithms and structures. The initial OpenCog Framework (OCF) codebase will consist largely of code donated by Novamente LLC [4], who will adapt much internal R&D to utilize OpenCog, and continue to make significant further code contributions to OpenCog over time. Although code flowing in both directions will undoubtedly benefit Novamente LLC, the authors believe that the greatest benefit OpenCog has to offer is energizing and boosting the global AI research community by significantly improving the tools at its disposal, tools which the community will have the freedom to utilize and modify to meet their diverse requirements.

Preliminary discussion of OpenCog has met with enthusiastic support from members of the academic, industry and open source communities, and has elicited sentiments that a project with OpenCog's goals and scope is long overdue but that its introduction must be carefully executed. Contingent upon funding for OpenCog proceeding as planned, we are targeting 1H08 for our first official code release, to be accompanied by a full complement of documentation, tools, and development support. 3. OpenCog and the Four Key Aspects of AGI Design At a high level, the work of AI system design may be divided into four aspects: 1. Cognitive Architecture: the overall design of an AI system; what parts does it have, and how do they connect to each other. 2. Knowledge Representation: how the AI system internally stores declarative, procedural and episodic knowledge, and how creates its own representations for elemental and abstracted knowledge in new domains it encounters. 3. Learning: how the AI system learns new elemental and abstracted knowledge, and how it learns how to learn, and so on. 4. Teaching Methodologies: how the AI system is coupled with other systems so as to enable it to gain new knowledge about itself, the world and others. OpenCog will help significantly with all four aspects: 1. Cognitive Architecture: the OpenCog framework is architecture-neutral, and will provide facilities to define rich and varied cognitive architectures via configuration files, with the guiding but flexible principles that a cognitive architecture will consist of: functional units which are modular knowledge representation using a local AtomTable containing knowledge (see below) and a collection of MindAgent objects implementing cognitive, perceptual or action processes that act on this AtomTable, and/or interact with the outside world 2. Knowledge Representation: OpenCog will feature: a generalized version of the Novamente AtomTable knowledge representation utilized in the Novamente Cognition Engine (2004). This representation technology allows rival connectionist and symbolic artificial intelligence systems to interoperate an implementation of a LISP-like language called Combo, specifically tailored for operating on knowledge represented in AtomTable format 3. Learning: OpenCog will be seeded with two powerful learning mechanisms: MOSES probabilistic-program-evolution module (http://code.google.com/p/ moses) PLN Probabilistic Logic Networks module for probabilistic logical inference 4. Teaching Methodologies: OpenCog will be will be introduced with two powerful toolsets: AGISim integration, an open-source 3D simulation world intended specifically for instruction of embodied AI systems (2006) (http://sourceforge.net/projects/agisim)

RelEx integration, a natural language comprehension system that intakes English sentences and outputs logical relationships suitable for analysis via AI algorithms. ReEx is to be released soon in conjunction with the Wikia Search project. 4. OpenCog and the Operating System and Virtual Machine Metaphors OpenCog is a vertical systems-level framework for AGI development, so comparisons to the designs of operating systems such as Linux/UNIX or Windows and virtual machine environments such as Java and.net are useful. OpenCog operates atop and utilizes the services of traditional operating systems, while at the same time many of its own components have parallels to and operate with the assistance of complimentary OS components; a partial list is found below. OS or VM Environment Filesystem or simple Database Process or Thread Scheduler Daemons or Services I/O from hardware Programming Languages (Java, C, shell, etc.) Garbage Collection OpenCog AtomTable CPS (Cognitive Process Scheduler) MindAgent I/O from input filters to AtomTable via XML Combo (can be used for MindAgents) Forgetting MindAgent Future optimizations of OpenCog may include tight integration with a host operating system or implementation of performance critical components using specialized hardware such as FPGAs. Using integration with Linux as an example, the AtomTable could be implemented as a kernel module to reduce context switches and improve performance. 5. Discussion Just as the early developers of Linux and other open-source technologies underlying the present-day Internet could not have envisioned all of the varied future directions of their work, so the future course of OpenCog likewise remains uncertain. As a general framework, OpenCog may be used to produce a wide variety of AGI and narrow-ai systems and explore a wide variety of AGI issues. We have sought to make OpenCog as broad as possible but no broader because we wish to avoid making commitments to particular AGI approaches while at the same time offering a tool which is much more substantive than, say, a programming language or an operating system. We believe the OpenCog Framework provides a balance of specificity and generality such that it will allow a wide variety of AGI and narrow-ai research approaches to be integrated and experimented with, inside a common framework that provides services (including ease of integration with other approaches) that would be objectionably difficult for most researchers to create on their own.

Creating powerful AGI tools in the open entails risks and uncertainties: individuals with malicious or overly egoistic goals may attempt to create AGI systems with destructive or otherwise undesirable or unethical goals or outcomes. On the other hand, the open-source approach also provides certain protections many knowledgeable eyes watch code as it develops, and can spot potential dangers. We don't pretend to have definitive answers to the thorny issues of AGI ethics (or anything close to it), but we do believe that the open-source approach to AGI encourages a collaborative and inclusive exploration of these ideas. Further updates and information on OpenCog may be found at www.opencog.org References [1] Gazzaniga, M.S., Ivry, R., Mangun, G.R. (2002). Cognitive Neuroscience. W.W. Norton. [2] Mithen, Steven (1999). The Prehistory of Mind. Thames and Hudson. [3] Goertzel, Ben, Moshe Looks and Cassio Pennachin (2004). Novamente: An Integrative Architecture for Artificial General Intelligence. Proceedings of AAAI Symposium on Achieving Human-Level Intelligence through Integrated Systems and Research, Washington DC, August 200 [4] Goertzel, Ben, Ari Heljakka, Stephan Vladimir Bugaj, Cassio Pennachin, Moshe Looks (2006). Exploring Android Developmental Psychology in a Simulation World, Symposium Toward Social Mechanisms of Android Science, Proceedings of ICCS/CogSci 2006, Vancouver