Independent Component Analysis(ICA)를
처음
공부하면서
가장
궁금했던
점
중
하나는
"ICA가
도대체
무엇이길래
기존에
배웠던 Least Mean Square(LMS)계열의 Adaptive Filter로는
풀
수
없는
문제들을
풀
수
있다는
말인가?" 였습니다. 그래서 LMS계열의 Adaptive Filter와 ICA의
차이점이
무엇인지
혼자
좀
정리를
해보았습니다.
Adaptive Filter : LMS 계열
LMS계열의 Adaptive Filter는
잘
알려진
대로
다음과
같은
구조를
지니게
됩니다.
그림 1. LMS 계열의
일반적인 Adaptive Filter 구조
이러한
구조의 Filter는 Echo Canceller등의 Application에는
유용하지만 ICA에서
내세우는
강점인 Cocktail Party Problem을
풀기에는
역부족으로
알려져
있습니다.
참고 1. Cocktail Party Problem
a number of people are talking simultaneously in a room (like at a cocktail party), and one is trying to follow one of the discussions. The human brain can handle this sort of auditory source separation problem, but it is a very tricky problem in digital signal processing. [1]
|
Adaptive Filter : ICA계열
그림 2. ICA 계열의
일반적인 Adaptive Filter 구조
그림 1과
그림 2의
차이점은
어디에
있을까요? Adaptive Filter가 x2에만
붙어
있는
것이
아니라, x1에도
붙어있는
것을
알
수
있습니다.
즉, Filter를
하나
더
사용했다는
것이지요. 이
하나
추가된 Filter가 Cocktail Party Problem을
푸는
열쇠가
됩니다.
왜
그런지
한번
살펴볼까요?
Solution for Cocktail-Party Problem
다음과
같은 Cocktail Party Problem을
한번
살펴보죠.
위
그림에서
입력신호 x1, x2는
다음과
같이
표현됩니다.
(1)
이 x1, x2를
이용해 s1을
구하는
것이 Cocktail-Party Problem의
목적이
되겠지요.
저
네모박스에 LMS 필터를
넣어서
한
번
결과를
구해보도록
하지요. 과연 s1을
얻을
수
있을지..
식 (1)에서 s2를
소거하도록
연립방정식을
풀면
가
될
것입니다.
이것을
다시
그림으로
표현하면
와
같이
되고, 보시다시피
우리가
얻을
수
있는
것은 10s1(s1이
아님) 입니다.
결론은
실패!
하지만 ICA에서
처럼
두
개의 Filter를
사용한다면
어떻게
될까요?
우리는 s1을
얻을
수
있는
것을
알
수
있습니다.
(0.1, 0.2 에
해당하는 Filter계수는 matrix inverse에
의해
쉽게
계산
가능하므로
생략)
그럼 Multiple Input Canceller와
비교하면
똑
같은
거
아니냐???? 라고
할
수
있겠지만
글이
길어져서
그건
다음
편으로
미루도록
하지요.
(사실
필터를
두
개
써야
한다는
건
반쪽짜리
답이지요. ^^)
세
줄
요약 :
- 하나의 Filter를
사용하는
일반적인 Adaptive Filter는 Cocktail Party Problem을
풀기에
적합하지
않다.
- Cocktail Party Problem에서
하나의
분리된 source를
얻기
위해서는
두
개의 filter를
사용해야
한다.
- 일반적인 Adaptive Filter외에 Multiple Input Canceller와의
차이점까지
파악해야
한쪽짜리
답을
만들
수
있다.
(다음번에
다룰
예정)
Reference
[1] http://en.wikipedia.org/wiki/Cocktail_party