전문가 시스템
![A [Symbolics 3640 리스프 머신: 전문가 시스템을 위한 초기(1984) 플랫폼]]
인공지능(AI)에서 전문가 시스템(expert system)은 인간 전문가의 의사결정 능력을 모방하는 컴퓨터 시스템이다.[^1] 전문가 시스템은 기존의 절차적 프로그래밍 코드가 아닌, 주로 if-then 규칙으로 표현되는 지식 체계를 통해 추론함으로써 복잡한 문제를 해결하도록 설계되었다.[^18] 전문가 시스템은 최초로 진정한 성공을 거둔 AI 소프트웨어 중 하나였다. 1970년대에 개발되어 1980년대에 널리 보급되었으며,[^2] 성공적인 인공 신경망이 등장하기 전까지 AI의 미래로 널리 간주되었다.[^19] 전문가 시스템은 두 개의 하위 시스템으로 나뉜다: 1) 사실과 규칙을 표현하는 지식 베이스; 그리고 2) 알려진 사실에 규칙을 적용하여 새로운 사실을 추론하며, 설명 및 디버깅 기능을 포함할 수 있는 추론 엔진.
역사
초기 발전
1940년대 후반과 1950년대 초반에 현대 컴퓨터가 등장한 직후, 연구자들은 이 기계들이 현대 사회에 미칠 수 있는 엄청난 잠재력을 인식하기 시작했다. 최초의 과제 중 하나는 이러한 기계가 인간처럼 "사고"할 수 있도록 만드는 것이었으며, 특히 인간이 하는 방식대로 중요한 결정을 내릴 수 있도록 하는 것이었다. 의료·보건 분야는 이러한 기계가 의료 진단 결정을 내릴 수 있도록 하는 매력적인 도전 과제를 제시했다.[^3]
이에 따라 정보화 시대가 본격적으로 도래한 직후인 1950년대 후반, 연구자들은 인간의 의사결정을 모방하기 위해 컴퓨터 기술을 활용하는 가능성을 실험하기 시작했다. 예를 들어, 생의학 연구자들은 의학 및 생물학 분야의 진단 응용을 위한 컴퓨터 보조 시스템을 만들기 시작했다. 이러한 초기 진단 시스템은 환자의 증상과 실험실 검사 결과를 입력으로 사용하여 진단 결과를 생성했다.[^20][^21] 이 시스템들은 흔히 전문가 시스템의 초기 형태로 묘사되었다. 그러나 연구자들은 순서도,[^22] [^23] 통계적 패턴 매칭,[^24] 또는 확률 이론[^25][^26]과 같은 전통적인 방법을 사용할 때 상당한 한계가 있음을 인식했다.
공식적 도입과 이후의 발전
이러한 이전의 상황은 지식 기반 접근 방식을 사용하는 전문가 시스템의 개발로 점진적으로 이어졌다. 의학 분야에서 이러한 전문가 시스템에는 MYCIN 전문가 시스템,[^27] Internist-I 전문가 시스템,[^28] 그리고 이후 1980년대 중반의 CADUCEUS가 있었다.[^29]
전문가 시스템은 때때로 "전문가 시스템의 아버지"로 불리는 Edward Feigenbaum이 이끈 스탠퍼드 휴리스틱 프로그래밍 프로젝트에 의해 1965년경에 공식적으로 도입되었으며,[^30] 다른 주요 초기 기여자로는 Bruce Buchanan과 Randall Davis가 있었다. 스탠퍼드 연구자들은 감염성 질환 진단(Mycin)이나 미지의 유기 분자 식별(Dendral)과 같이 전문 지식이 높이 평가되고 복잡한 영역을 찾고자 했다.[^31] Feigenbaum이 말한 것처럼 "지능형 시스템은 사용하는 특정 형식 체계나 추론 방식이 아니라 보유한 지식에서 그 능력을 이끌어낸다"[^32]라는 생각은 당시에 중요한 진전이었다. 과거의 연구가 휴리스틱 계산 방법에 초점을 맞추어 매우 범용적인 문제 해결기를 개발하려는 시도(특히 Allen Newell과 Herbert Simon의 공동 연구)로 귀결되었기 때문이다.[^33] 전문가 시스템은 인공지능(AI) 소프트웨어 중 최초로 진정한 성공을 거둔 형태 중 하나가 되었다.
전문가 시스템에 대한 연구는 유럽에서도 활발했다. 미국에서는 생산 규칙 시스템의 사용에 초점을 맞추는 경향이 있었으며, 처음에는 Lisp 프로그래밍 환경 위에 하드코딩된 시스템을, 이후에는 Intellicorp 같은 공급업체가 개발한 전문가 시스템 셸을 사용했다. 유럽에서는 Prolog로 개발된 시스템과 전문가 시스템 셸에 더 초점을 맞추었다. Prolog 시스템의 장점은 형식 논리에 기반한 규칙 기반 프로그래밍의 한 형태를 사용한다는 것이었다.^34
Prolog에 기반한 초기 전문가 시스템 셸 중 하나가 APES였다.[^4] Prolog와 APES의 최초 사용 사례 중 하나는 법률 분야, 즉 영국 국적법의 상당 부분을 인코딩하는 것이었다. Lance Elliot는 다음과 같이 썼다: "영국 국적법은 1981년에 통과되었으며, 그 직후 인공지능(AI) 기법과 기술의 효과를 입증하는 수단으로 사용되었고, 당시 새로 제정된 성문법이 컴퓨터화된 논리 기반 형식화로 어떻게 인코딩될 수 있는지를 탐구하기 위한 것이었다. '논리 프로그램으로서의 영국 국적법'이라는 제목의, 현재 자주 인용되는 연구 논문이 1986년에 출판되었으며, 이후 AI와 법률 분야의 후속 연구에 이정표가 되었다."[^5]
1980년대에 전문가 시스템은 급증했다. 대학들은 전문가 시스템 과정을 개설했고, 포천 500대 기업의 3분의 2가 일상적인 업무 활동에 이 기술을 적용했다.[^6] 관심은 국제적이었으며, 일본의 제5세대 컴퓨터 시스템 프로젝트와 유럽에서의 연구 자금 증대가 있었다.
1981년에 PC DOS 운영 체제를 탑재한 최초의 IBM PC가 출시되었다.[^36] PC의 비교적 강력한 칩의 저렴한 비용과 당시 기업 IT 세계를 지배하던 메인프레임의 훨씬 더 비싼 처리 비용 간의 불균형은 클라이언트-서버 모델이라 불리는 기업 컴퓨팅의 새로운 유형의 아키텍처를 만들어냈다.[^37] 계산과 추론을 PC를 사용하여 메인프레임 비용의 일부 가격으로 수행할 수 있었다. 이 모델은 또한 사업 부서가 기업 IT 부서를 우회하여 직접 자체 애플리케이션을 구축할 수 있게 했다. 그 결과, 클라이언트-서버는 전문가 시스템 시장에 엄청난 영향을 미쳤다. 전문가 시스템은 이미 많은 비즈니스 세계에서 이질적인 존재였으며, 많은 IT 부서가 보유하지 않았고 개발하기를 꺼려했던 새로운 기술을 필요로 했다. 전문가 시스템은 최종 사용자와 전문가의 손에 애플리케이션 개발을 맡기겠다고 약속한 새로운 PC 기반 셸에 자연스럽게 적합했다. 그때까지 전문가 시스템의 주요 개발 환경은 Xerox, Symbolics, Texas Instruments의 고급 Lisp 기계였다. PC와 클라이언트-서버 컴퓨팅의 부상과 함께 Intellicorp 및 Inference Corporation 같은 공급업체들은 PC 기반 도구 개발로 우선순위를 전환했다. 또한 벤처 캐피탈의 자금 지원을 받은[^38][^39] 새로운 공급업체들이 정기적으로 등장하기 시작했다.
대규모 제품의 설계 역량으로 사용된 최초의 전문가 시스템은 1982년에 개발된 통합 설계 합성(SID) 소프트웨어 프로그램이었다. Lisp로 작성된 SID는 VAX 9000 CPU 논리 게이트의 93%를 생성했다.[^7] 소프트웨어에 대한 입력은 여러 전문 논리 설계자들이 만든 규칙 집합이었다. SID는 규칙을 확장하여 규칙 자체의 크기보다 수배 큰 소프트웨어 논리 합성 루틴을 생성했다. 놀랍게도 이 규칙들의 조합은 전문가 자신의 역량을 초과하는 전체 설계를 만들어냈으며, 많은 경우 인간 상대방을 능가했다. 일부 규칙이 다른 규칙과 모순되기도 했지만, 속도와 면적에 대한 최상위 제어 매개변수가 결정 기준을 제공했다. 이 프로그램은 매우 논란이 많았지만 프로젝트 예산 제약으로 인해 사용되었다. VAX 9000 프로젝트 완료 후 논리 설계자들에 의해 종료되었다.
1970년대 중반 이전의 시기에는 전문가 시스템이 여러 분야에서 달성할 수 있는 것에 대한 기대가 극도로 낙관적인 경향이 있었다. 이 초기 연구의 시작에서 연구자들은 완전히 자동화된(즉, 완전히 컴퓨터화된) 전문가 시스템을 개발하기를 희망했다. 컴퓨터가 할 수 있는 것에 대한 사람들의 기대는 자주 너무 이상적이었다. 이 상황은 Richard M. Karp가 1970년대 초에 획기적인 논문 "조합 문제들 간의 환원 가능성"을 발표한 후 근본적으로 변화했다.[^40] Hubert L. Dreyfus[^41]와 같은 다른 학자들과 함께한 Karp의 연구 덕분에 컴퓨터 알고리즘을 설계할 때 특정한 한계와 가능성이 있음이 분명해졌다. 그의 발견은 컴퓨터가 할 수 있는 것과 할 수 없는 것을 설명한다. 이 유형의 전문가 시스템과 관련된 많은 계산 문제는 특정한 실용적 한계를 가지고 있다. 이 발견들은 해당 분야의 다음 발전으로 이어진 토대를 마련했다.[^3]
1990년대 이후 전문가 시스템이라는 용어와 독립형 AI 시스템의 개념은 대부분 IT 어휘에서 사라졌다. 이에 대한 두 가지 해석이 있다. 하나는 "전문가 시스템이 실패했다"는 것이다: 전문가 시스템이 과대 광고된 약속을 실현하지 못했기 때문에 IT 세계가 다른 방향으로 나아갔다는 것이다.[^42][^43] 다른 하나는 정반대의 해석으로, 전문가 시스템은 단순히 자신의 성공의 희생자였다는 것이다: IT 전문가들이 규칙 엔진 같은 개념을 파악하면서 이러한 도구는 특수 목적의 전문가 시스템을 개발하기 위한 독립형 도구에서 많은 표준 도구 중 하나로 변모했다.[^44] 다른 연구자들은 전문가 시스템이 IT 조직이 사용자 또는 지식 엔지니어에게 소프트웨어 수정에 대한 독점권을 잃으면서 기업 내 권력 투쟁을 야기했다고 제안한다.[^45]
2000년대 첫 10년간, 규칙 기반 시스템이라는 용어를 사용하면서 이 기술의 "부활"이 있었으며, 상당한 성공 사례와 채택이 이루어졌다.[^46] 많은 주요 비즈니스 애플리케이션 제품군 공급업체(SAP, Siebel, Oracle 등)가 비즈니스 논리를 지정하는 방법으로 전문가 시스템 기능을 자사 제품군에 통합했다. 규칙 엔진은 더 이상 전문가가 사용할 규칙을 정의하기 위한 것만이 아니라 모든 유형의 복잡하고, 변동성이 크며, 중요한 비즈니스 논리를 위한 것이 되었다. 이는 종종 비즈니스 프로세스 자동화 및 통합 환경과 함께 병행된다.[^47][^48][^49]
전문가 시스템에 대한 현재의 접근 방식
이전 유형의 전문가 시스템의 한계는 연구자들이 새로운 유형의 접근 방식을 개발하도록 촉진했다. 그들은 인간의 의사결정 과정을 시뮬레이션하기 위한 더 효율적이고 유연하며 강력한 방법을 개발했다. 연구자들이 개발한 접근 방식 중 일부는 인공지능(AI)의 새로운 방법, 특히 피드백 메커니즘을 갖춘 기계 학습 및 데이터 마이닝 접근 방식에 기반하고 있다.[^50] 순환 신경망은 종종 이러한 메커니즘을 활용한다. 단점 부분의 논의와 관련이 있다.
현대의 시스템은 새로운 지식을 더 쉽게 통합할 수 있으며, 따라서 스스로를 쉽게 갱신할 수 있다. 이러한 시스템은 기존 지식에서 더 잘 일반화할 수 있고 방대한 양의 복잡한 데이터를 처리할 수 있다. 여기서 빅데이터 주제와 관련이 있다. 때때로 이러한 유형의 전문가 시스템은 "지능형 시스템"이라고 불린다.[^3]
더 최근에는, 전문가 시스템이 비즈니스 규칙 및 비즈니스 규칙 관리 시스템 영역으로 이동했다고 주장할 수 있다.
소프트웨어 아키텍처
![1990년 석사 논문에서 가져온 역방향 연쇄의 설명 예시^51 ] 전문가 시스템은 지식 기반 시스템의 한 예이다. 전문가 시스템은 지식 기반 아키텍처를 사용한 최초의 상용 시스템이었다. 일반적인 관점에서 전문가 시스템은 지식 베이스, 추론 엔진, 설명 기능, 지식 획득 기능, 그리고 사용자 인터페이스와 같은 구성 요소를 포함한다.[^8][^52]
지식 베이스는 세계에 대한 사실을 나타낸다. Mycin과 Dendral 같은 초기 전문가 시스템에서는 이러한 사실이 주로 변수에 대한 단순한 단정문(assertion)으로 표현되었다. 상용 셸로 개발된 이후의 전문가 시스템에서는 지식 베이스가 더 많은 구조를 갖추게 되었고 객체 지향 프로그래밍의 개념을 사용하였다. 세계는 클래스, 하위 클래스, 인스턴스로 표현되었으며, 단정문은 객체 인스턴스의 값으로 대체되었다. 규칙은 객체의 값을 조회하고 단정하는 방식으로 작동하였다.
추론 엔진은 지식 베이스의 현재 상태를 평가하고, 관련 규칙을 적용한 다음, 새로운 지식을 지식 베이스에 단정하는 자동화된 추론 시스템이다. 추론 엔진은 설명 능력도 포함할 수 있어서, 단정을 유발한 규칙의 발화를 역추적하여 특정 결론에 도달하는 데 사용된 추론 과정을 사용자에게 설명할 수 있다.
추론 엔진에는 주로 두 가지 모드가 있다: 전방향 연쇄와 역방향 연쇄이다. 이러한 서로 다른 접근 방식은 추론 엔진이 규칙의 전건(좌변)에 의해 구동되는지 아니면 후건(우변)에 의해 구동되는지에 따라 결정된다. 전방향 연쇄에서는 전건이 발화되고 후건이 단정된다. 예를 들어 다음 규칙을 살펴보자:
R1: \mathit{Man}(x) \implies \mathit{Mortal}(x)
전방향 연쇄의 간단한 예는 시스템에 Man(Socrates)을 단정한 다음 추론 엔진을 작동시키는 것이다. 추론 엔진은 R1과 일치시켜 Mortal(Socrates)을 지식 베이스에 단정할 것이다.
역방향 연쇄는 다소 덜 직관적이다. 역방향 연쇄에서는 시스템이 가능한 결론을 살펴보고 그것이 참일 수 있는지 역방향으로 추적한다. 따라서 시스템이 Mortal(Socrates)이 참인지 판별하려 한다면, R1을 찾아 Man(Socrates)이 참인지 지식 베이스를 조회할 것이다. 전문가 시스템 셸의 초기 혁신 중 하나는 추론 엔진을 사용자 인터페이스와 통합한 것이었다. 이는 역방향 연쇄에서 특히 강력할 수 있었다. 시스템이 특정 사실을 알아야 하지만 알지 못하는 경우, 단순히 입력 화면을 생성하여 사용자에게 해당 정보를 알고 있는지 물어볼 수 있다. 따라서 이 예에서 시스템은 R1을 사용하여 사용자에게 Socrates가 Man인지 물어본 다음, 그 새로운 정보를 적절히 활용할 수 있다.
규칙을 사용하여 지식을 명시적으로 표현하는 것은 설명 능력도 가능하게 하였다. 위의 간단한 예에서, 시스템이 R1을 사용하여 Socrates가 Mortal이라고 단정하였고, 사용자가 왜 Socrates가 죽을 수밖에 없는 존재인지 이해하고 싶다면, 시스템에 질의할 수 있으며 시스템은 해당 단정을 유발한 규칙을 역추적하여 그 규칙을 설명으로서 사용자에게 제시할 것이다. 한국어로 표현하면, 사용자가 "왜 Socrates는 죽을 수밖에 없는 존재인가?"라고 물었을 때 시스템은 "모든 사람은 죽을 수밖에 없는 존재이고 Socrates는 사람이기 때문입니다"라고 답할 것이다. 중요한 연구 분야 중 하나는 지식 베이스로부터 형식적이지만 덜 직관적인 규칙을 단순히 보여주는 것이 아니라 자연스러운 언어로 설명을 생성하는 것이었다.[^53]
전문가 시스템이 발전함에 따라 다양한 유형의 추론 엔진에 많은 새로운 기법이 도입되었다.[^54] 그중 가장 중요한 것들은 다음과 같다:
- 진리 유지 시스템. 이 시스템은 지식 베이스 내의 의존 관계를 기록하여, 사실이 변경될 때 의존적인 지식도 그에 따라 변경될 수 있도록 한다. 예를 들어, 시스템이 Socrates가 더 이상 사람으로 알려져 있지 않다는 것을 학습하면, Socrates가 죽을 수밖에 없는 존재라는 단정을 철회할 것이다.
- 가설적 추론. 이 방식에서는 지식 베이스가 여러 가능한 관점, 즉 세계(worlds)로 분할될 수 있다. 이를 통해 추론 엔진이 여러 가능성을 병렬로 탐색할 수 있다. 예를 들어, 시스템은 두 가지 단정의 결과를 모두 탐색하고자 할 수 있다: Socrates가 사람이라면 무엇이 참이 되는지, 그리고 사람이 아니라면 무엇이 참이 되는지?
- 불확실성 시스템. 규칙을 사용하여 지식을 표현하는 것의 초기 확장 중 하나는 각 규칙에 확률을 연관시키는 것이었다. 따라서 Socrates가 죽을 수밖에 없는 존재라고 단정하는 것이 아니라, Socrates가 특정 확률 값으로 죽을 수밖에 없는 존재일 수 있다고 단정하는 것이다. 일부 시스템에서는 단순한 확률이 퍼지 논리와 확률의 결합 같은 정교한 불확실성 추론 메커니즘으로 확장되었다.
- 온톨로지 분류. 지식 베이스에 객체 클래스가 추가됨에 따라 새로운 유형의 추론이 가능해졌다. 시스템은 단순히 객체 값에 대해 추론하는 것 외에도 객체 구조에 대해서도 추론할 수 있게 되었다. 이 간단한 예에서 Man은 객체 클래스를 나타낼 수 있고, R1은 모든 사람의 클래스를 정의하는 규칙으로 재정의될 수 있다. 이러한 유형의 특수 목적 추론 엔진을 분류기(classifier)라 한다. 분류기는 전문가 시스템에서 널리 사용되지는 않았지만, 비구조적이고 변동이 큰 도메인에 매우 강력하며, 인터넷과 부상하는 시맨틱 웹의 핵심 기술이다.[^55][^56]
장점
지식 기반 시스템의 목표는 시스템이 작동하는 데 필요한 핵심 정보를 암묵적이 아닌 명시적으로 만드는 것이다.[^57] 전통적인 컴퓨터 프로그램에서는 논리가 코드에 내장되어 있어 일반적으로 IT 전문가만이 검토할 수 있다. 전문가 시스템에서의 목표는 IT 전문가가 아닌 해당 분야의 전문가들이 직관적이고 쉽게 이해하고 검토하며, 심지어 편집할 수 있는 형식으로 규칙을 명시하는 것이었다. 이러한 명시적 지식 표현의 이점은 빠른 개발과 유지보수의 용이성이었다.
유지보수의 용이성은 가장 명백한 이점이다. 이는 두 가지 방식으로 달성되었다. 첫째, 기존의 코드를 작성할 필요를 없앰으로써, 시스템의 작은 변경으로도 발생할 수 있는 많은 일반적인 문제들을 전문가 시스템에서는 피할 수 있었다. 본질적으로, 프로그램의 논리적 흐름은 (적어도 최상위 수준에서는) 단순히 추론 엔진을 호출하는 것으로, 시스템에 있어 당연한 것이었다. 이것은 또한 두 번째 이점인 빠른 프로토타이핑의 이유이기도 했다. 전문가 시스템 셸을 사용하면 몇 가지 규칙을 입력하여 복잡한 IT 프로젝트에 일반적으로 소요되는 수개월 또는 수년이 아닌 며칠 만에 프로토타입을 개발하는 것이 가능했다.
전문가 시스템 셸에 대해 자주 제기된 주장은 훈련된 프로그래머가 필요 없으며 전문가들이 스스로 시스템을 개발할 수 있다는 것이었다. 실제로 이것은 거의 사실이 아니었다. 전문가 시스템의 규칙이 일반적인 컴퓨터 코드보다 이해하기 쉬웠지만, 다른 컴퓨터 언어와 마찬가지로 잘못 배치된 쉼표나 기타 문자가 큰 혼란을 일으킬 수 있는 형식적 구문을 여전히 가지고 있었다. 또한 전문가 시스템이 연구실의 프로토타입에서 비즈니스 세계의 배포로 이동하면서 통합과 유지보수 문제가 훨씬 더 중요해졌다. 대규모 레거시 데이터베이스 및 시스템과 통합하고 이를 활용해야 하는 요구가 불가피하게 발생했다. 이를 달성하기 위한 통합에는 다른 유형의 시스템과 동일한 기술이 필요했다.
전문가 시스템 사용의 이점을 요약하면 다음과 같다:[^8]
- 가용성 및 신뢰성 향상: 모든 컴퓨터 하드웨어에서 전문 지식에 접근할 수 있으며, 시스템은 항상 제시간에 응답을 완료한다.
- 다중 전문 지식: 여러 전문가 시스템을 동시에 실행하여 문제를 해결할 수 있으며, 인간 전문가보다 더 높은 수준의 전문 지식을 얻을 수 있다.
- 설명 기능: 전문가 시스템은 항상 문제가 어떻게 해결되었는지를 설명한다.
- 빠른 응답: 전문가 시스템은 빠르며 실시간으로 문제를 해결할 수 있다.
- 비용 절감: 각 사용자에 대한 전문 지식의 비용이 크게 절감된다.
단점
학술 문헌에서 전문가 시스템의 가장 흔히 언급되는 단점은 지식 획득 문제이다. 어떤 소프트웨어 애플리케이션이든 도메인 전문가의 시간을 확보하는 것은 항상 어렵지만, 전문가 시스템의 경우 전문가들이 정의상 높은 가치를 지니며 조직 내에서 끊임없이 수요가 있었기 때문에 특히 더 어려웠다. 이 문제의 결과로, 전문가 시스템 연구의 후반기에는 전문가가 정의한 규칙의 설계, 디버깅, 유지보수 과정을 자동화하는 데 도움이 되는 지식 획득 도구에 대한 연구가 상당 부분 집중되었다. 그러나 실제 사용 중인 전문가 시스템의 생애 주기를 살펴보면, 다른 문제들 – 본질적으로 다른 대규모 시스템과 동일한 문제들 – 이 지식 획득만큼이나 중요한 것으로 보인다: 통합, 대규모 데이터베이스 접근, 그리고 성능이 그것이다.[^58][^9]
성능은 특히 문제가 될 수 있었는데, 초기 전문가 시스템들이 코드 표현식을 먼저 컴파일하지 않고 해석하는 도구(예: 초기 Lisp 버전)를 사용하여 구축되었기 때문이다. 이는 강력한 개발 환경을 제공했지만, 가장 빠른 컴파일 언어(예: C)의 효율성에 맞추는 것이 사실상 불가능하다는 단점이 있었다. 시스템 및 데이터베이스 통합은 초기 전문가 시스템에서 어려웠는데, 도구들이 대부분의 기업 IT 환경에서 익숙하지도 환영받지도 못하는 언어와 플랫폼으로 되어 있었기 때문이다 – Lisp와 Prolog 같은 프로그래밍 언어, 그리고 Lisp 머신과 개인용 컴퓨터 같은 하드웨어 플랫폼이 그것이다. 그 결과, 전문가 시스템 도구 개발의 후반 단계에서는 COBOL이나 대규모 데이터베이스 시스템 같은 레거시 환경과의 통합 및 보다 표준적인 플랫폼으로의 이식에 많은 노력이 집중되었다. 이러한 문제들은 주로 클라이언트-서버 패러다임 전환에 의해 해결되었는데, PC가 IT 환경에서 본격적인 비즈니스 시스템 개발을 위한 합법적인 플랫폼으로 점차 수용되었고, 저렴한 미니컴퓨터 서버가 AI 애플리케이션에 필요한 처리 능력을 제공하게 되었기 때문이다.
전문가 시스템의 또 다른 주요 과제는 지식 기반의 크기가 증가할 때 발생한다. 이로 인해 처리 복잡도가 증가한다. 예를 들어, 1억 개의 규칙을 가진 전문가 시스템이 궁극의 전문가 시스템으로 구상되었을 때, 그러한 시스템은 너무 복잡하고 너무 많은 계산 문제에 직면할 것이 명백해졌다.[^59] 추론 엔진은 결정에 도달하기 위해 방대한 수의 규칙을 처리할 수 있어야 한다.
규칙이 너무 많을 때 결정 규칙들이 서로 일관성이 있는지 검증하는 방법도 하나의 과제이다. 보통 이러한 문제는 충족 가능성(SAT) 공식화로 이어진다.^60 이것은 잘 알려진 NP-완전 문제인 부울 충족 가능성 문제이다. 이진 변수만 가정할 경우, n개가 있다고 하면, 대응하는 탐색 공간의 크기는 2^{n}이 된다. 따라서 탐색 공간은 기하급수적으로 증가할 수 있다.
보다 효율적으로 작동하기 위해 규칙의 사용 우선순위를 정하는 방법이나, 모호성을 해결하는 방법(예를 들어, 하나의 규칙 내에 너무 많은 else-if 하위 구조가 있는 경우) 등에 대한 문제도 있다.[^61]
다른 문제들은 알려진 사실을 사용하면서 지식 기반에 명시적으로 기술되지 않은 다른 사례로 일반화하려 할 때 발생하는 과적합 및 과잉 일반화 효과와 관련이 있다. 이러한 문제들은 기계 학습 접근법을 사용하는 방법에서도 존재한다.[^62][^63]
지식 기반과 관련된 또 다른 문제는 지식을 빠르고 효과적으로 업데이트하는 방법이다.[^64][^65][^66] 또한 새로운 지식을 추가하는 방법(즉, 많은 규칙 중 어디에 추가할 것인가)도 어려운 과제이다. 기계 학습 방법에 의존하는 현대적 접근법은 이 점에서 더 용이하다.
위의 과제들로 인해, 규칙 기반 기술 대신 AI에 대한 새로운 접근법이 필요하다는 것이 분명해졌다. 이러한 새로운 접근법은 피드백 메커니즘의 활용과 함께 기계 학습 기법의 사용에 기반한다.[^3]
의학 분야의 전문가 시스템(컴퓨터 보조 진단 시스템을 현대적 전문가 시스템으로 간주할 경우)이 직면한 주요 과제, 그리고 아마도 다른 응용 분야에서의 과제에는 빅 데이터, 기존 규제, 의료 관행, 다양한 알고리즘 문제, 시스템 평가 등의 측면과 관련된 이슈가 포함된다.[^67]
마지막으로, 전문가 시스템 사용의 다음과 같은 단점을 요약할 수 있다:[^8]
- 전문가 시스템은 피상적인 지식을 가지고 있으며, 단순한 작업도 잠재적으로 계산 비용이 높아질 수 있다.
- 전문가 시스템은 데이터를 입력할 지식 공학자가 필요하며, 데이터 획득이 매우 어렵다.
- 전문가 시스템은 특정 문제를 해결하기 위해 가장 부적절한 방법을 선택할 수 있다.
- 모든 형태의 AI 사용에 있어 윤리 문제는 현재 매우 중요하다.
- 전문가가 제공하기 전까지는 개념과 그 상호 관계에 대한 깊은 인식이 없는, 특정 지식만을 가진 폐쇄적 세계이다.
응용 분야
헤이즈-로스는 전문가 시스템의 응용 분야를 다음 표에 설명된 10가지 범주로 나눈다. 예시 응용 프로그램들은 원래 헤이즈-로스의 표에 포함되어 있지 않았으며, 그중 일부는 그 이후에 등장한 것이다. 각주가 달리지 않은 응용 프로그램은 헤이즈-로스의 저서에 기술되어 있다. 또한 이러한 범주들은 전문가 시스템 응용 분야의 영역을 설명하는 직관적인 틀을 제공하지만, 엄격한 범주는 아니며 경우에 따라 하나의 응용 프로그램이 둘 이상의 범주에 해당하는 특성을 보일 수 있다.
{|class="wikitable" |- ! 범주 !! 다루는 문제 !! 예시 |- | 해석 || 센서 데이터로부터 상황 기술을 추론 || Hearsay (음성 인식), PROSPECTOR |- | 예측 || 주어진 상황에서 발생할 가능성이 높은 결과를 추론 || 조산 위험 평가[^68] |- | 진단 || 관찰 가능한 데이터로부터 시스템 오작동을 추론 || CADUCEUS, MYCIN, PUFF, Mistral,[^10] Eydenet,[^16] Kaleidos,[^17] GARVAN-ES1[^11][^12][^13] |- | 설계 || 제약 조건 하에서 객체를 구성 || Dendral, 주택담보대출 상담사, R1 (DEC VAX 구성), SID (DEC VAX 9000 CPU), 데이터베이스 설계 상담사[^69]
|- | 계획 || 행동을 설계 || 자율 수중 무인기 임무 계획[^70] |- | 감시 || 관찰 결과를 계획의 취약점과 비교 || REACTOR[^71] |- | 디버깅 || 복잡한 문제에 대한 점진적 해결책 제공 || SAINT, MATHLAB, MACSYMA |- | 수리 || 처방된 해결책을 적용하기 위한 계획 실행 || 유독 물질 유출 위기 관리 |- | 교육 || 학생의 행동을 진단, 평가 및 교정 || SMH.PAL,[^14] 지능형 임상 훈련,[^72] STEAMER[^73] |- | 제어 || 시스템 동작의 해석, 예측, 수리 및 감시 || 실시간 공정 제어,[^74] 우주왕복선 임무 관제,[^75] 복합재료 스마트 오토클레이브 경화[^76]
|}
Hearsay는 전문가 시스템 접근 방식을 통해 음성 인식을 해결하려는 초기 시도였다. 대체로 이 범주의 전문가 시스템은 그다지 성공적이지 못했다. Hearsay와 모든 해석 시스템은 본질적으로 패턴 인식 시스템으로, 잡음이 있는 데이터에서 패턴을 찾는다. Hearsay의 경우 오디오 스트림에서 음소를 인식하는 것이었다. 다른 초기 사례로는 소나 데이터를 분석하여 러시아 잠수함을 탐지하는 것이 있었다. 이러한 종류의 시스템은 규칙 기반 접근 방식보다 신경망 인공지능 솔루션에 훨씬 더 적합한 것으로 입증되었다.
CADUCEUS와 MYCIN은 의료 진단 시스템이었다. 사용자가 의사에게 하듯이 컴퓨터에 증상을 설명하면 컴퓨터가 의료 진단 결과를 반환한다.
Dendral은 유기 분자 식별에서 가설 형성을 연구하기 위한 도구였다. 이 시스템이 해결한 일반적인 문제—주어진 제약 조건 하에서 해결책을 설계하는 것—는 Digital Equipment Corporation(DEC) VAX 컴퓨터를 구성하는 영업사원이나 주택담보대출 신청 개발 등 비즈니스 영역에 적용된 초기 전문가 시스템 중 가장 성공적인 분야 중 하나였다.
SMH.PAL은 중복 장애를 가진 학생들의 평가를 위한 전문가 시스템이다.[^14]
GARVAN-ES1은 가반 의학연구소에서 개발된 의료 전문가 시스템으로, 병리 검사실의 내분비 보고서에 대해 자동화된 임상 진단 소견을 제공했다. 이 시스템은 국제적으로 일상적인 임상 사용에 들어간 최초의 의료 전문가 시스템 중 하나였으며,[^12] 호주에서 매일 진단에 사용된 최초의 전문가 시스템이었다.[^15] 이 시스템은 "C" 언어로 작성되었으며 64K 메모리의 PDP-11에서 실행되었다. 661개의 규칙이 있었으며, 이 규칙들은 인터프리터 방식이 아닌 컴파일 방식으로 처리되었다.
Mistral[^10]은 1990년대에 이탈리아의 Ismes가 개발한 댐 안전 감시를 위한 전문가 시스템이다. 자동 모니터링 시스템에서 데이터를 수집하여 댐의 상태를 진단한다. 첫 번째 사본은 1992년 이탈리아의 리드라콜리 댐에 설치되었다. 이후 이탈리아 및 해외의 여러 다른 댐(예: 브라질의 이타이푸 댐)에 설치되었으며, Eydenet이라는 이름으로 산사태 현장에,[^16] Kaleidos라는 이름으로 기념물에 설치되었다.[^17] Mistral은 CESI의 등록 상표이다.
같이 보기
- AI 겨울
- CLIPS
- 제약 논리 프로그래밍
- 제약 충족
- 지식 공학
- 학습 분류자 시스템
- 규칙 기반 기계 학습
인용 문헌
참고 문헌
[^1]: Jackson, Peter. 전문가 시스템 입문. Addison Wesley
[^2]: Leondes, Cornelius T.. 전문가 시스템: 21세기를 위한 지식 관리 및 의사결정 기술
[^3]: 의학에서의 컴퓨터 보조 진단에 대한 체계적 조사: 과거와 현재의 발전. (2019)
[^4]: APES(증강 프롤로그 전문가 시스템)를 이용한 수사
[^5]: 논리 프로그램으로서의 영국 국적법. (1986년 5월)
[^6]: Durkin, J. 전문가 시스템: 응용 사례 목록. Intelligent Computer Systems, Inc., Akron, OH, 1993.
[^7]: Gibson, Carl S.. VAX 9000 시리즈
[^8]: Kiryanov, Denis Aleksandrovich. 콘텐츠 집계에 사용되는 하이브리드 범주형 전문가 시스템. (2021-12-21)
[^9]: Feigenbaum, Edward A.. 제5세대. [[Addison-Wesley]]
[^10]: Salvaneschi, Paolo. 구조물 안전 모니터링 및 평가에 AI 적용
[^11]: 임상 실험실에서 갑상선 검사 해석을 위한 전문가 시스템
[^12]: 전문가 시스템: 작동 시스템과 연구 문헌
[^13]: 전문가 시스템 유지보수
[^14]: Hofmeister, Alan. SMH.PAL: 중증 장애 학생을 위한 치료 절차 식별 전문가 시스템.
[^15]: 전문가 시스템, 위험과 보상
[^16]: Lazzari, Marco. 산사태 위험 모니터링을 위한 의사결정 지원 시스템에 지리 정보 시스템 통합
[^17]: Lancini, Stefano. 전문가 소프트웨어를 이용한 고대 기념물 진단
[^18]: 전통적 프로그래밍. Pcmag.com
[^19]: AI의 짧은 역사. (2024-07-16)
[^20]: 의료 진단의 추론 기초. (1959)
[^21]: 컴퓨터 보조 의료 의사결정을 위한 모델 기반 방법. (1978)
[^22]: 의학과 컴퓨터: 변화의 약속과 문제점. (1970)
[^23]: 컴퓨터 기반 상담: 전해질 및 산-염기 장애. (1972)
[^24]: 의료 실무를 위한 새로운 정보 시스템. (1975)
[^25]: 급성 신부전의 컴퓨터 보조 관리 기반으로서의 결정 분석. (1973)
[^26]: 의료 진단에서의 인공지능. (1988)
[^27]: 의학에서의 부정확한 추론 모델. (1975)
[^28]: Internist-I, 일반 내과를 위한 실험적 컴퓨터 기반 진단 자문 시스템. (1982)
[^29]: Feigenbaum, Edward. 제5세대. Addison-Wesley
[^30]: Joseph, Staney. 인공지능의 다양성: 에드워드 파이겐바움이 전문가 시스템을 개발한 방법. (2023-10-30)
[^31]: Lea, Andrew S.. 진단의 디지털화: 20세기 미국의 의학, 정신, 기계. Johns Hopkins University Press
[^32]: Edward Feigenbaum, 1977. Hayes-Roth 등이 의역.
[^33]: Hayes-Roth, Frederick. 전문가 시스템 구축. Addison-Wesley
[^34]: George F. Luger와 William A. Stubblefield, Benjamin/Cummings Publishers, 규칙 기반 전문가 시스템 셸: 프롤로그 규칙 기반 전문가 시스템 셸을 사용한 코드 예제
[^36]: IBM PC - CHM 혁명
[^37]: Orfali, Robert. 필수 클라이언트/서버 생존 가이드. Wiley Computer Publishing
[^38]: Hurwitz, Judith. 똑똑한 것인가 운이 좋은 것인가: 기술 리더들이 기회를 성공으로 바꾸는 방법. John Wiley & Son
[^39]: Dunn, Robert J.. 일반 사용자를 위한 확장 가능한 전문 지식. (1985년 9월 30일)
[^40]: Karp, Richard M.. 컴퓨터 연산의 복잡성. New York: Plenum
[^41]: 컴퓨터가 여전히 할 수 없는 것. Cambridge, Massachusetts: The MIT Press
[^42]: AI 전문가 뉴스레터: W는 겨울(Winter)을 의미한다
[^43]: Leith, P.. 법률 전문가 시스템의 흥망성쇠. (2010)
[^44]: Haskin, David. 과대광고 이후 수년, '전문가 시스템'이 일부에게 성과를 거두다. (2003년 1월 16일)
[^45]: Romem, Yoram. 전문가 시스템의 사회적 구성. (2007)
[^46]: Voelker, Michael P.. 비즈니스가 규칙을 만든다. (2005년 10월 18일)
[^47]: SAP News Desk. SAP News Desk IntelliCorp, SAP EcoHub 참여 발표. LaszloTrack
[^48]: Pegasystems. 스마트 BPM에는 스마트 비즈니스 규칙이 필요하다
[^49]: Zhao, Kai. 2010 미래 정보 기술 및 관리 공학 국제 학술대회. IEEE. (2010년 10월 9-10일)
[^50]: Chung, Junyoung. 게이트 피드백 순환 신경망. PMLR. (2015-06-01)
[^51]: England, David C.. 해군 보급 센터에서의 유해 물질 관리를 위한 전문가 시스템. Naval Postgraduate School Monterey/CA. (1990년 6월)
[^52]: Smith, Reid. 지식 기반 시스템 개념, 기법, 사례. (1985년 5월 8일)
[^53]: [http://www.ccis2k.org/iajit/PDF/vol.4,no.1/9-Nabil.pdf Nabil Arman], Polytechnic University of Palestine, 2007년 1월, 스패닝 트리와 분리 집합을 이용한 동적 규칙 기반의 결함 탐지: ""
[^54]: Mettrey, William. 대규모 지식 기반 시스템 구축 도구 평가
[^55]: MacGregor, Robert. 지식 표현 향상을 위한 기술 분류기 사용. (1991년 6월)
[^56]: Berners-Lee, Tim. 시맨틱 웹: 컴퓨터에 의미 있는 새로운 형태의 웹 콘텐츠가 새로운 가능성의 혁명을 일으킬 것이다. (2001년 5월 17일)
[^57]: Hayes-Roth, Frederick. 전문가 시스템 구축. Addison-Wesley
[^58]: Kendal, S.L.. 지식 공학 입문. Springer
[^59]: Lenat, Douglas. 인공지능의 기초. MIT Press
[^61]: 전문가 시스템의 지식 업데이트에 대한 사용자 참여. (1997)
[^62]: 지식 발견 및 데이터 마이닝을 위한 소프트 컴퓨팅. (2008)
[^63]: 적합성과 일반화의 균형을 맞추는 새로운 데이터 마이닝 접근법을 이용한 당뇨병 예측. (2008)
[^64]: 데이터 기반 분류 규칙의 획득 및 점진적 수정. (1995)
[^65]: 전문가 시스템이 실패하는 이유. (1988)
[^66]: 지식 기반 시스템과 지식 관리: 친구인가 적인가?. (1999)
[^67]: 의학에서 컴퓨터 보조 진단의 미래를 위한 7가지 핵심 과제. (2019)
[^68]: Woolery, L.K.. 조산 위험 예측을 위한 전문가 시스템의 기계 학습
[^69]: Song, Il-Yeol. [1991] IEEE/ACM 전문가 시스템 프로그램 개발 및 관리 국제 학술대회 논문집. IEEE
[^70]: Kwak, S. H.. 자율 수중 차량 기술 심포지엄
[^71]: Nelson, W. R.. REACTOR: 원자로 진단 및 처리를 위한 전문가 시스템
[^72]: Haddawy, P. 지능형 임상 훈련 시스템
[^73]: Hollan, J.. STEAMER: 대화형 검사 가능 시뮬레이션 기반 훈련 시스템
[^74]: Stanley, G.M.. 실시간 공정 제어에서 지식 기반 추론 사용 경험. (1991년 7월 15-17일)
[^75]: Rasmussen, Arthur. INCO 전문가 시스템 프로젝트: 셔틀 임무 통제에서의 CLIPS. (1990년 2월)
[^76]: "복합재의 스마트 오토클레이브 경화"
관련 인사이트

디지털 트윈, 당신 공장엔 이미 있다 — 엑셀과 MES 사이 어딘가에
디지털 트윈은 10억짜리 3D 시뮬레이션이 아니다. 지금 쓰고 있는 엑셀에 좋은 질문 하나를 더하는 것 — 두 전문가가 중소 제조기업이 이미 가진 데이터로 예측하는 공장을 만드는 현실적 로드맵을 제시한다.

공장의 뇌는 어떻게 생겼는가 — 제조운영 AI 아키텍처 해부
지식관리, 업무자동화, 의사결정지원 — 따로 보면 다 있던 것들입니다. 제조 AI의 진짜 차이는 이 셋이 순환하면서 '우리 공장만의 지능'을 만든다는 데 있습니다.

그 30분을 18년 동안 매일 반복했습니다 — 품질팀장이 본 AI Agent
18년차 품질팀장이 매일 아침 30분씩 반복하던 데이터 분석을 AI Agent가 3분 만에 해냈습니다. 챗봇과는 완전히 다른 물건 — 직접 시스템에 접근해서 데이터를 꺼내고 분석하는 AI의 현장 도입기.