인공지능의 발전

[인공지능] 인간의 지능을 기계가 인공적으로 구현하는 것

  • 인공지능을 의미하는 AI는 Artificial Intelligence의 약자이다.
  • 인공지능이란 용어가 처음 사용된 것은 1956년 미국 다트머스 대학이다.

 

인공지능의 발전 과정
단계 특징
전문가 시스템
(논리/규칙 기반)
컴퓨터의 계산 능력을 이용해
논리적 추론 방법을 가르침으로써
특정 분야의 데이터베이스를 구축하여
전문가를 만들려고 하였음
인공신경망
(연결 기반)
신경망 이론이 등장하였으나
컴퓨터의 성능이 낮았으며,
훈련시킬 데이터도 부족하였음
기계 학습
(통계 기반)
많은 양의 데이터 기반으로
패턴을 인식하는 기계 학습이 시작되었으나,
최적화 방식으로 문제를 해결하기 때문에
다른 분야에 적용하기 어려움
딥러닝
(인공신경망 기반)
컴퓨터의 연산 능력이 크게 향상되고
빅 데이터를 활용하면서
인공신경망을 기반으로 컴퓨터 스스로 학습하는
딥러닝 방식이 적용됨

 


 

[기계 학습] 알고리즘을 연구하고 구축하는 기술로, 컴퓨터가 스스로 학습하며 문제를 자동으로 해결하는 것

기계 학습은 학습시키는 방법에 따라 지도 학습, 비지도 학습, 강화 학습으로 나눌 수 있다.

 

 

[지도 학습] 입력값과 결괏값을 같이 주고 학습시키는 방법

 


 

[비지도 학습] 입력값만 이용해 학습하며, 데이터의 특성을 분석하여 분류하는 학습 방법

 


 

[강화 학습] 현재의 상태에서 어떤 행동을 취하는 것이 최적인지를 학습하는 것, 보행 로봇이나 자율 주행차에 쓰임

 


 

[딥러닝] 인공신경망을 이용해 스스로 사람처럼 학습하는 기계 학습의 한 분야

신경 세포(뉴런) 인공 신경 세포(인공 뉴런)
전기 신호를 전달 받음. 입력값 $x$ $x_1$, $x_2$
입력 받은 전기 신호를 종합 함수 $f$ $a=f(x_1$, $x_2)=x_1w_1+x_2w_2$
종합된 신호가 일정한 수준
(임곗값)을 초과하는지 판단
함수 $g$ $
y = g(a) = 
\begin{cases} 
0 & (a \leq 0) \\ 
a & (a > 0)
\end{cases}
$
전기 신호를 전달함. 출력값  $y$ $0$ 또는 $a$

 


 

 

[튜링 테스트] 기계와 자연어로 소통했을 때 인간과 구별할 수 없다면 인공지능을 지녔다고 인정함

2014년 6월 '유진 구스트만'이라는 챗봇이 통과했다고 발표됨

 


 

인공지능과 수학

[명제] 참 또는 거짓을 명확히 구분할 수 있는 문장이나 식

[진릿값] 명제의 참과 거짓(참이면 T나 1, 거짓이면 F나 0)

 

논리 연산자
연산자 기호
NOT ~ 명제 p가 참이면 ~p는 거짓, p가 거짓이면 ~p는 참
AND 두 명제 p와 q가 모두 참이면 p∧q는 참, 나머지 경우는 거짓
OR 두 명제 p와 q 중에서 하나라도 참이면 p∨q는 참, 모두 거짓인 경우는 거짓
XOR 두 명제 p와 q의 진릿값이 다르면 p⊕q는 참, p와 q의 진릿값이 같으면 거짓

 

 

[진리표] 명제 p, q의 진릿값이 주어질 때, 진릿값을 정리한 표

진리표
p q ~p p∧q p∨q p⊕q
T T F T T F
T F F F T T
F T T F T T
F F T F F F

 


 

[순서도] 문제 해결 절차를 각 단계별로 구분하고, 이들 상호 간의 관계를 알아보기 쉽게 기호를 사용하여 그림으로 나타낸 것

기호 기호의 설명 보기
순서도의 시작과 끝을 나타낼 때 사용한다.
각종 연산이나 데이터 이동 등의 처리 기능을 나타낸다.

자료를 비교 판단하여 조건에 따라 경우를 나눌 때 사용한다.
데이터를 문서로 출력하는 기능을 나타낸다.
기호를 연결하여 처리의 흐름을 나타내는 선이다.

 


 

텍스트 자료의 표현

[정형화된 텍스트 자료] 정해진 형식으로 분류되어 있는 자료(나이, 성별, 이름)

[비정형화된 텍스트 자료] 특별한 형식을 가지지 않는 자료(보고서, 댓글, 설명서)

정형화된 텍스트 자료 비정형화된 텍스트 자료
규격화된 표로 나타낼 수 있는 자료이다. 규격화된 표로 나타낼 수 없는 자료이다.
규격화되어 삽입, 수정 등 자료의 관리가 쉽다. 규격화되지 않아 자료를 가공하기 어렵다.
원하는 정보를 찾아 해석하기 쉽다. 규칙성을 찾기 쉽지 않아 해석하기 어렵다.
자료를 규격화된 상태로 수집하기 어렵다. 대량의 자료를 빠르게 수집할 수 있다.

 

 

[벡터] 순서를 정하여 수를 나열한 것, $\vec{a}$

[성분] 벡터 $\vec{a}=(a_1,\ a_2,\ \cdots,\ a_n)$일 때, 각각의 $a_1,\ a_2,\ \cdots,\ a_n$, $|\vec{a}|=\sqrt{{a_1}^2,\ {a_2}^2,\ \cdots,\ {a_n}^2}$

두 벡터 사이의 거리는 $|\vec{a}=\vec{b}|=\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+\cdots+(a_n-b_n)^2}$

 

 

자료를 수학 기호로 나타내기
연관 단어 사용감 색상 가격 제품 상태
언급 횟수(회) 1120 230 780 188 50
(1120, 230, 780, 188, 50)

 

 

문장을 벡터로 나타내기
배송 가격 포장 상태
빠르다 느리다 싸다 비싸다 좋다 엉망이다
1 -1 1 -1 1 -1
가격은 저렴한데 배송이 느리네요: (-1, 1, 0)

 

 

단어를 벡터로 나타내기
속성 사람 비둘기 비행기
생명체인가? 1 1 0
하늘을 나는가? 0 1 1
영장류인가? 1 0 0
  (1, 0, 1) (1, 1, 0) (0, 1, 0)

 

 

[텍스트 마이닝] 비정형화된 자료로부터 자연어 처리 기술과 문서 처리 기술을 적용하여 의미 있는 정보를 추출하는 기술

  • 기존의 방법들이 분석할 수 없었던 자료를 분석함으로써 다양한 새로운 가치를 창출할 수 있음
  • 무분별한 개인 정보의 수집 및 활용으로 사생활 침해 등의 문제를 일으킬 수 있음
  • 소셜 미디어 데이터의 경우 몇몇 영향력 있는 소수의 의견이 과도하게 작용해 데이터의 편향성이 생길 수 있음

 

 


 

텍스트 자료의 처리

벡터의 덧셈
$\vec{a}$ $\vec{b}$ $\vec{a}+\vec{b}$
$(a_1, \, a_2, \, \cdots, \, a_n)$ $(b_1, \, b_2, \, \cdots, \, b_n)$ $(a_1+b_1, \, a_2+b_2, \, \cdots a_n+b_n)$
(3, 1, 4) (3, 4, 1) (3+3, 1+4, 4+1)
= (6, 5, 5)

 

 

벡터의 뺄셈
$\vec{a}$ $\vec{b}$ $\vec{a}-\vec{b}$
$(a_1, \, a_2, \, \cdots, \, a_n)$ $(b_1, \, b_2, \, \cdots, \, b_n)$ $(a_1-b_1, \, a_2-b_2, \, \cdots a_n-b_n)$
(3, 1, 4) (3, 4, 1) (3-3, 1-4, 4-1)
= (0, -3, 3)

 

 

벡터의 실수배
$\vec{a}$ $2\vec{a}$
$(a_1, \, a_2, \, \cdots, \, a_n)$ $(2a_1, \, 2a_2, \, \cdots, \, 2a_n)$
(3, 1, 4) (6, 2, 8)

 

 

텍스트 자료의 시각화 방법
막대그래프 단어의 출현 빈도수를 나타낼 때 유용함.
원그래프 상대도수로 나타낸 자료 표현에 유용함.
단어 구름 단어의 출현 빈도수에 따라 글자 크기를 달리하여 나타내는 그래프

 

 

단어를 벡터로 나타내는 과정 구현 과정 예시
1. 필요한 벡터의 성분 개수를 정한다. 모든 단어를 성분이 2개인 벡터로 나타낸다.
2. 벡터의 성분에 부여하는 값의 범위를 정한다. 모든 벡터의 성분은 -3과 3 사이의 값으로 한다.
3. 각 단어를 무작위로 벡터에 대응시킨다. 강아지 → (1, 1)
멍멍이 → (1.5, 0.8)
4. 다양한 문장을 학습시켜 문장에서 동시에 출현하는 단어인 경우
    해당 단어의 벡터 성분의 값을 해당 벡터 사이의 거리가
    가까워지도록 조정한다.
[1회 학습]
- 입력된 문장: 멍멍이는 강아지야.
- 벡터 성분 값 조정: 멍멍이 → (1.5, 0.9)

[2회 학습]
- 입력된 문장: 강아지를 멍멍이라 해.
- 벡터 성분 값 조정: 멍멍이 → (1.4, 0.9)