문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 인공지능 (문단 편집) === 기술 개발 현황 === 사실 주어진 문제를 해결할 수 있다면 기법과 기술을 가리지 않고 다 쓴다. 특성상, 이론적 개연성이 전혀 없는 기술도 적용하여 결과물의 품질이 우수하다면 인정된다. 아래는 이러한 기술, 기법 중 유명한 것들의 일부만을 나열한 것이다. '''기본 기술''' * [[미로탐색 알고리즘]] 로봇([[마이크로 마우스]])이나 [[자율주행차]]가 인접 지형지물을 인식하고 특정 목적지까지 길을 찾아가는 알고리즘으로 [[기계학습]] 없이도 동작 가능한 가장 기초적인 인공지능 알고리즘이다. 상용제품에서는 당연히 더욱 복잡한 기계학습알고리즘이 활용된다. * [[퍼지 함수|퍼지 이론]](Fuzzy Theory): 자연상의 모호한 상태, 예를 들어 자연 언어에서의 애매모호함을 정량적으로 표현하거나, 그 반대로 정량적인 값을 자연의 애매모호한 값으로 바꾸기 위해 도입된 개념. 예를 들어 인간이 "시원하다" 라고 느낄 때 그 온도가 얼마인지를 정해 사용하는 것이다. * [[패턴인식]](Pattern Recognition) : 그림, 음원, 글 등의 각종 선형 및 비선형 데이터 안에서 특정한 패턴을 찾아내는 것을 의미한다. 즉, 쉽게 풀어서 말하자면 컴퓨터가 사람과 유사하게 데이터를 판단하여 어떤 데이터인지 구분해주는 기술이라고 생각하면 된다 * [[기계학습]](Machine Learning): 이름 그대로 컴퓨터에 인공적인 학습 가능한 지능을 부여하는 것을 연구하는 분야이다. 자세한 내용은 해당 문서를 참조. * [[인공신경망]](Artificial Neuron Network): [[기계학습]] 분야에서 연구되고 있는 학습 알고리즘들 중 하나. 주로 패턴인식에 쓰이는 기술로, 인간의 뇌의 뉴런과 시냅스의 연결을 프로그램으로 재현하는 것이다. 간단하게 설명하자면 '가상의 뉴런'을 '시뮬레이션'한다고 볼 수 있는 것으로서(실제 뉴런의 동작구조와 완전히 같은 것은 아니다.), 일반적으로 신경망 구조를 만든 다음 '학습'을 시키는 방법으로 적절한 기능을 부여한다. 현재까지 밝혀진 지성을 가진 시스템 중 인간의 뇌가 가장 훌륭한 성능을 가지고 있기 때문에 뇌를 모방하는 인공신경망은 상당히 궁극적인 목표를 가지고 발달된 학문이라 볼 수 있다. 역시 자세한 내용은 [[기계학습]] 문서를 참조. 2020년대에 들어서는 컴퓨터의 계산 능력이 무서울 정도로 발전하고 있고, 그에 따라 쏟아지는 데이터의 양과 종류도 많아지고 있어 비정형 데이터[* 간단히 생각하면 수치로 표현이 잘 안되는 데이터라고 생각하면 쉽다.]를 처리하는 능력이 뛰어난 인공신경망 기술이 '''모든 인공지능 기술 중에서 가장 각광받고 있고 앞으로도 더 각광받게 될 기술'''로 대우받고 있다. 이쯤되면 인공지능에 관심이 많은 사람들은 눈치를 쳤겠지만, 수많은 인공신경망을 연결해서 계층 형태로 겹겹이 쌓은 인공신경망을 '''심층 인공신경망(Deep Neural Network)'''이라고 부르며, * 이게 바로 우리가 흔히 알고 있는 '''[[딥러닝]]'''이다. * '''[[유전 알고리즘]]'''(Genetic Algorithm): 자연의 진화 과정, 즉 어떤 세대를 구성하는 개체군의 교배(CrossOver)와 돌연변이(Mutation)과정을 통해 세대를 반복시켜 특정한 문제의 적절한 답을 찾는 것. 대부분의 알고리즘이 문제를 수식으로 표현하여 미분을 통해 극대/극소를 찾는 것이 반해, 유전자 알고리즘은 미분하기 어려운 문제에 대해 정확한 답이 아닌 최대한 적합한 답을 찾는 것이 목적이다. * [[인공생명체]](Artificial Life): 말 그대로 프로그램에 단순한 인공지능이 아닌 실제 살아있는 유기체처럼 스스로 움직이고 생활하기 위한 능력을 부여하는 것. 실제 생명체를 갖고 실험하기에는 너무 시간이 오래걸리기 때문에 가상의 시스템(환경)을 통해 생명체에 대한 연구를 하기 위한 목적이다.. '''AI 서비스 형태/기술별 특성''' * [[비디오 게임]](video game): 비디오 게임에 등장하는 적은 원시적인 인공지능이다. 가만히 있거나 플레이어의 움직임에 따라 반응해서 거기에 맞춘 공격이나 방어, 회피 등을 구사하는 판단이 마치 살아 움직이는 생명체의 성격과 비슷하다. 당연히 [[PC게임]]에서도 간단한 인공지능이 활용된다. * 전문가 시스템(Expert System): 전문가 시스템은 방대한 지식 체계를 규칙으로 표현하여, 데이터를 입력하면 컴퓨터가 정해진 규칙에 따라 판단을 내리도록 한다. 간단히 말해서 '''무지막지하게 많은 IF THEN ELSE'''로 구성되어 있는 시스템이다. 어떻게 보면 무식한 방법이지만 룰의 종류가 많으면 많을수록 정확도는 높아지게 된다. 특성상 제한된 상황에서 제한된 특정 물건을 인식하거나 행동할때는 문제가 되지 않지만 규칙에 없는 상황이나 물체에 대한 유연한 대응이 불가능하다. * BDI 아키텍처(BDI Architecture): 인간이 생각하고 행동하는 과정을 Belief(믿음), Desire(목표), Intention(의도)의 세가지 영역으로 나누어 이를 모방하는 소프트웨어 시스템의 구성방법을 말한다. 사람은 자신이 알고 있는 진실을 바탕으로 자신이 이루고자 하는 다양한 목표를 달성하기 위하여 현재 수행할 수 있는 여러가지 행동들 중에서 가장 적합한 것을 골라 현재의 수행하는 행위의 의도를 결정하는 방법으로 구성된다. * 믿음(Belief): 프로그램이 알고 있는 믿음이란 환경내에서 참인 것을 의미하지 않는데, 프로그램이 환경에 대한 관측을 통해 알게 된 사실을 진실이라고 표현하며, 이는 관측의 영역 밖에서 사실이 변경되는 경우 프로그램은 알 수 없지만, 자신의 정보 내에서는 여전히 변경되기 전의 사실을 진실로 받아들이기 때문에 믿음이라는 표현을 사용한다. 예를 들어 탁자 위에 컵이 놓여 있는 것을 보고 프로그램은 컵이 탁자위에 있다는 사실을 알게 된 뒤 다른 방향을 주시하는 사이에 인간이 탁자의 컵을 다른 곳에 옮기는 경우, 여전히 프로그램은 컵이 탁자위에 있다는 진실만을 알고 있게 된다. 이러한 진실은 논리 정보로서 프로그램에 저장되게 되며, 이를 Predicate(1차원 논리 명제), Relation(관계 명제), Symbolic Data(기호화 된 자료) 등으로 부르는 표현으로 작성된다.(이는 다른 알고리즘도 유사하게 활용하는 경우도 존재한다.) 이러한 명제들은 프로그램이 알고 있는 정보들이 모여있는 World Model(세계 모델)을 구성하여 프로그램이 다음 행동을 결정하기 위한 자료구조를 형성한다. * 목표(Desire): 프로그램은 그 특성상 어떠한 서비스나 작업을 수행하기 위하여 작성되며, BDI 아키텍처에서는 이러한 작업 목표를 목표의 형태로 저장, 활용하게 된다. 목표는 어떠한 상태로 도달하고자 한다는 의미로 Belief와 동일한 Predicate의 형태로 서술되며 프로그램은 동시에 달성하고자 하는 다수의 목표를 보유하는 경우도 있다. 실제로 BDI 아키텍처를 구현하는 관점에서 목표를 Goal이라고 표현하는 경우가 많은데, 이러한 Goal은 에이전트 기반 아키텍처의 주요 구성요소와 동일하게 활용되는 단어이다. 이는 BDI 아키텍처로 구현되는 인공지능 프로그램이 자율적이고 반응적으로 행동을 수행하는 에이전트 적인 요소를 기본적으로 지니고 있는 것을 의미한다. * 의도(Intention): 프로그램이 어떠한 목표를 수행하고자 하면, 그 목표에 적합한 행위를 선택하여야 한다. 목표에 적합한 행위를 선택하고 이것이 실제 환경에 수행가능한 데이터와 결합(Binding)하면 의도라고 표현한다. 이러한 목표에 대한 행동 방법은 작업계획(Plan) 이라는 형태로 구현되는데, 일반적으로 BDI 아키텍처의 인공지능을 구현하고자 하는 경우 BDI 아키텍처 기반 프레임워크를 이미 보유한 상태로 개발한다고 했을때 작업계획을 구현하는 것에 대부분의 비용이 들어간다. 작업계획은 해당 작업계획이 달성할 수 있는 목표와 해당 목표를 달성하기 위한 행위의 집합, 해당 행위를 수행하기 위한 사전조건(Precondition) 등으로 구성된다. 목표를 수행하기 위한 행위에는 또 다른 세부 목표(Sub-Goal)이 포함되는 경우도 존재하며, 이러한 세부 목표는 다시 특정 행동계획과 결합하여 의도를 구성한다. 따라서 의도는 필연적으로 트리나 리스트의 형태인 자료구조를 구성하게 되는데, 이에 따라 일반적으로 구현하는 관점에서 의도 구조체(Intention Structure)라고 부르기도 한다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기