베이지안 신경망
베이지안 신경망이란 무엇입니까?
베이지안 신경망(Bayesian Neural Networks, BNN)은 과적합(overfitting)을 제어하기 위해 사후 추론을 사용해 표준 네트워크를 연장한 것을 가리킵니다. 넓은 의미에서 보면 베이지안 방식은 통계적인 방법론을 사용해 모델 매개변수(신경망의 가중치와 편향)를 비롯한 모든 것에 확률 분포가 수반된다고 볼 수 있습니다. 프로그래밍 언어에서 특정 값을 취할 수 있는 변수는 해당 변수에 액세스할 때마다 매번 같은 결과를 반환합니다. 간단한 선형 모델 개정판부터 시작합시다. 여기에서는 일련의 입력 특징점에 가중치를 적용한 합을 사용해 출력을 예측합니다.
이에 비해, 베이지안 분야에서는 일명 확률 변수(random variables)라고도 하는 서로 비슷한 엔터티가 있어 액세스할 때마다 다른 값을 내놓습니다. 베이지안 식으로 말하자면, 기록 데이터는 전반적인 행동에 대해 우리가 갖고 있던 사전 지식을 나타내며 여기에서 각각의 변수에는 나름의 통계적 속성이 있어 시간이 흐르면 달라집니다. X가 확률 변수이며 정규 분포를 나타낸다고 가정합시다. 이 경우 X에 액세스할 때마다 반환된 결과는 매번 값이 다를 것입니다. 이렇게 확률 변수로부터 새 값을 얻는 프로세스를 샘플링이라고 합니다. 어떤 값이 나오는지는 그 확률 변수의 연결된 확률 분포에 좌우됩니다. 매개변수 면에서는 이 때문에 신경망이 학습한 매개변수의 성격과 형태를 추론할 수 있다는 뜻이 됩니다. 최근 들어 이 분야의 활동이 활발해 PyMC3, Edward, Stan과 같은 수많은 확률론적 프로그래밍 라이브러리가 출현했습니다. 베이지안 방식은 게임 개발부터 신약 개발에 이르기까지 다양한 분야에서 사용되고 있습니다.
자세히 보기