본문 바로가기
인공지능

신경망과 확률 1

by 베니스스토리 2023. 7. 25.

신경망 확률 네트워크(Probabilistic Neural Network, PNN)

신경망 확률 네트워크(Probabilistic Neural Network, PNN)는 1990년대 초에  Donald Specht에 의해 개발된 비교적 오래된 인공 신경망의 한 종류입니다. PNN은 주로 패턴 분류에 사용되며, 지도학습(superised learning) 알고리즘에 속합니다.

 

PNN은 주로 4개의 층으로 구성됩니다.

 

입력층(Input Layer) : 입력 데이터가 이 층으로 들어오며, 주어진 특징 벡터로 표현됩니다.

 

패턴층(Pattern Layer) : 학습 데이터의 특징 벡터들이 이 층으로 들어와서 저장됩니다. 이층에서는 학습 데이터의 통계적 특성을 파악하여 확률분포를 추정합니다.

 

은닉층(Hidden Layer) : 패턴층의 데이터와 입력 데이터 간의 유사도를 계산하는 데 사용됩니다. 은닉층은 비교적 넓은 범위의 입력 데이터에 대해 활성화될 수 있으며, 입력 데이터와 학습 데이터 간의 거리를 측정합니다.

 

출력층(Output Layer) : 입력 데이터의 클래스 레이블을 결정하는데 사용도비니다. 은닉층에서 계산된 거리와 패턴층에서 추정된 확률 분포를 기반으로 입력 데이터의 클래스를 예측합니다.

 

PNN은 확률 기반 분류 알고리즘이므로, 데이터 포인트가 어떤 클래스에 속할 확률을 계산하여 예측합니다. 학습과정에서는 데이터의 통계 정보를 사용하여 모델의 매개변수를 설정하고, 이후 새로운 입력 데이터에 대한 예측을 수행합니다.

 

그러나 PNN은 현대적인 딥러닝 모델과 비교하면 여러 가지 한계점이 있습니다. 특히, 학습 데이터에 비해 모델의 매개변수가 많아 과적합(overfitting) 문제가 발생하기 쉽습니다. 따라서 현대적인 딥러닝 모델인 신경망과 CNN, RNN 등이 더 광범위하고 성능이 뛰어난 기법으로 인기를 얻고 있습니다.

신경망 확률적 네트워크(Stochastic Neural Networks)

신경망 확률적 네트워크(Stochastic Neural Networks)는 신경망 모델 중에서 확률적인 요소를 포함하는 네트워크를 의미합니다. 확률적 네트워크는 확률적인 방식으로 뉴런의 활성화를 결정하며, 이를 통해 불확실성을 모델링하고 다양한 상황에 대응할 수 있습니다. 

 

일반적인 신경망은 입력 데이터를 받아 가중치와 활성화 함수를 사용하여 출력을 계산하는데, 이때 매번 동일한 방식으로 계산됩니다. 하지만 확률적 네트워크에서는 뉴런의 활성화를 확률적으로 결정하므로, 같은 입력에 대해서도 다양한 출력이 가능합니다. 이는 모델이 더욱 유연하게 데이터를 모델링하고, 노이즈에 강건한 특성을 가질 수 있도록 도와줍니다.

 

확률적 네트워크의 대표적인 예로는 "드롭아웃(Dropout)"이 있습니다. 드롭아웃은 학습 과정에서 뉴런의 일부를 임의로 비활성화시키는 방법으로, 이를 통해 모델의 과적합을 방직하고 일반화 성능을 향상시킬 수 있습니다. 또한, "볼츠만 머신(Boltzmann Machine)"이나 "제한된 볼츠만 머신( Restricted boltzmann Macine, RBM)"과 같은 확률적인 접근 방식을 사용하는 네트워크도 확률적 네트워크에 속합니다.

 

확률적 네트워크는 특히 데이터가 부족하거나 불확실성이 높을 때 유용하며, 또한 앙상블 학습(Ensemble Learning)과 같은 기법과 함께 사용하여 모델의 성능을 향상시키는 데에 활용됩니다. 하지만 확률적인 결정으로 인해 학습 속도가 느리거나 더 많은 계산 비용이 필요한 단점도 있으므로, 특정 상황에 맞게 적절히 사용하는 것이 중요합니다.

 

 

 

'인공지능' 카테고리의 다른 글

DNA 컴퓨터/생체분자 컴퓨터  (0) 2023.07.31
연합학습/분산학습  (0) 2023.07.29
기계학습  (0) 2023.07.10
인공지능의 역사  (0) 2023.07.09
인공지능이란 무엇인가  (0) 2023.07.09