본문 바로가기
파이썬 공부

텐서(Tensor)의 세계에 오신 것을 환영합니다!

by AI 디코더 2025. 1. 20.

 

딥러닝 핵심 개념! 텐서를 쉽게 알아보기 💡

안녕하세요! 오늘은 딥러닝을 이해하는 데 필수적인 텐서를 쉽고 재미있게 알아볼 거예요.
복잡하게만 느껴지는 텐서를 우리 주변의 예시와 함께 차근차근 살펴볼게요.


1. 텐서란 무엇인가요? 🤔

텐서는 데이터를 다차원 구조로 표현한 도구예요.
이해하기 쉽게 정리하자면:

  • 1차원 텐서: 숫자가 쭉 늘어선 줄(예: 학생들의 키)
  • 2차원 텐서: 표처럼 행과 열로 구성된 형태(예: 학급별 시험 점수)
  • 3차원 텐서: 여러 장의 표가 쌓인 구조(예: 컬러 이미지)
  • 4차원 텐서: 시간까지 포함된 데이터(예: 동영상)

코드를 활용한 예시 🎓

import numpy as np

# 1차원 텐서 (벡터)
heights = np.array([170, 175, 168, 182, 165])

# 2차원 텐서 (행렬)
scores = np.array([
    [85, 90, 95],
    [88, 92, 87],
    [91, 85, 89]
])

2. 텐서와 실생활 📱

이미지 처리

  • 흑백 사진: 2차원 텐서 (높이 × 너비)
  • 컬러 사진: 3차원 텐서 (높이 × 너비 × RGB)
from PIL import Image
import torch

image = Image.open('example.jpg')  # 이미지 파일 열기
tensor_image = torch.from_numpy(np.array(image))  # 텐서로 변환
print(tensor_image.shape)  # 예: torch.Size([224, 224, 3])

자연어 처리

  • 문장은 1차원 텐서(단어의 나열)
  • 문서는 2차원 텐서(여러 문장의 집합)

3. PyTorch로 텐서 다루기 🛠️

PyTorch를 활용하면 텐서를 쉽게 생성하고 조작할 수 있어요.
예를 들어 볼게요!

import torch

# 다양한 텐서 생성
tensor1 = torch.tensor([1, 2, 3])  # 1차원 텐서
tensor2 = torch.zeros((2, 3))  # 2차원 텐서
tensor3 = torch.randn(2, 3, 3)  # 3차원 텐서

# 텐서의 정보 확인
print(f"Shape: {tensor1.shape}")
print(f"차원 수: {tensor1.ndim}")
print(f"데이터 타입: {tensor1.dtype}")

4. 텐서 연산의 매력 ✨

텐서는 단순한 저장 구조가 아니라, 강력한 연산 도구예요.
예를 들어 두 텐서의 덧셈, 곱셈, 평균 계산이 가능하답니다.

a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

print(f"덧셈 결과: {a + b}")
print(f"곱셈 결과: {a * b}")
print(f"평균값: {a.mean()}")

5. 실전에서 텐서를 활용하는 방법 🎯

텐서는 딥러닝 모델의 입력 데이터로도 사용돼요.
아래는 신경망 연산에서 텐서를 활용하는 간단한 예입니다.

# 예제: 입력 데이터와 가중치 연산
batch_size = 32
features = 10
hidden = 20

input_tensor = torch.randn(batch_size, features)  # 입력 텐서
weights = torch.randn(features, hidden)  # 가중치 텐서
output = torch.matmul(input_tensor, weights)  # 행렬 곱 연산

print(f"입력 shape: {input_tensor.shape}")
print(f"출력 shape: {output.shape}")

6. 시각적 요소로 이해하기 🌈

복잡한 텐서를 쉽게 이해할 수 있도록 시각적 예를 준비했어요.

1차원 텐서(벡터)

2차원 텐서(행렬)

3차원 텐서(이미지)

높이 × 너비 × 색상 채널 구조로 되어 있어요.


마무리 🎉

텐서는 딥러닝의 기초이자 가장 중요한 도구예요.
이 글을 통해 텐서를 더 친근하게 느끼셨길 바래요!
추가로 궁금한 점이 있다면 언제든 물어보세요. 😊


 

#딥러닝 #PyTorch #텐서 #머신러닝 #AI기초 #이미지처리 #자연어처리 #딥러닝공부 #코딩 #파이토

댓글