스칼라
한 줄 정의
숫자 하나. 차원이 없는 값
1. 비유로 이해하기
숫자를 담는 그릇을 아파트로 생각하면 맞아떨어진다. 스칼라는 방 하나다.
몇 동 몇 층 몇 호인지 댈 필요가 없다. 그냥 그거 하나다. 주소를 대는 데 필요한 정보가 0개라서 스칼라를 0차원이라고 부른다.
온도가 23, 확률이 0.95. 이런 값들이 스칼라다.
2. 왜 필요한가
숫자 하나에 왜 이름까지 붙였을까
“숫자 하나”라는 말이면 충분할 것 같은데 굳이 이름이 붙은 이유가 있다. 값이 하나인지 여러 개인지에 따라 계산의 모양이 완전히 달라지기 때문이다.
숫자 하나를 벡터에 곱하는 것과 벡터를 벡터에 곱하는 것은 전혀 다른 연산이다. 그래서 “이 값은 하나짜리”라는 걸 분명히 해 두어야 한다. 스칼라는 0차원이라는 자리를 차지하는 이름이다.
실제로 만나는 스칼라들
| 무엇 | 왜 스칼라인가 |
|---|---|
| 온도(temperature) | 답변의 무작위성을 조절하는 값 하나 |
| 학습률 | 모델이 한 번에 얼마나 고칠지 정하는 값 하나 |
| 손실값(loss) | 지금 얼마나 틀렸는지를 나타내는 값 하나 |
| 확률 하나 | 0.87 같은 값 |
| 토큰 ID 하나 | 14523 처럼 토큰을 가리키는 번호 |
LLM이 내놓는 마지막 값이 스칼라다
이게 스칼라를 기억해야 하는 가장 좋은 이유다.
LLM은 다음에 올 단어를 고를 때, 사전에 있는 모든 단어(10만 개쯤)에 점수를 매긴다. 그 점수 뭉치는 숫자 10만 개짜리 벡터다. 그걸 확률로 바꿔도 여전히 10만 개짜리 벡터다.
그런데 최종 출력은 거기서 하나를 고른 값이다. 숫자 하나. 스칼라.
숫자 10만 개 (벡터) ──하나 고르기──▶ 14523 (스칼라)
└─ "좋은" 이라는 토큰
그 스칼라 하나가 글자로 바뀌어 화면에 찍힌다. 우리가 읽는 AI의 답변은 스칼라를 하나씩 이어붙인 것이다.
3. 어디서 만났나
이 용어는 수업에서 정식으로 다루기 전에 따로 정리한 것이다.
다만 7회차에서 토큰과 컨텍스트를 배울 때 이미 마주친 개념이었다. 토큰 하나는 결국 번호 하나이고, 그 번호가 스칼라다. “토큰 수”를 세는 일도 값 하나를 다루는 일이다.
7회차 — 에이전트, MCP, 스킬 — 범용 AI를 내 전용 조수로
4. 헷갈리는 개념
| 이 용어 | 비슷하지만 다른 것 | 차이 |
|---|---|---|
| 스칼라 (Scalar) | 스케일러 (Scaler) | 발음이 거의 같은데 전혀 다르다. 스칼라는 숫자 하나, 스케일러는 숫자들의 크기를 맞춰 주는 도구다 |
| 스칼라 | 벡터 | 벡터는 숫자를 한 줄로 늘어놓은 것. 스칼라는 그중 하나 |
| 스칼라 | 상수 | 상수는 “변하지 않는 값”이라는 뜻. 스칼라는 “값이 하나”라는 뜻. 변하는 스칼라도 많다(손실값은 매 단계 바뀐다) |
| 스칼라 | 0차원 텐서 | 같은 말이다. 딥러닝 코드에서는 스칼라도 텐서로 취급한다 |
5. 많이들 오해하는 지점
ㄱ. “스칼라랑 스케일러는 같은 말 아닌가”
한국어로 쓰면 거의 같게 들려서 정말 자주 섞인다. 전혀 다른 물건이다.
| 스칼라 (Scalar) | 스케일러 (Scaler) | |
|---|---|---|
| 정체 | 숫자 하나 — 그릇의 모양 | 크기를 맞춰 주는 도구 |
| 비유 | 방 하나 | 다들 같은 기준으로 키를 재는 자 |
| 예 | 23, 0.95 |
StandardScaler, MinMaxScaler |
스케일러가 하는 일은 이렇다. 데이터에 나이(0~100)와 연봉(0~1억)이 섞여 있으면, 연봉 숫자가 너무 커서 모델이 나이를 거의 무시해 버린다. 그래서 둘을 비슷한 범위로 줄여 주는 게 스케일러다. 이걸 정규화(normalization)라고 한다.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X) # 모든 열을 평균 0, 표준편차 1로
손글씨 이미지의 픽셀 값 0~255를 0~1로 나누는 것도 같은 작업이다.
ㄴ. “숫자 하나에 이름까지 붙일 필요가 있나”
필요하다. 코드에서 “이건 값 하나야”를 명시하지 않으면 모양이 안 맞아서 에러가 난다. 딥러닝 에러의 상당수가 이런 모양 문제다. 스칼라는 그 체계의 맨 아래 칸이다.
ㄷ. “스칼라는 정수를 말하는 것”
23도 0.95도 -1.7도 전부 스칼라다. 정수냐 실수냐가 아니라 몇 개냐의 문제다. 숫자가 하나면 종류가 뭐든 스칼라다.