본문 바로가기

[인공지능] 2주차 (1): AI 개요 및 역사

수강 정정으로 겨우 들어와서 1주차는 없다.

 

- 인간처럼 생각/행동할 수 있는가?

인간도 똑똑할 수도 있고 멍청할 수도 있다 -> "인간에 비해 똑똑하다"고 판단할 게 아니라 별도의 기준이 필요하다

 

- Rationality: 합리적으로 생각/행동할 수 있는가?

Rational agent: 요새는 AI를 Agent라 부름(Intelligent agent, Rational agent)

 

우리끼리는 자연어가 통하는데 사실은 모호하다.

사람은 말의 의미를 100% 정확히 알 필요 없고 대충 알아도 의사소통은 가능 -> 기계는?

 

행동은 환경이 있고 그 안에서 움직이는 것 (혼자서 하는 건 행동이 아니다)

내가 어떤 상황에 있는지 센서로 받아들여 환경을 파악한 후 행동한다

 

 

문제풀이, 행동결정: 신호(또는 기호)처리

 

기호 처리 vs. 신호 처리

환경과 상호작용

신호 입력

센서 입력, 인지(perception) (sensory signal)

신호 출력: 신체 조작, 행동(action) (control signal)

 

sensing하고,

sensing한 상황에 맞는 행동을 결정하고,

행동을 (제어 신호로) 실행하고,

행동 종료 후 결과를 sensing하고

다시 그 상황에 맞는 행동을 하고, ...

 

신호는 벡터로 표현됨

 

행동은 어떻게 결정하는가? -> 기호/신호 처리

인식하고 행동하는 부분은 신호처리로 할 수밖에 없음

유일하게 의사결정파트는 기호처리로 한다(전통적 방식). 최근에는 Neural network(신호 처리)로 함

 

 

기호 처리(아주 전통적인 방식)

기호로 내 행동을 결정하는 것이 바람직하다.

행동을 결정하려면 논리적 판단이 있어야 함 (무엇이 옳은 행동인가)

그러려면 지식이 있어야 함

지식은 기호 형태로 써져 있어야 함

-> 기호 형태로 써진 지식을 기반으로 "무엇이 가장 옳은 것인가?"를 판단한다.

근데 이게 문제가 많아서 요새는 신호 처리

 

행동 결정(또는 문제-수학적인 것이 아닌 일상적인- 해결)의 mechanism을 무엇으로 할 것인가?

출력은 행동 중 하나로 도출된다.

 

 

sensory data는 정보의 농도는 낮고 양은 많음

raw data의 특징이기도 한데, 주어진 데이터에서 나에게 필요한 '정보'의 양은 전체 데이터 양에 비해 적음

-> 의사결정에 꼭 필요하다고 생각되는 signal만 가려내서 간결하게 기호로 표현함

 

신호 -> 기호

Ex) $On(o1,\; o2)$

$o1$과 $o2$의 관계는 '$On$'이다 ($o1$이 $o2$의 위에 있다)

$o1$이 $o2$보다 위 또는 아래에 있다는 sensory data를 $On(o1,\; o2)$으로 변환한 것

 

$On(X,\; Y),\; Clear(X) \;->\; Unstack(X,\; Y)$

$X$가 $Y$ 위에 있고 $X$ 위에 아무것도 없으면 $X$를 $unstack$ 할 수 있다

(unstack이라는 행동 위한 지식은 이미 있다)

적용 가능 조건: $o1$이 $o2$ 위에 있어야 함 + $o1$ 위에 아무것도 없어야 함

 

'Unstack 하는 게 더 좋다'는 행동 결정

-> 근데 이 행동을 실제로 하려면 $Unstack(X,\; Y)$이라는 symbol을 다시 control signal로 바꿔줘야 됨

 

기호처리는 너무 구질구질행..

기호들로 추론하고 행동을 하기까지의 과정이 너무 길다

= 기호의 세계에서 '심사숙고' 후에 행동을 결정함

 

행동에는 precondition이 있을 수 있다. 즉 행동을 하기 위해 충족되어야 하는 특정 조건이 존재할 수 있다.

'이 행동을 하려면 이 조건이 충족되어야만 한다'는 "지식"

 

 

 

신호 처리: Neural network

신호를 기호로 바꾸어 처리하는 게 아니라 신호를 직접 처리함

 

학습이 필요함: 어떤 상황에서 어떤 행동을 취해야 하는지 = 입력 신호로부터 출력 신호를 도출하는 mechanism

오랜 시간에 걸쳐 학습하고, 학습한 후에는 빠르게 결정함

 

sensory signal을 signal processing 하고 control signal을 도출함

 

 

계획 수립: Goal condition까지 할 일련의 행동을 결정함

- Precondition: "어떤 조건이 만족될 때 이 동작을 사용할 수 있는가?"에 관한 배경지식 (이미 갖고 있는 것)

- Effect: 행동의 결과

 

간단한 사고는 신호 처리, 고도의 사고가 필요한 건 기호 처리가 필요함,

 

 

 

혼합/통합적 방법

신호처리/기호처리 다 필요한 경우

 

신호 처리

저수준의 인식, 행동 제어

fast-responsive action, 일상적 행위 구현

 

 

기호 처리

고수준의 task planning, 의사 결정(Decision making)

빠른 응답보다는 응답의 질이 더 중요한 경우

Ex) 최단 경로, 질의 응답

 

기호처리는 전통적인 방식이나 아직까지는 꼭 필요함

 

 

 

Sub-symmetric approach = 청소로봇

Symmetric approach = 자비스

Hybrid/Integrated approach = 채피

로 비유할 수 있다.

 

 

 

역사

1956

처음으로 인공지능의 개념 제시

 

1960 ~ 1970 초

- 탐색 기술: 목표 상태를 찾는 것만이 아니라 거기까지 도달하는 최단 경로 = 가장 짧은 계획 = 최적의 행동 sequence

그러나 탐색 기술이 발전해도 인간에 가까운 행동이 나오진 않았다.

간단한 퍼즐 등의 $"Toy problem"$은 탐색 기술로 해결됐지만, 탐색을 한다고 해서 의사가 변호사가 될 수 없듯이 인공지능이 인간에 가까운 행동(인간의 일상적 행동)을 할 수는 없었다.

매 단계에서 이 행동을 할 지 저 행동을 할 지 고민하는 게 답이 아니었다.

-> 탐색이 아닌 지식 기반이 되어야 한다: 모든 것에는 "지식"이 있어야 한다.

 

1970 후 ~ 1980 초

- 그냥 인간의 지식을 그대로 때려넣는다

: Human expert를 대신하는 Knowledge-based system

인공지능이 '문제를 푸는' 게 아니라 그 일을 오랫동안 한 사람의 지식을 그냥 주입하는 것

인간이 갖고 있는 고도의 지식을 일종의 '데이터베이스'에 저장하고,

필요할 때 그 데이터베이스에서 지식을 꺼내 컴퓨터에 투입

->  생활에 필요한 지식을 갖춘, 생활할 수 있는 "인간"과는 거리가 멀어졌다

 

1980 후 ~ 1990 초

- Neural network: 지식을 때려넣는 게 아니라 스스로 학습하자, '뇌를 구현하자'

필기체 인식, 패턴 인식 등은 잘 하지만 "의미있는 행동"은 불가능

 

1990 후 ~ 2000

- 어쨌든 "행동"으로 보여준다

AI 대신 "Intelligent agent"라는 용어를 사용

 

2010 ~ 현재

Neural network가 다시 주목받음

자율주행 자동차, Intelligent robot, etc.