인공지능 스터디_251019

인공지능이란 무엇인가

by 바다반디

# 인공지능이란

데이터가 속할 수 있는 서로 다른 범주 또는 그룹을 의미한다.



# 인공지능의 정의:

학습, 추론, 지각, 판단, 언어의 이해 등 인간이 가진 지적 능력을 전자적 방법으로 구현한 것을 의미한다.



# 인공지능의 종류

1. 약인공지능:

특정 문제해결에 최적화된 인공지능을 말한다.


2. 강인공지능:

모든 영역에서 인간과 같은 수준의 인공지능을 의미한다.


3. 초인공지능:

인류 전체의 지능을 초월하는 인공지능을 말한다.



# 기술 발전에 따른 인공지능의 레벨

1. 단순 제어 프로그램

입력, 알고리즘, 출력으로 구성된 일반적인 프로그램을 의미한다.


2. 고전적 인공지능:

일반적인 프로그램에서 입출력의 조합수를 극단적으로 늘린 것을 의미한다.


3. 머신러닝

빅데이터를 이용해 자동으로 판단하는 것을 의미한다.


4. 딥러닝

입력 데이터 자체를 학습하여 스스로 판단하는 것을 의미한다.



# 구현 방식에 따른 인공지능의 분류

1. 지식 기반

저장된 지식을 바탕으로 인지, 학습, 추론, 행동의 4가지 단계를 거쳐 구현되는 방식을 의미한다.


2. 데이터 기반

데이터로부터 추출된 지식을 통해 스스로 판단하여 구현하는 방식을 의미한다.

머신러닝, 데이터마이닝 등이 대표적인 예시이다.



# 인공지능의 진화

1. 규칙 기반 모델 -> 지식기반 모델&전문가 시스템 -> 추천 시스템 순으로 발전했다.


2. 규칙 기반 모델

(1) 사람의 판단을 기계에게 맡기는 모델을 말한다.

(2) 프로그램의 규칙(분기)를 정교하게 만드는 방식으로, 초창기에 인공지능을 만들던 방법이다.

(3) 대표적 예시-챗봇

(키워드에 따른 규칙 집팝 또는 DB에 미리 정의된 키워드와 매칭되는 게 있는지 찾아 답변하는 방식이다.)

(4) 장점

1) 자연스러운 지식의 표현(If A, then B의 식으로 명확하다.)

2) 통일된 구조(각각의 규칙이 독립적인 조각이며 문법이 체계적이다.)

3) 지식과 과정이 분리되어 있다.

4) 사용자와의 상호작용이 원활하다.

(5) 단점

1) 규칙 간의 관계가 불분명하다.

(개별 규칙이 전체 전략에 어떻게 기여하는지 알기 어렵다.)

2) 빈번한 규칙의 수정이 요구된다.

3) 사용자의 질의 내용이 규칙을 벗어나면 오류가 발생한다.

(스스로 학습이 불가능하므로)


2. 지식 기반 모델

(1) 데이터베이스를 활용한다.

(2) 다음 조건을 충족해야 한다.

1) 문제 영역의 전문지식을 이용해 추론해야 한다.

2) 해당 지식은 전문가로부터 획득되어야 한다.

3) 전문적으로 고도의 현실적 문제를 대상으로 해야 한다.

4) 능력이 전문가와 동일해야 한다.

(3) 지식 추출에 대한 병목 현상, 지식 자체의 편향 등의 문제가 있다.


3. 추천 시스템

(1) 콘텐츠의 내용에 기반하거나 사람의 성향에 대한 정보를 추출한 후 개인화된 맞춤 서비스를 제공하는 시스템이다.

(2) 종류

1) 메모리 기반 추천

- 모든 데이터를 메모리에 저장해 직접 연산하는 협업필터링 방식의 추천 시스템

- 대표적으로 사용자 기반 추천, 아이템 기반 추천 등이 있다.

2)모델 기반 추천

- 머신러닝을 이용해 평점을 예측하여 사용자에게 개인화된 상품을 추천한다.



# 인공지능 서비스의 개발

1. 인공지능 서비스의 개발 과정

(1) 데이터 수집

(2) 데이터의 저장, 처리

(3) 프로그램 제작

(4) 서비스의 배포



# 머신 러닝 기초

1. 기본 개념

(1) 클래스

데이터의 종류를 의미한다. 즉, 데이터가 속할 수 있는 서로 다른 범주 또는 그룹을 의미한다.

(예시)

단백질을 자외선 흡광도(nm)와 분자 크기(kDa)에 따라 분류하세요.

이 경우 클래스는 흡광도, 분자 크기 두 가지이다.


(2) 분류

클래스 중 하나를 구별해 내는 문제를 분류라고 부른다.

이 때 2개의 클래스 중 하나를 고르는 문제를 2진 분류라고 한다.


(3) 특성

데이터의 특징을 의미한다. 하나의 특성은 여러 개의 클래스로 이루어져 있을 수 있다.


2. k-최근접 이웃 기법의 정의

질의에 해당하는 상위 k개의 가장 근접한 이웃을 찾는 최적화 알고리즘을 말한다. n개의 데이터가 주어질 때 어떤 요청에 대한 응답으로 n개의 데이터 중 가장 비슷한 것을 고르는 문제이다. 이 때 데이터는 d차원의 평면/공간 위에 놓인다.


2. k-최근접 이웃 기법 과정

(1) 여러 데이터베이스를 준비한다.

(2) 이 데이터베이스의 각 특성을 x, y, z축으로 놓는다.

(3) 특성 1, 특성 2를 가진 개체를 좌표평면 위에 표시한 그림을 '산점도'라고 한다.

(k-최근접 이웃 기법에는 멧폴플립, scikit-learn 등의 클래스가 쓰이지만, 우선은 프로그래밍 자체보다는 인공지능 이론에 포커스를 맞추고자 하기 때문에 구체적인 코딩 방법은 건너뛰겠다.)


3. 머신러닝의 종류

(1) 지도 학습

정답(타깃)이 있는 경우의 학습을 의미하며, 이 경우 알고리즘은 정답을 맞히는 것을 학습한다.


(2) 비지도 학습

타깃 없이 입력 데이터만 사용하는 알고리즘으로, 정답을 맞추는 것이 아니라 데이터를 파악하거나 변형하는 데 활용된다.


4. 데이터

(1) 훈련 세트

훈련을 시키기 위한 데이터를 의미한다. 즉, 러닝을 시키기 위한 데이터를 의미한다.


(2) 테스트 세트

머신러닝 알고리즘의 성능을 평가하기 위한 데이터를 말한다. 주로 훈련 세트에서 따로 떼어내어 별도로 준비한다.


(3) 샘플링 편향

훈련 세트와 테스트 세트에는 샘플이 골고루 섞여 있어야 하는데, 그렇지 않고 샘플이 한쪽으로 치우쳐 있는 경우를 의미한다.

(예시)

A와 B를 분류하는 알고리즘에서 훈련 세트에는 A만, 테스트 샘플에는 B만 들어가 있는 경우



# 인공 신경망

1. 예측자의 원리

질문 -> 생각 -> 대답

이걸 어떻게 '생각을 할지' 미리 입력해 두는 것이 일반적인 프로그램의 원리이다.


2. 분류자를 학습시키는 방법

(예시)

X, Y를 분류하기 위해 y=Ax라는 선형함수를 만들었다.

그런데 y=Ax라는 선형함수에 의해 X, Y가 분류되지 않는다면 어떻게 할까?

이 경우 △A만큼 선형함수의 기울기를 움직여야 한다.

y=(A+△A)x

이 때 머신러닝이란, 분류자의 기울기를 △Ax값만큼 움직이는 것을 의미한다.

인공지능은 여러 개의 분류자를 활용해 대상을 분류한다.


3. 인공신경망의 작동 원리

(1) 활성화 함수와 시그노이드 함수

1) 활성화 함수

입력 신호를 받아 특정 분계점을 넘어서는 경우 출력신호를 생성해 주는 함수를 의미한다.


2) 시그노이드 함수

활성화함수의 가장 단순한 형태는 직선형의 계단 함수이다.

하지만 자연계에서 대부분의 활성화 함수는 계단 함수가 아닌, 곡선형의 시그노이드 함수이다.

시그노이드 함수의 수식은 다음과 같다.

y=1/(1+e^(-x))


(다음에 계속...)

월요일 연재