KR102209505B1 - 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치 - Google Patents

데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치 Download PDF

Info

Publication number
KR102209505B1
KR102209505B1 KR1020180160613A KR20180160613A KR102209505B1 KR 102209505 B1 KR102209505 B1 KR 102209505B1 KR 1020180160613 A KR1020180160613 A KR 1020180160613A KR 20180160613 A KR20180160613 A KR 20180160613A KR 102209505 B1 KR102209505 B1 KR 102209505B1
Authority
KR
South Korea
Prior art keywords
data
neural network
weight
artificial neural
reputation
Prior art date
Application number
KR1020180160613A
Other languages
English (en)
Other versions
KR20200072717A (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 KR1020180160613A priority Critical patent/KR102209505B1/ko
Publication of KR20200072717A publication Critical patent/KR20200072717A/ko
Application granted granted Critical
Publication of KR102209505B1 publication Critical patent/KR102209505B1/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
    • 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/09Supervised learning
    • 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

Landscapes

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

Abstract

인공 신경망 학습 방법 및 장치가 개시된다. 일 실시예에 따른 인공 신경망 학습 방법은 입력 데이터들의 종류에 따른 빈도수를 획득하는 단계, 빈도수에 기초하여 입력 데이터들의 종류에 따른 평판도를 계산하는 단계, 평판도에 기초하여, 입력 데이터들을 학습 데이터와 가중치 데이터로 분류하는 단계, 및 학습 데이터를 이용하여 인공 신경망을 학습하는 단계를 포함한다.

Description

데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치{ARTIFICIAL INTELIGENCE LEARNING METHODS AND APPARATUS USING ANALYSIS OF DATA FREQUENCY VALUE}
아래 실시예들은 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치 에 관한 것이다.
인공지능에서 좋은 인식 성능을 나타내기 위해서는 사용되는 입력 데이터의 종류가 다양하고, 그 데이터의 양이 많아야 한다. 데이터 자체의 양을 확보하기 위해서는 다양한 실험을 통하여 측정하거나, 시간적으로 오랜 기간을 측정함으로써 다소 쉽게 확보할 수 있다. 일반적으로 데이터 자체의 양은 많을수록, 실제 환경을 많이 대변하기 때문에 좋은 인식 성능을 나타낸다고 알려져 있다.
일반적으로 입력 데이터 종류가 증가할수록 인식 성능을 향상하지만, 잘못된 형태의 입력 데이터가 포함되면 오히려 성능이 저하 될 수도 있다. 입력 데이터 종류의 경우 일반적으로 개수가 많을수록 인식 성능을 향상되지만, 잘못된 형태의 입력 데이터가 포함되면 오히려 성능이 저하 될 수도 있다.
따라서 입력 데이터로 활용 시 신중하게 고려하여 전반적인 인식 성능을 높이고, 처리 속도 부분을 줄일 필요가 있다.
실시예들은 입력 데이터로 활용 시 입력 데이터의 빈도수 분석을 통하여 이 데이터가 실제 인식 성능에 도움이 되는 분포인지를 판단하고자 한다.
실시예들은 입력 데이터를 학습 자료에 직접적으로 활용할 것인지, 아니면 최종 학습 결과의 가중치로 활용할 것인지를 판단하고자 한다.
실시예들은 입력 데이터의 평탄도를 측정하고자 한다.
실시예들은 가중치 데이터의 가중치를 계산하고자 한다.
일 실시예에 따른 인공 신경망 학습 방법은 입력 데이터들의 종류에 따른 빈도수를 획득하는 단계; 상기 빈도수에 기초하여 상기 입력 데이터들의 종류에 따른 평판도를 계산하는 단계; 상기 평판도에 기초하여, 상기 입력 데이터들을 학습 데이터와 가중치 데이터로 분류하는 단계; 및 상기 학습 데이터를 이용하여 인공 신경망을 학습하는 단계를 포함한다.
상기 평판도를 계산하는 단계는 상기 빈도수의 평균을 계산하는 단계; 상기 빈도수의 평균과 상기 입력 데이터들의 차이를 계산하는 단계; 및 상기 차이에 기초하여 상기 평판도를 계산하는 단계를 포함할 수 있다.
상기 평판도를 계산하는 단계는 상기 입력 데이터들의 종류에 따른 상기 빈도수의 분산을 계산하는 단계를 포함할 수 있다.
상기 입력 데이터들을 상기 학습 데이터와 상기 가중치 데이터로 분류하는 단계는 상기 평판도가 미리 정해진 임계치보다 클 경우, 상기 입력 데이터들을 상기 학습 데이터로 분류하는 단계; 및 상기 평판도가 미리 정해진 임계치보다 작을 경우, 상기 입력 데이터들을 상기 가중치 데이터로 분류하는 단계를 포함할 수 있다.
일 실시예에 따른 인공 신경망 학습 방법은 테스트 데이터를 상기 인공 신경망에 입력하여 결과 데이터를 획득하는 단계; 및 상기 결과 데이터와 상기 가중치 데이터에 기초하여, 출력 데이터를 획득하는 단계를 더 포함할 수 있다.
상기 출력 데이터를 획득하는 단계는 상기 가중치 데이터와 상기 테스트 데이터에 기초하여, 가중치를 계산하는 단계; 및 상기 가중치를 상기 결과 데이터에 곱하여 상기 출력 데이터를 획득하는 단계를 포함할 수 있다.
상기 가중치를 계산하는 단계는 상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 참 데이터 가중치를 계산하는 단계; 및 상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 거짓 데이터 가중치를 계산하는 단계를 포함할 수 있다.
일 실시예에 따른 인공 신경망 학습 장치는 입력 데이터들의 종류에 따른 빈도수를 획득하고, 상기 빈도수에 기초하여 상기 입력 데이터들의 종류에 따른 평판도를 계산하고, 상기 평판도에 기초하여, 상기 입력 데이터들을 학습 데이터와 가중치 데이터로 분류하며, 상기 학습 데이터를 이용하여 인공 신경망을 학습하는 프로세서를 포함한다.
상기 프로세서는 상기 빈도수의 평균을 계산하고, 상기 빈도수의 평균과 상기 입력 데이터들의 차이를 계산하고, 상기 차이에 기초하여 상기 평판도를 계산할 수 있다.
상기 프로세서는 상기 입력 데이터들의 종류에 따른 상기 빈도수의 분산을 계산할 수 있다.
상기 프로세서는 상기 평판도가 미리 정해진 임계치보다 클 경우, 상기 입력 데이터들을 상기 학습 데이터로 분류하고, 상기 평판도가 미리 정해진 임계치보다 작을 경우, 상기 입력 데이터들을 상기 가중치 데이터로 분류할 수 있다.
상기 프로세서는 테스트 데이터를 상기 인공 신경망에 입력하여 결과 데이터를 획득하고, 상기 결과 데이터와 상기 가중치 데이터에 기초하여, 출력 데이터를 획득할 수 있다.
상기 프로세서는 상기 가중치 데이터와 상기 테스트 데이터에 기초하여, 가중치를 계산하고, 상기 가중치를 상기 결과 데이터에 곱하여 상기 출력 데이터를 획득할 수 있다.
상기 프로세서는 상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 참 데이터 가중치를 계산하고, 상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 거짓 데이터 가중치를 계산할 수 있다.
실시예들은 입력 데이터로 활용 시 입력 데이터의 빈도수 분석을 통하여 이 데이터가 실제 인식 성능에 도움이 되는 분포인지를 판단할 수 있다.
실시예들은 입력 데이터를 학습 자료에 직접적으로 활용할 것인지, 아니면 최종 학습 결과의 가중치로 활용할 것인지를 판단할 수 있다.
실시예들은 입력 데이터의 평탄도를 측정할 수 있다.
실시예들은 가중치 데이터의 가중치를 계산할 수 있다.
도 1a와 도 1b는 일 실시예에 따른 입력 데이터 종류에 따른 빈도수 분포를 도시한 그래프이다.
도 2는 일 실시예에 따른 인공 신경망 학습 방법을 설명하기 위한 순서도이다.
도 3a와 도 3b는 일 실시예에 따른 평판도 계산 방법을 설명하기 위한 그래프이다.
도 4는 일 실시예에 따른 출력 데이터를 획득하는 방법을 설명하기 위한 순서도이다.
도 5a와 도 5b는 일 실시예에 따른 가중치 계산 방법을 설명하기 위한 그래프이다.
도 6은 일 실시예에 따른 학습 시스템을 설명하기 위한 순서도이다.
도 7은 일 실시예에 따른 인공 신경망 학습 장치의 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1a와 도 1b는 일 실시예에 따른 입력 데이터 종류에 따른 빈도수 분포를 도시한 그래프이다.
입력 데이터는 인공 신경망을 학습에 필요한 데이터들의 집합으로, 입력 데이터는 여러 종류의 데이터를 포함할 수 있다. 예를 들어, 입력 데이터는 서로 다른 클래스(class)들을 위한 입력 데이터를 포함할 수 있다. 입력 데이터는 제1 클래스의 학습을 위한 제1 입력 데이터 및 제2 클래스의 학습을 위한 제2 입력 데이터를 포함할 수 있다.
도 1a를 참조하면, 일 실시예에 따른 입력 데이터는 두 종류의 입력 데이터(110, 120)를 포함할 수 있다. 입력 데이터(110)의 빈도수를 분석하면, 중앙부분에서 가장 높은 빈도를 나타내고 양쪽 가장자리에 일부 빈도를 나타낼 수 있다. 입력 데이터(120)의 빈도수를 분석하면 좌측부분에 높은 빈도를 나타내고 중앙과 우측부분에 일부 빈도를 나타낼 수 있다.
입력 데이터(110)와 입력 데이터(120)의 조합으로 사용되는 입력 데이터의 분포를 2차원 평면상에 표현할 수 있다. 2차원 평면상의 원은 데이터의 분포를 나타내고 원 내의 색의 진하기는 데이터 분포의 빈도수를 나타낼 수 있다. 예를 들어, 영역(130)이 가장 높은 빈도로 발생하는 입력 데이터일 수 있고, 상대적으로 영역(140) 지점은 낮은 빈도로 발생하는 입력 데이터일 수 있다.
일 실시예에 따른 인공 신경망은 이러한 2차원 평면상에 존재하는 분포에 기초하여, 입력 데이터를 결정하고, 결정된 입력 데이터를 이용하여 인공 신경망 학습을 통하여 우리가 원하는 동작을 수행할 수 있다. 예를 들어, 영역(130)만을 분류하는 인식이 될 수 도 있고, 영역(140) 부분만을 분류하는 인식이 될 수도 있다. 또는, 영역(150) 부분을 분류하는 인식이 될 수도 있다.
입력 데이터가 상대적으로 떨어져 분포하면 향후 인식기에서 분류가 쉽게 이루어질 수 있고 학습과정도 쉽고, 빠르게 이루어 질 가능성이 높을 수 있다. 전반적으로 입력 데이터의 분포가 많이 떨어지고 나누어질수록 좋은 인식 성능을 나타낼 확률이 높을 수 있다. 각 입력 데이터의 빈도수 분석을 통하여 그 분포의 평탄한 정도가 중요한 정보가 될 수 있다.
도 1b를 참조하면, 일 실시예에 따른 입력 데이터는 두 종류의 입력 데이터(160, 170)를 포함할 수 있다. 입력 데이터(170)의 경우. 도 1a의 입력 데이터(110)와 달리, 데이터 빈도수 분포가 상당히 균등할 수 있다.
입력 데이터(160)와 입력 데이터(170)의 조합으로 사용되는 입력 데이터의 분포를 2차원 평면상에 표현하는 경우, 도 1a에 비해 분포가 많이 합쳐져 있는 형태를 보일 수 있다. 예를 들어 입력 데이터(170)의 빈도수 분포가 균등하기 때문에, 전체 입력 데이터의 분포 결정 시 큰 영향이 없을 수 있다. 영역(180)과 영역(190)은 입력 데이터(160)에 의해 결정될 수 있다.
입력 데이터(170)의 빈도수가 상당히 균일하기 때문에 나타나는 현상으로, 이 경우에는 데이터 분류에 큰 영향이 없는 입력 데이터(170)를 인공지능 학습기의 입력 자료로 직접으로 사용하면, 학습기의 구조를 복잡하게 하고 속도를 저하시켜 오히려 성능이 저하 될 수도 있다. 입력 데이터의 빈도수 분포에 따라 입력 데이터를 분류하고, 특정 데이터만 학습 데이터로 사용하고, 특정 데이터를 제외한 나머지 데이터는 학습 데이터로 사용하여 학습기의 구조를 복잡하게 하고 속도를 저하시키는 것보다, 인공지능 학습기의 최종 결과에 가중치로 활용되는 것이 더 나을 수 있다.
도 2는 일 실시예에 따른 인공 신경망 학습 방법을 설명하기 위한 순서도이다.
도 2를 참조하면, 일 실시예에 따른 인공 신경망 학습 방법의 단계들(210 내지 240)은 인공 신경망 학습 장치에 의해 수행될 수 있다. 인공 신경망 학습 장치(이하, '학습 장치')는 하나 또는 그 이상의 하드웨어 모듈, 하나 또는 그 이상의 소프트웨어 모듈, 또는 이들의 다양한 조합에 의하여 구현될 수 있다.
단계(210)에서, 학습 장치는 입력 데이터들의 종류에 따른 빈도수를 획득한다. 인공 신경망의 학습을 위한 입력 데이터는 여러 종류의 데이터를 포함할 수 있고, 입력 데이터는 종류에 따라 다른 빈도수 분포를 갖을 수 있다. 예를 들어, 특정 정보를 분류하기 위한 입력 데이터로 나이 정보에 대한 입력 데이터, 수입 정보에 대한 입력 데이터 등이 있을 수 있고, 나이 정보에 대한 입력 데이터와 수입 정보에 대한 입력 데이터는 서로 다른 빈도수 분포를 갖을 수 있다.
단계(220)에서, 학습 장치는 빈도수에 기초하여 입력 데이터들의 종류에 따른 평판도를 계산한다. 일 실시예에 따른 평판도는 데이터 빈도수 분포의 평판한 정도를 수치화한 값으로, 평판한 정도가 높을수록 평판도 값이 낮고, 평판한 정도가 낮을수록 평판도 값이 높을 수 있다. 각 입력 데이터의 평판도는 입력 데이터의 빈도수에 기초하여 계산할 수 있다. 평판도를 계산하는 방법은 아래 도 3에서 상세히 설명된다.
단계(230)에서, 학습 장치는 평판도에 기초하여, 입력 데이터들을 학습 데이터와 가중치 데이터로 분류한다. 일 실시예에 따른 학습 데이터와 가중치 데이터는 입력 데이터에 포함되고, 학습 데이터는 입력 데이터 중에서 인공 신경망 학습에 이용되는 데이터일 수 있고, 가중치 데이터는 입력 데이터 중에서 인공 신경망의 직접적인 학습 데이터로 활용되지 않고, 최종 학습 결과의 가중치로 활용되는 데이터일 수 있다.
전술한 바와 같이, 데이터 분류에 큰 영향이 없는 입력 데이터를 인공지능 학습기의 입력 자료로 직접으로 사용하면, 학습기의 구조를 복잡하게 하고 속도를 저하시켜 오히려 성능이 저하 될 수도 있기 때문에, 평판도에 기초하여 입력 데이터를 학습 데이터와 가중치 데이터로 분류할 수 있다. 데이터 빈도수 분포가 균등한 입력 데이터는 학습 데이터로, 데이터 빈도수 분포가 균등하지 않은 입력 데이터는 가중치 데이터로 분류할 수 있다.
예를 들어, 평판도가 미리 정해진 임계치보다 클 경우, 입력 데이터들을 학습 데이터로 분류할 수 있고, 평판도가 미리 정해진 임계치보다 작을 경우, 입력 데이터들을 가중치 데이터로 분류할 수 있다.
단계(240)에서, 학습 장치는 학습 데이터를 이용하여 인공 신경망을 학습한다. 학습 데이터는 입력 데이터의 분포가 많이 떨어지고 나누어지는 데이터로, 인식기에서 분류가 쉽게 이루어질 수 있고 학습과정도 쉽고, 빠르게 이루어 질 가능성이 높을 수 있다.
도 3a와 도 3b는 일 실시예에 따른 평판도 계산 방법을 설명하기 위한 그래프이다.
일 실시예에 따른 평판도는 먼저 빈도수의 평균을 구한 후, 모든 데이터의 영역에서 데이터 값과 평균과의 차이를 계산하여 그 값이 높으면 평탄도가 낮고, 그 값이 낮으면 평탄도가 높은 것으로 판단할 수 있다.
도 3a와 도 3b의 입력 데이터의 빈도수 분포 그래프를 비교하면, 도 3a의 입력 데이터의 일 실시예에 따른 평판도 계산 방법에 따라 계산한 값이 도 3b 보다 높아 평탄도가 낮고, 그림 4(b)는 계산한 값이 낮아 평탄도가 높은 것으로 판단할 수 있다.
다른 실시예에 따른 평판도는 입력 데이터들의 종류에 따른 빈도수의 분산을 포함할 수 있다. 분산이 작을수록 입력 데이터의 빈도수 분포가 균등하기 때문에 평판도가 높은 것으로 판단할 수 있고, 분산이 클수록 입력 데이터의 빈도수 분포가 균등하지 않기 때문에 평판도가 낮은 것으로 판단할 수 있다.
또한, 평판도는 입력 데이터들의 종류에 따른 빈도수의 표준편차를 포함하여 데이터가 흩어져 있는 정도를 하나의 수로 나타내는 지표인 절대 편차, 변동 계수 등을 포함할 수 있다.
도 4는 일 실시예에 따른 출력 데이터를 획득하는 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 단계(410)에서, 일 실시예에 따른 테스트 데이터를 인공 신경망에 입력하여 결과 데이터를 획득할 수 있다. 인공 신경망은 도 1 내지 도 3에서 설명한 방법에 따라 학습된 인공 신경망일 수 있다. 예를 들어, 인공 신경망은 평판도에 기초하여 분류된 입력 데이터 중 학습 데이터로 학습된 신경망일 수 있다. 결과 데이터는 테스트 데이터를 인공 신경망에 입력하여 출력된 데이터일 수 있다.
단계(420)에서, 결과 데이터와 가중치 데이터에 기초하여 출력 데이터를 획득할 수 있다. 구체적으로, 가중치 데이터와 상기 테스트 데이터에 기초하여, 가중치를 계산할 수 있고, 가중치를 결과 데이터에 곱하여 출력 데이터를 획득할 수 있다. 출력 데이터는 테스트 데이터를 인공 신경망에 입력하여 최종적으로 얻게 되는 결과일 수 있다. 가중치를 계산하는 방법은 아래에서 도 5a와 도 5b를 참조하여 상세히 설명된다.
도 5a와 도 5b는 일 실시예에 따른 가중치 계산 방법을 설명하기 위한 그래프이다.
일 실시예에 따른 가중치는 참 데이터 가중치와 거짓 데이터 가중치를 포함할 수 있다. 가중치 데이터의 빈도수에 기초하여, 테스트 데이터에 대한 참 데이터 가중치를 계산하고, 가중치 데이터의 빈도수에 기초하여, 테스트 데이터에 대한 거짓 데이터 가중치를 계산할 수 있다.
현실 세계에서 관측된 데이터들이 완벽한 경우는 거의 없으며 약간씩의 오차, 편차, 노이즈 등이 있을 수 있다. 오차, 편차 노이즈 등에 해당하는 데이터는 거짓 데이터일 수 있고, 이를 제외한 나머지 데이터는 참 데이터일 수 있다. 참 데이터에 기초하여 계산된 가중치는 참 데이터 가중치, 거짓 데이터에 기초하여 계산된 가중치는 거짓 데이터 가중치일 수 있다.
도 5a를 참조하면, 평탄도가 낮은 데이터를 참 데이터와 거짓 데이터로 분리하여 빈도수를 나타낼 수 있다. 참 데이터와 거짓 데이터의 빈도수는 빈도수를 기준으로 서로 대칭적인 형태를 나타내고, 참 데이터의 빈도수와 거짓 데이터의 빈도수를 합하면 전체 빈도수가 될 수 있다.
도 5b를 참조하면, 일 실시예에 따른 가중치 계산방법은, 테스트 데이터 P가 정해지면 이때 이를 기준으로 전체 빈도수를 A, 참 데이터 빈도수를 B, 거짓 데이터 빈도수를 C로 정의할 수 있다. 참 데이터 가중치는 B/A, 거짓 데이터 가중치는 C/A로 계산할 수 있다.
가중치를 계산하면, 각각 계산된 가중치를 결과 데이터에 각각 곱하여 최종 인식 결과인 출력 데이터를 획득할 수 있다. 상기 과정을 통하여 빈도수가 평탄하지 않은 입력 데이터는 인공지능 학습기의 직접적인 학습 데이터로 활용하고 빈도수가 평탄한 입력 데이터는 가중치 데이터로 활용하여, 인식 성능은 전반적으로 향상시키고, 학습기의 구조는 덜 복잡하게 하여 전반적인 학습 및 인식 속도를 개선시킬 수 있다.
도 6은 일 실시예에 따른 학습 시스템을 설명하기 위한 순서도이다.
도 6을 참조하면, 학습 장치는 입력 데이터를 수신할 수 있고(610), 입력 데이터들의 종류에 따른 빈도수를 계산할 수 있다(615). 학습 장치는 계산된 빈도수에 기초하여 입력 데이터들의 종류에 따른 평판도를 계산할 수 있다(620).
학습 장치는 평판도에 기초하여 입력 데이터들을 학습 데이터와 가중치 데이터로 분류할 수 있다(625). 임계치 이하의 평판도를 갖는 데이터는 학습 데이터로 사용되어 인공 신경망을 학습할 수 있다(630).
학습 데이터를 사용하여 학습된 인공 신경망에 테스트 데이터가 입력될 수 있고(645), 테스트 데이터를 이용하여 인공 신경망을 테스팅할 수 있다(635). 인공 신경망은 결과 데이터를 출력할 수 있고(640), 결과 데이터와 가중치가 곱해져서 최종적으로 출력 데이터를 획득할 수 있다(660).
가중치 데이터의 참 데이터 빈도수와 거짓 데이터 빈도수를 계산하고(650), 계산된 결과와 테스트 데이터에 기초하여 참 데이터 가중치와 거짓 데이터 가중치를 결정할 수 있다(655).
도 7은 일 실시예에 따른 인공 신경망 학습 장치의 블록도이다.
도 7을 참조하면, 일 실시예에 따른 인공 신경망 학습 장치(이하, 학습 장치)(700)는 프로세서(710)를 포함한다. 학습 장치(700)는 통신 인터페이스(730) 및 메모리(750)를 더 포함할 수 있다. 프로세서(710), 통신 인터페이스(730) 및 메모리(750)는 통신 버스(705)를 통해 서로 통신할 수 있다. 학습 장치(700)는 예를 들어, 기계 학습을 위한 인공 지능 분류기 또는 신경망을 위한 분류기이거나, 분류기를 포함할 수 있다.
프로세서(710)는 빈도수에 기초하여 입력 데이터들의 종류에 따른 평판도를 계산하고, 평판도에 기초하여, 입력 데이터들을 학습 데이터와 가중치 데이터로 분류하며, 학습 데이터를 이용하여 인공 신경망을 학습한다.
프로세서(710)는 빈도수의 평균을 계산하고, 빈도수의 평균과 입력 데이터들의 차이를 계산하고, 차이에 기초하여 평판도를 계산할 수 있다.
프로세서(710)는 평판도가 미리 정해진 임계치보다 클 경우, 입력 데이터들을 학습 데이터로 분류하고, 평판도가 미리 정해진 임계치보다 작을 경우, 입력 데이터들을 가중치 데이터로 분류할 수 있다.
프로세서(710)는 테스트 데이터를 인공 신경망에 입력하여 결과 데이터를 획득하고, 결과 데이터와 가중치 데이터에 기초하여, 출력 데이터를 획득할 수 있다.
프로세서(710)는 가중치 데이터의 빈도수에 기초하여, 테스트 데이터에 대한 참 데이터 가중치를 계산하고, 가중치 데이터의 빈도수에 기초하여, 테스트 데이터에 대한 거짓 데이터 가중치를 계산할 수 있다.
프로세서(710)는 이 밖에도, 도 1 내지 도 6을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 프로세서(710)는 프로그램을 실행하고, 학습 장치(700)를 제어할 수 있다. 프로세서(710)에 의하여 실행되는 프로그램 코드는 메모리(750)에 저장될 수 있다.
통신 인터페이스(730)는 학습 장치(700)의 외부로부터 학습 데이터들을 수신할 수 있다. 또한, 통신 인터페이스(730)는 프로세서(710)가 생성한 추가 학습 데이터들을 학습 장치(700)의 외부로 전송할 수 있다.
메모리(750)는 통신 인터페이스(730)로부터 수신한 입력 데이터들을 저장할 수 있다. 메모리(750)는 프로세서(710)가 생성한 입력 데이터, 가중치 데이터, 출력 데이터, 결과 데이터들을 저장할 수 있다. 또한, 메모리(750)는 상술한 프로세서(710)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(750)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(750)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(750)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 컴퓨터로 구현되는 인공 신경망 학습 장치에 수행되는 인공 신경망 학습 방법에 있어서,
    상기 인공 신경망에 입력되는 입력 데이터들의 종류에 따른 각각의 빈도수 분포를 획득하는 단계;
    상기 각각의 빈도수 분포의 평판한 정도를 수치화하여 상기 입력 데이터들의 종류에 따른 평판도를 계산하는 단계;
    상기 평판도에 기초하여, 상기 입력 데이터들을 상기 인공 신경망의 학습에 이용되는 학습 데이터와 상기 인공 신경망의 출력 데이터에 대한 가중치로 이용되는 가중치 데이터로 분류하는 단계;
    상기 학습 데이터를 이용하여 상기 인공 신경망을 학습하는 단계; 및
    상기 가중치 데이터를 이용하여 상기 인공 신경망의 출력 데이터를 획득하는 단계
    를 포함하는 인공 신경망 학습 방법.
  2. 제1항에 있어서,
    상기 평판도를 계산하는 단계는
    상기 빈도수의 평균을 계산하는 단계;
    상기 빈도수의 평균과 상기 입력 데이터들의 차이를 계산하는 단계; 및
    상기 차이에 기초하여 상기 평판도를 계산하는 단계
    를 포함하는, 인공 신경망 학습 방법.
  3. 제1항에 있어서,
    상기 평판도를 계산하는 단계는
    상기 입력 데이터들의 종류에 따른 상기 빈도수의 분산을 계산하는 단계
    를 포함하는, 인공 신경망 학습 방법.
  4. 제1항에 있어서,
    상기 입력 데이터들을 상기 학습 데이터와 상기 가중치 데이터로 분류하는 단계는
    상기 평판도가 미리 정해진 임계치보다 클 경우, 상기 입력 데이터들을 상기 학습 데이터로 분류하는 단계; 및
    상기 평판도가 상기 미리 정해진 임계치보다 작을 경우, 상기 입력 데이터들을 상기 가중치 데이터로 분류하는 단계
    를 포함하는, 인공 신경망 학습 방법.
  5. 제1항에 있어서,
    테스트 데이터를 상기 인공 신경망에 입력하여 결과 데이터를 획득하는 단계; 및
    상기 결과 데이터와 상기 가중치 데이터에 기초하여, 상기 출력 데이터를 획득하는 단계
    를 더 포함하는, 인공 신경망 학습 방법.
  6. 제5항에 있어서,
    상기 출력 데이터를 획득하는 단계는
    상기 가중치 데이터와 상기 테스트 데이터에 기초하여, 가중치를 계산하는 단계; 및
    상기 가중치를 상기 결과 데이터에 곱하여 상기 출력 데이터를 획득하는 단계
    를 포함하는, 인공 신경망 학습 방법.
  7. 제6항에 있어서,
    상기 가중치를 계산하는 단계는
    상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 참 데이터 가중치를 계산하는 단계; 및
    상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 거짓 데이터 가중치를 계산하는 단계
    를 포함하는, 인공 신경망 학습 방법.
  8. 하드웨어와 결합되어 제1항 내지 제7항 중 어느 하나의 항의 방법이 컴퓨터에 의해 실행되도록 하는 기록매체에 저장된 컴퓨터 프로그램.
  9. 인공 신경망에 입력되는 입력 데이터들의 종류에 따른 빈도수 분포를 획득하고,
    상기 빈도수 분포의 평판한 정도를 수치화하여 상기 입력 데이터들의 종류에 따른 평판도를 계산하고,
    상기 평판도에 기초하여, 상기 입력 데이터들을 상기 인공 신경망의 학습에 이용되는 학습 데이터와 상기 인공 신경망의 출력 데이터에 대한 가중치로 이용되는 가중치 데이터로 분류하며,
    상기 학습 데이터를 이용하여 상기 인공 신경망을 학습하고,
    상기 가중치 데이터를 이용하여 상기 인공 신경망의 출력 데이터를 획득하는
    프로세서를 포함하는 인공 신경망 학습 장치.

  10. 제9항에 있어서,
    상기 프로세서는
    상기 빈도수의 평균을 계산하고,
    상기 빈도수의 평균과 상기 입력 데이터들의 차이를 계산하고,
    상기 차이에 기초하여 상기 평판도를 계산하는, 인공 신경망 학습 장치.
  11. 제9항에 있어서,
    상기 프로세서는
    상기 입력 데이터들의 종류에 따른 상기 빈도수의 분산을 계산하는, 인공 신경망 학습 장치.
  12. 제9항에 있어서,
    상기 프로세서는
    상기 평판도가 미리 정해진 임계치보다 클 경우, 상기 입력 데이터들을 상기 학습 데이터로 분류하고,
    상기 평판도가 미리 정해진 임계치보다 작을 경우, 상기 입력 데이터들을 상기 가중치 데이터로 분류하는, 인공 신경망 학습 장치.
  13. 제9항에 있어서,
    상기 프로세서는
    테스트 데이터를 상기 인공 신경망에 입력하여 결과 데이터를 획득하고,
    상기 결과 데이터와 상기 가중치 데이터에 기초하여, 상기 출력 데이터를 획득하는, 인공 신경망 학습 장치.
  14. 제13항에 있어서,
    상기 프로세서는
    상기 가중치 데이터와 상기 테스트 데이터에 기초하여, 가중치를 계산하고,
    상기 가중치를 상기 결과 데이터에 곱하여 상기 출력 데이터를 획득하는, 인공 신경망 학습 장치.
  15. 제14항에 있어서,
    상기 프로세서는
    상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 참 데이터 가중치를 계산하고,
    상기 가중치 데이터의 빈도수에 기초하여, 상기 테스트 데이터에 대한 거짓 데이터 가중치를 계산하는, 인공 신경망 학습 장치.
KR1020180160613A 2018-12-13 2018-12-13 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치 KR102209505B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180160613A KR102209505B1 (ko) 2018-12-13 2018-12-13 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180160613A KR102209505B1 (ko) 2018-12-13 2018-12-13 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200072717A KR20200072717A (ko) 2020-06-23
KR102209505B1 true KR102209505B1 (ko) 2021-02-01

Family

ID=71138121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180160613A KR102209505B1 (ko) 2018-12-13 2018-12-13 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102209505B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102449680B1 (ko) * 2020-08-12 2022-09-30 국방과학연구소 합성 개구면 레이더 영상에서 딥러닝을 기초로 표적과 클러터 구분을 위한 가중치 기반 간소화된 이진 분류 방법 및 그 장치
KR102639172B1 (ko) * 2021-11-25 2024-02-22 재단법인 대구경북과학기술원 효율적인 분류기를 식별하기 위한 전자 장치 및 이의 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182696A (ja) 2003-12-24 2005-07-07 Fuji Xerox Co Ltd 機械学習システム及び機械学習方法、並びにコンピュータ・プログラム
JP2016143094A (ja) 2015-01-29 2016-08-08 パナソニックIpマネジメント株式会社 転移学習装置、転移学習システム、転移学習方法およびプログラム
JP2016157196A (ja) * 2015-02-23 2016-09-01 Kddi株式会社 学習データ生成システム、学習データ生成方法およびプログラム
KR101782363B1 (ko) * 2016-05-23 2017-09-27 (주)에이앤아이 데이터 밸런싱을 통한 학습기반의 비전검사 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005182696A (ja) 2003-12-24 2005-07-07 Fuji Xerox Co Ltd 機械学習システム及び機械学習方法、並びにコンピュータ・プログラム
JP2016143094A (ja) 2015-01-29 2016-08-08 パナソニックIpマネジメント株式会社 転移学習装置、転移学習システム、転移学習方法およびプログラム
JP2016157196A (ja) * 2015-02-23 2016-09-01 Kddi株式会社 学習データ生成システム、学習データ生成方法およびプログラム
KR101782363B1 (ko) * 2016-05-23 2017-09-27 (주)에이앤아이 데이터 밸런싱을 통한 학습기반의 비전검사 방법

Also Published As

Publication number Publication date
KR20200072717A (ko) 2020-06-23

Similar Documents

Publication Publication Date Title
KR102167011B1 (ko) 샘플링 및 적응적으로 변경되는 임계치에 기초하여 뉴럴 네트워크를 학습하는데 이용되는 하드 네거티브 샘플을 추출하는 영상 학습 장치 및 상기 장치가 수행하는 방법
Einziger et al. Verifying robustness of gradient boosted models
US9276821B2 (en) Graphical representation of classification of workloads
US20200218985A1 (en) System and method for synthetic-model-based benchmarking of ai hardware
US20200042419A1 (en) System and method for benchmarking ai hardware using synthetic ai model
US11120297B2 (en) Segmentation of target areas in images
US20210374864A1 (en) Real-time time series prediction for anomaly detection
KR102209505B1 (ko) 데이터 빈도수 분석을 통한 인공지능 학습 방법 및 장치
JPWO2018207334A1 (ja) 画像認識装置、画像認識方法および画像認識プログラム
KR20200080921A (ko) 일반화된 사용자 모델을 이용한 사용자 인증 방법 및 장치
JP7469341B2 (ja) 非偏向分類のためのパラメータサイズ不変分類器を利用してデータを分類する方法およびシステム
US12032711B2 (en) System and method for controlling confidential information
US11507670B2 (en) Method for testing an artificial intelligence model using a substitute model
CN111104339B (zh) 基于多粒度学习的软件界面元素检测方法、***、计算机设备和存储介质
CN110941824B (zh) 一种基于对抗样本增强模型抗攻击能力的方法和***
CN111582647A (zh) 用户数据处理方法、装置及电子设备
US20230385690A1 (en) Computer-readable recording medium storing determination program, determination apparatus, and method of determining
KR20210073260A (ko) 맥파 데이터를 이용한 맥파 특성 추론 방법 및 장치
CN114202224B (zh) 用于检测生产环境中焊接质量的方法、设备、介质
KR20200041288A (ko) 게임 어뷰저 검출 방법 및 장치
KR102413588B1 (ko) 학습 데이터에 따른 객체 인식 모델 추천 방법, 시스템 및 컴퓨터 프로그램
KR20200057835A (ko) 군장비 수리부속 품목 수요예측을 위한 수요패턴 별 클러스터링 시스템 및 방법
US20170192485A1 (en) Providing a power optimized design for a device
KR20230122370A (ko) 상관관계 기반 다중 학습 프로젝트 선택 및 앙상블 학습을 통한 이종 결함 예측 방법 및 시스템
KR20210156538A (ko) 뉴럴 네트워크를 이용한 데이터 처리 방법 및 데이터 처리 장치

Legal Events

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