수강 정정으로 겨우 들어와서 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.
'강의노트 > 인공지능' 카테고리의 다른 글
[인공지능] 6주차: Local search algorithms (0) | 2021.04.06 |
---|---|
[인공지능] 5주차: Heuristic search (0) | 2021.03.30 |
[인공지능] 4주차: 탐색 (0) | 2021.03.23 |
[인공지능] 3주차: Task environment, Agent type (0) | 2021.03.16 |
[인공지능] 2주차 (2): Agent (0) | 2021.03.10 |