2022. 3. 14. 20:55ㆍMajor`/인공지능
인공지능? (Artificial Intelligence)
- 인간이 보유한 지능을 인공적으로 구현한 것
인공지능 ⊃ 머신러닝 ⊃ 인공신경망 ⊃ 딥러닝
AI 판별 기준 (Like Human & Rationality)
1) "Like Human"
"인간처럼 생각할 수 있다"
- 두뇌의 활동
- Cognitive science / Neuroscience
"인간처럼 행동할 수 있다"
- 자연어 대화 / 자연스러운 인식&행동
- Turing Test
※ Turing Test
- 거의 인간과 동일한 지능적 행동을 보여주는 기계의 능력에 대한 테스트
- 판단자(C)는 반대편에 존재하는 객체가 기계인지 인간인지 판단해야 한다
Turing Test는 "Thinking Humanly"가 아닌 "Acting Humanly"관점에서 정의가 되었다
물론 "Acting Rationally"는 아니다
인간처럼 "생각"하기는 힘들지만 인간처럼 "행동"은 할 수 있다
예를 들어서 어떠한 영어문장이 존재하면 "이 단어에는 어떤 의미이고 이를 통해서 전체 문장은 ~~ 구나"라고 인간처럼 "생각"하는 것은 Agent입장에서 굉장히 힘들다
하지만 Agent가 어떠한 (영어, 한글)쌍을 매우 많이 보유한다면 그냥 영어 - 한글 Mapping시켜서 인간처럼 "행동"은 할 수 있을 것이다
2) "Rationality"
"합리적으로 생각할 수 있다"
- 고대 그리스 철학자 Aristotle
- 논리학(Logic) 기초
"합리적으로 행동할 수 있다"
- 최선의 결과를 얻을 수 있도록 행동
- Rational Agent
- 매 순간 최선의 결과를 위해 행동하는 에이전트
Agent는 어떠한 환경안에서 신호/기호를 처리함에 따라서 행동을 한다
Agent가 어떠한 행동을 하게되면 환경은 반드시 변하게된다
>> Agent는 주어진 환경안에서 문제를 해결하거나 행동을 결정할 때 신호 or 기호 처리를 통해서 나아간다
The Main Topics of AI
Sensing | Thinking | Acting |
감각을 통해서 인식한 정보를 개념적 표현으로 변환 - 컴퓨터 비전 - 음성 인식 - 자연어 처리 |
sensing을 통해서 얻은 개념적 표현들을 조작 - 지식 표현 - 문제 해결/계획 - 학습 |
sensing / thinking을 통해서 어떠한 과정들을 물리적 행동으로 수행 - 로보틱스 |
기호 처리 vs 신호 처리
1) 환경과 상호작용
- Agent는 "sensor"를 통해서 환경과 상호작용을 한다
- 이 과정에서 "sensor"를 통해서 자신(Agent)이 현재 환경에서 어떤 존재로 있는지 인식하게된다
→ 신호 입력
- 그렇게 "sensor"를 통해서 들어온 신호를 통해서 해당 환경에 맞는 행동을 결정하고 그 행동을 "제어 신호"를 통해서 실행한다
→ 신호 출력
>> 여기서 신호는 어떠한 벡터값(수치)로 표현된다
Agent는 신호를 인식하고 그에 알맞은 행동을 하고, 신호를 인식하고 그에 알맞은 행동을 하고 .... 이러한 과정을 반복한다
2) 의사결정 구조
- Agent가 "sensor"를 통해서 어떤 신호를 인식하면, 그 신호에 맞는 행동을 결정하거나 문제를 풀어야 한다
→신호 처리 / 기호 처리
>> Agent가 "sensor"를 통해서 인식하고 행동하는 부분은 신호처리를 통해서 수행하지만, 행동을 결정할 때는 신호 처리 or 기호 처리를 통해서 수행한다
>> 그리고 행동을 결정하는 과정 중 하나인 의사결정 부분은 기호처리로 수행한다 / 최근에는 Neural Network(신호 처리)로 수행하는 경향이 있다
▶ 신호 처리
"sensor"로부터 Input(신호)가 들어오면 해당 신호(수치값)을 계산 후, Output(제어 신호)를 통해서 행동을 수행한다
- 속도가 굉장히 빠르다
- 동일한 input들에 대해서 output역시 동일하다 (1:1)
▶ 기호 처리
"sensor"로부터 Input(신호)가 들어오면 해당 신호들을 "기호화"해야 하고, "기호화"된 여러 신호들 중 환경에 맞는 기호를 선택하고, Output(제어 신호)를 통해서 행동을 수행한다
- 속도가 느리다
- 복잡한 구조를 가지고 있다
- 동일한 input들에 대해서 output이 여러가지가 존재할 수 있다 (매 순간 Agent의 환경이 항상 동일하지는 않기 때문 & 1:N)
비-기호 처리 방법 :: "신호 처리"
- 문제 해결을 위해서 신호를 직접 처리
- 환경과의 상호작용을 가장 중요시한다
- 신경망 (Neural Networks)
- 유전자 알고리즘 (GA)
- 유전자 프로그래밍 (GP)
기호 처리 방법 :: "기호 처리"
- 전통적인 인공지능 접근법
- 문제 해결에 필요한 많은 지식들을 "기호화"한 채로 선언되어 존재한다
- 논리적인 추론을 통해서 문제를 해결한다
혼합/통합적 방법 :: "기호 + 신호 처리"
1) Low Level
- 실시간으로 수행되는 반응이 빨라야 하는 행위 & 일상적 행위
- 걸어가기 / 장애물 피하기 / 컵 들기 / ....
- 신호 처리 방법을 적용
2) High Level
- 난이도가 높은 논리적 추론이 필요한 문제들
- 목표 지점까지 최단 경로 / Q & A / 진단과 약 처방 / 주식 투자 / ....
- 추론(Reasoning), 탐색(Search), 계획(Planning) 과정이 필요
- 기호 처리 방법을 적용