인공지능 구현-문장인식, 오브젝트인식
요즘 인공지능(ai) 관련 직업이 인기이다.
재취업하려니, 인공지능쪽으로 가는것도 좋아보인다.
문장인식, 오브젝트인식
하나의 단어, 오브젝트는 혼합물/화합물이다.
물이 수소1개, 산소2개로 구성되듯
사람=이름,키,몸무게,직업,누구의 아빠,누구의 남편,누구의 자식,...등의 속성을 갖는다.
속성은 0(거짓)과 1(참) 또는 범위값을 가질 수 있다.
속성은 새로 추가되거나 제거될 수 있다.
여기서 중요사항은 여러가지가 모여서 하나의 개체를 나타낸다.
예) 고양이는 고양이 눈, 수염, 털, 색, 모양, 4개의 다리, 꼬리, 쥐를 잘잡고, 발톱을 숨길 수 있다. 크기는 1m이내 등의 특징을 만족해야한다.
(생물학적 구조는 뉴런의 연결구조가 될것이다)
속성의 개수는 추가, 삭제 가능하다.
속성중에는 추가될 수 없는것들이 존재한다.
예) 여자는 고추가 없다.
단, 특이한 경우 또는 임시 설정이라는 상황에서는 가짜 속성, 또는 임시 속성을 가질 수 있다.
속성중에는 사회적 협의에 의해, (임시, 가정) 만들어지는 속성도 있을 수 있다.
예) 내가 여자라면, ~
남자에게는 '여자'라는 속성이 부여될 수 없지만, 임시로 부여될 수 도 있다.
문장을 이해하기 위해서는 해당 오브젝트들이 포함하거나, 포함할 수 없는 속성들을 알고 있어야 한다.
포함될 수 있는 속성과 아닌 속성을 자동으로 학습해야한다.
경험론적, 확율학습
"우리반에는 철수가 2명이다"
"우리반 아이들은 모두 9살이다"
9살이 아닌 사람은 학급의 구성원(학생)이 아니다.
키가 큰 사람은 나이가 많다.
나이가 많다는 것은 9살보다 나이가 많다.
따라서, 키가 큰 사람은 학생이 아니다.
학생이 아닌 사람중에 학교에서 만날 수 있는 사람은 선생님일 확율이 높다.
키가 크다는 기준은?
- 평균키보다 일정 배율이상 차이가 나는 경우.
이 값은 f(x)의 함수이며, 프로그램상으로 해당공식의 상수값들을 구할 수 있다.
예) f(x)=ax+b 인 경우, 여러개의 데이터를 가지고, a,b의 근사값을 구할 수 있다.
예) a=1, b=3일때 데이터와 f(x)값의 차이가 가장 적다.
(상수값은 여러개 일 수 도 있다. f(x)는 3차함수일 수 도 있다.)
- 학생중 가장 큰 키보다도 더 큰 경우
- 키가 150cm이상
- 선생님중 가장 키가 작은 사람보다 크거나 같은 경우
기준은 여러가지가 있을 수 있고,
기준 역시 자동으로 학습되어질 필요가 있다.
(선생님과 학생을 구분하는 방정식을 구할 수 도 있다.)
외부의 영향이 없는 경우.
인공지능 본인만이 존재하는 경우. 판단의 옳고, 그름을 지적,교정해줄 수 있는 사람, 데이터가 없는 경우.
인공지능이 자체적으로 속성을 부여하고, 기준을 추가하고, 문제가 있는 속성이나, 기준을 폐기하거나, 업데이트(갱신) 할 수 있어야한다.
예) 민수는 키가 120cm이다.
3년전에는 120cm였지만, 지금은 150cm이다.
민수가 가진 속성중에 키120cm는 폐기되거나, 업데이트 되어야 한다.
120cm의 데이터로부터, 3년후에 만난 민수가 민수임을 확인할 수 있는 근거는 많이 있다.
상당수의 속성이 변했지만, 변하지 않거나, 고유의 속성이 확인되면, 민수임을 확정할 수 있다.
f(x)함수에서, 여러개의 속성값에따라, 민수임을 판별하는 공식(상수)을 찾아낼 수 있다.
물론, 각 속성별로
- 불변의 속성
- 쉽게 변할 수 있는 속성
- 변하기 어려운 속성등도 판단할 수 있어야한다.
정리:모든 객체(오브젝트)는 여러가지 속성을 가지며, 각각의 속성은 변하거나, 변하지 않을 수 있다.
인공지능은 각각의 속성을 그때마다 추가,삭제,업데이트해야하며,
각각의 속성이 변할 수 있는 정도도 파악해야한다.
예)지문은 변하지 않으나, 지문이 모두 지워지거나, 모양이 변할 수 도 있다.
문장을 입력받고, 각 단어별로 속성을 부여하고,
부여된 속성중에 부여될 수 없는(포함할 수 없는) 속성에 대해서는 폐기하거나 수정이 필요하다.
올바른 문장은 오류가 없어, 각각의 속성을 추가하면 되지만, 잘못된 문장은
각각의 속성은 여러단계에 걸쳐 링크되고, 순환참조되는 경우도 발생할 수 있다.