검수요청.png검수요청.png

심층신뢰신경망

위키원
sosodam (토론 | 기여)님의 2020년 8월 6일 (목) 10:10 판
이동: 둘러보기, 검색

심층신뢰신경망(Deep Belief Network)은 알고리즘에 따라 비지도학습 방법(unsupervised learning)을 기반으로 하는 심층신경망이다.

개요

심층신뢰신경망은 머신러닝에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층신경망을 의미한다. 계층 간에는 연결이 있지만, 계층 내의 유닛 간에는 연결이 없다는 특징이 있다. 심층신뢰신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능하게 한다. 심층 신뢰 신경망의 각각의 계층은 보통 제한 볼츠만 머신(RBM: Restricted Boltzmann Machine)의 형태를 띄고 있다.

특징

비지도학습

학습 훈련 데이터(training data)로 출력 없이 입력만 제공되는 상황을 문제(입력)의 답(출력)을 가르쳐 주지 않는 것에 비유해 비지도형 기계 학습, 비지도학습이라고 한다. 비지도학습은 사람의 해석을 통해 유용한 지식을 추출하는 데 활용되거나, 지도학습에서의 원래 입력보다 데이터 특징을 더 잘 표현하는 새로운 입력을 만드는 특징 추출기(feature extractor)로 활용된다. 비지도학습은 통계의 밀도 추정(Density Estimation)과 깊은 연관이 있으며, 데이터의 주요 특징을 요약하고 설명할 수 있다. 비지도학습의 예로는 클러스터링(Clustering), 독립 성분 분석(Independent Component Analysis)이 있다.[1]

클러스터링은 유사성 등의 개념에 기초하여 데이터를 몇몇의 그룹으로 분류하는 수법을 총칭하는 것으로, 문헌 검색, 패턴 인식, 경영 과학 등에 폭넓게 응용되고 있다. 클러스터 분석은 주어진 데이터들의 특성을 고려해 데이터 집단(클러스터)을 정의하고 데이터 집단의 대표할 수 있는 대표점을 찾는 것으로 데이터마이닝(data mining)의 한 방법이다. 클러스터는 비슷한 특성을 가진 데이터들의 집단을 의미한다. 반대로 데이터의 특성이 다르면 다른 클러스터에 속해야 하는 것이다. 클러스터 분석을 통해 수백만의 데이터를 직접 확인하지 않고 각각 클러스터의 대표값만 확인해 전체 데이터의 특성을 파악할 수 있다. 독립 성분 분석은 다변량의 신호를 통계적으로 독립적인 하부 성분으로 분리하는 계산 방법이다. 각 성분은 비가우스성(non gaussian characteristic) 신호로서 서로 통계적 독립을 이루는 성분으로 구성되어 블라인드 신호를 분리할 수 있다.

제한 볼츠만 머신

심층신뢰신경망은 비지도 방식으로 계층마다 학습을 진행하는데, 이때 각각의 계층은 보통 제한 볼츠만 머신(RBM)의 형태를 띄고 있다. 제한 볼츠만 머신은 에너지 기반의 생성 모형으로 가시 유닛과 은닉 유닛으로 이루어진 무방향 이분 그래프 형태이다. 가시 유닛들과 은닉 유닛들 사이에만 연결이 존재한다. 제한 볼츠만 머신이 훈련되고 나면 다른 제한 볼츠만 머신이 그 위에 쌓아 올려짐으로써 다중 계층 모형을 형성한다. 제한 볼츠만 머신이 쌓아 올려질 때마다, 이미 훈련된 제한 볼츠만 머신의 최상위 계층이 새로 쌓이는 제한 볼츠만 머신의 입력으로 쓰인다. 이 입력을 이용하여 새 제한 볼츠만 머신이 훈련되고, 원하는 만큼의 계층이 쌓일 때까지 해당 과정이 반복된다.[2]

층별 선훈련

층별 선훈련

여러 층으로 이루어진 인공신경망 학습에서는 신경망의 레이어(layer)가 늘어날수록 오래 전 데이터에서 기울기가 사라지는 문제(vanishing gradient problem)가 발생한다. 이 문제를 해결하기 위해 심층신뢰신경망에서는 입력으로부터 가까운 층부터 차례대로 제한 볼츠만 머신을 이용한 일종의 비지도 학습인 사전 학습을 수행하며, 이것을 층별 선훈련(layer-wise pre-training)이라고 한다.

심층신뢰신경망에서 1단계 제한 볼츠만 머신의 사전 학습이 완료되면 그 결괏값이 2단계 제한 볼츠만 머신의 입력값으로 사용되며, 이때 1단계에서 사용된 가중치는 고정된다. 이와 같은 방법으로 마지막 은닉층까지 순서대로 반복되며, 이와 같은 층별 선훈련의 목적은 각 은닉층에 존재하는 가중치를 가능한 한 목푯값에 가깝도록 만드는 것이다. 심층신뢰신경망은 비지도 학습인 제한 볼츠만 머신을 기반으로 여러 번의 사전 학습을 통해 가중치를 어느 정도 보정하고, 역전파 및 피드포워드 알고리즘을 통해 최종 가중치를 계산하게 된다. 이러한 특성은 학습 데이터의 양이 적을 때 굉장히 유용하게 사용된다. 이러한 심층신뢰신경망은 입력 데이터와 같은 출력 데이터를 재생성함으로 오토인코더나 분류기 등에 활용될 수 있으며, 이미지에서 사람의 얼굴 방향 인식 문제나 문서의 코드화 작업 등에 사용되고 있다.

각주

  1. 비지도형 기계학습 한국정보통신기술협회 - http://word.tta.or.kr/dictionary/dictionaryView.do?word_seq=168097-9
  2. 딥러닝 위키백과 - https://ko.wikipedia.org/wiki/%EB%94%A5_%EB%9F%AC%EB%8B%9D

참고자료

같이 보기


  검수요청.png검수요청.png 이 심층신뢰신경망 문서는 인공지능 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.