Study/AI, 머신러닝, CNN 딥러닝

[AI 개론] 02 - Tensor 개념과 이미지 데이터 표현

도엔 2025. 3. 19. 00:06
728x90

1. Tensor의 개념

  • 텐서(Tensor)는 다차원 배열(배열의 일반화된 형태)을 의미하며, 스칼라, 벡터, 행렬의 확장된 개념이다.
  • 머신러닝과 딥러닝에서는 데이터 표현과 연산을 위해 텐서를 사용
개념 차원 (Dimensionality) 예시
스칼라 (Scalar) 0D (0차원) \( x \in \mathbb{R} \)
벡터 (Vector) 1D (1차원) \( \mathbf{x} \in \mathbb{R}^N \)
행렬 (Matrix) 2D (2차원) \( \mathbf{X} \in \mathbb{R}^{M \times N} \)
3D 텐서 (3차원 텐서) 3D \( \mathbf{X} \in \mathbb{R}^{H \times W \times C} \)
nD 텐서 (고차원 텐서) ( n )-차원 \( \mathbf{X} \in \mathbb{R}^{d_1 \times d_2 \times \dots \times d_n} \)

 


==========𝔼𝔼𝟚𝟚==========

 

2. 이미지 데이터 표현과 Tensor 구조

2.1 흑백 이미지 (Grayscale Image)

  • 흑백 이미지는 각 픽셀이 밝기(Brightness) 값 하나를 가짐
  • 2D 행렬로 표현될 수 있지만, 딥러닝 모델에서는 채널(Channel) 차원 추가3D Tensor로 변환
    \[
    \mathbf{X} \in \mathbb{R}^{H \times W \times 1}
    \]
    • ( H ): 이미지 높이 (Height)
    • ( W ): 이미지 너비 (Width)
    • ( 1 ): 단일 채널 (Grayscale)

예제) MNIST 데이터셋 (28 × 28, 흑백)
\[
\mathbf{X} \in \mathbb{R}^{28 \times 28 \times 1}
\]

_

2.2 컬러 이미지 (RGB Image)

  • 컬러 이미지에서는 각 픽셀이 Red, Green, Blue (RGB) 3개의 값을 가짐.
  • 따라서 3D Tensor 형태로 표현됨:
    \[
    \mathbf{X} \in \mathbb{R}^{H \times W \times 3}
    \]
    • ( H ): 이미지 높이
    • ( W ): 이미지 너비
    • ( 3 ): RGB 채널

예제) ImageNet 데이터셋 (224 × 224, RGB 컬러)
\[
\mathbf{X} \in \mathbb{R}^{224 \times 224 \times 3}
\]

_

2.3 Batch

  • 딥러닝에서는 여러 개의 이미지를 한 번에 처리하기 위해 Batch 단위로 데이터를 표현함.
  • Batch를 포함하면 4D Tensor가 됨:
    \[
    \mathbf{X} \in \mathbb{R}^{N \times H \times W \times C}
    \]
    • ( N ): 배치 크기 (Batch Size)
    • ( H ): 높이 (Height)
    • ( W ): 너비 (Width)
    • ( C ): 채널 (Channel)

예제) Batch 크기 32, 224×224 RGB 이미지
\[
\mathbf{X} \in \mathbb{R}^{32 \times 224 \times 224 \times 3}
\]

 


==========𝔼𝔼𝟚𝟚==========

 

3. Tensor와 연산

  • 텐서 연산(Tensor Operations)은 벡터 및 행렬 연산의 확장된 형태이다.
  1. 덧셈/뺄셈
    \[
    \mathbf{A}, \mathbf{B} \in \mathbb{R}^{H \times W \times C} \Rightarrow \mathbf{A} + \mathbf{B} \in \mathbb{R}^{H \times W \times C}
    \]
  2. Scalar 곱 (Multiplication)
    \[
    \alpha \in \mathbb{R}, \quad \mathbf{X} \in \mathbb{R}^{H \times W \times C} \Rightarrow \alpha \mathbf{X} \in \mathbb{R}^{H \times W \times C}
    \]
  3. 내적 (Dot Product)
    \[
    \mathbf{X} \in \mathbb{R}^{M \times K}, \quad \mathbf{Y} \in \mathbb{R}^{K \times N} \Rightarrow \mathbf{X} \cdot \mathbf{Y} \in \mathbb{R}^{M \times N}
    \]
  4. 합성곱 (Convolution)
  • CNN에서는 합성곱(Convolution) 연산을 사용하여 특징을 추출:
    \[
    \mathbf{X} \ast \mathbf{W} = \mathbf{Y}
    \]
    • \( \mathbf{X} \): 입력 이미지 텐서
    • \( \mathbf{W} \): 필터(커널) 텐서
    • \( \mathbf{Y} \): 출력 텐서 (특징 맵)


==========𝔼𝔼𝟚𝟚==========

 

4. 결론 및 정리

4.1 핵심 정리

  1. Tensor는 다차원 배열이며, 이미지 데이터는 3D Tensor로 표현됨
  2. 흑백 이미지 (Grayscale) → \( H \times W \times 1 \)
  3. 컬러 이미지 (RGB) → \( H \times W \times 3 \)
  4. Batch를 포함하면 4D Tensor (Batch, Height, Width, Channels)
  5. CNN 모델에서는 합성곱 연산(Convolution)을 통해 이미지 특징을 추출

_

4.2 주요 수식

  1. Grayscale Image Tensor:
    \[
    \mathbf{X} \in \mathbb{R}^{H \times W \times 1}
    \]
  2. RGB Image Tensor:
    \[
    \mathbf{X} \in \mathbb{R}^{H \times W \times 3}
    \]
  3. Batch 포함 Tensor:
    \[
    \mathbf{X} \in \mathbb{R}^{N \times H \times W \times C}
    \]
  4. CNN의 합성곱 연산:
    \[
    \mathbf{X} \ast \mathbf{W} = \mathbf{Y}
    \]

 

728x90
반응형