특집
2024 노벨물리학상
신경망, 확률, 그리고 정보
작성자 : 조정효 ㅣ 등록일 : 2024-12-20 ㅣ 조회수 : 728 ㅣ DOI : 10.3938/PhiT.33.034
조정효 교수는 2007년 서울대학교에서 통계물리학으로 박사 학위를 받았고, 미국 국립보건원, 아시아태평양 이론물리센터, 고등과학원, 계명대학교를 거쳐, 2019년부터 서울대학교 물리교육과 교수로 재직 중이다. 통계물리와 정보이론을 바탕으로 기계학습을 이해하고 응용하는 연구를 하고 있다. (jojunghyo@snu.ac.kr)
Neural Networks, Probability, and Information
Junghyo JO
The 2024 Nobel Prize in Physics was awarded to Hopfield and Hinton, who laid the foundation for advancements in artificial intelligence. This special issue explores the contributions of statistical physics and information theory to machine learning. Machine learning uses neural networks to represent the probability distributions of data. In this process, ‘raw’ probabilities are refined and structured with the help of information theory. Machine learning can be divided into discriminative and generative models. This article focuses on the roles of neural networks, probabilities, and information, as exemplified by prominent generative models such as the Boltzmann machine, variational autoencoders, and diffusion models. Finally, we conclude by examining the implications of machine learning advancements for physics.
들어가며
2024년 노벨 물리학상은 인공지능 발전의 발판을 마련한 홉필드와 힌튼에게 돌아갔다. 본 특집에서는 통계물리와 정보이론이 기계학습에 어떤 기여를 했는지 살펴보겠다. 기계학습은 신경망을 이용해 데이터의 확률분포를 표현하는 것이다. 이 과정에서 ‘날 것’인 확률이 정보이론의 도움으로 세련되게 다듬어진다. 기계학습은 크게 분류모형과 생성모형으로 나뉘는데, 본 글에서는 대표적인 생성모형인 볼츠만 머신(Boltzmann Machine),1) 변분 오토인코더(Variational Autoencoder, VAE),2) 확산 모형(diffusion model)3)을 중심으로 신경망, 확률, 정보의 역할을 정리해 보겠다. 끝으로, 기계학습의 발전이 물리학에는 어떤 의미가 있는지 생각해 보면서 마무리하겠다.
서 론
기계학습은 데이터 \(\small x\)의 확률분포 \(\small P(x)\)를 신경망을 이용해서 표현하는 것으로 이해할 수 있다. 모형의 확률분포를 지수족(exponential family) 함수로 설계해보자.
\[ Q(x; \theta ) = \frac{\exp[-E(x; \theta )]}{Z( \theta )} \]
이렇게 정의한 \(\small Q(x; \theta )\)는 항상 양의 값을 가지게 되고, 분배함수(partition function)인 \(\small Z( \theta )\)로 정규화한다. 따라서 모든 패턴 \(\small x\)에 대해 \(\small Q(x; \theta )\)를 더하면 1이 된다. 각 패턴 \(\small x = (x _{1}, x_{2}, \cdots , x _{n} )\)가 가지는 ‘에너지’는 다음처럼 설계한다.4)
\[E(x; \theta ) = - \sum _{i} ^{} x _{i} b_{i} - \frac{1}{2} \sum _{i,j} ^{} x _{i} w _{ij} x _{j}\]
여기서 \(\small \theta = (b, w)\)는 위 에너지 모형의 맺음변수다. 이 모형은 패턴의 각 요소 \(\small x _{i}\)의 평균값과 두 요소 \(\small x_i\)와 \(\small x_j\)의 상호작용을 담고 있다. 이는 마치 신경망에서 신경세포의 활동과 시냅스로 연결된 신경세포 사이의 상호작용에 비유할 수 있다.
1. 첫 번째 접근: 확률 맞추기
기계학습은 모형의 분포 \(\small Q(x; \theta )\)가 데이터의 분포 \(\small P(x)\)와 가깝게 되도록 모형의 맺음변수 \(\small \theta\)를 최적화한다. 두 분포함수 사이의 거리는 보통 쿨백-라이블러 발산(Kullback-Leibler divergence)으로 정의한다.
\[D _{KL} (P||Q) = \sum _{x} ^{} P(x) \log \frac{P(x)}{Q(x; \theta )}\]
이제 거리를 정의했으니, 맺음변수 \(\small \theta\)의 변화에 대해서 목적함수인 쿨백-라이블러 발산을 줄이는 방향으로 경사하강법으로 맺음변수를 경신한다.
\[\theta \rightarrow \theta - \alpha \nabla_{\theta } D _{KL} (P\, || Q)\]
\(\small\alpha\)는 경신 크기를 결정하는 학습률(learning rate)이다. 이때 목적함수에 대한 기울기는 다음과 같다.
\[\nabla _{\theta} D _{KL} (P\,||Q) = \nabla _{\theta} \left< E(x; \theta ) \right> _{P} + \nabla _{\theta} \log Z ( \theta)\]
기호 \(\small\left< E \right> _{P}\)는 확률분포 \(\small P(x)\)에 대한 \(\small E\)의 기댓값을 나타낸다. 늘 그랬듯이 문제는 분배함수의 계산에 있다.
\[Z( \theta )= \sum _{x} ^{} \exp[-E(x; \theta )]\]
차원 \(\small n\)이 큰 패턴 \(\small x=(x _{1} , x _{2} , \cdots , x _{n} )\)의 경우, 모든 패턴에 대한 합을 계산하는 것이 어려워진다. 확률 맞추기 접근의 대표적인 모형이 볼츠만 머신이고, 분배함수 계산의 어려움을 표본추출을 통한 어림으로 해결한 모형이 제한된 볼츠만 머신(Restricted Boltzmann Machine, RBM)이다.5)
2. 두 번째 접근: 확률 흐름 맞추기
데이터의 분포 \(\small P(x)\)는 패턴 \(\small x\)의 경관(landscape)이라고 할 수 있다. 특히, 확률분포에 로그를 취한 \(\small \log P(x)\)를 생각해 보자. 이런 스칼라 장의 경관은 장의 기울기(gradient)에 해당하는 벡터 장 \(\small \nabla_{x} \log P(x)\)을 통해서도 그려볼 수 있다. 여기서 눈여겨볼 점은 벡터 장은 맺음변수 \(\small\theta\)에 대한 기울기가 아니라 패턴 \(\small x\)에 대한 기울기라는 점이다. 즉, 패턴의 작은 변화에 대한 스칼라 장의 최대 증가율을 나타낸다. 따라서 이 증가율을 따라 흐름(flow)을 만들면 확률이 높은 패턴으로 옮길 수 있다. 통계학에서는 이 흐름을 점수 함수(score function)라고 부른다.
\[s(x) = \nabla _{x} \log P(x)\]
이제 우리는 모형의 분포 \(\small Q(x; \theta )\)를 데이터의 분포 \(\small P(x)\)에 가깝게 만드는 대신, 모형의 점수 함수를 데이터의 점수 함수에 가깝게 만드는 접근을 생각한다. 이를 점수 맞추기(score matching)라고 부른다. 모형의 점수 함수는 다음과 같다.
\[\nabla _{x} \log Q(x; \theta ) = - \nabla _{x} E(x; \theta )\]
여기서 에너지를 물리학의 퍼텐셜 에너지로 해석하면 점수 함수는 마치 위치에 따른 퍼텐셜 에너지의 변화인 ‘힘’처럼 해석할 수 있다. 점수 함수에서 눈여겨봐야 하는 것은 분배함수 \(\small Z(\theta)\)는 패턴 \(\small x\)의 변화와는 관계가 없으므로 사라졌다는 점이다. 이렇게 점수 맞추기를 통해 데이터의 분포를 표현하는 대표적인 모형이 확산 모형이다.6)
결국에는 두 접근 모두 데이터의 분포를 잘 표현하는 모형의 확률분포 \(\small Q(x; \theta )\) 또는 확률흐름 \(\small \nabla _{x} \log Q(x; \theta )\)를 학습하게 된다. 일단 확률 모형을 손에 넣게 되면 우리는 흥미로운 일들을 할 수 있다. 첫째, 확률 \(\small Q(x; \theta )\)의 값이 큰 패턴 \(\small x\)를 추출하는 것은 데이터와 닮은 패턴을 ‘생성’하는 것이 된다. 둘째, \(\small x = (x _{1} , x _{2} )\)인 패턴에서 일부 요소인 \(\small x_2\)를 모르는 경우, 조건부 확률을 이용해서 \(\small x_2\)를 ‘복구’할 수 있다.
\[Q(x _{1} , x _{2} ; \theta )=Q(x _{2} | x _{1} ; \theta )Q(x _{1} ; \theta )\]
셋째, 어떤 이미지 \(\small x\)와 그에 해당하는 꼬리표 \(\small y\)가 짝을 이룬 패턴 \(\small (x, y)\)을 학습했다고 해보자.
\[Q(x,y; \theta )=Q(x |y; \theta )Q(y; \theta )=Q(y |x; \theta )Q(x; \theta )\]
이렇게 결합 확률을 조건부 확률로 쪼개서 \(\small Q(x | y; \theta )\)을 이용하면 특정 꼬리표 \(\small y\)에 해당하는 이미지 \(\small x\)를 ‘조건부 생성’을 할 수 있다. 넷째, 여기서 \(\small Q(y |x; \theta )\)를 이용하면 주어진 이미지 \(\small x\)에 해당하는 꼬리표 \(\small y\)를 찾는 ‘분류’를 할 수도 있다.
기계학습의 수학적 기교들
기계학습은 신경망을 이용한 확률 맞추기이다. 이번에는 기계학습에 쓰이는 중요한 수학적 기교들을 정리해 보자.
1. 쪼개기(Factorization)
물리학에서 미분 방정식의 일반해를 구할 때, 변수를 쪼갤 수 있는 기저함수들을 찾아 이들의 선형결합으로 일반해를 표현한다. 즉, 쪼개지지 않는 다변수 함수를 쪼갤 수 있는 기저함수들의 합으로 표현하는 기술을 쓴 것이다. 데이터에 드러난 변수 \(\small x\)와 숨은 변수 \(\small z\)를 포함하는 모형 \(\small Q(x, z; \theta )\)를 생각해 보자. 이 경우, 드러난 변수만 가지는 데이터의 분포 \(\small P(x)\)와 숨은 변수를 가지고 있는 모형의 분포를 비교하기 위해서는 하찮게 만들기(marginalization) 과정이 필요하다.
\[Q(x; \theta ) = \sum _{z} ^{} Q(x,z; \theta)\]
이제 드러난 변수와 숨은 변수를 가진 모형의 결합 분포를 쪼개기를 통해 표현해보자.
\[\sum _{z} ^{} Q(x,z; \theta ) = \sum _{z} ^{} Q(z; \theta ) Q(x |z; \theta ) = \sum _{z} ^{} Q(z; \theta ) \prod _{i} ^{} Q(x _{i} |z; \theta )\]
이렇게 표현하면 쪼개진 \(\small x_i\)들이 서로 직접적으로 상호작용하지 않지만, 숨은 변수 \(\small z\)를 통해서 간접적으로 상호작용하게 된다. 이 쪼개기 기술은 제한된 볼츠만 머신에서 효율적으로 표본추출을 가능하게 해주었다.
2. 바꿔치기(Variational inference)
확률 계산에서 복잡하고 해석적으로 다루기 어려운 함수를 대신해서 프록시(proxy) 역할을 하는 다루기 쉬운 함수로 바꿔치기해서 원하는 계산을 어림하는 기술을 변분 추론(variational inference)이라 한다. 다음과 같은 확률모형의 로그-우도(log-likelihood)를 바꿔치기로 어림해 보자.
\[\begin{align} \log Q(x; \theta ) & = \sum _{z} ^{} q(z|x; \phi ) \log Q(x; \theta )\\& = \sum _{z} ^{} q(z|x; \phi ) \log \frac{Q(x,z; \theta )}{Q(z|x; \theta )} \frac{q(z|x; \phi )}{q(z|x; \phi )}\\& = \sum _{z} ^{} q(z|x; \phi ) \log \frac{Q(x,z; \theta )}{q(z|x; \phi )} +D _{KL} (q||Q)\end{align}\]
로그-우도는 위 계산에 따르면 엘보(Evidence of Lower BOund, ELBO)라 불리는 항과 원래 함수 \(\small Q(z|x; \theta )\)와 프록시 함수인 \(\small q(z|x; \phi )\) 사이의 거리로 분해된다.
\[D _{KL} (q||Q)= \sum _{z} ^{} q(z|x; \phi ) \log \frac{q(z|x; \phi )}{Q(z|x; \theta )}\]
쿨백-라이블러 발산은 항상 0보다 같거나 크므로 엘보가 로그-우도의 하한이 된다. 따라서 목적함수인 우도를 최대화하는 문제를 하한인 엘보를 최대화하는 문제로 바꿔서 풀 수 있다. 정규분포는 대표적인 프록시 함수이다. 바꿔치기는 변분 오토인코더의 핵심 기술이다.
3. 뒤집기(Bayes’ rule)
결합 확률을 조건부 확률로 쪼개는 두 가지 방법이 있다.
\[Q(z _{t-1} ,z _{t} )=Q(z _{t-1} \vert z _{t} )Q(z _{t} )=Q(z _{t} \vert z _{t-1} )Q(z _{t-1} )\]
여기서 두 번째 등식을 이용하면 두 조건부 확률 사이의 관계를 나타내는 베이스 규칙을 얻을 수 있다. 신경망에서 숨은 변수 \(\small z _{t-1}\)에서 \(\small z _t\)로 변환하는 과정이 주어질 때, 그 과정을 뒤집는 변환에 대한 관계를 베이스 규칙을 통해 얻을 수 있다.
\[Q(z _{t-1} | z _{t} )= \frac{Q(z _{t} | z _{t-1} )Q(z _{t-1} )}{Q(z _{t} )}\]
이는 확산 모형에서 순방향과 역방향의 정보처리를 맺어주는 중요한 기술이다.
4. 잡음 더하기(Re-parameterization)
신경망에서 숨은 변수 \(\small z\)는 종종 다음과 같은 정규분포를 따르도록 설계한다.
\[q(z; \mu , \sigma )= \frac{1}{\sqrt {2 \pi} \sigma} \exp \left[ - \frac{(z- \mu ) ^{2}}{2 \sigma ^{2}} \right]\]
이렇게 확률분포를 따르는 변수를 마구잡이 변수(random variable)라고 한다. 이런 마구잡이 변수는 잡음 더하기를 이용해서 재매개화(re-parameterization)할 수 있다.
\[z = \mu + \epsilon \sigma\]
여기서 \(\small \epsilon \sim N(0, 1)\)는 평균 0 표준편차 1인 표준 정규분포를 따르는 잡음(noise)이다. 잡음 더하기는 변분 오토인코더와 확산 모형의 핵심 기술이다.
5. 온도 바꾸기(Tempering and Annealing)
통계물리에서 시스템의 바닥 상태를 찾을 때, 에너지의 요동 정도를 조절하는 온도를 바꾸면서 에너지 경관을 탐색하는 몬테카를로 방법이 있다. 높은 온도에서는 상태 공간을 크게 널뛰면서 에너지 경관의 넓은 영역을 탐색하고, 낮은 온도에서는 샅샅이 좁은 영역을 탐색할 수 있다.
확산 모형에서는 원본 데이터 \(\small x\)에 흐름을 만드는 잡음 \(\small \epsilon _{t} \sim N(0,1)\)을 넣어 숨은 변수 \(\small z _{t}\)로 변환한다.
\[z _{t} = \sqrt {\alpha _{t}} x+ \sqrt {1- \alpha _{t}} \epsilon _{t}\]
여기서 \(\small t\)단계의 잡음 일정(noise schedule)인 \(\small \alpha_t\)는 원본 데이터 \(\small x\)와 잡음 \(\small \epsilon _{t} \)을 어느 정도의 비율로 섞을지 결정한다. 즉, 온도와 같은 역할을 해서 원본 데이터에 어느 정도 요동을 넣을지 결정한다. 확산 모형에서는 원본 데이터에 다양한 크기의 잡음을 넣어서 다양한 크기의 흐름을 만든다. 이것은 데이터 경관의 넓은 영역과 좁은 영역을 골고루 탐색할 수 있게 한다.
심층 신경망의 정보처리
이제 위에서 정리한 기술들을 염두에 두고 대표적인 생성 모형들에서 일어나는 정보처리 과정을 살펴보자. 심층 신경망에서 일어나는 일은 결국 입력한 데이터를 숨은 변수로 변환하는 과정으로 이해할 수 있고, 또는 데이터의 분포함수가 숨은 변수의 분포함수로 변환하는 과정으로 이해할 수도 있다. 이것은 확률 흐름 변환(normalizing flows)과 최적 수송(optimal transport)과 같은 수학적인 주제들과 밀접한 관련이 있다.
1. 심층 믿음망(Deep Belief Networks)
제한된 볼츠만 머신은 데이터를 입력하는 드러난 변수 \(\small x\)와 숨은 변수 \(\small z\)로 구성된다. 그리고 드러난 변수끼리, 숨은 변수끼리는 쪼개져 있다. 제한된 볼츠만 머신의 에너지 함수는 다음과 같다.
\[E(x,z; \theta ) = - \sum _{i} ^{} x _{i} a _{i} - \sum _{j} ^{} z _{j} b _{j} - \sum _{i,j} ^{} x _{i} w _{ij} z _{j}\]
이런 설계는 주어진 맺음변수 \(\small \theta =(a,b,w)\)와 함께 정의된 에너지 분포를 따르는 표본 \(\small x\) 또는 \(\small z\)를 효과적으로 추출할 수 있게 해준다. 이를 통해 모형의 \(\small x\) 분포가 데이터의 \(\small x\) 분포와 같아지도록 학습한다. 그 결과, 데이터 \(\small x\)와 짝을 이루어 에너지 \(\small E(x,z; \theta )\)를 낮추는 숨은 변수 \(\small z\)를 결정한다. 보통 \(\small x\)보다 차원이 낮은 \(\small z\)를 데이터의 ‘압축표현’으로 해석한다.
이제 이렇게 얻은 압축표현들을 새 가상의 데이터 \(\small z _{1} =z\)로 생각하고, 이들과 이들의 압축표현 \(\small z_2\)로 이루어진 제한된 볼츠만 머신을 또 학습한다. 이렇게 점점 더 압축된 표현을 계층적으로 쌓아서 만든 신경망을 심층 믿음망이라고 한다.7)
\[x - z _{1} -z _{2} - \cdots -z _{T}\]
심층 믿음망은 두 가지 중요한 역할을 한다. 첫째, 차원축소를 통한 데이터의 압축표현을 만든다. 둘째, 여러 층으로 쌓은 심층 신경망의 맺음변수 초기화에 기여할 수 있다. 기계학습의 초창기에는 심층 신경망에서 층이 깊어질수록 오차 역전파 과정에서 출력층의 오차 신호가 입력층에 가까워질수록 약해지는 문제가 있었다. 이로 인해 학습이 어려웠다. 이러한 문제를 해결하기 위해 제한된 볼츠만 머신을 활용하여 심층 믿음망의 맺음변수를 학습하고, 그 위에 출력층을 더하는 방법을 시도했다.
\[x-z _{1} -z _{2} - \cdots -z _{T} -y\]
심층 믿음망에서는 압축된 숨은 변수들 \(\small z _{t}\)는 데이터 \(\small x\)와 짝을 이루어 데이터가 가진 정보들을 담고 있다. 따라서 마구잡이로 초기화된 맺음변수를 가진 신경망에서 순전파를 통해 결정되는 숨은 변수들과 비교했을 때, 데이터와 더 가까운 정보를 가질 수 있게 된다.
2. 변분 오토인코더(Variational Autoencoder)
오토인코더는 입력한 데이터가 출력으로 그대로 나오는 신경망이다. 물론 중간에 더 많은 층의 숨은 변수를 고려할 수도 있지만 가장 단순한 오토인코더를 살펴보자.
\[x-z-x\]
변수의 차원을 생각해 보면 너비가 좁아졌다가 다시 넓어지는 신경망이다. 입력이 다시 출력으로 나오는 쓸모없는 신경망으로 보이지만, 그렇지가 않다. 학습된 오토인코더에서 차원이 낮은 \(\small z\)는 입력 데이터 \(\small x\)의 압축표현으로 해석할 수 있다. 즉, 오토인코더는 메시지 \(\small x\)의 차원 축소된 코드 \(\small z\)를 만드는 인코더, 그리고 코드 \(\small z\)로부터 메시지 \(\small x\)를 복원하는 디코더로 구성되었다. 이때 코드에 해당하는 숨은 변수 \(\small z\)는 \(\small x\)를 원하는 수준으로 복원하기 위한 최소한의 정보를 포함하고 있어야 한다.
오토인코더를 토대로, 압축표현 \(\small z\)가 특별한 분포함수를 따르도록 설계한 모형인 변분 오토인코드를 살펴보자. 이때 압축표현이 따르는 분포함수는 바꿔치기 기술을 이용할 수 있는 정규분포를 선택한다. 그리고 잡음 더하기 기술을 이용한다.
\[z(x) = \mu (x) + \epsilon \sigma (x)\]
변분 오토인코더를 학습할 때는 \(\small z\) 분포의 평균 \(\small \mu (x)\)와 표준편차 \(\small \sigma (x)\)를 데이터 \(\small x\)를 잘 복원하는 방향으로 최적화한다. 그리고 실제 디코더로 신호를 보낼 때는 잡음 더하기 기술을 이용해서 신호를 전달한다. 변분 오토인코더가 학습을 마친 후에는 디코더만 떼어서 새로운 표본을 추출하는 데 사용한다. 이때 잡음 \(\small \epsilon\)은 원본 데이터에 없었던 표본을 만드는 다양성의 원천이 된다.
3. 확산 모형(Diffusion Models)
변분 오토인코더는 숨은 변수가 정규분포를 따르도록 설계하였다. 반면, 확산 모형은 숨은 변수가 정규분포를 따를 뿐만 아니라, 해당 정규분포의 평균과 표준편차까지 미리 설계한다. 다음 신호전달을 생각해 보자.
\[x = z _{0} - z _{1} -z _{2} - \cdots -z _{T}\]
여기서 각 단계의 신호전달은 다음과 같다.
\[z _{t} = \sqrt {\alpha^\prime _{t}} z _{t-1} + \sqrt {1- \alpha^\prime _{t}} \epsilon^\prime_{t}\]
표준 정규분포를 따르는 잡음 \(\small \epsilon^\prime_{t}\)는 \(\small z _{t-1} \rightarrow z _{t}\) 변환을 결정하는 흐름을 뜻한다. 잡음 대신 흐름으로 이름을 붙이는 것이 오해를 줄일 수 있을 것 같다. 이렇게 이웃한 숨은 변수 사이의 변환을 약속하면, 데이터 \(\small x=z _{0}\)에서 특정 층의 숨은 변수 \(\small z _{t}\)로 한 번에 변환할 수도 있다.
\[z _{t} = \sqrt {\alpha _{t}} x+ \sqrt {1- \alpha _{t}} \epsilon _{t}\]
이는 잡음이 표준 정규분포를 따르기 때문에 생기는 특성이다. 여기서 잡음 일정은 \(\small \alpha _{t} = \alpha ' _{1} \alpha ' _{2} \cdots \alpha ' _{t}\), 그리고 새로 정의한 잡음 \(\small \epsilon _{t}\)는 역시 표준 정규분포를 따른다. 이렇게 잡음 더하기를 계속하면, 마지막 숨은 변수 \(\small z _{T}\)는 데이터 \(\small x\)의 모습은 완전히 잃고 표준 정규분포를 따르게 된다. 여기서 각 단계의 흐름을 신경망 NN을 통해서 학습한다.8)
\[\epsilon _{t} = \mathrm{NN} (z _{t}, t)\]
이 신경망은 주어진 \(\small t\)층의 숨은 변수 \(\small z_t\)를 만들 때 사용한 흐름 \(\small \epsilon_t\)을 예측한다. 이것은 주어진 숨은 변수 \(\small z_t\)에서 데이터 \(\small x\)를 예측할 수 있게 해준다. 물론 이렇게 예측한 \(\small x\)는 \(\small t\)가 0에서 멀수록 정확도가 떨어진다. 따라서 현재의 \(\small z_t\)와 \(\small x\)에서 보간법(interpolation)을 이용해서 \(\small z_t\)에서 한 단계 이웃한 숨은 변수 \(\small z_{t-1}\)을 결정한다. 그리고 이 역확산 과정을 재귀적으로 반복해서 정확한 \(\small x\)를 얻는다.
\[z _{T} - z _{T-1} - \cdots -z _{1} -z _{0} =x\]
즉, 표준 정규분포를 따르는 임의의 마구잡이 숨은 변수 \(\small z _{T}\)에서 출발해서 우리는 데이터와 닮은 새로운 \(\small x\)를 생성할 수 있게 된다. 다만, 확산 모형에서 양질의 데이터를 생성하기 위해 보통 많은 변환 단계(예: \(\small T=\)1000)를 거치는데, 이것이 확산 모형의 생성 효율을 떨어뜨리는 원인이 된다.9)
확산 모형의 학습과정을 다시 살펴보자. 데이터 변수 \(\small x = z_0\)와 숨은 변수 \(\small z_t\)는 차원이 같으므로, 변환 \(\small z _{t-1} \rightarrow z _{t}\)은 한 공간에서 일어나는 흐름으로 해석할 수 있다. 이 흐름은 미리 설계한 잡음을 통해 만들어지며, 이를 거꾸로 되돌리는 흐름은 데이터를 생성하는 점수 함수가 된다. 즉, 음의 부호를 붙인 잡음이 점수 함수의 역할을 한 것이다.
정보이론과 기계학습
이제까지 정리한 심층 신경망에서의 정보처리 과정은 통신이론의 신호처리 과정으로 이해할 수 있다. 통신이론에서 송신자는 메시지 \(\small x\)를 코드 \(\small z\)로 변환해서 보내고, 수신자는 코드 \(\small z\)를 보고 메시지 \(\small x\)를 복원한다. 이는 심층 신경망에서 데이터 \(\small x\)를 숨은 변수 \(\small z\)로 변환하고, 효과적으로 압축된 숨은 변수를 통해 데이터 또는 데이터의 빈도수를 재현해 내는 과정과 닮았다.
정보이론은 1948년 섀넌이 개발한 통신이론이다.10) 정보이론의 근본이 되는 정보량을 먼저 정의해보자. 어떤 사건 \(\small x\)가 일어날 확률을 \(\small P(x)\)라고 하면, 이 사건이 일어났을 때 얻게 되는 정보량을 다음처럼 정의해 볼 수 있다.
\[I _{P} (x) = \log \frac{1}{P(x)}\]
즉, 일어날 확률이 작은 사건일수록 그 사건이 실제 일어났을 때 얻게 되는 정보량은 크다. 여러 사건이 일어날 가능성을 염두에 두면 모든 사건에 대한 정보량의 기댓값을 계산하게 된다.
\[H(X) = \sum _{x} ^{} P(x) I _{P} (x) = - \sum _{x} ^{} P(x) \log P(x)\]
이것이 섀넌의 엔트로피라고 부르는 물리량으로 어떤 사건 \(\small X\)에 대한 불확실한 정도를 나타낸다. 여기서 대문자 \(\small X\)는 마구잡이 변수의 이름을 나타내고, 소문자 \(\small x\)는 마구잡이 변수가 가지게 되는 하나의 실현된 값을 나타낸다. 섀넌은 엔트로피를 이용해서 통신에서 메시지의 압축과 전달을 정량화하는 상호 정보량을 정의하였다. 상호 정보량은 \(\small X\)의 불확실한 정도에서 \(\small Y\)가 주어졌을 때 \(\small X\)의 불확실한 정도를 뺀 정보량이다.
\[I(X;Y)= H(X) - H(X |Y)\]
따라서 \(\small I(X ;Y)\)는 \(\small X\)와 \(\small Y\)가 얼마나 관계를 맺고 있는지를 나타낼 수 있다.
그리고 앞에서 목적함수로 자주 사용했던 쿨백-라이블러 발산도 정보이론에 뿌리를 두고, 상대 정보량으로도 불린다.
\[\begin{align}D _{KL} (P ||Q) & = \sum _{x} ^{} P(x) \log \frac{P(x)}{Q(x)}\\& = \sum _{x} ^{} P(x) I _{Q} (x)- \sum _{x} ^{} P(x) I _{P} (x)\end{align}\]
관찰된 분포 \(\small P(x)\)를 기준으로 두 분포 \(\small Q(x)\)와 \(\small P(x)\)가 가진 정보량의 차이에 해당한다. 이런 정보량들은 확률에 대한 범함수(functional)이다. 이들은 기계학습의 목적함수를 설계하는데 이론을 제공하고, 기계학습 과정에서 일어나는 정보처리를 해석할 수 있는 훌륭한 도구이다.
정보이론의 관점에서 심층 신경망에서 일어나는 분포함수의 변환은 데이터에서 불필요한 정보는 최대한 압축해서 버리고, 데이터 또는 데이터의 빈도수를 재현하는데 의미 있는 정보만 남기는 과정이다. 기계학습을 이런 정보처리의 최적화 과정으로 설명한 것이 정보 병목 이론이다.11) 입력 \(\small X\)의 압축표현 \(\small Z\)를 만들고, 이를 통해 전달하려는 의미 \(\small Y\)를 이해하는 데 필요한 최소한의 정보만 남기는 과정을 말한다. 이 과정에서 \(\small X\)는 최대한 압축되면서도 \(\small Y\)를 전달하는 데 필수적인 정보를 유지한다. 이 최적화 과정을 라그랑주 승수법으로 표현하면 다음과 같다.
\[L=I(X; Z)- \beta I(Z;Y)\]
여기서 \(\small \beta\)는 정보의 압축과 전달의 균형을 조절하는 맺음변수이다.
위 정보처리 과정은 출력 \(\small Y\)가 있는 지도학습을 염두에 둔 설명이다. 오토인코더와 같은 자기 지도학습의 경우는 출력이 입력 자체가 되는 \(\small Y=X\)인 경우에 해당한다. 하지만 비지도 학습은 출력 또는 데이터의 의미에 해당하는 \(\small Y\)가 없다. 비지도 학습은 입력과 출력의 구별이 없는 데이터 \(\small X\)가 있고, 그들 사이의 비슷한 점과 다른 점을 최대한 분석해서 데이터를 구별하는 작업을 한다. 즉, 데이터 \(\small X\)를 뭉뚱그려서(coarse graining) 압축된 숨은 표현 \(\small Z\)의 빈도수를 얻는 것이다. 만약, \(\small X\)에 대한 아무런 사전지식이 없다면, \(\small X\)의 압축표현 \(\small Z\)의 빈도수의 차이가 데이터를 구별할 수 있는 유일한 의미가 될 것이다. 압축의 정도를 고정한 상황에서 \(\small Z\)의 빈도수가 다양할수록 데이터에서 더 많은 정보를 추출했다고 볼 수 있다. 이런 의미에서 비지도 학습에서는 \(\small Z\)의 빈도수가 바로 지도학습에서 데이터를 구별하는 의미인 \(\small Y\)의 역할을 한다.12)
심층 신경망에서 일어나는 정보처리 과정을 정리해 보면, 데이터를 변환해서 숨은 변수를 얻는 과정을 데이터를 압축하는 뭉뚱그리기 과정으로 이해할 수 있고, 이 압축된 표현을 통해서 데이터를 적절한 수준에서 구별할 수 있게 된다. 그리고 변환된 숨은 변수의 공간 구조를 통해 데이터의 빈도수를 효과적으로 형상화하게 된다.
맺음말
파인만의 스승이었던 휠러는 물리학의 내공이 깊어지면, 물질에서 에너지로, 궁극에는 정보의 관점에서 자연을 바라보게 된다는 이야기를 한 적이 있다. 그가 남긴 말 “it from bit(비트에서 존재로)”에 이 메시지가 강하게 남아 있다. 이미 물리학에서는 정보를 물리적 실체로 인식하고, 진지하게 연구를 하고 있다. ‘맥스웰의 도깨비’라는 사고 실험을 통해 열역학 둘째 법칙은 정보 없이는 온전한 법칙이 될 수 없음이 밝혀졌다. 이를 토대로 정보 열역학(information thermodynamics)이라는 분야가 생겼을 정도이다.13)
생물학의 생명 정보학(bioinformatics)에서도 정보는 중요한 역할을 하고 있다. 생명체는 유전자를 다음 세대에 전달하는 나르개일 뿐, 결국 지구에 남는 것은 유전자에 담긴 정보이다. 이 독특한 생각은 물질이 주인공인지 정보가 주인공인지를 생각해 보게 만든다.
이번 노벨상은 물리학의 오랜 탐구 대상인 물질, 에너지를 넘어서 정보를 물리학의 중요한 탐구 대상으로 인정한 이정표가 될 것 같다. 앞으로 기계학습, 뇌 과학의 기억, 의식, 감정 등 정보 연산의 다양한 측면들이 물리학과 더 깊이 연결되고, 이를 통해 인간과 자연에 대한 이해가 더 풍성해지기를 기대한다.
- 각주
- 1)D. H. Ackley, G. E. Hinton and T. J. Sejnowski, A Learning Algorithm for Boltzmann Machines, Cognitive Science 9, 147 (1985).
- 2)D. P. Kingma and M. Welling, Auto-Encoding Variational Bayes, arXiv:1312.6114 (2013).
- 3)J. Sohl-Dickstein, E. A. Weiss, N. Maheswaranathan and S. Ganguli, Deep Unsupervised Learning using Nonequilibrium Thermodynamics, arXiv:1503.03585 (2015).
- 4)J. J. Hopfield, Neural Networks and Physical Systems with Emergent Collective Computational Abilities, Proc. Natl. Acad. Sci. 79, 2554 (1982).
- 5)G. E. Hinton, Training Products of Experts by Minimizing Contrastive Divergence, Neural Computation 14, 1771 (2002).
- 6)Y. Song et al., Score-Based Generative Modeling through Stochastic Differential Equations, arXiv:2011.13456 (2011).
- 7)G. E. Hinton and R. R. Salakhutdinov, Reducing the Dimensionality of Data with Neural Networks, Science 313, 504 (2006).
- 8)J. Ho, A. Jain and P. Abbeel, Denoising Diffusion Probabilistic Models, arXiv:2006.11239 (2020).
- 9)J. Song, C. Meng and S. Ermon, Denoising Diffusion Implicit Models, arXiv:2010.02502 (2020).
- 10)C. E. Shannon, A Mathematical Theory of Communication, Bell System Technical Journal 27, 379 (1948).
- 11)N. Tishby, F. C. Pereira and W. Bialek, The Information Bottleneck Method, arXiv:physics/0004057 (2000).
- 12)S. Lee and J. Jo, Scale-Invariant Representation of Machine Learning, Phys. Rev. E 105, 044306 (2022).
- 13)J. M. R. Parrondo, J. M. Horowitz and T. Sagawa, Thermodynamics of Information, Nature Physics 11, 131 (2015).