KR102084930B1 - 추론 장치 및 추론 방법 - Google Patents

추론 장치 및 추론 방법 Download PDF

Info

Publication number
KR102084930B1
KR102084930B1 KR1020177027350A KR20177027350A KR102084930B1 KR 102084930 B1 KR102084930 B1 KR 102084930B1 KR 1020177027350 A KR1020177027350 A KR 1020177027350A KR 20177027350 A KR20177027350 A KR 20177027350A KR 102084930 B1 KR102084930 B1 KR 102084930B1
Authority
KR
South Korea
Prior art keywords
layer
node
activity
intermediate layer
nodes
Prior art date
Application number
KR1020177027350A
Other languages
English (en)
Other versions
KR20170122241A (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 KR20170122241A publication Critical patent/KR20170122241A/ko
Application granted granted Critical
Publication of KR102084930B1 publication Critical patent/KR102084930B1/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/084Backpropagation, e.g. using gradient descent
    • 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/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

제 1 중간층 활성도 산출부(5)가, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스를 참조하여, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도와 제 1 중간층 기억부(2)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 1 중간층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 1 중간층의 각 노드에서의 활성도를 산출한다. 이것에 의해, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있다. 또한, 보다 높은 추론 정확도를 얻을 수 있다.

Description

추론 장치 및 추론 방법
본 발명은, 뉴럴 네트워크를 이용한 추론 장치 및 추론 방법에 관한 것이다.
기계 학습 수법의 하나로서, 뉴럴 네트워크(neural network)는 높은 문제 해결 능력을 갖고, 화상 인식, 음성 인식, 이상 검지, 장래 예측 등의 많은 처리에 이용되고 있다.
뉴럴 네트워크의 구조의 하나로서, 계층형 뉴럴 네트워크가 있고, 학습 수법으로서, 주로 지도 학습(supervised learning)과 자율 학습(unsupervised learning)의 2종류가 있다.
지도 학습은, 복수의 학습 예의 입력 데이터와 목표 출력을 주고, 실제의 출력과 목표 출력이 일치하도록, 뉴럴 네트워크의 결합 상태를 조정하는 수법이다. 또한, 자율 학습은, 목표 출력을 주지 않고, 학습 예가 갖는 본질적인 특징을 추출할 수 있도록, 뉴럴 네트워크의 결합 상태를 조정하는 수법이다.
예컨대, 지도 학습법에 속하는 오차 역전파법(backpropagation algorithm)에는, 뉴럴 네트워크의 계층의 수가 많아지면, 학습 결과가 수속되지 않게 되는 문제를 발생시키는 일이 있다.
상기의 문제를 해결하기 위해, 예컨대, 자기 부호화기(Autoencoder)나 제약 볼츠만 머신(Restrict Boltzmann Machine) 등의 자율 학습을 이용하여 층마다의 사전 학습(Pre-training)을 실시함으로써, 뉴럴 네트워크의 결합 상태의 초기치를 결정하고, 그 후, 오차 역전파법을 이용하여, 뉴럴 네트워크의 결합 상태를 조정(Fine-tuning)하도록 하고 있는 것이 있다.
이것에 의해, 학습 결과가 수속되지 않게 되는 문제의 발생을 초래하는 일 없이, 실제의 출력과 목표 출력이 일치하도록, 뉴럴 네트워크의 결합 상태를 조정할 수 있다.
계층형 뉴럴 네트워크는, 복수의 노드(절점(節點)) 및 노드간을 결합하는 에지(가지(branch))로 구성되는 그래프 구조로 나타낼 수 있지만, 예컨대, 4층의 뉴럴 네트워크에서는, 복수의 노드가 입력층, 제 1 중간층, 제 2 중간층, 출력층으로 계층화되고, 동일 계층에 속하는 노드간의 에지는 존재하지 않고, 인접하고 있는 층의 사이에만 에지가 존재한다. 중간층은 숨겨진 층(hidden layer)으로 불리는 일이 있다.
각 에지에는, 연결된 2개의 노드간의 결합 정도를 나타내는 파라미터가 존재하고, 그 파라미터는, 에지 가중치로 불리고 있다.
계층형 뉴럴 네트워크를 이용하여, 학습 또는 추론을 행할 때, 그 계산량 및 메모리량은 에지의 수에 비례한다. 일반적으로, 각 층에 속하는 노드는, 인접하고 있는 층에 속하는 모든 노드와 에지로 접속되어 있기 때문에, 계산량 및 메모리량이 노드의 수와 직접 관계된다.
예컨대, 입력층의 노드의 수가 N, 제 1 중간층의 노드의 수가 M1, 제 2 중간층의 노드의 수가 M2, 출력층의 노드의 수가 1인 경우에는, 입력층과 제 1 중간층의 사이의 에지의 수가 N×M1, 제 1 중간층과 제 2 중간층의 사이의 에지의 수가 M1×M2, 제 2 중간층과 출력층의 사이의 에지의 수가 M2가 되기 때문에, 학습 또는 추론을 행할 때의 계산량 및 메모리량이, (N×M1+M1×M2+M2)에 비례한다.
특히, 중간층의 노드의 수가 입력층의 노드의 수에 비례하는 경우, 노드의 수가 N개인 입력층에 대하여, 제 1 중간층의 노드의 수가 M1=a×N개, 제 2 중간층의 노드의 수가 M2=b×N개가 된다. 이 경우, 뉴럴 네트워크에 있어서의 에지의 총수가 N×a×N+a×N×b×N+b×N=(a+a×b)×N2+b×N이 되고, 학습 또는 추론을 행할 때의 계산량 및 메모리량이, (a+a×b)×N2+b×N에 비례한다.
계층형 뉴럴 네트워크는, 이상과 같은 구조를 갖는 것이 많고, 계산량 및 메모리량이, 입력 데이터의 수인 N의 2승, 즉, 입력층의 노드의 수 N의 2승에 비례하여 증가하기 때문에, 입력 데이터의 수의 증대와 함께 계산량 및 메모리량이 비약적으로 증가하고, 계산기 리소스 부족, 처리 지연, 장치 비용 증대 등의 문제가 발생한다.
이하의 특허 문헌 1에는, 복수의 입력 데이터의 상관 관계에 근거하여, 복수의 입력 데이터를 그룹화함으로써, 입력층과 중간층의 사이의 에지의 수나, 중간층과 출력층의 사이의 에지의 수를 삭감하고 있다.
(선행 기술 문헌)
(특허 문헌)
(특허 문헌 1) 일본 특허 공개 2011-54200호 공보(도 1)
종래의 추론 장치는 이상과 같이 구성되어 있으므로, 입력층과 중간층의 사이의 에지의 수나, 중간층과 출력층의 사이의 에지의 수를 삭감할 수 있다. 그러나, 동일 그룹에 속하는 입력층과 중간층의 사이에서는, 입력층의 각 노드가, 중간층의 모든 노드와 접속되기 때문에, 에지의 삭감 수가 한정적이고, 여전히, 추론을 행할 때의 계산량 및 메모리량이 커져 버린다고 하는 과제가 있었다.
본 발명은 상기와 같은 과제를 해결하기 위해 이루어진 것으로, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있는 추론 장치 및 추론 방법을 얻는 것을 목적으로 한다. 또한, 추론 정확도가 높은 추론 장치 및 추론 방법을 얻는 것을 목적으로 한다.
본 발명과 관련되는 추론 장치는, 뉴럴 네트워크를 구성하고 있는 입력층의 각 노드에 데이터가 주어지면, 그 데이터로부터 입력층의 각 노드에서의 활성도를 산출하는 입력층 활성도 산출부와, 뉴럴 네트워크를 구성하고 있는 중간층의 노드와 입력층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고 있는 중간층 기억부와, 입력층 활성도 산출부에 의해 산출된 입력층의 각 노드에서의 활성도 및 중간층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 중간층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 취득하고, 그 취득한 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 이용하여, 중간층의 각 노드에서의 활성도를 산출하는 중간층 활성도 산출부와, 중간층 활성도 산출부에 의해 산출된 중간층의 각 노드에서의 활성도를 이용하여, 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드에서의 활성도를 산출하도록 한 것이다.
본 발명에 의하면, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있는 효과가 있다. 또한, 다른 효과로서, 보다 높은 추론 정확도를 얻을 수 있다.
도 1은 본 발명의 실시의 형태 1에 의한 추론 장치를 나타내는 구성도이다.
도 2는 본 발명의 실시의 형태 1에 의한 추론 장치를 나타내는 하드웨어 구성도이다.
도 3은 추론 장치가 컴퓨터로 구성되는 경우의 하드웨어 구성도이다.
도 4는 본 발명의 실시의 형태 1에 의한 추론 장치의 처리 내용인 추론 방법을 나타내는 플로차트이다.
도 5는 입력층 활성도 산출부(1), 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(6), 제 3 중간층 활성도 산출부(7) 및 출력층 활성도 산출부(9)의 처리 내용을 나타내는 플로차트이다.
도 6은 본 발명의 실시의 형태 1에 의한 추론 장치에 적용하는 계층형 뉴럴 네트워크를 나타내는 설명도이다.
도 7은 인덱스, 에지 가중치 및 바이어스 값의 일례를 나타내는 설명도이다.
도 8은 복수의 에지에 의해 형성되는 루프의 예를 나타내는 설명도이다.
도 9는 입력층에 주어지는 화상 데이터를 10종의 클래스로 식별하는 뉴럴 네트워크의 일례를 나타내는 설명도이다.
도 10은 입력층으로부터 제 1 중간층, 제 1 중간층으로부터 제 2 중간층(문맥층), 제 2 중간층(문맥층)으로부터 제 1 중간층, 제 1 중간층으로부터 출력층으로 가지 접속을 갖고 있는 회귀 뉴럴 네트워크(RNN)인 엘만 네트워크(Elman Network)를 나타내는 설명도이다.
도 11은 본 발명의 실시의 형태 7에 의한 추론 장치를 나타내는 구성도이다.
도 12는 중간층 내에서 노드끼리의 가지 접속이나 자기 접속이 존재함과 아울러, 입력층으로부터 중간층을 건너뛰고 출력층에 접속하는 가지가 존재하는 뉴럴 네트워크인 Echo State Network의 예를 나타내는 설명도이다.
도 13은 도 12의 Echo State Network를 층 단위로 나타내고 있는 설명도이다.
도 14는 본 발명의 실시의 형태 8에 의한 추론 장치를 나타내는 구성도이다.
이하, 본 발명을 보다 상세하게 설명하기 위해, 본 발명을 실시하기 위한 형태에 대하여, 첨부한 도면에 따라 설명한다.
실시의 형태 1.
도 1은 본 발명의 실시의 형태 1에 의한 추론 장치를 나타내는 구성도이고, 도 2는 본 발명의 실시의 형태 1에 의한 추론 장치를 나타내는 하드웨어 구성도이다.
도 1에서는, 복수의 노드가, 입력층, 제 1 중간층, 제 2 중간층, 제 3 중간층, 출력층으로 계층화되어 있는 5층의 계층형 뉴럴 네트워크를 이용하는 추론 장치의 예를 나타내고 있다. 또한, 도 1의 예에서는, 입력층에 주어지는 데이터가 화상 데이터인 예를 나타내고 있다.
여기서는, 5층의 계층형 뉴럴 네트워크를 이용하는 예를 나타내고 있지만, 5층의 계층형 뉴럴 네트워크에 한하는 것이 아니고, 3층이나 4층, 혹은, 6층 이상의 계층형 뉴럴 네트워크를 이용하는 것이더라도 좋다.
덧붙여서, 3층의 계층형 뉴럴 네트워크를 이용하는 경우, 중간층은 제 1 중간층만이 되고, 후술하는 제 2 중간층 기억부(3), 제 3 중간층 기억부(4), 제 2 중간층 활성도 산출부(6) 및 제 3 중간층 활성도 산출부(7)가 불필요하게 된다.
도 1 및 도 2에 있어서, 입력층 활성도 산출부(1)는 예컨대 CPU(Central Processing Unit)를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 입력층 활성도 산출 회로(11)로 실현되는 것이고, 계층형 뉴럴 네트워크를 구성하고 있는 입력층의 각 노드에 화상 데이터가 주어지면, 그 화상 데이터로부터 입력층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
중간층 기억부인 제 1 중간층 기억부(2)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 중간층 기억 장치(12)로 실현되는 것이고, 제 1 중간층의 각 노드와 입력층의 각 노드의 접속 관계를 나타내는 인덱스(접속 정보)와, 제 1 중간층의 노드와 입력층의 노드를 접속하고 있는 각 에지의 가중치와, 제 1 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
중간층 기억부인 제 2 중간층 기억부(3)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 중간층 기억 장치(12)로 실현되는 것이고, 제 2 중간층의 각 노드와 제 1 중간층의 각 노드의 접속 관계를 나타내는 인덱스와, 제 2 중간층의 노드와 제 1 중간층의 노드를 접속하고 있는 각 에지의 가중치와, 제 2 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
중간층 기억부인 제 3 중간층 기억부(4)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 중간층 기억 장치(12)로 실현되는 것이고, 제 3 중간층의 각 노드와 제 2 중간층의 각 노드의 접속 관계를 나타내는 인덱스와, 제 3 중간층의 노드와 제 2 중간층의 노드를 접속하고 있는 각 에지의 가중치와, 제 3 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
중간층 활성도 산출부인 제 1 중간층 활성도 산출부(5)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 중간층 활성도 산출 회로(13)로 실현되는 것이고, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스를 참조하여, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도와 제 1 중간층 기억부(2)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 1 중간층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 1 중간층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
중간층 활성도 산출부인 제 2 중간층 활성도 산출부(6)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 중간층 활성도 산출 회로(13)로 실현되는 것이고, 제 2 중간층 기억부(3)에 기억되어 있는 인덱스를 참조하여, 제 1 중간층 활성도 산출부(5)에 의해 산출된 제 1 중간층의 각 노드에서의 활성도와 제 2 중간층 기억부(3)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 2 중간층의 각 노드와 접속 관계가 있는 제 1 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 제 1 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 2 중간층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
중간층 활성도 산출부인 제 3 중간층 활성도 산출부(7)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 중간층 활성도 산출 회로(13)로 실현되는 것이고, 제 3 중간층 기억부(4)에 기억되어 있는 인덱스를 참조하여, 제 2 중간층 활성도 산출부(6)에 의해 산출된 제 2 중간층의 각 노드에서의 활성도와 제 3 중간층 기억부(4)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 3 중간층의 각 노드와 접속 관계가 있는 제 2 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 제 2 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 3 중간층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
출력층 기억부(8)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 출력층 기억 장치(14)로 실현되는 것이고, 출력층의 각 노드와 제 3 중간층의 각 노드의 접속 관계를 나타내는 인덱스(접속 정보)와, 출력층의 노드와 제 3 중간층의 노드를 접속하고 있는 각 에지의 가중치와, 출력층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
출력층 활성도 산출부(9)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 출력층 활성도 산출 회로(15)로 실현되는 것이고, 출력층 기억부(8)에 기억되어 있는 인덱스를 참조하여, 제 3 중간층 활성도 산출부(7)에 의해 산출된 제 3 중간층의 각 노드에서의 활성도와 출력층 기억부(8)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 출력층의 각 노드와 접속 관계가 있는 제 3 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 제 3 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 출력층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
도 1에서는, 추론 장치의 구성 요소인 입력층 활성도 산출부(1), 제 1 중간층 기억부(2), 제 2 중간층 기억부(3), 제 3 중간층 기억부(4), 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(6), 제 3 중간층 활성도 산출부(7), 출력층 기억부(8) 및 출력층 활성도 산출부(9)의 각각이 전용 하드웨어로 구성되어 있는 것을 상정하고 있지만, 추론 장치가 컴퓨터로 구성되어 있더라도 좋다.
도 3은 추론 장치가 컴퓨터로 구성되는 경우의 하드웨어 구성도이다.
추론 장치가 컴퓨터로 구성되는 경우, 제 1 중간층 기억부(2), 제 2 중간층 기억부(3), 제 3 중간층 기억부(4) 및 출력층 기억부(8)를 컴퓨터의 메모리(21) 상에 구성함과 아울러, 입력층 활성도 산출부(1), 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(6), 제 3 중간층 활성도 산출부(7) 및 출력층 활성도 산출부(9)의 처리 내용을 기술하고 있는 프로그램을 컴퓨터의 메모리(21)에 저장하고, 해당 컴퓨터의 프로세서(22)가 메모리(21)에 저장되어 있는 프로그램을 실행하도록 하면 된다.
도 4는 본 발명의 실시의 형태 1에 의한 추론 장치의 처리 내용인 추론 방법을 나타내는 플로차트이고, 도 5는 입력층 활성도 산출부(1), 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(6), 제 3 중간층 활성도 산출부(7) 및 출력층 활성도 산출부(9)의 처리 내용을 나타내는 플로차트이다.
도 6은 본 발명의 실시의 형태 1에 의한 추론 장치가 적용하는 계층형 뉴럴 네트워크를 나타내는 설명도이다.
도 6의 계층형 뉴럴 네트워크는, 복수의 노드가, 입력층, 제 1 중간층, 제 2 중간층, 제 3 중간층, 출력층으로 계층화되어 있는 5층의 계층형 뉴럴 네트워크이다.
도 7은 인덱스, 에지 가중치 및 바이어스 값의 일례를 나타내는 설명도이다.
도 7에서는, 노드의 접속 정보인 인덱스가, 예컨대, 제 1 중간층에 있어서의 "N"의 노드는, 입력층에 있어서의 "0", "3", "5"의 노드와 접속되어 있는 취지를 나타내고 있다.
또한, 도 7에서는, 예컨대, 제 1 중간층에 있어서의 "N"의 노드와, 입력층에 있어서의 "0"의 노드를 접속하고 있는 에지의 가중치가 "0.2", 제 1 중간층에 있어서의 "N"의 노드와, 입력층에 있어서의 "3"의 노드를 접속하고 있는 에지의 가중치가 "-0.5", 제 1 중간층에 있어서의 "N"의 노드와, 입력층에 있어서의 "5"의 노드를 접속하고 있는 에지의 가중치가 "0.1"인 취지를 나타내고 있다.
또한, 도 7에서는, 예컨대, 제 1 중간층에 있어서의 "N"의 노드의 바이어스 값이 "1.8"인 취지를 나타내고 있다.
다음으로 동작에 대하여 설명한다.
입력층 활성도 산출부(1)는, 계층형 뉴럴 네트워크를 구성하고 있는 입력층의 각 노드에 화상 데이터가 주어지면, 그 화상 데이터로부터 입력층의 각 노드에서의 활성도 AIN을 산출한다(도 4의 스텝 ST1).
입력층 활성도 산출부(1)에 주어지는 화상 데이터가, 예컨대, 0~255의 화소치 P를 갖는 픽셀로 이루어지는 화상을 나타내는 데이터이고, 각 픽셀의 화소치 P가 입력층의 각 노드에 주어지는 경우, 입력층의 각 노드에서의 활성도 AIN은, 하기의 식 (1)과 같이 산출할 수 있다.
Figure 112017094272466-pct00001
여기서는, 화상 데이터가 입력되는 경우를 상정하고, 각 픽셀의 화소치 P를 255로 나눔으로써 정규화하여, 부동 소수점 값(0.0~1.0)을 입력층의 각 노드에서의 활성도 AIN으로 하는 예를 나타내고 있지만, 단순한 정규화뿐만 아니라, 입력되는 데이터의 종류에 따라, 데이터 씨닝(thinning), 양자화, 변환 등의 처리를 실시하도록 하더라도 좋다.
제 1 중간층 활성도 산출부(5)는, 입력층 활성도 산출부(1)가 입력층의 각 노드에서의 활성도 AIN을 산출하면, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스를 참조하여, 제 1 중간층의 노드마다, 해당 노드에 접속되어 있는 입력층의 각 노드를 확인하여, 그 입력층의 각 노드에서의 활성도 AIN을 취득한다.
예컨대, 제 1 중간층에 있어서의 "N"의 노드의 경우, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스가, 입력층에 있어서의 "0", "3", "5"의 노드와 접속되어 있는 취지를 나타내고 있으므로, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도 AIN 중, 입력층에 있어서의 "0", "3", "5"의 노드에서의 활성도 AIN-0, AIN-3, AIN-5를 취득한다.
또한, 제 1 중간층 활성도 산출부(5)는, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스를 참조하여, 제 1 중간층의 노드마다, 해당 노드에 접속되어 있는 에지를 확인하여, 제 1 중간층 기억부(2)로부터 그 에지의 가중치 w를 취득한다.
예컨대, 제 1 중간층에 있어서의 "N"의 노드의 경우, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스가, 입력층에 있어서의 "0", "3", "5"의 노드와 접속되어 있는 취지를 나타내고 있으므로, 제 1 중간층에 있어서의 "N"의 노드와, 입력층에 있어서의 "0"의 노드를 접속하고 있는 에지의 가중치 wN -0으로서 "0.2"를 취득하고, 제 1 중간층에 있어서의 "N"의 노드와, 입력층에 있어서의 "3"의 노드를 접속하고 있는 에지의 가중치 wN -3으로서 "-0.5"를 취득한다. 또한, 제 1 중간층에 있어서의 "N"의 노드와, 입력층에 있어서의 "5"의 노드를 접속하고 있는 에지의 가중치 wN -5로서 "0.1"을 취득한다.
또한, 제 1 중간층 활성도 산출부(5)는, 제 1 중간층의 노드마다, 제 1 중간층 기억부(2)로부터 해당 노드의 바이어스 값 B1M을 취득한다.
예컨대, 제 1 중간층에 있어서의 "N"의 노드의 경우, 바이어스 값 B1M -N으로서 "1.8"을 취득한다.
제 1 중간층 활성도 산출부(5)는, 제 1 중간층의 노드마다, 입력층의 각 노드에서의 활성도 AIN, 에지의 가중치 w, 바이어스 값 B1M을 취득하면, 활성도 AIN, 에지의 가중치 w, 바이어스 값 B1M을 이용하여, 제 1 중간층의 노드마다의 활성도 A1M을 산출한다(스텝 ST2).
이하, 제 1 중간층에 있어서의 "N"의 노드의 활성도 A1M -N의 산출예를 구체적으로 설명한다.
우선, 제 1 중간층 활성도 산출부(5)는, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스를 판독하여(도 5의 스텝 ST11), 그 인덱스를 참조함으로써, 활성도의 산출에 이용하는 파라미터로서, 입력층에 있어서의 "0", "3", "5"의 노드에서의 활성도 AIN-0, AIN-3, AIN-5와, 에지의 가중치 wN -0, wN -3, wN -5와, 제 1 중간층에 있어서의 "N"의 노드의 바이어스 값 B1M -N을 취득한다(스텝 ST12).
다음으로, 제 1 중간층 활성도 산출부(5)는, 하기의 식 (2)에 나타내는 바와 같이, 입력층에 있어서의 "0", "3", "5"의 노드에서의 활성도 AIN-0, AIN-3, AIN-5와, 에지의 가중치 wN -0, wN -3, wN -5의 곱합 연산(product sum operation)을 실시한다(스텝 ST13).
Figure 112017094272466-pct00002
다음으로, 제 1 중간층 활성도 산출부(5)는, 하기의 식 (3)에 나타내는 바와 같이, 곱합 연산의 연산 결과 MADD와 제 1 중간층에 있어서의 "N"의 노드의 바이어스 값 B1M -N을 가산한다(스텝 ST14).
Figure 112017094272466-pct00003
제 1 중간층 활성도 산출부(5)는, 활성도의 계산에 이용하는 뉴럴 네트워크의 활성화 함수(activation function) F로서, 선형 함수, 시그모이드 함수, 소프트맥스 함수, 정류화 선형 함수(ReLU) 등을 사전에 준비하고 있고, 식 (3)의 가산 결과 ADD를 활성화 함수 F의 인수로 하고, 하기의 식 (4)에 나타내는 바와 같이, 제 1 중간층에 있어서의 "N"의 노드의 활성도 A1M -N으로서, 그 활성화 함수의 함숫값을 산출한다(스텝 ST15).
Figure 112017094272466-pct00004
여기서는, 제 1 중간층에 있어서의 "N"의 노드의 활성도 A1M -N의 산출예를 나타냈지만, 제 1 중간층에 있어서의 다른 노드의 활성도 A1M에 대해서도 마찬가지로 산출한다.
제 2 중간층 활성도 산출부(6)는, 제 1 중간층 활성도 산출부(5)가 제 1 중간층의 각 노드에서의 활성도 A1M을 산출하면, 제 2 중간층의 각 노드에서의 활성도 A2M을 산출한다(도 4의 스텝 ST3).
제 2 중간층 활성도 산출부(6)에 의한 제 2 중간층의 각 노드에서의 활성도 A2M의 산출 방법은, 제 1 중간층 활성도 산출부(5)에 의한 제 1 중간층의 각 노드에서의 활성도 A1M의 산출 방법과 마찬가지이다.
즉, 제 2 중간층 활성도 산출부(6)는, 제 2 중간층 기억부(3)에 기억되어 있는 인덱스를 참조하여, 제 2 중간층의 노드마다, 해당 노드에 접속되어 있는 제 1 중간층의 각 노드를 확인하여, 그 제 1 중간층의 각 노드에서의 활성도 A1M을 취득한다.
또한, 제 2 중간층 활성도 산출부(6)는, 제 2 중간층 기억부(3)에 기억되어 있는 인덱스를 참조하여, 제 2 중간층의 노드마다, 해당 노드에 접속되어 있는 에지를 확인하여, 제 2 중간층 기억부(3)로부터 그 에지의 가중치 w를 취득한다.
또한, 제 2 중간층 활성도 산출부(6)는, 제 2 중간층의 노드마다, 제 2 중간층 기억부(3)로부터 해당 노드의 바이어스 값 B2M을 취득한다.
제 2 중간층 활성도 산출부(6)는, 제 2 중간층의 노드마다, 제 1 중간층의 각 노드에서의 활성도 A1M, 에지의 가중치 w, 바이어스 값 B2M을 취득하면, 제 1 중간층 활성도 산출부(5)와 마찬가지의 계산 방법으로, 활성도 A1M, 에지의 가중치 w, 바이어스 값 B2M을 이용하여, 제 2 중간층의 노드마다의 활성도 A2M을 산출한다.
제 3 중간층 활성도 산출부(7)는, 제 2 중간층 활성도 산출부(6)가 제 2 중간층의 각 노드에서의 활성도 A2M을 산출하면, 제 3 중간층의 각 노드에서의 활성도 A3M을 산출한다(스텝 ST4).
제 3 중간층 활성도 산출부(7)에 의한 제 3 중간층의 각 노드에서의 활성도 A3M의 산출 방법은, 제 1 중간층 활성도 산출부(5)에 의한 제 1 중간층의 각 노드에서의 활성도 A1M의 산출 방법과 마찬가지이다.
즉, 제 3 중간층 활성도 산출부(7)는, 제 3 중간층 기억부(4)에 기억되어 있는 인덱스를 참조하여, 제 3 중간층의 노드마다, 해당 노드에 접속되어 있는 제 2 중간층의 각 노드를 확인하여, 그 제 2 중간층의 각 노드에서의 활성도 A2M을 취득한다.
또한, 제 3 중간층 활성도 산출부(7)는, 제 3 중간층 기억부(4)에 기억되어 있는 인덱스를 참조하여, 제 3 중간층의 노드마다, 해당 노드에 접속되어 있는 에지를 확인하여, 제 3 중간층 기억부(4)로부터 그 에지의 가중치 w를 취득한다.
또한, 제 3 중간층 활성도 산출부(7)는, 제 3 중간층의 노드마다, 제 3 중간층 기억부(4)로부터 해당 노드의 바이어스 값 B3M을 취득한다.
제 3 중간층 활성도 산출부(7)는, 제 3 중간층의 노드마다, 제 2 중간층의 각 노드에서의 활성도 A2M, 에지의 가중치 w, 바이어스 값 B3M을 취득하면, 제 1 중간층 활성도 산출부(5)와 마찬가지의 계산 방법으로, 활성도 A2M, 에지의 가중치 w, 바이어스 값 B3M을 이용하여, 제 3 중간층의 노드마다의 활성도 A3M을 산출한다.
출력층 활성도 산출부(9)는, 제 3 중간층 활성도 산출부(7)가 제 3 중간층의 각 노드에서의 활성도 A3M을 산출하면, 출력층의 각 노드에서의 활성도 AOUT을 산출한다(스텝 ST5).
출력층 활성도 산출부(9)에 의한 출력층의 각 노드에서의 활성도 AOUT의 산출 방법은, 제 1 중간층 활성도 산출부(5)에 의한 제 1 중간층의 각 노드에서의 활성도 A1M의 산출 방법과 마찬가지이다.
즉, 출력층 활성도 산출부(9)는, 출력층 기억부(8)에 기억되어 있는 인덱스를 참조하여, 출력층의 노드마다, 해당 노드에 접속되어 있는 제 3 중간층의 각 노드를 확인하여, 그 제 3 중간층의 각 노드에서의 활성도 A3M을 취득한다.
또한, 출력층 활성도 산출부(9)는, 출력층 기억부(8)에 기억되어 있는 인덱스를 참조하여, 출력층의 노드마다, 해당 노드에 접속되어 있는 에지를 확인하여, 출력층 기억부(8)로부터 그 에지의 가중치 w를 취득한다.
또한, 출력층 활성도 산출부(9)는, 출력층의 노드마다, 출력층 기억부(8)로부터 해당 노드의 바이어스 값 BOUT을 취득한다.
출력층 활성도 산출부(9)는, 출력층의 노드마다, 제 3 중간층의 각 노드에서의 활성도 A3M, 에지의 가중치 w, 바이어스 값 BOUT을 취득하면, 제 1 중간층 활성도 산출부(5)와 마찬가지의 계산 방법으로, 활성도 A3M, 에지의 가중치 w, 바이어스 값 BOUT을 이용하여, 출력층의 노드마다의 활성도 AOUT을 산출한다.
출력층 활성도 산출부(9)에 의해 산출된 출력층의 노드마다의 활성도 AOUT은, 추론 장치의 추론 결과로서 출력된다.
예컨대, 화상에 비치고 있는 것이 사람, 개, 고양이, 자동차 중 어느 것인지를 식별하는 경우, 출력층은, 4개의 노드로 구성되고, 각 노드의 활성도가, 각각 사람, 개, 고양이, 자동차일 가능성을 나타내는 값이 되도록 학습된다.
추론시는, 출력층 중에서 가장 활성도가 큰 노드를 선택하고, 예컨대, 그것이 고양이일 가능성을 출력하는 노드이면, 고양이라고 하는 추론 결과를 출력한다. 단순한 식별 결과뿐만 아니라, 활성도를 이용한 신뢰도의 산출이나 회귀 예측치 출력 등의 처리를 실시하더라도 좋다.
이상에서 분명한 바와 같이, 본 실시의 형태 1에 의하면, 제 1 중간층 활성도 산출부(5)가, 제 1 중간층 기억부(2)에 기억되어 있는 인덱스를 참조하여, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도와 제 1 중간층 기억부(2)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 1 중간층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 1 중간층의 각 노드에서의 활성도를 산출하도록 구성했으므로, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있는 효과를 갖는다.
즉, 제 1 중간층 활성도 산출부(5)에서는, 제 1 중간층의 각 노드와 접속 관계가 있는 입력층의 각 노드에 대해서만 계산을 행하면 되기 때문에, 추론을 행할 때의 계산량 및 메모리량을 대폭 삭감할 수 있다.
또한, 제 2 중간층 활성도 산출부(6)에 대해서도, 제 2 중간층의 각 노드와 접속 관계가 있는 제 1 중간층의 각 노드에 대해서만 계산을 행하면 되기 때문에, 제 1 중간층 활성도 산출부(5)와 마찬가지로, 추론을 행할 때의 계산량 및 메모리량을 대폭 삭감할 수 있다.
또한, 제 3 중간층 활성도 산출부(7)에 대해서도, 제 3 중간층의 각 노드와 접속 관계가 있는 제 2 중간층의 각 노드에 대해서만 계산을 행하면 되기 때문에, 제 1 중간층 활성도 산출부(5)와 마찬가지로, 추론을 행할 때의 계산량 및 메모리량을 대폭 삭감할 수 있다.
또한, 출력층 활성도 산출부(9)에 대해서도, 출력층의 각 노드와 접속 관계가 있는 제 3 중간층의 각 노드에 대해서만 계산을 행하면 되기 때문에, 제 1 중간층 활성도 산출부(5)와 마찬가지로, 추론을 행할 때의 계산량 및 메모리량을 대폭 삭감할 수 있다.
본 실시의 형태 1에서는, 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(6), 제 3 중간층 활성도 산출부(7) 및 출력층 활성도 산출부(9)가, 각 노드에서의 활성도를 산출할 때, 전단의 층의 각 노드에서의 활성도와 에지의 가중치의 곱합 연산을 실시하는 것을 나타냈지만, 전단의 층의 각 노드에서의 활성도의 최대치 또는 평균치를 구하고, 그 최대치 또는 평균치를 식 (3)의 가산 결과 ADD 대신에 이용하더라도 좋다.
실시의 형태 2.
상기 실시의 형태 1에서는, 추론 장치가 적용하는 뉴럴 네트워크를 구성하고 있는 각 층의 각 노드가, 전단 또는 후단의 층의 모든 노드와는 접속되지 않고, 일부의 노드와 접속되어 있는 것을 나타내고 있다.
각 층의 각 노드가, 전단 또는 후단의 층의 일부의 노드와 접속되는 경우에도, 노드간의 접속 형태에 따라서는, 노드간을 접속하는 복수의 에지에 의해 루프가 형성되는 일이 있다.
여기서, 뉴럴 네트워크에 있어서, 어느 노드로부터 출발하여 각 에지를 한 번만 통과하여 원래의 노드로 돌아가는 경로를 루프로 칭하고, 루프를 구성하는 에지의 개수를 루프의 길이로 칭한다.
도 8은 복수의 에지에 의해 형성되는 루프의 예를 나타내는 설명도이다.
도 8(a), 도 8(b)는 4개의 에지에 의해 형성되는 루프의 예를 나타내고, 도 8(c)는 6개의 에지에 의해 형성되는 루프의 예를 나타내고, 도 8(d)는 8개의 에지에 의해 형성되는 루프의 예를 나타내고 있다.
예컨대, 계층형 뉴럴 네트워크에서는, 최단으로 길이 4의 루프가 생길 수 있지만, 특히, 구배 계산 정보는 학습시에 오차 역전파법으로 전파되는 경향이 있기 때문에 길이 4의 루프는 추론 정확도 저하의 요인이 된다. 또한, 베이지안 네트워크(Bayesian network)의 확률 전파법과 같은 쌍방향 정보 전파에 의해 추론하는 모델에서도, 짧은 루프의 존재에 의해 전파 정보가 순환하여 버려 추론 정확도 저하의 요인이 된다.
그래서, 본 실시의 형태 2에서는, 뉴럴 네트워크를 구성하고 있는 각 층의 노드간을 접속하고 있는 에지, 즉, 제 1 중간층의 노드와 입력층의 노드를 접속하고 있는 에지, 제 2 중간층의 노드와 제 1 중간층의 노드를 접속하고 있는 에지, 제 3 중간층의 노드와 제 2 중간층의 노드를 접속하고 있는 에지, 출력층의 노드와 제 3 중간층의 노드를 접속하고 있는 에지가 루프를 형성하는 경우, 추론 장치가 적용하는 뉴럴 네트워크는, 루프가 6개 이상의 에지로 형성되어 있는 뉴럴 네트워크에 한하는 것으로 한다.
따라서, 본 실시의 형태 2에서는, 도 8(a), 도 8(b)에 나타내는 바와 같이 4개의 에지에 의해 루프가 형성되어 있는 뉴럴 네트워크는, 추론 장치의 적용 대상이 되지 않지만, 도 8(c), 도 8(d)에 나타내는 바와 같이 6개 또는 8개의 에지에 의해 루프가 형성되어 있는 뉴럴 네트워크는, 추론 장치의 적용 대상이 된다.
이것에 의해, 뉴럴 네트워크 내에 존재하는 길이가 짧은 루프에 의한 추론 정확도의 저하를 억제할 수 있는 효과를 갖는다. 즉, 추론 정확도를 유지한 채로 계산량 및 메모리량을 삭감할 수 있다.
실시의 형태 3.
상기 실시의 형태 1에서는, 추론 장치가 적용하는 뉴럴 네트워크를 구성하고 있는 각 층의 각 노드가, 전단 또는 후단의 층의 모든 노드와는 접속되지 않고, 일부의 노드와 접속되어 있는 것을 나타내고 있다.
이때, 제 1 중간층의 각 노드는, 입력층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있는 것이더라도 좋다.
마찬가지로, 제 2 중간층의 각 노드는, 제 1 중간층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있는 것이더라도 좋고, 또한, 제 3 중간층의 각 노드는, 제 2 중간층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있는 것이더라도 좋다.
또한, 마찬가지로, 출력층의 각 노드는, 제 3 중간층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있는 것이더라도 좋다.
랜덤으로 선택되는 조건으로서, 각 층(출력층, 제 3 중간층, 제 2 중간층, 제 1 중간층)의 각 노드당 전단의 층(제 3 중간층, 제 2 중간층, 제 1 중간층, 입력층)의 노드와의 평균 접속 개수가 50개 이하라고 하는 조건을 설정하더라도 좋다.
혹은, 각 층(출력층, 제 3 중간층, 제 2 중간층, 제 1 중간층)의 각 노드당 전단의 층(제 3 중간층, 제 2 중간층, 제 1 중간층, 입력층)의 노드와의 평균 접속 개수가 전단의 층의 노드의 개수의 10분의 1 이하라고 하는 조건을 설정하더라도 좋다.
각 층의 각 노드가 전단의 층에 있어서의 모든 노드와 접속되는 형태에서는, 각 층의 노드의 수가 M이고, 전단의 층의 노드의 수가 N인 경우, 각 층에서의 활성도의 계산량과 메모리량이 N×M의 자릿수가 되지만, 각 층의 각 노드당 전단의 층의 노드의 평균 접속 갯수 n(n<N)이, 50개 이하라고 하는 조건, 혹은, 전단의 층의 노드의 개수 N의 10분의 1 이하라고 하는 조건을 설정함으로써, 길이가 짧은 루프의 발생 확률을 저하시켜, 추론 정확도의 저하를 억제할 수 있음과 아울러, 계산량 및 메모리량을 삭감할 수 있다.
실시의 형태 4.
상기 실시의 형태 1에서는, 추론 장치가 적용하는 뉴럴 네트워크를 구성하고 있는 각 층의 각 노드가, 전단 또는 후단의 층의 모든 노드와는 접속되지 않고, 일부의 노드와 접속되어 있는 것을 나타내고 있다.
이때, 제 1 중간층의 각 노드는, 입력층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있도록 하더라도 좋다.
마찬가지로, 제 2 중간층의 각 노드는, 제 1 중간층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있도록 하더라도 좋고, 또한, 제 3 중간층의 각 노드는, 제 2 중간층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있도록 하더라도 좋다.
또한, 마찬가지로, 출력층의 각 노드는, 제 3 중간층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있도록 하더라도 좋다.
예컨대, 제 1 중간층에 있어서의 "N"의 노드의 경우, 입력층에 있어서의 "0"의 노드와, "3"의 노드는 인접하고 있지 않기 때문에, 제 1 중간층에 있어서의 "N"의 노드는, 입력층에 있어서의 "0", "3"의 노드와 접속되는 형태가 허용되지만, 입력층에 있어서의 "0"의 노드와, "1"의 노드는 인접하고 있기 때문에, 제 1 중간층에 있어서의 "N"의 노드는, 입력층에 있어서의 "0", "1"의 노드와 접속되는 형태가 허용되지 않는다.
본 실시의 형태 4에 있어서, 접속되는 형태가 허용되는 조건으로서, 각 층(출력층, 제 3 중간층, 제 2 중간층, 제 1 중간층)의 각 노드당 전단의 층(제 3 중간층, 제 2 중간층, 제 1 중간층, 입력층)의 노드와의 평균 접속 개수가 50개 이하라고 하는 조건을 설정하더라도 좋다.
혹은, 각 층(출력층, 제 3 중간층, 제 2 중간층, 제 1 중간층)의 각 노드당 전단의 층(제 3 중간층, 제 2 중간층, 제 1 중간층, 입력층)의 노드와의 평균 접속 개수가 전단의 층의 노드의 개수의 10분의 1 이하라고 하는 조건을 설정하더라도 좋다.
상기의 조건을 설정함으로써, 길이가 짧은 루프의 발생 확률을 저하시켜, 추론 정확도의 저하를 억제할 수 있음과 아울러, 계산량 및 메모리량을 삭감할 수 있다.
실시의 형태 5.
상기 실시의 형태 1~4에서는, 추론 장치가 적용하는 뉴럴 네트워크로서, 3개의 중간층을 갖는 계층형 피드포워드의 뉴럴 네트워크를 예로 들고 있지만, 중간층은 3개보다 많더라도 적더라도 좋다. 또한, 중간층이 없는 로지스틱 회귀 모델과 같은 구조이더라도 좋다.
또한, 층간의 노드를 모두 결합하는 층이나, 콘벌루션 뉴럴 네트워크와 같은 콘벌루션층 및 풀링층이나, 회귀 뉴럴 네트워크에 있어서의 LSTM(장기 단기 기억) 블록 등, 뉴럴 네트워크의 종래 수법과 조합하더라도 좋다.
여기서, 콘벌루션 뉴럴 네트워크는, 콘벌루션층과 풀링층이 반복된 구조로 되어 있다. 예컨대, 콘벌루션층은, 화상의 국소적인 특징 추출을 담당하는 층이고, 풀링층은, 국소 부분마다 특징을 요약하는 층이다.
상기 실시의 형태 1~4에서는, 추론 장치가 적용하는 뉴럴 네트워크로서, 계층형 피드포워드의 뉴럴 네트워크를 예로 들고 있지만, 층을 건너뛴 접속이 있더라도 좋고, 동일한 층에 속하는 노드끼리 접속이 있더라도 좋고, 접속처(connection destination)와 접속원(connection source)이 동일한 자기 접속이 있더라도 좋고, 에지가 루프를 형성하는 순환 접속이 있더라도 좋다(회귀 뉴럴 네트워크).
또한, 자기 조직화 맵(SOM), 연상 기억 모델, 홉필드 네트워크, 볼츠만 머신 등, 다른 그래프를 이용하여 추론하는 뉴럴 네트워크이더라도 좋다. 또한, 뉴럴 네트워크에 한하지 않고, 베이지안 네트워크 등, 다른 그래프를 이용하여 추론하는 모델이더라도 좋다.
상기 실시의 형태 1~4에서는, 입력층의 노드가 0, 1, …, N-1, 제 1 중간층의 노드가 N, N+1, …, N+M-1이라고 하는 것과 같이 1차원의 인덱스를 붙이고 있지만, 입력층의 노드가 (0, 0), (0, 1), …, (0, N-1), 제 1 중간층의 노드가 (1, 0), (1, 1), …, (1, M-1)이라고 하는 것과 같이 2차원의 인덱스를 붙이더라도 좋고, 메모리의 어드레스를 인덱스로서 이용하더라도 좋고, 다른 인덱스를 붙이더라도 좋다.
상기 실시의 형태 1~4에서는, 추론 장치가 적용하는 뉴럴 네트워크로서, 에지의 수와 에지 가중치의 수가 일치하는 예를 들고 있지만, 콘벌루션 네트워크에 있어서의 콘벌루션 필터 계수와 같이, 복수의 에지 가중치를 공유화하도록 하더라도 좋다.
상기 실시의 형태 1~4에서는, 각 노드에 있어서의 활성도의 계산 과정을 순서대로 기재하고 있지만, 서로 의존하지 않는 계산을 복수의 CPU나 GPU를 이용하여 병렬화하여, 더 고속화하는 것도 가능하다.
상기 실시의 형태 1~4에서는, 화상 데이터를 입력하여, 화상을 분류하는 화상 분류 시스템을 예로 들고 있지만, 데이터와 대응하는 지시 신호가 준비되어 있고, 지도 학습을 행할 수 있다면, 데이터의 입력에 대하여 어떠한 추론 결과를 출력하는 추론 시스템 전반에 적용 가능하다.
예컨대, 화상을 입력하여 검지하고 싶은 물체 영역의 위치나 크기를 출력하더라도 좋고, 화상을 입력하여, 그 화상을 설명하는 텍스트를 출력하더라도 좋고, 노이즈가 들어간 화상을 입력하여, 노이즈를 제거한 화상을 출력하더라도 좋고, 화상과 텍스트를 입력하여, 화상을 텍스트에 따라 변환하더라도 좋다.
또한, 음성을 입력하여 음소나 단어를 출력하더라도 좋고, 음성을 입력하여 다음에 발화되는 단어를 예측하더라도 좋고, 음성을 입력하여, 그에 대한 적절한 응답 음성을 출력하더라도 좋고, 텍스트를 입력하여 다른 언어의 텍스트를 출력하더라도 좋고, 시계열을 입력하여 장래의 시계열을 예측하더라도 좋고, 시계열을 입력하여 시계열의 상태를 추정하더라도 좋다.
상기 실시의 형태 1~4에서는, 데이터와 대응하는 지시 신호를 이용하는 지도 학습에 의해 학습한 모델로 추론하는 시스템의 예를 들고 있지만, 지시 신호가 없는 데이터를 이용하는 자율 학습이나 반 지도 학습에 의해 학습한 모델로 추론하는 시스템이더라도 좋다.
상기 실시의 형태 1~4에서는, 추론 장치가, 도시하지 않는 데이터 입력 장치로부터 화상 데이터를 수신하고, 제 1 중간층의 각 노드에서의 활성도를 산출하는 예를 나타냈지만, 도시하지 않는 데이터 입력 장치가, 제 1 중간층의 각 노드에서의 활성도를 산출하고, 추론 장치가, 제 2 및 제 3 중간층 및 출력층의 각 노드에서의 활성도를 산출하도록 하더라도 좋다. 데이터 입력 장치의 출력의 차원수가 입력의 차원수보다 적은 경우, 데이터 입력 장치가 데이터 압축의 기능도 겸비하게 된다.
상기 실시의 형태 1~4에서는, 각 노드에 대하여 한 번만 활성도를 산출하는 예를 들고 있지만, 베이지안 네트워크의 확률 전파법과 같이 노드간에서 반복하여 여러 번 정보를 교환하여 추론 정확도를 향상시키더라도 좋다.
실시의 형태 6.
상기 실시의 형태 1~4에서는, 추론 장치가 적용하는 뉴럴 네트워크로서, 입력층을 제외한 모든 층에서 가지 접속의 인덱스를 유지하고 있는 예를 들고 있지만, 일부의 층만이 가지 접속의 인덱스를 유지하고, 다른 층에서는 통상의 뉴럴 네트워크와 마찬가지의 가지 접속인 것이더라도 좋다.
여기서, 가지 접속의 인덱스란, 도 7에 나타내는 바와 같은 인덱스이고, 에지 가중치나 바이어스 값을 포함하는 개념이다.
또한, 통상의 뉴럴 네트워크와 마찬가지의 가지 접속이란, 접속처의 층에 있어서의 모든 노드와 접속되어 있는 가지 접속(모든 접속층의 가지 접속)을 의미하는 것 외에, 접속처의 층에 있어서의 어느 노드 및 해당 노드의 주변 노드와 접속되어 있는 콘벌루션층이나 풀링층 등의 공지의 뉴럴 네트워크의 가지 접속을 의미한다.
도 9는 입력층에 주어지는 화상 데이터를 10종의 클래스로 식별하는 뉴럴 네트워크의 일례를 나타내는 설명도이다.
도 9의 예에서는, 입력층과 출력층의 사이에 5개의 중간층, 즉, 제 1 중간층, 제 2 중간층, 제 3 중간층, 제 4 중간층 및 제 5 중간층이 접속되어 있다.
또한, 도 9의 예에서는, 입력층으로부터 제 1 중간층이 콘벌루션층(31), 제 1 중간층으로부터 제 2 중간층이 풀링층(32), 제 2 중간층으로부터 제 3 중간층이 콘벌루션층(33), 제 3 중간층으로부터 제 4 중간층이 풀링층(34), 제 4 중간층으로부터 제 5 중간층이 상기 실시의 형태 1~4에서 나타내고 있는 인덱스를 유지하는 층(35), 제 5 중간층으로부터 출력층이 전체 접속층(36)이다.
이 때문에, 제 5 중간층에 있어서의 각 노드는, 도 7에 나타내고 있는 제 1 중간층과 마찬가지로, 제 4 중간층에 있어서의 접속원의 노드를 나타내는 인덱스와, 그 접속에 대응하는 에지 가중치 및 바이어스 값을 유지하고 있다.
예컨대, 입력층에 주어지는 화상 데이터가, 세로 60×가로 60 화소의 화상 데이터이면, 도 9의 뉴럴 네트워크에서는, 3600개(=60×60×1개)의 노드를 갖는 입력층이 필요하게 된다.
이때, 예컨대, 입력층으로부터 제 1 중간층으로의 콘벌루션층(31)의 필터 사이즈가 5×5×1, 이 콘벌루션층(31)에서의 맵의 수가 100, 제 1 중간층으로부터 제 2 중간층으로의 풀링층(32) 및 제 3 중간층으로부터 제 4 중간층으로의 풀링층(34)이 필터 사이즈 2×2×1의 최대치 풀링인 경우, 제 1 중간층의 사이즈가 56×56×100(=(60-5+1)×(60-5+1)×100), 제 2 중간층의 사이즈가 28×28×100(=(56/2)×(56/2)×100)이 된다.
또한, 제 3 중간층의 사이즈가 24×24×200(=(28-5+1)×(28-5+1)×200, 제 4 중간층의 사이즈가 12×12×200(=(24/2)×(24/2)×200), 제 5 중간층의 사이즈가 1×1×1000, 출력층의 노드의 수가 1×1×10이 된다.
또, 입력층으로부터 제 1 중간층에 정보를 전파할 때에 전파치를 계산하는 활성화 함수, 제 2 중간층으로부터 제 3 중간층에 정보를 전파할 때에 전파치를 계산하는 활성화 함수나, 제 4 중간층으로부터 제 5 중간층에 정보를 전파할 때에 전파치를 계산하는 활성화 함수로서, 예컨대, ReLU(Rectified Linear Unit)가 이용되고, 제 5 중간층으로부터 출력층에 정보를 전파할 때에 전파치를 계산하는 활성화 함수로서, 예컨대, 정규화 지수함수인 소프트맥스 함수(Softmax 함수)가 이용된다.
도 9의 뉴럴 네트워크에서는, 입력층으로부터 제 4 중간층까지의 콘벌루션층(31, 33)과 풀링층(32, 34)에 의해, 입력된 화상의 위치 변화에 대하여 로버스트하게 화상 데이터의 특징량을 추출할 수 있다.
또한, 제 4 중간층으로부터 제 5 중간층으로의 인덱스를 유지하는 층에 의해, 상기 실시의 형태 1~4와 마찬가지로, 추론을 행할 때의 계산량 및 메모리량을 대폭 삭감할 수 있다.
본 실시의 형태 6에서는, 화상 데이터가 입력층에 주어지는 예를 나타내고 있지만, 입력층에 주어지는 데이터는 화상 데이터에 한하는 것이 아니고, 예컨대, 센서에 의해 관측된 데이터인 센서 신호, 음성이나 텍스트 등의 데이터 등이더라도 좋다.
또한, 본 실시의 형태 6에서는, 입력층에 주어지는 화상 데이터를 10종의 클래스로 식별하는 예를 나타내고 있지만, 뉴럴 네트워크를 구성하고 있는 출력층을 변경함으로써, 화상 데이터의 클래스를 식별하는 추론 이외의 추론을 행하도록 하더라도 좋다.
예컨대, 화상 데이터의 노이즈를 제거하는 디노이징, 회귀 예측이나 우도 산출 등의 추론을 행하도록 하더라도 좋다.
또한, 추론의 목적에 맞추어, 각 층의 노드의 수나 필터 사이즈를 바꾸더라도 좋다.
도 9의 뉴럴 네트워크에서는, 콘벌루션층(31), 풀링층(32), 콘벌루션층(33), 풀링층(34), 인덱스를 유지하는 층(35), 전체 접속층(36)의 순서로 가지 접속하고 있는 예를 나타내고 있지만, 상기 실시의 형태 1~4에 나타내는 인덱스를 유지하는 층이 1개라도 접속되어 있으면 되고, 상기의 순서 이외의 순서로 가지 접속하고 있는 것이더라도 좋다. 또한, 풀링층(32, 34)이 접속되어 있지 않은 것이더라도 좋다.
실시의 형태 7.
실시의 형태 1~6에서는, 추론 장치가 적용하고 있는 뉴럴 네트워크가 유향 루프(directed loop)를 이루고 있지 않은 피드포워드 뉴럴 네트워크(FFNN)인 예를 들고 있지만, 추론 장치가, 네트워크의 일부가 유향 루프를 이루고 있는 회귀 뉴럴 네트워크(RNN)를 적용하고, 그 회귀 뉴럴 네트워크의 일부의 층이, 상기 실시의 형태 1~4에 나타내는 인덱스를 유지하는 층인 것이더라도 좋다.
도 10은 입력층으로부터 제 1 중간층, 제 1 중간층으로부터 제 2 중간층(문맥층), 제 2 중간층(문맥층)으로부터 제 1 중간층, 제 1 중간층으로부터 출력층에 가지 접속을 갖고 있는 회귀 뉴럴 네트워크(RNN)인 엘만 네트워크(Elman Network)를 나타내는 설명도이다.
도 10의 엘만 네트워크에서는, 제 2 중간층(문맥층)의 노드의 수가, 제 1 중간층의 노드의 수와 동일한 것으로 한다.
도 11은 본 발명의 실시의 형태 7에 의한 추론 장치를 나타내는 구성도이고, 도 11에 있어서, 도 1과 동일 부호는 동일 또는 상당 부분을 나타내므로 설명을 생략한다.
중간층 활성도 산출부인 제 2 중간층 활성도 산출부(41)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 중간층 활성도 산출 회로(13)로 실현되는 것이고, 제 1 중간층의 각 노드의 활성도를 제 2 중간층(문맥층)의 각 노드의 활성도로서 카피하는 처리를 실시한다.
본 실시의 형태 7에서는, 제 2 중간층 활성도 산출부(41)가, 제 1 중간층의 각 노드의 활성도를 제 2 중간층(문맥층)의 각 노드의 활성도로서 카피하는 예를 상정하고 있지만, 이것은 일례에 지나지 않고, 예컨대, 입력층 활성도 산출부(1)와 마찬가지로, 식 (1)에 의해 제 2 중간층(문맥층)의 각 노드의 활성도를 산출하도록 하더라도 좋다.
중간층 기억부인 제 1 중간층 기억부(42)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 중간층 기억 장치(12)로 실현되는 것이고, 제 1 중간층의 각 노드와 제 2 중간층(문맥층)의 각 노드의 접속 관계를 나타내는 인덱스와, 제 1 중간층의 노드와 제 2 중간층의 노드를 접속하고 있는 각 에지의 가중치와, 제 1 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
중간층 활성도 산출부인 제 1 중간층 활성도 산출부(43)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 중간층 활성도 산출 회로(13)로 실현되는 것이고, 제 1 중간층 기억부(42)에 기억되어 있는 인덱스를 참조하여, 제 2 중간층 활성도 산출부(41)에 의해 구해진 제 2 중간층(문맥층)의 각 노드에서의 활성도와 제 1 중간층 기억부(42)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 1 중간층의 각 노드와 접속 관계가 있는 제 2 중간층(문맥층)의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 제 2 중간층(문맥층)의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 1 중간층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
도 11에서는, 추론 장치의 구성 요소인 입력층 활성도 산출부(1), 제 1 중간층 기억부(2), 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(41), 제 1 중간층 기억부(42), 제 1 중간층 활성도 산출부(43), 출력층 기억부(8) 및 출력층 활성도 산출부(9)의 각각이 전용 하드웨어로 구성되어 있는 것을 상정하고 있지만, 추론 장치가 컴퓨터로 구성되어 있더라도 좋다.
추론 장치가 컴퓨터로 구성되는 경우, 제 1 중간층 기억부(2), 제 1 중간층 기억부(42) 및 출력층 기억부(8)를 도 3에 나타내는 컴퓨터의 메모리(21) 상에 구성함과 아울러, 입력층 활성도 산출부(1), 제 1 중간층 활성도 산출부(5), 제 2 중간층 활성도 산출부(41), 제 1 중간층 활성도 산출부(43) 및 출력층 활성도 산출부(9)의 처리 내용을 기술하고 있는 프로그램을 도 3에 나타내는 컴퓨터의 메모리(21)에 저장하고, 해당 컴퓨터의 프로세서(22)가 메모리(21)에 저장되어 있는 프로그램을 실행하도록 하면 된다.
다음으로 동작에 대하여 설명한다.
단, 제 2 중간층 활성도 산출부(41), 제 1 중간층 기억부(42) 및 제 1 중간층 활성도 산출부(43) 이외에는, 상기 실시의 형태 1과 마찬가지이기 때문에, 여기서는, 제 2 중간층 활성도 산출부(41), 제 1 중간층 기억부(42) 및 제 1 중간층 활성도 산출부(43)에 대해서만 설명한다.
제 2 중간층 활성도 산출부(41)는, 제 1 중간층 활성도 산출부(5)가 상기 실시의 형태 1과 마찬가지로, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드의 활성도를 이용하여, 제 1 중간층의 각 노드의 활성도 A1M을 산출하면, 제 1 중간층의 각 노드의 활성도 A1M을 제 2 중간층(문맥층)의 각 노드의 활성도 A2M으로서 카피한다.
이것에 의해, 어느 시각 t에 있어서의 제 2 중간층의 각 노드의 활성도 A2M은, 시각 t에 있어서의 제 1 중간층의 각 노드의 활성도 A1M과 동일하게 된다.
제 1 중간층 활성도 산출부(43)는, 제 2 중간층 활성도 산출부(41)가 제 2 중간층(문맥층)의 각 노드의 활성도 A2M을 구하면, 제 1 중간층의 각 노드의 활성도 A'1M을 산출한다.
제 1 중간층 활성도 산출부(43)에 의한 제 1 중간층의 각 노드에서의 활성도 A'1M의 산출 방법은, 제 1 중간층 활성도 산출부(5)에 의한 제 1 중간층의 각 노드에서의 활성도 A1M의 산출 방법과 마찬가지이다.
즉, 제 1 중간층 활성도 산출부(43)는, 제 1 중간층 기억부(42)에 기억되어 있는 인덱스를 참조하여, 제 1 중간층의 노드마다, 해당 노드에 접속되어 있는 제 2 중간층(문맥층)의 각 노드를 확인하여, 제 2 중간층(문맥층)의 각 노드에서의 활성도 A2M을 취득한다.
또한, 제 1 중간층 활성도 산출부(43)는, 제 1 중간층 기억부(42)에 기억되어 있는 인덱스를 참조하여, 제 1 중간층의 노드마다, 해당 노드에 접속되어 있는 에지(제 2 중간층의 노드와 접속되어 있는 에지)를 확인하여, 제 1 중간층 기억부(42)로부터 그 에지의 가중치 w를 취득한다.
또한, 제 1 중간층 활성도 산출부(43)는, 제 1 중간층의 노드마다, 제 1 중간층 기억부(42)로부터 해당 노드의 바이어스 값 B1M을 취득한다.
제 1 중간층 활성도 산출부(43)는, 제 1 중간층의 노드마다, 제 2 중간층(문맥층)의 각 노드에서의 활성도 A2M, 에지의 가중치 w, 바이어스 값 B1M을 취득하면, 제 1 중간층 활성도 산출부(5)와 마찬가지의 계산 방법으로, 활성도 A2M, 에지의 가중치 w, 바이어스 값 B1M을 이용하여, 제 1 중간층의 노드마다의 활성도 A'1M을 산출한다.
출력층 활성도 산출부(9)는, 제 1 중간층 활성도 산출부(43)가 제 1 중간층의 각 노드에서의 활성도 A'1M을 산출하면, 제 1 중간층의 각 노드에서의 활성도 A'1M을 이용하여, 출력층의 각 노드에서의 활성도 AOUT을 산출한다.
출력층 활성도 산출부(9)에 의한 출력층의 각 노드에서의 활성도 AOUT의 산출 방법은 상기 실시의 형태 1과 마찬가지이다.
이상에서 분명한 바와 같이, 본 실시의 형태 7에 의하면, 제 1 중간층 활성도 산출부(43)가, 제 1 중간층 기억부(42)에 기억되어 있는 인덱스를 참조하여, 제 2 중간층 활성도 산출부(41)에 의해 구해진 제 2 중간층(문맥층)의 각 노드에서의 활성도와 제 1 중간층 기억부(42)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 제 1 중간층의 각 노드와 접속 관계가 있는 제 2 중간층(문맥층)의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 제 2 중간층(문맥층)의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 제 1 중간층의 각 노드에서의 활성도를 산출하도록 구성했으므로, 네트워크의 일부가 유향 루프를 이루고 있는 회귀 뉴럴 네트워크(RNN)를 적용하는 경우에도, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있는 효과를 갖는다.
즉, 제 1 중간층 활성도 산출부(43)에서는, 제 1 중간층의 각 노드와 접속 관계가 있는 제 2 중간층(문맥층)의 각 노드에 대해서만 계산을 행하면 되기 때문에, 추론을 행할 때의 계산량 및 메모리량을 대폭 삭감할 수 있다.
본 실시의 형태 7에서는, 추론 장치가 적용하는 회귀 뉴럴 네트워크(RNN)가 엘만 네트워크인 예를 들고 있지만, 이것은 일례에 지나지 않고, 예컨대, Jordan Network나, LSTM(Long Short Term Memory) 블록을 갖는 회귀 뉴럴 네트워크, 계층형의 회귀 뉴럴 네트워크, 쌍방향의 회귀 뉴럴 네트워크, 연속 시간의 회귀 뉴럴 네트워크 등을 적용하는 것이더라도 좋다.
단, 본 실시의 형태 7에서는, 어느 회귀 뉴럴 네트워크를 적용하는 경우에도, 일부의 층에서 가지 접속의 인덱스를 유지하는 것으로 한다.
실시의 형태 8.
상기 실시의 형태 1~7에서는, 추론 장치가 적용하는 뉴럴 네트워크로서, 동일한 층의 노드끼리의 가지 접속이나 자기 접속이 없는 피드포워드 뉴럴 네트워크(FFNN)나 회귀 뉴럴 네트워크(RNN)인 예를 들고 있지만, 동일한 층의 노드끼리의 가지 접속이나, 접속원 노드와 접속처 노드가 동일한 노드인 자기 접속이 있는 피드포워드 뉴럴 네트워크(FFNN)나 회귀 뉴럴 네트워크(RNN)를 적용하도록 하더라도 좋다. 또한, 층을 건너뛴 접속이 있는 피드포워드 뉴럴 네트워크(FFNN)나 회귀 뉴럴 네트워크(RNN)를 적용하도록 하더라도 좋다.
도 12는 중간층 내에서 노드끼리의 가지 접속이나 자기 접속이 존재함과 아울러, 입력층으로부터 중간층을 건너뛰고 출력층에 접속하는 가지가 존재하는 뉴럴 네트워크인 Echo State Network의 예를 나타내는 설명도이다.
도 12에 있어서, 중간층의 노드끼리의 가지 접속이나 자기 접속은, 중간층으로부터 중간층으로의 가지 접속으로 간주할 수 있기 때문에, Echo State Network는, 층 단위에서는 도 13과 같이 나타낼 수 있다.
도 14는 본 발명의 실시의 형태 8에 의한 추론 장치를 나타내는 구성도이고, 도 14에 있어서, 도 1과 동일 부호는 동일 또는 상당 부분을 나타내므로 설명을 생략한다.
중간층 기억부(51)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 중간층 기억 장치(12)로 실현되는 것이고, 중간층의 각 노드와 입력층 또는 출력층의 각 노드의 접속 관계를 나타내는 인덱스와, 중간층의 노드와 입력층 또는 출력층의 노드를 접속하고 있는 각 에지의 가중치와, 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
또한, 중간층 기억부(51)는 중간층의 노드끼리의 가지 접속이나 자기 접속의 관계를 나타내는 인덱스와, 중간층의 노드끼리의 가지 접속이나 자기 접속하고 있는 각 에지의 가중치와, 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
중간층 활성도 산출부(52)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 중간층 활성도 산출 회로(13)로 실현되는 것이고, 도 1의 제 1 중간층 활성도 산출부(5)와 마찬가지로, 중간층 기억부(51)에 기억되어 있는 인덱스를 참조하여, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도 또는 출력층 활성도 산출부(54)에 의해 산출된 출력층의 각 노드에서의 활성도와 중간층 기억부(51)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 중간층의 각 노드와 접속 관계가 있는 입력층 또는 출력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 입력층 또는 출력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 중간층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
또한, 중간층 활성도 산출부(52)는 중간층 기억부(51)에 기억되어 있는 인덱스를 참조하여, 중간층에 있어서의 산출이 끝난 각 노드에서의 활성도와 중간층 기억부(51)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 중간층에 있어서의 접속처의 각 노드와 접속 관계가 있는 중간층에 있어서의 접속원의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 중간층에 있어서의 접속원의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 중간층에 있어서의 접속처의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
여기서, 중간층에 있어서의 접속처의 노드란, 중간층에 있어서의 다른 노드와 접속되어 있는 노드, 혹은, 중간층에 있어서, 자기의 노드와 접속되어 있는 노드를 의미한다.
또한, 중간층에 있어서의 접속원의 노드란, 접속처의 노드와 접속되어 있는 중간층에 있어서의 다른 노드, 혹은, 중간층에 있어서의 자기 접속의 노드를 의미한다.
출력층 기억부(53)는 예컨대 RAM이나 하드 디스크 등의 기억 매체로 이루어지는 출력층 기억 장치(14)로 실현되는 것이고, 출력층의 각 노드와 입력층 또는 중간층의 각 노드의 접속 관계를 나타내는 인덱스(접속 정보)를 기억하고 있다.
또한, 출력층 기억부(53)는 출력층의 노드가 입력층의 노드와 접속되어 있으면, 출력층의 노드와 입력층의 노드를 접속하고 있는 각 에지의 가중치와, 입력층의 노드와 접속되어 있는 출력층의 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
또한, 출력층 기억부(53)는 출력층의 노드가 중간층의 노드와 접속되어 있으면, 출력층의 노드와 중간층의 노드를 접속하고 있는 각 에지의 가중치와, 중간층의 노드와 접속되어 있는 출력층의 노드에 주어지고 있는 바이어스 값을 기억하고 있다.
출력층 활성도 산출부(54)는 예컨대 CPU를 실장하고 있는 반도체 집적 회로, 혹은, 원 칩 마이크로컴퓨터 등으로 구성되어 있는 출력층 활성도 산출 회로(15)로 실현되는 것이고, 출력층의 노드와 접속되어 있는 노드가 입력층의 노드이면, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도와 출력층 기억부(53)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 출력층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 출력층의 노드와 접속되어 있는 노드가 중간층의 노드이면, 중간층 활성도 산출부(52)에 의해 산출된 중간층의 노드에서의 활성도와 출력층 기억부(53)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 출력층의 각 노드와 접속 관계가 있는 중간층의 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하는 처리를 실시한다.
또한, 출력층 활성도 산출부(54)는 취득한 입력층 또는 중간층의 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 출력층의 각 노드에서의 활성도를 산출하는 처리를 실시한다.
도 14에서는, 추론 장치의 구성 요소인 입력층 활성도 산출부(1), 중간층 기억부(51), 중간층 활성도 산출부(52), 출력층 기억부(53) 및 출력층 활성도 산출부(54)의 각각이 전용 하드웨어로 구성되어 있는 것을 상정하고 있지만, 추론 장치가 컴퓨터로 구성되어 있더라도 좋다.
추론 장치가 컴퓨터로 구성되는 경우, 중간층 기억부(51) 및 출력층 기억부(53)를 도 3에 나타내는 컴퓨터의 메모리(21) 상에 구성함과 아울러, 입력층 활성도 산출부(1), 중간층 활성도 산출부(52) 및 출력층 활성도 산출부(54)의 처리 내용을 기술하고 있는 프로그램을 도 3에 나타내는 컴퓨터의 메모리(21)에 저장하고, 해당 컴퓨터의 프로세서(22)가 메모리(21)에 저장되어 있는 프로그램을 실행하도록 하면 된다.
다음으로 동작에 대하여 설명한다.
중간층 활성도 산출부(52)는, 입력층 활성도 산출부(1)가 상기 실시의 형태 1과 마찬가지로 입력층의 각 노드의 활성도를 산출하면, 중간층 기억부(51)에 기억되어 있는 인덱스를 참조하여, 중간층의 각 노드 중, 입력층의 노드와 접속 관계가 있는 노드를 확인함과 아울러, 출력층의 노드와 접속 관계가 있는 노드를 확인한다.
중간층 활성도 산출부(52)는, 중간층의 각 노드 중, 입력층의 노드와 접속 관계가 있는 노드의 활성도에 대해서는, 도 1의 제 1 중간층 활성도 산출부(5)와 마찬가지로, 입력층의 각 노드의 활성도를 이용하여 산출한다.
또한, 중간층의 각 노드 중, 출력층의 노드와 접속 관계가 있는 노드의 활성도에 대해서는, 출력층 활성도 산출부(54)에 의해 산출된 출력층의 활성도를 이용하여 산출한다.
중간층 활성도 산출부(52)에 의한 출력층의 노드와 접속 관계가 있는 노드의 활성도의 산출 방법은, 입력층의 노드와 접속 관계가 있는 노드의 활성도의 산출 방법과 마찬가지이고, 활성도 산출 대상의 노드가 접속되어 있는 노드가, 입력층의 노드가 아니고, 출력층의 노드인 점만이 상이하다.
중간층 활성도 산출부(52)는, 입력층 또는 출력층의 노드와 접속 관계가 있는 중간층의 노드의 활성도를 산출하면, 중간층 기억부(51)에 기억되어 있는 인덱스를 참조하여, 중간층의 각 노드 중, 접속처의 노드(중간층에 있어서의 다른 노드와 접속되어 있는 노드, 혹은, 중간층에 있어서, 자기의 노드와 접속되어 있는 노드)와 접속 관계가 있는 접속원의 노드를 확인한다.
중간층 활성도 산출부(52)는, 접속처의 노드와 접속 관계가 있는 접속원의 노드를 확인하면, 중간층에 있어서의 산출이 끝난 각 노드에서의 활성도와 중간층 기억부(51)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 중간층에 있어서의 접속처의 각 노드와 접속 관계가 있는 중간층에 있어서의 접속원의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득한다.
중간층에 있어서의 접속원의 노드가, 입력층 또는 출력층의 노드와 접속 관계가 있는 중간층의 노드이면, 먼저 설명한 바와 같이 이미 산출이 끝난 상태이다. 이 때문에, 입력층 또는 출력층의 노드와 접속 관계가 있는 중간층의 노드에 가까운 노드로부터 순서대로, 활성도 산출 대상의 노드(접속처의 노드)로 하면 된다.
중간층 활성도 산출부(52)는, 그 취득한 중간층에 있어서의 접속원의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 중간층에 있어서의 접속처의 각 노드에서의 활성도를 산출한다.
중간층 활성도 산출부(52)에 의한 중간층에 있어서의 접속처의 노드에서의 활성도의 산출 방법은, 입력층의 노드와 접속 관계가 있는 노드의 활성도의 산출 방법과 마찬가지이고, 접속원의 노드가, 입력층의 노드가 아니고, 중간층의 노드인 점만이 상이하다.
출력층 활성도 산출부(54)는, 출력층 기억부(53)에 기억되어 있는 인덱스를 참조하여, 출력층의 각 노드가 접속되어 있는 입력층 또는 중간층의 노드를 확인한다.
출력층 활성도 산출부(54)는, 출력층의 노드와 접속되어 있는 노드가 입력층의 노드이면, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도와 출력층 기억부(53)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 출력층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득한다. 한편, 출력층의 노드와 접속되어 있는 노드가 중간층의 노드이면, 중간층 활성도 산출부(52)에 의해 산출된 중간층의 노드에서의 활성도와 출력층 기억부(53)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 출력층의 각 노드와 접속 관계가 있는 중간층의 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득한다.
출력층 활성도 산출부(54)는, 입력층 또는 중간층의 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하면, 그 취득한 입력층 또는 중간층의 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 출력층의 각 노드에서의 활성도를 산출한다.
이상에서 분명한 바와 같이, 본 실시의 형태 8에 의하면, 중간층 활성도 산출부(52)가, 중간층 기억부(51)에 기억되어 있는 인덱스를 참조하여, 중간층에 있어서의 산출이 끝난 각 노드에서의 활성도와 중간층 기억부(51)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 중간층에 있어서의 접속처의 각 노드와 접속 관계가 있는 중간층에 있어서의 접속원의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 중간층에 있어서의 접속원의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 중간층에 있어서의 접속처의 각 노드에서의 활성도를 산출하도록 구성했으므로, 중간층 내에서 노드끼리의 가지 접속이나 자기 접속이 존재하는 뉴럴 네트워크를 적용하는 경우에도, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있는 효과를 갖는다.
또한, 본 실시의 형태 8에 의하면, 출력층 활성도 산출부(54)가, 출력층의 노드와 접속되어 있는 노드가 입력층의 노드이면, 입력층 활성도 산출부(1)에 의해 산출된 입력층의 각 노드에서의 활성도와 출력층 기억부(53)에 기억되어 있는 각 에지의 가중치 및 바이어스 값 중에서, 출력층의 각 노드와 접속 관계가 있는 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 취득하고, 그 취득한 입력층의 노드에서의 활성도와 각 에지의 가중치와 바이어스 값을 이용하여, 출력층의 각 노드에서의 활성도를 산출하도록 구성했으므로, 입력층으로부터 중간층을 건너뛰고 출력층에 접속하는 가지가 존재하는 뉴럴 네트워크를 적용하는 경우에도, 추론을 행할 때의 계산량 및 메모리량을 삭감할 수 있는 효과를 갖는다.
본 실시의 형태 8에서는, 추론 장치가 적용하는 뉴럴 네트워크가 Echo State Network인 예를 들고 있지만, 이것은 일례에 지나지 않고, 예컨대, 전체 결합의 회귀 뉴럴 네트워크, 홉필드 네트워크, 볼츠만 머신 등을 적용하는 것이더라도 좋다.
단, 본 실시의 형태 8에서는, 어느 뉴럴 네트워크를 적용하는 경우에도, 일부의 층에서 가지 접속의 인덱스를 유지하는 것으로 한다.
실시의 형태 9.
상기 실시의 형태 1~6에서는, 추론 장치가 적용하고 있는 뉴럴 네트워크가 피드포워드 뉴럴 네트워크(FFNN)인 예를 들고, 상기 실시의 형태 7, 8에서는, 추론 장치가 적용하고 있는 뉴럴 네트워크가 회귀 뉴럴 네트워크(RNN)인 예를 들고 있지만, 이것은 일례에 지나지 않고, 추론 장치가 하기에 나타내는 바와 같은 뉴럴 네트워크를 적용하는 것이더라도 좋다. 단, 어느 뉴럴 네트워크를 적용하는 경우에도, 일부의 층에서 가지 접속의 인덱스를 유지하는 것으로 한다.
예컨대, 추론 장치가 적용하는 뉴럴 네트워크로서, 방사 기저 함수(RBF) 네트워크, 자기 조직화 맵(SOM), 학습 벡터 양자화법(LVQ), 모듈 뉴럴 네트워크, 스파이킹 뉴럴 네트워크, 동적 뉴럴 네트워크, 캐스케이드 뉴럴 네트워크, 계층형 시간 기억(HTM) 등의 FFNN이나 RNN 이외의 뉴럴 네트워크를 생각할 수 있다.
실시의 형태 10.
상기 실시의 형태 1~9에서는, 추론 장치의 학습 수법이, 데이터와 대응하는 지시 신호를 이용하는 지도 학습, 지시 신호가 없는 데이터를 이용하는 자율 학습, 혹은, 반 지도 학습인 예를 들고 있지만, 추론 장치의 학습 수법이, 강화 학습이더라도 좋다.
여기서, 강화 학습이란, 어떤 환경 하에 있어서의 에이전트가, 현재의 상태를 관측하고, 취해야 할 행동을 결정하기 위한 모델을 학습하는 수법이다. 에이전트는, 컴퓨터의 유저가 연속한 조작을 하지 않더라도, 자율적으로 정보 수집이나 상황 판단을 행하여 적절한 처리 동작을 실행하는 기능을 의미한다.
에이전트가 행동을 선택하면, 환경으로부터 보수를 얻지만, 강화 학습에서는, 일련의 행동으로 보수를 최대화할 수 있는 폴리시를 학습한다.
강화 학습에서는, 현재의 상태, 혹은, 행동이 어느 정도 좋은지를 가늠하는 지표로서, 상태 s의 가치를 나타내는 상태 가치 함수 V(s)나, 상태 s일 때에 행동 a를 선택함으로써 환경으로부터 얻어지는 보수를 나타내는 행동 가치 함수 Q(s, a)를 이용한다. 강화 학습의 알고리즘으로서는, Sarsa나 Q 학습(Q-learning) 등의 TD(Temporal Difference : 시간 차분) 학습이 이용된다.
추론 장치의 학습 수법이 강화 학습인 경우, 상태 s를 입력으로 하여, 상태 가치 함수 V(s)나 행동 가치 함수 Q(s, a)를 출력하는 뉴럴 네트워크를 학습하고, 이들을 이용하여 TD 학습하게 된다. 즉, 일부의 층에서 가지 접속의 인덱스를 유지하도록 한 뉴럴 네트워크를 이용하여, 상태 가치 함수 V(s)나 행동 가치 함수 Q(s, a)를 계산하여, 강화 학습을 행한다.
또, 본원 발명은 그 발명의 범위 내에 있어서, 각 실시의 형태의 자유로운 조합, 혹은 각 실시의 형태의 임의의 구성 요소의 변형, 또는 각 실시의 형태에 있어서 임의의 구성 요소의 생략이 가능하다.
(산업상 이용가능성)
본 발명과 관련되는 추론 장치는, 추론을 행할 때의 계산량이나 메모리량을 삭감할 필요가 높은 것에 적합하다.
1 : 입력층 활성도 산출부
2 : 제 1 중간층 기억부(중간층 기억부)
3 : 제 2 중간층 기억부(중간층 기억부)
4 : 제 3 중간층 기억부(중간층 기억부)
5 : 제 1 중간층 활성도 산출부(중간층 활성도 산출부)
6 : 제 2 중간층 활성도 산출부(중간층 활성도 산출부)
7 : 제 3 중간층 활성도 산출부(중간층 활성도 산출부)
8 : 출력층 기억부
9 : 출력층 활성도 산출부
11 : 입력층 활성도 산출 회로
12 : 중간층 기억 장치
13 : 중간층 활성도 산출 회로
14 : 출력층 기억 장치
15 : 출력층 활성도 산출 회로
21 : 메모리
22 : 프로세서
31 : 콘벌루션층
32 : 풀링층
33 : 콘벌루션층
34 : 풀링층
35 : 인덱스를 유지하는 층
36 : 전체 접속층
41 : 제 2 중간층 활성도 산출부(중간층 활성도 산출부)
42 : 제 1 중간층 기억부(중간층 기억부)
43 : 제 1 중간층 활성도 산출부(중간층 활성도 산출부)
51 : 중간층 기억부
52 : 중간층 활성도 산출부
53 : 출력층 기억부
54 : 출력층 활성도 산출부

Claims (19)

  1. 뉴럴 네트워크를 구성하고 있는 입력층의 각 노드에 데이터가 주어지면, 상기 데이터로부터 상기 입력층의 각 노드에서의 활성도를 산출하는 입력층 활성도 산출부와,
    상기 뉴럴 네트워크를 구성하고 있는 중간층의 노드와 상기 입력층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고 있는 중간층 기억부와,
    중간층의 각 노드와 입력층의 일부 노드만이 접속 관계에 있으며, 상기 입력층 활성도 산출부에 의해 산출된 입력층의 각 노드에서의 활성도 및 상기 중간층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 중간층의 각 노드와 접속 관계가 있는 상기 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 취득한 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 이용하여, 상기 중간층의 각 노드에서의 활성도를 산출하는 중간층 활성도 산출부와,
    상기 중간층 활성도 산출부에 의해 산출된 중간층의 각 노드에서의 활성도를 이용하여, 상기 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드에서의 활성도를 산출하는 출력층 활성도 산출부를 구비하고,
    상기 뉴럴 네트워크를 구성하고 있는 입력층 및 중간층의 노드를 접속하고 있는 복수의 에지, 혹은, 상기 뉴럴 네트워크를 구성하고 있는 중간층 및 출력층의 노드를 접속하고 있는 복수의 에지가 루프를 이루고 있고, 상기 루프가 6개 이상의 에지로 형성되어 있는
    추론 장치.
  2. 제 1 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 중간층이 복수 존재하고 있고,
    상기 중간층 기억부는, 상기 뉴럴 네트워크를 구성하고 있는 중간층마다, 해당 중간층의 노드가 상기 입력층의 노드와 접속되어 있으면, 해당 중간층의 노드와 상기 입력층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고, 해당 중간층의 노드가 다른 중간층의 노드와 접속되어 있으면, 해당 중간층의 노드와 다른 중간층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고 있고,
    상기 중간층 활성도 산출부는, 상기 뉴럴 네트워크를 구성하고 있는 중간층의 노드와 접속되어 있는 노드가 상기 입력층의 노드이면, 상기 입력층 활성도 산출부에 의해 산출된 입력층의 각 노드에서의 활성도 및 상기 중간층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드와 접속 관계가 있는 상기 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 뉴럴 네트워크를 구성하고 있는 중간층의 노드와 접속되어 있는 노드가 다른 중간층의 노드이면, 다른 중간층의 노드에서의 활성도 및 상기 중간층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드와 접속 관계가 있는 다른 중간층의 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 취득한 입력층 또는 다른 중간층의 노드에서의 활성도와 각 에지의 가중치를 이용하여, 상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드에서의 활성도를 산출하고,
    상기 뉴럴 네트워크를 구성하고 있는 복수의 중간층의 노드를 접속하고 있는 복수의 에지가 루프를 이루고 있고, 상기 루프가 6개 이상의 에지로 형성되어 있는
    것을 특징으로 하는 추론 장치.
  3. 제 1 항에 있어서,
    상기 출력층의 노드와 상기 중간층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고 있는 출력층 기억부를 구비하고,
    상기 출력층 활성도 산출부는, 상기 중간층 활성도 산출부에 의해 산출된 중간층의 각 노드에서의 활성도 및 상기 출력층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 출력층의 각 노드와 접속 관계가 있는 상기 중간층의 각 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 취득한 중간층의 각 노드에서의 활성도와 각 에지의 가중치를 이용하여, 상기 출력층의 각 노드에서의 활성도를 산출하는
    것을 특징으로 하는 추론 장치.
  4. 제 1 항에 있어서,
    상기 출력층의 노드가 상기 입력층의 노드와 접속되어 있으면, 상기 출력층의 노드와 상기 입력층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고, 상기 출력층의 노드가 상기 중간층의 노드와 접속되어 있으면, 상기 출력층의 노드와 상기 중간층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고 있는 출력층 기억부를 구비하고,
    상기 출력층 활성도 산출부는, 상기 출력층의 노드와 접속되어 있는 노드가 상기 입력층의 노드이면, 상기 입력층 활성도 산출부에 의해 산출된 입력층의 각 노드에서의 활성도 및 상기 출력층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 출력층의 각 노드와 접속 관계가 있는 상기 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 출력층의 노드와 접속되어 있는 노드가 상기 중간층의 노드이면, 상기 중간층 활성도 산출부에 의해 산출된 중간층의 노드에서의 활성도 및 상기 출력층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 출력층의 각 노드와 접속 관계가 있는 중간층의 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 취득한 입력층 또는 중간층의 노드에서의 활성도와 각 에지의 가중치를 이용하여, 상기 출력층의 각 노드에서의 활성도를 산출하는
    것을 특징으로 하는 추론 장치.
  5. 제 1 항에 있어서,
    상기 중간층 기억부는, 상기 각 에지의 가중치 외에, 상기 중간층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있고,
    상기 중간층 활성도 산출부는, 상기 입력층의 각 노드에서의 활성도와 각 에지의 가중치와 상기 바이어스 값을 이용하여, 상기 중간층의 각 노드에서의 활성도를 산출하는 것을 특징으로 하는 추론 장치.
  6. 제 5 항에 있어서,
    상기 중간층 활성도 산출부는, 상기 중간층의 노드마다, 해당 노드와 접속 관계가 있는 상기 입력층의 각 노드에서의 활성도와, 상기 중간층의 해당 노드와 상기 입력층의 각 노드를 접속하고 있는 각 에지의 가중치의 곱합 연산(product sum operation)을 실시하여, 상기 곱합 연산의 연산 결과와 상기 중간층의 해당 노드의 바이어스 값을 가산하고, 그 가산한 결과를 상기 뉴럴 네트워크의 활성화 함수의 인수로서 이용함으로써, 상기 중간층의 해당 노드의 활성도로서, 상기 활성화 함수의 함숫값을 산출하는 것을 특징으로 하는 추론 장치.
  7. 제 3 항에 있어서,
    상기 출력층 기억부는, 상기 각 에지의 가중치 외에, 상기 출력층의 각 노드에 주어지고 있는 바이어스 값을 기억하고 있고,
    상기 출력층 활성도 산출부는, 상기 중간층의 각 노드에서의 활성도와 각 에지의 가중치와 상기 바이어스 값을 이용하여, 상기 출력층의 각 노드에서의 활성도를 산출하는
    것을 특징으로 하는 추론 장치.
  8. 제 7 항에 있어서,
    상기 출력층 활성도 산출부는, 상기 출력층의 노드마다, 해당 노드와 접속 관계가 있는 상기 중간층의 각 노드에서의 활성도와, 상기 출력층의 해당 노드와 상기 중간층의 각 노드를 접속하고 있는 각 에지의 가중치의 곱합 연산을 실시하여, 상기 곱합 연산의 연산 결과와 상기 출력층의 해당 노드의 바이어스 값을 가산하고, 그 가산한 결과를 상기 뉴럴 네트워크의 활성화 함수의 인수로서 이용함으로써, 상기 출력층의 해당 노드의 활성도로서, 상기 활성화 함수의 함숫값을 산출하는 것을 특징으로 하는 추론 장치.
  9. 삭제
  10. 삭제
  11. 제 1 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드는, 상기 입력층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있고,
    상기 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드는, 상기 중간층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있는
    것을 특징으로 하는 추론 장치.
  12. 제 2 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드는, 상기 입력층 또는 다른 중간층에 있어서의 모든 노드 중, 랜덤으로 선택된 일부의 노드와 접속되어 있는 것을 특징으로 하는 추론 장치.
  13. 제 1 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드는, 상기 입력층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있고,
    상기 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드는, 상기 중간층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있는
    것을 특징으로 하는 추론 장치.
  14. 제 2 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 복수의 중간층의 각 노드는, 상기 입력층 또는 다른 중간층에 있어서의 모든 노드 중, 인접하고 있지 않은 일부의 노드와 접속되어 있는 것을 특징으로 하는 추론 장치.
  15. 제 1 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드당 상기 입력층의 노드와의 평균 접속 개수가 50개 이하이고,
    상기 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드당 상기 중간층의 노드와의 평균 접속 개수가 50개 이하인
    것을 특징으로 하는 추론 장치.
  16. 제 2 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 복수의 중간층의 각 노드당 상기 입력층 또는 다른 중간층의 노드와의 평균 접속 개수가 50개 이하인 것을 특징으로 하는 추론 장치.
  17. 제 1 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 중간층의 각 노드당 상기 입력층의 노드와의 평균 접속 개수가 상기 입력층의 노드의 개수의 10분의 1 이하이고,
    상기 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드당 상기 중간층의 노드와의 평균 접속 개수가 상기 중간층의 노드의 개수의 10분의 1 이하인
    것을 특징으로 하는 추론 장치.
  18. 제 2 항에 있어서,
    상기 뉴럴 네트워크를 구성하고 있는 복수의 중간층의 각 노드당 상기 입력층 또는 다른 중간층의 노드와의 평균 접속 개수가 상기 입력층 또는 다른 중간층의 노드의 개수의 10분의 1 이하인 것을 특징으로 하는 추론 장치.
  19. 중간층 기억부가, 뉴럴 네트워크를 구성하고 있는 중간층의 노드와 입력층의 노드를 접속하고 있는 각 에지의 가중치를 기억하고 있고,
    입력층 활성도 산출부가, 상기 뉴럴 네트워크를 구성하고 있는 입력층의 각 노드에 데이터가 주어지면, 상기 데이터로부터 상기 입력층의 각 노드에서의 활성도를 산출하고,
    중간층의 각 노드와 입력층의 일부 노드만이 접속 관계에 있으며, 중간층 활성도 산출부가, 상기 입력층 활성도 산출부에 의해 산출된 입력층의 각 노드에서의 활성도 및 상기 중간층 기억부에 기억되어 있는 각 에지의 가중치 중에서, 상기 중간층의 각 노드와 접속 관계가 있는 상기 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 취득하고, 상기 취득한 입력층의 각 노드에서의 활성도와 각 에지의 가중치를 이용하여, 상기 중간층의 각 노드에서의 활성도를 산출하고,
    출력층 활성도 산출부가, 상기 중간층 활성도 산출부에 의해 산출된 중간층의 각 노드에서의 활성도를 이용하여, 상기 뉴럴 네트워크를 구성하고 있는 출력층의 각 노드에서의 활성도를 산출하고,
    상기 뉴럴 네트워크를 구성하고 있는 입력층 및 중간층의 노드를 접속하고 있는 복수의 에지, 혹은, 상기 뉴럴 네트워크를 구성하고 있는 중간층 및 출력층의 노드를 접속하고 있는 복수의 에지가 루프를 이루고 있고, 상기 루프가 6개 이상의 에지로 형성되어 있는
    추론 방법.
KR1020177027350A 2015-06-03 2015-08-31 추론 장치 및 추론 방법 KR102084930B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015113440 2015-06-03
JPJP-P-2015-113440 2015-06-03
PCT/JP2015/074720 WO2016194248A1 (ja) 2015-06-03 2015-08-31 推論装置及び推論方法

Publications (2)

Publication Number Publication Date
KR20170122241A KR20170122241A (ko) 2017-11-03
KR102084930B1 true KR102084930B1 (ko) 2020-03-05

Family

ID=57440303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177027350A KR102084930B1 (ko) 2015-06-03 2015-08-31 추론 장치 및 추론 방법

Country Status (8)

Country Link
US (1) US20180053085A1 (ko)
EP (1) EP3306534B1 (ko)
JP (1) JP6054005B1 (ko)
KR (1) KR102084930B1 (ko)
CN (1) CN107615306A (ko)
ES (1) ES2883376T3 (ko)
TW (1) TWI584206B (ko)
WO (1) WO2016194248A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10140979B2 (en) * 2016-08-10 2018-11-27 Conduent Business Services, Llc Modeling a class posterior probability of context dependent phonemes in a speech recognition system
US10748057B1 (en) * 2016-09-21 2020-08-18 X Development Llc Neural network modules
WO2018088804A1 (en) 2016-11-08 2018-05-17 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
JP7235269B2 (ja) * 2017-03-13 2023-03-08 日本電気株式会社 データ項目名推定装置、データ項目名推定プログラム、及びデータ項目名推定方法
TWI643137B (zh) * 2017-04-21 2018-12-01 潘品睿 物件辨識方法及物件辨識系統
CA3076181A1 (en) * 2017-09-15 2019-03-21 Saudi Arabian Oil Company Inferring petrophysical properties of hydrocarbon reservoirs using a neural network
CN111373401B (zh) 2017-11-27 2023-04-25 三菱电机株式会社 同态推理装置、同态推理方法、计算机能读取的存储介质和隐匿信息处理系统
JP6919997B2 (ja) * 2018-02-06 2021-08-18 株式会社日立製作所 制御装置、制御方法、および制御プログラム
JP7082795B2 (ja) * 2018-02-22 2022-06-09 富士電子工業株式会社 熱処理システム
EP3756144A4 (en) * 2018-02-23 2022-06-22 INTEL Corporation METHOD, DEVICE AND SYSTEM FOR GENERATION OF BAYESIAN INFERENCE WITH A SPIKING NEURAL NETWORK
US11593068B2 (en) * 2018-02-27 2023-02-28 New York University System, method, and apparatus for recurrent neural networks
US11169514B2 (en) * 2018-08-27 2021-11-09 Nec Corporation Unsupervised anomaly detection, diagnosis, and correction in multivariate time series data
US11423284B2 (en) * 2018-09-07 2022-08-23 Black Sesame Technologies, Inc Subgraph tile fusion in a convolutional neural network
US20220036155A1 (en) * 2018-10-30 2022-02-03 Google Llc Quantizing trained long short-term memory neural networks
JP7167668B2 (ja) * 2018-11-30 2022-11-09 コニカミノルタ株式会社 学習方法、学習装置、プログラムおよび記録媒体
WO2020129235A1 (ja) * 2018-12-21 2020-06-25 株式会社日立ハイテク 画像認識装置及び方法
KR102251961B1 (ko) * 2019-01-15 2021-05-21 한국과학기술원 양방향 예측이 가능한 양방향 계층형 시간적 메모리 방법 및 장치
JP7271216B2 (ja) 2019-02-19 2023-05-11 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
US10831691B1 (en) 2019-05-24 2020-11-10 International Business Machines Corporation Method for implementing processing elements in a chip card
TWI704578B (zh) * 2019-06-19 2020-09-11 中華電信股份有限公司 一種疾病風險評估之系統與方法
US11443137B2 (en) 2019-07-31 2022-09-13 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for detecting signal features
JP2021043791A (ja) * 2019-09-12 2021-03-18 富士通株式会社 リザーバコンピュータ、リザーバ設計方法及びリザーバ設計プログラム
US20220374484A1 (en) * 2019-10-01 2022-11-24 Visa International Service Association Graph learning and automated behavior coordination platform
US11586705B2 (en) 2019-12-02 2023-02-21 International Business Machines Corporation Deep contour-correlated forecasting
EP3910358A1 (en) * 2020-05-15 2021-11-17 Koninklijke Philips N.V. Automated adjustment of the undersampling factor
US20230362196A1 (en) * 2022-05-04 2023-11-09 National Tsing Hua University Master policy training method of hierarchical reinforcement learning with asymmetrical policy architecture

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02236659A (ja) * 1989-03-09 1990-09-19 Fujitsu Ltd 半導体情報処理装置
JPH0355658A (ja) * 1989-07-25 1991-03-11 Fujitsu Ltd 半導体情報処理装置
JP3111388B2 (ja) * 1991-06-03 2000-11-20 住友大阪セメント株式会社 ニュ−ラルネットワ−クパタ−ン識別装置
EP0528399A3 (en) * 1991-08-19 1994-12-21 Toyoda Machine Works Ltd Method and apparatus for learning of neural network
JPH0546585A (ja) * 1991-08-19 1993-02-26 Toyoda Mach Works Ltd ニユーラルネツトワークの学習方法
US6119112A (en) * 1997-11-19 2000-09-12 International Business Machines Corporation Optimum cessation of training in neural networks
JP2002251601A (ja) * 2001-02-22 2002-09-06 Fuji Xerox Co Ltd ニューラルネットワーク処理装置
US7747070B2 (en) * 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
WO2014189550A1 (en) * 2013-05-24 2014-11-27 University Of Maryland Statistical modelling, interpolation, measurement and anthropometry based prediction of head-related transfer functions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Frazao, Xavier, and Luís A. Alexandre. Dropall: Generalization of two convolutional neural network regularization methods. International Conference Image Analysis and Recognition. Springer, Cham, 2014*

Also Published As

Publication number Publication date
WO2016194248A1 (ja) 2016-12-08
TWI584206B (zh) 2017-05-21
KR20170122241A (ko) 2017-11-03
EP3306534B1 (en) 2021-07-21
EP3306534A1 (en) 2018-04-11
JP6054005B1 (ja) 2016-12-27
ES2883376T3 (es) 2021-12-07
TW201643779A (zh) 2016-12-16
JPWO2016194248A1 (ja) 2017-06-22
EP3306534A4 (en) 2019-02-06
CN107615306A (zh) 2018-01-19
US20180053085A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
KR102084930B1 (ko) 추론 장치 및 추론 방법
CN111782840B (zh) 图像问答方法、装置、计算机设备和介质
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
KR102313773B1 (ko) 신경망 학습에 기반한 입력 처리 방법 및 이를 위한 장치
US20230237375A1 (en) Dynamic placement of computation sub-graphs
CN111797895B (zh) 一种分类器的训练方法、数据处理方法、系统以及设备
CN109766557B (zh) 一种情感分析方法、装置、存储介质及终端设备
US20210034968A1 (en) Neural network learning apparatus for deep learning and method thereof
KR20190109121A (ko) 시계열 데이터의 분석 및 예측을 위한 통합적인 딥러닝 시스템
CN113128678A (zh) 神经网络的自适应搜索方法及装置
CN111340190A (zh) 构建网络结构的方法与装置、及图像生成方法与装置
US11790232B2 (en) Method and apparatus with neural network data input and output control
CN114004383A (zh) 时间序列预测模型的训练方法、时间序列预测方法及装置
WO2019018533A1 (en) NEURO-BAYESIAN ARCHITECTURE FOR THE IMPLEMENTATION OF GENERAL ARTIFICIAL INTELLIGENCE
CN116627503A (zh) 神经网络模型的编译方法、优化模型的训练方法和装置
JP2020057357A (ja) 神経網の動作方法と学習方法及びその神経網
CN116665114B (zh) 基于多模态的遥感场景识别方法、系统及介质
CN108376283B (zh) 用于神经网络的池化装置和池化方法
KR102105951B1 (ko) 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
KR102474974B1 (ko) 인공지능 기반 브랜드 분석 방법, 장치 및 시스템
CN115409217A (zh) 一种基于多专家混合网络的多任务预测性维护方法
KR20230053404A (ko) 뉴럴 네트워크를 이용한 초분광 이미지 분류 방법 및 장치
US20240184630A1 (en) Device and method with batch normalization
CN117218459B (zh) 一种分布式节点分类方法及装置
KR102475552B1 (ko) 진동 데이터 형성 장치 및 방법과, 그를 저장하는 컴퓨터 판독 가능한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)