Machine Learning 1 - Intelligence

인공지능이 머신러닝보다 더 큰 범주. 데이터를 기반으로 학습 방법 및 컴퓨터 시스템을 다루는 것이 머신러닝. 패턴인식은 머신러닝과 비슷하지만 조금 더 인간에게 가까운 분야.
종합적으로 보면 인간을 위해 정리한 데이터인 데이터 과학을 컴퓨터에게 적용하는 것.

지능을 일으키기 위해 지식체계를 만드는 것이 학습. 이렇게 배운 지식을 사용하는 것이 지능. 따라서 머신러닝은 인공지능이 사용할 수 있는 지식체계를 만드는 것.
그러나 일반적으로 인공지능 연구에 있어 이런 학습을 위한 데이터 셋을 만드는 것이 가장 많은 부분을 차지하고, 그 결과를 이용하는 것은 인간이 만든 알고리즘이 되는 것이다.

경험하지 않아도 알면 본능, 학습을 하여 아는 것이 지능. 추상화가 가능한 것이 지식. 추상화가 불가능하고 한 번 본 인식에 의해 형성되면 감성. (추상화가 가능하다 = 언어체계로 표현한다)
지식과 경험을 기억하고(객체 사이의 인과관계), 이를 추리, 추론 능력으로 사용하는 것이 지능이 된다.

언어로 생각하는 인간과 달리 기계의 경우 연산으로 생각을 하고, 데이터가 정보의 표시 및 속성을 가지는 모든 매개체가 된다.

데이터의 구분 방법 : random variable, vector.

메타 데이터 : 데이터를 규정하는 데이터. 앞서 컴구에서 배운 것 처럼 일련의 이진수를 어떻게 해석하느냐에 따라 다르게 읽을 수 있다. 이렇게 어떤 data를 변환해주는 수치, 코드 변환기 등을 메타 데이터라 한다.

정보-데이터를 나누는 기준은 이를 규정하는 메타 데이터의 존재가 된다. 데이터는 정보로 부터 만들어진 인스턴스이다.

상태집합 - 데이터 - 지식 : 유한한 개수의 상황(오브젝트)를 인스턴스화 시켜(데이터) 지식체계를 만들어 내는 것(지식)이 머신러닝의 시퀀스 이다. 이렇게 만들어진 지식 체계를 활용하는 것은 알고리즘 및 AI의 영역이다.

탐험형/판단형/생성형 : 각각 가지고 있는 상태집합(세상)보다 자신의 데이터가 적을 경우/많을 경우/많을 경우가 된다. 탐험형은 내 데이터를 가지고 세상의 경우의 수를 계속 만들어 나가는 것이 되고(강화학습), 판단은 해당 지식을 기반으로 어떤 결과를 내는 것이다. 마지막 전자와 약간 달리, 어떤 condition을 주고 이를 재구성 하는 것이 활동 내역이 된다. 전자와 또 다른 점은 직접적으로 판단하지는 않고 사람에게 판단을 맞긴다는 것이다.

숫자 인식 등에 상태보다 데이터가 더 많은 경우, 약 1000배의 데이터가 필요하다. (숫자 개당 약 1000개의 데이터가 필요)
그러나 반면에 병명 진단 등의 증상 데이터에 비해 가능한 병명이 너무 많기 때문에 아는 것이 너무 적게 된다. 따라서 이런 경우 (내가 가지고 있는 데이터가 매우 적은 경우) 에는 AI를 사용하기가 매우 어려우며 한정적이게 된다.

더 나아가, 세상을 규정하는 여러 state에 대해 존재하는 state와 관측 가능한 state를 구분하여 내가 해당 state를 관측하여 구분해낼 수 있어야 한다는 또 다른 어려움도 있다.

기존 컴퓨터 구조에 대해 finite state와 operation이 알맞게 정의되었던 것에 반해(폰 노이만 구조), AI 및 머신러닝에서는 state가 너무 많기 떄문에 operation을 정의하기가 어렵다. 따라서 해당 상태 집합에서 발생하는 데이터를 찾아서 어떤 operation이 발생하는지 찾아가는 것이 지식체계가 된다. 이후 해당 지식체계(operation)을 가지고 AI가 프로그래밍을 하게 된다.

댓글

이 블로그의 인기 게시물

IIKH Class from Timothy Budd's introduction to OOP

Compiler 9 - Efficient Code generation

Software Engineering 10 - V&V, SOLID principle