KR102120150B1 - 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치 - Google Patents

뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치 Download PDF

Info

Publication number
KR102120150B1
KR102120150B1 KR1020180107432A KR20180107432A KR102120150B1 KR 102120150 B1 KR102120150 B1 KR 102120150B1 KR 1020180107432 A KR1020180107432 A KR 1020180107432A KR 20180107432 A KR20180107432 A KR 20180107432A KR 102120150 B1 KR102120150 B1 KR 102120150B1
Authority
KR
South Korea
Prior art keywords
variable
neural network
function
parameter
predetermined
Prior art date
Application number
KR1020180107432A
Other languages
English (en)
Other versions
KR20200028801A (ko
Inventor
백명희조
권용찬
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020180107432A priority Critical patent/KR102120150B1/ko
Publication of KR20200028801A publication Critical patent/KR20200028801A/ko
Application granted granted Critical
Publication of KR102120150B1 publication Critical patent/KR102120150B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명은 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 추론 장치가 개시되는 바, 입력 변수 및 목표 변수를 입력 받는 단계, 입력 변수 x 에 뉴럴 네트워크의 함수
Figure 112018089356262-pat00288
를 적용하여 출력
Figure 112018089356262-pat00289
를 산출하되, 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, w 가 변분 분포
Figure 112018089356262-pat00290
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 변분 분포
Figure 112018089356262-pat00291
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 함수 (S)(에러(e)는 변분 분포
Figure 112018089356262-pat00292
에 따라 무작위로 생성되는 값이며, θ는 변분 모수임)를 설정하여 출력
Figure 112018089356262-pat00293
를 산출하는 단계를 포함한다.

Description

뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치{LEARNING METHOD AND LEARNING DEVICE FOR VARIATIONAL INTERFERENCE USING NEURAL NETWORK AND TEST METHOD AND TEST DEVICE FOR VARIATIONAL INTERFERENCE USING THE SAME}
본 발명은 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 추론 장치에 관한 것이다. 보다 상세하게는, 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는,
Figure 112018089356262-pat00001
: X -> Y로 정의(여기서
Figure 112018089356262-pat00002
는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
Figure 112018089356262-pat00003
는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서, (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계; (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
Figure 112018089356262-pat00004
를 적용하여 상기 출력
Figure 112018089356262-pat00005
를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
Figure 112018089356262-pat00006
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00007
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
Figure 112018089356262-pat00008
에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
Figure 112018089356262-pat00009
를 산출하는 단계; (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및 (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 이를 이용한 학습 장치, 변분 추론 방법 및 장치에 관한 것이다.
뉴럴 네트워크(neural network; 인공신경망) 모형을 사용하는 딥러닝(deep learning) 기술은 자료의 주변성(locality)을 직접적으로 모형화하여 종래기술인 기계학습(machine learning)의 한계점을 극복하며 영상인식 분야에서 최첨단 성능을 보이고 있다. 딥러닝 기술이 이토록 발전할 수 있었던 배경에는 모형의 구조(model architecture)와 최적화 방법론(optimization method) 분야의 수 많은 연구가 있었기에 가능했다.
그러나 일반적인 딥러닝 기술로는 좋은 최적화 방법과 모형 구조로 신경망 모형이 학습되었다 하더라도 미리 정해진 범주(class)에 속할 확률에 대한 점추정치(point estimate)를 계산할 뿐, 그 추정치가 얼마나 정확한가에 대한 신뢰도에 대한 정보는 수량화가 불가하여 예측치에 대한 확률적 해석(probabilistic interpretation)과 통계적 추론(statistical inference)이 불가능하다.
한편, 모형의 통계적 추론 분야 연구는 상대적으로 매우 부족한 상황인데, 이는 매우 심각한 문제를 초래할 수 있다. 일 예로, 2016년 5월 미국에서 자율주행 자동차가 "하얀 색 배경의 트레일러"를 하늘의 밝은 빛에 의하여 잘못 인식하여 속도를 줄이지 않고 충돌하여 운전자가 사망하는 사고가 있었다.
예측지를 확률적으로 해석하기 위해서는 베이지안 신경망(Bayesian neural network)을 이용하여 사용할 수 있다. 여기서 베이지안 신경망은 임의의 깊은 인공 신경망(deep artificial neural network)의 모수를 사전 분포(prior distribution)의 확률 변수로 가정하는 모형이다. 베이지안 신경망은 일반 깊은 인공 신경망과 같이 임의의 수의 은닉층(hidden layer)를 가질 수 있으며, 은닉층은 컨벌루션 레이어(convolutional layer), 액티베이션 레이어(activation layer), 풀리 커넥티드 레이어(fully connected layer)들 중 적어도 하나를 포함한다.
한편, Gal and Ghahramani 는 2015년에 발표한 "Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning"의 논문에서 임의의 신경망의 모든 은닉층(hidden layer)에 dropout을 사용한 모형을 학습하는 방법은 이산분포(Bernoulli distribution)의 곱으로 나타낼 수 있는 변분분포를 사용한 변분 추론 방법임을 보였다.
또한 종래의 연구(Gal and Ghaharamini (2015) 및 Kendall and Gal, 2017 (What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision))에서는 뉴럴 네트워크의 출력 값을 이용하여 불확정성 수량화(uncertainty quantification) 방법을 제시하면서 신경망에 대한 확률적 해석을 가능하게 했지만, 다음과 같은 문제가 있다.
종래 기술 또는 종래 연구에서는 모든 은닉층에서 dropout을 이용하면서 변분 분포는 product of tow point 지지집합(support)를 가진다. 이러한 변분 추론 방법은 변분 분산이 변분 모수(θ)의 위치에 따라서만 변할 뿐, 자료의 숫자가 증가하더라도 변분 분포가 한 점으로 확률 수렴(converge in probability)하지 않는 문제점이 있다. 또한 은닉층의 출력 값이 표현할 수 있는 범위를 상당히 제한 시킨다는 문제점도 존재한다. 이는 변분 추론의 원래 목적인 사후 분포를 근사화 하려는 목적을 달성하지 못하게 하는 단점이 된다.
본 발명은 상술한 문제점을 해결하는 것을 목적으로 한다.
또한 본 발명은 뉴럴 네트워크를 사용할 때, 변분 추론의 원래 목적인 자료 수가 늘어남에 따라 사후 분포가 한 점으로 확률 수렴할 수 있도록 하는 변분 추론 학습 및 추론 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 뉴럴 네트워크에서 은닉층의 출력 값이 표현할 수 있는 범위를 제한 시키지 않는 새로운 변분 추론 학습 방법 및 추론 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 태양에 따르면, 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는,
Figure 112018089356262-pat00010
: X -> Y로 정의(여기서
Figure 112018089356262-pat00011
는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
Figure 112018089356262-pat00012
는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법은, (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계; (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
Figure 112018089356262-pat00013
를 적용하여 상기 출력
Figure 112018089356262-pat00014
를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
Figure 112018089356262-pat00015
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00016
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
Figure 112018089356262-pat00017
에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
Figure 112018089356262-pat00018
를 산출하는 단계; (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및 (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함한다.
일 실시예에서, 상기 (b) 단계는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성한다.
일 실시예에서, 상기 에러 (e) 는 소정의 평균 값과 소정의 분산 함수 (g(n)) 값으로 이루어진 분포를 갖되, 상기 분산 함수는 n 이 커질수록 0으로 수렴한다.
일 실시예에서, 상기 함수 S는, 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 기본 웨이트(M)들에 대응되는 변분 모수와 상기 에러(e)를 곱하여, 상기 기본 웨이트(M)들 및 이에 대응하는 노드를 교란하기 위한 교란 함수이며, 상기 교란층은 상기 교란 함수를 통해, 입력 또는 이전 은닉층의 노드들의 값에 상기 교란 함수를 이용하여 도출된 웨이트(w)를 곱하여 다음 은닉층 또는 출력을 생성한다.
일 실시예에서, 상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들 사이의 노드 간의 웨이트이며, 상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 곱을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 1이고, 분산이 g(n)인 분포를 이루고, 이때, 상기 g(n) 은 n 이 커질수록 0으로 수렴하는 함수이다.
다른 실시예에서, 상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들의 노드 사이의 웨이트이며, 상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 합을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 0이고, 분산이 g(n)인 분포를 이루고, 이때, 상기 g(n) 은 n 이 커질수록 0으로 수렴하는 함수이다.
일 실시예에서, 상기 (c) 단계는 아래 식과 같은 쿨벡-라이블러 발산의 정의를 이용하여,
Figure 112018089356262-pat00019
상기 로스를 산출한다.
(여기서 data는 학습 자료집합(training set), w는 베이지안 모수,
Figure 112018089356262-pat00020
는 변분 모수(θ)로 매개화된 변분 분포(variational distribution),
Figure 112018089356262-pat00021
는 모수에 대한 사후분포이다.)
다른 실시예에서, 상기 (c) 단계는, 아래 식을 이용하여
Figure 112018089356262-pat00022
상기 로스를 산출한다.
여기서
Figure 112018089356262-pat00023
는 표집 index인 s가 1부터 T까지에 대해 변분분포
Figure 112018089356262-pat00024
에서 임의 표집된 값(realized value)이며,
Figure 112018089356262-pat00025
는 미리 정한 모수에 대한 사전분포이다.
일 실시예에서, 상기 (d) 단계는, 아래 식을 이용하여
Figure 112018089356262-pat00026
- 여기서, t는 1부터 미리 정해진 자연수 G 사이의 값을 갖는 학습 iteration을 나타내는 숫자이며,
Figure 112018089356262-pat00027
는 t시점에서의 변분 모수,
Figure 112018089356262-pat00028
는 t+1 시점에서의 변분 모수이고,
Figure 112018089356262-pat00029
은 미리 정한 분포에서 임의 생성된 초기 값이며, α는 학습 레이트(learning rate), L은 로스 - 상기 변분 모수 θ를 업데이트한다.
본 발명의 다른 특징에 따르면, 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출하는,
Figure 112018089356262-pat00030
: X -> Y로 정의(여기서
Figure 112018089356262-pat00031
는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
Figure 112018089356262-pat00032
는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 방법은, (a) 서버가, (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
Figure 112018089356262-pat00033
를 이용하여 소정의 학습용 출력
Figure 112018089356262-pat00034
를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
Figure 112018089356262-pat00035
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00036
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
Figure 112018089356262-pat00037
에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
Figure 112018089356262-pat00038
를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 상기 서버가, 추론을 위한 테스트용 입력 변수를 입력 받는 단계; 및 (b) 상기 서버가, 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
Figure 112018089356262-pat00039
를 적용하여 상기 추론 출력
Figure 112018089356262-pat00040
를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
Figure 112018089356262-pat00041
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00042
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
Figure 112018089356262-pat00043
에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
Figure 112018089356262-pat00044
를 산출하는 단계;를 포함한다.
본 발명에 따르면, 베이지안 추론 방법 중 하나인 변분 추론을 뉴럴 네트워크를 통해 구현하고, 자료의 수가 늘어남에 따라 사후 분포가 한 점으로 확률 수렴할 수 있다.
또한 본 발명은 뉴럴 네트워크를 통한 변분 추론 방법에서 은닉층의 출력 값이 표현할 수 있는 범위를 제한 시키지 않을 수 있다.
또한 본 발명은, 자료의 수가 커져도 분산이 줄지 않는 Gal and Ghahramaani 의 2015 년 연구의 단점을 보완할 수 있다.
도 1은 뉴럴 네트워크에서의 드랍 아웃을 설명하는 도면이다.
도 2는 본 발명에 따른 변분 추론 방법에서 은닉층에서의 각 노드의 산출 과정을 모형화하여 나타낸 도면이다.
도 3은 본 발명에 따른 변분 추론 학습 과정에서의 교란층의 기능을 설명하기 위한 뉴럴 네트워크의 예를 나타낸다.
도 4는 본 발명에 따른 변분 추론 방법 시 불확정성 수량화(uncertainty quantification)를 위한 출력 분포 값을 산출하는 예를 도시한다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
베이지안 신경망을 이용한 베이지안 추론(Bayesian inference)은 모수(parameter)에 대한 사후분포(posterior distribution)를 계산해야 하는데, 이는 수 많은 컴퓨터 계산이 필요하여 깊은인공신경망 모형에 대한 실질적인 구현은 불가능하다. 최근에서야 변분추론(variational inference) 방법을 이용하여 상용 컴퓨터로도 베이지안 신경망을 학습하는 방법이 연구되었다.
변분추론 방법이란 복잡한 사후분포를 비교적 계산하기 쉬운 분포족의 원소로 근사하는 방법으로, 주로 쿨벡-라이블러 발산(Kullback-Leibler divergence)를 변분 모수(variational parameter)에 대하여 최소화 한다. 다음은 쿨벡-라이블러 발산의 정의이다.
Figure 112018089356262-pat00045
여기서 data는 학습 자료집합(training set), w는 베이지안 모수,
Figure 112018089356262-pat00046
는 변분 모수(θ)로 매개화된 변분 분포(variational distribution),
Figure 112018089356262-pat00047
는 모수에 대한 사후분포이다. 쿨벡-라이블러 발산을 최소화 하는 변분모수를 변분분포에 입력하여 베이지안 추론을 할 수 있다.
본 발명은 크게 학습 과정과 예측 과정(즉, 추론 과정 또는 테스트 과정) 두 단계로 구성된다. 본 발명에 따른 변분 추론 알고리즘은 모든 임의의 깊은 뉴럴 네트워크(인공신경망) 모형에 적용될 수 있다. 따라서 임의의 Convolutional neural network(CNN)에도 모두 적용될 수 있다.
우선 학습과정에서 사용하는 뉴럴 네트워크의 입력 변수를 x, 모수를 w, 마지막 은닉층의 출력 값을
Figure 112018089356262-pat00048
라 할 수 있다. 이는 출력 값에 대한 조건부 기대 값으로 볼 수 있다. 상기
Figure 112018089356262-pat00049
는 임의의 뉴럴 네트워크 구조를 가질 수 있으며, convolutional layer, pooling layer, activation layer, fully connected layer등으로 구성되어 있다.
우선 본 발명에 따른 학습 과정을 살펴보면, 우선, 입력 변수 및 학습에 필요한 목표 변수(y)를 입력 받는다.
그런 다음, 입력 변수의 각 원소 값들에 대해 소정의 웨이트를 곱하여 하나 이상의 은닉층들을 순차적으로 생성하고, 마지막 은닉층의 출력 값
Figure 112018089356262-pat00050
을 생성한다.
도 1은 뉴럴 네트워크에서의 드랍 아웃을 설명하는 도면이다.
도 1의 (a)는 2개의 은닉층(hidden layer)를 갖는 표준형태의 뉴럴 네트워크의 구조를 나타낸다. 도 1의 (a)에서는 다음 은닉층의 모든 노드는 이전 은닉층의 노드 또는 입력 값의 각 원소 값들에 소정의 웨이트를 적용하여 산출된다.
도 1의 (b)는 dropout이 적용되는 뉴럴 네트워크 구조를 나타내며, 각 학습 단계마다 뉴럴 네트워크 은닉층의 노드들 중에서 임의의 노드를 삭제하여 계산을 수행한다. 도 1의 (b)에서 'X' 표시된 노드가 임의로 삭제된 노드이다.
한편, 앞에서 설명한 바와 같이, Gal and Ghahramani 는 2015년에 발표한 "Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning"의 논문에서 임의의 신경망의 모든 은닉층(hidden layer)에 dropout을 사용한 모형을 학습하는 방법은 이산분포(Bernoulli distribution)의 곱으로 나타낼 수 있는 변분분포를 사용한 변분 추론 방법임을 보였다.
즉, 일정 확률(예를 들어 0.5의 확률)의 0 또는 1 값을, 은닉층 사이의 노드 간 각 웨이트 값이나 이전 은닉층의 각 노드 값에 곱하여 계산하는 것과 동일한 것으로 볼 수 있는 것이다.
본 발명에서의 상기 은닉층 산출 및 출력 값
Figure 112018089356262-pat00051
산출 과정은 다음과 같다. 여기서
본 발명에 따른 변분 추론 학습 장치는, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
Figure 112018089356262-pat00052
를 적용하여 상기 출력
Figure 112018089356262-pat00053
를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
Figure 112018089356262-pat00054
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00055
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) (여기서, 상기 에러(e)는 상기 변분 분포
Figure 112018089356262-pat00056
에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수이다) 를 설정하여 상기 출력
Figure 112018089356262-pat00057
를 산출한다.
도 2는 본 발명에 따른 변분 추론 방법에서 은닉층에서의 각 노드의 산출 과정을 모형화하여 나타낸 도면이다.
도 2를 참조하여, 본 발명에 다른 은닉층에서의 각 웨이트(w)를 이용한 연산 과정을 설명하면 다음과 같다. 도 2를 참조하면,
Figure 112018089356262-pat00058
은 뉴럴 네트워크의 l번째 은닉층의 pre-activated 벡터를 나타내며,
Figure 112018089356262-pat00059
은 뉴럴 네트워크의 l번째 은닉층의 출력 벡터이자 (l+1)번째 은닉층의 입력 벡터를 지칭한다. 따라서,
Figure 112018089356262-pat00060
은 입력 변수 x가 된다. 그리고
Figure 112018089356262-pat00061
(미도시),
Figure 112018089356262-pat00062
Figure 112018089356262-pat00063
은 뉴럴 네트워크의 l번째 은닉층의 각 노드의 웨이트, 기본 웨이트(변분 모수(θ)) 및 바이어스 값을 나타낸다. 그리고 f는 임의의 액티베이션 함수를 나타낸다. 예를 들어, f(x) = 1/(1 + exp(-x)) 또는 시그모이드(sigmoid) 함수 일 수 있을 것이다. 여기서, θ는 상기 전체 은닉층의 변분 모수(M)의 집합을 나타낸다.
그리고, 도 2에서,
Figure 112018089356262-pat00064
,
Figure 112018089356262-pat00065
,
Figure 112018089356262-pat00066
l번째 은닉층의 1번째 내지 3번째 노드의 값, 즉, l번째 은닉층의 출력 벡터(
Figure 112018089356262-pat00067
)의 각 원소 값이다.
Figure 112018089356262-pat00068
,
Figure 112018089356262-pat00069
,
Figure 112018089356262-pat00070
l번째 은닉층의 각 노드들(1번째 내지 3번째 노드)과 l+1번째 은닉층의 i번째 노드 사이의 변분 모수(기본 웨이트)이며,
Figure 112018089356262-pat00071
,
Figure 112018089356262-pat00072
,
Figure 112018089356262-pat00073
l번째 은닉층의 각 노드들(1번째 내지 3번째 노드)과 l+1번째 은닉층의 i번째 노드 사이의 변분 모수(기본 웨이트)를 교란하기 위한 에러 값이다.
또한,
Figure 112018089356262-pat00074
은 뉴럴 네트워크의 l+1번째 은닉층의 i번째 노드의 pre-activated 값(즉, l+1번째 은닉층의 pre-activated 벡터 중 i번째 노드에 해당하는 원소 값)을 나타내며,
Figure 112018089356262-pat00075
은 뉴럴 네트워크의 l+1번째 은닉층의 i 번째 노드의 출력 값(즉, l+1번째 은닉층의 출력 벡터 중 i번째 노드에 해당하는 원소 값)을 지칭한다.
도 2를 참조하면, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 변분 모수(기본 웨이트; M)와 에러(e)를 입력으로 하는 소정의 함수 S에 의해 구해지되, 상기 웨이트(w)가 변분 분포
Figure 112018089356262-pat00076
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00077
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S)를 설정하게 된다.
예를 들어, 도 2에서와 같이 l+1 번째 은닉층의 i 번째 노드 값을 구하기 위한, 웨이트
Figure 112018089356262-pat00078
,
Figure 112018089356262-pat00079
,
Figure 112018089356262-pat00080
(미도시)는 소정의 함수 S에 의해 정해 지며, 상기 함수는
Figure 112018089356262-pat00081
,
Figure 112018089356262-pat00082
,
Figure 112018089356262-pat00083
Figure 112018089356262-pat00084
,
Figure 112018089356262-pat00085
,
Figure 112018089356262-pat00086
를 입력 값으로 하고, 웨이트
Figure 112018089356262-pat00087
,
Figure 112018089356262-pat00088
,
Figure 112018089356262-pat00089
(미도시)가 변분 분포
Figure 112018089356262-pat00090
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00091
는 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 갖도록 설정한다.
따라서, 도 2의 뉴럴 네트워크의 l+1번째 은닉층의 각 출력 벡터(노드 값)을 구하는 식은 아래의 수학식들을 통해 산출될 수 있다.
Figure 112018089356262-pat00092
Figure 112018089356262-pat00093
Figure 112018089356262-pat00094
예를 들어, 상기 수학식 1에서
Figure 112018089356262-pat00095
가 단순히
Figure 112018089356262-pat00096
가 될 수 있을 것이다. 다른 예에서는,
Figure 112018089356262-pat00097
Figure 112018089356262-pat00098
가 될 수도 있을 것이다. 여기서,
Figure 112018089356262-pat00099
는 element-wise 곱을 나타내며,
Figure 112018089356262-pat00100
는 element-wise 합을 나타낸다.
즉, 일 실시예에서는, 상기 웨이트(w)가 상기 뉴럴 네트워크의 이웃하는 각 은닉층들 사이의 노드 간의 웨이트일 때, 상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 곱을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 1이고, 분산이 g(n)인 분포를 이루고, 이때, 상기 g(n) 은 n 이 커질수록 0으로 수렴하는 함수이다. 예를 들어, 상기 분산 g(n) 이 자료의 수 n이 무한대로 갈수록 0에 접근하는
Figure 112018089356262-pat00101
또는
Figure 112018089356262-pat00102
와 같은 자료의 수 n의 함수가 될 수 있을 것이다.
다른 실시예에서는, 상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들의 노드 사이의 웨이트일 때, 상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 합을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 0이고, 분산이 g(n)인 분포를 이루고, 이때, 상기 g(n) 은 n 이 커질수록 0으로 수렴하는 함수이다. 이 경우에도, 상기 분산 g(n)의 함수의 일 예로, 이 자료의 수 n이 무한대로 갈수록 0에 접근하는
Figure 112018089356262-pat00103
또는
Figure 112018089356262-pat00104
와 같은 자료의 수 n의 함수가 될 수 있다.
다시, 도 2를 참조하면, 본 발명에 따른 변분 추론 방법은 학습 과정에서, 에러(e)와 상기 변분 모수(θ)를 참조하여 생성된 웨이트(w)로 형성된 교란층을 이용하여 각각의 은닉층을 생성하게 된다. 이때 상기 은닉층에서, 에러 (e) 는 소정의 평균 값과 소정의 분산 함수 (g(n)) 값으로 이루어진 분포를 갖고, 상기 분산 함수는 자료의 수(n)가 커질수록 0으로 수렴하는 성질을 갖도록 설정된다.
상술한 바와 같이, 상기 함수 S는, 일 예로, 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 기본 웨이트(M)들에 대응되는 변분 모수(θ)와 상기 에러(e)를 곱하여, 상기 기본 웨이트(M)들 및 이에 대응하는 노드를 교란하기 위한 교란 함수가 될 수 있고, 이 경우, 상기 교란층은 상기 교란 함수를 통해, 입력 또는 이전 은닉층의 노드들의 값에 상기 교란 함수를 이용하여 도출된 웨이트(w)를 곱하여 다음 은닉층 또는 출력을 생성한다.
도 3은 본 발명에 따른 변분 추론 학습 과정에서의 교란층의 기능을 설명하기 위한 뉴럴 네트워크의 예를 나타낸다.
도 3의 좌측 도면은 일반적인 뉴럴 네트워크로 은닉층이 2개인 계산 예시를 나타낸다. 일반적인 뉴럴 네트워크에서는 입력 변수 (예를 들어 x
Figure 112018089356262-pat00105
인 입력 변수 x)가 입력되면, 제1 은닉층에서는 입력 변수와 제1 은닉층 사이의 변분 모수(
Figure 112018089356262-pat00106
,
Figure 112018089356262-pat00107
Figure 112018089356262-pat00108
)을 상기 입력 변수 x 와 연산하고 소정의 액티베이션 함수(
Figure 112018089356262-pat00109
)를 연산하여
Figure 112018089356262-pat00110
이 생성된다. 즉, 제1 은닉층의 연산 결과는
Figure 112018089356262-pat00111
로 나타낼 수 있다. 제2 은닉층에서는 제1 은닉층과 제2 은닉층 사이의 변분 모수(
Figure 112018089356262-pat00112
,
Figure 112018089356262-pat00113
Figure 112018089356262-pat00114
)을 상기 제1 은닉층의 출력
Figure 112018089356262-pat00115
와 연산하고 소정의 액티베이션 함수(
Figure 112018089356262-pat00116
)를 연산하여
Figure 112018089356262-pat00117
이 생성된다. 즉, 제2 은닉층의 연산 결과는
Figure 112018089356262-pat00118
또는
Figure 112018089356262-pat00119
로 나타낼 수 있다. 뉴럴 네트워크의 출력에서는 제2 은닉층과 출력 사이의 변분 모수(
Figure 112018089356262-pat00120
,
Figure 112018089356262-pat00121
Figure 112018089356262-pat00122
)을 상기 제2 은닉층의 출력
Figure 112018089356262-pat00123
와 연산하고 소정의 액티베이션 함수(
Figure 112018089356262-pat00124
)를 연산하여 뉴럴 네트워크의 출력
Figure 112018089356262-pat00125
이 생성된다. 즉, 뉴럴 네트워크의 연산 결과는
Figure 112018089356262-pat00126
또는
Figure 112018089356262-pat00127
로 나타낼 수 있다. 여기서 괄호 안의 아래 첨자 t는 1부터 미리 정해진 자연수 G 사이의 값을 갖는 학습 iteration을 나타내는 숫자이다.
한편, 도 3의 우측 도면은 본 발명에 따라 은닉층 사이에 교란층을 구비한 뉴럴 네트워크로 은닉층이 2개 교란층이 3개인 계산 예시를 나타낸다.
도 3의 우측 도면을 참조하면, 입력 변수와 제1 은닉층 사이에 제1 교란층을 구비하고, 제1은닉층과 제2 은닉층 사이에 제2 교란층을 구비하며, 제2 은닉층과 출력 사이에 제3 교란층을 구비한다.
상기 제1 교란층은 입력 변수와 제1 은닉층 사이의 변분 모수 (
Figure 112018089356262-pat00128
,
Figure 112018089356262-pat00129
Figure 112018089356262-pat00130
)를 제1 에러(
Figure 112018089356262-pat00131
)으로 교란하여 제1 웨이트(
Figure 112018089356262-pat00132
)을 생성하고, 입력 변수의 각 원소 값에 상기 웨이트를 가하여 제1 은닉층을 생성한다. 상기 제2 교란층은 제1 은닉층과 제2 은닉층 사이의 변분 모수 (
Figure 112018089356262-pat00133
,
Figure 112018089356262-pat00134
Figure 112018089356262-pat00135
)를 제2 에러(
Figure 112018089356262-pat00136
)으로 교란하여 제2 웨이트(
Figure 112018089356262-pat00137
)을 생성하고, 제1 은닉층의 각 노드 값에 상기 웨이트를 가하여 제2 은닉층을 생성한다. 상기 제3 교란층은 제2 은닉층과 출력 사이의 변분 모수 (
Figure 112018089356262-pat00138
,
Figure 112018089356262-pat00139
Figure 112018089356262-pat00140
)를 제3 에러(
Figure 112018089356262-pat00141
)으로 교란하여 제3 웨이트(
Figure 112018089356262-pat00142
)을 생성하고, 제2 은닉층의 각 노드 값에 상기 웨이트를 가하여 뉴럴 네트워크의 출력 값을 생성한다. 여기에서도 괄호 안의 아래 첨자 t는 1부터 미리 정해진 자연수 G 사이의 값을 갖는 학습 iteration을 나타내는 숫자이다. 즉, 상기 t는 학습 과정에서 t번째 반복(iteration)을 나타낸다.
즉, 본 발명에 따른 뉴럴 네트워크에서는 입력 변수 (예를 들어
Figure 112018089356262-pat00143
인 입력 변수 x)가 입력되면, 제1 은닉층에서는 제1 교란층에서 생성된 웨이트 (
Figure 112018089356262-pat00144
,
Figure 112018089356262-pat00145
Figure 112018089356262-pat00146
)을 상기 입력 변수 x 와 연산하고 소정의 액티베이션 함수(
Figure 112018089356262-pat00147
)를 연산하여
Figure 112018089356262-pat00148
이 생성된다. 즉, 제1 은닉층의 연산 결과는
Figure 112018089356262-pat00149
로 나타낼 수 있다. 제2 은닉층에서는 제2 교란층에서 생성된 웨이트 (
Figure 112018089356262-pat00150
,
Figure 112018089356262-pat00151
Figure 112018089356262-pat00152
)을 상기 제1 은닉층의 출력
Figure 112018089356262-pat00153
와 연산하고 소정의 액티베이션 함수(
Figure 112018089356262-pat00154
)를 연산하여
Figure 112018089356262-pat00155
이 생성된다. 즉, 제2 은닉층의 연산 결과는
Figure 112018089356262-pat00156
또는
Figure 112018089356262-pat00157
로 나타낼 수 있다. 뉴럴 네트워크의 출력에서는 제2 교란층에서 생성된 웨이트(
Figure 112018089356262-pat00158
,
Figure 112018089356262-pat00159
Figure 112018089356262-pat00160
)을 상기 제2 은닉층의 출력
Figure 112018089356262-pat00161
와 연산하고 소정의 액티베이션 함수(
Figure 112018089356262-pat00162
)를 연산하여 뉴럴 네트워크의 출력
Figure 112018089356262-pat00163
이 생성된다. 즉, 뉴럴 네트워크의 연산 결과는
Figure 112018089356262-pat00164
또는
Figure 112018089356262-pat00165
로 나타낼 수 있다.
한편, 제1 은닉층의 연산 결과는
Figure 112018089356262-pat00166
으로도 나타낼 수 있고, 제2 은닉층의 연산 결과는
Figure 112018089356262-pat00167
으로도 나타낼 수 있으며, 출력 값은
Figure 112018089356262-pat00168
으로도 나타낼 수 있을 것이다.
아울러, 전제 웨이트(
Figure 112018089356262-pat00169
) ={
Figure 112018089356262-pat00170
,
Figure 112018089356262-pat00171
,
Figure 112018089356262-pat00172
} ={
Figure 112018089356262-pat00173
,
Figure 112018089356262-pat00174
,
Figure 112018089356262-pat00175
}이고, 변분 모수는 θ={
Figure 112018089356262-pat00176
} 로 표시될 수 있다.
한편, 상기 t는 학습 과정의 반복 횟수를 나타낸다. 즉, 변분 모수(θ)의 최적화를 위해 소정 회수 반복하며 도 3에서는 학습 과정에서 t번째 학습 반복 과정으로 뉴럴 네트워크의 출력
Figure 112018089356262-pat00177
을 생성하기 위한 과정을 예시적으로 나타낸 것이다.
상기 교란층은 기본 웨이트 즉, 변분 모수를 소정 범위에서 흔들기 위한 기능을 한다. 예를 들어, 에러 값이 평균 1을 갖고, 상기 1 주변에서 좁게 분포하는 변분 분포함수에 따른다면, 상기 에러를 변분 모수에 곱함으로써, 변분 모수의 값을 조금씩 앞 뒤로 흔들어 변화시켜가며 학습을 수행할 수 있게 된다. 예를 들어,
Figure 112018089356262-pat00178
값이 에러 값으로 인해, 노드 사이의 웨이트로서 정확히
Figure 112018089356262-pat00179
값은 아니지만,
Figure 112018089356262-pat00180
값 근처에서 변화하는, 예를 들어, 0.9*
Figure 112018089356262-pat00181
내지 1.1*
Figure 112018089356262-pat00182
사이에서 변하는 값이 되는 것이다.
도 3에 도시된 바와 같이, 본 방법은 도 3의 좌측 도면과 같이, 기존의 뉴럴 네트워크의 컨벌루션 레이어 구성요소를 사용하되 여기에 교란층(perturbation layer)을 추가하는 것이 특징이다. 이때, 교란층은 변분 모수(θ)와 무작위로 생성된 에러 (e) 를 교란 함수(perturbation function) s의 입력으로 사용한다. 표집된 웨이트 모수는
Figure 112018089356262-pat00183
가 된다. 여기서 일 예로, e가 평균 1, 분산 g(n)을 갖는 분포를 가질 수 있다. 분산 g(n)이 자료의 수 n이 무한대로 갈수록 0에 접근하는
Figure 112018089356262-pat00184
또는
Figure 112018089356262-pat00185
와 같은 자료의 수 n의 함수인 경우를 생각하면 w에 대한 변분 분포가
Figure 112018089356262-pat00186
가 자료의 수가 커질수록 한 점으로 확률 수렴하게 만들 수 있게 된다.
이러한 본 발명의 특징을 dropout 방식의 뉴럴 네트워크와 비교한다면, dropout 방식을 사용하는 뉴럴 네트워크는 임의로 노드를 선택하여 어떤 것은 학습 과정에서 생략하는 것이며, 이렇게 어떤 노드를 넣을지 뺄지 정기 위해 베르누이(Bernoulli) 원재료를 곱하는 방식인 반면, 본원 발명에서는 노말 분포(distribution)를 갖는 임의의 값(에러 값)을 기본 변분 모수에 곱하는 차이가 있다.
즉, 본 발명에서는, 변분 모수(θ)에 에러(e1, e2, e3) (특정 은닉층에서 노드가 3개인 경우)를 곱하는데, 이 에러가 예시적으로 평균 1, 분산 g(n)이 되는 값이고, g(n)이 n 이 커질수록 0으로 수렴하게 된다면, 사실상 1에 가까운 에러 값을 곱하는 것이다. 만일 에러 값(e1, e2, e3)이 모두 (1, 1, 1)이라면 일반적인 뉴럴 네트워크와 동일하겠지만, (e1, e2, e3)이 (1.1, 0.9, 1.01) 등으로 한점으로 수렴하는 변분 분포를 따르게 하면, 자료의 수가 커질 때 분산이 줄어들게 되는 효과, 즉 수렴하게 되는 효과를 갖게 된다.
그런 다음 본 발명에 따른 변분 추론 학습 과정은, 입력 변수와 출력 값
Figure 112018089356262-pat00187
을 참조로 하여, 로스를 계산하고, 그런 다음, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계를 반복하여 최적의 변분 모수를 찾게 된다.
예를 들어, 상기 로스를 구하는 단계는, 쿨벡-라이블러 발산의 정의를 통해 산출할 수 있다. 쿨벡 라이블러 발산은 아래 수학식으로 표현된다.
Figure 112018089356262-pat00188
여기서 data는 학습 자료집합(training set), w는 베이지안 모수,
Figure 112018089356262-pat00189
는 변분 모수(θ)로 매개화된 변분 분포(variational distribution),
Figure 112018089356262-pat00190
는 모수에 대한 사후분포이다.
그리고 상기 쿨벡 라이블러 발산을 최소화하는 로스를 계산하는 것은 적분항 때문에 계산이 어렵고 근사항을 이용하여 아래와 같은 수학식으로 변경하여 로스를 산출할 수 있다.
Figure 112018089356262-pat00191
여기서 T는 근사를 위한 샘플링 횟수를 나타내고, 여기서
Figure 112018089356262-pat00192
는 표집 index인 s가 1부터 T까지에 대해 변분분포
Figure 112018089356262-pat00193
에서 임의 표집된 값(realized value)이며,
Figure 112018089356262-pat00194
는 미리 정한 모수에 대한 사전분포이다.
그리고 학습 과정은 백프로퍼게이션 과정을 거쳐 변분 모수를 업데이트 하는데, 변분 모수(θ)를 업데이트 하는 계산식은 아래 수학식으로 표현될 수 있다.
Figure 112018089356262-pat00195
여기서, t는 1부터 미리 정해진 자연수 G 사이의 값을 갖는 학습 iteration을 나타내는 숫자이며,
Figure 112018089356262-pat00196
는 t시점에서의 변분 모수,
Figure 112018089356262-pat00197
는 t+1 시점에서의 변분 모수이고,
Figure 112018089356262-pat00198
은 미리 정한 분포에서 임의 생성된 초기 값이며, α는 학습 레이트(learning rate), L은 로스를 나타낸다.
한편, 본 발명에서의 교란과정은 과추정(overfitting)을 피하기 위한 효과가 있으며 더 중요하게는 학습 과정이 완료된 후 실제 예측 과정(테스트 과정)에서 불확실성 수량을 추정할 수 있는 장치를 마련해준다. 매 학습 (training) 단위인 반복 학습(iteration)을 기준으로 각 은닉층의 계산 단위인 노드(node)를 임의로 교란하며 백프로퍼게이션(역전파) 과정을 통해서 변분 모수(θ)를 갱신한다. 교란하기 위해 생성된 임의의 에러는 매 반복 학습(iteration) 과정 마다 변경된다.
본 발명에 따른 변분 추론 방법은, 위에서 설명한 학습 과정을 거처 최적의 변분 모수(θ)를 산출한 다음, 아래와 같은 예측 과정을 수행한다.
상기 예측 과정은 최적화된 변분 모수(θ)를 획득한 상태에서, 추론을 위한 테스트용 입력 변수를 입력 받고, 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
Figure 112018089356262-pat00199
를 적용하여 상기 추론 출력
Figure 112018089356262-pat00200
를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
Figure 112018089356262-pat00201
를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
Figure 112018089356262-pat00202
가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
Figure 112018089356262-pat00203
에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
Figure 112018089356262-pat00204
를 산출한다.
예를 들어, 학습된 뉴럴 네트워크에서의 최적 모수를 교란하기 위해 학습 과정에서 사용했던 변분 분포에서 T개의 에러를 임의로 생성한다. 이렇게 표집된 에러를
Figure 112018089356262-pat00205
라고 한다. 그런 다음, 표집된 에러에 의해 변분 모수 (θ)를 교란을 적용한 웨이트 값으로 계산한다. 그리고 학습 과정과 동일한 방법으로 추론을 위한 테스트용 입력 변수를 이용하여 추론 출력 값을 산출한다.
도 4는 본 발명에 따른 변분 추론 방법 시 불확정성 수량화(uncertainty quantification)를 위한 출력 분포 값을 산출하는 예를 도시한다.
도 4를 참조하면, 입력 변수 x에 대해 임으로 변분 분포 함수
Figure 112018089356262-pat00206
를 따르는 w 1, w 2, w 3, …., w T가 생성되고, 이를 바탕으로 예측 과정(추론 과정)을 T회 반복하면, 소정의 추론 출력
Figure 112018089356262-pat00207
,
Figure 112018089356262-pat00208
,
Figure 112018089356262-pat00209
,….
Figure 112018089356262-pat00210
가 생성된다. 즉, 출력에 대한 예측 값(추론 값)이 T가 생성되고, 이 T개의 예측 값(추론 값)들을 이용하여 아래 와 같은 수학식을 사용해서 불확정성을 수량화(uncertainty quantification) 할 수 있다. 즉, 이렇게 T개 산출한 추정 값의 분산 계산을 통해 얼마나 추정 값이 신뢰(confidence)할 만한지를 계산할 수 있다. 아래 첨자 1 내지 T는 T개의 표집 index를 나타낸다.
마지막 은닉층의 출력 값 (확률 추정치)를
Figure 112018089356262-pat00211
라고 할 때, 본 발명에서 제시하는 불확정성 수량화 방법은 아래와 같은 수학식으로 표현될 수 있다.
Figure 112018089356262-pat00212
여기서
Figure 112018089356262-pat00213
이며, t는 1내지 T까지의 근사를 위한 샘플링 횟수인 T개의 표집 Index를 나타낸다.
본 발명에 따른 변분 추론 학습 및 추론 방법은 기존의 불확실성 측정 방법이 갖고 있지 않는 추정의 일치성, 즉, 자료의 수가 늘어날수록 불확실성 수량이 한 점으로 수렴하는 장점이 있다.
또한 본 발명은 뉴럴 네트워크를 통한 변분 추론 방법에서 은닉층의 출력 값이 표현할 수 있는 범위를 제한 시키지 않을 수 있다.
본 발명 기술분야의 통상의 기술자에게 이해될 수 있는 바로서, 위에서 설명된 입력 변수, 목표 변수의 송수신이 학습 장치 및 추론 장치의 통신부들에 의하여 이루어질 수 있으며, 특징 맵과 연산을 수행하기 위한 데이터가 학습 장치 및 추론 장치의 프로세서(및/또는 메모리)에 의하여 보유/유지될 수 있고, 컨벌루션 연산, 디컨벌루션 연산, 로스 값 연산 과정이 주로 학습 장치 및 추론 장치의 프로세서에 의하여 수행될 수 있으나, 이에 한정되지는 않을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (30)

  1. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00214
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00215
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00216
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서,
    (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계;
    (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00217
    를 적용하여 상기 출력
    Figure 112020501498520-pat00218
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00219
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00220
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00221
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00222
    를 산출하는 단계;
    (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및
    (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 (b) 단계는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 에러 (e) 는 소정의 평균 값과 소정의 분산 함수 (g(n)) 값으로 이루어진 분포를 갖되, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  2. 삭제
  3. 삭제
  4. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00298
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00299
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00300
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서,
    (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계;
    (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00301
    를 적용하여 상기 출력
    Figure 112020501498520-pat00302
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00303
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00304
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00305
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00306
    를 산출하는 단계;
    (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및
    (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 (b) 단계는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 함수 S는, 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 기본 웨이트(M)들에 대응되는 변분 모수와 상기 에러(e)를 곱하여, 상기 기본 웨이트(M)들 및 이에 대응하는 노드를 교란하기 위한 교란 함수이며,
    상기 교란층은 상기 교란 함수를 통해, 입력 또는 이전 은닉층의 노드들의 값에 상기 교란 함수를 이용하여 도출된 웨이트(w)를 곱하여 다음 은닉층 또는 출력을 생성하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  5. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00307
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00308
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00309
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서,
    (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계;
    (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00310
    를 적용하여 상기 출력
    Figure 112020501498520-pat00311
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00312
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00313
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00314
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00315
    를 산출하는 단계;
    (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및
    (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들 사이의 노드 간의 웨이트이며,
    상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 곱을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 1이고, 분산이 소정의 분산 함수 (g(n))인 분포를 이루고, 이때, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 함수인 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  6. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00316
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00317
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00318
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서,
    (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계;
    (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00319
    를 적용하여 상기 출력
    Figure 112020501498520-pat00320
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00321
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00322
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00323
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00324
    를 산출하는 단계;
    (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및
    (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들의 노드 사이의 웨이트이며,
    상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 합을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 0이고, 분산이 소정의 분산 함수 (g(n))인 분포를 이루고, 이때, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 함수인 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  7. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00325
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00326
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00327
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서,
    (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계;
    (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00328
    를 적용하여 상기 출력
    Figure 112020501498520-pat00329
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00330
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00331
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00332
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00333
    를 산출하는 단계;
    (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및
    (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 (c) 단계는 아래 식과 같은 쿨벡-라이블러 발산의 정의를 이용하여,
    Figure 112020501498520-pat00223

    - 여기서 data는 학습 자료집합(training set), w는 베이지안 모수,
    Figure 112020501498520-pat00224
    는 변분 모수(θ)로 매개화된 변분 분포(variational distribution),
    Figure 112020501498520-pat00225
    는 모수에 대한 사후분포임-
    상기 로스를 산출하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  8. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00334
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00335
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00336
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다) 되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 방법에 있어서,
    (a) 서버가, 상기 입력 변수 및 상기 목표 변수를 입력 받는 단계;
    (b) 상기 서버가, 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00337
    를 적용하여 상기 출력
    Figure 112020501498520-pat00338
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00339
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00340
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00341
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00342
    를 산출하는 단계;
    (c) 상기 서버가, 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 단계; 및
    (d) 상기 서버가, 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 단계; 를 포함하는 것을 특징으로 하고,
    상기 (c) 단계는, 아래 식을 이용하여
    Figure 112020501498520-pat00226

    - 여기서 T는 근사를 위한 샘플링 횟수이고,
    Figure 112020501498520-pat00227
    는 표집 index인 s가 1부터 T까지에 대해 변분분포
    Figure 112020501498520-pat00228
    에서 임의 표집된 값(realized value)이며,
    Figure 112020501498520-pat00229
    는 미리 정한 모수에 대한 사전분포임 -
    상기 로스를 산출하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  9. 제 8 항에 있어서,
    상기 (d) 단계는, 아래 식을 이용하여
    Figure 112018089356262-pat00230

    - 여기서, t는 1부터 미리 정해진 자연수 G 사이의 값을 갖는 학습 iteration을 나타내는 숫자이며,
    Figure 112018089356262-pat00231
    는 t시점에서의 변분 모수,
    Figure 112018089356262-pat00232
    는 t+1 시점에서의 변분 모수이고,
    Figure 112018089356262-pat00233
    은 미리 정한 분포에서 임의 생성된 초기 값이며, α는 학습 레이트(learning rate), L은 로스 -
    상기 변분 모수 θ를 업데이트 하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 방법.
  10. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 추론 출력 값을 산출하는, 함수
    Figure 112020501498520-pat00234
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00235
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00236
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 방법에 있어서,
    (a) (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00237
    를 이용하여 소정의 학습용 출력
    Figure 112020501498520-pat00238
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00239
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00240
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00241
    에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
    Figure 112020501498520-pat00242
    를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 서버가, 추론을 위한 테스트용 입력 변수를 입력 받는 단계; 및
    (b) 상기 서버가, 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00243
    를 적용하여 소정의 추론 출력
    Figure 112020501498520-pat00244
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00245
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00246
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00247
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
    Figure 112020501498520-pat00248
    를 산출하는 단계;
    를 포함하는 것을 특징으로 하고,
    상기 (a) 단계의 (ii) 프로세스 및 상기 (b) 단계는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 에러 (e) 는 소정의 평균 값과 소정의 분산 함수 (g(n)) 값으로 이루어진 분포를 갖되, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 방법.
  11. 삭제
  12. 삭제
  13. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 추론 출력 값을 산출하는, 함수
    Figure 112020501498520-pat00343
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00344
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00345
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 방법에 있어서,
    (a) (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00346
    를 이용하여 소정의 학습용 출력
    Figure 112020501498520-pat00347
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00348
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00349
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00350
    에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
    Figure 112020501498520-pat00351
    를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 서버가, 추론을 위한 테스트용 입력 변수를 입력 받는 단계; 및
    (b) 상기 서버가, 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00352
    를 적용하여 소정의 추론 출력
    Figure 112020501498520-pat00353
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00354
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00355
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00356
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
    Figure 112020501498520-pat00357
    를 산출하는 단계;
    를 포함하는 것을 특징으로 하고,
    상기 (a) 단계의 (ii) 프로세스 및 상기 (b) 단계는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 함수 S는 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 기본 웨이트(M)들에 대응되는 변분 모수와 상기 에러(e)를 곱하여, 상기 기본 웨이트(M)들 및 이에 대응하는 노드를 교란하기 위한 교란 함수이며,
    상기 교란층은 상기 교란 함수를 통해, 입력 또는 이전 은닉층의 노드들의 값에 상기 교란 함수를 이용하여 도출된 웨이트(w)를 곱하여 다음 은닉층 또는 출력을 생성하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 방법.
  14. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 추론 출력 값을 산출하는, 함수
    Figure 112020501498520-pat00358
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00359
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00360
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 방법에 있어서,
    (a) (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00361
    를 이용하여 소정의 학습용 출력
    Figure 112020501498520-pat00362
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00363
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00364
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00365
    에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
    Figure 112020501498520-pat00366
    를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 서버가, 추론을 위한 테스트용 입력 변수를 입력 받는 단계; 및
    (b) 상기 서버가, 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00367
    를 적용하여 소정의 추론 출력
    Figure 112020501498520-pat00368
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00369
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00370
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00371
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
    Figure 112020501498520-pat00372
    를 산출하는 단계;
    를 포함하는 것을 특징으로 하고,
    (c) 상기 서버가, 상기 추론 출력
    Figure 112020501498520-pat00373
    인 확률 추정치에 대한 불확정성 수량화를 산출하는 단계를 더 포함하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 방법.
  15. 제 14 항에 있어서,
    상기 (c) 단계는, 아래 수학식을 통해,
    Figure 112020025534869-pat00249
    여기서
    Figure 112020025534869-pat00250

    - 여기서, t는 1내지 T까지의 T개의 표집 Index를 나타내고,
    Figure 112020025534869-pat00374
    는 상기 추론 출력
    Figure 112020025534869-pat00375
    가 상기 t 각각에 대응되어 출력된 값임 -
    상기 불확정성 수량화를 산출하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 방법.
  16. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00251
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00252
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00253
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 장치에 있어서,
    상기 입력 변수 및 상기 목표 변수를 수신하는 통신부; 및
    (1) 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00254
    를 적용하여 상기 출력
    Figure 112020501498520-pat00255
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00256
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00257
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00258
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00259
    를 산출하는 프로세스; (2) 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (3) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 (1) 프로세스는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 에러 (e) 는 소정의 평균 값과 소정의 분산 함수 (g(n)) 값으로 이루어진 분포를 갖되, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  17. 삭제
  18. 삭제
  19. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00376
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00377
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00378
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 장치에 있어서,
    상기 입력 변수 및 상기 목표 변수를 수신하는 통신부; 및
    (1) 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00379
    를 적용하여 상기 출력
    Figure 112020501498520-pat00380
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00381
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00382
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00383
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00384
    를 산출하는 프로세스; (2) 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (3) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 (1) 프로세스는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 함수 S는, 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 기본 웨이트(M)들에 대응되는 변분 모수와 상기 에러(e)를 곱하여, 상기 기본 웨이트(M)들 및 이에 대응하는 노드를 교란하기 위한 교란 함수이며,
    상기 교란층은 상기 교란 함수를 통해, 입력 또는 이전 은닉층의 노드들의 값에 상기 교란 함수를 이용하여 도출된 웨이트(w)를 곱하여 다음 은닉층 또는 출력을 생성하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  20. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00385
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00386
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00387
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 장치에 있어서,
    상기 입력 변수 및 상기 목표 변수를 수신하는 통신부; 및
    (1) 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00388
    를 적용하여 상기 출력
    Figure 112020501498520-pat00389
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00390
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00391
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00392
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00393
    를 산출하는 프로세스; (2) 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (3) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들 사이의 노드 간의 웨이트이며,
    상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 곱을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 1이고, 분산이 소정의 분산 함수 (g(n))인 분포를 이루고, 이때, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 함수인 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  21. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00394
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00395
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00396
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 장치에 있어서,
    상기 입력 변수 및 상기 목표 변수를 수신하는 통신부; 및
    (1) 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00397
    를 적용하여 상기 출력
    Figure 112020501498520-pat00398
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00399
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00400
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00401
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00402
    를 산출하는 프로세스; (2) 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (3) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 웨이트(w)는 상기 뉴럴 네트워크의 이웃하는 각 은닉층들의 노드 사이의 웨이트이며,
    상기 웨이트(w)가 상기 변분 모수(θ)와 상기 에러(e) 사이의 element-wise 합을 포함하는 함수로 형성되는 경우, 상기 에러(e)는 평균이 0이고, 분산이 소정의 분산 함수 (g(n))인 분포를 이루고, 이때, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 함수인 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  22. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00403
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00404
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00405
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 장치에 있어서,
    상기 입력 변수 및 상기 목표 변수를 수신하는 통신부; 및
    (1) 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00406
    를 적용하여 상기 출력
    Figure 112020501498520-pat00407
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00408
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00409
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00410
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00411
    를 산출하는 프로세스; (2) 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (3) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 (2) 프로세스는 아래 식과 같은 쿨벡-라이블러 발산의 정의를 이용하여,
    Figure 112020501498520-pat00260

    - 여기서 data는 학습 자료집합(training set), w는 베이지안 모수,
    Figure 112020501498520-pat00261
    는 변분 모수(θ)로 매개화된 변분 분포(variational distribution),
    Figure 112020501498520-pat00262
    는 모수에 대한 사후분포임-
    상기 로스를 산출하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  23. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출한 후, 상기 산출된 출력 값과 목표 변수(target variable) 사이의 로스를 최소화하도록 연산과정을 반복하여 변분 모수를 최적화하는, 함수
    Figure 112020501498520-pat00412
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00413
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00414
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 상기 뉴럴 네트워크를 이용한 변분 추론 학습 장치에 있어서,
    상기 입력 변수 및 상기 목표 변수를 수신하는 통신부; 및
    (1) 상기 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00415
    를 적용하여 상기 출력
    Figure 112020501498520-pat00416
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00417
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00418
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00419
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 출력
    Figure 112020501498520-pat00420
    를 산출하는 프로세스; (2) 상기 목표 변수와 상기 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (3) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 (2) 프로세스는, 아래 식을 이용하여
    Figure 112020501498520-pat00263

    - 여기서 T는 근사를 위한 샘플링 횟수이고,
    Figure 112020501498520-pat00421
    는 표집 index인 s가 1부터 T까지에 대해 변분분포
    Figure 112020501498520-pat00265
    에서 임의 표집된 값(realized value)이며,
    Figure 112020501498520-pat00266
    는 미리 정한 모수에 대한 사전분포임 -
    상기 로스를 산출하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  24. 제 23 항에 있어서,
    상기 (3) 프로세스는, 아래 식을 이용하여
    Figure 112018089356262-pat00267

    - 여기서, t는 1부터 미리 정해진 자연수 G 사이의 값을 갖는 학습 iteration을 나타내는 숫자이며,
    Figure 112018089356262-pat00268
    는 t시점에서의 변분 모수,
    Figure 112018089356262-pat00269
    는 t+1 시점에서의 변분 모수이고,
    Figure 112018089356262-pat00270
    은 미리 정한 분포에서 임의 생성된 초기 값이며, α는 학습 레이트(learning rate), L은 로스 -
    상기 변분 모수 θ를 업데이트 하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 학습 장치.
  25. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출하는, 함수
    Figure 112020501498520-pat00271
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00272
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00273
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 장치에 있어서,
    (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00274
    를 이용하여 소정의 학습용 출력
    Figure 112020501498520-pat00275
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00276
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00277
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00278
    에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
    Figure 112020501498520-pat00279
    를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 추론을 위한 테스트용 입력 변수를 수신하는 통신부; 및
    (1) 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00280
    를 적용하여 소정의 추론 출력
    Figure 112020501498520-pat00281
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00282
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00283
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00284
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
    Figure 112020501498520-pat00285
    를 산출하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 (ii) 프로세스 및 상기 (1) 프로세스는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 에러 (e) 는 소정의 평균 값과 소정의 분산 함수 (g(n)) 값으로 이루어진 분포를 갖되, 상기 분산 함수 (g(n))은 n - 상기 n은 자료의 수임 - 이 커질수록 0으로 수렴하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 장치.
  26. 삭제
  27. 삭제
  28. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출하는, 함수
    Figure 112020501498520-pat00422
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00423
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00424
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 장치에 있어서,
    (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00425
    를 이용하여 소정의 학습용 출력
    Figure 112020501498520-pat00426
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00427
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00428
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00429
    에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
    Figure 112020501498520-pat00430
    를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 추론을 위한 테스트용 입력 변수를 수신하는 통신부; 및
    (1) 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00431
    를 적용하여 소정의 추론 출력
    Figure 112020501498520-pat00432
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00433
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00434
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00435
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
    Figure 112020501498520-pat00436
    를 산출하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 (ii) 프로세스 및 상기 (1) 프로세스는, 상기 에러(e)와 상기 변분 모수를 참조하여 생성된 웨이트로 형성된 교란층을 이용하여 각각의 은닉층을 생성하는 것을 특징으로 하며,
    상기 함수 S는 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 기본 웨이트(M)들에 대응되는 변분 모수와 상기 에러(e)를 곱하여, 상기 기본 웨이트(M)들 및 이에 대응하는 노드를 교란하기 위한 교란 함수이며,
    상기 교란층은 상기 교란 함수를 통해, 입력 또는 이전 은닉층의 노드들의 값에 상기 교란 함수를 이용하여 도출된 웨이트(w)를 곱하여 다음 은닉층 또는 출력을 생성하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 장치.
  29. 뉴럴 네트워크의 입력 변수(input variable) 집합에 속한 각 원소 값들에 대해 웨이트 및 바이어스를 포함하는 소정의 모수를 이용하여 소정의 연산을 수행하여 생성된 하나 이상의 은닉층을 거쳐 상기 뉴럴 네트워크의 출력 값을 산출하는, 함수
    Figure 112020501498520-pat00437
    : X -> Y로 정의(여기서
    Figure 112020501498520-pat00438
    는 입력 변수 집합 X의 원소인 x에 대하여 W를 모수로 가지는 뉴럴 네트워크의 출력 값이고, 상기 함수
    Figure 112020501498520-pat00439
    는 입력 변수 집합 X를 정의역으로 목표 변수 집합 Y를 공역으로 가진다)되는 뉴럴 네트워크를 이용한 변분 추론 장치에 있어서,
    (i) 학습용 입력 변수 및 목표 변수를 입력 받는 프로세스; (ii) 상기 학습용 입력 변수 x에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00440
    를 이용하여 소정의 학습용 출력
    Figure 112020501498520-pat00441
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00442
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00443
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00444
    에 따라 무작위로 생성되는 값이며, 상기 θ는 변분 모수 임 - 를 설정하여 상기 학습용 출력
    Figure 112020501498520-pat00445
    를 산출하는 프로세스; (iii) 상기 입력 변수와 상기 학습용 출력 값을 참조로 하여 로스를 산출하는 프로세스; 및 (iv) 상기 로스를 최소화하도록 백프로퍼게이션 알고리즘을 수행하여, 상기 변분 모수(θ)를 최적화하는 프로세스; 를 통해 상기 최적화된 변분 모수(θ)를 획득한 상태에서, 추론을 위한 테스트용 입력 변수를 수신하는 통신부; 및
    (1) 상기 테스트용 입력 변수 x 에 상기 뉴럴 네트워크의 함수
    Figure 112020501498520-pat00446
    를 적용하여 소정의 추론 출력
    Figure 112020501498520-pat00447
    를 산출하되, 상기 뉴럴 네트워크의 소정의 층들 사이의 노드 간의 각 웨이트(w)가 소정의 함수 w = S(e, θ)로 정해지도록 하고, 상기 w 가 변분 분포
    Figure 112020501498520-pat00448
    를 따르는 랜덤 변수(random variable) 베이지안 모수가 되도록 하며, 상기 변분 분포
    Figure 112020501498520-pat00449
    가 샘플 사이즈가 커질수록 한점으로 수렴하는 성질을 가질 수 있도록 에러(e)와 상기 함수 (S) - 상기 에러(e)는 상기 변분 분포
    Figure 112020501498520-pat00450
    에 따라 무작위로 생성되는 값이며, 상기 θ는 상기 변분 모수임 - 를 설정하여 상기 추론 출력
    Figure 112020501498520-pat00451
    를 산출하는 프로세스를 수행하는 프로세서;를 포함하는 것을 특징으로 하고,
    상기 프로세서는 (2) 상기 추론 출력
    Figure 112020501498520-pat00452
    인 확률 추정치에 대한 불확정성 수량화를 산출하는 프로세스를 더 수행하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 장치.
  30. 제 29 항에 있어서,
    상기 (2) 프로세스는, 아래 수학식을 통해,
    Figure 112020025534869-pat00286
    여기서
    Figure 112020025534869-pat00287

    - 여기서, t는 1내지 T까지의 T개의 표집 Index를 나타내고,
    Figure 112020025534869-pat00453
    는 상기 추론 출력
    Figure 112020025534869-pat00454
    가 상기 t 각각에 대응되어 출력된 값임 -
    상기 불확정성 수량화를 산출하는 것을 특징으로 하는 뉴럴 네트워크를 이용한 변분 추론 장치.
KR1020180107432A 2018-09-07 2018-09-07 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치 KR102120150B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180107432A KR102120150B1 (ko) 2018-09-07 2018-09-07 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180107432A KR102120150B1 (ko) 2018-09-07 2018-09-07 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200028801A KR20200028801A (ko) 2020-03-17
KR102120150B1 true KR102120150B1 (ko) 2020-06-16

Family

ID=70003732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180107432A KR102120150B1 (ko) 2018-09-07 2018-09-07 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102120150B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102491755B1 (ko) * 2020-08-03 2023-01-26 (주)한국플랫폼서비스기술 쿼리 기반 딥러닝 추론 시스템 및 그 방법
CN112836816B (zh) * 2021-02-04 2024-02-09 南京大学 一种适用于光电存算一体处理单元串扰的训练方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100496414B1 (ko) * 2003-07-05 2005-06-21 (주)넥솔위즈빌 웹정보 추천을 위한 하이브리드 자기 조직화 형상지도를 이용한 사용자 군집화 방법 및 기록매체
KR102415506B1 (ko) * 2016-10-26 2022-07-01 삼성전자주식회사 뉴럴 네트워크 간소화 방법 및 장치

Also Published As

Publication number Publication date
KR20200028801A (ko) 2020-03-17

Similar Documents

Publication Publication Date Title
Feinberg et al. Model-based value estimation for efficient model-free reinforcement learning
JP6625785B1 (ja) データ識別器訓練方法、データ識別器訓練装置、プログラム及び訓練方法
US11829886B2 (en) Epistemic and aleatoric deep plasticity based on sound feedback
US9235809B2 (en) Particle methods for nonlinear control
US10366325B2 (en) Sparse neural control
Huang et al. A provably convergent scheme for compressive sensing under random generative priors
He et al. Deep learning for efficient stochastic analysis with spatial variability
CN110930996B (zh) 模型训练方法、语音识别方法、装置、存储介质及设备
KR102120150B1 (ko) 뉴럴 네트워크를 이용한 변분 추론 학습 방법 및 학습 장치, 그리고 이를 이용한 변분 추론 방법 및 장치
CN112580728B (zh) 一种基于强化学习的动态链路预测模型鲁棒性增强方法
CN109165737A (zh) 基于条件随机场和bp神经网络的孔隙度预测方法
Jo et al. Automatic semivariogram modeling by convolutional neural network
CN111967308A (zh) 一种在线路面不平度辨识方法及系统
WO2021015740A1 (en) Stochastic realization of parameter inversion in physics-based empirical models
KR102110316B1 (ko) 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치
CN115392434A (zh) 一种基于图结构变异测试的深度模型加固方法
Liu et al. Recurrent neural network for seismic reservoir characterization
Jalan Neural Closure Models for Chaotic Dynamical Systems
CN117313160B (zh) 一种隐私增强的结构化数据仿真生成方法及系统
Berthold et al. Valid approximation of spatially distributed grain size distributions–A priori information encoded to a feedforward network
RU2780606C1 (ru) Способ обнаружения и классификации морских целей на базе нейросетевых технологий и элементов искусственного интеллекта
RU2780607C1 (ru) Система обнаружения и классификации морских целей на базе нейросетевых технологий и элементов искусственного интеллекта
McCarron et al. An operationally adaptive system for rapid acoustic transmission loss prediction
CN115796244B (zh) 一种超非线性输入输出系统基于cff的参数辨识方法
Falk et al. Machine learning-based estimation and clustering of statistics within stratigraphic models as exemplified in Denmark

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant