Sparse Coding

진수·2024년 1월 15일
0

Sparse coding

Sparse의 사전적 의미는 "희미한"이라는 단어를 가지고 있다. ML의 관점에서 vector에서 대부분의 element가 0일때 sparse한 정보를 가지고 있다고 해서 이러한 상태를 sparse라고 한다.

어떤 대상을 여러개의 basis의 linear combination으로 표현하는 것을 sparse coding이라고 한다.

x=Da,whereD=(d1,d2,...,dm)x = Da, where D = (d_1, d_2,...,d_m)

D는 dictionary(사전), did_i는 dictionary element를 나타내고, aa는 sparse code라고 한다.

Sparse coding에서는 basis를 사람이 설정하는 것이 아닌 학습을 통해 훈련한 데이터를 통해 알아낸다. 이때 전체를 포함하는 Dictionary를 overcomplete(과잉 완벽)하게 알아내며, 표현된 벡터의 값은 대부분은 0이 되고, 일부만 0이 아닌 sparse한 상태가 된다. 이때문에 sparse라는 명칭이 붙었다.

Sparse coding의 목적은 최적의 Dictionay와 Sparse code(aa)를 알아내는 것이 목표이다.

이러한 상황의 예시는 영상을 sparse coding을 통해 나타내는 방법이 있는데 간단한 예시를 보면 다음과 같다.

profile
Hey! 모두들 안녕!

0개의 댓글