Pytorch의 Tensor 소개

  • 최초 작성일: 2025년 5월 28일 (수)

목차

  1. 파이토치 텐서란?
  2. NumPy 배열과 텐서의 차이
  3. 텐서의 차원 개념
  4. 텐서의 주요 특징

파이토치 텐서란?

파이토치 텐서(Tensor)는 파이토치에서 사용하는 핵심 데이터 구조다. 간단히 말하면 딥러닝 프레임워크에서 NumPy 배열처럼 데이터를 처리하기 위한 자료구조라고 보면 된다. 텐서는 NumPy의 배열과 굉장히 비슷한 구조와 기능을 가지고 있어서, NumPy를 사용해본 사람이라면 쉽게 적응할 수 있다.

특히, 텐서는 딥러닝에서 필요한 다양한 연산을 수행하기 위해 특별히 설계된 자료구조다.

NumPy 배열과 텐서의 차이

NumPy 배열과 텐서는 매우 비슷하지만 중요한 차이점들이 있다:

  • 실행 환경: NumPy 배열은 주로 CPU에서만 실행되는 반면, 텐서는 GPU에서도 실행된다. GPU 사용을 통해 텐서는 병렬 처리를 지원하여 빠른 연산이 가능하다.
  • 딥러닝 전용 기능: 텐서는 자동 미분(Automatic Differentiation)과 같은 딥러닝 전용 기능을 제공한다. 이는 딥러닝 모델 학습 과정에서 역전파(backpropagation)와 같은 복잡한 계산을 쉽게 처리할 수 있도록 해준다.

텐서의 차원 개념

텐서의 차원은 데이터의 구조를 나타내며 다음과 같은 종류가 있다:

  • 0차원 (스칼라): 값 하나만을 가지고 있는 가장 단순한 형태.
  • 1차원 (벡터): 값 여러 개가 직선 형태로 나열된 구조.
  • 2차원 (행렬, Matrix): 벡터가 여러 개 모여 면을 이루는 구조로, 행과 열이 있는 형태.
  • 3차원 이상 (텐서): 2차원 행렬들이 여러 층으로 쌓여 입체 구조를 이루는 형태.

간단히 말해, 텐서는 3차원 이상의 데이터를 통칭하는 용어로 자주 사용되지만, 파이토치에서는 1차원, 2차원 데이터도 모두 텐서로 표현한다.

텐서의 주요 특징

텐서는 다음과 같은 중요한 특징을 가진다:

  • GPU 지원 및 병렬 연산: 텐서는 GPU를 활용해 병렬 연산을 빠르게 수행할 수 있다. 따라서 대량의 데이터와 복잡한 연산이 필수인 딥러닝 모델을 학습할 때 매우 효율적이다.
  • 자동 미분 기능: 딥러닝 모델을 학습시킬 때 필수적인 역전파를 위한 자동 미분을 텐서 수준에서 지원한다.

이러한 특징 덕분에 텐서는 딥러닝 프레임워크에서 필수적인 구성 요소로 자리 잡고 있다.