Introduction to Artificial Intelligence

oyoi·2024년 3월 22일
post-thumbnail

1 What is AI and why do we need to study it?

인공지능은 기계가 사람처럼 생각하고 행동하게 만드는 기술이다. AI는 기계가 스스로 주변 상황을 감지하고 추론하고 사고하고 행동할 뿐만 아니라, 이성을 갖도록 하는 것이 목표이다.

/

사람의 뇌가 원시 데이터로부터 지혜를 도출하는 과정은 다음과 같다.

데이터 -(처리)-> 정보 -(인지)-> 지식 -(패턴추출)-> 이해 -(추론)-> 지능

사람의 뇌는 주변 환경을 분석하는 능력이 뛰어나지만 "여러 곳으로부터 동시에" "방대한 양"의 데이터가 "정리되지 않은 무질서한 형태"로 들어올 때 데이터로부터 지식을 도출하고 데이터의 변화에 따라 "끊임없이 수정하고 보완하는" 작업을 "신속하고 정확"하게 처리하는 데에 미숙하다. 이러한 작업을 처리하는 것이 바로 우리가 AI를 배우는 이유이다.

2 Applications of AI

  • 컴퓨터 비전
    : 이미지나 비디오를 비롯한 시각적인 데이터를 처리하는 시스템을 개발하고 연구하는 분야다. (e.g., 구글 리버스 이미지 검색)

  • 자연어 처리
    : 텍스트를 이해하는 기술을 연구하는 분야로 자연어 문장을 통해 기계와 대화할 수 있게 하는 분야다.

  • 음성 인식
    : 음성 언어를 듣고 이해하는 기술을 연구하는 분야다. (e.g., 아이폰 시리)

  • 전문가 시스템
    : 조언을 하거나 의사 결정을 하는 시스템에 관련된 AI 기술을 연구하는 분야다.

  • 게임
    : 다양하게 활용되며, 특히 사람과 경쟁하는 지능형 에이전트 설계에 많이 사용된다. (e.g., 알파고)

  • 로보틱스
    : 로봇 시스템에는 AI 관련 기술을 여러가지 조합해 사용한다.

3 Branches of AI

  • 머신 러닝과 패턴 인식
    : 데이터를 보고 학습할 수 있는 모델과 소프트웨어를 개발한다. 개발한 모델은 새로운 데이터가 들어왔을 때 기존에 파악한 패턴과 비교하여 결과를 예측한다.

  • 논리 기반 AI
    : 수리 논리를 기반으로 프로그램을 실행하는 기법ㅂ으로 특정 분야에 대한 사실과 규칙을 논리적인 문장으로 표현한다. (e.g., 패턴 매칭, 언어 파싱, 의미 분석)

  • 탐색
    : 수많은 경우의 수를 검토한 후 최적의 경로를 선택한다.

  • 지식 표현
    : 주변 세상에 대한 사실을 시스템이 이해할 수 있는 형태(주로 수리 논리 언어)로 표현한다. 온톨로지(ontology)와 밀접한 분야이다.

  • 계획
    : 최소 비용으로 최대 효과를 내는 최적의 계획을 수립하는 방법을 연구하는 분야다.

  • 휴리스틱
    : 주어진 문제에 대한 최적의 해결 방안은 아니지만, 당장 문제를 해결하는 데 현실적으로 효과적인 기법이다. 문제에 대한 정확한 해답이 아닌, 문제를 해결하기 위해 취해야 할 접근 방법에 대한 합리적 추측을 제공한다.

  • 유전 프로그래밍
    : 프로그램끼리 교배해서 가장 뛰어난 프로그램을 선택하는 방식으로 문제를 해결하는 기법이다.

### 4 Turing test

5 Rational agents

많은 학자들은 AI를 이성적인 에이전트로 만들기 위해 노력한다. 이성이란, 주어진 상황에서 옳고 그림을 판단할 수 있는 능력이다. 이때 옳다는 것은 어떻게 정의하느냐는 에이전트의 목적에 따라 다르다. 그들은 지능을 갖추고 옳음에 대한 각자만의 정의에 따라 입력된 정보를 행동으로 변환한다.

입력 => { 센서 -> 전처리기 -> 에이전트 기능 -> 액추에이터} => 동작

/

올바른 추론 능력은 이성의 중요한 구성 요소다. 올바른 추론 능력을 갖추어야만 항상 정확한 결론을 도출할 수 있다. 하지만 어떤 행동이 옳은지 명확히 판별할 수 없을 때는 추론만으로 이성적인 행동을 정의할 수 없다.

6 Building an intelligent agent

지능적인 에이전트가 주변 환경과 상호 작용하는 과정을 그림으로 표현한 것이다.

### 7 Installing Python 3 on various operating systems

8 Installing the necessary Python packages

NumPy:
http://docs.scipy.org/doc/numpy-1.10.1/user/install.html
SciPy:
http://www.scipy.org/install.html
scikit-learn:
http://scikit-learn.org/stable/install.html
matplotlib:
http://matplotlib.org/1.4.2/users/installing.html’

profile
오이

0개의 댓글