요즘에 구글 어시스턴스, 빅스비, 지니 등 많은 인공지능 기술들이 각광받고 있다.
이러한 인공지능이 어느순간부터 눈길을 받았던 것일까? 처음부터 '아, 이거다!'하며 찬양을 받았을까?
1950년대에 최초로 인공지능이라는 개념이 생겼으며 발전하다 1980년대에 인공지능의 빙하기가 찾아온다.
왜 잘 발전하던 인공지능이, 최근에 각광받는 인공지능이 빙하기를 맞이하게 되었을까?
바로 하드웨어와 각종 리소스의 부족 때문이다. 지금처럼 연산속도가 빠른 하드웨어와 충분한 양의 리소스가 없었기 때문에
많은 연산과 데이터를 필요로하는 인공지능 분야에서 눈에 띄는 성과가 나올 수 없었기 때문이다.
최근에는 비약적인 하드웨어의 발달, 매일 생산되는 방대한 데이터들이 뒷받침되고 있기에 다시 인공지능의 봄이 오고 있는 것이다.
인공지능은 이미 어느정도 우리 생활에 들어와있다. 빅스비, 로봇청소기 또는 무인자동차 등 정말 많은 형태로 존재한다.
그렇다면 과연 우리 곁에 있는 인공지능의 정의는 무엇일까? 사람같은 프로그램? 스스로 판단하는 프로그램?
많은 정의들이 존재할 수 있다. 두산백과의 정의는 다음과 같다.
인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술
보통의 사람들이 인공지능을 떠올릴 때 이러한 모습들을 그린다. 맞는 말이다. 하지만 인공지능은 한 줄로 표현할 수 있을 정도로 단순하지 않으며 그 범위 역시 매우 광활하다.
우리는 인공지능을 정의할 때 4가지로 나누어 정의를 한다.
인공지능의 정의
1. System that think like human
2. System that act like human
3. System that think rationally
4. System that act rationally
각각의 특징은 다음과 같다.
1. System that think like human
2. System that act like human
사람처럼 행동하는 시스템, 과거에는 2000년대에는 인공지능이 30%의 사람을 5분동안 사람이라고 착각하게 만들 수있다고 평가하였다.
이 때 나온 인공지능 판별기가 있는 데 튜링 테스트이다. 이를 부르는 다른 말은 유명한 'Imitation Game'이다.
튜링 테스트는 인간이 벽 뒤에 있는 것과 채팅을 하는 데 인간인지 인공지능인지 판단을 해야하는 것이다.
만약 일정 수준을 통과하게 되면 인공지능으로 인정하는 방식이다.
하지만 이런 테스트 방법에는 문제점이 있었다. 재현 가능하지 않고 건설적, 수학적이지 않다는 점이다.
3. System that think rationally
효율적으로 생각하는 시스템, 이 또한 문제점을 가지고 있다.
가. 지식이 100% 있는 것이 아니면 비공식적인 지식을 받아들여 논리적으로 말하는 것은 쉽지 않다.
나. 문제를 원칙적으로 해결할 수 있는 것과 실제로 푸는 것에는 큰 차이가 있다. 실제 풀 수 있는 문제에도 추론 단계에 따라 리소스 소모가 다르다.
4. System that act rationally
효율적으로 행동하는 시스템, 이는 올바른 일을 하는 것이다. Doing the right thing 이라고 하는 데 그럼 right thing은 어떤 것인가?
Right thing이란 that which is expected to maximize goal achievement, given the available information 이다.
즉, 주어진 정보로 최고의 목표를 달성하는 것을 올바른 일 Right thing이라고 부른다.
여기서 물리적 한계가 일어날 수 있다. 예를 들어 NP-Hard 문제를 푼다고 가정하자. 우리는 원하는 답을 찾을 수 없을 것이다.
앞으로 인공지능에 대하여 이야기할 때 4번의 정의를 기반으로 할 것이다.
Agent
인공지능 AI를 뜻하는 다른 말로 Agent가 있다. Agent는 환경(environment)에서 센서로 입력(perception)받아서 다시 환경으로 행동(Actions)한다.
Agent function은 f : P ∗ → A. 로 표기할 수 있다.(p : perception, a : actions) 이 중 Rational agent라 함은 다음과 같다.
A rational agent chooses whichever action maximizes the expected value of the performance measure given the percept sequence to date.
Rational agent는 성능 측정치를 최대화 하는 행동을 선택한다는 것이다. 여기서 4번 정의와 달라진 점은 'performance measure'가 추가되었다는 점이다.
예를 들어 무인자동차를 만들 때 성능 측정치 기준이 있을 것이다. 안정성, 효율성 등이 있을 것이고 그 값들이 최대가 되게끔 행동한다는 것이다.
따라서 Rational은 omniscient(전지적), clairvoyant(천리안), perfect(완벽)하지 않다.
이런 Agent를 모델링하는 방법에 PEAS가 있다.
PEAS
Performance measure / Environment / Actuators / Sensors
예를 들어 자동차를 설계한다고 해보자!
Performance measure : 안전성, 연비, 가속력 등
Environment : 도시에서 달릴건지, 오프로드에서 달릴건지
Actuators : 엑셀, 브레이크, 경적 등
Sensors : 비디오, 가속계, 엔진 센서, GPS 등
Intelligent agent (IA == AI)
Intelligent agent는 artificial intelligence (AI)와 동일하다. IA의 클래스는 5가지의 종류가 있다.
1. simple reflex agents
가장 기본적인 클래스이다. 센서로 환경을 인식한 후 주어진 룰에 따라 행동을 한다.
ex) 주행중인데 내 앞에 차가 있으니 안전거리를 확보한다.
2. model-based reflex agents
simple agents에 일종의 메모리가 추가된 클래스이다. 과거의 경험을 바탕으로 더 올바른 판단을 한다.
ex) 주행중인데 내 앞에 차가 초보운전이므로 브레이크를 자주 밟을 것이다. 급정거에 주의한다.
3. goal-based agents
2번 클래스에서 룰이 Goal(목표)로 바뀌었다. 목표를 최우선시 한다.
ex) 빠르게 출근해야한다. 앞에 초보운전을 앞질러서 간다.
4. utility-based agents
5. learning agents
가장 완성형인 클래스이다. 계속 학습을 하면서 발전해나간다.
인공지능의 정의에 대하여 알아보았다. 컴퓨터공학에서 인공지능을 다룰 때 가장 중요한 것은 Doing the Right thing이다.
performance measure(성능 측정치)가 최대가 되게끔 해야하며 그 과정이 optimization 즉, 최적화 되어야한다.
사진 출처
· [튜링테스트]
https://ko.wikipedia.org/wiki/%ED%8A%9C%EB%A7%81_%ED%85%8C%EC%8A%A4%ED%8A%B8
· [Intelligent Agent]
https://en.wikipedia.org/wiki/Intelligent_agent
'컴퓨터공학 > 인공지능' 카테고리의 다른 글
모델 정의 (0) | 2018.12.24 |
---|---|
파이썬, 아나콘다 및 텐서플로우 설치 방법 (0) | 2018.10.28 |
카카오톡 챗봇 만들기 [intro] (0) | 2018.09.20 |
문제 정의 (0) | 2018.09.14 |
댓글