16장 - 독립 성분 분석과 강화 학습
16장. 독립 성분 분석과 강화 학습
이번 강의에서는 ICA(독립 성분 분석)의 나머지 부분을 마무리하고, 이 강좌의 네 번째이자 마지막 주요 주제인 강화 학습을 시작한다. 누적 분포 함수(CDF)를 활용하여 ICA 모델을 유도하고, 최대 우도 추정으로 매개변수를 학습하는 방법을 다룬 뒤, 마르코프 결정 과정(MDP)의 기본 형식을 소개한다.
16.1 ICA 복습: 칵테일 파티 문제
ICA 문제에서는 \(n\)개의 독립 음원(source) \(s \in \mathbb{R}^n\)이 혼합 행렬 \(A\)를 통해 관측값 \(x\)로 변환된다.
\[x^{(i)} = A \cdot s^{(i)}\]
예를 들어 화자 2명과 마이크 2개가 있다면 \(A\)는 \(2 \times 2\) 행렬이고, 숙제 문제에서처럼 화자 5명과 마이크 5개라면 \(A\)는 \(5 \times 5\) 행렬이다. 시간 \(t\)에서 화자 1이 내는 소리는 \(s_1^{(t)}\)로 표기하며, 각 훈련 예제는 특정 시점의 마이크 녹음에 해당한다.
목표는 역혼합 행렬 \(W = A^{-1}\)을 찾아 원래 음원을 복원하는 것이다.
\[s^{(i)} = W \cdot x^{(i)}\]
\(W\)의 행을 \(w_1, w_2, \ldots, w_n\)으로 표기한다. 즉, 각 음원 \(s_j = w_j^T x\)로 복원된다.
16.2 ICA가 가능한 조건: 비가우시안 분포
지난 강의에서 ICA가 왜 가능한지를 직관적으로 설명했다. \(s_1\)과 \(s_2\)가 \([-1, +1]\)에서 균일 분포를 따르면 데이터는 정사각형 모양이 된다. 혼합 행렬 \(A\)를 통과하면 평행사변형으로 변형되고, 역혼합 행렬 \(W\)를 찾아 이 평행사변형을 다시 정사각형으로 되돌릴 수 있다.
그런데 만약 \(s_1\)과 \(s_2\)가 가우시안 분포를 따른다면 어떻게 될까? 독립인 표준 가우시안 분포의 결합 분포는 **회전 대칭(rotationally symmetric)**이다. 등고선이 원형이므로 어느 축이 \(s_1\)이고 어느 축이 \(s_2\)인지 구분할 수 없다. 이를 **회전 모호성(rotational ambiguity)**이라 한다.
핵심 정리는 다음과 같다.
\(s_1\)과 \(s_2\)가 독립이고 결합 분포가 회전 대칭이면, 그 분포는 반드시 가우시안이다. 따라서 ICA는 데이터가 비가우시안일 때에만 가능하다.
ICA 출력에는 두 가지 본질적 모호성이 존재한다.
- 순서 모호성: 어느 것이 화자 1이고 어느 것이 화자 2인지 알 수 없다.
- 부호 모호성: \(s_1\)과 \(-s_1\)을 구분할 수 없다(반전).
균일 분포의 경우 이 두 가지가 유일한 모호성이지만, 가우시안 분포에서는 추가적인 회전 모호성이 생겨 음원 분리 자체가 불가능해진다.
16.3 누적 분포 함수(CDF)와 확률 밀도 함수(PDF)
ICA 모델을 유도하려면 음원 \(s\)의 분포를 지정해야 한다. 여기서 PDF 대신 **CDF(누적 분포 함수)**를 활용한다.
확률 변수 \(S\)의 CDF \(F(s)\)는 다음과 같이 정의된다.
\[F(s) = P(S \leq s)\]
CDF의 특성은 다음과 같다.
- \(s \to -\infty\)이면 \(F(s) \to 0\)
- \(s \to +\infty\)이면 \(F(s) \to 1\)
- 단조 증가 함수
PDF와 CDF의 관계는 미분과 적분이다.
\[p_s(s) = F'(s)\]
즉, CDF를 미분하면 PDF를 얻고, PDF를 적분하면 CDF를 얻는다. CDF의 특정 점에서의 높이는 확률 변수가 그 값 이하일 확률, 즉 PDF의 해당 점 왼쪽 넓이에 해당한다.
16.4 ICA 모델의 유도
16.4.1 변수 변환과 행렬식
모델은 \(x = As = W^{-1}s\)이고 \(s = Wx\)이다. 음원 \(s\)의 밀도 \(p_s(s)\)를 알 때, 관측값 \(x\)의 밀도 \(p_x(x)\)를 구해야 한다.
직관적으로 \(p_x(x) = p_s(Wx)\)라고 쓰고 싶지만, 이는 이산 분포에서만 성립하고 연속 분포에서는 틀리다.
간단한 1차원 예시로 확인해 보자. \(s\)가 \([0, 1]\)에서 균일 분포이고 \(x = 2s\)라면, \(x\)는 \([0, 2]\)에서 균일 분포를 따른다. 이때 \(p_s(s) = 1\)이지만 \(p_x(x) = \frac{1}{2}\)이다. 단순히 \(p_s(Wx) = p_s(\frac{1}{2}x)\)로 대입하면 높이가 1이 되어 적분값이 2가 되므로 확률 밀도 함수의 조건(적분 = 1)을 위반한다.
올바른 공식은 **행렬식(determinant)**을 곱하는 것이다.
\[p_x(x) = p_s(Wx) \cdot |\det(W)|\]
1차원 예시에서 \(W = \frac{1}{2}\)이므로 \(|W| = \frac{1}{2}\)이다. \(p_x(x) = 1 \cdot \frac{1}{2} = \frac{1}{2}\)으로 올바른 결과가 나온다.
행렬식의 직관적 의미는 선형 변환이 국소적으로 부피를 얼마나 늘리거나 줄이는지를 측정하는 것이다. \(A\)에 의해 공간이 늘어나면 밀도는 그만큼 줄어야 전체 적분이 1을 유지한다. 따라서 \(|\det(W)| = |\det(A)|^{-1}\)을 곱해야 한다.
16.4.2 음원 분포의 선택: 시그모이드 CDF
음원의 CDF로 비가우시안 함수를 선택해야 한다. 0에서 1로 매끄럽게 증가하는 함수가 필요한데, 시그모이드 함수가 이 조건을 만족한다.
\[F(s) = g(s) = \frac{1}{1 + e^{-s}}\]
이 CDF를 미분하면 PDF를 얻는다.
\[p_s(s) = g'(s) = g(s)(1 - g(s))\]
이 PDF는 가우시안보다 꼬리가 두꺼운(fat-tailed) 분포를 나타낸다. 가우시안 밀도는 \(e^{-s^2}\)처럼 빠르게 0에 수렴하지만, 시그모이드에서 유도된 밀도는 더 천천히 감소한다. 이는 극단적 이상치가 1~2 표준편차 이상에서 더 많이 나타나는 인간 음성 및 자연 현상의 특성을 잘 포착한다.
시그모이드 외에도 **양측 지수 분포(Laplace 분포)**를 \(p_s(s)\)로 사용해도 잘 작동한다. ICA 초기 연구에서 Terry Sejnowski가 시그모이드를 선택하여 잘 작동한 이후로 이것이 표준 선택이 되었다.
16.4.3 최대 우도 추정
\(n\)개 음원이 독립이므로 \(s\)의 결합 밀도는 각 음원 밀도의 곱이다.
\[p_s(s) = \prod_{j=1}^{n} p_{s_j}(s_j)\]
이를 \(x\)의 밀도로 변환하면 다음과 같다.
\[p_x(x) = \left(\prod_{j=1}^{n} p_{s_j}(w_j^T x)\right) \cdot |\det(W)|\]
여기서 \(w_j\)는 행렬 \(W\)의 \(j\)번째 행 벡터이고, \(s_j = w_j^T x\)이다.
로그 우도 함수는 다음과 같다.
\[\ell(W) = \sum_{i=1}^{m} \left[\sum_{j=1}^{n} \log p_{s_j}(w_j^T x^{(i)}) + \log |\det(W)|\right]\]
\(W\)에 대한 기울기를 구하면(자세한 유도는 강의 노트 참조) 다음과 같은 업데이트 규칙을 얻는다.
\[W := W + \alpha \left[\begin{pmatrix} 1 - 2g(w_1^T x^{(i)}) \\ 1 - 2g(w_2^T x^{(i)}) \\ \vdots \\ 1 - 2g(w_n^T x^{(i)}) \end{pmatrix} {x^{(i)}}^T + (W^T)^{-1}\right]\]
확률적 경사 상승법(stochastic gradient ascent)으로 로그 우도를 최대화하면 된다.
16.4.4 전체 알고리즘 요약
- 훈련 세트 \(\{x^{(1)}, x^{(2)}, \ldots, x^{(m)}\}\)을 준비한다. 각 \(x^{(i)}\)는 시간 \(i\)에서의 마이크 녹음이다.
- 행렬 \(W\)를 무작위로 초기화한다.
- 경사 상승법으로 로그 우도를 최대화하여 \(W\)를 학습한다.
- 수렴 후, 음원을 \(s = Wx\)로 복원한다.
- \(s_{1,1}, s_{1,2}, \ldots, s_{1,m}\)을 시간 순서대로 재생하면 화자 1의 음성을 들을 수 있다.
16.5 ICA의 응용 사례
16.5.1 EEG 데이터 정제
EEG(뇌전도)에서는 두피 위에 여러 전극을 배치하여 뇌의 전기 활동을 측정한다. 뇌는 동시에 여러 작업을 수행한다. 심장 박동 조절, 눈 깜빡임, 호흡, 사고 등 각기 다른 영역에서 전기 신호를 보내며, 두피 표면의 각 전극은 이 모든 신호의 혼합을 측정한다.
이는 칵테일 파티 문제와 정확히 같은 구조다. "머릿속의 칵테일 파티"라고 비유할 수 있다. 뇌의 한 부분은 "심장아, 뛰어라"를 반복하고, 다른 부분은 "숨을 들이쉬고 내쉬어라"를 반복하며, 또 다른 부분은 머신러닝을 생각하고 있다.
ICA를 적용하면 EEG 신호를 독립 성분으로 분리하여 심장 박동 성분, 눈 깜빡임 성분 등을 식별할 수 있다. 이러한 잡음 성분을 제거하면 훨씬 깨끗한 EEG 신호를 얻을 수 있고, 이를 하류 분석(예: 피험자가 명사를 생각하는지 동사를 생각하는지, 먹을 수 있는 것을 생각하는지 등의 대략적 분류)에 활용할 수 있다.
16.5.2 자연 이미지의 독립 성분
ICA를 자연 이미지에 적용하면 독립 성분으로 다양한 방향의 **에지(edge)**가 나타난다. ICA는 세상의 이미지가 수직 에지, 수평 에지, 대각선 에지 등의 독립적 패치들의 합으로 구성된다고 말해 준다. 이는 인간 뇌의 시각 피질이 학습하는 방식에 대한 신경과학 이론과도 연결된다.
16.5.3 비선형 확장과 희소 코딩
ICA의 비선형 확장에 대한 연구도 진행되었다. 구글 브레인 프로젝트 초기에 수행된 유명한 "구글 고양이" 실험에서는 ICA와 밀접하게 관련된 희소 코딩(sparse coding) 알고리즘을 사용했다. 유튜브 동영상 수천 시간을 학습한 신경망이 고양이를 감지하는 법을 스스로 터득했다. 핵심 아이디어는 희소 코딩의 계층적 버전, 즉 한 층의 저수준 특징(에지)을 추출하고 그 위에 재귀적으로 적용하여 물체 부분 검출기, 최종적으로 물체 검출기를 학습하는 것이었다. 다만 이후 지도 학습의 성공으로 연구 관심이 옮겨가면서 이 방향의 연구는 상대적으로 덜 주목받고 있지만, 여전히 유망한 분야다.
16.6 ICA의 실용적 고려 사항
마이크 수와 화자 수의 관계
상황 |
결과 |
|---|---|
마이크 수 > 화자 수 |
잘 작동한다. 일부 음원이 무음(silent)으로 나타남 |
마이크 수 = 화자 수 |
표준 ICA가 직접 적용됨 |
마이크 수 < 화자 수 |
매우 어려운 최첨단 연구 문제 |
마이크 수가 화자 수보다 적은 경우, 예를 들어 마이크 1개로 화자 2명을 분리하려면 \(A\)가 \(1 \times 2\)가 되어 \(A^{-1}\)이 존재하지 않는다. 남성과 여성처럼 음역이 크게 다른 경우 어느 정도 분리가 가능하다는 연구가 있지만, 같은 성별의 두 목소리를 분리하는 것은 여전히 매우 어렵다.
화자 수를 모를 때는 K-평균과 유사하게, 음원 수를 다양하게 설정하여 시도한 뒤 대부분의 분산을 설명하는 성분까지만 취하는 방법을 사용한다.
16.7 강화 학습 소개
이로써 비지도 학습(K-평균 클러스터링, EM 알고리즘과 가우시안 혼합 모델, 인자 분석, PCA, ICA)을 마무리하고, 이 강좌의 네 번째이자 마지막 주요 주제인 **강화 학습(Reinforcement Learning)**으로 넘어간다.
왜 강화 학습인가?
헬리콥터를 자율 비행시키려 한다고 하자. 매 순간 헬리콥터의 위치(상태)가 주어졌을 때 조종간을 어떻게 움직여야 하는지, "유일한 정답"을 지정하기는 극히 어렵다. 따라서 지도 학습을 직접 적용하기 곤란하다.
강화 학습은 매 단계에서 정답을 알려주는 대신, **보상 함수(reward function)**를 설계하는 방식이다. 헬리콥터가 잘 비행하면 높은 보상을, 추락하면 큰 음의 보상을 준다. 알고리즘이 보상을 최대화하는 행동을 스스로 학습한다.
개 훈련에 비유할 수 있다. 개에게 구체적으로 무엇을 하라고 말해 줄 수는 없지만, 잘했을 때 "착한 개!", 잘못했을 때 "나쁜 개!"라고 할 수 있다. 개는 긍정적 보상을 더 많이 받는 행동을 학습한다.
체스나 바둑도 마찬가지다. 주어진 보드 상태에서 "유일한 최선의 수"를 지정하기 어렵다. 대신 승리하면 +1, 패배하면 -1, 무승부면 0의 보상을 주고, 알고리즘이 더 많은 양의 보상을 얻는 방법을 스스로 알아내도록 한다.
신용 할당 문제 (Credit Assignment Problem)
강화 학습의 핵심 난제 중 하나는 신용 할당 문제다. 체스에서 50수 만에 졌다면, 실제로 치명적 실수는 20수째에 일어났을 수 있다. 하지만 그 후 30수가 더 진행된 후에야 승패가 결정되었다.
자율주행차도 마찬가지다. 충돌 직전에 차가 하는 행동은 보통 브레이크를 밟는 것이지만, 충돌의 원인은 수 초 전의 다른 행동이었을 수 있다.
보상을 받았을 때 "이전 행동들 중 어떤 것이 좋았고 어떤 것이 나빴는지"를 파악하는 것이 신용 할당 문제이며, 강화 학습 알고리즘은 이 문제를 적어도 간접적으로는 해결해야 한다.
16.8 마르코프 결정 과정 (MDP)
강화 학습 문제는 MDP(Markov Decision Process) 형식으로 모델링한다. MDP는 다섯 원소의 튜플로 정의된다.
\[(S, A, P_{sa}, \gamma, R)\]
요소 |
의미 |
|---|---|
\(S\) |
상태 집합. 체스에서는 가능한 모든 보드 위치, 헬리콥터에서는 가능한 모든 위치 / 방향 / 속도 |
\(A\) |
행동 집합. 헬리콥터에서는 조종간의 모든 가능한 위치, 체스에서는 가능한 모든 수 |
\(P_{sa}\) |
상태 전이 확률. 상태 \(s\)에서 행동 \(a\)를 취했을 때 다음 상태 \(s'\)에 도달할 확률 |
\(\gamma\) |
할인 인자. \(0\)과 \(1\) 사이의 값 (보통 0.99 정도) |
\(R\) |
보상 함수. 각 상태에서 받는 보상 |
예시: 격자 미로 탐색
알고리즘을 설명하기 위해 Russell과 Norvig의 교과서에 나오는 간단한 격자 미로를 사용한다.
+-------+-------+-------+-------+
| (1,3) | (2,3) | (3,3) | +1 |
+-------+-------+-------+-------+
| (1,2) | XXXXX | (3,2) | -1 |
+-------+-------+-------+-------+
| (1,1) | (2,1) | (3,1) | (4,1) |
+-------+-------+-------+-------+
- 11개의 상태(벽 칸 제외)
- 행동: 북, 남, 동, 서
- 목표: 우상단 +1 칸에 도달하고, -1 칸은 회피
상태 전이 확률은 로봇의 불확실성을 반영한다.
- 명령한 방향으로 이동할 확률: 0.8
- 왼쪽으로 미끄러질 확률: 0.1
- 오른쪽으로 미끄러질 확률: 0.1
예를 들어 상태 \((3,1)\)에서 "북"을 명령하면:
\[P_{(3,1),\text{North}}((3,2)) = 0.8, \quad P_{(3,1),\text{North}}((4,1)) = 0.1, \quad P_{(3,1),\text{North}}((2,1)) = 0.1\]
벽에 부딪히면 제자리에 머문다.
보상 함수는 다음과 같이 설계한다.
상태 |
보상 |
|---|---|
\((4,3)\) |
\(+1\) |
\((4,2)\) |
\(-1\) |
그 외 모든 상태 |
\(-0.02\) |
모든 일반 상태에 \(-0.02\)의 작은 음의 보상을 부여하면, 로봇이 빈둥거리며 전기를 낭비하지 않고 가능한 빨리 +1 보상에 도달하도록 유도하는 효과가 있다.
16.9 MDP의 작동 방식
MDP에서 로봇(에이전트)의 행동은 다음과 같이 전개된다.
- 시간 \(t=0\): 로봇이 초기 상태 \(s_0\)에서 시작한다.
- 상태 \(s_0\)에 기반하여 행동 \(a_0\)을 선택한다.
- 상태 전이 확률 \(P_{s_0 a_0}\)에 따라 다음 상태 \(s_1\)이 결정된다.
- 상태 \(s_1\)에서 행동 \(a_1\)을 선택하고, 다시 \(s_2\)로 전이된다.
- 이 과정이 반복된다: \(s_0, a_0, s_1, a_1, s_2, a_2, \ldots\)
**총 보상(total payoff)**은 할인된 보상의 합으로 정의된다.
\[R(s_0) + \gamma R(s_1) + \gamma^2 R(s_2) + \gamma^3 R(s_3) + \cdots\]
할인 인자의 역할
\(\gamma\)는 보통 0.99처럼 1보다 약간 작은 값으로 설정한다. 할인 인자의 효과는 두 가지다.
- 시간 가치 반영: 금융에서 오늘의 1달러가 1년 후의 1달러보다 가치 있듯이, 미래 보상에 더 작은 가중치를 부여한다. 양의 보상은 빨리 얻을수록, 음의 보상은 늦출수록 유리하다.
- 실용적 이유: \(\gamma < 1\)이면 총 보상이 유한한 값으로 수렴함이 보장되어 알고리즘의 수렴 증명이 용이해진다. \(\gamma = 1\)이면 보상의 합이 발산할 수 있어 많은 강화 학습 알고리즘이 수렴하지 않을 수 있다.
16.10 정책과 최적 정책
강화 학습의 목표는 기대 총 보상을 최대화하는 행동의 선택 전략을 찾는 것이다.
\[\max E\left[\sum_{t=0}^{\infty} \gamma^t R(s_t)\right]\]
대부분의 강화 학습 알고리즘은 정책(policy) \(\pi\)를 출력한다. 정책이란 상태에서 행동으로의 매핑이다.
\[\pi: S \to A\]
정책을 실행한다는 것은 상태 \(s\)에 있을 때 행동 \(\pi(s)\)를 취하는 것이다.
격자 미로 예시의 최적 정책을 보면, 상태 \((3,1)\)에서의 최적 행동은 "서"이다. 직관적으로 "북"으로 가면 더 빨리 +1에 도달할 수 있지만, 0.1의 확률로 \(-1\) 상태로 미끄러질 위험이 있다. 반면 "서"로 가면 돌아가는 긴 경로이지만 더 안전하다. MDP를 풀면 이 경우 더 길지만 안전한 경로가 최적임을 알 수 있다.
이처럼 MDP는 위험과 보상 사이의 미묘한 균형을 정밀하게 계산할 수 있다.
체스에서의 MDP
체스에서 상태는 보드의 현재 배치이다. 자신이 한 수를 두고, 상대방도 한 수를 둔 결과가 다음 상태가 된다. 상대방이 어떤 수를 둘지 확실히 알 수 없으므로 상태 전이 확률이 존재한다.
상태 전이 확률을 모르는 경우(예: 로봇의 바퀴 미끄러짐 확률이 정확히 얼마인지 모를 때)에는 데이터로부터 이를 학습할 수 있으며, 이후 강의에서 구체적으로 다룬다.
핵심 정리
개념 |
핵심 |
|---|---|
ICA |
혼합 신호에서 독립 음원을 분리. \(s = Wx\)로 복원 |
비가우시안 조건 |
ICA는 음원이 비가우시안일 때에만 가능. 가우시안이면 회전 모호성 발생 |
CDF와 시그모이드 |
시그모이드를 CDF로 사용하여 비가우시안 음원 밀도를 모델링 |
변수 변환 |
\(p_x(x) = p_s(Wx) \cdot |\det(W)|\) — 행렬식으로 밀도 보정 |
최대 우도 추정 |
로그 우도를 확률적 경사 상승법으로 최대화하여 \(W\) 학습 |
EEG 정제 |
ICA로 심박/눈 깜빡임 잡음 제거 후 하류 분석에 활용 |
강화 학습 |
보상 신호를 통해 최적 행동을 학습. 정답을 직접 지정하지 않음 |
MDP |
\((S, A, P_{sa}, \gamma, R)\) — 강화 학습 문제의 형식적 모델 |
정책 |
\(\pi: S \to A\) — 상태에서 행동으로의 매핑 |
할인 인자 |
\(\gamma \in (0,1)\) — 미래 보상에 작은 가중치, 수렴 보장 |
신용 할당 문제 |
최종 보상을 받았을 때 어떤 행동이 기여했는지 파악하는 난제 |
이전 장: 15장 - PCA와 ICA 다음 장: 17장 - MDP와 가치 및 정책 반복