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
'딥러닝연구실' 카테고리의 다른 글
딥러닝 워크샾 후기 (4) | 2015.04.27 |
---|---|
기계학습 / 머신러닝 기초 ( Machine Learning Basics ) (27) | 2014.07.30 |
Maximum Likelihood Estimator (11) | 2010.08.15 |
[Optimization #2] Natural Gradient (1/3) – Riemannian Geometry (0) | 2010.06.11 |
Independent Vector Analysis (IVA) 를 유도해 보자. (0) | 2010.05.25 |
일반적인 Adaptive Filter와 Independent Component Analysis (ICA)와의 차이점 (1/2) (0) | 2010.05.24 |