벡터(Vector)와 텐서(Tensor) 그리고 랭크( Rank)

calico·2026년 4월 27일

Artificial Intelligence

목록 보기
179/186

벡터와 텐서는 물리량과 데이터 구조를 표현하는 수학적 객체입니다. 텐서(Tensor)는 스칼라, 벡터, 행렬을 모두 포함하는 가장 일반적이고 다차원적인 개념입니다.

1. 벡터 (Vector, 1차원 텐서)


* 크기(Magnitude)와 방향(Direction)을 동시에 갖는 물리량입니다. 기하학적으로는 시점과 끝점을 연결하는 화살표로 시각화됩니다.
  • 컴퓨터/딥러닝: 데이터를 나열한 1차원 배열(1D Array)을 의미하며, 이를 1차원 텐서(1D Tensor)라고도 부릅니다.

  • 실무 예시:

    • 물리: 속도(Velocity), 힘(Force), 가속도.

    • 데이터: 한 명의 유저 정보(나이, 키, 몸무게)를 담은 리스트 [30, 175, 70].



2. 텐서 (Tensor)


  • 스칼라(0차원), 벡터(1차원), 행렬(2차원)을 포함하여 3차원 이상의 고차원 데이터를 모두 포괄하는 개념입니다.

  • 물리적/수학적 의미: 좌표계가 변하더라도 물리적 법칙을 일관되게 기술할 수 있는 대수적 객체입니다. (공변/반변 성질)

  • 딥러닝 활용: 파이토치(PyTorch)텐서플로우(TensorFlow)와 같은 프레임워크에서 데이터를 처리하는 기본 단위입니다.



텐서의 랭크(Rank/Order)별 명칭


랭크 (Rank)명칭 (Name)의미데이터 구조 예시
0-rank스칼라 (Scalar)단일 값 (크기만 존재)7
1-rank벡터 (Vector)1차원 배열 (크기+방향)[1, 2, 3]
2-rank행렬 (Matrix)2차원 배열 (표 형태)[[1, 2], [3, 4]]
n-rankn차원 텐서3차원 이상의 다차원 배열이미지(RGB), 영상 데이터



3. 벡터와 텐서의 차이점 요약


구분벡터 (Vector)텐서 (Tensor)
차원 (Dimension)1차원 고정 (랭크 1)0차원 ~ N차원 (일반적 개념)
데이터 구성성분의 1차원 나열성분의 다차원 배열 구조
핵심 개념크기와 방향을 가진 양공간 간의 선형 관계 및 좌표계 불변성
수학적 표기인덱스 1개 사용인덱스 여러 개 사용



수학적 표기 예시


벡터는 하나의 인덱스로 표현되지만, 텐서는 차원만큼의 인덱스가 필요합니다.

viv_i, Ti,j,k...T_{i,j,k...}



4. 결론 및 실무적 시사점


  1. 물리학/해석학: 좌표계가 바뀌어도 변하지 않는 물리 법칙을 설명할 때 사용됩니다.

  2. 인공지능(AI)

    • 이미지: (가로, 세로, 채널)3차원 텐서로 처리합니다.

    • 영상/배치: (시간/배치, 가로, 세로, 채널)4차원 텐서 이상을 다룹니다.

    • 결국 딥러닝 학습이란, 입력 텐서에 가중치 텐서를 곱하여 출력 텐서를 만들어가는 과정입니다.

딥러닝 코드를 짤 때 shape를 확인하는 습관은 곧 "이 데이터가 몇 차원 텐서인가?"를 확인하는 것과 같습니다. (예: PyTorch의 tensor.shape)



[참고] 세 가지 종류의 랭크(Rank)


1. 텐서 랭크 (Tensor Rank / Order)


  • 의미: "데이터의 차원(Dimension)이 몇 개인가?"

  • 설명

    • 스칼라는 0, 벡터는 1, 행렬은 2... 이렇게 축(Axis)의 개수를 말합니다.

    • 딥러닝 프레임워크(PyTorch, TensorFlow)에서 tensor.ndim 또는 tf.rank()를 호출했을 때 나오는 숫자입니다.

  • 예시: [10, 64, 64, 3] 형태의 이미지 텐서는 4-Rank 텐서입니다.



2. 행렬의 랭크 (Matrix Rank / Linear Algebra)


  • 의미: "행렬 내에서 서로 독립적인(Unique한) 정보가 몇 줄인가?"

  • 설명

    • 선형대수학에서 쓰는 개념으로, 행렬의 행(Row)이나 열(Column) 중에서 다른 줄의 조합으로 만들 수 없는 '진짜' 정보의 개수를 뜻합니다.

    • 랭크가 높을수록 데이터가 풍부하고, 낮으면(Low-rank) 데이터에 중복이 많다는 뜻입니다.

  • 실무 활용: 최신 AI 기법인 LoRA (Low-Rank Adaptation)에서 말하는 랭크가 바로 이것입니다. (거대한 모델을 핵심 정보만 담은 작은 랭크의 행렬로 쪼개어 학습하는 기술)



3. 정렬 랭크 (Ordinal Rank / Sorting)


  • 의미: "순서를 매겼을 때 몇 번째인가? (순위)"

  • 설명

    • 우리가 일상적으로 쓰는 '랭킹'입니다. 데이터를 크기순으로 나열했을 때의 위치(1등, 2등...)를 말합니다.

    • SQL의 RANK() 함수나 검색 엔진의 페이지 랭크(PageRank)가 여기에 해당합니다.



구분텐서 랭크 (Tensor Rank)행렬 랭크 (Matrix Rank)정렬 랭크 (Sorting Rank)
핵심 질문"축(Axis)이 몇 개인가?""독립적인 정보가 몇 개인가?""몇 등인가?"
대상텐서 전체 구조행렬 내부의 값 관계데이터 리스트의 순서
딥러닝 예시이미지 텐서는 4차원(4-Rank)이 레이어는 중복 정보가 많네(Low-rank)손실(Loss)이 낮은 순서대로 정렬(Rank)



profile
All views expressed here are solely my own and do not represent those of any affiliated organization.

0개의 댓글