KR20220116111A - 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법 - Google Patents

인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법 Download PDF

Info

Publication number
KR20220116111A
KR20220116111A KR1020220098496A KR20220098496A KR20220116111A KR 20220116111 A KR20220116111 A KR 20220116111A KR 1020220098496 A KR1020220098496 A KR 1020220098496A KR 20220098496 A KR20220098496 A KR 20220098496A KR 20220116111 A KR20220116111 A KR 20220116111A
Authority
KR
South Korea
Prior art keywords
data
neural network
artificial neural
similarity
distribution
Prior art date
Application number
KR1020220098496A
Other languages
English (en)
Other versions
KR102537113B1 (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 KR1020220098496A priority Critical patent/KR102537113B1/ko
Publication of KR20220116111A publication Critical patent/KR20220116111A/ko
Application granted granted Critical
Publication of KR102537113B1 publication Critical patent/KR102537113B1/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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • G06N3/0481
    • 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
    • G06N3/045Combinations of networks
    • 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
    • G06N3/047Probabilistic or stochastic networks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전술한 바와 같은 과제를 해결하기 위한 본 개시의 일 실시예에 따라, 컴퓨터 판독가능한 저장매체에 저장된 컴퓨터 프로그램이 제공될 수 있다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서로 하여금 이하의 단계들을 수행하게 하기 위한 명령들을 포함하며, 상기 단계들은; 제 1 데이터 세트와 관련된 제 1 클래스 집합에 포함된 적어도 하나의 클래스 각각에 대한 잠재 공간(latent space) 내에서의 분포에 대한 표현인 제 1 분포 표현을 획득하는 단계; 제 2 데이터 세트와 관련된 제 2 클래스 집합에 포함된 적어도 하나의 클래스 각각에 대한 잠재 공간 내에서의 분포에 대한 표현인 제 2 분포 표현을 획득하는 단계; 상기 제 1 분포 표현과 상기 제 2 분포 표현 간의 유사도를 연산하는 단계; 인공 신경망에 대한 해석 데이터에 기초하여, 해석도 및 상기 제 2 데이터 세트에 대한 추론 결과 간의 관계도를 연산하는 단계; 및 상기 유사도 및 상기 관계도를 이용하여, 신뢰도를 연산하는 단계;를 포함할 수 있다.

Description

인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법{METHOD FOR DETERMINING A CONFIDENCE LEVEL OF INFERENCE DATA PRODUCED BY ARTIFICIAL NEURAL NETWORK}
본 개시는 컴퓨팅 장치를 활용한 정보 처리 방법에 관한 것으로서, 구체적으로 인공 신경망 관련 기술에 관한 것이다.
최근 인공 신경망 기술, 특히 딥 러닝(deep learning) 기술이 발달함에 따라, 다양한 분야에서 인공 신경망에 의한 추론 데이터를 활용하고 있다. 그러나, 인공 신경망 기술은 신경망 내부에서 어떤 방식으로 데이터의 처리가 이루어지는지 인간이 이해하기 어렵다는 문제가 있어, 블랙박스(black box)라고 불리기도 한다.
이러한 인공 신경망 기술의 특징은 의료, 금융 및 군사 분야 등 판단에 대한 근거가 요구되는 분야에서 문제가 될 수 있다.
이러한 문제를 해결하기 위하여, 인공 신경망 모델에 대한 해석력을 확보하기 위한 기술이 등장하고 있다. 그러나 이러한 인공 신경망 모델에 대한 해석 기술들은 사용자에게 인공 신경망이 추론한 결과에 대한 신뢰도를 정량적으로 제공하고 있지 않다는 문제가 있다. 이 경우, 인간의 정성적인 판단에 의하여 인공 신경망의 추론 결과를 해석하게 되는 바, 추론 결과에 대한 근거로서는 여전히 빈약하다 할 것이다.
따라서, 당업계에는 인공 신경이 도출한 추론 결과에 대한 정량적인 신뢰도를 제공하는 기술에 대한 수요가 존재한다.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 사용자가 인공 신경망의 추론 결과에 대한 신뢰 여부를 결정할 수 있도록, 추론 데이터에 대한 정량화된 신뢰도 값을 제공하고자 한다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 일 실시예에 따라, 컴퓨터 판독가능한 저장매체에 저장된 컴퓨터 프로그램이 제공될 수 있다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서로 하여금 이하의 단계들을 수행하게 하기 위한 명령들을 포함하며, 상기 단계들은; 제 1 데이터 세트와 관련된 제 1 클래스 집합에 포함된 적어도 하나의 클래스 각각에 대한 잠재 공간(latent space) 내에서의 분포에 대한 표현인 제 1 분포 표현을 획득하는 단계; 제 2 데이터 세트와 관련된 제 2 클래스 집합에 포함된 적어도 하나의 클래스 각각에 대한 잠재 공간 내에서의 분포에 대한 표현인 제 2 분포 표현을 획득하는 단계; 상기 제 1 분포 표현과 상기 제 2 분포 표현 간의 유사도를 연산하는 단계; 인공 신경망에 대한 해석 데이터에 기초하여, 해석도 및 상기 제 2 데이터 세트에 대한 추론 결과 간의 관계도를 연산하는 단계; 및 상기 유사도 및 상기 관계도를 이용하여, 신뢰도를 연산하는 단계;를 포함할 수 있다.
또한, 상기 제 1 데이터 세트는 트레이닝 데이터 세트이고, 상기 제 2 데이터는 검증 데이터 또는 테스트 데이터 세트 중 적어도 하나일 수 있다.
또한, 상기 제 2 분포 표현을 획득하는 단계는, 상기 제 2 분포 표현이 기 설정된 기준을 만족할 때까지 상기 인공 신경망에 상기 제 2 데이터를 입력시키는 단계를 반복할 수 있다.
또한, 상기 유사도를 연산하는 단계는, 상기 제 1 데이터 및 제 2 데이터와 관련된 클래스에 기초하여, 제 1 분포 표현과 제 2 분포 표현 간 거리 데이터에 기초하여 유사도를 연산하는 단계;를 포함할 수 있다.
또한, 상기 거리 데이터에 기초하여 유사도를 연산하는 단계는, 상기 제 1 분포 표현 중 제 1 클래스에 대응하는 분포 표현을 인식하는 단계; 상기 제 2 분포 표현 중 제 1 클래스에 대응하는 분포 표현을 인식하는 단계; 두 상기 제 1 클래스에 대응하는 분포 표현 간의 거리 데이터를 연산하는 단계; 및 상기 거리 데이터에 기초하여, 상기 유사도를 연산하는 단계; 를 포함할 수 있다.
또한, 상기 유사도를 연산하는 단계는, 상기 제 1 분포 표현 및 상기 제 2 분포 표현 각각의 대표 표현에 기초하여 유사도를 연산하는 단계; 를 포함할 수 있다.
또한, 상기 제 1 데이터 세트 및 상기 제 2 데이터 세트는 이미지 데이터를 포함하고, 상기 인공 신경망에 대한 해석 데이터에 기초하여, 해석도 및 상기 제 2 데이터 세트에 대한 추론 결과 간의 관계도를 연산하는 단계는, 상기 이미지 데이터의 객체 영역 정보 및 상기 해석 데이터에 기초하여 해석도를 연산하는 단계; 를 포함할 수 있다.
또한, 상기 이미지 데이터의 객체 영역 정보 및 상기 해석 데이터에 기초하여 해석도를 연산하는 단계는, 제 1 이미지 데이터의 제 1 객체 영역 크기 정보를 인식하는 단계; 제 1 이미지 데이터와 관련된 제 1 해석 데이터를 인식하는 단계; 및 상기 제 1 객체 영역 크기 정보와 상기 제 1 해석 데이터의 비율을 해석도로 결정하는 단계; 를 포함할 수 있다.
또한, 상기 제 1 데이터 세트 및 상기 제 2 데이터 세트는 이미지 데이터를 포함하고, 상기 인공 신경망에 대한 해석 데이터에 기초하여, 해석도 및 상기 제 2 데이터 세트에 대한 추론 결과 간의 관계도를 연산하는 단계는, 상기 이미지 데이터의 객체 영역에 대한 피처 맵(feature map)의 활성도에 기초하여, 해석도를 연산하는 단계; 를 포함할 수 있다.
또한, 상기 대표 표현에 기초하여 유사도를 연산하는 단계는, 상기 제 1 분포 표현에 포함된 전체 데이터를 대표하는 제 1 대표 표현을 연산하는 단계; 상기 제 2 분포 표현에 포함된 전체 데이터를 대표하는 제 2 대표 표현을 연산하는 단계; 상기 제 1 대표 표현과 상기 제 2 대표 표현 간의 거리 데이터를 연산하는 단계; 및 상기 거리 데이터에 기초하여, 상기 유사도를 연산하는 단계;를 포함할 수 있다.
또한, 상기 신뢰도는, 상기 유사도 및 상기 관계도의 분포 또는 변동성 중 적어도 하나, 상기 제 1 데이터 세트와 상기 제 2 데이터 세트의 관계, 또는 상기 인공 신경망에 대한 해석도 중 적어도 하나를 이용하여 연산될 수 있다.
또한, 상기 유사도, 상기 관계도 또는 상기 해석도 중 적어도 하나에 기초하여 오류 정보를 인식하는 단계; 및 상기 오류 정보에 기초하여, 상기 신뢰도에 대한 업데이트를 수행하는 단계;를 더 포함할 수 있다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 일 실시예에 따라, 인공 신경망 추론 데이터에 대한 신뢰도를 판단하기 위한 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는, 프로세서; 및 메모리를 포함하고, 상기 프로세서는, 제 1 데이터 세트와 관련된 제 1 클래스 집합에 포함된 적어도 하나의 클래스 각각에 대한 잠재 공간(latent space) 내에서의 분포에 대한 표현인 제 1 분포 표현을 획득하고, 제 2 데이터 세트와 관련된 제 2 클래스 집합에 포함된 적어도 하나의 클래스 각각에 대한 잠재 공간 내에서의 분포에 대한 표현인 제 2 분포 표현을 획득하고, 상기 제 1 분포 표현과 상기 제 2 분포 표현 간의 유사도를 연산하고, 인공 신경망에 대한 해석 데이터에 기초하여, 해석도 및 상기 제 2 데이터 세트에 대한 추론 결과 간의 관계도를 연산하고, 상기 유사도 및 상기 관계도를 이용하여, 신뢰도를 연산할 수 있다.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에 따른 방법에 의해 사용자에게 인공 신경망의 판단에 대한 정량적인 신뢰도 값을 제공할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 구체적인 세부사항들 없이 실시될 수 있음은 명백할 것이다.
도 1은 본 개시에 따른 방법을 수행하는 예시적인 컴퓨팅 장치의 구성을 도시한 블록도이다.
도 2는 본 개시에 따른 프로세서가 유사도를 연산하기 위하여 획득하는 분포 표현의 일례를 도시한다.
도 3은 본 개시에 따른 해석도와 추론 결과 간의 관계도를 연산하기 위한 데이터의 일례를 도시한다.
도 4는 본 개시에 따른 해석도와 추론 결과 간의 관계도를 연산하기 위한 데이터를 도시한다.
도 5는 본 개시에 따른 프로세서가 추론 결과에 대한 신뢰도를 연산하는 일례를 나타낸 순서도이다.
도 6은 본 개시에 따른 프로세서가 유사도를 연산하는 일례를 나타낸 순서도이다.
도 7은 본 개시에 따른 프로세서가 유사도를 연산하는 일례를 나타낸 순서도이다.
도 8은 본 개시에 따른 프로세서가 신뢰도에 대한 업데이트를 수행하는 일례를 나타낸 순서도이다.
도 9는 본 개시의 몇몇 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 감지될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다. 구체적으로, 본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.
이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
더불어, 본 명세서에서 사용되는 용어 "정보" 및 "데이터"는 종종 서로 상호교환 가능하도록 사용될 수 있다.
이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 개시의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시를 설명하는데 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 명세서에 걸쳐, 인공 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 인공 신경망은 일반적으로 “노드"라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은 뉴런(neuron)”들로 지칭될 수도 있다. 인공 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다. 인공 신경망들을 구성하는 노드(또는 뉴런)들은 하나 이상의“링크”에 의해 상호 연결될 수 있다.
인공 신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 인공 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 인공 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 인공 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 인공 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 인공 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 인공 신경망이 존재하는 경우, 두 개의 인공 신경망들은 서로 상이한 것으로 인식될 수 있다.
인공 신경망은 하나 이상의 노드들을 포함하여, 구성될 수 있다. 인공 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다, 예를 들어, 최초입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 인공 신경망 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 인공 신경망 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 인공 신경망 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 인공 신경망 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 인공 신경망을 구성하는 노드들을 의미할 수 있다. 본 개시의 일 실시예에 따른 인공 신경망은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 인공 신경망일 수 있다.
딥 뉴럴 네트워크(DNN: deep neural network, 심층 신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 인공 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 잇는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrentneural network), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있다.
도 1은 본 개시에 따른 방법을 수행하는 예시적인 컴퓨팅 장치의 구성을 도시한 블록도이다.
컴퓨팅 장치(100)는 프로세서(110), 메모리(120)를 포함할 수 있다. 프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치(100)의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 인공 신경망 추론 결과에 대한 신뢰도 정량화를 위한 프로세서(110)를 포함할 수 있다. 프로세서(110)는 메모리(120)에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 인공 신경망 추론 결과에 대한 신뢰도 연산 방법을 수행할 수 있다. 본 개시의 일 실시예에 따라 프로세서(110)는 인공 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(110)는 딥러닝(DN: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처(feature) 추출, 오차 계산, 역전파(backpropagation)를 이용한 인공 신경망의 가중치 업데이트 등의 인공 신경망의 학습을 위한 계산을 수행할 수 있다.
프로세서(110)의 CPU, GPGPU, 및 TPU 중 적어도 하나가 학습 데이터 셋을 생성하고 인공 신경망의 학습을 처리할 수 있다. 또한, 본 개시의 일 실시예에서 컴퓨팅 장치(100)의 프로세서(110)를 사용하여 학습된 인공 신경망을 사용하여, 추론 결과를 생성하고 추론 결과에 대한 신뢰도를 제공할 수 있다. 또한, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
메모리(120)는 본 개시의 일 실시예에 따른 추론 결과에 대한 신뢰도 판단 방법을 수행하기 위한 컴퓨터 프로그램을 저장할 수 있으며, 저장된 컴퓨터 프로그램은 프로세서(110)에 의하여 판독되어 구동될 수 있다.
본 개시의 실시예들에 따른 메모리(120)는 프로세서(110)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 서비스 진입 정보, 사용자 정보, 대체 서비스 접속 정보 등)을 임시 또는 영구 저장할 수도 있다. 상기 메모리(120)는 디스플레이 및 음향에 관한 데이터를 저장할 수 있다. 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 2는 본 개시에 따른 프로세서가 유사도를 연산하기 위하여 획득하는 분포 표현의 일례를 도시한다.
본 개시에 있어 잠재 공간(latent space)는 데이터 세트 내에 포함된 데이터들을 잘 표현할 수 있는 공간을 의미할 수 있다.
임의의 데이터 세트 내에 포함된 데이터들은 잠재 공간 내에 표현될 수 있다. 잠재 공간 내에 표현된 데이터들은 지도 학습용 데이터, 비지도 학습용 데이터 또는 강화 학습용 데이터일 수 있다.
잠재 공간 내에 표현된 데이터들은 클래스(class) 별로 분류될 수 있다. 여기서 클래스란, 특정 데이터에 대한 분류 결과 혹은 라벨을 의미할 수 있다. 따라서, 같은 클래스를 갖는 데이터들의 잠재 공간 내에서의 분포가 획득될 수 있다.
또한, 데이터 세트에 포함되어 잠재 공간 내에 표현된 데이터들은 하나 이상의 클래스에 대응될 수 있고, 각각의 클래스는 잠재 공간 내에서 특정한 분포로 표현될 수 있다. 도 2를 참조하면, 제 1 클래스(210), 제 2 클래스(220) 및 제 3 클래스(230)는 각각 특정한 분포로 표현될 수 있다.
잠재 공간 내에 표현된 데이터들이 지도 학습용 데이터인 경우에 있어서, 이러한 데이터들은 클래스 별로 분류될 수 있다.
이 경우, 분포 표현은 동일한 클래스인 데이터들의 하나 이상의 분포 파라미터의 집합일 수 있다.
일례로, 분포 파라미터는 제 1 클래스에 해당하는 데이터들의 잠재 공간 상의 좌표의 평균을 나타내는 벡터일 수 있다. 또 다른 일례로, 분포 파라미터는, 제 1 클래스에 해당하는 데이터들의 잠재 공간 상에서의 분포를 확률 분포로 표현한 것일 수 있다.
잠재 공간 내에 표현된 데이터들이 비지도 학습용 데이터인 경우에, 이러한 데이터들은 예를 들면, 군집화 기법(클러스터링, clustering) 등에 의하여 군집화 될 수 있다. 이 경우, 잠재 공간 내에 표현된 데이터들은 동일한 군집에 포함되는 데이터들의 분포를 나타내는 데이터일 수 있다.
일례로, 분포 파라미터는 제 1 군집에 포함된 데이터들의 잠재 공간 상의 좌표의 평균을 나타내는 벡터, 군집 내 지름, 군집 내 분산 등으로 표현될 수 있다. 또 다른 일례로, 분포 파라미터는 제 1 군집에 포함되는 데이터들의 잠재 공간 상에서의 분포를 확률 분포로 표현한 경우의 모수일 수 있다.
상술한 내용은 분포 파라미터 및 분포 표현에 관한 예시에 불과하므로, 이에 한정되지 아니한다.
본 개시에 있어서, 제 1 분포 표현은 제 1 데이터 세트에 대한 분포 표현을 의미할 수 있다. 또, 본 개시에 있어서 제 2 분포 표현은 제 2 데이터 세트에 대한 분포 표현을 의미할 수 있다.
본 개시에 있어, 거리 데이터는 상이한 두 클래스 또는 두 군집 데이터의 분포 간 거리를 표현한 자료일 수 있다.
일례로, 분포 표현이 집단에 포함된 데이터들의 잠재 공간 상에서의 좌표의 평균 값인 경우에, 상이한 두 집단 간의 거리 데이터는 유클리드 거리(Euclidean distance)로 표현될 수 있다.
또 다른 일례로, 분포 표현이 데이터들의 잠재 공간 상에서의 확률 분포인 경우에, 상이한 두 집단 간의 거리 데이터는 쿨백-라이블러 발산(Kullback-Leibler divergence)을 이용하여 연산될 수 있다.
이는 두 상이한 집단간의 거리 데이터를 연산하는 방법에 관한 예시에 불과하며, 거리 데이터의 연산 방법은 이에 한정되지 않는다.
유사도는 연산된 거리 데이터에 기초하여, 두 집단에 포함된 데이터들의 통계적 근원 관계를 나타내는 값일 수 있다.
예를 들어, 상술한 거리 데이터가 유클리드 거리로 표현되는 경우에, 유사도는 거리 데이터의 역수로 표현될 수 있다. 다만, 유사도의 연산 방식은 거리 데이터의 형식에 따라 상이할 수 있다.
이는 두 클래스의 유사도를 표현하는 방법에 관한 예시에 불과하며, 유사도의 연산 방법은 한정되지 않는다.
상술한 바와 같이 유사도를 연산함에 의하여, 상이한 데이터 집단 간 통계적 유사성을 판단할 수 있다. 가령, 제 1 데이터 세트에서 제 1 클래스에 해당하는 데이터 집단과 제 2 데이터 세트에서 제 1 클래스에 해당하는 데이터 집단 간의 유사성이 유사도 연산에 의하여 판단될 수 있다(제 1 데이터 세트에 포함된 복수의 데이터와 제 2 데이터 세트에 포함된 복수의 데이터가 동일한 잠재 공간 상에 표현된다고 가정한다).
유사도는 (1) 두 데이터 집단 간 통계적 특성의 유사성 또는 (2) 인공 신경망이 적절히 훈련되었는지 여부를 판단하는 데 이용될 수 있다.
만약 제 1 데이터 세트의 제 1 클래스와 제 2 데이터 세트의 제 1 클래스 간 유사도가 낮은 경우는, (1) 제 1 데이터 세트의 개 사진 집단 또는 제 2 데이터 세트의 개 사진 집단 중 적어도 하나는 편향되었음 또는 (2) 인공 신경망이 언더피팅(underfitting) 또는 오버피팅(overfitting) 상태임을 의미할 수 있다.
반대로, 제 1 데이터 세트의 제 1 클래스와 제 2 데이터 세트의 제 1 클래스 간 유사도가 높은 경우는, (1) 두 데이터 집단 간 통계적 특성이 유사함 또는 (2) 인공 신경망이 적절히 훈련된 상태임을 의미할 수 있다.
이는 유사도의 의미에 대한 예시일 뿐이며, 데이터들의 분류 결과가 미리 알려져 있는지, 데이터들의 통계적 특성이 미리 알려져 있는지 여부 등에 따라 판단의 결과는 상이할 수 있다. 따라서 유사도의 의미는 상술한 바에 한정되어서는 안될 것이다.
따라서, 프로세서(110)는 연산 된 유사도에 기초하여 인공 신경망이 적절하게 훈련된 상태인지 인식할 수 있다. 이에 기초하여, 프로세서(110)는 인공 신경망의 훈련 과정을 중단할 것인지, 아니면 인공 신경망을 새로이 훈련시킬 것인지 등을 결정할 수 있다. 이에 의하여, 불필요한 훈련 과정이 생략되어 신경망의 훈련에 요구되는 비용 및 시간을 절감할 수 있다.
도 3은 본 개시에 따른 해석도와 추론 결과 간의 관계도를 연산하기 위한 데이터의 일례를 도시한다.
본 개시에 있어서 해석 데이터는, 임의의 데이터에 대한 추론 결과를 생성하는 데 근거가 되는 특징(들) 또는 그 특징들을 계량화 한 지표를 의미할 수 있다.
일례로, 도 3의 개(310) 사진에 있어서, 프로세서(110)는 현저성 맵(saliency map)을 이용하여 이미지로부터 개를 분류할 수 있는 인공 신경망에 대한 해석 데이터를 생성할 수 있다.
이 경우, 예를 들어, 해석 데이터는 현저성 점(saliency point)의 개수(픽셀 수)에 의해 정의되는 영역 또는 당해 영역의 전체 이미지에 대한 영역비일 수 있다. 따라서, 도 3에 있어서는, 개(310)에 대한 현저성 맵(320)에 포함된 현저성 점들의 픽셀 수 또는 넓이가 해석 데이터일 수 있다.
여기서, 현저성 맵이란 컨볼루션 신경망의 예측 결과에 대한 설명의 맥락에서는, 예측 결과를 이끌어낸 이미지 상의 주요한 부분을 표현하기 위한 목적으로 생성되는 데이터로 정의될 수 있다.
다만, 현저성 맵을 이용하는 방식은 해석 데이터를 생성하기 위한 예시에 불과하므로, 해석 데이터를 생성하기 위한 방법은 이에 한정되어서는 안된다.
본 개시에 있어서 해석도란, 미리 정의된 해석 기준을 해석 데이터가 얼마나 만족하는지를 정량화 한 값으로 정의될 수 있다.
예를 들어, 도 3의 개 사진에서, '개(310)'와 배경을 구분하기 위한 경계선 내부의 영역은 도시된 사진에 포함된 객체가 개임을 식별하기 위한 기준일 수 있다. 따라서, 이 경우 상술한 “미리 정의된 해석 기준”이란 상기 경계선 내부의 영역의 전체 이미지에 대한 영역비로 정의될 수 있다.
제 1 데이터 세트 및 제 2 데이터 세트는 이미지 데이터일 수 있다. 데이터 세트가 이미지 데이터를 포함하는 경우에, 해석도는 이미지 데이터의 객체 영역 정보 및 해석 데이터에 기초하여 연산될 수 있다. 구체적으로, 프로세서(110)는 이미지 데이터의 객체 영역 크기 정보(원본 이미지 데이터의 개(310) 영역 크기) 및 해석 데이터(현저성 맵에서의 개 영역 크기)의 비율을 해석도로 결정할 수 있다.
도 3의 경우에, 해석도는 상술한 현저성 맵의 영역비를 상기 경계선 내부의 영역비로 나눈 값일 수 있다. 따라서, 특정 이미지 데이터에 대해 현저성 맵에서 감지된 영역비가 경계선 내부의 영역비에 비해 낮을수록, 현재 인공 신경망 모델은 당해 이미지 데이터를 잘 해석하지 못하고 있다고 판단할 수 있으며, 이에 따라 낮은 해석도를 부여할 수 있다.
해석도는 임의의 데이터 하나 또는 특정 데이터 클래스 전체에 대해 정의(예를 들어, 해석도의 평균)될 수 있다.
상술한 내용은 해석도를 생성하기 위한 예시에 불과하므로, 해석도를 생성하기 위한 방법은 이에 한정되어서는 안된다.
본 개시에 있어서 관계도란, 해석 데이터 및 해석도와 추론 결과간의 관계를 계량화한 값으로 정의될 수 있다.
예를 들어, 해석도와 추론 결과(확률) 간의 관계를 2차원 평면 상에 표현한 경우, 해석도와 추론 결과 간의 상관 관계가 연산될 수 있다. 해석도와 추론 결과 간에 양의 상관관계가 존재하는 경우, 인공 신경망 모델이 적절하게 훈련되었다고 판단될 수 있다.
또, 관계도를 혼동 행렬에 기초하여 생성할 수도 있다. 해석도가 기 설정된 기준을 넘었는지 여부를 기준으로 하여, 해석도가 기 설정된 기준을 넘은 경우에 예측 결과가 정확하면 참긍정(True Positive), 예측 결과가 부정확하면 거짓긍정(False Positive), 해석도가 기 설정된 기준을 넘지 못한 경우에 예측 결과가 정확하면 거짓부정(False Negative), 예측 결과가 부정확하면 참부정(True Negative)으로 설정한 후, 정확도(Precision), 민감도(Sensitivity), 정확도(Accuracy)를 연산하여, 이 중 하나를 관계도로 결정할 수 있다.
이는 해석도와 추론 결과 간의 관계에 기초하여 관계도를 연산하는 방법의 일례에 불과하다.
관계도에 의하여, 현재 인공 신경망이 생성하는 추론 결과가 합리적인지 판단할 수 있다. 가령, 도 3의 사진에서 인공 신경망이 개의 경계 내부 영역이 아닌 다른 영역에 기초하여 추론 결과를 생성할 수 있다. 이 경우에 원칙적으로는 인공 신경망은 도 3의 사진의 객체를 개로 분류하지 않아야 한다. 그럼에도 불구하고 만약 인공 신경망이 도 3의 사진의 객체를 개로 분류했다면, 이는 인공 신경망이 도 3과 유사한 데이터에 대해 과적합되었다는 것을 의미할 수 있다.
도 4는 본 개시에 따른 해석도와 추론 결과 간의 관계도를 연산하기 위한 데이터를 도시한다.
본 개시에 있어 클래스 활성화 맵(Class activation map)은 어떤 입력 이미지에 대한 컨볼루션 신경망의 예측 결과가 이미지 상의 어느 부분에 기인하였는지 찾기 위한 방법으로써, 아웃풋 레이어 직전의 가중치를 사용하여 해당 피처 맵(feature map)들의 가중합을 계산한 결과물만을 시각화함으로써, 특정 예측 클래스에 대한 전체 피처 맵들의 '평균적인' 활성화 결과를 확인하는 방법으로 정의될 수 있다.
도 4의 클래스 활성화 맵(Class activation map)에 있어서, 해석 데이터는 전체 피처 맵(feature map)들의 전체적인 활성화 정도(가중합)으로 정의될 수 있다.
도 4에 참조하면, 원본 사진(410)에 대한 클래스 활성화 맵(420)을 볼 수 있다. 클래스 활성화 맵(420)에서는 바벨에 대한 피처 맵들의 활성도(가중합)을 표현하고 있다.
만약 피처 맵들이 바벨에 대해 완벽히 활성화되었다면 클래스 활성화 정도는 1일 것이다(410, 420을 참조). 따라서, 이 경우 해석도는 특정 데이터에 대한 전체적인 활성화 정도 그 자체로 정의될 수 있다(즉, 해석 데이터와 동일할일 수 있다).
도 4에 있어서도, 해석도와 추론 결과(확률) 간의 관계를 2차원 평면 상에 표현한 경우, 해석도와 추론 결과 간의 상관 관계가 연산될 수 있다. 해석도와 추론 결과 간에 양의 상관관계가 존재하는 경우, 인공 신경망 모델이 적절하게 훈련되었다고 판단될 수 있다.
또, 관계도를 혼동 행렬에 기초하여 생성할 수도 있다. 해석도가 기 설정된 기준을 넘었는지 여부를 기준으로 하여, 해석도가 기 설정된 기준을 넘은 경우에 예측 결과가 정확하면 참긍정(True Positive), 예측 결과가 부정확하면 거짓긍정(False Positive), 해석도가 기 설정된 기준을 넘지 못한 경우에 예측 결과가 정확하면 거짓부정(False Negative), 예측 결과가 부정확하면 참부정(True Negative)으로 설정한 후, 정확도(Precision), 민감도(Sensitivity), 정확도(Accuracy)를 연산하여, 이 중 하나를 관계도로 결정할 수 있다.
이는 해석도와 추론 결과 간의 관계에 기초하여 관계도를 연산하는 방법의 일례에 불과하다.
관계도에 의하여, 현재 인공 신경망이 생성하는 추론 결과가 합리적인지 판단할 수 있다. 가령, 도 3의 사진에서 인공 신경망이 개의 경계 내부 영역이 아닌 다른 영역에 기초하여 추론 결과를 생성할 수 있다. 이 경우에 원칙적으로는 인공 신경망은 도 3의 사진의 객체를 개로 분류하지 않아야 한다. 그럼에도 불구하고 만약 인공 신경망이 도 3의 사진의 객체를 개로 분류했다면, 이는 인공 신경망이 도 3과 유사한 데이터에 대해 과적합되었다는 것을 의미할 수 있다.
도 5는 본 개시에 따른 프로세서가 추론 결과에 대한 신뢰도를 연산하는 일례를 나타낸 순서도이다.
프로세서(110)는 제 1 데이터 세트와 관련된 제 1 분포 표현을 획득할 수 있다(S100).
임의의 데이터 세트 내에 포함된 데이터들은 잠재 공간 내에 표현될 수 있다. 잠재 공간 내에 표현된 데이터들은 지도 학습용 데이터, 비지도 학습용 데이터 또는 강화 학습용 데이터일 수 있다.
프로세서(110)는 제 2 데이터 세트와 관련된 제 2 분포 표현을 획득할 수 있다(S200).
예를 들어, 제 1 데이터 세트가 트레이닝 데이터 세트이면, 제 2 데이터 세트는 검증(validation) 데이터 세트, 테스트 데이터 세트 또는 또 다른 트레이닝 데이터 세트 일 수 있다. 이 경우, 본 개시에 따른 신뢰도 판단 방법에 따라 두 데이터 세트 간의 통계적 유사성 혹은 인공 신경망의 훈련 정도 등에 대한 판단이 이루어질 수 있다.
또한, 프로세서(110)는 제 2 분포 표현이 기 설정된 기준을 만족할 때까지 인공 신경망에 제 2 데이터 세트를 반복적으로 입력할 수 있다.
동일한 데이터를 인공 신경망에 입력하더라도 인공 신경망의 구성에 따라 잠재 공간에서 달리 표현될 수 있다. 프로세서(110)는 동일한 데이터에 대한 다른 표현이 기 설정된 횟수 이상 잠재 공간에 표현될 때까지 제 2 데이터를 인공 신경망에 입력할 수 있다. 이에 따라, 제 2 데이터에 대한 통계적 표현이 충분한 표본 수에 의해 뒷받침될 수 있다.
이 때 기 설정된 횟수는, 예를 들면 CLT(중심극한정리) 등에 기초하여 설정될 수 있으나, 이는 예시적인 것에 불과하므로 권리범위는 이에 한정되서는 안된다.
프로세서(110)는 제 1 분포 표현과 제 2 분포 표현 간의 유사도를 연산할 수 있다(S300).
유사도는 연산된 거리 데이터에 기초하여, 두 집단에 포함된 데이터들의 통계적 근원 관계를 나타내는 값일 수 있다.
예를 들어, 상술한 거리 데이터가 유클리드 거리로 표현되는 경우에, 유사도는 거리 데이터의 역수로 표현될 수 있다. 다만, 유사도의 연산 방식은 거리 데이터의 형식에 따라 상이할 수 있다.
이는 두 클래스의 유사도를 표현하는 방법에 관한 예시에 불과하며, 유사도의 연산 방법은 한정되지 않는다.
상술한 바와 같이 유사도를 연산함에 의하여, 상이한 데이터 집단 간 통계적 유사성을 판단할 수 있다. 가령, 제 1 데이터 세트에서 제 1 클래스에 해당하는 데이터 집단과 제 2 데이터 세트에서 제 1 클래스에 해당하는 데이터 집단 간의 유사성이 유사도 연산에 의하여 판단될 수 있다(제 1 데이터 세트에 포함된 복수의 데이터와 제 2 데이터 세트에 포함된 복수의 데이터가 동일한 잠재 공간 상에 표현된다고 가정한다).
유사도는 (1) 두 데이터 집단 간 통계적 특성의 유사성 또는 (2) 인공 신경망이 적절히 훈련되었는지 여부를 판단하는 데 이용될 수 있다.
만약 제 1 데이터 세트의 제 1 클래스와 제 2 데이터 세트의 제 1 클래스 간 유사도가 낮은 경우는, (1) 제 1 데이터 세트의 개 사진 집단 또는 제 2 데이터 세트의 개 사진 집단 중 적어도 하나는 편향되었음 또는 (2) 인공 신경망이 언더피팅(underfitting) 또는 오버피팅(overfitting) 상태임을 의미할 수 있다.
반대로, 제 1 데이터 세트의 제 1 클래스와 제 2 데이터 세트의 제 1 클래스 간 유사도가 높은 경우는, (1) 두 데이터 집단 간 통계적 특성이 유사함 또는 (2) 인공 신경망이 적절히 훈련된 상태임을 의미할 수 있다.
이는 유사도의 의미에 대한 예시일 뿐이며, 데이터들의 분류 결과가 미리 알려져 있는지, 데이터들의 통계적 특성이 미리 알려져 있는지 여부 등에 따라 판단의 결과는 상이할 수 있다. 따라서 유사도의 의미는 상술한 바에 한정되어서는 안될 것이다.
따라서, 프로세서(110)는 연산 된 유사도에 기초하여 인공 신경망이 적절하게 훈련된 상태인지 인식할 수 있다. 이에 기초하여, 프로세서(110)는 인공 신경망의 훈련 과정을 중단할 것인지, 아니면 인공 신경망을 새로이 훈련시킬 것인지 등을 결정할 수 있다. 이에 의하여, 불필요한 훈련 과정이 생략되어 신경망의 훈련에 요구되는 비용 및 시간을 절감할 수 있다.
프로세서(110)는 인공 신경망에 대한 해석 데이터에 기초하여, 해석도 및 추론 결과 간의 관계도를 연산할 수 있다(S400).
도 3에서 상술한 바와 같이, 본 개시에 있어서 해석 데이터는, 임의의 데이터에 대한 추론 결과를 생성하는 데 근거가 되는 특징(들) 또는 그 특징들을 계량화 한 지표를 의미할 수 있다.
또한, 본 개시에 있어서 해석도란, 미리 정의된 해석 기준을 해석 데이터가 얼마나 만족하는지를 정량화 한 값으로 정의될 수 있다.
본 개시에 있어서 관계도란, 해석 데이터 및 해석도와 추론 결과간의 관계를 계량화한 값으로 정의될 수 있다.
예를 들어, 해석도와 추론 결과(확률) 간의 관계를 2차원 평면 상에 표현한 경우, 해석도와 추론 결과 간의 상관 관계가 연산될 수 있다. 해석도와 추론 결과 간에 양의 상관관계가 존재하는 경우, 인공 신경망 모델이 적절하게 훈련되었다고 판단될 수 있다.
관계도에 의하여, 현재 인공 신경망이 생성하는 추론 결과가 합리적인지 판단할 수 있다. 가령, 도 3의 사진에서 인공 신경망이 개의 경계 내부 영역이 아닌 다른 영역에 기초하여 추론 결과를 생성할 수 있다. 이 경우에 원칙적으로는 인공 신경망은 도 3의 사진의 객체를 개로 분류하지 않아야 한다. 그럼에도 불구하고 만약 인공 신경망이 도 3의 사진의 객체를 개로 분류했다면, 이는 인공 신경망이 도 3과 유사한 데이터에 대해 과적합되었다는 것을 의미할 수 있다.
프로세서(110)는 유사도 및 관계도를 이용하여 신뢰도를 연산할 수 있다(S500).
본 개시의 몇몇 실시예에 따른 신뢰도는 유사도 및 관계도의 분포 또는 변동성, 제 1 데이터 세트와 제 2 데이터 세트 간의 관계, 인공 신경망에 대한 해석도 중 적어도 하나를 이용하여 연산될 수 있다.
예를 들어, 프로세서(110)는 유사도 및 관계도의 분포와 변동성(e.g. 분산)이 기 설정된 기준보다 작을수록 신뢰도가 높아지도록 할 수 있다. 또, 제 1 데이터 세트와 제 2 데이터 세트의 유사도가 낮을 수록, 해석도가 낮을수록, 신뢰도가 낮아지도록 할 수 있다.
또한, 다른 일례로 프로세서(110)는 본 개시에 따른 신뢰도 판단 방법이 적용되는 영역(domain)에 따라 동일한 유사도, 관계도 및 해석도를 가지는 경우에도 신뢰도를 다르게 제공할 수 있다.
가령, 금융 업무에 본 개시에 따른 신뢰도 판단 방법이 적용된다면 정확한 예측 결과를 제공하는 것이 충분한 해석력을 제공하는 것 보다 더 요구될 수 있고, 반대로 군사/안보 분야에 본 개시에 따른 신뢰도 판단 방법이 적용된다면 정확한 예측 결과보다는 충분한 해석력을 제공하는 것이 더 요구될 수 있다.
이는 신뢰도를 제공하는 방법에 관한 예시에 불과하므로, 권리범위는 이에 한정되지 아니한다.
상술한 바에 따르면, 데이터 분포 상 추론이 잘 되어야하는 데이터인지 여부(유사도) 및 네트워크가 적절한 특징에 기초하여 추론하였는지 여부(관계도)를 종합적으로 판단한 정보를 신뢰도로서 사용자에게 제공할 수 있다.
프로세서(110)는 신뢰도에 대한 업데이트를 수행할 수 있다(S600).
본 개시에 따른 오류 정보는 본 개시에 따른 신뢰도 판단 방법을 사용하는 오퍼레이터가 인간 경험(human inspection)에 비추어, 프로세서(110)에 의해 제공된 신뢰도, 유사도, 관계도 및 해석도에 대해 연산 및 가공한 정보를 의미할 수 있다.
가령, 오퍼레이터가 신뢰도 판단 과정에 있어 유사도 판단에 문제가 있었다고 판단한 경우, 프로세서(110)는 입력장치(미도시)를 통해 유사도 판단에 문제가 있다는 정보(오류 정보)를 입력받을 수 있다. 이 경우, 프로세서(110)는 유사도 판단에 이용되는 알고리즘을 변경할 수 있다.
관계도 판단에 문제가 있었다는 정보가 입력된 경우, 프로세서(110)는 해석 데이터의 생성에 이용되는 방법을 변경하거나, 상관 관계의 도출 방식을 변경할 수 있다.
프로세서(110)는 오류 정보에 기초하여 신뢰도에 대한 업데이트를 수행하고, 이를 최종 신뢰도로 결정할 수 있다.
상술한 바에 의하여, 프로세서(110)는 도메인 영역 지식 등을 반영한 더 정확한 신뢰도 값을 사용자에게 제공할 수 있다.
도 6은 본 개시에 따른 프로세서가 유사도를 연산하는 일례를 나타낸 순서도이다.
프로세서(110)는, 제 1 분포 표현 중 제 1 클래스에 대응하는 분포 표현을 인식할 수 있다(S310).
임의의 데이터 세트에 포함된 데이터들은 하나 이상의 클래스에 대응될 수 있고, 각각의 클래스는 잠재 공간 내에서 특정한 분포로 표현될 수 있다. 도 2를 참조하면, 제 1 클래스(210), 제 2 클래스(220) 및 제 3 클래스(230)는 각각 특정한 분포로 표현될 수 있다.
프로세서(110)는, 제 2 분포 표현 중 제 1 클래스에 대응하는 분포 표현을 인식할 수 있다(S320).
제 1 데이터 세트와 제 2 데이터 세트에 포함된 데이터들 중 동일한 클래스에 대응하는 복수의 데이터들이 존재할 경우, 클래스 별 분포 간 거리 데이터의 연산 및 유사도의 연산이 가능할 수 있다.
프로세서(110)는, 두 분포 표현 간의 거리 데이터를 연산할 수 있다(S330).
도 2에서 상술한 바와 같이, 본 개시에 있어, 거리 데이터는 상이한 두 클래스 또는 두 군집 데이터의 분포 간 거리를 표현한 자료일 수 있다.
일례로, 분포 표현이 집단에 포함된 데이터들의 잠재 공간 상에서의 좌표의 평균 값인 경우에, 상이한 두 집단 간의 거리 데이터는 유클리드 거리(Euclidean distance)로 표현될 수 있다.
또 다른 일례로, 분포 표현이 데이터들의 잠재 공간 상에서의 확률 분포인 경우에, 상이한 두 집단 간의 거리 데이터는 쿨백-라이블러 발산(Kullback-Leibler divergence)을 이용하여 연산될 수 있다.
이는 두 상이한 집단간의 거리 데이터를 연산하는 방법에 관한 예시에 불과하며, 거리 데이터의 연산 방법은 이에 한정되지 않는다.
프로세서(110)는, 거리 데이터에 기초하여 유사도를 연산할 수 있다(S340).
상술한 바와 같이 유사도를 연산함에 의하여, 상이한 데이터 집단 간 통계적 유사성을 판단할 수 있다. 가령, 제 1 데이터 세트에서 제 1 클래스에 해당하는 데이터 집단과 제 2 데이터 세트에서 제 1 클래스에 해당하는 데이터 집단 간의 유사성이 유사도 연산에 의하여 판단될 수 있다(제 1 데이터 세트에 포함된 복수의 데이터와 제 2 데이터 세트에 포함된 복수의 데이터가 동일한 잠재 공간 상에 표현된다고 가정한다).
특히, 도 6을 참고하면 프로세서(110)는 동일한 클래스 별로 데이터의 유사성을 비교할 수 있다. 따라서 데이터 세트 내에서 클래스 별 신뢰도 추출이 가능하고, 이에 따라 사용자에게 더 정교한 판단을 제공할 수 있다.
도 7은 본 개시에 따른 프로세서가 유사도를 연산하는 일례를 나타낸 순서도이다.
프로세서(110)는, 제 1 분포 표현에 포함된 전체 데이터를 대표하는 제 1 대표 표현을 연산할 수 있다(S350).
프로세서(110)는, 제 2 분포 표현에 전체 데이터를 대표하는 제 2 대표 표현을 연산할 수 있다(S360).
본 개시의 몇몇 실시예에 따른 전체 데이터는, 임의의 데이터 세트에 포함된 모든 데이터로 정의될 수 있다.
여기서 대표 표현이란, 전체 데이터의 통계적 특성을 나타낼 수 있는 대표 값(파라미터)일 수 있다. 가령, 제 1 데이터 세트에 대한 대표 표현은 제 1 데이터 세트에 포함된 데이터들의 잠재 공간 상의 좌표의 평균일 수 있다. 이는 대표 표현에 관한 예시에 불과하므로, 권리범위는 이에 한정되지 아니한다.
프로세서(110)는, 제 1 대표 표현과 제 2 대표 표현 간의 거리 데이터를 연산할 수 있다(S370).
본 개시에 있어, 거리 데이터는 상이한 두 클래스 또는 두 군집 데이터의 분포 간 거리를 표현한 자료일 수 있다.
일례로, 분포 표현이 집단에 포함된 데이터들의 잠재 공간 상에서의 좌표의 평균 값인 경우에, 상이한 두 집단 간의 거리 데이터는 유클리드 거리(Euclidean distance)로 표현될 수 있다.
따라서, 본 개시에 따른 몇몇 실시예에 있어서 대표 표현 간 거리 데이터는 제 1 대표 표현과 제 2 대표 표현 간의 유클리드 거리로 표현될 수 있다.
유사도는 연산된 거리 데이터에 기초하여, 두 집단에 포함된 데이터들의 통계적 근원 관계를 나타내는 값일 수 있다.
프로세서(110)는, 거리 데이터에 기초하여 유사도를 연산할 수 있다(S380).
제 1 데이터 세트와 제 2 데이터 세트 간 관련성이 알려지지 않은 경우에, 모든 클래스 별로 분포의 통계적 유사성을 판단하는 것은 비효율적일 수 있다. 따라서, 이러한 경우 전체 데이터의 특성을 먼저 비교해볼 수 있다면, 유사도 및 신뢰도 판단에 요구되는 연산량을 줄일 수 있다.
도 8은 본 개시에 따른 프로세서가 신뢰도에 대한 업데이트를 수행하는 일례를 나타낸 순서도이다.
프로세서(110)는 유사도, 관계도 또는 해석도 중 적어도 하나에 기초하여 오류 정보를 인식할 수 있다(S610).
본 개시에 따른 오류 정보는 본 개시에 따른 신뢰도 판단 방법을 사용하는 오퍼레이터가 인간 경험(human inspection)에 비추어, 프로세서(110)에 의해 제공된 신뢰도, 유사도, 관계도 및 해석도에 대해 연산 및 가공한 정보를 의미할 수 있다.
프로세서(110)는 오류 정보에 기초하여 신뢰도에 대한 업데이트를 수행할 수 있다(S620).
가령, 오퍼레이터가 신뢰도 판단 과정에 있어 유사도 판단에 문제가 있었다고 판단한 경우, 프로세서(110)는 입력장치(미도시)를 통해 유사도 판단에 문제가 있다는 정보(오류 정보)를 입력받을 수 있다. 이 경우, 프로세서(110)는 유사도 판단에 이용되는 알고리즘을 변경할 수 있다.
관계도 판단에 문제가 있었다는 정보가 입력된 경우, 프로세서(110)는 해석 데이터의 생성에 이용되는 방법을 변경하거나, 상관 관계의 도출 방식을 변경할 수 있다.
프로세서(110)는 오류 정보에 기초하여 신뢰도에 대한 업데이트를 수행하고, 이를 최종 신뢰도로 결정할 수 있다.
상술한 바에 의하여, 프로세서(110)는 도메인 영역 지식 등을 반영한 더 정확한 신뢰도 값을 사용자에게 제공할 수 있다.
도 9는 본 개시의 몇몇 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
*도 9에서 도시되는 컴퓨터(1102)는, 본 개시에 따른 신뢰도 판단 방법이 수행되는 컴퓨팅 장치(100) 중 적어도 하나에 대응될 수 있다.
본 개시내용이 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 개시내용 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.
일반적으로, 본 명세서에서의 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로시져, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.
본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체 로서, 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다.
컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.
컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서(110)들 중 임의의 프로세서(110)일 수 있다. 듀얼 프로세서(110) 및 기타 멀티 프로세서(110) 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.
컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)
Figure pat00001
이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음
Figure pat00002
, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 예를 들어, USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 저장 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 저장 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a,b,g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5 GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서(110)들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (1)

  1. 본 명세서 및 도면에 개시된 방법 및 장치.
KR1020220098496A 2019-12-23 2022-08-08 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법 KR102537113B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220098496A KR102537113B1 (ko) 2019-12-23 2022-08-08 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190172651A KR102456409B1 (ko) 2019-12-23 2019-12-23 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
KR1020220098496A KR102537113B1 (ko) 2019-12-23 2022-08-08 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190172651A Division KR102456409B1 (ko) 2019-12-23 2019-12-23 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법

Publications (2)

Publication Number Publication Date
KR20220116111A true KR20220116111A (ko) 2022-08-22
KR102537113B1 KR102537113B1 (ko) 2023-05-26

Family

ID=76438166

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020190172651A KR102456409B1 (ko) 2019-12-23 2019-12-23 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
KR1020220098495A KR102537114B1 (ko) 2019-12-23 2022-08-08 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
KR1020220098496A KR102537113B1 (ko) 2019-12-23 2022-08-08 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020190172651A KR102456409B1 (ko) 2019-12-23 2019-12-23 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
KR1020220098495A KR102537114B1 (ko) 2019-12-23 2022-08-08 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법

Country Status (2)

Country Link
US (1) US20210192322A1 (ko)
KR (3) KR102456409B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102531645B1 (ko) 2020-02-24 2023-05-11 주식회사 마키나락스 모델의 성능 테스트를 위한 컴퓨터 프로그램
KR20230095165A (ko) * 2021-12-21 2023-06-29 한국전기연구원 인공신경망 기반의 특성 곡선 예측 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190075067A (ko) * 2016-09-22 2019-06-28 엔퍼런스, 인크. 의미 정보의 시각화 및 생명 과학 엔티티들 사이의 현저한 연관을 나타내는 임시 신호의 추론을 위한 시스템, 방법 및 컴퓨터 판독 가능 매체

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101886373B1 (ko) * 2016-07-14 2018-08-09 주식회사 언더핀 딥러닝 인공신경망 기반의 타스크 제공 플랫폼
KR101953802B1 (ko) * 2017-07-03 2019-03-07 한양대학교 산학협력단 내연적 및 외연적 신뢰 관계를 이용한 아이템 추천 방법 및 장치
KR102264232B1 (ko) * 2018-05-31 2021-06-14 주식회사 마인즈랩 단어, 문장 특징값 및 단어 가중치 간의 상관관계를 학습한 인공 신경망에 의해 생성된 설명이 부가된 문서 분류 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190075067A (ko) * 2016-09-22 2019-06-28 엔퍼런스, 인크. 의미 정보의 시각화 및 생명 과학 엔티티들 사이의 현저한 연관을 나타내는 임시 신호의 추론을 위한 시스템, 방법 및 컴퓨터 판독 가능 매체

Also Published As

Publication number Publication date
KR20220116110A (ko) 2022-08-22
KR20210080762A (ko) 2021-07-01
KR102456409B1 (ko) 2022-10-19
KR102537114B1 (ko) 2023-05-26
KR102537113B1 (ko) 2023-05-26
US20210192322A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US10937141B2 (en) Deep learning based image comparison device, method and computer program stored in computer readable medium
KR102537113B1 (ko) 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
US20210264209A1 (en) Method for generating anomalous data
KR102283283B1 (ko) 데이터 레이블링 우선순위 결정방법
KR102465571B1 (ko) 문서 데이터의 주제어 분류를 수행하는 기법
KR102285530B1 (ko) 영상 정합을 위한 이미지 처리 방법
US20230195768A1 (en) Techniques For Retrieving Document Data
KR20230073138A (ko) 유사 컨텐츠 제공 기법
KR20230053846A (ko) 쓰레기를 수거하기 위한 방법
US20220269718A1 (en) Method And Apparatus For Tracking Object
KR20230062130A (ko) 인공지능을 이용한 인터뷰 공유 및 사용자 매칭 플랫폼
KR102452378B1 (ko) 도메인 특화된 언어 규칙 생성이 가능한 텍스트 데이터 분석 방법 및 장치
KR20210119208A (ko) 전문가 모사 모델 학습 방법 및 그 학습을 위한 장치
KR102263590B1 (ko) 이미지 정합 방법
KR102574605B1 (ko) 영상 데이터 및 소리 데이터를 활용하여 소리 데이터를 분류하고 그리고 소음도를 측정하는 방법, 장치 및 컴퓨터 프로그램
KR102270169B1 (ko) 데이터 관리 방법
KR102517968B1 (ko) 신경망 모델을 이용한 이미지 특징 추출 방법
US11841737B1 (en) Method for error detection by using top-down method
US11657803B1 (en) Method for speech recognition by using feedback information
KR102379636B1 (ko) 딥러닝 기반의 어노테이션 방법
US20240185116A1 (en) Systems and methods for bagging ensemble classifiers for imbalanced big data
KR20220052726A (ko) 소셜 네트워크 서비스 계정의 스타일 정보를 산출하는 방법 및 장치
KR20210049076A (ko) 데이터 관리 방법
KR20230070654A (ko) 비정형 데이터를 정형화 시 사용되는 규칙을 생성하는 기법
KR20230154601A (ko) 표의 픽셀 정보를 획득하는 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant