머신러닝 수학 : 데이터 벡터화

머신러닝 수학 : 데이터 벡터화

머신러닝 수학은 빅 데이터를 다루는 수학입니다. 인공지능보다 먼저 알아야 할 개념이 빅 데이터입니다. 데이터로부터 수학이 시작되어야 합니다. 이번 포스팅에서는 이미지 벡터화 등 컴퓨터가 데이터를 다루는 방식을 알아보겠습니다. 이미지 벡터화, 사운드 벡터화, 문자 벡터화 등 벡터화와 벡터의 개념을 확인해보시기 바랍니다.

 

 


글의 순서

머신러닝 수학의 재료, 데이터
머신러닝 수학의 이미지 데이터 처리 방법
소리(sound) 데이터 처리 방법
문자(text) 데이터 처리 방법
주식 가격과 같은 숫자 데이터
머신러닝 수학의 핵심 : 벡터(vector : sequence of numbers)
벡터의 차원


머신러닝 수학의 재료, 데이터

머신러닝 수학에서 쓰이는 데이터는 무엇일까요? 사진이나 동영상과 같은 영상 데이터(image), 문자(text), 소리(sound), 주식가격, 온도 등과 같은 숫자 데이터를 예로 들 수 있습니다. 이들 데이터를 컴퓨터에서는 어떻게 표현할까요?

예를 들어, 사진을 보겠습니다. 사진을 확대하고 확대하다보면 더 쪼개지지 않는 픽셀에 다다르게 됩니다. 만약 정사각형 형태의 픽셀이 흑백만 표현한다면 각 픽셀에 숫자를 대응시킬 수 있습니다. 0이면 검은색, 1이면 흰색처럼 말입니다. 만약 0.7이라면 흰색에 가까운 회색이 되는 것입니다. 각각의 픽셀에 이런 숫자가 대응되어 있다면 각 화소가 모여서 흑백 그림을 만들어냅니다. 대응시키는 숫자는 정의하기 나름입니다. 숫자 간의 간격이 좁아질수록 더 부드러운 그림이 됩니다. 만약 간격을 띄워서 0, 0.5, 1만으로 정의한다면 대조비가 큰 그림이 될 것입니다.

 

 


머신러닝 수학의 이미지 데이터 처리 방법

사진은 픽셀로 구성되어 있는데, 이 모습은 마치 바둑판을 닯았습니다. 사진이 바둑판 크기의 픽셀 구조를 가지고 있다고 가정해보겠습니다. 가로 19줄, 세로 19줄로 구성되어 있으니, 가로, 세로 줄이 만드는 네모의 개수는 총 18×18=324개인 것입니다. 이때 네모 하나하나를 픽셀로 볼 수 있습니다. 이를 형렬(Matrix)로 표현하자면 행렬의 크기가 19행 19열이라는 것입니다. 사진과 같은 이미지 데이터는 픽셀로 표현할 수 있고, 각 픽셀은 검은색과 하얀색에 각각 0, 1을 대응시켰던 것처럼 특정한 값을 갖고 있습니다.

일반적으로 이미지 데이터를 컴퓨터가 처리하는 방식은 바둑판 모양 그대로가 아니라, 1행 18열 바로 뒤에 2행을 붙이고, 그 뒤에 또 3행을 붙이고, 그 뒤에 또 4행을 붙이는 방식으로 19행까지 한 줄로 이어 붙인 후 324칸으로 구성된 한 줄을 한꺼번에 처리하게 됩니다. 이를 벡터화(vectorization)이라고 부릅니다.


소리(sound) 데이터 처리 방법

마이크에 대고 말을 하면, 소리의 진동이 전기신호로 변환되었다가 스피커 끝에서 이 전기신호는 다시 진동신호로 바뀝니다. 말소리의 진동이 전압으로 바뀌었다가 스피커에서 다시 말소리라는 진동으로 바뀌었다고 이해하시면 되겠습니다.

이 소리가 만들어내는 진동도 숫자 데이터로 변환할 수 있습니다. 한 마디의 말은 많은 숫자데이터로 바뀝니다. 한마디의 말을 나타내는 이 숫자 데이터를 한 줄로 놓으면 컴퓨터가 한꺼번에 처리하기 좋은 형태가 됩니다. 이미지 데이터에서 만들었던 그 한 줄의 숫자 데이터와 같은 형태입니다. 컴퓨터는 이렇게 벡터화라는 방식으로 한 줄씩 묶어서 데이터를 처리하게 됩니다.


문자(text) 데이터 처리 방법

문자들을 컴퓨터는 어떻게 처리할까요? 여러 가지 처리방식이 있는데, 사전을 예로 들어 그 중 하나를 소개해보겠습니다. 예를 들어, 사전에는 10개의 단어가 들어있습니다. 컴퓨터에서 이 10개의 문자 데이터를 처리하기 위해서 10 칸을 가진 한 줄을 만들어놓고, 첫 번째 칸부터 10 번째 칸까지 번호를 붙입니다. 첫 번째 단어를 나타내는 숫자의 조합은 1,0,0,…,0, 두 번째 단어를 나타내는 숫자의 조합은 0, 1, 0, … 0, 세 번째 단어를 나타내는 숫자의 조합은 0, 0, 1, …, 0 이 됩니다. 열 번째 단어는 0, 0, 0, …, 1이라는 숫자의 조합입니다. 컴퓨터는 벡터화된 이 숫자의 조합으로 각 단어들을 대응시키는 것입니다.


주식 가격과 같은 숫자 데이터

특정 시간 구간에서 주식의 ohlcv 데이터를 추출했다면, 6칸으로 이루어진 한 줄에 그 숫자들을 넣어둘 수 있습니다. 여기서, o는 시작가(open), h는 최고가(high), l은 최저가(low), c는 종료가(close), 그리고 v는 총 거래량(volume)을 의미합니다. 이렇게 한 줄로 묶어 놓은, 그러니까 벡터화 된 숫자 데이터는 컴퓨터에서 처리하기 좋은 형태입니다.


머신러닝 수학의 핵심 : 벡터(vector : sequence of numbers)

지금까지 이미지 데이터, 소리 데이터, 문자 데이터, 그리고 숫자 데이터를 처리하는 방식을 이야기할 때, 벡터화라는 용어를 사용했습니다. 그렇다면 벡터는 무엇일까요?

이미지 데이터에서 만들었던 그 한 줄의 숫자 데이터, 소리를 나타내는 한 줄의 숫자데이터, 그리고 문자를 나타내는 한 줄의 숫자 데이터 등은 컴퓨터가 처리하기 쉬운 형태입니다. 여기서 중요한 것은 이미지, 소리, 문자(text), 주식가격 데이터 모두 한 줄의 숫자데이터로 나타낼 수 있다는 것입니다.

이렇게 숫자가 나열된 묶음을 벡터라고 합니다. 앞서 보신 이미지 데이터는 324칸이 한 줄을 구성하고 있으며, 그 숫자들의 묶음을 원소가 324개인 벡터라고 부릅니다. 나열된 숫자의 묶음이라는 벡터(vector)를 영어로 표현하면 sequence of numbers입니다. 컴퓨터는 머신러닝 수학의 핵심인 벡터로 데이터를 처리한다고 보시면 되겠습니다.


벡터의 차원

마지막으로 벡터를 이해하기 위한 예를 하나 더 들어보겠습니다. 쿼드콥터 드론이 공중에 떠 있고, 움직이지 않습니다. 이때 쿼드콥터의 위치를 위도, 경도, 고도라는 3개의 좌표값으로 표현할 수 있습니다. 3차원 공간에서 한 점을 나타내는 드론의 위치를 3개의 수를 나열해서 묶었으니까 이 한 점을 나타내는 숫자의 묶음은 벡터입니다. 만약 10분 후에 드론이 움직였다면, 시간까지 넣어서 첫 번째 위치와 구분할 수 있습니다. 이 경우에는 [위도, 경도, 고도, 시간] 까지 총 4개의 원소로 이루어진 벡터가 됩니다.

‘3차원’에서 갑자기 차원이라는 용어가 나왔는데요. 좌표축의 개수라고 생각하시면 되겠습니다. 우리는 평면인 2차원, 공간인 3차원에 익숙합니다. 평면에서는 2개의 숫자로, 공간에서는 3개의 숫자로 한 점을 표현할 수 있습니다. 그런데 평면도 2차원 공간이라고 씁니다. 우리에게 익숙한 공간은 3차원인데, 이를 표현하는 용어도 3차원 공간입니다. 2차원 공간, 3차원 공간이 나왔으니, 4차원, 5차원, …. 1억 차원이라는 용어도 가능합니다.

앞서 예로 든 이미지 데이터도 똑같은 벡터 개념을 사용하고 있습니다. 이미지 데이터 1개는 324개의 촤표축으로 이루어진 공간에서 한 점을 나타냅니다. 숫자의 묶음을 3개, 4개, 324개로 확장해 보았는데요. 더 선명한 화소수를 가지는 100만개의 숫자 묶음이 있더라도, 그 벡터는 100만개의 좌표축으로 이루어진 공간에서 한 점을 나타냅니다. 4차원 이상이 되면 좌표축을 우리 머릿속에서 그릴 수 없지만, 100만개의 숫자 묶음을 예로 들었듯 그 공간이 없는 것은 아닙니다.


마치며 …

머신러닝 수학은 빅 데이터를 다루는 수학입니다. 인공지능보다 먼저 알아야 할 개념이 빅 데이터입니다. 이번 포스팅에서는 이미지 벡터화 등 컴퓨터가 데이터를 다루는 방식을 알아보았습니다. 컴퓨터가 데이터를 다루는 핵심에는 벡터가 있습니다. 벡터는 나열된 숫자의 묶음이고, 숫자의 개수에는 제한이 없습니다. 나열된 숫자의 개수를 차원이라고 표현했습니다. 3개의 숫자의 묶음이 3차원 공간에서 한 점을 나타냈듯이, 100만개의 숫자의 묶음은 100만차원 공간에서 한 점을 나타냅니다. 앞으로는 이 벡터라는 개념을 가지고 머신러닝 수학을 계속 진행해보겠습니다.

 

 

함께 참고하면 좋은 글
1. 애플 티비 4K HDR과 디스플레이 용어 이해
2. ChatGPT, 라마(LLaMA)가 여는 생성형 인공지능 시장
3. 이진수 데이터. 디지털 컴퓨터와의 소통 수단
4. ChatGPT 플러그인, 멀티 모달 인공지능
5. 머신러닝, 인공지능. 커피 마시며 가볍게 읽는
6. 커피와 인공지능
7. 중학수학 함수와 최고의 커피 한잔


참고자료

도올TV, [도올김용옥] 수학을 배우다. AI(인공지능) 이해를 위한 최소한의 수학 02 – 먹고살기 위한 수학? [남호성교수]

Leave a Comment