KR20200108912A - 학습 장치 및 학습 방법 - Google Patents

학습 장치 및 학습 방법 Download PDF

Info

Publication number
KR20200108912A
KR20200108912A KR1020207025875A KR20207025875A KR20200108912A KR 20200108912 A KR20200108912 A KR 20200108912A KR 1020207025875 A KR1020207025875 A KR 1020207025875A KR 20207025875 A KR20207025875 A KR 20207025875A KR 20200108912 A KR20200108912 A KR 20200108912A
Authority
KR
South Korea
Prior art keywords
learning
data
neural network
label
unit
Prior art date
Application number
KR1020207025875A
Other languages
English (en)
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 미쓰비시덴키 가부시키가이샤
Publication of KR20200108912A publication Critical patent/KR20200108912A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • 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

Landscapes

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

Abstract

학습부(10)가, 학습용 데이터의 요소마다 OK 라벨과 NG 라벨을 할당한 학습 기준 라벨에 기초하여, 학습용 데이터의 요소를 입력으로 해서 뉴럴 네트워크를 학습하고, NG 판정 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기를 출력한다. 동적 갱신부(11)는, 학습부(10)에 의한 뉴럴 네트워크의 학습의 도중에 학습 기준 라벨을 동적으로 갱신한다.

Description

학습 장치 및 학습 방법
이 발명은, 뉴럴 네트워크를 이용한 식별기(classifier)를 학습하는 학습 장치 및 학습 방법에 관한 것이다.
이상 검지를 행하기 위해서 사용되는 학습용 화상 데이터는, 일반적으로 화상 단위로 정상(이하, OK라고 기재함)인지, 이상(異常)(이하, NG라고 기재함)인지가 판정되고 있는 경우가 많다.
한편, NG라고 판정된 학습용 화상 데이터에 있어서, NG 요소가 있는 화상 영역은 국소적인 것이 많고, 대부분의 영역은, OK라고 판정된 학습용 화상 데이터와 국소적으로는 변함없다.
종래부터, 복수의 요소로 구성된 학습용 데이터에 대해서 요소마다 OK 또는 NG가 판정된 학습용 데이터를 사용하는 기계 학습이 있다.
예를 들면, 특허문헌 1에는, 입력 화상을 복수의 화상 영역로 분할하고, 분할한 화상 영역마다 전경과 배경을 구별하는 라벨을 부여하는 기술이 기재되어 있다. 이 기술에서는, 전경 또는 배경이 확정되어 있는 라벨이 부여된 화상 영역으로부터의 연속성에 기초하여, 불확정의 라벨이 부여된 픽셀이 전경인지 배경인지가 추정된다.
일본 특허공개 2012-208913호 공보
화상, 동영상 또는 다차원 데이터에 대해서 기계 학습에 의해서 OK와 NG를 식별하는 경우, 학습용 데이터에는, 사람 손에 의해서 OK 또는 NG가 판정된 데이터가 제공되는 것이 많다. 단, 학습용 데이터를 구성하는 모든 요소가 NG인 것은 적고, 불특정의 요소만으로부터 NG라고 판정되고 있는 경우가 많다. 이와 같은 학습용 데이터를 이용하면, 본래는 OK인 요소를 NG로 잘못 학습하게 되어, 학습 결과의 식별기의 식별 정밀도가 저하된다는 과제가 있었다.
이 발명은 상기 과제를 해결하는 것이고, 고정밀도의 식별을 행하는 식별기를 제공할 수 있는 학습 장치 및 학습 방법을 얻는 것을 목적으로 한다.
이 발명에 따른 학습 장치는, 학습부 및 동적 갱신부를 구비한다. 학습부는, 복수의 요소로 구성된 학습용 데이터와, 그룹에 속하는 데이터의 적어도 1개가 NG라고 판정되는 것이 정의된 그룹 정보를 입력하고, 학습용 데이터의 요소마다 OK 라벨 또는 NG 라벨이 할당된 학습 기준 라벨을 이용하고, 학습용 데이터의 복수의 요소를 입력으로 해서 뉴럴 네트워크를 학습하는 것에 의해, 학습 결과의 뉴럴 네트워크를 이용해서 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기를 출력한다. 동적 갱신부는, 학습부에 의한 뉴럴 네트워크의 학습의 도중에 학습 기준 라벨을 동적으로 갱신한다. 이 구성에 있어서, 학습부는, 학습용 데이터 및 그룹 정보를 이용해서 학습용 데이터의 요소마다의 학습 기준 라벨의 초기값을 생성하고, 학습 기준 라벨의 초기값으로부터 동적 갱신부에 의해서 갱신된 학습 기준 라벨을 축차 이용해서 뉴럴 네트워크를 반복해서 학습하고, 학습의 반복마다의 뉴럴 네트워크의 출력값을 이용해서, 학습용 데이터의 요소가 NG가 될 수 있는 NG 지표값을 산출한다. 동적 갱신부는, 학습의 반복 횟수의 추이마다 얻어진 NG 지표값의 변화 경향을 통계적으로 검정한 결과에 기초하여 학습 기준 라벨을 갱신한다.
이 발명에 의하면, 학습 장치는, 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 것에 의해 고정밀도의 식별을 행하는 식별기를 제공할 수 있다.
도 1은 이 발명의 실시형태 1에 따른 학습 장치의 구성을 나타내는 블럭도이다.
도 2는 실시형태 1에 따른 학습 장치의 상세한 구성을 나타내는 블럭도이다.
도 3은 학습용 데이터 DB의 내용의 일례를 나타내는 도면이다.
도 4는 NG 판정 그룹 DB의 내용의 일례를 나타내는 도면이다.
도 5는 학습 기준 라벨 버퍼의 내용의 일례를 나타내는 도면이다.
도 6은 뉴럴 네트워크의 구성의 일례를 나타내는 도면이다.
도 7은 NG 지표값 버퍼의 내용의 일례를 나타내는 도면이다.
도 8은 이력 버퍼의 내용의 일례를 나타내는 도면이다.
도 9는 NG 후보 버퍼의 내용의 일례를 나타내는 도면이다.
도 10a는, 실시형태 1에 따른 학습 장치의 기능을 실현하는 하드웨어 구성을 나타내는 블럭도이다. 도 10b는, 실시형태 1에 따른 학습 장치의 기능을 실현하는 소프트웨어를 실행하는 하드웨어 구성을 나타내는 블럭도이다.
도 11은 실시형태 1에 따른 학습 방법을 나타내는 플로 차트이다.
도 12는 학습 기준 라벨 생성 처리를 나타내는 플로 차트이다.
도 13은 뉴럴 네트워크 관리 처리를 나타내는 플로 차트이다.
도 14는 NG 지표값의 이력 관리 처리를 나타내는 플로 차트이다.
도 15는 NG 지표값의 통계적 검정 처리를 나타내는 플로 차트이다.
도 16은 학습 기준 라벨 갱신 처리를 나타내는 플로 차트이다.
도 17은 뉴럴 네트워크 파라미터 갱신 처리를 나타내는 플로 차트이다.
이하, 이 발명을 보다 상세하게 설명하기 위해, 이 발명을 실시하기 위한 형태에 대해서, 첨부의 도면에 따라서 설명한다.
실시형태 1.
도 1은, 이 발명의 실시형태 1에 따른 학습 장치(1)의 구성을 나타내는 블럭도이다.
학습 장치(1)는, 학습용 데이터 데이터베이스(이하, 학습용 데이터 DB라고 기재함)(2)로부터 입력한 학습용 데이터와 NG 판정 그룹 데이터베이스(이하, NG 판정 그룹 DB라고 기재함)(3)로부터 입력한 NG 판정 그룹 정보를 이용하고, 뉴럴 네트워크 초기 파라미터를 갱신해 가는 것에 의해, 학습 결과의 식별기를 부여하는 뉴럴 네트워크 파라미터를 생성한다.
학습용 데이터 DB(2)에 저장된 학습용 데이터는, 복수의 요소로 구성된 데이터이다. 예를 들면, 학습용 데이터가 화상 데이터인 경우, 이 화상 데이터가 나타내는 화상을 복수로 분할한 개개의 화상 영역이 요소이다. NG 판정 그룹 DB(3)에 저장된 NG 판정 그룹 정보는, NG 판정 그룹에 속하는 데이터의 적어도 1개가 NG라고 판정되는 것이 정의된 정보이다.
학습 장치(1)는, 학습부(10) 및 동적 갱신부(11)를 구비한다. 학습부(10)는, 학습용 데이터 DB(2)로부터 학습용 데이터를 입력하고, NG 판정 그룹 DB(3)로부터 NG 판정 그룹 정보를 입력하고, 학습용 데이터의 요소마다의 학습 기준 라벨을 이용하고, 학습용 데이터의 복수의 요소를 입력으로 해서, 뉴럴 네트워크를 학습한다. 학습 기준 라벨은, 학습용 데이터의 요소마다 OK 라벨 또는 NG 라벨이 할당된 정보이다. 학습부(10)는, NG 판정 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기를 부여하는 뉴럴 네트워크 파라미터를 출력한다.
또, 학습부(10)는, 학습용 데이터 및 NG 판정 그룹 정보를 이용해서 학습용 데이터의 요소마다의 학습 기준 라벨의 초기값을 생성하고, 학습 기준 라벨의 초기값으로부터, 동적 갱신부(11)에 의해서 동적으로 갱신된 학습 기준 라벨을 축차 이용해서 뉴럴 네트워크를 반복해서 학습한다. 학습의 반복마다의 뉴럴 네트워크의 출력값을 이용해서, 학습부(10)는, 학습용 데이터의 요소가 NG가 될 수 있는 지표값(이하, NG 지표값이라고 기재함)을 산출한다.
동적 갱신부(11)는, 학습부(10)에 의한 뉴럴 네트워크의 학습의 도중에 학습 기준 라벨을 동적으로 갱신한다. 구체적으로는, 동적 갱신부(11)는, 학습의 반복 횟수의 추이마다 얻어진 NG 지표값의 변화 경향을 통계적으로 검정하고, 통계적 검정 결과에 기초하여 학습 기준 라벨을 갱신한다. 동적 갱신부(11)는, NG 지표값의 변화 경향의 통계적 검정 결과를 이용하는 것에 의해, 학습 기준 라벨에 있어서 본래는 OK인 요소에 할당된 NG 라벨을 OK 라벨로 갱신한다.
도 2는, 실시형태 1에 따른 학습 장치(1)의 상세한 구성을 나타내는 블럭도이다. 도 2에 나타내는 바와 같이, 학습부(10)는, 학습 기준 라벨 버퍼(10a), 학습 기준 라벨 생성부(10b), 뉴럴 네트워크 관리부(10c), 뉴럴 네트워크 갱신부(10d) 및 NG 지표값 버퍼(10e)를 구비한다. 동적 갱신부(11)는, 이력 버퍼(11a), NG 후보 버퍼(11b), 이력 관리부(11c), 검정부(11d) 및 학습 기준 라벨 갱신부(11e)를 구비한다.
뉴럴 네트워크 초기 파라미터는, 뉴럴 네트워크의 초기 상태를 정의하는 파라미터이다. 예를 들면, 뉴럴 네트워크 초기 파라미터에는, 뉴럴 네트워크에 있어서의 숨겨진 유닛의 노드수, 노드간에 부여된 가중 파라미터(weight parameter), 바이어스 파라미터 및 학습률 파라미터의 초기값이 포함된다. 이들 파라미터는, 하기의 참고 문헌 1에 기재된 파라미터이다. 학습 장치(1)는, 뉴럴 네트워크 초기 파라미터를 갱신함으로써, NG 판정 그룹에 속하는 데이터의 적어도 1개를 이상으로 판정하는 식별기를 부여하는 뉴럴 네트워크 파라미터가 생성된다.
(참고 문헌 1) C. M. 비숍, 모토다 히로시(감역), "패턴 인식과 기계 학습 상", 마루젠 출판, pp. 225-247.
학습용 데이터 DB(2)에는, 복수의 요소로 구성된 학습용 데이터가 저장되어 있다. 도 3은, 학습용 데이터 DB(2)의 내용의 일례를 나타내는 도면이다. 도 3에 있어서, 학습용 데이터는, "데이터 ID"로 식별되는 복수의 요소로 구성되어 있고, 복수의 요소의 각각은, "데이터값 계열"로 구성되어 있다. 예를 들면, 도 3에는, 어느 학습용 데이터를 구성하는 데이터 ID가 D0001의 요소, 데이터 ID가 D0002의 요소, 데이터 ID가 D0003의 요소, 데이터 ID가 D0004의 요소, …가 기재되어 있다.
NG 판정 그룹 DB(3)에는, NG 판정 그룹의 식별 정보와, NG 판정 그룹에 속하는 학습용 데이터의 요소의 식별 정보로 구성된 NG 판정 그룹 정보가 저장되어 있다. 도 4는, NG 판정 그룹 DB(3)의 내용의 일례를 나타내는 도면이다. 학습용 데이터를 구성하는 복수의 요소의 각각은, 도 3과 마찬가지로, "데이터 ID"로 식별된다. NG 판정 그룹은, "NG 판정 그룹 ID"로 식별된다. 예를 들면, 데이터 ID가 D0001의 요소, 데이터 ID가 D0002의 요소, 데이터 ID가 D0004의 요소는, NG 판정 그룹 ID가 G001의 NG 판정 그룹에 속하고 있고, 이들의 요소 중 적어도 1개가 NG라고 판정된다.
학습 기준 라벨 버퍼(10a)에는, 학습용 데이터의 요소마다의 학습 기준 라벨이 저장되어 있다. 도 5는, 학습 기준 라벨 버퍼(10a)의 내용의 일례를 나타내는 도면이다. 학습 기준 라벨 정보는, 도 5에 나타내는 바와 같이, 학습용 데이터의 요소의 데이터 ID, OK 플래그 및 NG 플래그를 갖고 있다. 학습용 데이터를 구성하는 복수의 요소의 각각은, 도 3과 마찬가지로, "데이터 ID"로 식별된다. OK 라벨이 할당된 요소에서는, 이 요소에 대응하는 OK 플래그에 값 1이 설정되고, 이 요소에 대응하는 NG 플래그에 값 0이 설정된다. 반대로, NG 라벨이 할당된 요소에서는, 이 요소에 대응하는 OK 플래그에 값 0이 설정되고, 이 요소에 대응하는 NG 플래그에 값 1이 설정된다.
학습 기준 라벨 생성부(10b)는, 학습용 데이터가, NG 판정 그룹에 속하는지 여부의 판정 결과에 기초하여, 학습 기준 라벨의 초기값을 생성한다. 예를 들면, 학습 기준 라벨 생성부(10b)는, 학습용 데이터 DB(2)에 등록되어 있는 요소의 데이터 ID 중, NG 판정 그룹 DB(3)에 있어서의 NG 판정 그룹에 속하는 요소와 동일한 데이터 ID가 존재하는지 여부를 판정한다. NG 판정 그룹에 속하는 요소와 동일한 데이터 ID라고 판정한 경우에, 학습 기준 라벨 생성부(10b)는, 이 요소에 대응하는 OK 플래그에 값 0을 설정하고, NG 플래그에 값 1을 설정한 학습 기준 라벨을 생성하고, 학습 기준 라벨 버퍼(10a)에 저장한다.
뉴럴 네트워크 관리부(10c)는, 학습용 데이터 DB(2)에 저장된 데이터 ID에 대응하는 요소를, 학습 기준 라벨 버퍼(10a)에 있어서의, 상기 데이터 ID에 대응하는 OK 플래그 및 NG 플래그 중, 값이 1의 플래그에 대응하는 클래스(OK 클래스 또는 NG 클래스)로 배분하는 뉴럴 네트워크의 학습을 관리한다.
도 6은, 뉴럴 네트워크의 구성의 일례를 나타내는 도면이다. 도 6에 나타내는 바와 같이, 뉴럴 네트워크는, 입력층, 은닉층 및 출력층으로 구성된다. 학습용 데이터의 요소를 구성하는 데이터값 계열 x1, x2, …, xN이 입력층에 입력되면, 입력층의 노드와 은닉층의 노드의 사이의 가중 파라미터와 x1, x2, …, xN의 승산합(multiplication sum)을 비선형 변환한 z1, z2, …, zM이 산출된다. 계속해서, 은닉층의 노드와 출력층의 노드의 사이의 가중 파라미터와 z1, z2, …, zM의 승산합을 비선형 변환한 y1, y2가 출력층으로부터 출력된다.
출력값 y1, y2는, 클래스마다의 NG 평가값이며, 출력값 y1은, 요소가 OK 클래스에 속하는 정도를 나타내고, 출력값 y2는, 요소가 NG 클래스에 속하는 정도를 나타내고 있다. 뉴럴 네트워크에 입력된 요소(데이터값 계열)는, y1>y2일 때, OK 클래스에 속한다고 판정되고, y1≤y2일 때에, NG 클래스에 속한다고 판정된다. NG 지표값은, 분모가 0이 되지 않도록 보정한 y2와 y1의 비율이어도 되지만, 이하에서는, y2-y1을 NG 지표값으로 한다.
한편, 도 6에 있어서, 은닉층이 1층의 뉴럴 네트워크를 나타냈지만, 뉴럴 네트워크 관리부(10c)에 의해서 관리되는 뉴럴 네트워크는, 은닉층이 복수층의 뉴럴 네트워크여도 된다.
뉴럴 네트워크 갱신부(10d)는, 뉴럴 네트워크 관리부(10c)에 의해 얻어진 NG 지표값에 기초하여, 뉴럴 네트워크 파라미터를 갱신함으로써, 학습 결과의 식별기를 부여하는 뉴럴 네트워크 파라미터를 출력한다. 예를 들면, 뉴럴 네트워크 갱신부(10d)는, 참고 문헌 1에 기재된 파라미터 최적화 방법을 이용하고, 뉴럴 네트워크 파라미터를 갱신한다. 뉴럴 네트워크 갱신부(10d)는, 학습의 반복 횟수가 임계값에 도달했는지, 또는 학습의 종료 조건이 충족된 경우에, 그 단계에서 최적화해서 갱신된 뉴럴 네트워크 파라미터를 학습 장치(1)의 외부에 출력한다.
NG 지표값 버퍼(10e)에는, 뉴럴 네트워크의 학습 반복의 과정에서 얻어진 학습용 데이터의 요소마다의 NG 지표값이 저장되어 있다. 도 7은, NG 지표값 버퍼(10e)의 내용의 일례를 나타내는 도면이다. NG 지표값 버퍼(10e)에는, 학습용 데이터의 요소의 데이터 ID와, 이 요소의 NG 지표값 중, 뉴럴 네트워크 관리부(10c)에 의해 산출된 시점의 NG 지표값이 설정된다.
이력 버퍼(11a)에는, 학습의 반복 횟수 및 이에 대응하는 NG 지표값이, 학습용 데이터의 요소마다 저장되어 있다. 도 8은, 이력 버퍼(11a)의 내용의 일례를 나타내는 도면이다. 이력 버퍼(11a)에는, 학습 반복 횟수가 1회, 100회 및 200회일 때의 NG 지표값이 설정되어 있다. 예를 들면, 데이터 ID가 D0001의 요소에서는, 학습 반복 횟수가 1회일 때 얻어진 NG 지표값이 0.55이고, 학습 반복 횟수가 100회일 때 얻어진 NG 지표값이 0.35이며, 학습 반복 횟수가 200회일 때 얻어진 NG 지표값이 0.12이다.
NG 후보 버퍼(11b)에는, 학습 반복 횟수, NG 후보 레벨, OK 확정 플래그 및 NG 확정 플래그가 학습용 데이터의 요소마다 저장되어 있다. 도 9는, NG 후보 버퍼(11b)의 내용의 일례를 나타내는 도면이다. NG 후보 버퍼(11b)에는, 도 9에 나타내는 바와 같이, 학습용 데이터의 요소의 데이터 ID, NG 후보 레벨, OK 확정 플래그 및 NG 확정 플래그가 설정된다. NG 후보 레벨은, NG 지표값이 과거에 취한 값에 따라서 변화한다.
NG 후보는, 학습 기준 라벨로 NG 라벨이 할당된 요소이며, NG 후보 레벨은, NG 후보의 요소에 대응하는 NG 지표값에 따른 레벨이 된다.
OK 확정 플래그는, 요소가 OK로 확정된 것을 나타내는 플래그이다. 예를 들면, OK 확정 플래그에 값 0이 설정되어 있으면, 이 OK 확정 플래그에 대응하는 요소가 OK로 확정되어 있지 않은 것을 나타내고 있고, 값 1이 설정된 경우, 이 OK 확정 플래그에 대응하는 요소가 OK로 확정된 것을 나타내고 있다. 한편, NG 확정 플래그는, 요소가 NG로 확정된 것을 나타내는 플래그이다. 예를 들면, NG 확정 플래그에 값 0이 설정되어 있으면, 이 NG 확정 플래그에 대응하는 요소가 NG로 확정되어 있지 않은 것을 나타내고 있고, 값 1이 설정된 경우, 이 NG 확정 플래그에 대응하는 요소가 NG로 확정된 것을 나타내고 있다.
이력 관리부(11c)는, 학습의 반복마다 얻어진 학습용 데이터의 요소마다의 NG 지표값을 이력 버퍼(11a)에 저장한다. 예를 들면, 이력 관리부(11c)는, NG 지표값 버퍼(10e)에 저장된 NG 지표값을, 그 시점에서의 학습 반복 횟수와 함께 이력 버퍼(11a)에 저장한다. 이에 의해, 이력 버퍼(11a)에는, 사전에 설정된 학습 반복 횟수(도 8의 예에서는 1회, 100회, 200회)로 얻어진 NG 지표값이 저장된다.
검정부(11d)는, 이력 버퍼(11a)에 저장된 NG 지표값의 변화 경향을 통계적으로 검정하고, 이 통계적 검정 결과에 기초하여, NG 후보 버퍼(11b)의 내용을 학습용 데이터의 요소마다 갱신한다. 예를 들면, 검정부(11d)는, 이력 버퍼(11a)로부터, 처리 대상의 요소에 대응하는, 학습 반복 횟수의 추이마다의 NG 지표값의 시계열을 추출한다. 다음으로, 검정부(11d)는, 이력 버퍼(11a)로부터 추출한 NG 지표값의 시계열을 통계적으로 검정하고, NG 지표값의 변화 경향을 확인한다.
검정부(11d)는, NG 지표값의 시계열에 대해서 무규칙성의 검체를 행한다. 무규칙성의 검정에 의해서 NG 지표값의 변화에 규칙성이 없다고 확인된 경우, 검정부(11d)는, 이 요소를 NG 후보 그대로 한다. 규칙성이 있다고 확인된 경우, 검정부(11d)는, NG 지표값의 시계열에 대해서 경향성의 검정(trend test)을 행한다. 경향성의 검정에 의해서 NG 지표값이 상승 경향이다고 확인되면, 검정부(11d)는, 이 요소를 NG 후보 그대로 한다.
검정부(11d)는, NG 지표값의 시계열에 규칙성이 있고, 또한 상승 경향이 확인되면, 이 요소를 NG 확정이라고 판단해서, NG 후보 버퍼(11b)에 있어서의, 이 요소에 대응하는 NG 확정 플래그에 값 1을 설정한다. 한편, 검정부(11d)는, NG 지표값의 시계열에 규칙성이 있고, 또한 하강 경향이 확인되면, 이 요소를 OK 확정이라고 판단해서, NG 후보 버퍼(11b)에 있어서의, 이 요소에 대응하는 OK 확정 플래그에 값 1을 설정한다.
무규칙성의 검정 및 경향성의 검정의 방법으로서, 하기의 참고 문헌 2에 기재된 검정 방법을 사용해도 된다.
(참고 문헌 2) 무토 신스케 저술, "통계 해석 핸드북", 아사쿠라 서점, pp. 398-399, 402-403.
학습 기준 라벨 갱신부(11e)는, 검정부(11d)에 의해서 OK로 확정된 학습용 데이터의 요소의 학습 기준 라벨을, NG 라벨로부터 OK 라벨로 갱신한다. 예를 들면, 학습 기준 라벨 갱신부(11e)는, 학습용 데이터의 요소가 검정부(11d)에 의해서 OK 확정된 경우, 이 요소에 대응하는 학습 기준 라벨에 있어서의 OK 플래그에 값 1을 설정하고, NG 플래그에 값 0을 설정한다.
학습 장치(1)에 있어서의 학습부(10) 및 동적 갱신부(11)의 기능은, 처리 회로에 의해서 실현된다. 즉, 학습 장치(1)는, 후술하는 도 11에 있어서의 스텝 ST1부터 스텝 ST5까지의 처리를 실행하기 위한 처리 회로를 구비하고 있다. 이 처리 회로는, 전용의 하드웨어여도 되지만, 메모리에 기억된 프로그램을 실행하는 CPU(Central Processing Unit)여도 된다.
도 10a는, 학습 장치(1)의 기능을 실현하는 하드웨어 구성을 나타내는 블럭도이다. 도 10b는, 학습 장치(1)의 기능을 실현하는 소프트웨어를 실행하는 하드웨어 구성을 나타내는 블럭도이다. 도 10a 및 도 10b에 있어서, 정보 입력 인터페이스(100)는, 도시하지 않은 외부 장치로부터, 도 1 및 도 2에 나타낸 학습 장치(1)에의 정보의 입력을 중계하는 인터페이스이다. 예를 들면, 도 2에 나타낸 뉴럴 네트워크 관리부(10c)는, 정보 입력 인터페이스(100)를 통해서, 뉴럴 네트워크 초기 파라미터를 외부 장치로부터 입력한다. 외부 장치는, 학습 장치(1)와는 독립해서 마련된 기억 장치여도 된다. 예를 들면, 학습 장치(1)는, 클라우드 상에 존재하는 기억 장치를 이용해도 된다.
DB 입출력 인터페이스(101)는, 학습 장치(1)와 데이터베이스(102)의 사이의 데이터의 교환을 중계하는 인터페이스이다. 데이터베이스(102)는, 도 1 및 도 2에 나타낸 학습용 데이터 DB(2) 및 NG 판정 그룹 DB(3)이다. 예를 들면, 학습부(10)가 구비하는 학습 기준 라벨 생성부(10b)는, DB 입출력 인터페이스(101)를 통해서, 학습용 데이터 DB(2) 및 NG 판정 그룹 DB(3)로부터 데이터를 입력한다. 한편, 데이터베이스(102)는, 학습 장치(1)와는 독립해서 마련된 기억 장치에 구축되어도 된다. 예를 들면, 학습 장치(1)는, DB 입출력 인터페이스(101)를 통해서, 클라우드에 존재하는 기억 장치에 구축된 데이터베이스(102)로부터 데이터를 입력한다.
도 2에 나타낸 학습 기준 라벨 버퍼(10a), NG 지표값 버퍼(10e), 이력 버퍼(11a) 및 NG 후보 버퍼(11b)는, 도 10a에 나타내는 처리 회로(104)에 내장된 메모리에 구축되거나, 또는, 도 10b에 나타내는 메모리(106)에 구축된다. 정보 출력 인터페이스(103)는, 학습 장치(1)로부터 도시하지 않은 외부 장치에의 정보의 출력을 중계하는 인터페이스이다. 예를 들면, 도 2에 나타낸 뉴럴 네트워크 갱신부(10d)는, 정보 출력 인터페이스(103)를 통해서, 뉴럴 네트워크 파라미터를 외부 장치에 출력한다. 외부 장치는, 예를 들면, 뉴럴 네트워크 파라미터가 부여하는 식별기를 이용하는 이상 검지 장치를 들 수 있다.
상기 처리 회로가 도 10a에 나타내는 전용의 하드웨어의 처리 회로(104)인 경우, 처리 회로(104)는, 예를 들면, 단일 회로, 복합 회로, 프로그램화한 프로세서, 병렬 프로그램화한 프로세서, ASIC(Application Specific Integrated Circuit), FPGA(Field-Programmable Gate Array), 또는, 이들을 조합한 것이 해당한다. 학습 장치(1)에 있어서의 학습부(10) 및 동적 갱신부(11)의 기능을 각각의 처리 회로로 실현해도 되고, 이들의 기능을 모아서 1개의 처리 회로로 실현해도 된다.
상기 처리 회로가 도 10b에 나타내는 프로세서(105)인 경우, 학습 장치(1)에 있어서의 학습부(10) 및 동적 갱신부(11)의 기능은, 소프트웨어, 펌웨어 또는 소프트웨어와 펌웨어의 조합에 의해서 실현된다. 한편, 소프트웨어 또는 펌웨어는, 프로그램으로서 기술(記述)되어서 메모리(106)에 기억된다.
프로세서(105)는, 메모리(106)에 기억된 프로그램을 읽어내어서 실행하는 것에 의해, 학습 장치(1)에 있어서의 학습부(10) 및 동적 갱신부(11)의 기능을 실현한다.
즉, 학습 장치(1)는, 프로세서(105)에 의해서 실행될 때, 도 11에 나타내는 스텝 ST1부터 스텝 ST5까지의 처리가 결과적으로 실행되는 프로그램을 기억하기 위한 메모리(106)를 구비한다. 이들의 프로그램은, 학습부(10) 및 동적 갱신부(11)의 순서 또는 방법을 컴퓨터로 하여금 실행하게 한다. 메모리(106)는, 컴퓨터를, 학습부(10) 및 동적 갱신부(11)로서 기능하게 하기 위한 프로그램이 기억된 컴퓨터 판독 가능한 기억 매체여도 된다.
메모리(106)에는, 예를 들면, RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리, EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically-EPROM) 등의 불휘발성 또는 휘발성의 반도체 메모리, 자기 디스크, 플렉시블 디스크, 광 디스크, 콤팩트 디스크, 미니 디스크, DVD 등이 해당한다.
학습부(10) 및 동적 갱신부(11)의 기능에 대해서 일부를 전용의 하드웨어로 실현하고, 일부를 소프트웨어 또는 펌웨어로 실현해도 된다. 예를 들면, 학습부(10)는, 전용의 하드웨어인 처리 회로로 기능을 실현하고, 동적 갱신부(11)는, 프로세서(105)가 메모리(106)에 기억된 프로그램을 읽어내어서 실행하는 것에 의해 기능을 실현한다. 이와 같이, 처리 회로는, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합에 의해 상기 기능을 실현할 수 있다.
다음으로 동작에 대해서 설명한다.
도 11은, 실시형태 1에 따른 학습 방법을 나타내는 플로 차트이다.
스텝 ST1에 있어서, 학습 기준 라벨 생성부(10b)가, 학습용 데이터의 복수의 요소 중, NG 판정 그룹에 속하는 요소에 대응하는 OK 플래그에 값 0을 설정하고, NG 플래그에 값 1을 설정하는 것에 의해, 학습용 데이터의 요소마다의 학습 기준 라벨을 생성한다. 또, 뉴럴 네트워크 관리부(10c)는, 뉴럴 네트워크 초기 파라미터를 이용하고, 초기 상태의 뉴럴 네트워크를 구축한다.
스텝 ST2에 있어서, 뉴럴 네트워크 관리부(10c)는, 뉴럴 네트워크에 학습용 데이터의 요소를 입력하고, 뉴럴 네트워크의 출력 결과에 기초하여, 요소마다의 NG 지표값을 산출한다. 다음으로, 뉴럴 네트워크 관리부(10c)는, NG 지표값에 기초하여, 대상의 요소가 OK 클래스 및 NG 클래스의 어느 것에 속하는지를 판정한다. 계속해서, 뉴럴 네트워크 관리부(10c)는, 대상의 요소에 대응하는 학습 기준 라벨의 초기값 및 동적 갱신부(11)에 의해서 갱신된 학습 기준 라벨과, 판정한 클래스를, 오차 함수를 이용해서 오차 평가한다. 오차 함수에는, 참고 문헌 1에 기재된 함수를 이용해도 된다. 또, 이력 관리부(11c)는, 학습이 반복할 때마다 얻어진 NG 지표값을 이력 버퍼(11a)에 저장한다.
스텝 ST3에 있어서, 검정부(11d)는, 이력 버퍼(11a)에 저장된 NG 지표값의 변화 경향을 통계적으로 검정한 결과에 기초하여, NG 후보의 요소에 대해서, OK 또는 NG로 확정해야 할지 평가한다. 학습 기준 라벨 갱신부(11e)는, 검정부(11d)에 의한 평가 결과에 기초하여, 학습 기준 라벨을 갱신한다. 예를 들면, 학습 기준 라벨 갱신부(11e)는, 검정부(11d)에 의해서 OK로 확정된 요소에 대응하는 학습 기준 라벨을 NG 라벨로부터 OK 라벨로 갱신한다.
스텝 ST4에 있어서, 뉴럴 네트워크 갱신부(10d)는, 뉴럴 네트워크 관리부(10c)에 의해 얻어진 NG 지표값에 기초하여, 뉴럴 네트워크 파라미터를 갱신한다. 스텝 ST2부터 스텝 ST4까지의 일련의 학습 처리는, 학습용 데이터를 구성하는 복수의 요소의 각각에 대해서 반복해서 행해진다.
학습의 반복이 종료되면, 뉴럴 네트워크 갱신부(10d)는, 전술한 일련의 학습으로 갱신한 뉴럴 네트워크 파라미터를, 학습 결과로서 출력한다(스텝 ST5).
다음으로, 학습 기준 라벨 생성 처리에 대해서 상세하게 설명한다.
도 12는, 학습 기준 라벨 생성 처리를 나타내는 플로 차트로서, 학습 기준 라벨의 초기값을 생성하는 처리를 나타내고 있다.
학습 기준 라벨 생성부(10b)는, 학습용 데이터 DB(2)에 등록되어 있는 학습용 데이터의 요소마다의 데이터 ID를 순차적으로 읽어내어서 이후의 처리를 실행한다.
학습 기준 라벨 생성부(10b)는, 학습용 데이터 DB(2)로부터 읽어낸 요소의 데이터 ID 중, NG 판정 그룹 DB(3)에 등록되어 있는 NG 판정 그룹에 속하는 요소의 데이터 ID와 동일한 데이터 ID가 있는지 여부를 판정한다(스텝 ST1a).
대상의 요소의 데이터 ID가 NG 판정 그룹에 속하는 요소의 데이터 ID와 동일하다고 판정한 경우(스텝 ST1a; YES), 학습 기준 라벨 생성부(10b)는, 대상의 요소에 대응하는 OK 플래그에 값 0을 설정하고, NG 플래그에는 값 1을 설정한다(스텝 ST2a). 한편, 대상의 요소의 데이터 ID가 NG 판정 그룹에 속하는 요소의 데이터 ID와는 상이하다고 판정한 경우(스텝 ST1a; NO), 학습 기준 라벨 생성부(10b)는, 대상의 요소에 대응하는 OK 플래그에 값 1을 설정하고, NG 플래그에는 값 0을 설정한다(스텝 ST3a).
학습 기준 라벨 생성부(10b)는, 대상의 요소에 대응하는 OK 플래그 및 NG 플래그에 값을 설정하면, 대상의 요소의 데이터 ID와 OK 플래그 및 NG 플래그의 값을, 학습 기준 라벨 버퍼(10a)에 저장한다(스텝 ST4a).
학습 기준 라벨 생성부(10b)는, 스텝 ST1a부터 스텝 ST4a까지의 일련의 처리를, 학습용 데이터 DB(2)에 등록되어 있는 학습용 데이터의 모든 요소에 대해서 반복하여 실행한다. 이 처리에 의해 학습 기준 라벨의 초기값이 생성된다.
다음으로, 뉴럴 네트워크 관리 처리에 대해서 상세하게 설명한다.
도 13은, 뉴럴 네트워크 관리 처리를 나타내는 플로 차트이며, 요소마다의 NG 지표값을 산출하는 처리를 나타내고 있다.
초회 처리에 있어서, 뉴럴 네트워크 관리부(10c)는, 뉴럴 네트워크 초기 파라미터에 기초하여, 초기 상태의 뉴럴 네트워크를 구축한다(스텝 ST1b).
다음으로, 뉴럴 네트워크 관리부(10c)는, 학습용 데이터 DB(2)로부터 읽어내어진 학습용 데이터의 요소(데이터값 계열 Di)를 뉴럴 네트워크에 입력하고, 출력층에서 산출되는 출력값 y1_i 및 y2_i를 얻는다(스텝 ST2b). 출력값 y1_i는, 전술한 바와 같이, 요소가 OK 클래스에 속하는 정도를 나타내고, 출력값 y2_i는, 요소가 NG 클래스에 속하는 정도를 나타내고 있다. 뉴럴 네트워크에 입력된 요소(데이터값 계열 Di)는, y1_i>y2_i일 때, OK 클래스에 속한다고 판정되고, y1_i≤y2_i일 때에, NG 클래스에 속한다고 판정된다. 뉴럴 네트워크 관리부(10c)는, 판정한 클래스와 학습 기준 라벨을 오차 평가한다.
스텝 ST3b에 있어서, 뉴럴 네트워크 관리부(10c)는, NG 지표값 NGEi로서 y2_i-y1_i를 산출하고, 산출한 NG 지표값 NGEi를, 이에 대응하는 요소의 데이터 ID와 함께 NG 지표값 버퍼(10e)에 저장한다.
한편, y2_i-y1_i를 NGEi로 했지만, y1_i 및 y2_i의 비율을 NGEi로 해도 되고, y1_i 및 y2_i의 분포를 고려한 거리를 NGEi로 해도 된다.
뉴럴 네트워크 관리부(10c)는, 스텝 ST2b부터 스텝 ST3b까지의 일련의 처리를, 학습용 데이터 DB(2)에 등록되어 있는 학습용 데이터의 모든 요소에 대해서 반복하여 실행한다.
다음으로, NG 지표값의 이력 관리 처리에 대해서 상세하게 설명한다.
도 14는, NG 지표값의 이력 관리 처리를 나타내는 플로 차트이다.
우선, 이력 관리부(11c)는, 학습 반복 횟수가 일정수(예를 들면, 100)로 나뉘어 떨어지는지 여부를 판정한다(스텝 ST1c). 학습 반복 횟수는, 도 11에 나타낸 스텝 ST2부터 스텝 ST4까지의 학습부(10)에 의한 일련의 처리가 반복하여 행해지는 횟수이다.
학습 반복 횟수가 일정수로 나뉘어 떨어진다고 판정한 경우(스텝 ST1c; YES), 이력 관리부(11c)는, NG 지표값 버퍼(10e)로부터 데이터 ID 및 이에 대응하는 요소의 NG 지표값의 계열을 추출한다(스텝 ST2c).
다음으로, 이력 관리부(11c)는, 추출한 데이터 ID 및 NG 지표값의 계열에 대해서 현재의 학습 반복 횟수를 추가해서 이력 버퍼(11a)에 저장한다(스텝 ST3c).
이 후, 이력 관리부(11c)는 도 14의 처리를 종료하고, 검정부(11d)의 처리로 이행한다.
한편, 학습 반복 횟수가 일정수로 나뉘어 떨어지지 않는다고 판정한 경우(스텝 ST1c; NO), 이력 관리부(11c)는 도 14의 처리를 종료하고, 뉴럴 네트워크 갱신부(10d)의 처리로 이행한다.
다음으로, NG 지표값의 통계적 검정 처리에 대해서 상세하게 설명한다.
도 15는, NG 지표값의 통계적 검정 처리를 나타내는 플로 차트이다.
검정부(11d)는, 이력 버퍼(11a)로부터, 제j번째의 요소(대상의 요소)의 데이터 ID에 대응하는, 학습 반복 횟수마다의 NG 지표값의 계열 Vj를 추출하고, 추출한 NG 지표값의 계열 Vj를, NG 후보 레벨의 계열 Lj로 환산한다(스텝 ST1d). 계열 Lj는, 계열 Vj가 과거에 취한 값의 범위를 일정수로 등분할한 몇 번째의 범위에, 현재의 NG 지표값이 속하고 있는지에 의해서 결정된다.
예를 들면, NG 지표값의 계열 Vj가 과거에 취한 값의 범위를 5분할한 경우, 도 9에 나타내는 바와 같이, NG 후보 레벨의 할당을, -2, -1, 0, +1, +2로 한다.
NG 후보 레벨 0은, NG 지표값이 과거에 취한 중간의 범위에 대응한다. NG 후보 레벨 +1은, 중간의 범위보다도 NG 지표값이 큰 범위에 대응하고, NG 후보 레벨 +2는, NG 후보 레벨 +1에 대응하는 범위보다도 NG 지표값이 큰 범위에 대응한다. NG 후보 레벨 -1은, 중간의 범위보다도 NG 지표값이 작은 범위에 대응하고, NG 후보 레벨 -2는, NG 후보 레벨 -1에 대응하는 범위보다도 NG 지표값이 작은 범위에 대응한다.
한편, 초회는 NG 지표값이 1개밖에 없기 때문에, 계열 Vj가 과거에 취한 값의 범위는 0이다. 이때의 NG 후보 레벨을 0으로 한다.
검정부(11d)는, 대상의 요소(NG 후보)가 속하는 NG 판정 그룹에 속하고 있는 요소 중, 대상의 요소 이외의 모든 요소에 대응하는 OK 확정 플래그에 값 1이 설정되어 있는지 여부를 판정한다(스텝 ST2d). 이때, 몇 개의 요소에 대응하는 OK 확정 플래그에 값 0이 설정되어 있는 경우(스텝 ST2d; NO), 검정부(11d)는, NG 후보 버퍼(11b)를 참조하여, 대상의 요소에 대응하는 NG 확정 플래그와 OK 확정 플래그 모두 값 0이 설정되어 있는지 여부를 판정한다(스텝 ST3d).
NG 확정 플래그 또는 OK 확정 플래그에 값 1이 설정되어 있는 경우(스텝 ST3d; NO), 검정부(11d)는, NG 후보 버퍼(11b)에 있어서의, 대상의 요소에 대응하는 데이터를, 현재의 학습 반복 횟수, 대상의 요소의 현재의 NG 후보 레벨, 대상의 요소의 현재의 OK 확정 플래그 및 NG 확정 플래그의 값으로 갱신한다(스텝 ST4d).
이 후, 검정부(11d)는, 이력 버퍼(11a)로부터, 계속해서, 제j+1번째의 요소의 데이터 ID에 대응하는 NG 지표값의 계열 Vj+1을 추출해서 스텝 ST1d로부터의 처리를 반복한다.
대상의 요소가 속하는 NG 판정 그룹에 속하고 있는 요소 중, 대상의 요소 이외의 모든 요소에 대응하는 OK 확정 플래그에 값 1이 설정되어 있는 경우(스텝 ST2d; YES), 검정부(11d)는, 대상의 요소에 대응하는 NG 확정 플래그로 설정해야 할 값을 "1"로 결정한다(스텝 ST5d). 이 후, 스텝 ST4d의 처리로 이행해서, 검정부(11d)는, NG 후보 버퍼(11b)에 있어서의, 대상의 요소에 대응하는 NG 확정 플래그에 값 1을 설정해서 갱신한다.
대상의 요소에 대응하는 NG 확정 플래그와 OK 확정 플래그 모두 값 0이 설정되어 있는 경우(스텝 ST3d; YES), 검정부(11d)는, NG 후보 레벨의 계열 Lj에 대해서 일정한 신뢰 계수(예를 들면, 0.95)에 기초한 무규칙성의 검정을 행한다(스텝 ST6d). 검정부(11d)는, NG 후보 레벨의 계열 Lj에 대한 무규칙성의 검정 결과에 기초하여, NG 후보 레벨의 계열 Lj에 규칙성이 있는지 여부를 판정한다(스텝 ST7d).
NG 후보 레벨의 계열 Lj에 규칙성이 확인되지 않고, 학습이 반복될 때마다 NG 지표값의 변화 경향이 랜덤으로 변화하고 있다고 판정한 경우(스텝 ST7d; NO), 검정부(11d)는, 대상의 요소를 OK 확정하지 않고, NG 확정도 하지 않는다. 이 후, 스텝 ST4d의 처리로 이행한다.
NG 후보 레벨의 계열 Lj에 규칙성이 확인되어서 학습이 반복될 때마다 NG 지표값의 변화 경향이 규칙적이라고 판정한 경우(스텝 ST7d; YES), 검정부(11d)는, NG 후보 레벨의 계열 Lj에 대해서 상승 방향의 경향성의 검정을 행한다(스텝 ST8d). 검정부(11d)는, NG 후보 레벨의 계열 Lj에 대한 경향성의 검정 결과에 기초하여, NG 후보 레벨의 계열 Lj에 상승 경향이 있는지 여부를 판정한다(스텝 ST9d).
NG 후보 레벨의 계열 Lj에 상승 경향이 있는 경우(스텝 ST9d; YES), 검정부(11d)는, 학습이 반복될 때마다 NG 지표값이 커진다고 판단하고, 스텝 ST5d의 처리로 이행한다. 이에 의해, 대상의 요소에 대응하는 NG 확정 플래그로 설정해야 할 값이 "1"로 결정되고, NG가 확정된다.
한편, NG 후보 레벨의 계열 Lj에 상승 경향이 확인되지 않았던 경우(스텝 ST9d; NO), 검정부(11d)는, NG 후보 레벨의 계열 Lj에 대해서, 하강 방향의 경향성의 검정을 행한다(스텝 ST10d). 검정부(11d)는, NG 후보 레벨의 계열 Lj에 대한 상기 경향성의 검정 결과에 기초하여, NG 후보 레벨의 계열 Lj에 하강 경향이 있는지 여부를 판정한다(스텝 ST11d).
NG 후보 레벨의 계열 Lj에 하강 경향도 확인되지 않았던 경우(스텝 ST11d; NO), 검정부(11d)는, 스텝 ST4d의 처리로 이행하고, 계열 Lj의 값을 현재의 NG 후보 레벨로 결정해서, NG 후보 버퍼(11b)에 반영시킨다.
NG 후보 레벨의 계열 Lj에 하강 경향이 확인된 경우(스텝 ST11d; YES), 검정부(11d)는, 학습이 반복될 때마다 NG 지표값이 작아진다고 판단하고, 대상의 요소에 대응하는 OK 확정 플래그로 설정해야 할 값을 "1"로 결정한다(스텝 ST12d). 이 후, 스텝 ST4d의 처리로 이행해서, 검정부(11d)는, NG 후보 버퍼(11b)에 있어서의, 대상의 요소에 대응하는 OK 확정 플래그에 값 1을 설정해서 갱신한다.
다음으로, 학습 기준 라벨의 갱신 처리에 대해서 상세하게 설명한다.
도 16은, 학습 기준 라벨 갱신 처리를 나타내는 플로 차트이다.
학습 기준 라벨 갱신부(11e)는, NG 후보 버퍼(11b)로부터, OK 확정 플래그에 값 1이 설정되어 있는 요소의 데이터 ID를, 중복이 없는 계열 U로서 추출한다(스텝 ST1e). 계열 U에는, OK 확정 플래그에 값 1이 설정되어 있는 요소의 데이터 ID가 포함되어 있다.
다음으로, 학습 기준 라벨 갱신부(11e)는, 학습 기준 라벨 버퍼(10a) 중, 계열 U에 포함되는 데이터 ID와 동일한 데이터 ID의 레코드를 특정하고, 특정한 레코드에 있어서의 OK 플래그가 값 1, NG 플래그가 값 0이 되도록 학습 기준 라벨을 갱신한다(스텝 ST2e). 이 처리는, 학습부(10)에 의한 뉴럴 네트워크의 학습의 도중에 실행되므로, 학습 기준 라벨은 동적으로 갱신된다.
다음으로, 뉴럴 네트워크 파라미터의 갱신 처리에 대해서 상세하게 설명한다.
도 17은, 뉴럴 네트워크 파라미터 갱신 처리를 나타내는 플로 차트이다.
뉴럴 네트워크 갱신부(10d)는, NG 지표값 버퍼(10e)로부터, 뉴럴 네트워크 관리부(10c)에 의해서, 현시점의 뉴럴 네트워크 파라미터로 구축된 뉴럴 네트워크의 출력 결과로부터 산출된 NG 지표값을 추출한다.
NG 지표값 버퍼(10e)로부터 추출한 NG 지표값에 기초하여, 뉴럴 네트워크 갱신부(10d)는, 뉴럴 네트워크 파라미터를 최적화한다(스텝 ST1f). 예를 들면, 뉴럴 네트워크 갱신부(10d)는, NG 지표값 버퍼(10e)로부터 추출한 NG 지표값에 기초하여, 참고 문헌 1에 기재된 경사 하강(gradient descent) 최적법을 이용하고, 현시점의 뉴럴 네트워크 파라미터를 최적화한다. 이 최적화는, 학습을 반복할 때마다 축차적으로 행해진다.
계속해서, 뉴럴 네트워크 갱신부(10d)는, 학습 반복 횟수가 이미 정해진 값(예를 들면, 10000) 이상이 되었는지 여부를 판정한다(스텝 ST2f).
학습 반복 횟수가 이미 정해진 값 미만인 경우(스텝 ST2f; NO), 뉴럴 네트워크 갱신부(10d)는, 도 17의 처리를 종료하고, 뉴럴 네트워크 관리부(10c)에 의한 도 11의 스텝 ST2로부터의 처리로 이행한다.
한편, 학습 반복 횟수가 이미 정해진 값 이상이었던 경우(스텝 ST2f; YES), 뉴럴 네트워크 갱신부(10d)는, 그 시점에서의 뉴럴 네트워크 파라미터를, 학습 결과로서 출력한다(스텝 ST3f). 학습 결과의 뉴럴 네트워크 파라미터를 이용해서 구축된 뉴럴 네트워크는, NG 판정 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기로서 기능한다.
다음으로, 실시형태 1에 따른 학습 장치(1)에 의해서 얻어지는 식별기에 대해서 설명한다.
여기에서, 그룹(사례군) 전체에 대해서 NG라고 판정된 이력은 있지만, 그룹내의 어떤 요소가 NG인지를 알 수 없는 상황, 예를 들면, 3개의 그룹이 있고, 그 중의 2개의 그룹의 전체에 대해서 NG라고 판정되고, 나머지의 1개의 그룹의 전체에 대해서 OK라고 판정된 상황을 생각한다. NG라고 판정된 그룹의 1개를, NG 판정 그룹(1){E11(OK), E12(NG), E13(OK)}으로 하고, 또 1개를, NG 판정 그룹(2){E21(NG), E22(OK), E23(OK)}으로 한다. OK라고 판정된 그룹을, OK 판정 그룹(3){E31(OK), E32(OK), E33(OK)}으로 한다.
NG 판정 그룹(1)은 2번째의 요소만이 NG이며, 나머지의 요소는 OK이다. 또, NG 판정 그룹(2)은 1번째의 요소만이 NG이며, 나머지의 요소는 OK이다. 단, 이들의 그룹은 NG의 요소를 포함하기 때문에, 그룹 전체로서 NG라고 판정되고 있다. 요소 E() 내에 요소 단위의 OK 또는 NG를 나타냈지만, 3개의 그룹이 학습용 데이터로서 취급되는 단계에서는, 요소마다의 OK 및 NG는 불명하다.
식별기의 학습 단계에서는, 그룹 전체에 대한 OK 또는 NG의 판정 결과만이 기지(旣知)이기 때문에, 요소마다 OK와 NG를 식별하는 경우, E11(OK), E12(NG), E13(OK), E21(NG), E22(OK), E23(OK)의 6개의 요소의 전부가 NG로 간주되어서 학습된다. 즉, 이들 중 4개의 요소는, 본래는 OK이지만, NG로서 잘못 학습된다. 이에 의해, 학습 결과의 식별기의 식별 정밀도는 저하된다.
예를 들면, 그룹(4){E41(OK), E42(OK), E43(OK)}와, 그룹(5){E51(OK), E52(OK), E53(NG)}의 OK 및 NG를 판정하는 경우, 종래의 식별기에서는, 본래는 OK인 요소가 NG로 잘못 학습되기 때문에, 그룹(4)에 속하는 요소 중 어느 하나를 NG라고 판정할 가능성이 있다. 그룹(4)에 속하는 요소 중 어느 하나가 NG라고 판정되면, 그룹(4) 전체도 NG라고 판정되어 버린다. 이와 같이, 종래의 식별기는, 요소 단위의 식별 정밀도가 낮고, 그룹 단위의 식별 정밀도도 낮다.
이것에 비해서, 실시형태 1에 따른 학습 장치(1)에서는, NG 지표값의 변화 경향을 통계적으로 검정한 결과에 기초하여, 요소마다 OK 라벨 또는 NG 라벨을 할당한 학습 기준 라벨을 갱신한다. 이에 의해, 학습부(10)는, 본래는 OK인 요소를 NG로 잘못 학습하는 경우가 거의 없고, 고정밀도의 식별을 행하는 식별기를 학습할 수 있다.
또, 학습 결과의 식별기는, NG 판정 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하므로, 그룹(5)이 NG 판정 그룹이면, 그룹(5)은 적절히 NG라고 판정되고, 그룹(4)은 OK라고 판정된다.
이상과 같이, 실시형태 1에 따른 학습 장치(1)는, 학습부(10) 및 동적 갱신부(11)를 구비한다. 학습부(10)는, 학습 기준 라벨을 이용하고, 학습용 데이터의 복수의 요소를 입력으로 해서 뉴럴 네트워크를 학습하는 것에 의해, 학습 결과의 뉴럴 네트워크를 이용하고, 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기를 출력한다. 동적 갱신부(11)는, 학습부(10)에 의한 뉴럴 네트워크의 학습의 도중에 학습 기준 라벨을 동적으로 갱신한다. 이 구성에 있어서, 학습부(10)는, 학습 기준 라벨의 초기값으로부터 동적 갱신부(11)에 의해서 갱신된 학습 기준 라벨을 축차 이용해서 뉴럴 네트워크를 반복해서 학습하고, 학습의 반복마다의 뉴럴 네트워크의 출력값을 이용해서, 학습용 데이터의 요소에 대응하는 NG 지표값을 산출한다. 동적 갱신부(11)는, 학습의 반복 횟수의 추이마다 얻어진 NG 지표값의 변화 경향을 통계적으로 검정한 결과에 기초하여, 학습 기준 라벨을 갱신한다. 학습 결과의 식별기가, 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하므로, 학습 장치(1)는, 고정밀도의 식별을 행하는 식별기를 제공할 수 있다.
한편, 본 발명은 상기 실시형태로 한정되는 것은 아니고, 본 발명의 범위 내에 있어서, 실시형태의 임의의 구성 요소의 변형 또는 실시형태의 임의의 구성 요소의 생략이 가능하다.
이 발명에 따른 학습 장치는, 고정밀도의 식별을 행하는 식별기를 제공할 수 있으므로, 예를 들면, 이상 검지 시스템에 이용 가능하다.
1: 학습 장치, 2: 학습용 데이터 DB, 3: NG 판정 그룹 DB, 10: 학습부, 10a: 학습 기준 라벨 버퍼, 10b: 학습 기준 라벨 생성부, 10c: 뉴럴 네트워크 관리부, 10d: 뉴럴 네트워크 갱신부, 10e: NG 지표값 버퍼, 11: 동적 갱신부, 11a: 이력 버퍼, 11b: NG 후보 버퍼, 11c: 이력 관리부, 11d: 검정부, 11e: 학습 기준 라벨 갱신부, 100: 정보 입력 인터페이스, 101: DB 입출력 인터페이스, 102: 데이터베이스, 103: 정보 출력 인터페이스, 104: 처리 회로, 105: 프로세서, 106: 메모리.

Claims (4)

  1. 복수의 요소로 구성된 학습용 데이터와, 그룹에 속하는 데이터의 적어도 1개가 NG라고 판정되는 것이 정의된 그룹 정보를 입력하고, 상기 학습용 데이터의 요소마다 OK 라벨 또는 NG 라벨이 할당된 학습 기준 라벨을 이용하고, 상기 학습용 데이터의 복수의 요소를 입력으로 해서 뉴럴 네트워크를 학습하는 것에 의해, 학습 결과의 뉴럴 네트워크를 이용해서 상기 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기(classifier)를 출력하는 학습부와,
    상기 학습부에 의한 뉴럴 네트워크의 학습의 도중에 상기 학습 기준 라벨을 동적으로 갱신하는 동적 갱신부를 구비하고,
    상기 학습부는,
    상기 학습용 데이터 및 상기 그룹 정보를 이용해서 상기 학습용 데이터의 요소마다의 상기 학습 기준 라벨의 초기값을 생성하고,
    상기 학습 기준 라벨의 초기값으로부터 상기 동적 갱신부에 의해서 갱신된 상기 학습 기준 라벨을 축차 이용해서 뉴럴 네트워크를 반복해서 학습하고,
    학습의 반복마다의 뉴럴 네트워크의 출력값을 이용해서, 상기 학습용 데이터의 요소가 NG가 될 수 있는 NG 지표값을 산출하고,
    상기 동적 갱신부는,
    학습의 반복 횟수의 추이마다 얻어진 NG 지표값의 변화 경향을 통계적으로 검정한 결과에 기초하여, 상기 학습 기준 라벨을 갱신하는 것
    을 특징으로 하는 학습 장치.
  2. 제 1 항에 있어서,
    상기 학습부는,
    상기 학습용 데이터의 요소마다의 상기 학습 기준 라벨이 저장된 학습 기준 라벨 버퍼와,
    상기 학습용 데이터의 요소가 상기 그룹에 속하지 않는 경우에 OK 라벨을 할당하고, 상기 그룹에 속하는 경우에 NG 라벨을 할당한 상기 학습 기준 라벨의 초기값을 생성하는 학습 기준 라벨 생성부와,
    뉴럴 네트워크의 출력값을 이용해서 상기 학습용 데이터의 요소의 NG 지표값을 산출하고, OK 클래스 및 NG 클래스 중, NG 지표값에 기초하여 상기 학습용 데이터의 요소가 속하는 클래스를 판정하고, 상기 학습 기준 라벨의 초기값 및 상기 동적 갱신부에 의해서 갱신된 상기 학습 기준 라벨로 판정한 클래스를 오차 평가하는 뉴럴 네트워크 관리부와,
    상기 뉴럴 네트워크 관리부에 의해 산출된 NG 지표값에 기초하여, 뉴럴 네트워크 파라미터를 갱신하는 뉴럴 네트워크 갱신부를 구비한 것
    을 특징으로 하는 학습 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 동적 갱신부는,
    학습의 반복 횟수마다 얻어진 NG 지표값이 저장된 이력 버퍼와,
    학습의 반복 횟수, NG 지표값에 따른 NG 후보 레벨, 상기 학습용 데이터의 요소가 OK로 확정된 것을 나타내는 OK 확정 플래그, 및 상기 학습용 데이터의 요소가 NG로 확정된 것을 나타내는 NG 확정 플래그가, 상기 학습용 데이터의 요소마다 저장된 NG 후보 버퍼와,
    학습의 반복마다 얻어진 NG 지표값을 상기 이력 버퍼에 저장하는 이력 관리부와,
    상기 이력 버퍼에 저장된 NG 지표값의 변화 경향을, 상기 NG 후보 레벨의 추이를 이용해서 통계적으로 검정하고, 검정 결과에 기초하여 NG 후보의 요소의 OK 또는 NG를 확정해서 상기 NG 후보 버퍼에 있어서의 상기 OK 확정 플래그 또는 상기 NG 확정 플래그를 갱신하는 검정부와,
    NG 후보의 요소 중, 상기 검정부에 의해서 OK로 확정된 요소에 대응하는 상기 학습 기준 라벨을 NG 라벨로부터 OK 라벨로 갱신하는 학습 기준 라벨 갱신부를 구비한 것
    을 특징으로 하는 학습 장치.
  4. 학습부가, 복수의 요소로 구성된 학습용 데이터와, 그룹에 속하는 데이터의 적어도 1개가 NG라고 판정되는 것이 정의된 그룹 정보를 입력하고, 상기 학습용 데이터의 요소마다 OK 라벨 또는 NG 라벨이 할당된 학습 기준 라벨을 이용하고, 상기 학습용 데이터의 복수의 요소를 입력으로 해서 뉴럴 네트워크를 학습하는 것에 의해, 학습 결과의 뉴럴 네트워크를 이용해서 상기 그룹에 속하는 데이터의 적어도 1개를 NG라고 판정하는 식별기를 출력하는 스텝과,
    동적 갱신부가, 상기 학습부에 의한 뉴럴 네트워크의 학습의 도중에 상기 학습 기준 라벨을 동적으로 갱신하는 스텝을 구비하고,
    상기 학습부는,
    상기 학습용 데이터 및 상기 그룹 정보를 이용해서 상기 학습용 데이터의 요소마다의 상기 학습 기준 라벨의 초기값을 생성하고,
    상기 학습 기준 라벨의 초기값으로부터 상기 동적 갱신부에 의해서 갱신된 상기 학습 기준 라벨을 축차 이용해서 뉴럴 네트워크를 반복해서 학습하고,
    학습의 반복마다의 뉴럴 네트워크의 출력값을 이용해서, 상기 학습용 데이터의 요소가 NG가 될 수 있는 NG 지표값을 산출하고,
    상기 동적 갱신부는,
    학습의 반복 횟수의 추이마다 얻어진 NG 지표값의 변화 경향을 통계적으로 검정한 결과에 기초하여, 상기 학습 기준 라벨을 갱신하는 것
    을 특징으로 하는 학습 방법.
KR1020207025875A 2018-03-16 2018-03-16 학습 장치 및 학습 방법 KR20200108912A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/010446 WO2019176087A1 (ja) 2018-03-16 2018-03-16 学習装置および学習方法

Publications (1)

Publication Number Publication Date
KR20200108912A true KR20200108912A (ko) 2020-09-21

Family

ID=67908184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207025875A KR20200108912A (ko) 2018-03-16 2018-03-16 학습 장치 및 학습 방법

Country Status (7)

Country Link
US (1) US20200387792A1 (ko)
EP (1) EP3748549B1 (ko)
JP (1) JP6701467B2 (ko)
KR (1) KR20200108912A (ko)
CN (1) CN111837143A (ko)
TW (1) TW201939363A (ko)
WO (1) WO2019176087A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7238610B2 (ja) * 2019-06-04 2023-03-14 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208913A (ja) 2011-03-28 2012-10-25 Nec (China) Co Ltd ハイブリッドラベルに基づいてオブジェクトを分割する方法とシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168799A (ja) * 1993-09-22 1995-07-04 Fuji Electric Co Ltd ニューラルネットワークの学習装置
JP4610364B2 (ja) * 2005-02-15 2011-01-12 名古屋電機工業株式会社 良否判定装置、良否判定方法および良否判定プログラム
JP2015087903A (ja) * 2013-10-30 2015-05-07 ソニー株式会社 情報処理装置及び情報処理方法
JP6291844B2 (ja) * 2014-01-06 2018-03-14 日本電気株式会社 データ処理装置
JP2017102906A (ja) * 2015-11-25 2017-06-08 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
WO2017090098A1 (ja) * 2015-11-25 2017-06-01 株式会社日立製作所 設備管理装置および方法
CN108463717B (zh) * 2016-01-26 2021-05-25 富士胶片株式会社 龟裂信息检测装置、龟裂信息检测方法及存储介质
JP6182242B1 (ja) * 2016-06-13 2017-08-16 三菱電機インフォメーションシステムズ株式会社 データのラベリングモデルに係る機械学習方法、コンピュータおよびプログラム
US10339471B2 (en) * 2017-01-17 2019-07-02 International Business Machines Corporation Ensemble based labeling
JP2018142097A (ja) * 2017-02-27 2018-09-13 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
US11436428B2 (en) * 2017-06-06 2022-09-06 Sightline Innovation Inc. System and method for increasing data quality in a machine learning process
US11382601B2 (en) * 2018-03-01 2022-07-12 Fujifilm Sonosite, Inc. Method and apparatus for annotating ultrasound examinations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208913A (ja) 2011-03-28 2012-10-25 Nec (China) Co Ltd ハイブリッドラベルに基づいてオブジェクトを分割する方法とシステム

Also Published As

Publication number Publication date
EP3748549A4 (en) 2021-05-05
US20200387792A1 (en) 2020-12-10
JPWO2019176087A1 (ja) 2020-05-28
JP6701467B2 (ja) 2020-05-27
EP3748549B1 (en) 2023-06-07
TW201939363A (zh) 2019-10-01
EP3748549A1 (en) 2020-12-09
WO2019176087A1 (ja) 2019-09-19
CN111837143A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN106290378B (zh) 缺陷分类方法和缺陷检查系统
CN103177180B (zh) 预测模型的建模样本的筛选方法
CN112232407B (zh) 病理图像样本的神经网络模型训练方法、装置
US20220196760A1 (en) Transformer fault diagnosis method and system using induced ordered weighted evidence reasoning
CN106919957B (zh) 处理数据的方法及装置
JP2019197355A (ja) クラスタリング装置、クラスタリング方法およびプログラム
CN112420125A (zh) 分子属性预测方法、装置、智能设备和终端
CN111445021A (zh) 学习方法、学习设备和计算机可读记录介质
CN114494800A (zh) 预测模型训练方法、装置、电子设备及存储介质
CN114169460A (zh) 样本筛选方法、装置、计算机设备和存储介质
KR20200108912A (ko) 학습 장치 및 학습 방법
CN113723467A (zh) 用于缺陷检测的样本收集方法、装置和设备
KR20210135416A (ko) 시편의 검사를 위한 알고리즘 모듈들의 자동 선택
CN116541704A (zh) 一种多类噪声分离的偏标记学习方法
CN113380363B (zh) 基于人工智能的医疗数据质量评价方法及系统
CN115827705A (zh) 用于反事实解释的数据处理方法和装置
CN114971375A (zh) 基于人工智能的考核数据处理方法、装置、设备及介质
CN112598082B (zh) 基于非校验集预测图像识别模型泛化误差的方法及系统
CN112529112B (zh) 一种矿物识别的方法和装置
CN110399803B (zh) 一种车辆检测方法及装置
CN112446428A (zh) 一种图像数据处理方法及装置
CN112489783B (zh) 一种智能护理数据处理方法、系统、服务器及存储介质
US20230267321A1 (en) Viability determination with self-attention for process optimization
CN111079574B (zh) 一种训练神经网络的方法及系统
CN112529038B (zh) 一种主板物料的识别方法、装置及存储介质

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right