
1. 스칼라란?
스칼라(Scalar) = 숫자 하나라고 생각하면 된다.
예를 들어,
3, -2, 0.5
이런 값 하나하나가 스칼라다.
프로그래밍으로 생각하면 더 쉽다.
double temperature = 23.5;
int level = 10;
float speed = 4.2f;
여기서 "23.5, 10, 4.2" 처럼 하나의 값으로 표현되는 데이터를 수학에서는 스칼라라고 부른다.
2. 왜 굳이 '숫자'라고 안 하고 '스칼라'라고 할까?
이게 앞으로 중요하다.
수학이나 AI에서는 숫자를 여러 형태로 묶어서 사용한다. 예를 들어 어떤 고양이의 정보를 이렇게 표현한다고 해보자.
5
이건 그냥 숫자 하나니까 스칼라.
그런데
[5,4,7]
이처럼 숫자 여러 개를 한 묶음으로 만들면 벡터(Vector)라고 부른다.
더 나아가 이런 벡터를 여러 개 모으면 행렬(Matrix)가 된다.

그래서 앞으로 계속
\(\boxed{ \text{Scalar} \rightarrow \text{Vector} \rightarrow \text{Matrix} }\)
순서로 개념이 확장될 것이다.
3. 스칼라는 0차원이다.
스칼라 \[ 5 \] 는 그냥 값 하나야.
수학/텐서 관점에서는 보통 0차원(0-D)이라고 한다.
반면, \[ [5,\;4,\;7] \] 은 숫자들이 한 방향으로 나열되어 있는 1차원 배열 형태의 벡터라고 볼 수 있다.
여기서 아주 중요한 주의점이 있어. "3차원 벡터"와 "3이라는 shape"는 다른 이야기야.
\[ x=[5,4,7] \] 이 벡터에는 원소가 3개 있어.
그래서 벡터 공간 관점: 3차원 벡터 라고 말한다.
하지만 배열/텐서 구조로 보면 축(axis)은 하나뿐이야.
[ 5, 4, 7 ]
└──────┘
축 1개
그래서 NumPy/PyTorch 같은 프로그래밍 관점에서는 **1차원 텐서이고 shape가 (3,)**라고 표현해.
이 둘은 앞으로 AI 공부할 때 정말 많이 헷갈리니까 지금부터 구별해두자.
4. Shape라는 것도 살짝 맛보기
스칼라:
\[ 5 \]
값 하나
벡터:
\[ [5,4,7] \]
숫자 3개
행렬:
\[ \begin{bmatrix} 5&4&7\\ 2&8&1 \end{bmatrix} \]
열 3개
↓ ↓ ↓
[ 5 4 7 ] ← 행
[ 2 8 1 ] ← 행
행 2개
이 행렬은
\[ 2\times3 \]
크기야.
즉 2행 3열.
프로그래밍에서는 보통
shape = (2, 3)
이라고 해.
지금은 shape를 완전히 이해할 필요 없어. 행렬 시간에 제대로 할 거야.
5. AI에서는 스칼라가 어디에 나오는데?
엄청 많이 나와.
예를 들어 신경망을 공부하다 보면 이런 게 나오지.
\[ y=wx+b \]
아직 이 수식은 몰라도 돼.
아주 단순한 경우에는 \[ x=3 \]\[ w=2 \]\[ b=1 \] 처럼 각각 하나의 숫자일 수 있다.
그러면 \[ y=(2\times3)+1 \]\[ y=7 \] 여기 등장하는 x, w, b, y가 모두 스칼라인 예시다.
나중에는 이게 벡터와 행렬로 확장돼서 \[ \mathbf y=W\mathbf x+\mathbf b \] 같은 형태가 되고, 이게 신경망의 핵심 연산 중 하나가 된다. 그리고 훨씬 나중에 우리가 목표로 하는 Transformer에서 \[ Q=XW_Q \] 같은 걸 만나게 되는 거고.
지금은 연결만 이렇게 알고 있으면 충분하다.
숫자 하나
↓
Scalar
↓
Vector
↓
Matrix
↓
선형변환
↓
Neural Network
↓
Transformer
🎯 0강에서 딱 하나만 기억하기
Scalar = 하나의 숫자로 이루어진 값
예:
\[ 3,\quad -1,\quad 0.72,\quad 100 \]
전부 스칼라.
댓글