Nucleoid 논리 그래프를 이용한 신경-심볼릭 AI 이해하기

Nucleoid 논리 그래프를 이용한 신경-심볼릭 AI 이해하기
It SharingPosted On Jul 25, 20246 min read

Nucleoid는 뇌-상징적 AI를 위한 선언적이고 논리 기반의 컨텍스트 런타임입니다. Nucleoid 런타임은 JavaScript 구문의 각 문을 추적하고 논리와 데이터 사이의 관계를 동적으로 만들어 논리 그래프로 만들어 결정 및 문제 해결 과정에 사용하기 위한 지식 기반을 형성합니다.

  • 적응적 추론: 상징적 논리를 컨텍스트 정보와 결합하여 관계를 분석하고 결론을 도출하며 새로운 정보를 통합하고 해당 결론을 조정합니다.
  • 논리 그래프: 문과 데이터 사이의 관계를 포착하는 동적 지식 기반 표현 구조로, 복잡한 추론을 용이하게 하고 새로운 정보에 적응합니다.
  • 설명 가능성: 논리 그래프는 추론 과정을 투명하게 나타내어 의사결정이 어떻게 이루어지고 잠재적 편향이 식별되는지 이해하기 쉽게 합니다.

"빠르고 천천히 생각하는"이라는 아이디어를 반영하면 AI 시스템은 빠르고 "직관적인" 아이디어를 제공할 뿐만 아니라, 다른 한편으로는 신중하고 합리적인 의사결정을 할 수 있어야 합니다. D(L)RE는 컨텍스트 정보에 기초한 직관적인 결정과 논리적 추론에 기초한 신중한 의사결정을 모두 가능하게 합니다.

이미지

뉴로-심볼릭 AI란 무엇인가요?

뉴로-심볼릭 AI는 신경망과 심볼릭 AI의 장점을 통합하여 데이터로부터 학습할 뿐만 아니라 논리적으로 추론할 수 있는 시스템을 만드는 접근 방식입니다. 이 두 구성 요소를 결합함으로써, 뉴로-심볼릭 AI는 신경망의 직관적인 패턴 인식 능력과 심볼릭 AI의 논리적 규칙 기반 추론을 결합합니다. 이 통합은 적응 가능하며 의사 결정을 설명할 수 있는 더 통합적인 AI 시스템을 제공하여 데이터로부터 학습하고 논리적 추론이 모두 필요한 복잡한 의사 결정 작업에 적합합니다. 아래에서 자세히 살펴보겠습니다.

신경망: 학습 구성 요소

뉴로-심볼릭 AI의 신경망은 거대한 데이터셋으로부터 패턴, 관계 및 특징을 학습하는 데 능숙합니다. 이러한 신경망은 분류, 예측 및 패턴 인식과 관련된 작업에서 뛰어나며, 이미지, 텍스트 및 오디오와 같은 비구조화된 데이터를 처리하는 데 귀중합니다. 신경망은 학습 능력을 통해 예제에서 일반화하여 데이터의 복잡한 구조와 세부 사항을 이해할 수 있습니다.

Symbolic AI: 추론 구성요소

뉴로-심볼릭 AI의 심볼릭 구성요소는 논리, 규칙, 지식의 심볼적 표현에 중점을 둡니다. 데이터에서 학습하는 신경망과는 달리 심볼릭 AI는 미리 정의된 규칙과 지식 베이스를 사용하여 추론 수행, 추론을 만들어내며 엔티티 간의 관계를 이해하는 데 사용됩니다. 인공지능의 이 측면은 투명하며 해석 가능하며 그 결정과 추론 과정을 인간이 이해할 수 있는 방식으로 설명할 수 있습니다.

이미지

심볼릭 추론에서 선언적 논리

명시적 논리는 선언적 프로그래밍의 하위 집합으로, 계산의 논리를 설명하지만 제어 흐름을 설명하지 않는 프로그램을 구축하는 스타일을 말합니다. 명시적 논리에서는 문제 영역을 정의하는 사실과 규칙을 명시합니다. 런타임 환경이나 시스템 자체가 이러한 조건을 충족하거나 결론에 도달하기 위해 이러한 규칙을 적용하는 방법을 결정합니다. 이는 목표를 달성하기 위한 정확한 단계를 설명하는 코드를 개발자가 작성하는 명령형 프로그래밍과 대조됩니다.

상징적 추론은 문제를 나타내기 위해 기호를 사용하고 이러한 기호를 조작하는 논리 규칙을 적용하여 결론이나 솔루션을 유도하는 프로세스를 의미합니다. AI 및 컴퓨터 과학에서는 개체와 동작을 상징적으로 표현하여 시스템이 기호에 인코딩된 규칙과 지식을 기반으로 논리 추론, 결정 및 문제 해결을 수행할 수 있도록 합니다.

Nucleoid를 신경 기호론적 AI에 통합함으로써 시스템은 해석 가능성과 신뢰성이 향상됩니다. Nucleoid에서 정의된 명시적 논리와 규칙은 AI의 결정에 대한 명쾌한 설명을 제공하며, 사용자가 시스템의 결과를 이해하고 신뢰하기 쉽게 만듭니다. 또한 명시적 추론 능력은 결정이 논리적 원칙을 기반으로 내려지도록 보장하며, AI의 행동에 신뢰성과 일관성을 더합니다.

이미지

신경 기호 AI의 유연성

신경 기호 AI 분야에서 플라스티시티는 시스템이 새로운 정보에 대응하여 연결을 수정하고 최적화하는 능력에 중요한 요소입니다. 이 개념은 생물학적 뇌의 신경가소성에서 영감을 받았는데, 신경세포는 활동에 기반하여 연결을 강화하거나 약화시켜 학습과 기억을 가능케합니다.

  • 동적 지식 베이스: 신경 기호 AI 시스템은 새로운 시나리오를 만나거나 이전 지식에 대한 수정을 받으면 지식 베이스를 동적으로 업데이트합니다. 이 지속적인 업데이트 과정은 시스템이 시간이 지남에 따라 relevancy를 유지하고 정확성을 유지할 수 있게 합니다.
  • 적응적 논리와 추론: AI 시스템은 심볼릭 규칙과 추론 전략을 수정하여 관측된 데이터나 결과와 더 잘 일치하도록 하여 의사 결정 능력과 문제 해결 능력을 향상시킬 수 있습니다.
  • 일반화와 전문화: 플라스티시티를 통해 시스템은 배운 경험으로부터 새로운, 보지 못한 시나리오를 일반화하거나 특정 도메인에 전문화되어 특정 데이터 입력에 기반하여 매개변수나 규칙을 조정할 수 있습니다.

AI에서 플라스티시티의 개념, 특히 Neuro-Symbolic AI와 같은 논리 기반 시스템에서는 기계의 능력을 고정된 규칙에 따라 작업하는 데에만 제한되지 않고 이러한 규칙을 진화시키고 시간이 흐름에 따라 추론을 조정할 수 있는 능력을 향상시킴으로써, 살아있는 존재의 인지적 유연성과 유사한 특성을 보여줍니다.

안녕하세요 ⚡

사용자:
> '이름을 가진 사람 정의'

비서:
> '사용자가 선언적 클래스를 사용하여 이름이 있는 사람을 정의하는 것을 요청했습니다'

---

// 보편적인 코드:
'use declarative';

class Human {
  name: string;
  constructor(name: string) {
    this.name = name;
  }
}
사용자:
> '모든 사람은 죽을 운명이다'

비서:
> '모든 사람들이 죽을 운명으로 선언되었습니다.'

---

// 보편적인 코드:
'use declarative';

$Human.mortal = true;
사용자:
> '이름이 "소크라테스"인 사람 생성'

비서:
> '이름이 '소크라테스'인 사람이 성공적으로 생성되었습니다.'

---

// 보편적인 코드:
'use imperative';

var human1 = new Human('소크라테스');

// 결과: {"id":"human1","name":"소크라테스","mortal":true}
사용자:
> '소크라테스라는 이름을 가진 인간은 죽을 운명인가요?'

보조:
> '소크라테스라는 이름을 가진 인간은 죽을 운명이라고 결정되었습니다.'

---

// 보편적인 코드:
`사용 동사 사용`;

var human1 = new Human('소크라테스');
human1.mortal;
// 결과: true

nucleoid.com/docs/get-started에서 더 알아보기

인공지능 논리 프로그래밍 환경 속으로

뉴클레오이드는 인공지능 기호 논리 프로그래밍을 위한 구현으로, 런타임에서 논리적 (Declarative) 프로그래밍을 제공합니다. 언급했듯이, 논리적 런타임 환경은 자바스크립트 상태를 관리하고 각 트랜잭션을 내장 데이터 저장소에 선언적으로 다시 렌더링하고 지식 그래프 (베이스) 및 실행 계획을 작성하여 자바스크립트 문을 구성합니다.

명시적 런타임은 프로그램의 동작 정의를 기술적 지시사항에서 분리하고, 기술적 세부 사항을 들지 않고 논리적 의도를 나타내는 선언적 문장을 실행합니다. 이 패러다임에서는 데이터가 무엇인지 여부에 대한 분리가 없으며, 대신 데이터(선언문)가 다른 것과 어떻게 관련되어 있는지 접근합니다. 이를 통해 비즈니스 규칙을 포함한 모든 유형의 데이터를 추가할 때 컴파일, 구성, 재시작과 같은 추가 작업이 필요하지 않고 가변성의 결과로 데이터를 동시에 프로그래밍 런타임에 저장할 수 있는 가능성이 제공됩니다.

요약하면, 프로젝트의 주요 목표는 데이터와 논리를 동일한 런타임에서 관리하는 것입니다. Nucleoid에서 사용하는 선언적 프로그래밍 패러다임은 개발자가 애플리케이션의 비즈니스 논리에 집중할 수 있도록 하고, 런타임이 기술적 세부 사항을 관리합니다. 이를 통해 더 빠른 개발이 가능하고 작성해야 하는 코드 양을 줄일 수 있습니다. 게다가, 샤딩 기능은 여러 인스턴스에 부하를 분산시킬 수 있어 시스템의 성능을 더욱 향상시킬 수 있습니다.

성능 평가

이것은 Nucleoid IDE에서의 샘플 주문 앱과 Express.js 및 Sequelize 라이브러리를 사용한 MySQL 및 Postgres의 비교입니다.

이미지

이는 Nucleoid 런타임이 MySQL 또는 Postgres보다 빠르다는 것을 의미하는 것은 아닙니다. 대신 데이터베이스는 색인, 캐싱, 정리 등을 포함해 DBA 팀에 의해 지속적인 유지보수가 필요합니다. 그러나 Nucleoid는 내부적으로 로직과 데이터를 관리하여 이 문제를 해결하려고 노력합니다. 차트에서 볼 수 있듯이, 중간 복잡성을 갖는 애플리케이션의 경우 Nucleoid의 성능은 온체인 데이터 스토어, 메모리 내 컴퓨팅 모델 및 IO 프로세스 제한으로 인해 선형에 가깝습니다.

선언적 논리 프로그래밍 덕분에 우리는 신선한 접근법을 Neuro-Symbolic AI에 제공합니다. 이 AI 아키텍처의 잠재력을 탐구하는 동안 모든 종류의 기여를 환영합니다!

image