주요 컨텐츠로 이동

베이지안 신경망 (Bayesian Neural Networks, BNN)

Databricks 무료로 시작하기

베이지안 신경망이란 무엇입니까?

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

BNN의 주된 장점을 몇 가지 예로 들면 무엇입니까?

  • 베이지안 신경망은 데이터가 드문 분야에서 문제를 해결해야 할 때, 과적합(overfitting)을 예방하는 데 유용한 방법입니다. 예를 들어 분자생물학이나 진단 의학과 같은 용도에 주로 쓰입니다(데이터가 비싸고 난해한 실험 결과인 경우가 많은 분야).
  • 베이지안 망은 보편적으로 유용합니다.
  • 엄청나게 많은 작업에 더 나은 결과를 얻을 수 있지만, 대규모 문제에 맞춰 확장하기는 극히 어렵다는 것이 단점입니다.
  • BNN을 사용하면 대상을 알 수 없는 데이터를 다룰 때 예측과 관련된 오류를 자동으로 계산할 수 있습니다.
  • 예측에서 불확실성을 추산할 수 있어, 의료 등의 분야에 특히 탁월합니다.

베이지안 신경망을 사용해야 하는 이유는 무엇입니까?

베이지안 방식을 이용하면 한 질문에 딱 한 가지 답만 고려할 것이 아니라, 여러 답변이 분포된 전체를 고려할 수 있습니다. 이 방식을 취하면 다음과 같은 문제를 자연스럽게 해결할 수 있습니다.

  • 정규화(과적합이든 아니든 무관)
  • 모델 선택/비교, 별도의 교차 검증 데이터 세트가 필요하지 않음

추가 자료

용어집으로 돌아가기