AI에서 벡터를 사용하는 이유
안녕하세요! WH 입니다.
어제부로 AI팀으로 옮기게 되었는데요.
사실 그게 중요한 것은 아니고, 듣는 교육과 공부한 내용들을 정리해보고자 합니다.
벡터가 사용되는 이유가 무엇일까
AI를 접할 때마다 많은 수식들이 나오고, 많은 벡터들이 나옵니다. ai에서 많은 계산은 행렬로 계산되고 벡터들로 계산을 하게 됩니다. 그런데, 왜 벡터를 이용하는 것일까요? 이 고민이 끊이지 않았고 스스로 결론을 내려보았습니다. 이제 부터 그 내용을 정리해보고자 합니다. 우선 결론부터 말씀드리자면, 특징과 영향력( 양 )을 표현할 수 있는 가장 좋은 수단이기 때문이라는 것이 제 결론입니다. 어떻게 이런 결론에 이르게 되었는 지 그 과정을 함께 살펴봅시다.
벡터의 정의
- 위키 백과에서는 ' 벡터는 수학, 물리학, 공학에서 크기와 방향을 갖춘 양 ' 이라고 정의하고 있습니다.
그럼 한 가지 의문이 생깁니다. 크기와 방향은 무슨 의미를 가질까요? 이 질문에 대답하기 위해서는 우리는 왜 AI를 적용하는 가로 돌아가게 됩니다. 우리는 왜 AI에 열광하고 AI를 적용할까요? 인간이 해야할 복잡한 인지의 문제를 기계가 판단하고 대신해 줄 수 있기 때문일 겁니다. 그럼 인지의 영역으로 들어가 봅시다. 우리는 무엇을 인지하기 위해 어떤 일을 거칠까요? 즉 우리는 어떻게 사물을 포함하는 객체를 인지할까요?
우리는 수 많은 경험을 통해, 객체의 특징을 찾아내고 그 특징을 기반으로 물체를 인지합니다. 여러 개의 객체가 있다면, 우리가 알고 있던 수 많은 특징들 중 가장 비슷한 특징들을 걸러냄과 동시에 영향력( 양 )이 가장 크게 미치는 요소를 고려하여 물체를 인지하게 될 겁니다. 그럼 이제 기계로 돌아가 봅시다.
기계는 숫자로 모든 것은 판단합니다. 0과 1만이 존재하는 세계에서 우리가 인식하고 있는 세상을 그에 맞게 변환해야합니다. 그럼 같은 과정을 거치면 되지 않을까요? 숫자의 범위를 넓혀 숫자의 표현 방식을 늘리고( 언어(영어, 한국어 같은)와 비슷 ), 수 많은 경험( 데이터 )을 통해, 특정 객체의 특징을 파악한 후, 특징과 영향력을 고려해서 객체를 인식하면 되지 않을까요?
그럼 여기까지는 해결이 됩니다. 그런데 특징을 어떻게 표현하죠? 영향력( 양 )은요? 그래서 사용되는 것이 벡터입니다.
특징 -> 방향
영향력 ( 양 )-> 크기
이런 방식으로 의미를 부여할 수 있습니다. 예를 들어 볼까요?
사람의 특징에는 키, 몸무게, 성별 이 있다고 가정해봅시다. 그럼 사람을 기계에 빗대어 표현하려면 3 개의 벡터가 필요합니다. 각각은 키, 몸무게, 성별에 해당하게 되겠죠. 그럼 그 안에서 해당 특징이 가지는 양은요? 크기가 그를 표현하면 되겠죠. 만약 각 벡터가 독립적이라면 벡터가 3개라면 한 명의 인간은 3차원 공간의 한 점으로 표현할 수 있고, 비슷한 특징들에 따라 분류를 하면 기계 역시 객체를 인지할 수 있게 되겠죠.
어라, 잠시만요. 분류를 하는 데 새로운 숫자만을 보고 이게 고양이 인지 , 개인지 어떻게 측정하죠? 다음 글에서는 이미지 매칭의 의미와 코사인 유사도에 대해 다뤄보는 시간을 가져보겠습니다. 이상 WH였습니다. 즐거운 하루 되세요