728x90
Tensor 종류
1. Scalar (0차원 tensor)
- 하나의 숫자로 표현되는 가장 기본적인 형태.
- 크기(magnitude)만을 가지며 방향은 없음.
- 예시: 온도(25°C), 나이(20), 가격(1000원)
# 파이썬/NumPy에서의 표현
scalar = 5.0
2. Vector (1차원 tensor)
- 숫자들의 순서가 있는 array(배열): Numbers' ordered list.
- Magnitude(크기)와 Direction(방향)을 모두 가짐.
- 선형대수에서는 공간 상의 한 점 또는 방향을 나타내는 화살표로 해석: Vector Space의 element!
- 기계학습 및 딥러닝에서는 데이터 instance(=single sample)의 특성(feature)들을 담는 container로 사용되어 하나의 instance를 표현.
# 파이썬/NumPy에서의 표현
vector = [1, 2, 3] # shape: (3,)
3. Matrix (2차원 tensor)
- 숫자들의 2차원 배열.
- 행(row)과 열(column)으로 구성.
- row vectors 또는 column vectors의 collection으로도 해석가능.
- 선형대수에서는 Linear Transform(선형 변환)이나 Linear System(연립방정식)을 표현.
- 기계학습 및 딥러닝에서는
- 여러 데이터 instances (multiple-samples)들의 set(집합)이나
- 이미지 데이터(array of pixels)를 표현하는 데 사용
# 파이썬/NumPy에서의 표현
matrix = [
[1, 2, 3],
[4, 5, 6]
] # shape: (2, 3)
4. Tensor (3차원 이상)
- 3차원 이상의 숫자 배열
- 선형대수 vector, matrix의 개념을 더 높은 차원으로 확장함!
- 기계학습 및 딥러닝에서 가장 기본적인 데이터 구조 (set of multi-dimensional vectors)로 사용.
# 파이썬/NumPy에서의 표현
tensor = [
[[1, 2], [3, 4]],
[[5, 6], [7, 8]]
] # shape: (2, 2, 2)
Usage of Tensor
Tensor 활용 예시
- 이미지 데이터(pixel과 voxel의 집합)
# 컬러 이미지의 tensor 표현 image_tensor.shape = (batch_size, height, width, channels) # 예: (32, 224, 224, 3)
- batch_size: 한 번에 처리할 이미지 개수
- height, width: 이미지의 높이와 너비
- channels: RGB 색상 채널 (3)
- 자연어 처리
# 문장 데이터의 tensor 표현
text_tensor.shape = (batch_size, sequence_length, embedding_dim)
# 예: (64, 100, 300)
- batch_size: 처리할 문장 개수
- sequence_length: 문장의 최대 길이
- embedding_dim: 각 단어의 벡터 표현 차원
Tensor 의 활용
- Vector Space 의 데이터들의 모임.
- 선형대수: 벡터는 vector space(공간)상의 하나의 point(점)를 나타내거나, vector space 상의 특정방향을 가리키기도 함.
- 기계학습 및 딥러닝: 벡터는 데이터(=multi-dimensional vector) 담는 컨테이너로서 instance 하나를 묘사.(보통 매우 큰 차원수를 가짐)
- 선형 변환의 확장
- 선형대수: matrix는 벡터를 다른 벡터로 변환하는 함수(Linear Transform)
- 기계학습 및 딥러닝: 신경망의 각 층은 입력 tensor를 새로운 tensor로 변환(with Activation)
- Linear Transform은 고유한 Matrix로 표현됨(standard matrix)
- 비선형성을 위해서는 activation function이 도입됨.
- 차원의 확장
- 선형대수: 주로 2차원까지의 연산 또는 연립방정식의 해를 구하는데 많이 사용됨.
- 기계학습 및 딥러닝: 더 높은 차원의 데이터와 연산을 자연스럽게 다룸.
반응형
'Programming > ML' 카테고리의 다른 글
[ML] Nearest Neighbor Search: k-d Tree (0) | 2024.11.25 |
---|---|
[ML] Feature Importances for Decision Tree (0) | 2024.11.10 |
[ML] Regularization (0) | 2024.10.27 |
[ML] Linear Classification Model: Hyperplane and Decision Boundary (0) | 2024.10.27 |
[ML] Diabetes Dataset (0) | 2024.10.05 |