딥러닝 핵심 개념! 텐서를 쉽게 알아보기 💡
안녕하세요! 오늘은 딥러닝을 이해하는 데 필수적인 텐서를 쉽고 재미있게 알아볼 거예요.
복잡하게만 느껴지는 텐서를 우리 주변의 예시와 함께 차근차근 살펴볼게요.
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기초 #이미지처리 #자연어처리 #딥러닝공부 #코딩 #파이토
'파이썬 공부' 카테고리의 다른 글
PyTorch로 시작하는 딥러닝 일기 - Day 1 (0) | 2025.02.19 |
---|---|
파이썬 기초 - List 리스트 (0) | 2022.04.02 |
파이썬 콘솔 터미널 화면 클리어 방법 - Python terminal clear (0) | 2022.04.02 |
댓글