| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- RDBMS
- 딥러닝
- 캐글
- LangGraph
- ASR
- Python
- SQL
- 기초
- 생성형 인공지능
- 힙정렬
- dementional reduction
- 알고리즘
- 객체지향
- 정보처리기사
- Transformer
- python 기초
- CNN
- TTS
- 자연어처리
- 머신러닝
- 소프트웨어 개발
- 트랜스포머
- UMAP
- 데이터엔지니어
- 데이터 시각화
- python기초
- 에이전트
- 랭그래프
- RNN
- CLIP
- Today
- Total
수달이네 기술 블로그
AI는 왜 숫자를 통해 결과를 결정하는 걸까? 본문
ANN알고리즘을 배우던 중 문득 이런 생각이 들었다.
왜 딥러닝 알고리즘들은 모두 숫자가 가까워지는 식으로 표현할까?
생각해보면 LLM이나 다른 vision계열의 AI들도 모두 숫자로 모든 것을 표현한다.
난 이것이 이해가 가지 않았다. 그래서 알아보기 시작한다.
1. 본질적인 문제.
딥러닝 알고리즘은 본질적으로 수학적 모델이다.
한마디로 데이터를 입력받고, 패턴을 학습하고, 결과물을 예측하고, 분류하는 모든 과정이
숫자로 이루어져 있다는 것이다.
가장 큰 이유는 컴퓨터 자체가 0과 1로 이루어진 이진 데이터를 기반으로 작동하기 때문이었다.
- 이미지(VISION Model)

이미지의 경우도 숫자로 표현할 수 있다.
이미지를 픽셀단위로 볼때 흑백이미지를 예시로 들 경우 픽셀 하나가 0(흑)~255(백)의 값으로 나타난다.
이것을 모든 픽셀 (40x40 의 크기의 이미지일 경우 1600개의 픽셀) 을 숫자로 변환한다.
컬러 또한 마찬가지 인데 컬러는 RGB모두 255의 범위로 나타내어 변환한다.
그렇게 모든 픽셀은 숫자의 배열로 나타내진다.
앞으로 배울 CNN(Convoulution Neural Network) 딥러닝 알고리즘은 vision에 특화된 알고리즘인데,
이 알고리즘에서도 지역적인 패턴을 찾기위해 필터를 사용하는데 이것은 3x3으로 된 숫자 행렬이다.
이것을 이미지와 행렬 합성곱을 하면 지역적인 특성을 나타내는 특징맵이 나타난다.
-언어모델(Language Model)

언어모델도 마찬가지로 텍스트를 ai가 바로 이해할 수 없기 때문에 숫자로 바꿔야 한다.
토큰화(Tokenization)과정과 임베딩(Embedding)과정으로 나눠진다.
Tokenization은 텍스트를 Token의 단위로 쪼개야 한다. 영어로 예시를 들면 I like to learn은
I, like, to, learn으로 세부적으로 나뉜다. 이런 숫자는 고유한 ID로 매핑이 되는 것인데,
여기서 ID는 데이터셋을 만들때 자주 쓰이는 단어들을 모아서 사전을 만드는 것이다.
이 사전의 단어에 ID를 부여하는 것이다.
자 다시 돌아와서 이렇게 ID로 매핑하는 방법은 최근의 모델(GPT, BERT)는 서브워드 토큰화로
Playing의 경우 play 와 ##ing로 나누어 매핑하기도 한다. 이후 Embedding을 하는데,
Embedding은 토큰 ID를 의미있는 숫자 벡터로 바꾼다. 여기서 이 벡터는 단어의 의미를 담는데,
이러한 벡터는 [0.1, -0.3, 0.5, ..., (300번째 숫자)].이런식으로 300차원의 벡터로 표현하기도 하는데,
각 벡터들에는 특징 값을 가지게 된다. 예를 들어, 첫번째 숫자는 색, 두번째 숫자는 크기 이런식으로,
**실제로는 이렇게 명확히 나뉘지 않고, 복잡하고 미묘한 식으로 정해짐**
300차원은 Word2Vec이나 GloVe같은 유명 임베딩 모델에서 자주 쓰인다.
너무 낮은 차원(2)은 단어의 미묘한 차이를 표현하기 힘듦,
높은차원(1000)은 계산이 복잡해지고 시간이 오래걸림.
이런식으로 정해진 벡터는 각 단어의 관계를 숫자패턴으로 유사성을 배운다.
그렇게 되면 I like to learn은 4x300의 크기의 행렬로 바뀐다.
이런 식으로 숫자를 사용한다 이후 Transformer구조로 처리하는데 이것또한 후에 배울 것이다.
- 소리(Audio Model)
소리는 공기가 진동하며 생기는 파형이다. 이 파형을 숫자로 바꿔야 하는데, 이걸 Sampling이라한다.
Sampling과정에서 파형을 일정 간격으로 측정하는데 예를들어 1초에 44,100번 측정하면,
1초짜리 소리가 44,100개의 숫자로 표현된다. 이 과정에서 소리의 숫자는 1.0~-1.0의 범위로 정규화 된다.
이런식으로 표현하면 녹음환경, 장비에 따른 절대적인 크기에 상관없이 일관적으로 표현할 수 있다.
이런 샘플링 과정에서 소리는 [0.1, 0.3....]같은 숫자 시퀀스로 나열된다.

다른 방식으로는 Spectrogram이 있는데 시간에 따른 주파수 분포로 나타낸 것이다.
이 방식은 소리를 이미지로 표현하는데 x축 시간, y축 주파수, 색상/밝기 주파수의 세기 로 나타낸다.
이런식으로 이미지로 나타낼 경우 위에서 썼던 CNN을 사용하여 이미지 처리처럼 하게 된다.
이제 이런 숫자를 패턴으로 분석하는 것이다.
이런 식으로 딥러닝 모델들이 숫자를 사용하는 이유에 대해서 알아보았다.
참고:
http://aidev.co.kr/deeplearning/782
딥러닝 - 딥러닝 합성곱 신경망(CNN) 개요
http://m.blog.naver.com/msnayana/220776380373 http://bcho.tistory.com/1149 합성곱 신경망(Convolutional Neural Network)은 딥러닝의 가장 대표적인 방법입니다. 주로 이미지 인식에 많이 사용된다고 합니다. 기본
aidev.co.kr
+ Grok3
'학교공부' 카테고리의 다른 글
| Generative Model에 대해 (1) | 2025.03.24 |
|---|---|
| AI 입문과 ANN의 이해 (1) | 2025.03.11 |