-이상치(outlier)는 다른 데이터와 크게 달라서 다른 메커니즘에 의해 생성된 것이 아닌지 의심스러운 데이터를 말함.

-이상치는 잡음 데이터(noise data)와는 다르며 잡음은 관측을 잘못하거나 시스템에서 발생하는 무작위적 오류(random error)등에 의해 발생하는 것으로 이상치를 탐지할 때 제거되어야 할 요소

-잡음은 관심이 없어 제거할 대상이지만, 이상치는 관심 대상

-이상치 감지는 신규성 감지(novelty detection)와 관련된 개념인데, 두 용어를 같은 의미로 사용하기도 함

-이상치는 점 이상치, 상황적 이상치(contextual outlier), 집단적 이상치(collective outlier)로 구분할 수 있음

 

[ 점 이상치 ]                               [집단적 이상치]

 

-점 이상치는 다른 데이터와 비교하여 차이가 큰 데이터를 말함

-상황적 이상치는 상황에 따라 정상일 수도 있고 비정상일 수도 있는 데이터에 대해서 상황에 맞지 않는 데이터. 예를 들어, 현재 성인의 키가 175cm인 데이터는 정상이지만 300년전 175cm는 이상치임. 집단적 이상치는 개별 데이터는 정상처럼 보이지만 여러 데이터를 모아서 보면 비정상적으로 보이는 데이터 집단을 말함

-네트웍 트래픽 데이터에서 특정 웹서버에 대한 서비스 요청 메시지 각각은 정상이지만, 짧은 시간에 갑작스럽게 급증한 서비스 요청 메시지들은 denial-of-service attack, DOS attack 일 수 있음

-이상치 검출 방법 : 지도학습, 군집분석, 반지도학습 등

-사용 분야 : 카드 사용 패턴 분석, 시스템 에러 진단, 급격한 증가 패턴, 특이사건 등

□ 

 

 

 

'2. 인공지능 > 2-3. 기계학습' 카테고리의 다른 글

2-3-8. k-근접이웃 알고리즘  (0) 2018.01.24
2-3-7. 결정트리  (0) 2018.01.22
2-3-5. 기계학습 문제(차원축소)  (0) 2018.01.21
2-3-4. 기계학습 문제(회귀)  (0) 2018.01.13
2-3-3. 기계학습 문제(분류)  (0) 2018.01.09

차원축소는 고차원의 데이터를 정보의 손실을 최적화하면 저차원으로 변환하는 것을 말한다. 데이터는 여러개의 속성값들로 구성되는데 각 속성을 하나의 차원으로 대응시킬 수 있다. 시각적으로 2,3차원의 데이터를 표현할 수 있지만, 그 이상의 고차원 데이터를 직관적으로 이해 할 수 있게 표현하기 어렵다. 한편 차원이 커지면 차원의 저주(curse of dimensionality)라는 문제를 만난다. 차원의 저주에는 여러가지 현상이 있는데, 그 중 하나는 차원이 커질수록 데이터간 거리가 유사해지는 경향을 보이는 것이다. 

다시말하면, 변수의 수가 늘어나 차원이 커지면서 발생하는 문제를 차원의 저주라고 한다. 차원이 커지면 왜 문제인지, 고려해 보면~

먼저 A라는 변수 1개가 있는 데이터를 가지고 있다고 하자. A가 가질 수 있는 값은 1, 2, 3이다. 이 경우 데이터를 채우기 위한 최소한의 데이터 건수는 3건이다.

 

다음으로 A, B 라는 변수 2개가 있는 데이터를 가지고 있다면 A와 B가 가질 수 있는 값은 각각 1,2,3이다. 이러한 경우 데이터를 채우기 위한 최소한의 데이터 건수는 9건이다

다음 그림은 A,B,C 라는 변수 3개가 있는 데이터를 가지고 있다면, A,B,C가 가질수 있는 값은 각각 1,2,3 이다. 이 경우 데이터를 채우기 위한 최소한의 데이터 건수는 27건이다

이와같이 차원이 증가하면 그 데이터 공간이 커지기 때문에 이를 채우기 위한 데이터 건수도 증가하게 된다.

이는 6명의 사람에 대하여 데이터를 수집한다고 하면 먼저 변수 A 만 수집하면 3가지 조건에 6명을 배정하는 것이므로 6/3=2=200%의 공간을 채울 수 없다. 추가로 변수 B까지 데이터를 수집했다고 한다면 6/9=0.66=66%의 공간을 채울 수 있다. 이번에는 변수 A,B,C에 대한 데이터를 수집한다면 6/22=0.22=22%의 공간만 채울수 없다

 

차원의 저주의 또 다른 현상은 차원이 커질수록 학습에 필요한 데이터가 기하급수적으로 증가한다는 것이다 분류문제는 특정 값이 어떤 부류에 속하는 것인지 결정하는 것으로, 결귝은 데이터 공간의 각 부분공간이 어떤 부류에 속하는 것인지 결정하는 것이다. 이러한 결정을 위해서는 각 부분 공간에 해당하는 학습 데이터가 있어야 한다.

위의 그림과 같이 1,2,3차원 공간에서 각 차원을 일정 크기 구간으로 분할한 부분 공간을 보여준다. 1차원 공간이 N개의 구간으로 나누어진다면, 2차원 공간은 개의 사각형 부분공간으로 나누어지고, 3차원 공간은 개의 입체 공간으로 나누어진다. N차원이 되면 개의 부분 공간이 만들어져 부분 공간의 갯수가 기하급수적으로 많이 필요해진다.

따라서. 차원을 축소하여 데이터를 사용하는 방법을 많이 사용하는데 차원을 축소하는 여러가지 방법들중 대표적인 것이 주성분 분석(Principal component analysis, PCA) 방법이 있다. 주성분 분석은 데이터를 projection 시킬때 가장 큰 분산을 갖는 축을 찾아서 소수의 축들을 기준으로 데이터를 표현하여 데이터를 저차원으로 축소해 표현한다.

이들 축은 데이터에 대한 공분산 행렬의 고유값이 큰 고유벡터에 해당한다. 많은 2차원 데이터 또는 값을 직선상에 수직으로 정사영시켜 직선상에서의 위치로 표현한다

 

 

 

 

 

회귀 문제는 출력값이 실수인 함수를 찾는 지도 학습 문제임. 주행거리에 따른 중고 자동차의 판매 가격 데이터가 있다고 하면 학습 데이터에 없는 주행거리에 대한 판매 가격을 알고 싶다면 어떻게 할까.. 회귀는 이러한 문제를 해결하기 위해 학습 데이터를 가장 잘 근사(approximation)하는 함수를 찾고, 이 함수를 이용하여 주어진 입력에 대한 예측값을 결정한다.

회귀함수로는 일차식, 다항식, 가우스 함수의 선형 결합식 등 여러 형태를 사용할 수 있다. 어던 함수를 사용하는가에 따라 목적함수에 대한 오차를 줄일 수 있는 정도가 결정된다. 고차함수와 같이 복잡도가 높은 함수를 사용할 때 학습 데이터에 오차를 줄일 수 있다. 적당한 복잡도의 함수를 사용하여 회귀를 하는것이 좋음.

 

 

[모델 복잡도와 적합정도]

 

위 그림은 함수 모델의 복잡도에 따른 학습데이터에 적합 정도를 보여주고 있다. 첫번째 그림은 상수값이 상수로 되어 있는 경우로 점으로 표현된 학습 데이터를 맞출수 없는 상황으로, 함수 모델이 너무 단순해서 부적합이 되는 경우임. 두번째 그림은 오차는 있으나 비교적 학습데이터를 잘 근사하는 경우하 볼 수 있으며 정적합 이라고도 한다. 세번째 그림은 복잡도가 높은 고차원함수를 사용하여 학습데이터에 대한 오차를 포함되었다면, 실제 데이터에 대해서는 오히려 좋지 못한 예측을 할 수도 있다. 즉, 복잡도가 너무 높은 함수 모델을 사용해서 부적합하게 학습한 상황이다.

모델 복잡도를 높이지 않으면서 오차를 줄이는 회귀 모델을 찾기 위해 목적 함수에 오차 항과 모델 복잡도 항을 갖는 다음과 같은 목적 함수를 사용하기도 한다.

 

목적함수 = (오차 항) + t( 모델 복잡도 항)

 

여기에서 오차 항은 차이의 제곱 합 이나 차이의 절대값 합  이 될 수 있고, t 는 오차항과 모델 복잡도 항의 상대적인 중요도를 결정하는 가중치이다. 이 목적함수에서 모델 복잡도 항이 벌점으로 작용한다.

모델 복잡도가 올라가면 오차를 줄일 수 있지만, 모델 복잡도항이 벌점으로 작용을 하기 때문에, 적당한 복잡도의 회귀함수가 선택될 수 있다.

회귀 기법중 binary classification 문제에 대해 적용되는 로지스틱 회귀가 있다. 학습데이터는 물론 입력과 출력의 조합으로 구성되고 출력은 0과 1로 나타난다. 이때 함수  모델 f(x)는 다음과 같이 로지스틱 함수(logistic function)가 사용된다

 

위 식에서 지수함수의 지수는 파라미터 와 입력 x의 선형결함을 표현한 것이다

출력값이 1에 가까우면 입력 데이터 x를 부류 1로, 0에 가까우면 부류 0 으로 판단한다. 그래프는 생략하겠다.

로지스틱 회귀함수를 학습할때 다음 목적 함수 가 최소가 되도록 하는 모델의 파라미터 는 gradient descent method를 사용한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

분류는 데이터들을 정해진 몇 개의 부류로 대응시키는 문제.

분류 문제에서 주어지는 학습 데이터 : 입력 데이터 와 부류값 출력 의 쌍으로 구성된 집합.

이 학습 데이터의 입출력 대응관계를 만족시키는 y=f(x)를 찾음(f(x)는 함수 또는 규칙)

 

분류에 사용될 수 있는 여러가지 학습 기법 : 결정트리(decision tree) 알고리즘, 서포트벡터머신(support vector machine, SVM), 다층 퍼셉트론 신경망, 에이다부스트(AdaBoost), 임의 숲(random forest), 확률 그래프 모델 등.

 

학습된 함수 f(x)를 사용하여 데이터를 분류하는 프로그램을 classifier라 함

classifier 는 입력 데이터가 분포하는 공간을 부류별로 분할

학습은 각 부류를 나누는 결정 영역(decision boundary)을 찾고, 새로운 입력이 주어지면 결정영역에 따라 해당 위치에 대응하는 부류(별표)를 출력

classifier는 학습 데이터에 대해서 잘 맞도록 학습되지만 학습 데이터는 해당 문제영역에서 발생하는 모든 데이터가 아닌 샘플링된 일부 데이터이다. 그러므로 학습 데이터에 잘 맞는 classifier라도 새로운 데이터를 올바로 분류할 것이라는 확보는 없음.

 

예를 들면, 과일의 색을 기준으로 과일이 사과인지 귤인지 분류해보자

색이 오렌지색이면 귤로 빨간색이면 사과로 분류해 놓는다. 다음으로 빨간색 과일을 보여주면 사과라고 결과를 도출한다.

그런데,, 특성 추출 단계에서 특성을 과일의 색으로 할 것인지, 과일 크기로 할 것인지, 아니면 과일을 만질때의 감촉으로 할 것인지 정해야 하는데, 이것을 특성추출이라고 한다. 과일 색, 크기, 감촉 모두를 특성으로 추출 할 수도 있다.

만약 훈련용 데이터가 무한대로 많다면 이들 모두를 특성으로 만들 수도 있지만 대부분 훈련용 데이터가 부족하고 모두를 특성으로 만드는 것이 효율적이지도 않다. 이렇게 특성을 추출하는 것을 특성 설계제작, 즉 Feature Engineering이라고 함

 

학습방법의 일반화(generalization) : 오류가 있는 학습 데이터가 사용된다면 실제로 잘못된 결정영역을 찾을 수도 있으므로 학습에 사용되지 않은 데이터에 대해서 분류를 잘하는 calssifier가 좋은 것

 

 

[Clasification]

 

 

입력층(input layer)과 출력층(output layer) 사이에 다중의 은닉층(hidden layer)을 포함하는 인공 신경망(ANN: Artificial Neural Network).

심층 신경망은 다중의 은닉층을 포함하여 다양한 비선형적 관계를 학습할 수 있다. 그러나 학습을 위한 많은 연산량과 과하게 학습하여 실제 데이터에 대해 오차가 증가하는 과적합(overfitting), 기울기 값의 소실 문제(vanishing gradient problem) 등의 문제가 발생할 수 있다. 2000년대 이후 드롭아웃(drop-out), ReLU(Rectified Linear Unit), 배치 정규화(batch normalization) 등의 기법이 적용되면서 딥 러닝(deep learning)의 핵심 모델로 활용되고 있다.

심층 신경망알고리즘에 따라 비지도 학습 방법(unsupervised learning)을 기반으로 하는 심층 신뢰 신경망(DBN: Deep Belief Network), 심층 오토인코더(deep autoencoder) 등이 있고, 이미지와 같은 2차원 데이터 처리를 위한 합성곱 신경망(CNN: Convolutional Neural Network), 시계열 데이터 처리를 위한 순환 신경망(RNN: Recurrent Neural Network) 등이 있다.

[네이버 지식백과] 심층 신경망 [Deep Neural Network, 深層神經網] (IT용어사전, 한국정보통신기술협회)

 

 

2. Learning Rate(학습계수)

학습계수는 Gradient descent에서 간격을 어느정도로 할지를 결정하는것으로 너무 크면 결과점을 지나치거나 밖으로 나가는 경우가 생기고 너무 작으면 결과값까지 가는데 너무 많은 시간이 걸리므로 적절한 수치를 정해야 함. 경험 + 지식 

 

 

3. Overfitting(과적합, 과학습)

Clasifier 성능을 평가할 때는 학습에 사용되지 않은 데이터를 사용해야 하는데, 이 데이터들을 테스트 데이터(TEST DATA)집합이라고 한다. 학습데이터에 대한 오류를 최소화하기 위해서는 너무 세밀하게 학습을 시키면, 학습데이터에 대한 clasifier의 분류 성능은 개선되는 반면, 테스트데이터에 대해서는 오히려 성능이 떨어질 수 있다. 이러한 상황을 Overfitting이라고한다. 

즉, 데이터를 분류(Classification)하거나 또는 데이터에 인접한 그래프를 그리는 것(Regression) 

 

 

그러나, 학습데이터 부족으로 학습이 정확히 안되어 트레이닝데이터에 가깝게 가지 못하거나, 트레이닝 데이터에 그래프가 너무 정확히 들어맞아서 발생하는것을 under fitting, over fitting 이라 한다 

 

 

오버피팅은 너무 정확히 학습 되기때문에 샘플데이터는 거의 100%의 정확도를 나타내지만 다른 데이터를 사용하면 정확도가 급격히 떨어진다

 

오버피팅의 해결

1) 충분한 학습 데이터

2) 정규화(Regulation)

3) Feature의 수를 감소

 

※ 불균형 데이터 문제

특정 부류에 속하는 학습 데이터의 갯수가 다른 부류에 비하여 지나치게 많은 경우. A부류의 데이터가 전체의 99%를 차지한다면, 어떤 분류기가 입력에 상관없이 무조건 A부류를 출력한다고 해보자. 이 분류기의 정확도는 99%이다. 이런 경우에는 정확도로 분류기 성능을

 

평가하는 것이 무의미하다. 이와 같이 학습데이터의 부류 분표가 고르지 못해서 생기는 현상을 분균형 데이터 문제라고 함.

 

문제를 해결하기 위한 방법

1. 가중치를 고려하여 정확도를 결정하는 것. 빈도가 많은 데이터에 작은 가중치를 부여하고, 빈도가 적은 데이터에는 높은 가중치를 부여한다. 빈도가 적은 데이터가 틀리면 더 많은 틀린 것처럼 간주하고, 반대의 경우에는 틀리더라도 조금 틀린 것처럼 보이도록 하는 것.

2. 빈도가 높은 부류의 학습 데이터를 그대로 사용하지 않고, 그 중 일부만 무작위로 표본추출해서 사용하는 것임. 즉, 빈도가 높은 부류의 갯수를 줄여서 균형을 맞추도록 함. 이 경우는 학습 데이터를 일부 버리는 셈이 됨.

3. 빈도가 낮은 부류의 학습 데이터를 인공적으로 더 만드는 것임.  이때 새로운 데이터는 기존의 데이터를 사용하여 만든다. 이를 위한 대표적인 방법이 SMOTE(Synthetic Minority Over-Sampling Technique)알고리즘.

이는 먼저 빈도가 낮은 부류의 학습 데이터로부터 데이터를 하나 선택한다. 선택한 데이터 x의 k-근접이웃(k-NN, k-nearest neighbor)들을 낮은 부류의 학습 데이터로 부터 찾는다. k-근접이웃은 가장 가까운 데이터부터 k번째 가까운 것까지의 데이터를 의미한다. 아래 그림은 3-근접이웃까지 고려한 예이다. k-근접이웃들 중에서 무작위로 데이터 y를 선택한다. x와 y를 연결한 선 위에서 무작위로 선택한 위치를 새로운 데이터 z로 생성한다. 새로운 데이터 z의 위치를 수식으로 나타내는 다음과 같다. 여기서는 는 0과 1사이의 값임

 

 

 

데이터 x를 기준으로 한 3-근접이웃 중에서 y가 선택되었을때 x와 y를 연겨한 선 위에서 무작위로 선택한 점 z를 새로운 데이터로 생성한다.

 

 

 

 

딥러닝의 역사는 크게 1세대의 최초 인공신경망 퍼셉트론(Perceptron), 2세대 다층(Multilayer) 퍼셉트론, 3세대 현재의 딥러닝으로 구분할수 있음

기계학습(Machine Learning)

- 컴퓨터가 스스로 학습하여 예측모형을 개발하는 인공지능의 한 분야이며, 문제해결에 적합해 보이는 특징을 원시 데이터(original data)에서 추출해서 만든 특징 벡터(feature vector)를 입력 데이터로 사용. 따라서, 기계학습 방법의 성능은 이 특징 벡터의 품질에 영향을 크게 받음

딥러닝(Deep Learning)

- 인간의 신경망의 원리를 이용한 심층신경망(Deep Neural Network)이론을 이용한 기계학습방법. 인간은 컴퓨터가 아주 짧은 시간에 할 수 있는 계산도 쉽게 해낼 수 없는 반면, 컴퓨터는 인간이 쉽게 인지하는 사진이나 음성을 해석하지 못하는데 이는 인간의 뇌가 엄청난 수의 뉴런과 시냅스의 로 이루어져 있기 때문이다. 각각의 뉴런은 기능이 보잘것 없지만 수많은 뉴런들이 복잡하게 연결되어 병렬연산을 수행함으로서 컴퓨터가 하지 못하는 음성, 영상인식을 수월하게 할 수 있는 것이며 딥러닝은 이 수많은 뉴런과 시냅스의 병렬연산을 컴퓨터로 재현하는 방법인 것이다.

- 다수의 층이 있는 신경망을 사용하여 입력으로 주어진 원시 데이터로부터 적합한 특징을 자동으로 추출하고 문제해결을 위한 학습을 동시에 수행하는 기법으로서 원시데이터를 그대로 입력으로 받아들여 신경망 안에서 특징 추출이 이루어지고 입력에 대응하는 목표 출력이 나오도록 학습이 이루어짐.

전통적인 신경망에서는 원시 데이터로 부터 문제에 적합한 특징을 별도로 추출한 다음, 이 특징을 신경망의 입력으로 사용. 즉, 특징 추출을 하는 부분을 별도로 개발해야 함 .

 

원시데이터 -> 특징추출(특징벡터)-> 신경망 -> 출력                          원시데이터 -> 딥러닝 신경망 -> 출력

                   [전통적인 신경망]                                                                   [딥러닝 신경망]

 

 

'2. 인공지능 > 2-4. 딥러닝' 카테고리의 다른 글

2-4-2. Back Propagation  (0) 2018.02.11

 

일반화 선형 모델

(Generalized linear

models, GLM)

선형 회귀(linear regression)의 발전된 형태로, 다양한 가능성 분산과 연결 함수를 지원해 분석가가 더 효과적으로 데이터를 모델링할 수 있도록 한다. 그리드 탐색(grid search)으로 강화된 GLM은 전통적인 통계와 가장 발전된 머신러닝의 조합이다.

일반화 선형 모형은 종속변수가 정규분포하지 않는 경우를 포함하는 선형모형의 확장이며 glm()함수를 사용한다. 

  • 종속변수가 범주형변수인 경우 : 이항변수( 0 또는 1, 합격/불합격, 사망.생존 등)인 경우도 있으며 다항변수(예를 들어 poor/good/excellent 또는 공화당/민주당/무소속 등)인 경우 정규분포 하지 않는다.
  • 종속변수가 count(예를 들면 한 주간 교통사고 발생 건수, 하루에 마시는 물이 몇잔인지 등)인 경우. 이들 값은 매우 제한적이며 음수가 되지 않고 평균과 분산이 밀접하게 관련되어 있고 정규분포하지 않는다.

의사결정 트리

(Decision trees)

각 속성들이 포함되어 있는가 아닌가를 기반으로 분류를 수행함.

'일병'이라는 단어가 있는 집합과 들어있지 않은 집합으로 나누고, '육군'이라는 단어가 들어있는 집합과 들어 있지 않은 집합으로 분류하여, '일병과 육군이 동시에 들어 있으면 군인 카테고리로 구분할 수 있다'와 같은 룰을 만드는 방식으로 질문 트리를 자동으로 만든다. 

결론적으로, 질문에 들어 있는 각각의 요소에 대해 그 단어가 들어 있는지 아닌지를 가지고 가장 그럴듯한 분류와 그 결과를 뽑아 내는 것  

나이브 베이즈법(Naive Bayes)

확률에 관한 유명한 정리인 '베이즈의 정리'를 사용해 나누는 방법으로, 데이터의 특징마다 어느 카테고리에 꼭 들어 맞는가에 대한 확률들을 곱해 가장 그럴 법한 분류를 찾는다.

예를 들어 기사에 '여당'이라는 단어가 들어 있었다면 아마도 그 기사는 정치 기사일 가능성이 높을 것이다. 이것은 확률적으로 다음과 같이 생각할 수 있다.  모든 카테고리의 기사에 '여당'이라는 단어가 포함되는 확률과 정치 카테고리에 '여당'이라는 단어가 포함되는 확률을 비교한다. 이 확률의 비교가 예를 들어 '1:10'이라면 정치 카테고리에 log(10/1), 즉, 1포인트 추가한다. 이 비교가 극단적일수록 높은 점수가 들어간다. 이것을 조사하고 싶은 기사 중에 포함되는 모든 단어로 시도한후에, 최종적인 '정치' 카테고리의 점수, '과학'카테고리의 점수, '문학'카테고리의 점수를 계산하여 가장 높은 것을 옳은 분류의 결과로 판정한다는 것이다.

그러나 차별적인 결과를 나타낼 가능성도 있어서 속성에 근거한 평가에 의해 합리적인 의사결정을 만들어야 함.

스팸메일 분류를 위해 그 필터는 하나하나의 키워드가 '어떤 확률로 스팸 메일이 될 가능성이 있나'를 수치로 갖고 있도록 함.

서포트 벡터 머신(Support Vector Machine, SVM)

최근 15년 정도 유행하던 방법으로 데이터를 구분 짓는 구분선과 각 데이터 그룹간의 간격을 최대로 나누는 방법.

 

 

 

 

 

즉. 3가지의 정보가 널려있다면 1과 2의 각각의 가장자리에서 동일한 간격의 중앙점을 찾아 나누어 구분한다면 2개를 나눌수 있을 것이다. 다른 나머지 1개도 마찬가지로 구분 짓는다. 정밀도가 높은서 잘 이용되어 왔으나 큰 데이터에 대한 계산은 시간이 걸리는 단점이 있다.

뉴럴네트워크

(Neural Network)

지금까지의 방법이 단순하게 분류하는 것인데 반하여 뉴럴네트웍은 인간의 뇌신경 회로를 흉내 내 매우 복잡한 구조의 힘을 통해 분류하는것.

앞에서도 언급한것과 같이 뉴런과 시냅스의 작동과 유사한 작동을 한다. 여기에 자극이 일정 임계값을 넘지 못하면 전기 신호가 발생되지 않아 그 값을 0으로 처리하고 신호가 발생되면 1로서 정보를 전달하는 방식

 

 

출력이 0.3이므로 발현되지 않는것으로 분류함

이러한 일련의 작업에서 중요한 것은 weight로서 인간의 뉴런이 학습에 의해 시냅스의 결합 강도를 변화시키듯이 학습하는 과정에서 가중치의 부여를 변화시켜 최적인 값을 출력하여 조정하는 것으로 정밀도를 높여 간다. 결과적으로 훈련 데이터를 통해 이 가중치값들이 결정되면 이들의 결정된 네트워크를 통해 입력 데이터를 분류하는 것

그럴다면 기계학습에서느 어떤 데이터가 필요한것인지 또는 어떤 정확한 결과 데이터가 필요한지 이 2개의 조합에 의해 얼마나 새로운 일을 시킬수 있는지 예를 들어보자

- 음식점의 좋고 나쁨을 판별할수 있는가?

- 자신이 좋아하는 음악장르를 분류할 수 있는가?

- 경기 결과에 영향을 주는 생활 패턴을 분류할 수 있는가? 등

딥 러닝

(Deeping Learning)

뉴럴 네트웍의 발전에 의해 혁신적인 결과를 도출해 낸 분야로 데이터의 고수준 패턴을 복합적인 다계층 네트워크로 모델링하는 방법. 문제를 모델링하는 가장 일반적인 방법이며 머신러닝의 가장 어려운 문제를 해결할 잠재력을 지님

 

1) 퍼셉트론
2) 델타 알고리듬
3) 다층퍼셉트론
4) 오류역전파 알고리듬

 

등 앞으로 다루어야할 중요한 부분들이 많다

학습한다는 것은?  

기계학습이란 인공지능 프로그램이 스스로 학습하는 것을 말한다. 어떤 방법으로 학습할것인가? 여러가지 의미가 있으나 근본적인 답은 결국 "분류하다"일 것이다. 분류하고 나면 아마도 사물을 이해하고, 그 다음으로 판단해서 행동 할 수도 있을 것이다. 즉, '분류하다'는 것은 학습과정의 가장 기본적인 단계로서, 마치 어린아이가 최초로 하기 시작하는 의사 표현인 'YES냐 NO' 일 것이다. 예를 들면 어떤 것을 보았을 때 그것이 먹고 싶은지 아닌지에 대한 의사 표현은 여러가지가 있겠지만 간단하게 'YES. NO'로 표현할 수도 있을것이다. 어떤 것이 쵸콜렛인지, 밥인지, 라면인지 알고 싶다. 이것은 3개의 'YES..NO의 문제가 조합된 것이라고 생각할 수 있다. 어떤 사람에게 내것을 빌려줘도 좋을것인지, 어떤 의견에 대해 'YES'라는 의사 결정을 보내도 좋은지, 어떤 사용자에게 이 광고를 내 보내도 좋을 것인지 등등. 이러한 '판단들'은 모두 'YES, NO'의 문제에 귀결된다.

이러한 의사 결정은 모든 생명체가 생존을 위해 또는 편리함을 위해 반드시 필요하다. 먹을수 있을지 없을지, 적인지 아군인지, 수컷인지 암컷인지 등. 인간은 보다 고도의 지능을 가지고 있으므로 대단히 세세하게, 언뜻보면 무의미할 정도로 삶을 나누고 있다. 이렇게 인간에게 있어서 '인식'이나 '판단'은 기본적으로  'YES. NO'의 문제로 파악할수 있다. 이것의 정밀도를 높혀 가는것이 학습의 목적일 것이다.

기계학습은 컴퓨터가 대량의 데이터를 처리하면서 이 '분류방법'을 자동적으로 습득하도록 하는것이다. 일단 '분류 방법'을 습득하면 그것을 사용해서 기존에 보지 못했던 새로운 입력 데이터를 '분류할' 수 있다. 일단, '사람'을 동물속에서 분별하는 방법을 훈련 데이터 셋으로부터 익히면 다음부터는 사람을 본 순간에 '이것은 사람이다'라고 순식간에 분별할 수 있다는 것이다.

 

지도학습

- '입력'과 '결과값'을 세트로 제공하고, 어떤 입력이 주어졌을때 그 결과값이 나오도록 컴퓨터에 학습을 시키는 것.

예를 들어 문서 분류라면 할당해야 할 라벨은 이 문서는 '정치 분야', 이 문서는 '경제 분야'라는 문서의 카테고리가 될 것이며, 이미지 인식이라면 이 이미지는 '요트' 이 이미지는 '꽃'이라는 라벨이 필요할 것이다. 이렇게 라벨링이 되어 있는 데이터 세트로는 로이터 통신의 데이터 셋이 유명한데 2만개의 신문기사 데이터에 135개의 카테고리가 부여되어 있어서 문서 분류 연구에서 잘 사용되고 있다.

 

비지도학습

- 입력용 데이터만 주고 결과값 없이 데이터에 내재하는 어떤 분류를 파악하는 것이다. 데이터 속에 있는 일정한 패턴이나 룰을 추출하여 전체의 데이터를 어떤 유사함을 기준으로 군집으로 나누거나 그러한 행동을 나타내는것이 대표적인 비지도 학습이다. 예를 들면 어떤  슈퍼마켓의 구매 단가가 높은 그룹과, 평균 구매 단가가 낮은 그룹을 데이터 분포를 통해 밝혀내는것은 클러스터링의 한 예라 할 수 있다. 또한, '기저귀와 맥주를 함께 구매하는 경우가 많다'라는 것을 발견하는 것이 빈출 패턴 마이닝 혹은 상관 룰 추출이라고 불리는 처리이다. 이와 같이 비지도 학습은 인간의 '라벨링'없이도 데이터의 분포만으로 그 패턴을 인식하는 학습 방법을 말한다.

                                                                                                                                           [참고함 : 마쓰오 유타카. 인공지능과 딥러닝]

 

1. 전문가 시스템

 - 특정문제 영역에 대해 전문가 수준의 해법을 제공하는 것으로, 간단한 제어슷템에서부터 복잡한 계산과 추론을 요구하는 의료진단 및 고장 진단 시스템에 사용되고 있다. 지식을 표현하는 부분과 추론을 하는 부분이 분리되어 있고, 지식은 데이터 형태로 관리된다. 그러므로, 데이터로 주어지는 지식을 바꾸면 추론 결과도 바꿀수 있다. 비즈니스분야에서는 전문가 시스템의 이러한 특성을 이용하여 작업 상황, 정책, 방법의 변화에 쉽게 대응하기도 한다

 

2. 데이터마이닝

 - 메모리에 적재할 수 없을 만큼 큰 데이터에 대해서 잠재적으로 유용할 것 같은 숨겨져 있는 지식을 추출하는 것을 말한다. 기계학습 방법은 기본적으로 데이터가 메모리에 적재될 수 있다고 전제하고 알고리즘을 개발한다. 반면, 데이터 마이닝은 디스크에 있는 데이터를 다루어야 하므로, CPU 처리시간보다 디스크 접근 횟수를 최소화하면서 패턴을 찾는 것에 관심이 있다. 데이터 마이닝을 통해서 추출하려는 지식의 형태는 기본적으로 기계학습이나 통계학에서 관심을 두는 것이기 때문에 이분야들의 이론이 많이 적용된다. 특정알고리즘을 데이터에 적용해서 바로 원하는 결과를 얻을 수 있는 것이 아니라, 데이터의 선정 및 전처리, 알고리즘의 선택과 적용, 결과의 평가 등과 같은 일련의 과정을 통해 의미있는 분석 결과를 찾는다

 

3. 패턴인식

 -  주어진 입력을 미리 정해진 부류로 분류하는 것을 말한다. 대표적인 인식 대상으로 문자, 음성, 영상을 들 수 있다. 문자인식에는 인쇄된 문자뿐만 아니라 필기체 문자를 인식하고, 필기체의 경우 이미 쓰여진 문자와 온라인으로 작성되는 문자를 인식하는 것이 있다. 이미 문자인식은 상용화되어 많이 쓰이고 있으며 스마트 폰에서는 기본적으로 필기문자 인식기능이 탑재되어 있다. 음성인식기술이 발전하여 스마트폰의 인터페이스의 하나로 음성인식이 활용되고 있다. 전화ARS서비스, 학습지원시스템을 비롯한 다양한 응용분야에서 사용되고 있다. 영상인식은 사진과 같은 정지영상이나 움직이는 동영상을 대상으로 하며 영상인식은 많은 발전을 해왔음에도 불구하고 아직 해결할 문제가 많이 남아있다. 패턴인식은 일반데이터에도 적용이 되고 있는데, 데이터에 내재한 패턴 찾기, 일반적인 패턴에서 벗어나는 이상치(Outlier)찾기와 같은 다양한 방법들이 연구되고 있다

 

4. 자연어 처리

 - 사람이 사용하는 일반언어로 작성된 문서를 처리하는 분야이다. 문서에 있는 문장을 분석하여 의미를 파악할 수 있다면 다양한 서비스를 할 수 있다. 매일 수없이 많이 생산되는 문서들을 사람이 직접 읽지 않고 프로그램이 알아서 읽고 요약정보를 제공하거나, 주제를 찾아서 주제별로 분류하고 새로이 출현하는 주제를 식별하여 알려주고, 질문에 대해서는 자동으로 답변할 수도 있게 된다

 

5. 컴퓨터비전

 - 컴퓨터를 이용하여 시각 기능을 갖는 기계장치를 만들려는 분야이다. 컴퓨터 비전의 처리 과정은 보통 세 단계로 나누어진다. 첫번째 단계는 전처리 단계로서 카메라를 통해서 들어온 원래 영상을 입력받아 사용 목적에 맞게 가공하는 단계다. 이 과정을 영상처리(image processing)라고도 한다. 두번째 단계는 특징 추출 단계로서 영상에서 에지, 선분, 코너, 원, 텍스쳐와 같은 특징이나, SIFT나 SURF와 같은 개선된 지역특징을 추출한다. 마지막은 해석 단계로서 추출한 특징 정보를 분석하고 목적에 맞게 해석하게 된다. 정지 영상인지 동영상인지에 따라 작업의 특성이 다르고, 목적에 맞게 해석하게 된다. 정지영상인지 동영상인지에 따라 작업의 특징이 다르고, 목적에 따라 처리 방법과 알고리즘이 달라진다. 예를 들면, 사람의 이동 정보가 필요한 경우와 사람을 식별해야 하는 경우는 다른 처리 방법과 과정이 사용될 수 있다. 컴퓨터 비전은 다양한 응용분야가 있고, 많은 수요가 있으므로 이에 관한 연구가 상당히 진행됐다. 사람도 착시나 착각때문에 상황을 잘못 이해할 수 있는 만큼 컴퓨터 비전은 본질적으로 어려운 문제이다. 그럼에도 불구하고 적용 환경에 제약을 가해서 효과적을 서비스하고 다양한 서비스들이 개발되어 운영되고 있다. 최근에는 딥러닝 기술이 컴퓨터 비전에 적용되면서, 기존 방식의 전처리 과정과 특징 추출 과정을 별도로 거치지 않으면서 훨씬 좋은 성능을 보이는 방법들이 개발되어 많은 관심을 끌고 있다.

 

6. 음성인식

 - 음성인식기술은 컴퓨터가 마이크와 같은 소리 센서를 통해 얻은 음향학적 신호(acoustic speech signal)를 단어나 문장으로 변환시키는 기술을 말한다. 동일한 문장을 말할때, 사람마다 음색이 다르고, 발음 속도가 다르고, 심지어 발음도 다르기 때문에, 음성인식 문제는 쉬운 문제가 아니다. 이런 어려움에도 불구하고, 음성인식 분야는 오랜 역사를 가지고 있다. 1952년에 이미 미국 벨연구소에서 숫자음을 인식하는 오드리(Audrey)라는 시스템을 개발했다. 1970년 초반에는 미국 카네기멜론 대학에서 1,011개 단어를 인식하는 하피(Harpy)라는 시스템을 개발하기도 했다. 1980년대에는 음성 길이 차이의 문제를 해결할 수 있는 활률모델인 HMM(Hidden Markov Model)이 개발되면서, 음성인식에 새로운 전환점을 맞게 되었다. 1990년대에는 휴대폰 등 제품에 전화번호 찾기등을 위한 음성인식 서비스가 탑재되었다. 당시 음성인식 기술은 1분에 100단어 정도를 처리할 수 있는 수준이었다. 2000년대에 접어들면서 매우 많은 어휘를 인식할 수 있는 시스템들이 개발되었고, 애플의 시리(SIRI)가 2011년 아이폰에 탑재되면서 음성인식이 일상적인 서비스로 각인되기 시작했다. 2010년대에 접어들어 딥러닝 기술이 본격적으로 도입되면서, 기존 HMM 방식에 비하면 높은 성능을 보이는 음성 인식 서비스들이 개발되고 있다. 이제는 음성인식 기능이 스마트폰과 검색 엔진 등에서 기본 서비스로 탑재되고 있으며, 음성인식 기능을 제공하는 다양한 개인 비서 서비스 및 가전 제품이 이미 시장에 나와 있다.

 

7. 로보틱스

 - 로봇과 관련된 기술로서 기게, 센서, 마이크로일렉트로닉스, 인공지능 기술을 종합적으로 활용한다. 로봇을 깊이 들여다 보면, 결국 하드웨어와 소프트웨어로 구성되어 있다. 로봇은 위임받을 일을 알아서 수행하는 하나의 에이전트로 볼 수 있다. 지능적인 로봇이 되기 위해서는 인공지능 기술이 종합적으로 필요하다. 인지를 위해서 컴퓨터 비전 기술이 필요하고, 판단하기 위한 추론 기능, 어떤 행동을 어떻게 할지 결정하기 위한 계획수립 기술, 친근한 인터페이스를 위한 자연어 처리 기능, 사용하면서 더 똑똑해지도록 만들기 위한 학습 기능을 비롯한 다양한 인공지능 기술이 사용되어야 한다.

 

8. 에이젼트

 - 사용자로부터 위임받은 일을 자율적으로 수행하는 시스템을 말한다. 지능적인 서비스를 하는 시스템을 에이전트로 간주하고, 이러한 에이전트를 만들려는 연구가 진행되고 있다. 에이전트의 형태는 단순히 입력에 대해서 정해진 반응만을 하는 반응형 에이전트(Reactive agent)에서부터, 자신의 지식을 활용하여 목표를 달성하기 위해 계획을 수립하는 숙고형 에이전트(deliberate agent), 경험(즉, 행동과 그 결과)이 누적됨에 따라 점점 똑똑해지도록 학습을 하는 학습 에이전트가 있다. 에이전트를 순수하게 소프트웨어로 되어 있는 소프트웨어 에이전트와 지능 로봇으로 대표되는 물리적 에이전트로 분류하기도 한다.

 

'2. 인공지능 > 2-2. 역사' 카테고리의 다른 글

2-2-1. 인공지능의 역사  (0) 2018.01.04

1. 1960년대 이전

 - 매커시에 의해 1958년 인공지능 구현을 위한 LISP 언어를 만들었고, 논리(logic)를 사용하여 지식을 표현하고 상식에 대해 추론하는 아이디어를 제안. 로젠블랫(Frank Rosenblatt, 1928-1971)은 1958년 Perceptron 이라는 최초의 신경망 모델을 제안. 학습기능을 가진 기계로 주목을 받으면서 신경망 연구의 첫번째 Boom.... 신경망의 황금기로서 그는 최초의 성공적인 Neuro-Computer를 개발하고 이를 패턴 인식 분야에 적용함. 그러나 Single layer perceptron은 선형적으로 분리가 가능한 패턴은 인식할 수 있지만, 복잡한 패턴은 2개 혹은 그 이상의 layer를 갖는 신경망에서 가능하다는 것이 1969년 Minsky에 의해 증명됨

오늘날 perceptron은 한 쪽 혹은 다른 부분의 결정을 위한 binary classifier에 대한 지도 학습 알고리즘의 개념으로 사용됨

또한 Minsky교수는 perceptron으로는 XOR을 학습할 수 없다는 XOR problem을 밝히고 결국 이것은 신경망에 대한 관심이 멀어지게 만드는 계기가 됨

 

 

 

[신경망과 Perceptron]

 

 

2. 1970~80년

1960년대의 연구는 주로 다양한 문제 해결에 적용될수 있는 범용 방법을 찾아보는 것에 집중하였으나, 규모가 큰 문제에 대한 적용이 어려운 점이 나타났고 1970년대에 이러한 범용 방법보다 특정 영역 문제를 효과적으로 해결하는 방법이 발달. 특정 영역문제에 대해 전문가 수준의 해답을 제공하는 전문가 시스템(Expert System)이 그 대표적인 사례. 당시 개발된 대표적인 전문가 시스템으로 미국 스탠포드 대학에서 개발한 "MYCIN" : 전염성 혈액 질환 환자를 진단하고 항생제를 처방하는데, 69%의 확률로 적합한 처방을 할 수 있음. 80% 정도의 정확도를 보인 세균 감염 전문의보다는 뒤떨어지지만 일반 의사들보다는 높은 확률이 나타남..

긴 침묵기로서 연구비 지원이 줄고 관심이 줄어들어 개별적으로 신경망에 대한 연구가 지속되며 몇몇 혁명적인 연구자에 의해 독자적으로 신경망에 대한패러다임이 발전..

 

3. 1980 중반~90년

신경망은 두뇌 신경세포와 이들의 연결구조를 모방한 계산 모델인데 1958년 페셉트론이 개발되어 큰 관심을 모았지만 아래 그림과 같은 단순한 XOR문제도 해결할 수 없다는 것이 알려지면서 신경망 연구는 한동안 침체기를 맞는다. 퍼셉트론을 여러층으로 연결하여 구성한 다층 퍼셉트론(multi-layer Perceptron, MLP)이 XOR 문제를 해결할 수 있다는 사실을 알았지만, 1980년대 초반까지 이러한 다층 퍼셉트론을 학습시키는 방법이 없었다. 그러다 1980년대 중반에 다층 퍼셉트론을 학습시키는 에러 역전파(Error backpropagation) 알고리즘이 알려지면서, 1980년대 중반부터 신경망 연구의 부흥기를 맞음. 신경망은 데이터만 주어지면 학습할수 있다는 점에서 많은 관심을 일으켰고 다양한 분야에 적용이 시도됨

※ 1986년 Rumelhart와 Hinton에 의해 back-propagation 알고리즘을 발표

 

4. 1990년대

그래프 이론과 확률론을 결합한 여러 확률 그래프 모델(probabilistic graphical model)이 본격적으로 발전하였고, 컴퓨터 비전, 로보틱스, 자연어처리, 진단 분야 등에서 중요한 기술로 자리잡기 시작. 1990년대 이후 지식을 기호로 표현하여 지능을 구현하는 기호적 인공지능(symbolic AI) 기술보다 수치계산 위주의 비기호적 인공지능(subsymbolic AI) 기술이 점차 발전. 1990년 후반에는 기계학습 모델의 하나인 서포트 벡터 머신(Support Vector Machine, SVM)이 개발되어 많은 관심을 모음

※ 1995년 LeCun과 Bengio는 CNN(Convolutional Neural Network)을 발표.

 

 

5. 2000년대 이후

위임받은 일을 자율적으로 처리하는 에이전트(agent) 기술에 관한 연구가 활발히 진행되면서 인터넷 기반의 다양한 서비스가 시도됨. 웹상의 자원(웹페이지, 파일, 서비스, 데이터)에 대한 정보와 자원 사이의 관계 등을 메타데이터로 추가해 두어서 컴퓨터가 웹상의 자원을 이해하여 필요한 서비스를 지능적으로 제공할 수 있도록 하는 시맨틱웹(semantic web)에 관한 연구가 진행.

기계학습과 통계학적 기법을 대규모 데이터에 적용하여 의미 있는 유용한 은닉 정보를 추출하는 데이터 마이닝기술이 발전하고, 여러 가지 데이터 마이닝 도구가 개발되고 있다. 이러한 도구들 덕분에, 알고리즘을 구현 할 수 없는 일반인들도 데이터 마이닝 기술을 쉽게 활용할 수 있게 됨.

한편, 빅데이터의 출현과 함께 이를 처리할 수 있는 인공지능 기술에 관한 연구가 2000년대 후반부터 활발히 진행됨.

SVM에 의해 신경망에 관한 연구가 다소 줄었으나 딥러닝(Deep Learning) 기술이 우수한 적용 사례를 만들어가면서 2000년대 후반부터 신경망이 다시 큰 관심을 모음. 애플Siri, 구글Now와 같은 스마트폰의 음성인식 서비스의 대중화, 구글의 자율주행 자동차와 자동번역기, IBM의 왓슨(Wstson), 군사용 로봇 빅독(Big Dog)을 비롯한 지능로봇 등 눈에 띄는 인공지능 기술을 적용한 제품과 서비스들이 출현함. 지능뿐만 아니라 감정을 이해하는 기술을 통한 서비스 기술(emotion computing)에 관한 연구도 활발히 진행. 2014년 6월 유진구츠만(Eugene Goostman)이란 챗봇(chatboot, 대화하는 소프트웨어 로봇)이 인류역사상 최초로 튜링테스틀를 통과.

 

※ 유진 구츠만은 러시아 출신 베셀로프와 울라센, 우크라이나 출신 템첸코가 2001년부터 개발해온 13세인 우크라이나 소년 캐릭터를 갖는 챗봇. 튜링사망 60주년을 기념하여 진행한 이벤트에서 30명의 검사지가 이 챗봇과 5분간 대화를 하여 33%가 사람으로 판정함. 통과기준을 30%로 설정한것은 문제로 지적됨. 튜링테스트 대회인 뢰브너 상이라는 행사는 1990년 이후 매년 개최됨

 

 

'2. 인공지능 > 2-2. 역사' 카테고리의 다른 글

2-2-2. 주요 응용분야  (0) 2018.01.07

- 1940년대 초 노버트 위너(Norbert Wiener)는 ‘피드백을 통한 통제’라는 인간을 흉내낼수 있는 기계의 메커니즘을 주창.

- 2차 세계대전이 끝나고 위너를 중심으로 “Macy Conference"를 조직하였고, 이 학회에 참여한 폰노이만(John von Neumann)은 튜링의 계산 기계를 발전시켜 스스로를 복제 할 수 있는 가상적 기계인 오토마타(automata)를 연구

- 위너의 학생이었던 올리버 셀프리지(Oliver Selfridge)는 기계에 의한 패턴 인식을 연구하기 시작했는데, 이는 지금의 머신 러닝(machine learning)의 시작점이 됨

- 존 맥카시(John McCarthy)는 학교에서 개최된 뇌과학에 대한 힉슨 심포지엄(Hixon Symposium)에서 오토마타에 대한 폰노이만의 발표와 신경망 이론에 대한 맥컬럭의 발표를 듣고 생각을 하는 기계를 만드는 문제를 고민하기 시작

- 맥카시는 록펠러 재단 연구비로 자신이 막 자리잡은 다트머스 대학교(Dartmough College)에서 “인공 지능”을 주제로 1956년 여름 두 달 동안 학회를 진행. 이것이 전설적인 다트머스 회의. 민스키, 섀넌, 그리고 IBM에서 704 컴퓨터를 만들었던 로체스터(N. Rochester)가 공동 주최자로 참여.
- 맥카시는 박사과정을 밟던 프린스턴 대학교의 수학과에서 평생 같은 주제를 연구하게 된 마빈 민스키(Marvin Minsky)라는 동료를 만나고, 맥카시와 같은 나이에 역시 수학을 전공하던 민스키는 대형 컴퓨터가 작동하는 것을 직접 목도한 뒤에 사람처럼 생각하는 컴퓨터를 모사(simulate)하는 문제를 연구하기 시작

- 민스키는 대학원 학생일 때 시행착오를 통해 학습할 수 있는 신경망 기계인 SNARC를 만들었을 정도로, 생각하는 기계에 대한 고민을 발전시킴.

- 이들은 모두 1952년 여름에 벨연구소(벨랩)에 고용되어 잠깐 연구를 했는데, 이때 맥카시는 여기서 정보 이론을 발전시킨 섀넌을 만나서 자신의 관심에 대해서 논의할 기회를 얻었고 그의 총명함을 간파한 섀넌은 그에게 당시 가장 첨단 분야인 오토마타에 대한 책을 한 권 함께 편집하자고 제안

- 컴퓨터가 처음 만들어진 1940년대에 인공지능이란 개념이 형성되기 시작했으며 최초의 컴퓨터를 설계한 앨랜튜링이었다. 그는 지능은 추상적인 개념으로 구체적인 정의가 어렵다고 생각하여 조작적 정의(Operational Definition)를 사용하여 지능의 유무를 판단하는 역사적인 Turing Test를 만듬

 

 

※ Turing Test : 튜링은 포괄적 논리만 제시하였을 뿐 구체적인 실험 방법과 판별 기준을 제시한 것은 아님. 현재 통용되는 테스트는 서로 보이지 않는 공간에서 질의자가 인간과 컴퓨터를 대상으로 정해진 시간 안에 대화를 나누는 방식으로 이루어지는데, 대화를 통하여 인간과 컴퓨터를 구별해 내지 못하거나 컴퓨터를 인간으로 간주하게 된다면 해당 기계는 인간처럼 사고할 수 있는 것으로 봄
2014년 6월 영국왕립학회가 실시한 튜링 테스트에서 영국의 레딩대학교가 개발한 컴퓨터 프로그램 '유진 구스트만(Eugene Goostman)'이 처음으로 테스트를 통과. 이 테스트에서 우크라이나 국적의 13세 소년으로 설정된 '유진'과 대화를 나눈 심사위원 25명 가운데 33%가 진짜  인간이라고 판단함. 하지만 '유진'은 대화 도중에 엉뚱한 대답을 한 경우도 많아서 진정한 인공지능으로 인정하기 어렵다는 주장도 제기되었으며, 더 나아가 1950년에 제안된 오래된 개념의 '튜링 테스트'는 사람처럼 종합적으로 생각할 수 있는 진정한 인공지능을 판별하는 기준이 될 수 없다는 주장도 있음    [네이버 지식백과]Turing test (두산백과)

 

1956년 전설적인 다트머스 회의 개최 : 매커시( John McCarthy, 1927~2011) 교수가 미국 다트머스 대학에서 당시 컴퓨터 지능 관련 연구 분야를 Artificial Intelligence(AI)로 부르자고 제안하면서 인공지능이라는 용어가 널리 사용됨. 이 회의가 인공지능 연구의 출발점이라고도 봄.

 

강한인공지능 - 인간과 유사한 지능. 인간처럼 마음으로 느끼며 지능적으로 행동하는 기계 지능이다. 추론, 문제해결, 판단, 계획, 의사소통, 자아의식, 감정, 지혜, 신념등 인간의 모든 지능적 요소를 포함함. 그러나 이러한 개체가 나온다면 인간역사의 중요한 변곡점이 될것이며 이들의 권리와 지위에 대한 재정립이 필요함

약한 인공지능 - 특수한 문제에 대해서만 해결할수 있는 수준의 지능. 인간의 부분적 지능적인 행동을 흉내 내는 수준으로서, 대부분의 인공지능 연구에서 지금까지 진행된 부분.   "중국인 방 실험"- 방문은 닫혀있고 방안에는 중국어를 전혀 모르는 사람이 있다. 방안에는 중국어 질문에 대한 대답이 적혀 있는 책이 있다. 문밖에 중국인이 와서 중국어로 질문을 쪽지에 적어 문 믿으로 밀어 넣는다. 방안의 중국어를 모르는 사람은 책에서 중국어 질문과 일치하는 글자들이 있는 부분을 찾아 대답에 해당하는 굴자들을 쪽지에 복사해서 문 밑으로 내보낸다. 문밖의 사람이 질문에 맞는 답변 쪽지를 받는다면 방 안의 사람이 중국어를 하는 사람이고 생각할 것이다. 이 처럼 내용을 전혀 이해하지 못한 채, 기계적으로 행동하더라도 지능적으로 보일수 있다. 이러한 흉내내는 수준의 인공지능을 말함.

+ Recent posts