본문 바로가기

CS/AI

[AI] AI를 위한 선형대수학 기초

이 포스트는 숭실대학교 김창훈 교수님의 인공지능 수업을 정리한 포스트입니다.

 

 

SVD 간단 소개

다음과 같은 행렬 A가 있을 때, 이 행렬 A의 Column Space는 아래와 같다.

그러므로 이 행렬 A의 Rank는 1이다.

 

이를 SVD로 간단하게 표현해보면 아래와 같이 표현해볼 수 있다.

3*1 과 1*3의 행렬로 분해되었다.

 

CR 분해 간단 소개

다음과 같은 행렬 A가 있을 때, 이 행렬의 Column Space는 아래와 같다.

그러므로 이 행렬 A의 Rank는 2이다.

 

이를 CR 분해시키면 아래와 같이 결과가 나온다.

 

 

Rank와 Column space

  • 행렬 A가 있을 때, Rank(A) = Rank(A^T)는 성립한다.
이는 전치를 시켜도 선형 독립 관계가 유지되기 때문이다!

 

 

  • 그리고 Ax의 Column space를 C(A)라고 할 때, ABCx의 Column space도 여전히 C(A)이다.
이는 ABCx -> A(BCx) -> A * something 으로 변환시킬 수 있기 때문이다!

 

 

 

Projection Matrix

  • 투영: 벡터를 다른 공간으로 그림자처럼 떨어뜨리는 선형변환
  • 투영 행렬: 이 변환을 나타내는 특별한 행렬

 

<도출 과정>

1. 문제 설정

우리는 벡터 b를 벡터 a 방향으로 투영하고자 한다.

 

 

2. 직교 조건

벡터 p에서 벡터 a와 수직인 벡터 e가 있다고 하자. 

이는 벡터 b와 연결된다.

 

e = b - p

a^T * e = 0

 

3. 계수 x 구하기

 

4. 투영벡터 구하기

 

5. 투영 행렬 도출

 

 

<도출 과정>

1. 문제 설정

벡터 b를 행렬 A의 열공간에 투영

 

2. 직교 조건

벡터 e는 열공간의 모든 벡터에 수직이다.

 

e = b - p

 

3. 계수 x 구하기

 

4. 투영 행렬 도출

 

 

이때 투영 행렬 P는

  • P^2 = P
  • P^T = P

두 성질이 성립한다. 이에 대한 증명도 꼭 알아보도록 하자.

 

 

관련 논문: SAFREE

CLIP 모델에 나쁜 이미지를 생성하는 프롬프트를 넣으려고 할 때,

문장의 각 단어 중 나쁜 단어의 토큰을 정사영시켜서 의미를 보존하면서도 안전한 이미지가 나오도록 한 논문.

https://arxiv.org/abs/2410.12761