Lesson 3

행렬과 행렬 연산

2 min Views 1

행렬 덧셈·곱셈·전치 연산을 익히고, 신경망 가중치가 행렬로 표현되는 구조를 파악한다.

행렬이란?

행렬(Matrix)은 숫자를 직사각형 격자 형태로 배열한 것입니다. 벡터가 1차원 배열이라면, 행렬은 2차원 배열입니다.

# 2×3 행렬 (2행 3열)
A = [[1, 2, 3],
     [4, 5, 6]]

# 이미지는 행렬이다
# 28×28 흑백 이미지 = 784개 숫자로 이루어진 행렬

핵심 행렬 연산

행렬 덧셈: 같은 크기끼리만 가능

A = [[1, 2], [3, 4]]
B = [[5, 6], [7, 8]]
A + B = [[6, 8], [10, 12]]  # 같은 위치끼리 더함

행렬 곱셈: AI의 핵심 연산

행렬 곱셈은 단순히 위치끼리 곱하는 것이 아닙니다. (m×n 행렬) × (n×k 행렬) = (m×k 행렬)

A = [[1, 2],    B = [[5, 6],
     [3, 4]]         [7, 8]]

A × B = [[1×5+2×7,  1×6+2×8],    =  [[19, 22],
          [3×5+4×7,  3×6+4×8]]        [43, 50]]

행렬 곱셈은 순서가 중요합니다. A×B ≠ B×A (일반적으로).

전치 행렬: 행과 열을 뒤집기

A  = [[1, 2, 3],    AT = [[1, 4],
      [4, 5, 6]]          [2, 5],
                          [3, 6]]

신경망에서 행렬이 하는 일

신경망의 각 레이어는 가중치 행렬과 입력 벡터의 곱셈으로 이루어집니다.

# 신경망 한 레이어의 핵심 연산
출력 = W × 입력 + b
# W: 가중치 행렬 (학습으로 결정됨)
# b: 편향(bias) 벡터

입력이 100개 특징을 가진 벡터이고 레이어가 200개 뉴런을 가지면, W는 200×100 행렬입니다. 이 행렬의 각 숫자가 학습으로 최적화되는 파라미터입니다.

배치 처리: 행렬 곱셈의 위력

AI 훈련 시 데이터를 한 번에 여러 개(배치) 처리합니다. 32개 데이터를 동시에 처리할 때:

# 단일 입력: 벡터 (100,)
# 배치 입력: 행렬 (32, 100)
# 한 번의 행렬 곱셈으로 32개를 동시 계산
출력 = 입력_배치 @ W.T  # (32, 100) @ (100, 200) = (32, 200)

GPU는 이 행렬 곱셈을 병렬로 처리하는 데 특화되어 있습니다. AI가 GPU를 필요로 하는 근본적인 이유입니다.

단위 행렬

# 단위 행렬 I: 곱해도 변하지 않음 (숫자 1과 같은 역할)
I = [[1, 0, 0],
     [0, 1, 0],
     [0, 0, 1]]

A × I = A  (항상 성립)
핵심: 신경망 = 거대한 행렬 곱셈의 연속입니다. 행렬 연산을 이해하면 신경망의 내부 구조가 보입니다.

관련 검색어  ·  행렬이란, 행렬 곱셈, 신경망 가중치 행렬, 선형대수 행렬, 딥러닝 행렬연산, GPU 행렬 곱셈

채용정보
공지사항
인사이트
MY