KR102027107B1 - 네트워크 구축 장치 및 네트워크 구축 방법 - Google Patents

네트워크 구축 장치 및 네트워크 구축 방법 Download PDF

Info

Publication number
KR102027107B1
KR102027107B1 KR1020197008947A KR20197008947A KR102027107B1 KR 102027107 B1 KR102027107 B1 KR 102027107B1 KR 1020197008947 A KR1020197008947 A KR 1020197008947A KR 20197008947 A KR20197008947 A KR 20197008947A KR 102027107 B1 KR102027107 B1 KR 102027107B1
Authority
KR
South Korea
Prior art keywords
intermediate layer
layer
output
output value
elements
Prior art date
Application number
KR1020197008947A
Other languages
English (en)
Other versions
KR20190039329A (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 미쓰비시덴키 가부시키가이샤
Publication of KR20190039329A publication Critical patent/KR20190039329A/ko
Application granted granted Critical
Publication of KR102027107B1 publication Critical patent/KR102027107B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0463Neocognitrons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • 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/24317Piecewise classification, i.e. whereby each classification requires several discriminant rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • 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
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • G06F18/2185Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Materials For Photolithography (AREA)

Abstract

소자 구축부(13)가, 출력치 산출부(12)에 의해 산출된 중간층(2)에 포함되어 있는 1개 이상의 소자의 출력치와 임계치를 비교하고, 중간층(2)에 포함되어 있는 1개 이상의 소자의 출력치 중, 어느 하나의 출력치가 임계치보다 크면, 중간층(2)에 포함되어 있는 소자의 수를 유지하고, 중간층(2)에 포함되어 있는 1개 이상의 소자의 출력치의 모두가 임계치 이하이면, 중간층(2)에 포함되어 있는 소자의 수를 늘리도록 구성한다.

Description

네트워크 구축 장치 및 네트워크 구축 방법
본 발명은, 뉴럴 네트워크를 구축하는 네트워크 구축 장치 및 네트워크 구축 방법에 관한 것이다.
뉴럴 네트워크는, 입력층, 중간층 및 출력층이 종속(縱續)으로 접속되어 있는 네트워크이다.
뉴럴 네트워크는, 사전에 입력 데이터와 출력 데이터의 상관 관계를 학습함으로써, 임의의 입력 데이터가 주어졌을 때에, 임의의 입력 데이터에 대응하는 출력 데이터를 예측하는 근사 함수의 일종이다.
중간층에 포함되는 소자의 수 등의 뉴럴 네트워크의 구조는, 뉴럴 네트워크의 설계자에 의해 수동으로 결정되는 일이 많지만, 뉴럴 네트워크를 숙지하고 있지 않은 설계자는, 뉴럴 네트워크의 구조를 적정하게 결정하는 것이 곤란하다.
이하의 비특허문헌 1에는, AiS(Add if Silent)라 불리고 있는 수법을 이용하여, 뉴럴 네트워크의 구조를 자동적으로 결정하는 네트워크 구축 방법이 개시되어 있다.
이 뉴럴 네트워크는, 네오코그니트론이라 불리는 생물의 시각 정보 처리를 모방한 뉴럴 네트워크이고, 이 뉴럴 네트워크의 중간층에 포함되는 소자는, 입출력 응답이 정규화 선형 함수로 결정되는 소자이다.
비특허문헌 1 : Fukushima, K. : "Artificial vision by multi-layered neural networks: Neocognitron and its advances", Neural Networks, vol. 37, pp. 103-119 (2013).
종래의 네트워크 구축 방법은 이상과 같이 구성되어 있으므로, 중간층에 포함되는 소자가, 입출력 응답이 정규화 선형 함수로 결정되는 소자이면, 중간층에 포함되는 소자의 수 등을 자동적으로 결정할 수 있다. 그러나, 중간층에 포함되는 소자가, 입출력 응답이 가우스 함수로 결정되는 소자인 경우, AiS라 불리고 있는 수법을 이용하더라도, 중간층에 포함되는 소자의 수 등을 자동적으로 결정할 수 없다고 하는 과제가 있었다.
본 발명은 상기와 같은 과제를 해결하기 위해 이루어진 것이고, 중간층에 포함되는 소자가, 입출력 응답이 가우스 함수로 결정되는 소자이더라도, 중간층에 포함되는 소자의 수를 자동적으로 결정할 수 있는 네트워크 구축 장치 및 네트워크 구축 방법을 얻는 것을 목적으로 한다.
본 발명과 관련되는 네트워크 구축 장치는, 입출력 응답이 가우스 함수로 결정되는 소자를 포함하는 중간층을 구비하는 뉴럴 네트워크를 구축할 때에, 중간층에 포함되어 있는 소자마다, 당해 소자에 관한 가우스 함수의 파라미터를 초기 설정하는 초기 설정부와, 초기 설정부에 의해 초기 설정된 파라미터와 뉴럴 네트워크의 입력층에 포함되어 있는 소자의 출력치에 따라 중간층에 포함되어 있는 1개 이상의 소자의 출력치를 산출하는 출력치 산출부를 마련하고, 소자 구축부가, 출력치 산출부에 의해 산출된 1개 이상의 소자의 출력치와 임계치를 비교하고, 중간층에 포함되어 있는 1개 이상의 소자의 출력치 중, 어느 하나의 소자의 출력치가 임계치보다 크면, 중간층에 포함되어 있는 소자의 수를 유지하고, 중간층에 포함되어 있는 1개 이상의 소자의 출력치의 모두가 임계치 이하이면, 중간층에 포함되어 있는 소자의 수를 늘리는 소자 구축 처리를 실시하도록 한 것이다.
본 발명에 의하면, 소자 구축부가, 출력치 산출부에 의해 산출된 1개 이상의 소자의 출력치와 임계치를 비교하고, 중간층에 포함되어 있는 1개 이상의 소자의 출력치 중, 어느 하나의 소자의 출력치가 임계치보다 크면, 중간층에 포함되어 있는 소자의 수를 유지하고, 중간층에 포함되어 있는 1개 이상의 소자의 출력치의 모두가 임계치 이하이면, 중간층에 포함되어 있는 소자의 수를 늘리는 소자 구축 처리를 실시하도록 구성했으므로, 중간층에 포함되는 소자가, 입출력 응답이 가우스 함수로 결정되는 소자이더라도, 중간층에 포함되는 소자의 수를 자동적으로 결정할 수 있는 효과가 있다.
도 1은 본 발명의 실시의 형태 1에 의한 네트워크 구축 장치를 나타내는 구성도이다.
도 2는 본 발명의 실시의 형태 1에 의한 네트워크 구축 장치의 하드웨어 구성도이다.
도 3은 본 발명의 실시의 형태 1에 의한 네트워크 구축 장치가 적용하는 뉴럴 네트워크의 일례를 나타내는 설명도이다.
도 4는 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 컴퓨터의 하드웨어 구성도이다.
도 5는 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 처리 수순인 네트워크 구축 방법을 나타내는 플로차트이다.
도 6은 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 처리 수순인 네트워크 구축 방법을 나타내는 플로차트이다.
도 7은 본 발명의 실시의 형태 2에 의한 네트워크 구축 장치가 적용하는 뉴럴 네트워크의 일례를 나타내는 설명도이다.
도 8은 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 처리 수순인 네트워크 구축 방법을 나타내는 플로차트이다.
도 9는 본 발명의 실시의 형태 3에 의한 네트워크 구축 장치를 나타내는 구성도이다.
도 10은 본 발명의 실시의 형태 3에 의한 네트워크 구축 장치의 하드웨어 구성도이다.
이하, 본 발명을 보다 상세하게 설명하기 위해, 본 발명을 실시하기 위한 형태에 대하여, 첨부한 도면에 따라 설명한다.
뉴럴 네트워크의 중간층에 포함되어 있는 소자의 입출력 응답이 정규화 선형 함수인 경우, 예컨대, 상정한 범위를 크게 일탈하고 있는 정(正)의 데이터가 중간층에 입력되면, 중간층으로부터 큰 정의 데이터가 출력되는 것이 상정된다. 그 결과, 출력층으로부터도 큰 정의 데이터가 출력되는 것이 상정된다.
이것에 의해, 예컨대, 뉴럴 네트워크의 출력측의 장치는, 상정의 범위를 크게 일탈하고 있는 데이터가 중간층에 입력되면, 뉴럴 네트워크의 출력층으로부터 큰 정의 데이터가 출력되기 때문에, 큰 영향을 받을 가능성이 있다.
뉴럴 네트워크의 중간층에 포함되어 있는 소자의 입출력 응답이 가우스 함수인 경우, 예컨대, 상정의 범위를 크게 일탈하고 있는 정 또는 부(負)의 데이터가 중간층에 입력되면, 중간층으로부터 제로에 가까운 데이터가 출력된다. 그 결과, 출력층으로부터도 제로에 가까운 데이터가 출력된다.
이것에 의해, 예컨대, 뉴럴 네트워크의 출력측의 장치는, 상정의 범위를 크게 일탈하고 있는 데이터가 중간층에 입력되더라도, 뉴럴 네트워크의 출력층으로부터 제로에 가까운 데이터가 출력되기 때문에, 큰 영향을 회피할 수 있다.
실시의 형태 1.
도 1은 본 발명의 실시의 형태 1에 의한 네트워크 구축 장치를 나타내는 구성도이고, 도 2는 본 발명의 실시의 형태 1에 의한 네트워크 구축 장치의 하드웨어 구성도이다.
도 3은 본 발명의 실시의 형태 1에 의한 네트워크 구축 장치가 적용하는 뉴럴 네트워크의 일례를 나타내는 설명도이다.
도 1 내지 도 3에 있어서, 뉴럴 네트워크는, 입력층(1), 중간층(2) 및 출력층(3)을 구비하고 있다.
본 실시의 형태 1에서는, 중간층(2)의 층수가 1인 예를 설명하고, 중간층(2)의 층수가 2 이상인 예는 실시의 형태 2에서 설명한다.
입력층(1)은 I(I는 1 이상의 정수)개의 소자 ai(i=1, …, I)를 포함하고 있고, 예컨대, 센서 등으로부터 M(M은 1 이상의 정수)개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)이 순차적으로 주어진다. m=1, 2, …, M이다.
학습 데이터 xm의 차원수는 I이고, 학습 데이터 xm에 포함되어 있는 xi m(i=1, …, I)을 성분 데이터라고 칭한다.
입력층(1)은 학습 데이터 xm의 i번째의 성분 데이터 xi m(i=1, …, I)이, i번째의 소자 ai(i=1, …, I)에 주어지면, 중간층(2)에 포함되어 있는 j번째의 소자 bj(j=1, …, J)에 대한 i번째의 소자 ai의 출력치로서, yi=xi m을 출력한다.
중간층(2)은 J(J는 1 이상의 정수)개의 소자 bj(j=1, …, J)를 포함하고 있고, j번째의 소자 bj는, 입출력 응답이 가우스 함수로 결정되는 소자이다.
단, 본 실시의 형태 1에서는, 설명의 편의상, 네트워크 구축 장치에 의한 네트워크의 구축 전은, 중간층(2)이 포함하고 있는 소자의 수는 제로인 것으로 한다. 이것은 일례에 지나지 않고, 네트워크 구축 장치에 의한 네트워크의 구축 전이더라도, 중간층(2)이 1개 이상의 소자를 포함하고 있더라도 좋다.
중간층(2)은 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi(i=1, …, I)가 j번째의 소자 bj에 주어지면, I개의 소자 ai의 출력치 yi로부터 j번째의 소자 bj의 출력치 zj(j=1, …, J)를 산출하고, 소자 bj의 출력치 zj를 출력층(3)에 출력한다.
출력층(3)은 소자 c를 포함하고 있고, 소자 c는, 예컨대, 중간층(2)과 출력층(3)의 사이의 가중치 vj(j=1, …, J)와, 중간층(2)에 포함되어 있는 J개의 소자 bj의 출력치 zj(j=1, …, J)의 곱의 총합을 산출하고, 그 총합을 출력한다.
도 3에서는, 출력층(3)이 포함하고 있는 소자 c의 개수가 1개인 예를 나타내고 있지만, 복수의 소자 c를 포함하고 있더라도 좋다.
초기 설정부(11)는 예컨대 도 2의 초기 설정 회로(21)로 실현되는 것이다.
초기 설정부(11)는 중간층(2)에 포함되어 있는 소자마다, 당해 소자 bj에 관한 가우스 함수의 파라미터를 초기 설정하는 처리를 실시한다.
초기 설정부(11)는, 가우스 함수의 파라미터로서, 예컨대, 가우스 분포의 표준 편차치 σi, j와, 가우스 함수의 중심 좌표 μi, j와, 입력층(1)에 포함되어 있는 i번째의 소자 ai와 중간층(2)에 포함되어 있는 j번째의 소자 bj의 사이의 가중치 Wi, j를 초기 설정한다.
가우스 분포의 표준 편차치 σi, j는, 중간층(2)에 포함되어 있는 j번째의 소자 bj에 대한 예컨대 I개의 소자 ai의 출력치 yi(i=1, …, I)의 표준 편차치이다.
가우스 함수의 중심 좌표 μi, j는, 중간층(2)에 포함되어 있는 j번째의 소자 bj의 중심의 성분이다.
출력치 산출부(12)는 예컨대 도 2의 출력치 산출 회로(22)로 실현되는 것이다.
출력치 산출부(12)는 초기 설정부(11)로부터 가우스 함수의 파라미터의 초기치로서, 가우스 분포의 표준 편차치 σi, j와, 가우스 함수의 중심 좌표 μi, j와, 가중치 Wi, j가 주어진다.
출력치 산출부(12)는 초기 설정부(11)로부터 주어진 파라미터의 초기치를 갖는 가우스 함수에 대하여, 입력층(1)에 포함되어 있는 예컨대 I개의 소자 ai의 출력치 yi(i=1, …, I)를 대입함으로써, j번째의 소자 bj의 출력치 zj(j=1, …, J)를 산출하는 처리를 실시한다.
소자 구축부(13)는 예컨대 도 2의 소자 구축 회로(23)로 실현되는 것이다.
소자 구축부(13)는 출력치 산출부(12)에 의해 산출된 J개의 소자 bj의 출력치 zj(j=1, …, J)와 사전에 설정된 임계치 Th를 비교하고, 중간층(2)에 포함되어 있는 J개의 소자 bj의 출력치의 zj 중, 어느 하나의 소자 bj의 출력치 zj가 임계치 Th보다 크면, 중간층(2)에 포함되어 있는 소자 bj의 수를 유지한다.
또한, 소자 구축부(13)는 J개의 소자 bj의 출력치 zj의 모두가 임계치 Th 이하이면, 중간층(2)에 포함되어 있는 소자 bj의 수를 늘리는 소자 구축 처리를 실시한다.
데이터 기억부(14)는 예컨대 도 2의 데이터 기억 회로(24)로 실현되는 것이다.
데이터 기억부(14)는 중간층(2)에 포함되어 있는 소자 bj의 개수 J 외에, 초기 설정부(11)에 의해 초기 설정된 소자 bj에 관한 가우스 함수의 파라미터 및 출력치 산출부(12)에 의해 산출된 소자 bj의 출력치 zj를 저장한다.
파라미터 갱신부(15)는 예컨대 도 2의 파라미터 갱신 회로(25)로 실현되는 것이다.
파라미터 갱신부(15)는 소자 구축부(13)에 의해 소자 구축 처리가 실시된 후, 학습 데이터가 입력층(1)에 주어졌을 때에 가우스 함수의 파라미터의 학습을 행하는 지도 학습(supervised learning)을 실시함으로써, 데이터 기억부(14)에 저장되어 있는 가우스 함수의 파라미터 및 중간층(2)에 포함되어 있는 j번째의 소자 bj와 출력층(3)에 포함되어 있는 소자 c의 사이의 가중치 vj를 갱신한다.
또한, 파라미터 갱신부(15)는 지도 학습을 실시함으로써, 입력층(1)에 포함되어 있는 i번째의 소자 ai와 중간층(2)에 포함되어 있는 j번째의 소자 bj의 사이의 가중치 Wi, j를 갱신하는 처리를 실시한다.
도 1에서는, 네트워크 구축 장치의 구성 요소인 초기 설정부(11), 출력치 산출부(12), 소자 구축부(13), 데이터 기억부(14) 및 파라미터 갱신부(15)의 각각이, 도 2에 나타내는 바와 같은 전용 하드웨어, 즉, 초기 설정 회로(21), 출력치 산출 회로(22), 소자 구축 회로(23), 데이터 기억 회로(24) 및 파라미터 갱신 회로(25)로 실현되는 것을 상정하고 있다.
여기서, 데이터 기억 회로(24)는, 예컨대, RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리, EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory) 등의 비휘발성 또는 휘발성의 반도체 메모리나, 자기 디스크, 플렉서블 디스크, 광 디스크, 콤팩트 디스크, 미니 디스크, DVD(Digital Versatile Disc) 등이 해당한다.
또한, 초기 설정 회로(21), 출력치 산출 회로(22), 소자 구축 회로(23) 및 파라미터 갱신 회로(25)는, 예컨대, 단일 회로, 복합 회로, 프로그램화한 프로세서, 병렬 프로그램화한 프로세서, ASIC(Application Specific Integrated Circuit), FPGA(Field-Programmable Gate Array), 또는, 이들을 조합한 것이 해당한다.
단, 네트워크 구축 장치의 구성 요소는, 전용 하드웨어로 실현되는 것에 한하는 것이 아니고, 네트워크 구축 장치가 소프트웨어, 펌웨어, 또는, 소프트웨어와 펌웨어의 조합으로 실현되는 것이더라도 좋다.
소프트웨어나 펌웨어는 프로그램으로서, 컴퓨터의 메모리에 저장된다. 컴퓨터는, 프로그램을 실행하는 하드웨어를 의미하고, 예컨대, CPU(Central Processing Unit), 중앙 처리 장치, 처리 장치, 연산 장치, 마이크로프로세서, 마이크로컴퓨터, 프로세서, DSP(Digital Signal Processor) 등이 해당한다.
도 4는 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 컴퓨터의 하드웨어 구성도이다.
네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우, 데이터 기억부(14)를 컴퓨터의 메모리(31) 상에 구성함과 아울러, 초기 설정부(11), 출력치 산출부(12), 소자 구축부(13) 및 파라미터 갱신부(15)의 처리 수순을 컴퓨터에 실행시키기 위한 프로그램을 메모리(31)에 저장하고, 컴퓨터의 프로세서(32)가 메모리(31)에 저장되어 있는 프로그램을 실행하도록 하면 된다.
도 5 및 도 6은 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 처리 수순인 네트워크 구축 방법을 나타내는 플로차트이다.
또한, 도 2에서는 네트워크 구축 장치의 구성 요소의 각각이 전용 하드웨어로 실현되는 예를 나타내고, 도 4에서는, 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 예를 나타내고 있지만, 네트워크 구축 장치에 있어서의 일부의 구성 요소가 전용 하드웨어로 실현되고, 나머지의 구성 요소가 소프트웨어나 펌웨어 등으로 실현되는 것이더라도 좋다.
다음으로 동작에 대하여 설명한다.
본 실시의 형태 1에 있어서의 네트워크 구축 장치의 처리 내용은, 크게 2개의 처리 내용으로 나누어진다.
제 1 처리 내용은, 중간층(2)의 구조를 결정하는 처리 내용, 즉, 중간층(2)에 포함되는 소자 bj의 개수 J를 결정함과 아울러, 소자 bj에 관한 가우스 함수의 파라미터를 초기 설정하는 처리 내용이다(도 5의 스텝 ST1).
제 2 처리 내용은, 지도 학습을 실시함으로써, 초기 설정된 가우스 함수의 파라미터 및 입력층(1)에 포함되어 있는 i번째의 소자 ai와 중간층(2)에 포함되어 있는 j번째의 소자 bj의 사이의 가중치 Wi, j를 갱신하는 처리 내용이다(도 5의 스텝 ST2).
이하, 도 6을 참조하면서, 제 1 처리 내용을 구체적으로 설명한다.
본 실시의 형태 1에서는, 중간층(2)에 포함되어 있는 소자 bj의 개수 J의 초기치가 0개인 것으로 한다.
소자 구축부(13)는, 제 1 처리 내용을 실행함에 있어서, 중간층(2) 안에 소자 bj가 포함되어 있는지 여부를 판정한다.
즉, 소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 bj의 개수 J가 0개인지 여부를 판정한다(도 6의 스텝 ST11).
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 bj의 개수 J가 0개라고 판정하면(도 6의 스텝 ST11 : YES의 경우), 중간층(2) 안에 새로운 소자 bj를 1개 추가한다. 즉, 소자 구축부(13)는, 중간층(2) 안에 소자 b1을 작성한다(도 6의 스텝 ST12).
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 bj의 개수 J가 0개가 아니라고 판정하면(도 6의 스텝 ST11 : NO의 경우), 이 단계에서는, 중간층(2) 안에 새로운 소자 bj를 추가하는 처리를 행하지 않는다. 본 실시의 형태 1에서는, 중간층(2)에 포함되어 있는 소자 bj의 개수 J의 초기치를 0개로 하고 있으므로, 여기서는, 소자 구축부(13)가 중간층(2) 안에 소자 b1을 작성한다.
초기 설정부(11)는, 소자 구축부(13)가 중간층(2) 안에 소자 b1을 작성하면, 이미, M개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)의 모두를 취득하였는지 여부를 판정한다(도 6의 스텝 ST13).
초기 설정부(11)는, 이미 M개의 학습 데이터 xm을 취득하였으면(도 6의 스텝 ST13 : YES의 경우), 중간층(2)의 구조를 결정하는 제 1 처리 내용을 종료한다.
초기 설정부(11)는, 아직 M개의 학습 데이터 xm을 취득하지 않았으면(도 6의 스텝 ST13 : NO의 경우), 아직 취득하지 않은 학습 데이터 xm을 취득한다(도 6의 스텝 ST14).
본 실시의 형태 1에서는, 초기 설정부(11)는, 이 단계에 있어서, M개의 학습 데이터 xm을 취득하지 않았으므로, 아직 취득하지 않은 학습 데이터 xm으로서 1개째의 학습 데이터 x1=(x1 1, x2 1, …, xI 1)을 취득한다.
초기 설정부(11)는, 1개째의 학습 데이터 x1=(x1 1, x2 1, …, xI 1)을 취득하면, 입력층(1)에 포함되어 있는 i번째의 소자 ai의 출력치 yi=xi 1로부터, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터를 초기 설정한다(도 6의 스텝 ST15).
즉, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 1개로서, 가우스 분포의 표준 편차치 σi, 1(i=1, …, I)을 초기 설정한다.
가우스 분포의 표준 편차치 σi, 1은, 중간층(2)에 포함되어 있는 소자 b1에 대한 I개의 소자 ai의 출력치 yi=xi 1의 표준 편차치이고, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi 1로부터 산출된다. 표준 편차치 σi, 1의 산출 처리 자체는 공지의 기술이기 때문에 상세한 설명을 생략한다.
또한, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 1개로서, 가우스 함수의 중심 좌표 μi, 1(i=1, …, I)을 초기 설정한다.
가우스 함수의 중심 좌표 μi, 1은, 이하의 식 (1)에 나타내는 바와 같이, 입력층(1)에 포함되어 있는 i번째의 소자 ai의 출력치 yi=xi 1이다.
Figure 112019031668626-pct00001
또한, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 1개로서, 이하의 식 (2)에 나타내는 바와 같이, 입력층(1)에 포함되어 있는 i번째의 소자 ai와 중간층(2)에 포함되어 있는 소자 b1의 사이의 가중치 Wi, 1(i=1, …, I)을 초기 설정한다.
Figure 112019031668626-pct00002
여기서는, 가중치 Wi, 1을 1로 설정하는 예를 나타내고 있지만, 이것은 일례에 지나지 않고, 1 이외의 값으로 설정하도록 하더라도 좋다.
초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터를 초기 설정하면, 그 파라미터의 초기치를 출력치 산출부(12)에 출력함과 아울러, 그 파라미터의 초기치를 데이터 기억부(14)에 저장한다.
출력치 산출부(12)는, 초기 설정부(11)로부터 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 초기치를 취득한다.
또한, 출력치 산출부(12)는, 1개째의 학습 데이터 x1=(x1 1, x2 1, …, xI 1)을 취득한다.
출력치 산출부(12)는, 1개째의 학습 데이터 x1을 취득하면, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1을 산출한다(도 6의 스텝 ST16).
즉, 출력치 산출부(12)는, 이하의 식 (3)에 나타내는 가우스 함수에 대하여, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 초기치와, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi 1을 대입함으로써, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1을 산출한다.
Figure 112019031668626-pct00003
출력치 산출부(12)는, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1을 산출하면, 소자 b1의 출력치 z1을 소자 구축부(13)에 출력함과 아울러, 소자 b1의 출력치 z1을 데이터 기억부(14)에 저장한다.
소자 구축부(13)는, 출력치 산출부(12)로부터 소자 b1의 출력치 z1을 받으면, 소자 b1의 출력치 z1과 사전에 설정된 임계치 Th를 비교한다(도 6의 스텝 ST17).
소자 b1의 출력치 z1은 최대 1이기 때문에, 임계치 Th로서는, 1 이하의 양의 실수, 혹은, e-0.25 이상 1 이하의 양의 실수 등을 생각할 수 있다.
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1이 임계치 Th보다 크면(도 6의 스텝 ST17 : NO의 경우), 중간층(2)에 포함되어 있는 소자의 개수 J(J=1)를 유지한다. 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1이 임계치 Th보다 큰 경우, 중간층(2)에 포함되어 있는 소자 b1은, 입력층(1)에 포함되어 있는 소자 a1의 출력치 y1에 대응하는 소자라고 말할 수 있다. 즉, 중간층(2)에 포함되어 있는 소자 b1은, 가우스 함수에 있어서의 가우스 분포의 중심 좌표를 나타내고 있는 소자라고 말할 수 있다. 이 때문에, 새로운 소자 b2를 중간층(2)에 추가할 필요가 없기 때문에, 소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자의 개수 J(J=1)를 유지한다.
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1이 임계치 Th 이하이면(도 6의 스텝 ST17 : YES의 경우), 중간층(2)에 포함되어 있는 소자의 수가 증가하도록, 새로운 소자 b2를 중간층(2)에 추가한다(도 6의 스텝 ST18). 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1이 임계치 Th 이하인 경우, 중간층(2)에 포함되어 있는 소자 b1은, 입력층(1)에 포함되어 있는 소자 a1의 출력치 y1에 대응하는 소자라고 말할 수 없다. 이 때문에, 소자 구축부(13)는, 새로운 소자 b2를 중간층(2)에 추가한다.
본 실시의 형태 1에서는, 설명의 편의상, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1이 임계치 Th 이하이기 때문에, 새로운 소자 b2를 중간층(2)에 추가하는 것으로 한다.
초기 설정부(11)는, 소자 구축부(13)가 새로운 소자 b2를 중간층(2)에 추가, 혹은, 중간층(2)에 포함되어 있는 소자의 개수 J를 유지하면, 이미, M개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)의 모두를 취득하였는지 여부를 판정한다(도 6의 스텝 ST13).
초기 설정부(11)는, 이미 M개의 학습 데이터 xm을 취득하였으면(도 6의 스텝 ST13 : YES의 경우), 중간층(2)의 구조를 결정하는 제 1 처리 내용을 종료한다.
초기 설정부(11)는, 아직 M개의 학습 데이터 xm을 취득하지 않았으면(도 6의 스텝 ST13 : NO의 경우), 아직 취득하지 않은 학습 데이터 xm을 취득한다(도 6의 스텝 ST14).
본 실시의 형태 1에서는, 초기 설정부(11)는, 이 단계에 있어서, M개의 학습 데이터 xm을 취득하지 않았으므로, 아직 취득하지 않은 학습 데이터 xm으로서, 2개째의 학습 데이터 x2=(x1 2, x2 2, …, xI 2)를 취득한다.
초기 설정부(11)는, 2개째의 학습 데이터 x2=(x1 2, x2 2, …, xI 2)를 취득하면, 입력층(1)에 포함되어 있는 i번째의 소자 ai의 출력치 yi=xi 2로부터, 중간층(2)에 포함되어 있는 소자 b1, b2에 관한 가우스 함수의 파라미터를 초기 설정한다(도 6의 스텝 ST15).
즉, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1, b2에 관한 가우스 함수의 파라미터의 1개로서, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi 2로부터, 가우스 분포의 표준 편차치 σi, j(i=1, …, I : j=1, 2)를 산출한다.
또한, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1, b2에 관한 가우스 함수의 파라미터의 1개로서, 이하의 식 (4)에 나타내는 바와 같이, 입력층(1)에 포함되어 있는 i번째의 소자 ai의 출력치 yi=xi 2를 가우스 함수의 중심 좌표 μi, j(i=1, …, I : j=1, 2)에 초기 설정한다.
Figure 112019031668626-pct00004
또한, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1, b2에 관한 가우스 함수의 파라미터의 1개로서, 이하의 식 (5)에 나타내는 바와 같이, 입력층(1)에 포함되어 있는 i번째의 소자 ai(i=1, …, I)와 중간층(2)에 포함되어 있는 j번째의 소자 bj(j=1, 2)의 사이의 가중치 Wi, j를 초기 설정한다.
Figure 112019031668626-pct00005
여기서는, 가중치 Wi, j를 1로 설정하는 예를 나타내고 있지만, 이것은 일례에 지나지 않고, 1 이외의 값으로 설정하도록 하더라도 좋다.
초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1, b2에 관한 가우스 함수의 파라미터를 초기 설정하면, 그 파라미터의 초기치를 출력치 산출부(12)에 출력함과 아울러, 그 파라미터의 초기치를 데이터 기억부(14)에 저장한다.
출력치 산출부(12)는, 초기 설정부(11)로부터 중간층(2)에 포함되어 있는 소자 b1, b2에 관한 가우스 함수의 파라미터의 초기치를 취득한다.
또한, 출력치 산출부(12)는, 2개째의 학습 데이터 x2=(x1 2, x2 2, …, xI 2)를 취득한다.
출력치 산출부(12)는, 2개째의 학습 데이터 x2를 취득하면, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1을 산출한다(도 6의 스텝 ST16).
즉, 출력치 산출부(12)는, 이하의 식 (6)에 나타내는 가우스 함수에 대하여, 중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 초기치와, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi 2를 대입함으로써, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1을 산출한다.
중간층(2)에 포함되어 있는 소자 b1에 관한 가우스 함수의 파라미터의 초기치는, 가우스 분포의 표준 편차치 σi, 1(i=1, …, I), 가우스 함수의 중심 좌표 μi, 1(i=1, …, I), 가중치 Wi, 1(i=1, …, I)이다.
또한, 출력치 산출부(12)는, 이하의 식 (6)에 나타내는 가우스 함수에 대하여, 중간층(2)에 포함되어 있는 소자 b2에 관한 가우스 함수의 파라미터의 초기치와, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi 2를 대입함으로써, 중간층(2)에 포함되어 있는 소자 b2의 출력치 z2를 산출한다.
중간층(2)에 포함되어 있는 소자 b2에 관한 가우스 함수의 파라미터의 초기치는, 가우스 분포의 표준 편차치 σi, 2(i=1, …, I), 가우스 함수의 중심 좌표 μi, 2(i=1, …, I), 가중치 Wi, 2(i=1, …, I)이다.
Figure 112019031668626-pct00006
여기서는, 식 (6)에 있어서, i=1, …, I, j=1, 2이다.
출력치 산출부(12)는, 중간층(2)에 포함되어 있는 소자 b1의 출력치 z1 및 소자 b2의 출력치 z2를 산출하면, 소자 b1, b2의 출력치 z1, z2를 소자 구축부(13)에 출력함과 아울러, 소자 b1, b2의 출력치 z1, z2를 데이터 기억부(14)에 저장한다.
소자 구축부(13)는, 출력치 산출부(12)로부터 소자 b1, b2의 출력치 z1, z2를 받으면, 소자 b1, b2의 출력치 z1, z2와 임계치 Th를 비교한다(도 6의 스텝 ST17).
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 b1, b2의 출력치 z1, z2 중, 어느 하나의 출력치가 임계치 Th보다 크면(도 6의 스텝 ST17 : NO의 경우), 중간층(2)에 포함되어 있는 소자의 개수 J(J=2)를 유지한다. 중간층(2)에 포함되어 있는 소자 b1, b2의 출력치 z1, z2 중, 어느 하나의 출력치가 임계치 Th보다 큰 경우, 출력치가 임계치 Th보다 큰 소자는, 입력층(1)에 포함되어 있는 소자의 출력치에 대응하는 소자라고 말할 수 있다. 이 때문에, 새로운 소자 b3을 중간층(2)에 추가할 필요가 없기 때문에, 소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자의 개수 J(J=2)를 유지한다.
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 b1, b2의 출력치 z1, z2의 모두가 임계치 Th 이하이면(도 6의 스텝 ST17 : YES의 경우), 중간층(2)에 포함되어 있는 소자의 수가 증가하도록, 새로운 소자 b3을 중간층(2)에 추가한다(도 6의 스텝 ST18). 중간층(2)에 포함되어 있는 소자 b1, b2의 출력치 z1, z2의 모두가 임계치 Th 이하인 경우, 중간층(2)에 포함되어 있는 어느 소자도, 입력층(1)에 포함되어 있는 소자의 출력치에 대응하는 소자라고 말할 수 없다. 이 때문에, 소자 구축부(13)는, 새로운 소자 b3을 중간층(2)에 추가한다.
본 실시의 형태 1에서는, 설명의 편의상, 중간층(2)에 포함되어 있는 소자 b1, b2의 출력치 z1, z2의 모두가 임계치 Th 이하이기 때문에, 새로운 소자 b3을 중간층(2)에 추가하는 것으로 한다.
이후, 중간층(2)에 포함되어 있는 현재의 소자의 개수가 J개(J≥3)인 것으로 하여 설명한다.
초기 설정부(11)는, 소자 구축부(13)가 새로운 소자를 중간층(2)에 추가, 혹은, 중간층(2)에 포함되어 있는 소자의 개수 J를 유지하면, 이미, M개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)의 모두를 취득하였는지 여부를 판정한다(도 6의 스텝 ST13).
초기 설정부(11)는, 이미 M개의 학습 데이터 xm을 취득하였으면(도 6의 스텝 ST13 : YES의 경우), 중간층(2)의 구조를 결정하는 제 1 처리 내용을 종료한다.
초기 설정부(11)는, 아직 M개의 학습 데이터 xm을 취득하지 않았으면(도 6의 스텝 ST13 : NO의 경우), 아직 취득하지 않은 학습 데이터 xm을 취득한다(도 6의 스텝 ST14).
초기 설정부(11)는, 예컨대, M개의 학습 데이터 xm 중, 아직 m개째의 학습 데이터 xm을 취득하지 않았으면, m개째의 학습 데이터 xm을 취득한다.
초기 설정부(11)는, m개째의 학습 데이터 xm을 취득하면, 입력층(1)에 포함되어 있는 i번째의 소자 ai의 출력치 yi=xi m으로부터, 중간층(2)에 포함되어 있는 소자 b1~bJ에 관한 가우스 함수의 파라미터를 초기 설정한다(도 6의 스텝 ST15).
즉, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1~bJ에 관한 가우스 함수의 파라미터의 1개로서, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi m으로부터, 가우스 분포의 표준 편차치 σi, j(i=1, …, I : j=1…, J)를 산출한다.
또한, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1~bJ에 관한 가우스 함수의 파라미터의 1개로서, 식 (4)에 나타내는 바와 같이, 입력층(1)에 포함되어 있는 i번째의 소자 ai의 출력치 yi=xi m을 가우스 함수의 중심 좌표 μi, j에 초기 설정한다.
또한, 초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1~bJ에 관한 가우스 함수의 파라미터의 1개로서, 식 (5)에 나타내는 바와 같이, 입력층(1)에 포함되어 있는 i번째의 소자 ai(i=1, …, J)와 중간층(2)에 포함되어 있는 j번째의 소자 bj(j=1, …, J)의 사이의 가중치 Wi, j를 초기 설정한다.
여기서는, 가중치 Wi, j를 1로 설정하는 예를 나타내고 있지만, 이것은 일례에 지나지 않고, 1 이외의 값으로 설정하도록 하더라도 좋다.
초기 설정부(11)는, 중간층(2)에 포함되어 있는 소자 b1~bJ에 관한 가우스 함수의 파라미터를 초기 설정하면, 그 파라미터의 초기치를 출력치 산출부(12)에 출력함과 아울러, 그 파라미터의 초기치를 데이터 기억부(14)에 저장한다.
출력치 산출부(12)는, 초기 설정부(11)로부터 중간층(2)에 포함되어 있는 소자 b1~bJ에 관한 가우스 함수의 파라미터의 초기치를 취득한다.
또한, 출력치 산출부(12)는, m개째의 학습 데이터 xm=(x1 m, x2 m, …, xI m)을 취득한다.
출력치 산출부(12)는, m개째의 학습 데이터 xm=(x1 m, x2 m, …, xI m)을 취득하면, 중간층(2)에 포함되어 있는 소자 b1~bJ의 출력치 z1~zJ를 산출한다(도 6의 스텝 ST16).
즉, 출력치 산출부(12)는, 식 (6)에 나타내는 가우스 함수에 대하여, 중간층(2)에 포함되어 있는 소자 bj(j=1, …, J)에 관한 가우스 함수의 파라미터의 초기치와, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi m을 대입함으로써, 중간층(2)에 포함되어 있는 소자 bj의 출력치 zj(j=1, …, J)를 산출한다.
중간층(2)에 포함되어 있는 소자 bj에 관한 가우스 함수의 파라미터의 초기치는, 가우스 분포의 표준 편차치 σi, j(i=1, …, I : j=1, …, J), 가우스 함수의 중심 좌표 μi, j(i=1, …, I : j=1, …, J), 가중치 Wi, j(i=1, …, I : j=1, …, J)이다.
출력치 산출부(12)는, 중간층(2)에 포함되어 있는 소자 b1~bJ의 출력치 z1~zJ를 산출하면, 소자 b1~bJ의 출력치 z1~zJ를 소자 구축부(13)에 출력함과 아울러, 소자 b1~bJ의 출력치 z1~zJ를 데이터 기억부(14)에 저장한다.
소자 구축부(13)는, 출력치 산출부(12)로부터 소자 b1~bJ의 출력치 z1~zJ를 받으면, 소자 b1~bJ의 출력치 z1~zJ와 임계치 Th를 비교한다(도 6의 스텝 ST17).
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 b1~bJ의 출력치 z1~zJ 중, 어느 하나의 출력치가 임계치 Th보다 크면(도 6의 스텝 ST17 : NO의 경우), 중간층(2)에 포함되어 있는 소자의 개수 J를 유지한다.
소자 구축부(13)는, 중간층(2)에 포함되어 있는 소자 b1~bJ의 출력치 z1~zJ의 모두가 임계치 Th 이하이면(도 6의 스텝 ST17 : YES의 경우), 중간층(2)에 포함되어 있는 소자의 수가 증가하도록, 새로운 소자를 중간층(2)에 추가한다(도 6의 스텝 ST18).
스텝 ST13~ST18의 처리는, M개의 학습 데이터 xm의 모두가 취득될 때까지 반복하여 실시되고, 스텝 ST13의 판정 처리에서 "YES"라고 판정되면, 제 1 처리 내용이 종료된다.
파라미터 갱신부(15)는, 제 1 처리 내용이 종료된 후, 제 2 처리 내용을 실시한다.
즉, 파라미터 갱신부(15)는, 제 1 처리 내용이 종료된 후, M개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)이 순차적으로 주어질 때마다, 데이터 기억부(14)에 저장되어 있는 가우스 함수의 파라미터, 즉, 중간층(2)에 포함되어 있는 J개의 소자 bj(j=1, …, J)에 관한 가우스 함수의 파라미터의 학습을 행하는 지도 학습을 실시함으로써, 데이터 기억부(14)에 저장되어 있는 가우스 함수의 파라미터 및 중간층(2)에 포함되어 있는 j번째의 소자 bj와 출력층(3)에 포함되어 있는 소자 c의 사이의 가중치 vj를 갱신한다.
또한, 파라미터 갱신부(15)는, 지도 학습을 실시함으로써, 입력층(1)에 포함되어 있는 i번째의 소자 ai와 중간층(2)에 포함되어 있는 j번째의 소자 bj의 사이의 가중치 Wi, j를 갱신한다.
지도 학습 자체는 공지의 기술이기 때문에 상세한 설명을 생략하지만, 예컨대, 공지의 역전파(back propagation)법을 이용함으로써, 지도 학습을 실시할 수 있다.
또, 파라미터 갱신부(15)는, 가우스 함수에 있어서의 모든 파라미터를 갱신하도록 하더라도 좋지만, 가우스 함수에 있어서의 일부의 파라미터만을 갱신하도록 하더라도 좋다.
예컨대, 가우스 분포의 표준 편차치 σi, j, 가우스 함수의 중심 좌표 μi, j 및 가중치 Wi, j 중, 가우스 함수의 중심 좌표 μi, j를 고정하고, 가우스 분포의 표준 편차치 σi, j 및 가중치 Wi, j를 갱신하는 방법 A를 생각할 수 있다.
또한, 가우스 분포의 표준 편차치 σi, j를 고정하고, 가우스 함수의 중심 좌표 μi, j 및 가중치 Wi, j를 갱신하는 방법 B, 가중치 Wi, j를 고정하고, 가우스 분포의 표준 편차치 σi, j 및 가우스 함수의 중심 좌표 μi, j를 갱신하는 방법 C 등을 생각할 수 있다.
이상에서 분명한 바와 같이, 본 실시의 형태 1에 의하면, 소자 구축부(13)가, 출력치 산출부(12)에 의해 산출된 중간층(2)에 포함되어 있는 1개 이상의 소자 bj의 출력치 zj와 임계치 Th를 비교하고, 중간층(2)에 포함되어 있는 1개 이상의 소자 bj의 출력치 zj 중, 어느 하나의 출력치 zj가 임계치 Th보다 크면, 중간층(2)에 포함되어 있는 소자 bj의 수를 유지하고, 중간층(2)에 포함되어 있는 1개 이상의 소자 bj의 출력치 zj의 모두가 임계치 Th 이하이면, 중간층(2)에 포함되어 있는 소자 bj의 수를 늘리도록 구성했으므로, 뉴럴 네트워크의 중간층(2)에 포함되는 소자 bj가, 입출력 응답이 가우스 함수로 결정되는 소자이더라도, 뉴럴 네트워크의 중간층(2)에 포함되는 소자 bj의 수를 자동적으로 결정할 수 있는 효과를 발휘한다.
실시의 형태 2.
상기 실시의 형태 1에서는, 뉴럴 네트워크가 구비하고 있는 중간층(2)의 층수가 1인 예를 설명하고 있다.
본 실시의 형태 2에서는, 뉴럴 네트워크가 구비하고 있는 중간층(2)의 층수가 2 이상인 예를 설명한다.
도 7은 본 발명의 실시의 형태 2에 의한 네트워크 구축 장치가 적용하는 뉴럴 네트워크의 일례를 나타내는 설명도이다. 도 7에 있어서, 도 3과 동일 부호는 동일 또는 상당 부분을 나타내므로 설명을 생략한다.
중간층(2-1~2-G)은 입력층(1)과 출력층(3)의 사이에 종속으로 접속되어 있다.
g층째의 중간층(2-g)(g=1, 2, …, G)은 J(J는 1 이상의 정수)개의 소자 bj g(j=1, 2, …, J)를 포함하고 있고, j번째의 소자 bj g는, 입출력 응답이 가우스 함수로 결정되는 소자이다.
1층째의 중간층(2-1)은 도 3의 중간층(2)과 마찬가지로, 입력층(1)에 포함되어 있는 I개의 소자 ai의 출력치 yi=xi m이 j번째의 소자 bj 1에 주어지면, I개의 소자 ai의 출력치 yi로부터 j번째의 소자 bj m의 출력치 zj m을 산출하고, 소자 bj m의 출력치 zj m을 2층째의 중간층(2-2)에 출력한다.
g층째의 중간층(2-g)(g=2, 3, …, G-1)은 (g-1)층째의 중간층(2-(g-1))에 포함되어 있는 모든 소자 bj g-1의 출력치 zj g-1이 j번째의 소자 bj g에 주어지면, 모든 소자 bj g-1의 출력치 zj g-1로부터 j번째의 소자 bj g의 출력치 zj g를 산출하고, 소자 bj g의 출력치 zj g를 G층째의 중간층(2-G)에 출력한다.
G층째의 중간층(2-G)은 (G-1)층째의 중간층(2-(G-1))에 포함되어 있는 모든 소자 bj G-1의 출력치 zj G-1이 j번째의 소자 bj G에 주어지면, 모든 소자 bj G-1의 출력치 zj G-1로부터 j번째의 소자 bj G의 출력치 zj G를 산출하고, 소자 bj G의 출력치 zj G를 출력층(3)에 출력한다.
도 7에서는, 중간층(2-1~2-G)에 포함되어 있는 소자의 개수가 모두 동수이도록 표기하고 있지만, 후술하는 소자 구축부(13)의 처리에 의해, 중간층(2-1~2-G)에 포함되는 소자의 개수가 상이한 수로 결정되는 일이 있는 것은 말할 필요도 없다.
다음으로 동작에 대하여 설명한다.
상기 실시의 형태 1에서는, 지도 학습을 실시하기 전에, 중간층(2)의 구조를 결정하는 예를 설명했지만, 본 실시의 형태 2에서는, 지도 학습을 실시하기 전에, 중간층(2-1~2-G)의 구조를 결정하는 예를 설명한다.
본 실시의 형태 2에서는, 중간층(2-1~2-G) 중, 입력층(1)측의 중간층(2-g)(g=1, 2, …, G)으로부터 차례로, 중간층(2-g)의 구조를 결정한다.
도 8은 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우의 처리 수순인 네트워크 구축 방법을 나타내는 플로차트이다.
중간층(2-1~2-G) 중에서, 가장 입력층(1)측의 중간층(2-1)의 구조를 결정하는 처리는, 도 3의 중간층(2)의 구조를 결정하는 처리와 마찬가지이기 때문에 설명을 생략한다.
이하, 도 8을 참조하면서, 중간층(2-g)(g=2, 3, …, G)의 구조를 결정하는 처리 내용을 설명한다.
본 실시의 형태 2에서는, 중간층(2-g)에 포함되어 있는 소자 bj g의 개수 J의 초기치가 0개인 것으로 한다.
또한, 중간층(2-(g-1))에 포함되어 있는 소자 bj g-1의 개수 J가 이미 K개로 결정되어 있고, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1이 산출되어 있는 것으로 한다.
소자 구축부(13)는, 제 1 처리 내용을 실행함에 있어서, 중간층(2-g) 안에 소자 bj g가 포함되어 있는지 여부를 판정한다.
즉, 소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 bj g의 개수 J가 0개인지 여부를 판정한다(도 8의 스텝 ST21).
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 bj g의 개수 J가 0개라고 판정하면(도 8의 스텝 ST21 : YES의 경우), 중간층(2-g) 안에 새로운 소자 bj g를 1개 추가한다. 즉, 소자 구축부(13)는, 중간층(2-g) 안에 소자 b1 g를 작성한다(도 8의 스텝 ST22).
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 bj g의 개수 J가 0개가 아니라고 판정하면(도 8의 스텝 ST21 : NO의 경우), 이 단계에서는, 중간층(2-g) 안에 새로운 소자 bj g를 추가하는 처리를 행하지 않는다. 본 실시의 형태 2에서는, 중간층(2-g)에 포함되어 있는 소자 bj g의 개수 J의 초기치를 0개로 하고 있으므로, 여기서는, 소자 구축부(13)가 중간층(2-g) 안에 소자 b1 g를 작성한다.
초기 설정부(11)는, 소자 구축부(13)가 중간층(2-g) 안에 소자 b1 g를 작성하면, 이미, M개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)(m=1, …, M)이 입력층(1)에 주어졌고, M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하였는지 여부를 판정한다(도 8의 스텝 ST23).
초기 설정부(11)는, 이미 M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하였으면(도 8의 스텝 ST23 : YES의 경우), 중간층(2-g)의 구조를 결정하는 제 1 처리 내용을 종료한다.
초기 설정부(11)는, 아직 M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득하지 않았으면(도 8의 스텝 ST23 : NO의 경우), 아직 취득하지 않은 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득한다(도 8의 스텝 ST24).
본 실시의 형태 2에서는, 초기 설정부(11)는, 이 단계에 있어서, 1개째의 학습 데이터 x1에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득하지 않았으므로, 1개째의 학습 데이터 x1에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득한다.
초기 설정부(11)는, 1개째의 학습 데이터 x1에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득하면, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1로부터, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터를 초기 설정한다(도 8의 스텝 ST25).
즉, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 1개로서, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1로부터, 가우스 분포의 표준 편차치 σk, 1 g(k=1, …, K)를 산출한다.
또한, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 1개로서, 가우스 함수의 중심 좌표 μk, 1 g(k=1, …, K)를 초기 설정한다.
가우스 함수의 중심 좌표 μk, 1 g는, 이하의 식 (7)에 나타내는 바와 같이, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1의 출력치 zk g-1이다.
Figure 112019031668626-pct00007
또한, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 1개로서, 이하의 식 (8)에 나타내는 바와 같이, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1과 중간층(2-g)에 포함되어 있는 소자 b1 g의 사이의 가중치 Wk, 1 g를 초기 설정한다.
Figure 112019031668626-pct00008
여기서는, 가중치 Wk, 1 g를 1로 설정하는 예를 나타내고 있지만, 이것은 일례에 지나지 않고, 1 이외의 값으로 설정하도록 하더라도 좋다.
초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터를 초기 설정하면, 그 파라미터의 초기치를 출력치 산출부(12)에 출력함과 아울러, 그 파라미터의 초기치를 데이터 기억부(14)에 저장한다.
출력치 산출부(12)는, 초기 설정부(11)로부터 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 초기치를 취득한다.
또한, 출력치 산출부(12)는, 1개째의 학습 데이터 x1에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득한다.
출력치 산출부(12)는, 1개째의 학습 데이터 x1에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득하면, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g를 산출한다(도 8의 스텝 ST26).
즉, 출력치 산출부(12)는, 이하의 식 (9)에 나타내는 가우스 함수에 대하여, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 초기치와, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 대입함으로써, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g를 산출한다.
Figure 112019031668626-pct00009
출력치 산출부(12)는, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g를 산출하면, 소자 b1 g의 출력치 z1 g를 소자 구축부(13)에 출력함과 아울러, 소자 b1 g의 출력치 z1 g를 데이터 기억부(14)에 저장한다.
소자 구축부(13)는, 출력치 산출부(12)로부터 소자 b1 g의 출력치 z1 g를 받으면, 소자 b1 g의 출력치 z1 g와 사전에 설정된 임계치 Th를 비교한다(도 8의 스텝 ST27).
소자 b1 g의 출력치 z1 g는 최대 1이기 때문에, 임계치 Th로서는, 1 이하의 양의 실수, 혹은, e-0.25 이상 1 이하의 양의 실수 등을 생각할 수 있다.
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g가 임계치 Th보다 크면(도 8의 스텝 ST27 : NO의 경우), 중간층(2-g)에 포함되어 있는 소자의 개수 J(J=1)를 유지한다.
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g가 임계치 Th 이하이면(도 8의 스텝 ST27 : YES의 경우), 중간층(2-g)에 포함되어 있는 소자의 수가 증가하도록, 새로운 소자 b2 g를 중간층(2-g)에 추가한다(도 8의 스텝 ST28).
본 실시의 형태 2에서는, 설명의 편의상, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g가 임계치 Th 이하이기 때문에, 새로운 소자 b2 g를 중간층(2-g)에 추가하는 것으로 한다.
초기 설정부(11)는, 소자 구축부(13)가 새로운 소자 b2 g를 중간층(2-g)에 추가, 혹은, 중간층(2-g)에 포함되어 있는 소자의 개수 J를 유지하면, 이미, M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하였는지 여부를 판정한다(도 8의 스텝 ST23).
초기 설정부(11)는, 이미 M개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하였으면(도 8의 스텝 ST23 : YES의 경우), 중간층(2)의 구조를 결정하는 제 1 처리 내용을 종료한다.
초기 설정부(11)는, 아직 M개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하지 않았으면(도 8의 스텝 ST23 : NO의 경우), 아직 취득하지 않은 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득한다(도 8의 스텝 ST24).
본 실시의 형태 2에서는, 초기 설정부(11)는, 이 단계에 있어서, 2개째의 학습 데이터 x2에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하지 않았으므로, 2개째의 학습 데이터 x2에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득한다.
초기 설정부(11)는, 2개째의 학습 데이터 x2에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하면, 2개째의 학습 데이터 x2에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1로부터, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g에 관한 가우스 함수의 파라미터를 초기 설정한다(도 8의 스텝 ST25).
즉, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g에 관한 가우스 함수의 파라미터의 1개로서, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1로부터, 가우스 분포의 표준 편차치 σk, j g(k=1, …, K : j=1, 2)를 산출한다.
또한, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g에 관한 가우스 함수의 파라미터의 1개로서, 이하의 식 (10)에 나타내는 바와 같이, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1의 출력치 zk g-1을 가우스 함수의 중심 좌표 μk, j g(k=1, …, K : j=1, 2)에 초기 설정한다.
Figure 112019031668626-pct00010
또한, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g에 관한 가우스 함수의 파라미터의 1개로서, 이하의 식 (11)에 나타내는 바와 같이, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1과 중간층(2-g)에 포함되어 있는 j번째의 소자 bj g(j=1, 2)의 사이의 가중치 Wk, j g(k=1, …, K : j=1, 2)를 초기 설정한다.
Figure 112019031668626-pct00011
여기서는, Wk, j g를 1로 설정하는 예를 나타내고 있지만, 이것은 일례에 지나지 않고, 1 이외의 값으로 설정하도록 하더라도 좋다.
초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g에 관한 가우스 함수의 파라미터를 초기 설정하면, 그 파라미터의 초기치를 출력치 산출부(12)에 출력함과 아울러, 그 파라미터의 초기치를 데이터 기억부(14)에 저장한다.
출력치 산출부(12)는, 초기 설정부(11)로부터 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g에 관한 가우스 함수의 파라미터의 초기치를 취득한다.
또한, 출력치 산출부(12)는, 2개째의 학습 데이터 x2에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득한다.
출력치 산출부(12)는, 2개째의 학습 데이터 x2에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득하면, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g 및 소자 b2 g의 출력치 z2 g를 산출한다(도 8의 스텝 ST26).
즉, 출력치 산출부(12)는, 이하의 식 (12)에 나타내는 가우스 함수에 대하여, 중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 초기치와, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 대입함으로써, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g를 산출한다.
중간층(2-g)에 포함되어 있는 소자 b1 g에 관한 가우스 함수의 파라미터의 초기치는, 가우스 분포의 표준 편차치 σk, 1 g(k=1, …, K), 가우스 함수의 중심 좌표 μk, 1 g(k=1, …, K), 가중치 Wk, 1 g(k=1, …, K)이다.
또한, 출력치 산출부(12)는, 이하의 식 (12)에 나타내는 가우스 함수에 대하여, 중간층(2-g)에 포함되어 있는 소자 b2 g에 관한 가우스 함수의 파라미터의 초기치와, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 대입함으로써, 중간층(2-g)에 포함되어 있는 소자 b2 g의 출력치 z2 g를 산출한다.
중간층(2-g)에 포함되어 있는 소자 b2 g에 관한 가우스 함수의 파라미터의 초기치는, 가우스 분포의 표준 편차치 σk, 2 g(k=1, …, K), 가우스 함수의 중심 좌표 μk, 2 g(k=1, …, K), 가중치 Wk, 2 g(k=1, …, K)이다.
Figure 112019031668626-pct00012
여기서는, 식 (12)에 있어서, j=1, 2이다.
출력치 산출부(12)는, 중간층(2-g)에 포함되어 있는 소자 b1 g의 출력치 z1 g 및 소자 b2 g의 출력치 z2 g를 산출하면, 소자 b1 g, b2 g의 출력치 z1 g, z2 g를 소자 구축부(13)에 출력함과 아울러, 소자 b1 g, b2 g의 출력치 z1 g, z2 g를 데이터 기억부(14)에 저장한다.
소자 구축부(13)는, 출력치 산출부(12)로부터 소자 b1 g, b2 g의 출력치 z1 g, z2 g를 받으면, 소자 b1 g, b2 g의 출력치 z1 g, z2 g와 임계치 Th를 비교한다(도 8의 스텝 ST27).
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g의 출력치 z1 g, z2 g 중, 어느 하나의 출력치가 임계치 Th보다 크면(도 8의 스텝 ST27 : NO의 경우), 중간층(2-g)에 포함되어 있는 소자의 개수 J(J=2)를 유지한다.
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g의 출력치 z1 g, z2 g의 모두가 임계치 Th 이하이면(도 8의 스텝 ST27 : YES의 경우), 중간층(2-g)에 포함되어 있는 소자의 수가 증가하도록, 새로운 소자 b3 g를 중간층(2-g)에 추가한다(도 8의 스텝 ST28).
본 실시의 형태 2에서는, 설명의 편의상, 중간층(2-g)에 포함되어 있는 소자 b1 g, b2 g의 출력치 z1 g, z2 g의 모두가 임계치 Th 이하이기 때문에, 새로운 소자 b3 g를 중간층(2)에 추가하는 것으로 한다.
이후, 중간층(2-g)에 포함되어 있는 현재의 소자의 개수가 J개(J≥3)인 것으로 하여 설명한다.
초기 설정부(11)는, 소자 구축부(13)가 새로운 소자를 중간층(2-g)에 추가, 혹은, 중간층(2-g)에 포함되어 있는 소자의 개수 J를 유지하면, 이미, M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하였는지 여부를 판정한다(도 8의 스텝 ST23).
초기 설정부(11)는, 이미 M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하였으면(도 8의 스텝 ST23 : YES의 경우), 중간층(2)의 구조를 결정하는 제 1 처리 내용을 종료한다.
초기 설정부(11)는, 아직 M개째의 학습 데이터 xM에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하지 않았으면(도 8의 스텝 ST23 : NO의 경우), 아직 취득하지 않은 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득한다(도 8의 스텝 ST24).
본 실시의 형태 2에서는, 초기 설정부(11)는, 이 단계에 있어서, M개의 학습 데이터 중, m개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하지 않았으므로, m개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하는 것으로 한다.
초기 설정부(11)는, m개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1을 취득하면, m개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1로부터, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g에 관한 가우스 함수의 파라미터를 초기 설정한다(도 8의 스텝 ST25).
즉, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g에 관한 가우스 함수의 파라미터의 1개로서, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1로부터, 가우스 분포의 표준 편차치 σk, j g(k=1, …, K : j=1, …, J)를 산출한다.
또한, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g에 관한 가우스 함수의 파라미터의 1개로서, 식 (10)에 나타내는 바와 같이, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1의 출력치 zk g-1을 가우스 함수의 중심 좌표 μk, j g(k=1, …, K : j=1, …, J)에 초기 설정한다.
또한, 초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g에 관한 가우스 함수의 파라미터의 1개로서, 식 (11)에 나타내는 바와 같이, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1과 중간층(2-g)에 포함되어 있는 j번째의 소자 bj g(j=1, …, J)의 사이의 가중치 Wk, j g(k=1, …, K : j=1, …, J)를 초기 설정한다.
여기서는, Wk, j g를 1로 설정하는 예를 나타내고 있지만, 이것은 일례에 지나지 않고, 1 이외의 값으로 설정하도록 하더라도 좋다.
초기 설정부(11)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g에 관한 가우스 함수의 파라미터를 초기 설정하면, 그 파라미터의 초기치를 출력치 산출부(12)에 출력함과 아울러, 그 파라미터의 초기치를 데이터 기억부(14)에 저장한다.
출력치 산출부(12)는, 초기 설정부(11)로부터 중간층(2)에 포함되어 있는 소자 b1 g~bJ g에 관한 가우스 함수의 파라미터의 초기치를 취득한다.
또한, 출력치 산출부(12)는, m개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득한다.
출력치 산출부(12)는, m개째의 학습 데이터 xm에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 취득하면, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g의 출력치 z1 g~zJ g를 산출한다(도 8의 스텝 ST26).
즉, 출력치 산출부(12)는, 식 (12)에 나타내는 가우스 함수에 대하여, 중간층(2-g)에 포함되어 있는 소자 bj g(j=1, …, J)에 관한 가우스 함수의 파라미터의 초기치와, 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1의 출력치 zk g-1을 대입함으로써, 중간층(2-g)에 포함되어 있는 소자 bj g의 출력치 zj g(j=1, …, J)를 산출한다.
중간층(2-g)에 포함되어 있는 소자 bj g에 관한 가우스 함수의 파라미터의 초기치는, 가우스 분포의 표준 편차치 σk, j g(k=1, …, K : j=1, …, J), 가우스 함수의 중심 좌표 μk, j g(k=1, …, K : j=1, …, J), 가중치 Wk, j g(k=1, …, K : j=1, …, J)이다.
출력치 산출부(12)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g의 출력치 z1 g~zJ g를 산출하면, 소자 b1 g~bJ g의 출력치 z1 g~zJ g를 소자 구축부(13)에 출력함과 아울러, 소자 b1 g~bJ g의 출력치 z1 g~zJ g를 데이터 기억부(14)에 저장한다.
소자 구축부(13)는, 출력치 산출부(12)로부터 소자 b1 g~bJ g의 출력치 z1 g~zJ g를 받으면, 소자 b1 g~bJ g의 출력치 z1 g~zJ g와 임계치 Th를 비교한다(도 8의 스텝 ST27).
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g의 출력치 z1 g~zJ g 중, 어느 하나의 출력치가 임계치 Th보다 크면(도 8의 스텝 ST27 : NO의 경우), 중간층(2-g)에 포함되어 있는 소자의 개수 J를 유지한다.
소자 구축부(13)는, 중간층(2-g)에 포함되어 있는 소자 b1 g~bJ g의 출력치 z1 g~zJ g의 모두가 임계치 Th 이하이면(도 8의 스텝 ST27 : YES의 경우), 중간층(2-g)에 포함되어 있는 소자의 수가 증가하도록, 새로운 소자를 중간층(2-g)에 추가한다(도 8의 스텝 ST28).
스텝 ST23~ST28의 처리는, M개의 학습 데이터 xm(m=1, …, M)에 근거하는, 1개 전의 중간층(2-(g-1))에 포함되어 있는 K개의 소자 bk g-1(k=1, …, K)의 출력치 zk g-1이 취득될 때까지 반복하여 실시되고, 스텝 ST23의 판정 처리에서 "YES"라고 판정되면, 제 1 처리 내용이 종료된다.
파라미터 갱신부(15)는, 제 1 처리 내용이 종료된 후, 제 2 처리 내용을 실시한다.
즉, 파라미터 갱신부(15)는, 중간층(2-1~2-G)의 구조가 결정된 후, M개의 학습 데이터 xm=(x1 m, x2 m, …, xI m)이 순차적으로 주어질 때마다, 상기 실시의 형태 1과 마찬가지로, 데이터 기억부(14)에 저장되어 있는 가우스 함수의 파라미터를 갱신함과 아울러, 중간층(2-1~2-G)에 포함되어 있는 소자에 관한 가우스 함수의 파라미터의 학습을 행하는 지도 학습을 실시함으로써, 중간층(2-G)에 포함되어 있는 j번째의 소자 bj g와 출력층(3)에 포함되어 있는 소자 c의 사이의 가중치 vj를 갱신한다.
또한, 파라미터 갱신부(15)는, 지도 학습을 실시함으로써, 입력층(1)에 포함되어 있는 i번째의 소자 ai와 중간층(2-1)에 포함되어 있는 j번째의 소자 bj 1의 사이의 가중치 Wi, j 1, 중간층(2-(g-1))에 포함되어 있는 k번째의 소자 bk g-1(k=1, …, K)과 중간층(2-g)에 포함되어 있는 j번째의 소자 bj g(j=1, …, J)의 사이의 가중치 Wk, j g를 갱신한다.
즉, 중간층(2-1~2-G)에 포함되어 있는 소자에 관한 가우스 함수의 파라미터의 학습을 행하는 지도 학습을 실시함으로써, 데이터 기억부(14)에 저장되어 있는 가우스 함수의 파라미터 및 가중치를 갱신한다.
이상에서 분명한 바와 같이, 본 실시의 형태 2에 의하면, 뉴럴 네트워크가 2층 이상의 중간층(2-g)을 구비하고 있는 경우에도, 뉴럴 네트워크의 중간층(2-g)에 포함되는 소자 bj g의 수를 자동적으로 결정할 수 있는 효과를 발휘한다.
실시의 형태 3.
상기 실시의 형태 2에서는, 뉴럴 네트워크가 구비하고 있는 중간층(2-g)의 층수가 G로 고정되어 있는 예를 설명하고 있다.
본 실시의 형태 3에서는, 뉴럴 네트워크가 구비하는 중간층(2-g)의 층수를 적당히 결정하는 예를 설명한다.
도 9는 본 발명의 실시의 형태 3에 의한 네트워크 구축 장치를 나타내는 구성도이고, 도 10은 본 발명의 실시의 형태 3에 의한 네트워크 구축 장치의 하드웨어 구성도이다.
도 9 및 도 10에 있어서, 도 1 및 도 2와 동일 부호는 동일 또는 상당 부분을 나타내므로 설명을 생략한다.
층수 결정부(16)는 예컨대 도 10의 층수 결정 회로(26)로 실현되는 것이고, 뉴럴 네트워크가 구비하는 중간층(2-g)의 층수 G를 결정하는 처리를 실시한다.
도 9에서는, 네트워크 구축 장치의 구성 요소인 초기 설정부(11), 출력치 산출부(12), 소자 구축부(13), 데이터 기억부(14), 파라미터 갱신부(15) 및 층수 결정부(16)의 각각이, 도 10에 나타내는 바와 같은 전용 하드웨어, 즉, 초기 설정 회로(21), 출력치 산출 회로(22), 소자 구축 회로(23), 데이터 기억 회로(24), 파라미터 갱신 회로(25) 및 층수 결정 회로(26)로 실현되는 것을 상정하고 있다.
여기서, 데이터 기억 회로(24)는, 예컨대, RAM, ROM, 플래시 메모리, EPROM, EEPROM 등의 비휘발성 또는 휘발성의 반도체 메모리나, 자기 디스크, 플렉서블 디스크, 광 디스크, 콤팩트 디스크, 미니 디스크, DVD 등이 해당한다.
또한, 초기 설정 회로(21), 출력치 산출 회로(22), 소자 구축 회로(23), 파라미터 갱신 회로(25) 및 층수 결정 회로(26)는, 예컨대, 단일 회로, 복합 회로, 프로그램화한 프로세서, 병렬 프로그램화한 프로세서, ASIC, FPGA, 또는, 이들을 조합한 것이 해당한다.
단, 네트워크 구축 장치의 구성 요소는, 전용 하드웨어로 실현되는 것에 한하는 것이 아니고, 네트워크 구축 장치가 소프트웨어, 펌웨어, 또는, 소프트웨어와 펌웨어의 조합으로 실현되는 것이더라도 좋다.
네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 경우, 데이터 기억부(14)를 도 4에 나타내는 컴퓨터의 메모리(31) 상에 구성함과 아울러, 초기 설정부(11), 출력치 산출부(12), 소자 구축부(13), 파라미터 갱신부(15) 및 층수 결정부(16)의 처리 수순을 컴퓨터에 실행시키기 위한 프로그램을 메모리(31)에 저장하고, 도 4에 나타내는 컴퓨터의 프로세서(32)가 메모리(31)에 저장되어 있는 프로그램을 실행하도록 하면 된다.
또한, 도 10에서는 네트워크 구축 장치의 구성 요소의 각각이 전용 하드웨어로 실현되는 예를 나타내고, 도 4에서는, 네트워크 구축 장치가 소프트웨어나 펌웨어 등으로 실현되는 예를 나타내고 있지만, 네트워크 구축 장치에 있어서의 일부의 구성 요소가 전용 하드웨어로 실현되고, 나머지의 구성 요소가 소프트웨어나 펌웨어 등으로 실현되는 것이더라도 좋다.
다음으로 동작에 대하여 설명한다.
층수 결정부(16)를 실장하고 있는 점 이외에는, 상기 실시의 형태 2와 마찬가지이기 때문에, 여기서는, 층수 결정부(16)의 처리 내용만을 설명한다.
층수 결정부(16)는, 초기 설정부(11), 출력치 산출부(12) 및 소자 구축부(13)가, 상기 실시의 형태 2와 마찬가지의 방법으로, 1개의 중간층(2-g)의 구조를 결정하면, 그때마다, 구조 결정이 끝난 중간층(2-g)을 입력층(1)과 출력층(3)의 사이에 접속한다.
예컨대, 3개의 중간층(2-1~2-3)의 구조의 결정이 완료되어 있는 단계에서는, 3개의 중간층(2-1~2-3)을 입력층(1)과 출력층(3)의 사이에 접속한다.
또한, 4개의 중간층(2-1~2-4)의 구조의 결정이 완료되어 있는 단계에서는, 4개의 중간층(2-1~2-4)을 입력층(1)과 출력층(3)의 사이에 접속한다.
층수 결정부(16)는, 새롭게 구조를 결정한 중간층(2-g)을 입력층(1)과 출력층(3)의 사이에 접속하면, 임의의 데이터를 입력층(1)에 준다.
그리고, 층수 결정부(16)는, 데이터를 입력층(1)에 주고 나서, 출력층(3)으로부터 데이터가 출력될 때까지의 시간을, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta로서 계측한다.
Figure 112019031668626-pct00013
식 (13)에 있어서, TIN은 입력층(1)에 데이터가 입력된 시각, TOUT는 출력층(3)으로부터 데이터가 출력된 시각이다.
층수 결정부(16)는, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta를 계측하면, 그 입출력 시간 Ta와, 입출력 시간의 허용 시간 Tb를 비교한다.
입출력 시간의 허용 시간 Tb는, 네트워크 구축 장치가 허용하는 시간이고, 사전에 설정되는 시간이다.
층수 결정부(16)는, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta가, 입출력 시간의 허용 시간 Tb보다 짧은 경우, 데이터의 입출력 시간 Ta로부터, 입력층(1)과 출력층(3)의 사이에 접속되어 있는 각 1층에 대한 중간층(2-g)의 입출력 시간 Ta/E를 산출한다.
E는, 현시점에 있어서, 입력층(1)과 출력층(3)의 사이에 접속되어 있는 중간층(2-g)의 층수이다.
층수 결정부(16)는, 이하의 식 (14)를 만족하는 경우, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 1개 늘리더라도, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta가 허용 시간 Tb 이내에 있을 가능성이 높기 때문에, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 1개 늘리는 것을 허가한다.
이것에 의해, 초기 설정부(11), 출력치 산출부(12) 및 소자 구축부(13)는, 상기 실시의 형태 2와 마찬가지의 방법으로, 새롭게 추가하는 중간층(2-g)의 구조를 결정하는 처리를 실시한다.
Figure 112019031668626-pct00014
층수 결정부(16)는, 식 (14)를 만족하지 않는 경우, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 1개 늘리면, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta가 허용 시간 Tb를 넘을 가능성이 높기 때문에, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 늘리는 것을 거부한다.
이것에 의해, 현시점에 있어서, 입력층(1)과 출력층(3)의 사이에 접속되어 있는 중간층(2-g)의 층수 E가, 뉴럴 네트워크가 구비하는 중간층(2-g)의 층수 G로 결정된다.
이상에서 분명한 바와 같이, 본 실시의 형태 3에 의하면, 층수 결정부(16)가, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta와, 입출력 시간의 허용 시간 Tb로부터, 중간층(2-g)의 층수 G를 결정하도록 구성했으므로, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta를 허용 시간 Tb 이내에 설정할 수 있는 효과를 발휘한다.
본 실시의 형태 3에서는, 층수 결정부(16)가, 뉴럴 네트워크에 있어서의 데이터의 입출력 시간 Ta를 계측하고, 그 입출력 시간 Ta와 허용 시간 Tb로부터 중간층(2)의 층수 G를 결정하고 있는 예를 설명하고 있지만, 이것에 한하는 것이 아니다.
예컨대, 층수 결정부(16)가, 뉴럴 네트워크의 학습 시간 Tc를 계측하고, 그 학습 시간 Tc와, 학습 시간의 허용 시간 Td로부터 중간층(2)의 층수 G를 결정하도록 하더라도 좋다.
구체적으로는, 이하와 같다.
층수 결정부(16)는, 새롭게 구조를 결정한 중간층(2-g)을 입력층(1)과 출력층(3)의 사이에 접속하면, 학습 데이터를 입력층(1)에 줌으로써, 뉴럴 네트워크에 학습을 실시시킨다.
그리고, 층수 결정부(16)는, 예컨대, 학습 데이터를 입력층(1)에 주고 나서, 출력층(3)으로부터 데이터가 출력될 때까지의 시간을, 뉴럴 네트워크의 학습 시간 Tc로서 계측한다.
Figure 112019031668626-pct00015
식 (15)에 있어서, TIN은 입력층(1)에 학습 데이터가 입력된 시각, TOUT는 출력층(3)으로부터 데이터가 출력된 시각이다.
층수 결정부(16)는, 뉴럴 네트워크의 학습 시간 Tc를 계측하면, 그 학습 시간 Tc와, 학습 시간의 허용 시간 Td를 비교한다.
학습 시간의 허용 시간 Td는, 네트워크 구축 장치가 허용하는 시간이고, 사전에 설정되는 시간이다.
층수 결정부(16)는, 뉴럴 네트워크의 학습 시간 Tc가, 학습 시간의 허용 시간 Td보다 짧은 경우, 뉴럴 네트워크의 학습 시간 Tc로부터, 입력층(1)과 출력층(3)의 사이에 접속되어 있는 각 1층에 대한 중간층(2-g)의 학습 시간 Tc/E를 산출한다.
E는, 현시점에 있어서, 입력층(1)과 출력층(3)의 사이에 접속되어 있는 중간층(2-g)의 층수이다.
층수 결정부(16)는, 이하의 식 (16)을 만족하는 경우, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 1개 늘리더라도, 뉴럴 네트워크의 학습 시간 Tc가 허용 시간 Td 이내에 있을 가능성이 높기 때문에, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 1개 늘리는 것을 허가한다.
이것에 의해, 초기 설정부(11), 출력치 산출부(12) 및 소자 구축부(13)는, 상기 실시의 형태 2와 마찬가지의 방법으로, 새롭게 추가하는 중간층(2-g)의 구조를 결정하는 처리를 실시한다.
Figure 112019031668626-pct00016
층수 결정부(16)는, 식 (16)을 만족하지 않는 경우, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 1개 늘리면, 뉴럴 네트워크의 학습 시간 Tc가 허용 시간 Td를 넘을 가능성이 높기 때문에, 입력층(1)과 출력층(3)의 사이에 접속하는 중간층(2-g)의 수를 늘리는 것을 거부한다.
이것에 의해, 현시점에 있어서, 입력층(1)과 출력층(3)의 사이에 접속되어 있는 중간층(2-g)의 층수 E가, 뉴럴 네트워크가 구비하는 중간층(2-g)의 층수 G로 결정된다.
층수 결정부(16)가, 뉴럴 네트워크의 학습 시간 Tc를 계측하고, 그 학습 시간 Tc와 허용 시간 Td로부터 중간층(2)의 층수 G를 결정하는 경우, 뉴럴 네트워크의 학습 시간 Tc를 허용 시간 Td 이내에 설정할 수 있는 효과를 발휘한다.
또, 본원 발명은 그 발명의 범위 내에 있어서, 각 실시의 형태의 자유로운 조합, 혹은 각 실시의 형태의 임의의 구성 요소의 변형, 또는 각 실시의 형태에 있어서 임의의 구성 요소의 생략이 가능하다.
(산업상 이용가능성)
본 발명은, 뉴럴 네트워크를 구축하는 네트워크 구축 장치 및 네트워크 구축 방법에 적합하다.
1 : 입력층
2, 2-1~2-G : 중간층
3 : 출력층
11 : 초기 설정부
12 : 출력치 산출부
13 : 소자 구축부
14 : 데이터 기억부
15 : 파라미터 갱신부
16 : 층수 결정부
21 : 초기 설정 회로
22 : 출력치 산출 회로
23 : 소자 구축 회로
24 : 데이터 기억 회로
25 : 파라미터 갱신 회로
26 : 층수 결정 회로
31 : 메모리
32 : 프로세서

Claims (20)

  1. 입출력 응답이 가우스 함수로 결정되는 소자를 포함하는 중간층을 구비하는 뉴럴 네트워크를 구축할 때에, 상기 중간층에 포함되어 있는 소자마다, 당해 소자에 관한 가우스 함수의 파라미터를 초기 설정하는 초기 설정부와,
    상기 초기 설정부에 의해 초기 설정된 파라미터와 상기 뉴럴 네트워크의 입력층에 포함되어 있는 소자의 출력치에 따라 상기 중간층에 포함되어 있는 1개 이상의 소자의 출력치를 산출하는 출력치 산출부와,
    상기 출력치 산출부에 의해 산출된 1개 이상의 소자의 출력치와 임계치를 비교하고, 상기 중간층에 포함되어 있는 1개 이상의 소자의 출력치 중, 어느 하나의 소자의 출력치가 상기 임계치보다 크면, 상기 중간층에 포함되어 있는 소자의 수를 유지하고, 상기 중간층에 포함되어 있는 1개 이상의 소자의 출력치의 모두가 상기 임계치 이하이면, 상기 중간층에 포함되어 있는 소자의 수를 늘리는 소자 구축 처리를 실시하는 소자 구축부를 구비하되,
    상기 출력치 산출부는, 상기 초기 설정부에 의해 초기 설정된 파라미터를 갖는 가우스 함수에 대하여, 상기 입력층에 포함되어 있는 소자의 출력치를 대입함으로써, 상기 중간층에 포함되어 있는 소자의 출력치를 산출하며, 상기 가우스 함수의 파라미터의 1개로서, 상기 중간층에 포함되어 있는 각각의 소자에 대한 상기 가우스 함수에 있어서의 가우스 분포의 표준 편차치를 이용하는 것을 특징으로 하는
    네트워크 구축 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 소자 구축부에 의해 소자 구축 처리가 실시된 후, 학습 데이터가 상기 입력층에 주어졌을 때에 상기 가우스 함수의 파라미터의 학습을 행하는 지도 학습(supervised learning)을 실시함으로써, 상기 가우스 함수의 파라미터를 갱신함과 아울러, 상기 중간층에 포함되어 있는 소자와 출력층에 포함되어 있는 소자의 사이의 가중치를 갱신하는 파라미터 갱신부를 구비한 것을 특징으로 하는 네트워크 구축 장치.
  4. 제 3 항에 있어서,
    상기 파라미터 갱신부는, 상기 지도 학습을 실시함으로써, 상기 입력층에 포함되어 있는 소자와 상기 중간층에 포함되어 있는 소자의 사이의 가중치를 갱신하는 것을 특징으로 하는 네트워크 구축 장치.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 출력치 산출부는, 상기 중간층에 포함되어 있는 각각의 소자에 대한 상기 가우스 분포의 표준 편차치로서, 상기 입력층에 포함되어 있는 복수의 소자의 출력치의 표준 편차치를 이용하는 것을 특징으로 하는 네트워크 구축 장치.
  7. 제 1 항에 있어서,
    상기 출력치 산출부는, 상기 중간층에 포함되어 있는 각각의 소자에 대한 상기 가우스 분포의 표준 편차치로서, 양의 실수를 이용하는 것을 특징으로 하는 네트워크 구축 장치.
  8. 제 1 항에 있어서,
    상기 소자 구축부는, 상기 임계치로서, 1 이하의 양의 실수를 이용하는 것을 특징으로 하는 네트워크 구축 장치.
  9. 제 1 항에 있어서,
    상기 소자 구축부는, 상기 임계치로서, e-0.25 이상 1 이하의 양의 실수를 이용하는 것을 특징으로 하는 네트워크 구축 장치.
  10. 제 3 항에 있어서,
    상기 파라미터 갱신부는, 상기 가우스 함수의 파라미터로서, 상기 가우스 함수에 있어서의 가우스 분포의 표준 편차치를 나타내는 파라미터, 상기 가우스 함수의 중심 좌표를 나타내는 파라미터 중, 어느 1개 이상의 파라미터를 갱신하는 것을 특징으로 하는 네트워크 구축 장치.
  11. 제 1 항에 있어서,
    상기 뉴럴 네트워크가 G(G는 2 이상의 정수)층의 중간층을 구비하고, 상기 G층의 중간층이 상기 입력층과 출력층의 사이에 종속(縱續)으로 접속되어 있고,
    상기 출력치 산출부는, 상기 입력층에 포함되어 있는 소자의 출력치가 1층째의 중간층에 포함되어 있는 1개 이상의 소자에 주어지면, 상기 입력층에 포함되어 있는 소자의 출력치에 따라 1층째의 중간층에 포함되어 있는 1개 이상의 소자의 출력치를 산출하고, (g-1)층째(g=2, …, G)의 중간층에 포함되어 있는 소자의 출력치가 g층째(g=2, …, G)의 중간층에 포함되어 있는 1개 이상의 소자에 주어지면, (g-1)층째(g=2, …, G)의 중간층에 포함되어 있는 소자의 출력치에 따라 g층째(g=2, …, G)의 중간층에 포함되어 있는 1개 이상의 소자의 출력치를 산출하고,
    상기 소자 구축부는, 상기 출력치 산출부에 의해 산출된 g층째(g=1, …, G)의 중간층에 포함되어 있는 1개 이상의 소자의 출력치와 상기 임계치를 비교하고, g층째(g=1, …, G)의 중간층에 포함되어 있는 1개 이상의 소자의 출력치 중, 어느 하나의 소자의 출력치가 상기 임계치보다 크면, g층째(g=1, …, G)의 중간층에 포함되어 있는 소자의 수를 유지하고, g층째(g=1, …, G)의 중간층에 포함되어 있는 1개 이상의 소자의 출력치의 모두가 상기 임계치 이하이면, g층째(g=1, …, G)의 중간층에 포함되어 있는 소자의 수를 늘리는 소자 구축 처리를 실시하는
    것을 특징으로 하는 네트워크 구축 장치.
  12. 제 11 항에 있어서,
    상기 소자 구축부에 의해 소자 구축 처리가 실시된 후, 학습 데이터가 상기 입력층에 주어졌을 때에 G(G는 2 이상의 정수)층의 중간층에 포함되어 있는 소자에 관한 가우스 함수의 파라미터의 학습을 행하는 지도 학습을 실시함으로써, 상기 가우스 함수의 파라미터를 갱신함과 아울러, G층째의 중간층에 포함되어 있는 소자와 출력층에 포함되어 있는 소자의 사이의 가중치를 갱신하는 파라미터 갱신부를 구비한 것을 특징으로 하는 네트워크 구축 장치.
  13. 제 12 항에 있어서,
    상기 파라미터 갱신부는, 상기 지도 학습을 실시함으로써, (g-1)층째(g=2, …, G)의 중간층에 포함되어 있는 소자와 g층째(g=2, …, G)의 중간층에 포함되어 있는 소자의 사이의 가중치를 갱신하는 것을 특징으로 하는 네트워크 구축 장치.
  14. 제 12 항에 있어서,
    상기 파라미터 갱신부는, 상기 지도 학습을 실시함으로써, 상기 입력층에 포함되어 있는 소자와 1층째의 중간층에 포함되어 있는 소자의 사이의 가중치를 갱신하는 것을 특징으로 하는 네트워크 구축 장치.
  15. 제 11 항에 있어서,
    상기 뉴럴 네트워크가 구비하는 중간층의 층수를 결정하는 층수 결정부를 구비한 것을 특징으로 하는 네트워크 구축 장치.
  16. 제 15 항에 있어서,
    상기 층수 결정부는, 상기 뉴럴 네트워크에 있어서의 데이터의 입출력 시간과, 상기 입출력 시간의 허용 시간으로부터, 상기 중간층의 층수를 결정하는 것을 특징으로 하는 네트워크 구축 장치.
  17. 제 15 항에 있어서,
    상기 층수 결정부는, 상기 뉴럴 네트워크의 학습 시간과, 상기 학습 시간의 허용 시간으로부터, 상기 중간층의 층수를 결정하는 것을 특징으로 하는 네트워크 구축 장치.
  18. 입출력 응답이 가우스 함수로 결정되는 소자를 포함하는 중간층을 구비하는 뉴럴 네트워크를 구축할 때에, 초기 설정부가, 상기 중간층에 포함되어 있는 소자마다, 당해 소자에 관한 가우스 함수의 파라미터를 초기 설정하고,
    출력치 산출부가, 상기 초기 설정부에 의해 초기 설정된 파라미터와 상기 뉴럴 네트워크의 입력층에 포함되어 있는 소자의 출력치에 따라 상기 중간층에 포함되어 있는 1개 이상의 소자의 출력치를 산출하고,
    소자 구축부가, 상기 출력치 산출부에 의해 산출된 1개 이상의 소자의 출력치와 임계치를 비교하고, 상기 중간층에 포함되어 있는 1개 이상의 소자의 출력치 중, 어느 하나의 소자의 출력치가 상기 임계치보다 크면, 상기 중간층에 포함되어 있는 소자의 수를 유지하고, 상기 중간층에 포함되어 있는 1개 이상의 소자의 출력치의 모두가 상기 임계치 이하이면, 상기 중간층에 포함되어 있는 소자의 수를 늘리는 소자 구축 처리를 실시하되,
    상기 출력치 산출부가, 상기 초기 설정부에 의해 초기 설정된 파라미터를 갖는 가우스 함수에 대하여, 상기 입력층에 포함되어 있는 소자의 출력치를 대입함으로써, 상기 중간층에 포함되어 있는 소자의 출력치를 산출하고, 상기 가우스 함수의 파라미터의 1개로서, 상기 중간층에 포함되어 있는 각각의 소자에 대한 상기 가우스 함수에 있어서의 가우스 분포의 표준 편차치를 이용하는 것을 특징으로 하는
    네트워크 구축 방법.
  19. 삭제
  20. 제 18 항에 있어서,
    파라미터 갱신부가, 상기 소자 구축부에 의해 소자 구축 처리가 실시된 후, 학습 데이터가 상기 입력층에 주어졌을 때에 상기 가우스 함수의 파라미터의 학습을 행하는 지도 학습을 실시함으로써, 상기 가우스 함수의 파라미터를 갱신함과 아울러, 상기 중간층에 포함되어 있는 소자와 출력층에 포함되어 있는 소자의 사이의 가중치를 갱신하는 것을 특징으로 하는 네트워크 구축 방법.
KR1020197008947A 2016-10-03 2016-10-03 네트워크 구축 장치 및 네트워크 구축 방법 KR102027107B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/079283 WO2018066032A1 (ja) 2016-10-03 2016-10-03 ネットワーク構築装置及びネットワーク構築方法

Publications (2)

Publication Number Publication Date
KR20190039329A KR20190039329A (ko) 2019-04-10
KR102027107B1 true KR102027107B1 (ko) 2019-10-01

Family

ID=59082003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197008947A KR102027107B1 (ko) 2016-10-03 2016-10-03 네트워크 구축 장치 및 네트워크 구축 방법

Country Status (7)

Country Link
US (1) US11373110B2 (ko)
JP (1) JP6150964B1 (ko)
KR (1) KR102027107B1 (ko)
CN (1) CN109804386A (ko)
DE (1) DE112016007312T5 (ko)
TW (1) TWI643138B (ko)
WO (1) WO2018066032A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7023613B2 (ja) * 2017-05-11 2022-02-22 キヤノン株式会社 画像認識装置および学習装置
CN108830376B (zh) * 2018-06-13 2021-12-14 中国科学技术大学 针对时间敏感的环境的多价值网络深度强化学习方法
CN111325311B (zh) * 2018-12-14 2024-03-29 深圳云天励飞技术有限公司 用于图像识别的神经网络模型生成方法及相关设备

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03134761A (ja) * 1989-10-20 1991-06-07 Fujitsu Ltd 階層型ニューラルネットワークの中間層ユニット数推定方法
JPH0635707A (ja) * 1992-05-19 1994-02-10 Sanyo Electric Co Ltd 自己増殖型ニューロファジィ知識獲得装置およびそれを用いた次元推定装置
JPH06314268A (ja) * 1993-04-28 1994-11-08 Toshiba Corp ニューラルネットの調節装置及び調節方法
US5790758A (en) * 1995-07-07 1998-08-04 The United States Of America As Represented By The Secretary Of The Navy Neural network architecture for gaussian components of a mixture density function
JP2000259598A (ja) 1999-03-12 2000-09-22 Fuji Electric Co Ltd ニューラルネットワークの最適化学習方法
EP1235180A1 (en) * 2001-02-26 2002-08-28 Honda R&D Europe (Deutschland) GmbH Parameter adaptation in evolution strategies
AU2003241302A1 (en) 2002-04-19 2003-11-03 Computer Associates Think, Inc Using neural networks for data mining
US7577626B1 (en) * 2006-05-26 2009-08-18 Georgios Mountrakis Multi-scale radial basis function neural network
TW201116256A (en) 2009-11-09 2011-05-16 Charder Electronic Co Ltd Device for measuring human body composition by using biolectrical impedance method and artificial neural network
JP5510014B2 (ja) 2010-04-13 2014-06-04 富士通株式会社 ニューラルネットワーク設計方法及びプログラム
JP5467951B2 (ja) * 2010-07-05 2014-04-09 本田技研工業株式会社 ニューラルネットワーク学習装置
JP5779332B2 (ja) * 2010-11-03 2015-09-16 学校法人中部大学 ニューラルネットワークの学習装置、学習方法およびそれを用いたmpptコンバータの制御装置
US8489529B2 (en) 2011-03-31 2013-07-16 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, Restricted Boltzmann Machine and batch-based parallelizable optimization
US8943008B2 (en) * 2011-09-21 2015-01-27 Brain Corporation Apparatus and methods for reinforcement learning in artificial neural networks
US9235799B2 (en) * 2011-11-26 2016-01-12 Microsoft Technology Licensing, Llc Discriminative pretraining of deep neural networks
TW201331855A (zh) * 2012-01-19 2013-08-01 Univ Nat Taipei Technology 具自由回饋節點的高速硬體倒傳遞及回饋型類神經網路
US9189730B1 (en) 2012-09-20 2015-11-17 Brain Corporation Modulated stochasticity spiking neuron network controller apparatus and methods
KR102219346B1 (ko) * 2013-05-30 2021-02-23 프레지던트 앤드 펠로우즈 오브 하바드 칼리지 베이지안 최적화를 수행하기 위한 시스템 및 방법
US9728184B2 (en) * 2013-06-18 2017-08-08 Microsoft Technology Licensing, Llc Restructuring deep neural network acoustic models
CN104143327B (zh) * 2013-07-10 2015-12-09 腾讯科技(深圳)有限公司 一种声学模型训练方法和装置
US10311356B2 (en) * 2013-09-09 2019-06-04 North Carolina State University Unsupervised behavior learning system and method for predicting performance anomalies in distributed computing infrastructures
US9484022B2 (en) * 2014-05-23 2016-11-01 Google Inc. Training multiple neural networks with different accuracy
US11256982B2 (en) * 2014-07-18 2022-02-22 University Of Southern California Noise-enhanced convolutional neural networks
US10846589B2 (en) * 2015-03-12 2020-11-24 William Marsh Rice University Automated compilation of probabilistic task description into executable neural network specification
US11119233B2 (en) * 2015-04-10 2021-09-14 Total Sa Method for estimating elastic parameters of subsoil
US9514391B2 (en) * 2015-04-20 2016-12-06 Xerox Corporation Fisher vectors meet neural networks: a hybrid visual classification architecture
US10573304B2 (en) * 2015-05-26 2020-02-25 Katholieke Universiteit Leuven Speech recognition system and method using an adaptive incremental learning approach
NL2015087B1 (en) * 2015-06-05 2016-09-09 Univ Amsterdam Deep receptive field networks.
US10776691B1 (en) * 2015-06-23 2020-09-15 Uber Technologies, Inc. System and method for optimizing indirect encodings in the learning of mappings
US9734567B2 (en) * 2015-06-24 2017-08-15 Samsung Electronics Co., Ltd. Label-free non-reference image quality assessment via deep neural network
US9633274B2 (en) * 2015-09-15 2017-04-25 Mitsubishi Electric Research Laboratories, Inc. Method and system for denoising images using deep Gaussian conditional random field network
CN105335816A (zh) * 2015-10-13 2016-02-17 国网安徽省电力公司铜陵供电公司 基于深度学习的电力通信网运行趋势与业务风险分析方法
US11049004B1 (en) * 2015-11-15 2021-06-29 ThetaRay Ltd. System and method for anomaly detection in dynamically evolving data using random neural network decomposition
FR3045892B1 (fr) * 2015-12-21 2018-06-22 Commissariat A L'energie Atomique Et Aux Energies Alternatives Circuit neuronal optimise, architecture et procede pour l'execution des reseaux de neurones.
JP6719773B2 (ja) * 2015-12-25 2020-07-08 国立大学法人大阪大学 分類分析方法、分類分析装置および分類分析用記憶媒体
US9830558B1 (en) * 2016-05-03 2017-11-28 Sas Institute Inc. Fast training of support vector data description using sampling
US9990592B2 (en) * 2016-02-10 2018-06-05 Sas Institute Inc. Kernel parameter selection in support vector data description for outlier identification
US10482196B2 (en) * 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
US9704257B1 (en) * 2016-03-25 2017-07-11 Mitsubishi Electric Research Laboratories, Inc. System and method for semantic segmentation using Gaussian random field network
CN105912790A (zh) * 2016-04-15 2016-08-31 重庆大学 基于深度回归模型的遥感水质监测方法
US10963540B2 (en) * 2016-06-02 2021-03-30 Brown University Physics informed learning machine
US11222263B2 (en) * 2016-07-28 2022-01-11 Samsung Electronics Co., Ltd. Neural network method and apparatus
US11450064B2 (en) * 2016-09-06 2022-09-20 Carnegie Mellon University Gaussian mixture model based approximation of continuous belief distributions
DE102016216951A1 (de) * 2016-09-07 2018-03-08 Robert Bosch Gmbh Modellberechnungseinheit und Steuergerät zur wahlweisen Berechnung eines RBF-Modells, eines Gauß-Prozess-Modells und eines MLP-Modells
JP6562883B2 (ja) * 2016-09-20 2019-08-21 株式会社東芝 特性値推定装置および特性値推定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
다층신경망[개념], happycontrol.tistory.com, 2014.10.26.*

Also Published As

Publication number Publication date
US11373110B2 (en) 2022-06-28
CN109804386A (zh) 2019-05-24
WO2018066032A1 (ja) 2018-04-12
JP6150964B1 (ja) 2017-06-21
US20190251399A1 (en) 2019-08-15
JPWO2018066032A1 (ja) 2018-10-04
DE112016007312T5 (de) 2019-07-04
TW201814595A (zh) 2018-04-16
TWI643138B (zh) 2018-12-01
KR20190039329A (ko) 2019-04-10

Similar Documents

Publication Publication Date Title
JP7052034B2 (ja) 重みデータの保存方法及びこの方法をベースとするニューラルネットワークプロセッサ
KR102027107B1 (ko) 네트워크 구축 장치 및 네트워크 구축 방법
KR20210032140A (ko) 뉴럴 네트워크에 대한 프루닝을 수행하는 방법 및 장치
Kazemi et al. Predicting seismic response of SMRFs founded on different soil types using machine learning techniques
US20150006444A1 (en) Method and system for obtaining improved structure of a target neural network
US11586909B2 (en) Information processing method, information processing apparatus, and computer readable storage medium
JP6950756B2 (ja) ニューラルネットワークのランク最適化装置および最適化方法
CN114912578B (zh) 结构响应预测模型的训练方法、装置和计算机设备
US20200125930A1 (en) Artificial neural network and method of training an artificial neural network with epigenetic neurogenesis
CN111598213B (zh) 网络训练方法、数据识别方法、装置、设备和介质
CN108168577A (zh) 基于bp神经网络的mems陀螺随机误差补偿方法
CN109446476B (zh) 一种多模式传感器信息解耦方法
KR20200052441A (ko) 뉴럴 네트워크를 이용하여 3d 미세구조를 생성하는 방법 및 장치
CN113032902A (zh) 一种基于机器学习优化的高速列车气动头部外形设计方法
KR20200058258A (ko) 지반 층상정보 예측 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 저장 매체
JP7147160B2 (ja) 山留め支援装置及び山留め支援モデル学習装置
JPWO2018087814A1 (ja) マルチタスク関係学習システム、方法およびプログラム
US11810003B2 (en) Learning tree output node selection using a measure of node reliability
Casciati et al. The potential of the firefly algorithm for damage localization and stiffness identification
Várkonyi et al. Extreme Learning Machines with Regularization for the Classification of Gene Expression Data.
Lathief et al. Combination of Fuzzy C-Means, Xie-Beni Index, and Backpropagation Neural Network for Better Forecasting Result
Zhang et al. Order and parameter estimation of linear systems with a generalized ADALINE neural network
JP5011529B2 (ja) データ処理装置、データ処理方法及びプログラム
KR20180019347A (ko) 심층 신경망 기반의 음성인식 시스템
KR101716093B1 (ko) 다중 센서 신호 기반의 상황 인식 방법 및 장치

Legal Events

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