KR20210008417A - Characterization of activities and information encoding and decoding in recurrent artificial neural networks - Google Patents

Characterization of activities and information encoding and decoding in recurrent artificial neural networks Download PDF

Info

Publication number
KR20210008417A
KR20210008417A KR1020207035845A KR20207035845A KR20210008417A KR 20210008417 A KR20210008417 A KR 20210008417A KR 1020207035845 A KR1020207035845 A KR 1020207035845A KR 20207035845 A KR20207035845 A KR 20207035845A KR 20210008417 A KR20210008417 A KR 20210008417A
Authority
KR
South Korea
Prior art keywords
neural network
activity
patterns
artificial neural
nodes
Prior art date
Application number
KR1020207035845A
Other languages
Korean (ko)
Other versions
KR102475411B1 (en
Inventor
헨리 마크람
랜 레비
벨왈드 케쓰린 파멜라 히쓰
Original Assignee
이나이트 에스아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/004,671 external-priority patent/US11972343B2/en
Priority claimed from US16/004,837 external-priority patent/US11663478B2/en
Priority claimed from US16/004,796 external-priority patent/US20190378000A1/en
Priority claimed from US16/004,635 external-priority patent/US20190378007A1/en
Priority claimed from US16/004,757 external-priority patent/US11893471B2/en
Application filed by 이나이트 에스아 filed Critical 이나이트 에스아
Publication of KR20210008417A publication Critical patent/KR20210008417A/en
Application granted granted Critical
Publication of KR102475411B1 publication Critical patent/KR102475411B1/en

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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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
    • G06N3/0445
    • 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
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Abstract

방법들, 시스템들, 및 장치들은 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하며, 그 컴퓨터 프로그램들은 순환 인공 신경 네트워크 내 활동을 특성화하며 그리고 정보를 인코딩하고 디코딩하기 위한 것이다. 한 모습에서, 방법은 순환 인공 신경 네트워크로부터 자릿수 (digit)들을 출력하는 단계를 포함하며, 여기에서 각 자릿수는 상기 순환 인공 신경 네트워크 내 노드들의 특별한 그룹 내의 활동이, 활동의 각자 패턴에 적합한지 아닌지의 여부를 표현한다.The methods, systems, and devices include computer programs encoded on a computer storage medium, the computer programs for characterizing activity in a recurrent artificial neural network and for encoding and decoding information. In one aspect, the method includes outputting digits from a recurrent artificial neural network, where each digit is determined whether or not an activity within a particular group of nodes in the recurrent artificial neural network is suitable for a respective pattern of activity. Express whether or not.

Description

순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩Characterization of activities and information encoding and decoding in recurrent artificial neural networks

본 명세서는 순환 인공 신경 네트워크 (recurrent artificial neural network) 내 활동을 특성화하는 것에 관한 것이다.This specification is directed to characterizing activity within a recurrent artificial neural network.

활동을 특성화하는 것은 전송, 암호화, 및 데이터 저장과 같은 환경들에서 신호들을 인코딩/디코딩에 있어서는 물론이며, 예를 들면, 결정 순간 (decision moment)들에 대한 신원확인에서 사용될 수 있다. 그것은 정보를 인코딩하고 디코딩하는 것에 또한 관련되며, 그리고 다양한 환경들에서 그 인코딩된 정보를 사용하는 시스템 및 기술들에도 관련된다. 상기 인코딩된 정보는 신경 네트워크, 예를 들면, 순환 신경 네트워크 (recurrent neural network) 내 활동을 나타낼 수 있다.Characterizing the activity may be used in encoding/decoding signals in environments such as transmission, encryption, and data storage, as well as in identification, for example, for decision moments. It relates also to encoding and decoding information, and to systems and technologies that use the encoded information in various environments. The encoded information may indicate activity in a neural network, for example, a recurrent neural network.

인공 신경 네트워크들은 생물학적 뉴론들의 네트워크의 구조 및 기능적인 모습들에 의해 영감을 받은 디바이스들이다. 특히, 인공 신경 네트워크들은 노드라고 불리는 상호연결된 구조물의 시스템을 사용하여 생물학적 뉴론들의 네트워크의 정보 인코딩 및 다른 프로세싱 능력들을 모방한다. 인공 신경 네트워크 내 노드들 사이의 연결들의 배열 및 강도는 그 인공 신경 네트워크에 의한 정보 저장이나 정보 프로세싱의 결과들을 결정한다.Artificial neural networks are devices inspired by the structural and functional features of the network of biological neurons. In particular, artificial neural networks mimic the information encoding and other processing capabilities of a network of biological neurons using a system of interconnected structures called nodes. The arrangement and strength of connections between nodes in an artificial neural network determine the results of information storage or information processing by that artificial neural network.

신경 네트워크들은 그 네트워크 내 소망된 신호 흐름을 생산하고 소망된 정보 프로세싱이나 정보 저장 결과들을 달성하기 위해 트레이닝될 수 있다. 일반적으로, 신경 네트워크를 트레이닝하는 것은 학습 페이즈 동안에 노드들 사이의 연결들의 배열 및/또는 강도를 변경할 것이다. 주어진 입력 세트들에 대해 신경 네트워크들에 의해 충분하게 적절한 프로세싱 결과들이 달성될 때에 그 신경 네트워크는 트레이닝된 것으로 간주될 수 있다. Neural networks can be trained to produce the desired signal flow within the network and to achieve the desired information processing or information storage results. In general, training a neural network will change the strength and/or arrangement of connections between nodes during the learning phase. The neural network can be considered trained when sufficiently appropriate processing results are achieved by neural networks for given input sets.

인공 신경 네트워크들은 비-선형 데이터 프로세싱 및 분석을 수행하기 위해 다양한 상이한 디바이스들에서 사용될 수 있다. 비-선형 데이터 프로세싱은 중첩 원리 (superposition)를 충족시키지 않으며, 즉, 결정된 변수들은 독립적인 성분들의 선형 합으로서 작성될 수 없다. 비-선형 데이터 프로세싱이 유용한 환경들의 예들은 패턴 및 시퀀스 인식, 스피치 프로세싱, 이상 탐지 (novelty detection) 및 순차적 의사 결정 (sequential decision making), 복잡한 시스템 모델링, 그리고 다양한 다른 환경들에서의 시스템들 및 기술을 포함한다.Artificial neural networks can be used in a variety of different devices to perform non-linear data processing and analysis. Non-linear data processing does not satisfy the superposition, that is, the determined variables cannot be written as a linear sum of independent components. Examples of environments in which non-linear data processing is useful are pattern and sequence recognition, speech processing, novelty detection and sequential decision making, complex system modeling, and systems and technologies in various other environments. Includes.

인코딩 및 디코딩 둘 모두는 정보를 하나의 모습이나 표현으로부터 다른 모습이나 표현으로 변환시킨다. 상이한 표현들은 상이한 애플리케이션들에서 더 또는 덜 유용한 상이한 특징들을 제공할 수 있다. 예를 들면, 정보의 일부 모습들이나 표현들 (예를 들면, 자연 언어)은 사람이 이해하기 더 쉬울 수 있다. 다른 모습들이나 표현들은 크기에 있어서 더 작을 수 있으며 (예를 들면, 압축됨) 그리고 전송하거나 저장하기 더 쉬울 수 있다. 또 다른 모습들이나 표현들은 정보 콘텐트를 고의적으로 모호하게 할 수 있다 (예를 들면, 정보는 암호적으로 인코딩될 수 있다).Both encoding and decoding transform information from one shape or presentation to another. Different representations may provide different features that are more or less useful in different applications. For example, some aspects or expressions of information (eg, natural language) may be easier for humans to understand. Other figures or representations may be smaller in size (eg, compressed) and may be easier to transmit or store. Other features or representations can deliberately obscure the information content (for example, the information can be cryptographically encoded).

특별한 애플리케이션에 무관하게, 인코딩 또는 디코딩 프로세스는 상이한 모습들이나 표현들로 된 정보 사이의 대응 관계를 확립하는 미리 정의된 규칙들의 세트나 알고리즘을 따르는 것이 일반적일 것이다. 예를 들면, 이진 코드를 산출하는 인코딩 프로세스는 이진 시퀀스나 벡터 내 개별 비트들에 따라 그 개별 비트들에게 역할이나 의미를 부여할 수 있다. Regardless of the particular application, the encoding or decoding process will generally follow an algorithm or set of predefined rules that establish a correspondence between information in different shapes or representations. For example, an encoding process that produces a binary code can assign roles or meanings to individual bits according to individual bits in a binary sequence or vector.

본원은 인공 신경 네트워크 내 활동을 특성화하는 것에 관련된 기법들을 제공하려고 한다.This application seeks to provide techniques related to characterizing activity in artificial neural networks.

본원은 인공 신경 네트워크 내 활동을 특성화하는 것에 관련된 기술들을 설명한다.This application describes techniques related to characterizing activity in artificial neural networks.

다른 예로서, 순환 인공 신경 네트워크에서 결정 순간들을 식별하기 위한 방법은, 상기 순환 인공 신경 네트워크 내 활동의 패턴들의 복잡성을 판별하는 단계로, 상기 활동은 상기 순환 인공 신경 네트워크 내로의 입력에 응답하는, 판별 단계, 상기 입력에 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 가진 활동의 타이밍을 판별하는 단계, 그리고 구별 가능한 복잡성을 가진 상기 활동의 타이밍에 기반하여 결정 순간을 식별하는 단계를 포함한다.As another example, a method for identifying decision moments in a recurrent artificial neural network comprises determining the complexity of patterns of activity within the recurrent artificial neural network, the activity responsive to input into the recurrent artificial neural network, Determining, determining a timing of an activity with a complexity distinguishable from the complexity of another activity responsive to the input, and identifying a decision moment based on the timing of the activity having a distinguishable complexity.

다른 예로서, 순환 인공 신경 네트워크 내 활동을 특성화하는 방법은 상기 순환 인공 신경 네트워크의 활동의 소집단 패턴들을 식별하는 단계를 포함한다. 상기 방법은 데이터 프로세싱 장치에 의해 수행된다. As another example, a method of characterizing activity in a circulating artificial neural network includes identifying subpopulation patterns of activity of the circulating artificial neural network. The method is performed by a data processing device.

다른 예로서, 방법은 순환 인공 신경 네트워크로부터 영 (zero)들과 일 (1)들의 이진 시퀀스를 출력하는 단계를 포함할 수 있으며, 여기에서 상기 시퀀스 내 각 자릿수는 상기 순환 인공 신경 네트워크 내 노드들의 특별한 그룹들이 활동의 각자의 패턴을 디스플레이하는가 하지 않는가의 여부를 나타낸다.As another example, the method may include outputting a binary sequence of zeros and ones (1) from a recurrent artificial neural network, wherein each digit in the sequence is the number of nodes in the recurrent artificial neural network. It indicates whether or not special groups display their respective patterns of activity.

다른 예로서, 순환 인공 신경 네트워크를 구조화하는 방법은, 노드들의 구조화된 컬렉션 및 그 노드들 사이의 링크들을 포함하는 순환 인공 신경 네트워크에서 일어날 수 있는 활동의 패턴들의 복잡성을 특성화하는 단계, 그리고 활동의 상기 패턴들의 복잡성을 증가시키기 위해 상기 순환 인공 신경 네트워크의 구조를 전개하는 단계를 포함할 수 있다. 구조화하는 이 방법은, 예를 들면, 상기 순환 인공 신경 네트워크를 트레이닝시키는 방법의 일부로서 또한 사용될 수 있다.As another example, a method of structuring a recurrent artificial neural network includes characterizing the complexity of patterns of activity that may occur in a recurrent artificial neural network comprising a structured collection of nodes and links between the nodes, and It may include deploying the structure of the recurrent artificial neural network to increase the complexity of the patterns. This method of structuring can also be used, for example, as part of a method of training the circulating artificial neural network.

이런 모습들의 다른 실시예들은, 대응 시스템들, 장치, 그리고 컴퓨터 프로그램들 포함하며, 이 컴퓨터 프로그램들은 상기 방법들의 행동들을 수행하도록 구성되며, 컴퓨터 저장 디바이스들 상에서 인코딩된다.Other embodiments of these aspects include corresponding systems, apparatus, and computer programs, which computer programs are configured to perform the actions of the above methods and are encoded on computer storage devices.

본 명세서에서 설명된 특허 대상의 특별한 실시예는 다음의 이점들 중 하나 이상을 실현하기 위해서 구현될 수 있다. 예를 들면, 예를 들면, 디지털 컴퓨터 및 다른 컴퓨터들과 같은 전통적인 데이터 프로세싱 디바이스들은 정보를 프로세싱할 때에 미리-정의된 로직 시퀀스를 따르도록 프로그램된다. 컴퓨터가 결과에 도달할 때의 순간은 그래서 식별하기가 상대적으로 쉽다. 즉, 상기 프로그래밍에서 구체화된 로직 시퀀스 완료는 정보 프로세싱이 완료되며 그리고 그 컴퓨터가 "결정에 도달 (reached a decision)"했을 때를 표시한다. 그 결과는, 예를 들면, 메모리 디바이스, 버퍼들의 세트 등에 의해 컴퓨터의 데이터 프로세서의 출력단에서 상대적으로 긴-수명의 모습으로 유지될 수 있으며, 다양한 목적들을 위해 액세스될 수 있다.The particular embodiments of the subject matter described in this specification may be implemented to realize one or more of the following advantages. For example, traditional data processing devices such as digital computers and other computers are programmed to follow a pre-defined sequence of logic when processing information. The moment when the computer reaches the result is thus relatively easy to identify. That is, the completion of the logic sequence embodied in the above programming indicates when the information processing is complete and the computer "reached a decision". The result can be maintained in a relatively long-lived form at the output of the computer's data processor by, for example, a memory device, a set of buffers, etc., and can be accessed for a variety of purposes.

대조적으로, 본원에서 설명된 것처럼, 인공 순환 신경 네트워크들 내에서의 결정 순간 (decision moment)들은, 정보 프로세싱 동안에 신경 네트워크의 동적 성질들의 특성들에 기반하여 식별될 수 있다. 인공 신경 네트워크가 로직 시퀀스의 미리-정의된 끝에 도달하기 위해 기다리기보다는, 인공 신경 네트워크들 내 결정 순간들은, 정보 프로세싱하는 중에 상기 인공 신경 네트워크의 기능적인 상태들의 특성들에 기반하여 식별될 수 있다. In contrast, as described herein, decision moments within artificial recurrent neural networks can be identified based on the characteristics of the dynamic properties of the neural network during information processing. Rather than waiting for the artificial neural network to reach a pre-defined end of a logical sequence, decision moments within the artificial neural networks can be identified based on the characteristics of the functional states of the artificial neural network during information processing.

또한, 정보 프로세싱 동안에 순환 인공 신경 네트워크들의 동적 성질들의 특성들은 - 소집단 패턴들 및 지향성 소집단 패턴들에 적합한 활동과 같은 특성들을 포함함 - 신호 전송, 인코딩, 암호화, 및 저장을 포함하는 다양한 시그날링 동작들에서 사용될 수 있다. 특히, 정보 프로세싱 동안에 순환 인공 신경 네트워크 내 활동의 특성들은 상기 입력을 반영하며 그리고 상기 입력의 인코딩된 모습 (즉, 인코딩 프로세스들에서 순환 인공 신경 네트워크의 "출력")인 것으로 간주될 수 있다. 이런 특성들은, 예를 들면, 원격 수신기로 전송될 수 있으며, 그 원격 수신기는 상기 입력을 또는 상기 입력의 일부를 재구축하기 위해 상기 전송된 특성을 디코딩할 수 있을 것이다. In addition, the characteristics of dynamic properties of recurrent artificial neural networks during information processing include:-including characteristics such as activity suitable for subgroup patterns and directional subgroup patterns-various signaling operations including signal transmission, encoding, encryption, and storage. Can be used in the field. In particular, characteristics of the activity in the recurrent artificial neural network during information processing reflect the input and can be considered to be the encoded appearance of the input (ie, the “output” of the recurrent artificial neural network in encoding processes). These characteristics may be transmitted, for example, to a remote receiver, which may be able to decode the transmitted characteristics to reconstruct the input or part of the input.

더욱이, 몇몇 경우에, 순환 인공 신경 네트워크 내 노드들의 상이한 그룹들 내 활동 (예를 들면, 소집단 패턴들 및 지향성 소집단 패턴들에 적합한 활동)은 영 (0)들 및 일 (1)들의 이진 시퀀스로서 표현될 수 있으며, 이진 시퀀스의 각 자릿수는 활동이 패턴에 적합한가 아닌가의 여부를 표시한다. 상기 활동이 몇몇 환경들에서는 순환 인공 신경 네트워크의 출력일 수 있기 때문에, 순환 인공 신경 네트워크의 출력은 이진 자릿수들의 벡터로서 표현될 수 있으며 디지털 데이터 프로세싱에 호환될 수 있다. Moreover, in some cases, the activity in different groups of nodes in the recurrent artificial neural network (e.g., activity suitable for subpopulation patterns and directional subpopulation patterns) is a binary sequence of zeros (0) and one (1). Can be expressed, and each digit of the binary sequence indicates whether the activity fits the pattern or not. Since the activity may be the output of the recurrent artificial neural network in some circumstances, the output of the recurrent artificial neural network can be represented as a vector of binary digits and is compatible with digital data processing.

또한, 몇몇 경우에, 순환 인공 신경 네트워크의 동적 성질들의 그런 특성화는 정보 프로세싱 동안에 일어나는 활동의 복잡한 패턴들의 가능성을 증가시키기 위해 트레이닝 이전에 그리고/또는 트레이닝 동안에 사용될 수 있다. 예를 들면, 트레이닝 이전에 또는 트레이닝 동안에, 순환 신경 네트워크 내 노드들 사이의 링크들은 활동 패턴들의 복잡성을 증가시키기 위해 의도적으로 전개될 수 있다. 이것은 순환 인공 신경 네트워크를 트레이닝시키기 위해 필요한 시간과 노력을 줄어들게 할 수 있다.Further, in some cases, such characterization of the dynamic properties of the recurrent artificial neural network may be used prior to and/or during training to increase the likelihood of complex patterns of activity occurring during information processing. For example, prior to or during training, links between nodes in a recurrent neural network can be intentionally deployed to increase the complexity of activity patterns. This can reduce the time and effort required to train a recurrent artificial neural network.

다른 예로서, 순환 인공 신경 네트워크의 동적 성질들의 그런 특성화는 순환 신경 네트워크의 트레이닝에 있어서 완벽함의 정도 (degree)를 정하기 위해 사용될 수 있다. 예를 들면, 활동 내 순서 정함의 특별한 유형들 (예를 들면, 소집단 패턴들 및 지향성 소집단 패턴들)을 디스플레이하는 순환 인공 신경 네트워크는, 그런 순서 정함을 디스플레이하지 않는 순환 인공 신경 네트워크보다 더 고도로 트레이닝되는 것으로 간주될 수 있다. 실제로, 몇몇 경우에, 트레이닝의 정도는 순환 인공 신경 네트워크 내 활동의 순서정함의 정도를 계량화함으로써 계량화될 수 있다.As another example, such characterization of the dynamic properties of the recurrent artificial neural network can be used to determine the degree of perfection in the training of the recurrent neural network. For example, a recurrent artificial neural network that displays special types of ordering within an activity (e.g., subgroup patterns and directional subgroup patterns) trains more highly than a recurrent artificial neural network that does not display such ordering. Can be considered to be. Indeed, in some cases, the degree of training can be quantified by quantifying the degree of ordering of activities within the recurrent artificial neural network.

본 명세서에서 설명된 하나 이상의 구현들의 상세 내용들은 아래의 동반 도면들 및 설명에서 제시된다. 본 발명 대상의 다른 특징들, 모습들, 및 이점들은 그 설명, 도면들 및 청구항들로부터 명백해질 것이다.Details of one or more implementations described herein are set forth in the accompanying drawings and description below. Other features, aspects, and advantages of the subject matter of the invention will become apparent from the description, drawings and claims.

본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.The effects of the invention are specified individually in the corresponding parts of this specification.

도 1은 순환 인공 신경 네트워크 디바이스의 구조를 개략적으로 도시한 것이다.
도 2 및 도 3은 상이한 시간 윈도우들 내 순환 인공 신경 네트워크 디바이스의 기능을 개략적으로 도시한 것이다.
도 4는 상기 네트워크 내 활동의 특성화에 기반하여 순환 인공 신경 네트워크 내 결정 순간들을 식별하기 위한 프로세스의 흐름도이다.
도 5는 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들을 개략적으로 도시한 것이다.
도 6은 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들을 개략적으로 도시한 것이다.
도 7은 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들을 개략적으로 도시한 것이다.
도 8은 순환 인공 신경 네트워크 디바이스 내 활동 패턴들에서 순서를 정하는 것의 복잡성이나 정도의 결정에 있어서 사용될 수 있는 데이터 테이블의 개략적 도시이다.
도 9는 구별 가능한 복잡성을 구비한 활동 패턴들의 타이밍을 결정하는 개략적인 도시이다.
도 10은 네트워크 내 활동의 특성화에 기반하여 순환 인공 신경 네트워크를 사용하여 신호들을 인코딩하는 프로세스의 흐름도이다.
도 11은 네트워크 내 활동의 특성화에 기반하여 순환 인공 신경 네트워크를 사용하여 신호들을 디코딩하는 프로세스의 흐름도이다.
도 12, 13 및 14는 위상적인 구조들의 이진 모습이나 표현의 개략적인 예시들이다.
도 15 및 도 16은 상이한 비트들에 대응하는 특징들의 존재 또는 부재가 어떻게 서로에게 독립적이지 않은가의 예를 개략적으로 도시한다.
도 17, 18, 19, 20은 네 개의 상이한 분류 시스템들 내 신경 네트워크 내의 활동에서 위상적인 구조들의 발생의 표현을 사용하는 것의 개략적 도시이다.
도 21 및 도 22는 소스 (source) 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 사용하여 트레이닝될 수 있는 로컬 인공 신경 네트워크를 포함하는 에지 (edge) 디바이스들의 개략적인 도시이다.
도 23은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 로컬 인공 신경 네트워크들이 트레이닝될 수 있는 시스템의 개략적인 도시이다.
도 24, 25, 26, 27은 네 개의 상이한 분류 시스템들 내 신경 네트워크 내의 활동에서 위상적인 구조들의 발생의 표현을 사용하는 것의 개략적 도시이다.
도 28은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 트레이닝될 수 있는 인공 신경 네트워크들을 포함하는 시스템의 개략적인 도시이다.
다양한 도면들에서 비슷한 참조번호들은 비슷한 요소들을 표시한다.
1 schematically shows the structure of a circulatory artificial neural network device.
2 and 3 schematically illustrate the functioning of a recurrent artificial neural network device in different time windows.
4 is a flowchart of a process for identifying decision moments in a recurrent artificial neural network based on the characterization of the activity in the network.
Figure 5 schematically depicts patterns of activity that can be identified within a recurrent artificial neural network and used to identify decision moments.
6 schematically depicts patterns of activity that can be identified within a recurrent artificial neural network and used to identify decision moments.
7 schematically depicts patterns of activity that can be identified within a recurrent artificial neural network and used to identify decision moments.
8 is a schematic illustration of a data table that can be used in determining the complexity or degree of ordering in activity patterns in a recurrent artificial neural network device.
9 is a schematic illustration of determining the timing of activity patterns with distinguishable complexity.
10 is a flow diagram of a process of encoding signals using a recurrent artificial neural network based on characterization of activity in the network.
11 is a flow diagram of a process of decoding signals using a recurrent artificial neural network based on characterization of activity in the network.
12, 13, and 14 are schematic examples of binary representations or representations of topological structures.
15 and 16 schematically show an example of how the presence or absence of features corresponding to different bits is not independent of each other.
17, 18, 19, 20 are schematic illustrations of using a representation of the occurrence of topological structures in activity within a neural network in four different classification systems.
21 and 22 are schematic illustrations of edge devices comprising a local artificial neural network that can be trained using representations of the occurrence of topological structures corresponding to activity in the source neural network.
23 is a schematic illustration of a system in which local artificial neural networks can be trained using representations of the occurrence of topological structures corresponding to activity in a source neural network.
24, 25, 26, 27 are schematic illustrations of using a representation of the occurrence of topological structures in activity in a neural network in four different classification systems.
28 is a schematic illustration of a system comprising artificial neural networks that can be trained using representations of the occurrence of topological structures corresponding to activity in a source neural network.
Similar reference numbers in the various drawings indicate similar elements.

도 1은 순환 인공 신경 네트워크 디바이스 (100)의 구조의 개략적 도시이다. 순환 인공 신경 네트워크 디바이스 (100)는 상호연결된 노드들의 시스템을 이용하여 생물학적 뉴론들의 네트워크들의 정보 인코딩 및 다른 프로세싱 능력들을 모방하는 디바이스이다. 순환 인공 신경 네트워크 디바이스 (100)는 하드웨어로, 소프트웨어로, 또는 그것들의 조합으로 구현될 수 있다.1 is a schematic diagram of the structure of a recurrent artificial neural network device 100. The recurrent artificial neural network device 100 is a device that mimics information encoding and other processing capabilities of networks of biological neurons using a system of interconnected nodes. The recurrent artificial neural network device 100 may be implemented in hardware, software, or a combination thereof.

순환 인공 신경 네트워크 디바이스 (100)의 상기 예시는 복수의 구조적 링크들에 의해 상호연결된 복수의 노드들 (101, 102, ... , 107)을 포함한다. 노드들 (101, 102, ... , 107)은 생물학적 네트워크들 내 신경들과 유사한 별개의 정보 프로세싱 구조물들이다. 일반적으로 노드들 (101, 102, ... , 107)은 하나 이상의 링크들 (110)을 통해서 수신된 하나 이상의 입력 신호들을 프로세싱하여, 하나 이상의 링크들 (110)을 통해 출력되는 하나 이상의 출력 신호들을 산출한다. 예를 들면, 몇몇 구현들에서, 노드들 (101, 102, ... , 107)은 다수의 입력 신호들에 가중치를 부여하며, 그 합을 하나 이상의 비-선형 활성 기능들을 통해 통과시키며, 그리고 하나 이상의 출력 신호들을 출력한다.The above example of a recurrent artificial neural network device 100 includes a plurality of nodes 101, 102, ..., 107 interconnected by a plurality of structural links. Nodes 101, 102, ..., 107 are discrete information processing structures similar to neurons in biological networks. In general, nodes 101, 102, ..., 107 process one or more input signals received through one or more links 110, and one or more output signals output through one or more links 110 Yields. For example, in some implementations, nodes 101, 102, ..., 107 weight multiple input signals, passing the sum through one or more non-linear active functions, and Output one or more output signals.

노드들 (101, 102, ... , 107)은 누산기들로서 작동할 수 있다. 예를 들면, 노드들 (101, 102, ... , 107)은 임계에 도달할 때까지 하나 이상의 신호들이 제1 노드 내에 축적되는 인터그레이트-파이어 (integrate-and-fire) 모델에 따라서 작동할 수 있다. 임계에 도달한 이후에, 상기 제1 노드는 연결된 제2 노드를 하나 이상의 링크들 (110)을 따라 츨력 신호를 전송함으로써 파이어 (fire)한다. 차례로, 상기 제2 노드 (101, 102, ... , 107)는 수신한 신호를 축적하며 그리고 임계에 도달하면 상기 제2 노드 (101, 102, ... , 107)는 다른 출력 신호를 추가의 연결된 노드로 전송한다.Nodes 101, 102, ..., 107 can act as accumulators. For example, nodes 101, 102, ..., 107 will operate according to an integral-and-fire model in which one or more signals accumulate within the first node until a threshold is reached. I can. After reaching the threshold, the first node fires the connected second node by sending an output signal along one or more links 110. In turn, the second node (101, 102, ..., 107) accumulates the received signal, and when the threshold is reached, the second node (101, 102, ..., 107) adds another output signal. To the connected node of.

구조적 링크들 (110)은 노드들 (101, 102, ... , 107) 사이에 신호들을 전송할 수 있는 연결들이다. 편의상, 모든 구조적 링크들 (110)은 본원에서는 노드들 (101, 102, ... , 107) 중의 모든 제1 노드로부터 노드들 (101, 102, ... , 107) 중의 모든 제2 노드에게, 제2 노드로부터 제1 노드로 신호가 운반되는 것과 아주 동일한 방식으로 신호들을 운반하는 동일한 양방향 링크인 것으로 취급된다. 그러나, 이는 반드시 그런 것은 아니다. 예를 들면, 구조적 링크들 (110)의 일부 또는 모두는 노드들 (101, 102, ... , 107) 중의 제1 노드로부터 노드들 (101, 102, ... , 107) 중의 제2 노드에게로 신호를 운반하지만 제2 노드로부터 제1 노드로는 신호들을 운반하지 않는 단방향 링크들일 수 있다.Structural links 110 are connections capable of transmitting signals between nodes 101, 102, ..., 107. For convenience, all structural links 110 are here from all first of nodes 101, 102, ..., 107 to all second of nodes 101, 102, ..., 107. However, it is treated as being the same bidirectional link carrying signals in the very same way signals are carried from the second node to the first node. However, this is not necessarily the case. For example, some or all of the structural links 110 are from the first of the nodes 101, 102, ..., 107 to the second of the nodes 101, 102, ..., 107 They may be unidirectional links that carry signals to but not from the second node to the first node.

다른 예로서, 몇몇 구현들에서, 구조적 링크들 (110)은 방향성이 아닌 또는 방향성에 추가로 다양한 성질들을 가질 수 있다. 예를 들면, 몇몇 구현들에서, 상이한 구조적 링크들 (110)은 상이한 크기의 신호들을 운반할 수 있으며 - 노드들 (101, 102, ... , 107) 각자 사이에 상이한 강도를 가진 상호연결의 결과를 가져온다. 다른 예로서, 상이한 구조적 링크들 (110)은 상이한 유형의 신호 (예를 들면, 억제성 및/또는 흥분성 신호들)를 운반할 수 있다. 실제로, 몇몇 구현들에서, 구조적 링크들 (110)은 생물학적 시스템들 내 체세포 사이의 링크들 상에서 모델링될 수 있으며 그리고 그런 링크들의 막대한 형태학적, 화학적 및 다른 다양성의 적어도 일부를 반영할 수 있다. As another example, in some implementations, structural links 110 may have various properties that are not directional or in addition to directionality. For example, in some implementations, different structural links 110 may carry signals of different sizes-the nodes 101, 102, ..., 107 of interconnections with different strengths between each of them. It brings results. As another example, different structural links 110 may carry different types of signals (eg, inhibitory and/or excitatory signals). Indeed, in some implementations, structural links 110 may be modeled on links between somatic cells in biological systems and may reflect at least some of the enormous morphological, chemical and other diversity of such links.

상기 예시된 구현에서, 순환 인공 신경 네트워크 디바이스 (100)은, 모든 노드 (101, 102, ... , 107)가 모든 다른 노드 (101, 102, ... , 107)에게 연결된다는 점에서 소집단 (clique) 네트워크 (또는 서브네트워크)이다. 이것은 반드시 그런 것은 아니다. 오히려, 몇몇 구현들에서, 각 노드 (101, 102, ... , 107)는 (경우에 따라 동일한 링크들이나 다양한 링크들에 의해) 노드들 (101, 102, ... , 107)의 적당한 서브세트에 연결될 수 있다.In the above illustrated implementation, the recurrent artificial neural network device 100 is a small group in that all nodes 101, 102, ..., 107 are connected to all other nodes 101, 102, ..., 107. (clique) network (or subnetwork). This is not necessarily the case. Rather, in some implementations, each node 101, 102, ..., 107 is a suitable sub of nodes 101, 102, ..., 107 (by the same links or various links as the case may be). Can be connected to the set.

예시의 명료함을 위해, 순환 인공 신경 네트워크 디바이스 (100)는 단 7개의 노드들과 같이 도시된다. 일반적으로, 실제 세계의 신경 네트워크 디바이스들은 아주 더 많은 개수의 노드들을 포함할 것이다. 예를 들면, 몇몇 구현들에서, 신경 네트워크 디바이스들은 수십만, 수백만, 또는 심지어는 수십억 개의 노드들을 포함할 수 있다. 그래서, 순환 신경 네트워크 디바이스 (100)는 더 큰 순환 인공 신경 네트워크의 일부 (즉, 서브네트워크)일 수 있다. For clarity of illustration, the recurrent artificial neural network device 100 is shown with only 7 nodes. In general, neural network devices in the real world will contain a very large number of nodes. For example, in some implementations, neural network devices may include hundreds of thousands, millions, or even billions of nodes. Thus, the recurrent neural network device 100 may be part of a larger recurrent artificial neural network (ie, a subnetwork).

생물학적 신경 네트워크 디바이스들에서, 축적 프로세스 및 신호 전송 프로세스는 실제의 세계에서의 시간의 경과를 필요로 한다. 예를 들면, 신경의 체세포 (soma)는 시간이 지남에 따라 수신된 입력들을 통합하며, 그리고 신경으로부터 신경으로의 신호 전송은, 예를 들면, 신호 전송 속도 그리고 신경들 사이의 링크들의 성질 및 길이에 의해 결정된 시간들을 필요로 한다. 그래서, 생물학적 신경 네크워크 디바이스의 상태는 동적이며 시간이 지나면 변한다. In biological neural network devices, the accumulation process and signal transmission process require the passage of time in the real world. For example, the soma of the nerve integrates the inputs received over time, and the transmission of signals from the nerve to the nerve, for example, the speed of signal transmission and the nature and length of the links between the nerves. It requires the times determined by So, the state of a biological neural network device is dynamic and changes over time.

인공 순환 신경 네트워크 디바이스들에서, 시간은 인공적이며 수학적인 구조들을 사용하여 표현된다. 예를 들면, 신호들이 노드로부터 노드로 전송되는 것을 위해 실제 세계의 시간 경과를 필요로 하기 보다는, 그런 신호들은 일반적으로는 실제 세계의 시간 경과에 관계없는 인공 유닛들의 관점에서 컴퓨터 클록 사이클들에서 측정된 것처럼 또는 다르게 표현될 수 있다. 그럼에도 불구하고, 인공 순환 신경 네트워크의 상태는, 그 상태가 이 인공 유닛들에 관하여 변한다는 점에서 "동적 (dynamic)"인 것으로 설명될 수 있다.In artificial recurrent neural network devices, time is represented using artificial and mathematical structures. For example, rather than requiring real-world time lapse for signals to be transmitted from node to node, such signals are typically measured in computer clock cycles in terms of artificial units that are not related to real-world time lapse. It can be expressed as if it was done or otherwise. Nevertheless, the state of the artificial circulatory neural network can be described as being "dynamic" in that its state changes with respect to these artificial units.

편의상 이 인공 유닛들은 본원에서는 "시간 (time)" 유닛들로 언급된다는 점에 유의한다. 그럼에도 불구하고, 이 유닛들은 인공적이며 그리고 일반적으로는 실제 세계에서의 시간 경과에 대응하지 않는다는 것이 이해되어야 한다. Note that for convenience these artificial units are referred to herein as "time" units. Nevertheless, it should be understood that these units are artificial and generally do not correspond to the passage of time in the real world.

도 2 및 도 3은 상이한 시간 윈도우들 내 순환 인공 신경 네트워크 디바이스 (100)의 기능에 대한 개략적인 도시이다. 상기 디바이스 (100)의 상태가 동적이기 때문에, 디바이스 (100)의 기능작용은 윈도우 내에서 발생하는 신호 전송 활동을 이용하여 표현될 수 있다. 그런 기능적인 도시는 링크들 (110)의 일부에서만의 활동을 보여주는 것이 일반적이다. 특히, 일반적으로 모든 링크 (110)가 특별한 윈도우 내에서 신호를 운반하는 것은 아니기 때문에, 모든 링크 (110)가 이 도면들에서 상기 디바이스 (100)의 기능작용에 기여하는 활동으로서 도시되는 것은 아니다.2 and 3 are schematic illustrations of the functionality of the recurrent artificial neural network device 100 within different time windows. Since the state of the device 100 is dynamic, the functional action of the device 100 can be expressed using a signal transmission activity occurring within a window. It is common for such functional cities to show activity only in some of the links 110. In particular, not all links 110 are shown in these figures as an activity contributing to the functional functioning of the device 100, as not all links 110 generally carry signals within a particular window.

도 2 및 도 3에서의 도면들에서, 활성 링크 (110)는 노드들 (101, 102, ... , 107)의 쌍을 연결시키는 상대적으로 두꺼운 연속선으로 도시된다. 대조적으로, 비활성 링크 (110)는 단속선들로 도시된다. 이것은 예시적인 것을 위한 것일 뿐이다. 다른 말로 하면, 상기 링크들 (110)에 의해 형성된 구조적 연결들은 링크들 (110)이 활성이건 아니건 간에 존재한다. 그러나, 이 형식주의는 디바이스 (100)의 기능작용 및 활동을 강조한다.In the figures in Figures 2 and 3, the active link 110 is shown as a relatively thick continuous line connecting a pair of nodes 101, 102, ..., 107. In contrast, the inactive link 110 is shown as intermittent lines. This is for illustrative purposes only. In other words, the structural connections formed by the links 110 exist whether the links 110 are active or not. However, this formalism emphasizes the functioning and activity of device 100.

링크를 따른 활동의 존재를 개략적으로 도시한 것에 추가로, 그 활동의 방향 또한 개략적으로 도시된다. 특히, 링크들 (110)의 활성을 도시한 상대적으로 두꺼운 단속선들은 관련 윈도우 동안에 상기 링크를 따른 신호 전송의 방향을 표시한 화살촉들을 또한 포함한다. 일반적으로, 단일 윈도우 내 신호 전송의 방향은 상기 링크가 상기 표시된 방향성을 가진 단방향 링크인 것으로 결정적으로 강제하지 않는다. 오히려, 제1 시간 윈도우에 대한 제1 기능적 도시에서, 링크는 제1 방향에서 활성일 수 있다. 제2 시간 윈도우에 대한 제2 기능적 도시에서, 링크는 반대 방향에서 활성일 수 있다. 그러나, 예를 들어, 단방향 링크들만을 포함하는 순환 인공 신경 네트워크 디바이스 (100)에서와 같은 몇몇 경우에, 신호 전송의 방향성은 그 링크의 방향성을 결정적으로 표시할 것이다.In addition to schematically showing the existence of an activity along a link, the direction of the activity is also schematically shown. In particular, the relatively thick interruptions showing the activity of links 110 also include arrowheads indicating the direction of signal transmission along the link during the associated window. In general, the direction of signal transmission within a single window is not conclusively enforced that the link is a unidirectional link having the indicated directionality. Rather, in the first functional city for the first time window, the link may be active in the first direction. In the second functional city for the second time window, the link may be active in the opposite direction. However, in some cases, such as, for example, in recurrent artificial neural network device 100 that includes only unidirectional links, the directionality of the signal transmission will definitively indicate the directionality of that link.

피드포워드 (feedforward) 신경 네트워크 디바이스들에서, 정보는 그 네트워크의 말단에 있는 노드들의 출력 레이어로 단일 방향으로만 (즉, 전방으로만) 이동한다. 피드포워드 신경 네트워크 디바이스들은 "결정 (decision)"에 도달했다는 것을 표시하며 그리고 상기 네트워크를 통한 출력 레이어로의 신호들 전파 (propagation)에 의해 정보 프로세싱이 완료되었다고 표시한다.In feedforward neural network devices, information travels only in a single direction (ie forwards only) to the output layer of nodes at the end of the network. Feedforward neural network devices indicate that a "decision" has been reached and that information processing is complete by propagation of signals to the output layer through the network.

대조적으로, 순환 신경 네트워크에서, 노드들 사이의 연결들은 사이클들을 형성하며 그리고 그 네트워크의 활동은 즉시 식별 가능한 결정 없이 동적으로 진행한다. 예를 들면, 심지어 3-노드 순환 신경 네트워크에서, 제1 노드는 제2 노드로 신호를 전송할 수 있으며, 그 제2 노드는 응답하여 제3 노드로 신호를 전송할 수 있다. 응답으로, 상기 제3 노드는 제1 노드로 신호를 거꾸로 전송할 수 있다. 상기 제1 노드가 수신한 신호들은 동일한 노드로부터 전송된 신호들에 -적어도 부분적으로- 응답할 수 있다.In contrast, in a recurrent neural network, the connections between nodes form cycles and the activity of the network proceeds dynamically without immediately identifiable decisions. For example, even in a three-node recurrent neural network, a first node may transmit a signal to a second node, and that second node may transmit a signal to a third node in response. In response, the third node may reversely transmit a signal to the first node. The signals received by the first node may respond-at least partially-to signals transmitted from the same node.

개략적인 기능 도시들인 도 2 및 도 3은 이것을 3-노드 순환 신경 네트워크보다 아주 약간 더 큰 네트워크 내에 도시한다. 도 2에서 보이는 이 기능적 도시들은 제1 윈도우 내에서의 활동의 예시일 수 있으며 그리고 도 3은 바로 이어지는 제2 윈도우 내 활동의 예시일 수 있다. 도시된 것처럼, 신호 전송 활동의 컬렉션은 노드 (104)에서 비롯되며 제1 윈도우 동안에 디바이스 (100)를 통해 대체로 시계 방향으로 진행하는 것으로 보인다. 제2 윈도우에서, 상기 신호 전송 활동의 적어도 일부는 노드 (104)로 돌아가는 것으로 대체적으로 보인다. 그런 극도로 단순한 도시에서조차, 신호 전송은 분명하게 식별 가능한 출력이나 종료를 산출하는 방식으로 진행하지 않는다. Figures 2 and 3, which are schematic functional illustrations, show this in a network that is slightly larger than a three-node recurrent neural network. These functional illustrations shown in FIG. 2 may be an example of an activity in a first window and FIG. 3 may be an example of an activity in a second window immediately following. As shown, the collection of signal transmission activity originates at node 104 and appears to proceed generally clockwise through device 100 during the first window. In the second window, at least some of the signal transmission activity is generally seen as going back to node 104. Even in such an extremely simple city, signal transmission does not proceed in a way that yields clearly identifiable outputs or terminations.

예를 들면, 수천 또는 그보다 많은 노드들의 순환 신경 네트워크가 고려될 때에, 신호 전파는 아주 많은 개수의 경로들을 통해 일어날 수 있으며 그리고 이 신호들에는 분명하게 식별 가능한 "출력" 위치나 시간이 부족하다는 것이 인지될 수 있다. 비록 설계상 상기 네트워크가 백그라운드만의 신호 전송이 발생하거나 또는 심지어는 어떤 신호 전송도 발생하지 않는 무활동 상태 (quiescent state)로 돌아갈 수 있지만, 그 무활동 상태 그 자체는 정보 프로세싱의 결과들을 표시하지 않는다. 상기 순환 신경 네트워크는 입력에 무관하게 항상 무활동 상태로 돌아간다. 정보 프로세싱의 "출력"이나 결과는 그래서 특별한 입력에 응답하는 상기 순환 신경 네트워크 내에서 발생하는 활동 내에서 인코딩된다. For example, when a circulatory neural network of thousands or more nodes is considered, signal propagation can take place over a very large number of paths, and these signals lack a clearly identifiable "output" location or time. Can be recognized. Although by design the network may return to a quiescent state in which only background signal transmission occurs or even no signal transmission occurs, the inactivity state itself does not represent the results of information processing. Does not. The circulatory neural network always returns to an inactive state regardless of input. The "output" or result of information processing is thus encoded within the activity occurring within the recurrent neural network in response to a particular input.

도 4는 순환 인공 신경 네트워크 내 활동 특성화에 기반하여 그 네트워크 내에서 결정 순간들을 식별하기 위한 프로세스 (400)의 흐름도이다. 결정 순간은, 순환 인공 신경 네트워크 내 활동이 입력에 응답한 상기 네트워크에 의한 정보 프로세싱의 결과들을 표시하는 시점이다. 프로세스 (400)는 기계-판독가능 명령어들의 하나 이상의 세트들의 로직에 따라 동작들을 수행하는 하나 이상의 데이터 프로세싱 장치의 시스템에 의해 수행될 수 있다. 예를 들면, 프로세서 (400)는, 그 프로세스 (400)에서 사용된 순환 인공 신경 네트워크를 구현하기 위한 소프트웨어를 실행하는 하나 이상의 컴퓨터들의 세트의 동일한 시스템에 의해 수행될 수 있다.4 is a flow diagram of a process 400 for identifying decision moments within a recurrent artificial neural network based on activity characterization within that network. The moment of determination is the point at which an activity in a recurrent artificial neural network indicates the results of information processing by the network in response to an input. Process 400 may be performed by a system of one or more data processing devices that perform operations according to the logic of one or more sets of machine-readable instructions. For example, the processor 400 may be performed by the same system of a set of one or more computers running software for implementing the recurrent artificial neural network used in the process 400.

프로세스 (400)를 수행하는 상기 시스템은 순환 인공 신경 네트워크로 신호가 입력되었다는 통지를 405에서 수신한다. 몇몇 경우에, 상기 신호 입력은, 예를 들면, 상기 신경 네트워크의 하나 이상의 노드들 및/또는 하나 이상의 링크들로 정보가 주입되는 별개의 주입 이벤트이다. 다른 경우에, 상기 신호 입력은 어떤 시간 구간 동안에 상기 신경 네트워크의 하나 이상의 노드들 및/또는 링크들로 주입된 정보의 스트림이다. 상기 통지는 상기 인공 신경 네트워크가 능동적으로 징보를 프로세싱하고 있으며, 예를 들면, 무활동 상태에 있지 않다는 것을 표시한다. 몇몇 경우에, 상기 통지는, 예를 들면, 상기 신경 네트워크가 식별 가능한 무활동 상태에 존재하는 때처럼 상기 신경 네트워크 그 자체로부터 수신된다The system performing process 400 receives a notification at 405 that a signal has been input into the recurrent artificial neural network. In some cases, the signal input is, for example, a separate injection event in which information is injected into one or more nodes and/or one or more links of the neural network. In other cases, the signal input is a stream of information injected into one or more nodes and/or links of the neural network over a period of time. The notification indicates that the artificial neural network is actively processing the alert and, for example, is not in an inactive state. In some cases, the notification is received from the neural network itself, for example when the neural network is in an identifiable inactive state.

410에서 상기 시스템 수행 프로세스 (400)는 상기 네트워크 내 응답 활동을 윈도우들의 컬렉션으로 분할한다. 주입이 별개 이벤트인 경우에, 상기 윈도우들은 주입 및 무활동 상태로의 복귀 사이의 시간을, 상기 활동이 가변 복잡성들을 디스플레이하는 여러 구간들로 세분할 수 있다. 주입이 정보의 스트림인 경우에, 상기 주입의 지속시간 (그리고 옵션으로는 주입 이후에 무활동 상태로의 복귀가 완료될 때까지의 시간)은, 상기 활동이 가변 복잡성들을 디스플레이하는 윈도우들로 세분될 수 있다. 활동의 복잡성을 결정하는 것으로의 다양한 접근 방식들은 아래에서 더 설명된다.At 410, the system execution process 400 divides the response activity within the network into a collection of windows. In the case where the injection is a separate event, the windows can subdivide the time between injection and return to the inactive state into several intervals in which the activity displays variable complexity. If the injection is a stream of information, the duration of the injection (and optionally the time until the return to the inactive state after injection is complete) is subdivided into windows in which the activity displays variable complexity. Can be. Various approaches to determining the complexity of an activity are described further below.

몇몇 구현들에서, 상기 윈도우들은 모두 동일한 지속시간을 가지지만, 반드시 그렇지는 않다. 오히려, 몇몇 구현들에서, 상기 윈도우들은 상이한 지속시간들을 가질 수 있다. 예를 들면, 몇몇 구현들에서, 지속시간은, 별개 주입 이벤트가 발생한 후의 시간이 증가함에 따라 증가한다.In some implementations, the windows all have the same duration, but not necessarily. Rather, in some implementations, the windows can have different durations. For example, in some implementations, the duration increases as the time after a separate injection event occurs increases.

몇몇 구현들에서, 상기 윈도우들은 분리된 윈도우들의 연속하는 시리즈일 수 있다. 다른 구현들에서, 상기 윈도우는 시간상 겹치며, 그래서 하나의 윈도우가 이전의 윈도우가 끝나기 이전에 시작하도록 한다. 몇몇 경우에, 상기 윈도우들은 시간상 이동하는 움직이는 윈도우일 수 있다.In some implementations, the windows can be a contiguous series of separate windows. In other implementations, the windows overlap in time, so that one window starts before the previous window ends. In some cases, the windows may be moving windows that move in time.

몇몇 구현들에서, 윈도우들의 상이한 지속 시간들은 활동의 복잡성의 상이한 결정들을 위해 정의된다. 예를 들면, 상대적으로 많은 개수의 노드들 사이에서 발생하는 활동을 한정하는 활동 패턴들에 대해, 상기 윈도우들은 상대적으로 더 작은 개수의 노드들 사이에서 발생하는 활동을 한정하는 활동 패턴들을 위해 정의된 윈도우들보다 더 긴 지속 시간을 가질 수 있다. 예를 들면, 활동의 참조번호 500의 패턴들의 환경에서 (도 5), 참조번호 530의 패턴에 적합한 활동을 식별하기 위해 정의된 윈도우는 참조번호 505의 패턴에 적합한 활동을 식별하기 위해 정의된 윈도우보다 더 길 수 있다. In some implementations, different durations of windows are defined for different determinations of the complexity of the activity. For example, for activity patterns that limit activity occurring between a relatively large number of nodes, the windows are defined for activity patterns that limit activity occurring between a relatively small number of nodes. It can have a longer duration than windows. For example, in the environment of patterns of reference number 500 of the activity (Fig. 5), a window defined to identify an activity suitable for the pattern of reference number 530 is a window defined to identify an activity suitable to the pattern of reference number 505. Can be longer than

상기 시스템 수행 프로세스 (400)는 415에서 상이한 윈도우들에서 상기 네트워크 내 활동에서의 패턴들을 식별한다. 아래에서 더 설명되는 것처럼, 기능적인 그래프를, 노드들을 포인트들로서 구비한 위상적 공간인 것으로 취급함으로써 활동 내에서의 패턴들이 식별될 수 있다. 몇몇 구현들에서, 식별된 상기 활동 패턴들은, 상기 네트워크의 기능적인 그래프 내 소집단들, 예를 들면, 지향성 소집단 (directed clique)들이다.The system performing process 400 identifies patterns in activity within the network in different windows at 415. As described further below, patterns within an activity can be identified by treating the functional graph as being a topological space with nodes as points. In some implementations, the identified activity patterns are subpopulations in the functional graph of the network, eg, directed cliques.

420에서 상기 시스템 수행 프로세스 (400)는 상이한 윈도우들 내 활동 패턴들의 복잡성을 결정한다. 상기 복잡성은 활동의 순서 정해진 패턴이 어떤 윈도우 내에서 나타나는 가능성의 측정치일 수 있다. 그래서 랜덤하게 나타나는 활동 패턴들은 상대적으로 단순할 수 있을 것이다. 반면에서, 비-랜덤 순서를 보여주는 활동 패턴들은 상대적으로 복잡하다. 예를 들면, 몇몇 구현들에서, 활동 패턴의 복잡성은, 예를 들면, 상기 활동 패턴의 단순 카운트들이나 베티 수 (Betti number)들을 이용하여 측정될 수 있다.At 420, the system performing process 400 determines the complexity of activity patterns in different windows. The complexity may be a measure of the likelihood that an ordered pattern of activity appears within a window. So, activity patterns that appear randomly may be relatively simple. On the other hand, activity patterns showing non-random order are relatively complex. For example, in some implementations, the complexity of an activity pattern can be measured using, for example, simple counts or Betti numbers of the activity pattern.

425에서 상기 시스템 수행 프로세스 (400)는 구별 가능한 복잡성을 가진 활동 패턴들의 타이밍을 결정한다. 특별한 활동 패턴은, 예를 들면, 고정된 또는 가변의 베이스라인으로부터 위쪽으로 벗어나거나 아래쪽으로 벗어나는 복잡성에 기반하여 구별 가능할 수 있다. 다른 말로 하면, 상기 활동 내 비-랜덤 순서의 특별하게 높은 레벨들이나 특별하게 낮은 패턴들을 표시하는 활동 패턴들의 타이밍이 결정될 수 있다.At 425, the system performing process 400 determines the timing of activity patterns with distinguishable complexity. A particular pattern of activity may be distinguishable, for example, based on the complexity of deviating upwards or deviating downwards from a fixed or variable baseline. In other words, the timing of activity patterns indicating specially high levels or specially low patterns in a non-random order within the activity may be determined.

예를 들면, 신호 입력이 별개의 주입 이벤트인 경우에, 예를 들면, 안정된 베이스라인으로부터의 또는 다양한 상이한 별개의 주입 이벤트들에 대한 신경 네트워크의 평균 응답의 특성인 커브로부터의 편차들은, 구별 가능한 복잡한 활동 패턴들의 타이밍을 결정하기 위해 사용될 수 있다. 다른 예로서, 정보가 스트림 내에서의 입력인 경우에, 스트리밍 동안에 복잡성에서의 큰 변화들은, 구별 가능한 복잡한 활동 패턴들의 타이밍을 결정하기 위해 사용될 수 있다.For example, if the signal input is a separate injection event, for example, deviations from a stable baseline or from a curve that is a characteristic of the average response of the neural network to various different separate injection events It can be used to determine the timing of complex activity patterns. As another example, in the case where the information is input within a stream, large changes in complexity during streaming can be used to determine the timing of distinguishable complex activity patterns.

430에서 상기 시스템 수행 프로세스 (400)는 구별 가능한 복잡한 활동 패턴들의 타이밍에 기반하여 상기 신경 네트워크로부터의 출력 판독 (reading)의 타이밍을 정한다. 예를 들어, 몇몇 구현들에서, 신경 네트워크의 출력은 상기 구별 가능한 복잡한 활동 패턴들이 발생했다고 동시에 판독될 수 있다. 상기 복잡성 편차가 상기 활동 내 상대적으로 높은 비-랜덤 순서를 표시하는 몇몇 구현들에서, 관찰된 활동 패턴들 그 자체는 상기 순환 인공 신경 네트워크의 출력으로서 또한 취해질 수 있다.At 430, the system execution process 400 determines the timing of reading output from the neural network based on the timing of distinguishable complex activity patterns. For example, in some implementations, the output of the neural network can be read at the same time that the distinguishable complex patterns of activity have occurred. In some implementations in which the complexity deviation indicates a relatively high non-random order within the activity, the observed activity patterns themselves may also be taken as an output of the recurrent artificial neural network.

도 5는 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들 (500)의 예시이다. 예를 들어, 패턴들 (500)은 프로세스 (400) (도 4) 내 415에서 식별될 수 있다.5 is an illustration of patterns 500 of activity that may be identified within a recurrent artificial neural network and used to identify decision moments. For example, patterns 500 can be identified at 415 in process 400 (FIG. 4 ).

패턴들 (500)은 순환 인공 신경 네트워크 내 활동의 예시들이다. 패턴들 (500)의 적용 동안에, 기능적 그래프는, 노드들을 포인트들로서 구비한 위상적 공간인 것으로 취급된다. 패턴들 (500)에 적합한 노드들 및 링크들 내 활동은, 그 활동에 관여한 특별한 노드들 및/또는 링크들의 신원에 무관하게 순서가 정해진 것으로 인식될 수 있다. 예를 들면, 제1 패턴 (505)은 도 2 내 참조번호 101, 104, 105의 노드들 사이에서의 활동을 나타낼 수 있으며, 이때에 패턴 (505) 내 포인트 0은 참조번호 104의 노드로, 포인트 1은 참조번호 105의 노드로, 그리고 포인트 2는 참조번호 101의 노드로 구비한다. 다른 예로서, 제1 패턴 (505)은 도 3 내 참조번호 104, 105, 106의 노드들 사이에서의 활동을 또한 나타낼 수 있으며, 이때에 패턴 (505) 내 포인트 0은 참조번호 106의 노드로, 포인트 1은 참조번호 104의 노드로, 그리고 포인트 2는 참조번호 105의 노드로 구비한다. 상기 지향성 소집단 내 활동의 순서 또한 규정된다. 예를 들면, 참조번호 5050의 패턴에서, 포인트 1 및 포인트 2 사이의 활동은 포인트 0 및 포인트 1 사이의 활동 이후에 발생한다.Patterns 500 are examples of activity in a recurrent artificial neural network. During application of the patterns 500, the functional graph is treated as being a topological space with nodes as points. Activities within nodes and links that conform to patterns 500 may be recognized as being ordered regardless of the identity of particular nodes and/or links involved in the activity. For example, the first pattern 505 may represent an activity between nodes of reference numerals 101, 104, and 105 in FIG. 2, in which point 0 in the pattern 505 is a node of reference numeral 104, Point 1 is provided with a node of 105, and point 2 is provided with a node of 101. As another example, the first pattern 505 may also represent activity between nodes of reference numerals 104, 105, and 106 in FIG. 3, wherein point 0 in the pattern 505 is a node of reference numeral 106 , Point 1 is a node of reference numeral 104, and point 2 is a node of reference number 105. The sequence of activities within the directional subgroup is also defined. For example, in the pattern of reference numeral 5050, an activity between points 1 and 2 occurs after the activity between points 0 and 1.

상기 예시된 구현에서, 패턴들 (500)은 모드 방향성 소집단들이나 방향성 심플렉스 (simplex)들이다. 그런 패턴들에서, 그 패턴 내 모든 다른 노드로 신호들을 전송하는 소스 노드로부터 활동이 비롯된다. 패턴들 (500)에서, 그런 소스 노드는 포인트 0으로서 표시되며 반면에 다른 노드들은 포인트 1, 2, ... 로서 표시된다. 또한, 방향성 소집단들이나 심플렉스들에서, 상기 노드들 중 하나의 노드는 싱크 (sink)처럼 행동하며 패턴 내 모든 다른 노드로부터 전송된 신호들을 수신한다. 패턴들 (500)에서, 그런 싱크 노드들은 상기 패턴 내 가장 높은 숫자 패턴으로 표시된다. 예를 들면, 패턴 (505)에서, 싱크 노드는 포인트 2로 표시된다. 패턴 (510)에서, 싱크 노드는 포인트 3으로 표시된다. 패턴 (515)에서, 싱크 노드는 포인트 3으로 표시되며, 그 이후도 마찬가지이다. 패턴들 (500)에 의해 표현된 활동은 그래서 구별 가능한 방식으로 순서가 정해진다.In the illustrated implementation, the patterns 500 are mode directional subpopulations or directional simplexes. In such patterns, activity comes from a source node sending signals to all other nodes in the pattern. In patterns 500, such a source node is denoted as point 0 while the other nodes are denoted as points 1, 2, .... Also, in directional subgroups or simplexes, one of the nodes behaves like a sink and receives signals transmitted from all other nodes in the pattern. In patterns 500, such sink nodes are indicated by the highest number pattern in the pattern. For example, in pattern 505, the sink node is indicated by point 2. In pattern 510, the sink node is indicated by point 3. In pattern 515, the sink node is indicated by point 3, and so on thereafter. The activities represented by the patterns 500 are thus ordered in a distinguishable manner.

패턴들 (500) 각각은 상이한 개수의 포인트들을 가지며 그리고 상이한 개수의 노드들에서 순서가 정해진 활동을 반영한다. 예를 들면, 패턴 (505)은 2D-심플렉스이며 세 개의 노드들 내 행동을 반영하며, 패턴 (510)은 3D-심플렉스이며 네 개의 노드들 내 행동을 반영하며, 그 이후도 마찬가지이다. 패턴 내 포인트들의 개수가 증가하면, 순서 정하기의 정도 (degree) 및 행동의 복잡성도 증가한다. 예를 들면, 윈도우 내에 특정 레벨의 랜덤 활동을 가진 노드들의 큰 컬렉션에 대해, 그 활동의 일부는 우연하게 벗어난 패턴 (505)에 적합할 수 있다. 그러나, 랜덤한 활동이 패턴들 (510, 515, 520, ...) 각자에 적합할 것이라는 것은 점점 더 가망이 없다. 패턴 (530)에 적합한 활동의 존재는, 패턴 (505)에 적합한 활동의 존재인 그 활동 내 순서 정하기의 상대적으로 더 높은 정도 그리고 복잡성을 표시한다. Each of the patterns 500 has a different number of points and reflects an ordered activity in a different number of nodes. For example, pattern 505 is a 2D-simplex and reflects the behavior within three nodes, pattern 510 is a 3D-simplex and reflects the behavior within four nodes, and so on. As the number of points in the pattern increases, the degree of ordering and the complexity of the action also increase. For example, for a large collection of nodes with a certain level of random activity within a window, some of the activity may fit into a pattern 505 that accidentally deviates from it. However, it is increasingly hopeless that a random activity will fit each of the patterns (510, 515, 520, ...). The presence of an activity suitable for pattern 530 indicates a relatively higher degree and complexity of ordering within that activity, which is the presence of an activity suitable for pattern 505.

이전에 설명된 것처럼, 몇몇 구현들에서, 상이한 지속 시간 윈도우들은 활동의 복잡성에 대한 상이한 결정을 위해 한정될 수 있다. 예를 들면, 패턴 (530)에 적합한 활동이 식별되려고 할 때에, 패턴 (505)에 적합한 활동이 식별되려고 할 때보다 더 긴 지속 시간 윈도우들이 사용될 수 있다. As previously described, in some implementations, different duration windows can be defined for different decisions about the complexity of the activity. For example, when an activity suitable for pattern 530 is about to be identified, longer duration windows may be used than when an activity suitable for pattern 505 is about to be identified.

도 6은 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들 (600)의 예시이다. 예를 들면, 패턴들 (600)은 프로세스 400 (도 4) 내 415에서 식별될 수 있다.6 is an illustration of patterns of activity 600 that can be identified within a recurrent artificial neural network and used to identify decision moments. For example, patterns 600 can be identified at 415 in process 400 (FIG. 4 ).

패턴들 (500)과 비슷하게, 패턴들 (600)은 순환 인공 신경 네트워크 내 활동의 예시들이다. 그러나, 패턴들 (600)은, 그 패턴들 (600) 모두가 지향성 소집단들이나 지향성 심플렉스들은 아니라는 접에서 패턴들 (500)의 엄격한 순서 정함과는 다르다. 특히, 패턴들 (605, 610)은 참조번호 515의 패턴보다 더 낮은 방향성을 가진다. 실제로, 패턴 (605)은 싱크 노드를 전혀 가지지 않는다. 그럼에도 불구하고, 패턴들 (605, 610)은 랜덤한 우연함을 통해 예상되는 것을 초과한 순서 정해진 활동의 정도를 표시하며 그리고 순환 인공 신경 네트워크 내 활동의 복잡성을 결정하기 위해 사용될 수 있다.Similar to patterns 500, patterns 600 are examples of activity in a recurrent artificial neural network. However, the patterns 600 differ from the strict ordering of the patterns 500 in the sense that not all of the patterns 600 are directional subpopulations or directional simplexes. In particular, the patterns 605 and 610 have a lower directionality than the pattern of reference numeral 515. In practice, pattern 605 has no sink nodes at all. Nevertheless, the patterns 605 and 610 indicate an ordered degree of activity that exceeds what would be expected through random contingency and can be used to determine the complexity of the activity within the recurrent artificial neural network.

도 7은 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들 (700)의 예시이다. 예를 들면, 패턴들 (700)은 프로세스 400 (도 4) 내 415에서 식별될 수 있다.7 is an illustration of patterns of activity 700 that may be identified within a recurrent artificial neural network and used to identify decision moments. For example, patterns 700 may be identified at 415 in process 400 (FIG. 4 ).

패턴들 (700)은, 개별 소집단들이나 심플렉스들보다 더 많은 포인트들을 포함하는 패턴들을 한정하며 지향성 심플렉스들의 그룹 내 공동 (cavity)들을 둘러싼 동일한 차원 (즉, 동일한 개수의 포인트들을 가짐)의 지향성 소집단들이나 지향성 심플렉스들의 그룹들이다. 예로서, 참조번호 705의 패턴은, 차수 (degree) 2의 상동 클래스를 함께 한정하는 여섯 개의 상이한 3 포인트, 2-차원 패턴들 (505)을 포함하며, 반면에 참조번호 710의 패턴은, 차수 (degree) 2의 제2 상동 클래스를 함께 한정하는 여덟 개의 상이한 3 포인트, 2-차원 패턴들 (505)을 포함한다. 패턴들 (705, 710) 내 상기 3 포인트, 2-차원 패턴들 (505) 각각은 각자의 공동을 둘러싸고 있는 것으로 생각될 수 있다. 지형성 그래프와 연관된 n번째 베티 수는 위상적 표현 내의 그런 상동 클래스들의 카운트를 제공한다.The patterns 700 define patterns containing more points than individual subgroups or simplexes, and directivity of the same dimension (i.e., having the same number of points) surrounding cavities within a group of directional simplexes. These are small groups or groups of directional simplex. By way of example, the pattern of reference numeral 705 includes six different three-point, two-dimensional patterns 505 that together define a homology class of degree 2, while the pattern of reference numeral 710 is Eight different three-point, two-dimensional patterns 505 that together define a second homology class of (degree) 2. Each of the three-point, two-dimensional patterns 505 in the patterns 705 and 710 may be considered to surround their respective cavity. The nth Betty number associated with the topographical graph provides a count of those homologous classes in the topological representation.

참조번호 700의 패턴들과 같은 패턴들에 의해 도시된 활동은 랜덤한 우연함에 의해 일어날 것 같지 않은 네트워크 내 활동의 순서 정함의 상대적으로 높은 정도를 도시한다. 패턴들 (700)은 그 활동의 복잡성을 특성화하기 위해 사용될 수 있다.The activity illustrated by patterns, such as the patterns of reference numeral 700, shows a relatively high degree of ordering of activities in the network that are unlikely to occur by random chance. Patterns 700 can be used to characterize the complexity of the activity.

몇몇 구현들에서, 결정 순간들을 신원확인하는 동안에 활동의 일부 패턴들만이 식별되며 그리고/또는 식별된 활동의 패턴들의 일부는 폐기되거나 그렇지 않으면 무시된다. 예를 들어, 도 5를 참조하면, 5 포인트, 4-차원 심플렉스 패턴 (515)에 적합한 활동은 4 포인트, 3-차원 및 3 포인트, 2-차원 심플렉스 패턴들 (510. 505)에 적합한 활동을 원래 포함한다. 예를 들면, 도 5의 4-차원 심플렉스 패턴 (515) 내 포인트들 0, 2, 3, 4 및 포인트들 1, 2, 3, 4 둘 모두는 3-차원 심플렉스 패턴 (510)에 적합하다. 몇몇 구현들에서, 더 작은 개수의 포인트들을 포함하는 - 그래서 더 낮은 차수인 - 패턴들은 결정 순간들의 신원확인 동안에 폐기될 수 있으며 그렇지 않고 무시될 수 있다. In some implementations, only some patterns of activity are identified while identifying decision moments and/or some of the patterns of identified activity are discarded or otherwise ignored. For example, referring to FIG. 5, an activity suitable for a 5-point, 4-dimensional simplex pattern 515 is suitable for 4-point, 3-dimensional and 3-point, 2-dimensional simplex patterns 510. 505. Includes the original activity. For example, points 0, 2, 3, 4 and points 1, 2, 3, 4 both in the 4-dimensional simplex pattern 515 of FIG. 5 are suitable for the 3-dimensional simplex pattern 510 Do. In some implementations, patterns containing a smaller number of points-and therefore of a lower order-may be discarded during the identification of decision moments and may otherwise be ignored.

다른 예로서, 활동의 일부 패턴들만이 식별될 필요가 있다. 예를 들면, 몇몇 구현들에서 홀수 포인트들 (3, 5, 7, ...) 또는 심지어는 짝수 차원들 (2, 4, 6, ...)을 구비한 패턴들만이 결정 순간들 신원확인에서 사용된다.As another example, only some patterns of activity need to be identified. For example, in some implementations only patterns with odd points (3, 5, 7, ...) or even even dimensions (2, 4, 6, ...) identify decision moments. Used in

상이한 윈도우들 내 순환 인공 신경 네트워크 디바이스 내 활동 패턴들에서의 순서 정함의 복잡성이나 정도는 다양한 상이한 방식들로 결정될 수 있다. 도 8은 그런 결정에서 사용될 수 있는 데이터 테이블 (800)의 개략적인 도시이다. 데이터 테이블 (800)은 다른 활동들과 별개로 또는 함께 상기 활동 패턴들의 복잡성을 결정하기 위해 사용될 수 있다. 예를 들면, 데이터 테이블 (800)은 참조번호 400 (도 4) 내 420에서 사용될 수 있다.The complexity or degree of ordering in the activity patterns in the recurrent artificial neural network device in different windows can be determined in a variety of different ways. 8 is a schematic illustration of a data table 800 that can be used in such a determination. Data table 800 may be used to determine the complexity of the activity patterns separately or in conjunction with other activities. For example, the data table 800 may be used at 420 in reference numeral 400 (FIG. 4).

추가의 상세 내용에서, 테이블 (800)은 윈도우 "N" 동안의 패턴 발생의 숫자 카운트를 포함하며, 여기에서 상이한 차원들의 패턴들에 부합하는 활동의 숫자 카운트들은 상이한 로우 (row)들 내에 존재한다. 예를 들면, 상기 도시된 예에서, 참조번호 805의 로우는 하나 이상의 3 포인트, 2-차원 패턴들에 부합하는 활동의 발생들의 숫자 카운트 (즉, "2032")를 포함하며, 반면에 참조번호 810의 로우는 하나 이상의 4 포인트, 3-차원 패턴들에 부합하는 활동의 발생들의 숫자 카운트 (즉, "8772")를 포함한다. 패턴들의 발생이 상기 활동이 비-랜덤인 순서를 가진다는 것을 표시하기 때문에, 상기 숫자 카운트들은 상기 활동 패턴들의 전체적인 복잡성의 일반화된 특성화를 또한 제공한다. 참조번호 800의 테이블과 비슷한 테이블이, 예를 들면, 프로세스 400 (도 4) 내 410에서 정의된 각 윈도우에 대해 형성될 수 있다. In further detail, table 800 includes a numerical count of pattern occurrences during a window "N", where numerical counts of activities matching patterns of different dimensions are in different rows. . For example, in the example shown above, the row of reference number 805 contains a numeric count of occurrences of activity matching one or more three point, two-dimensional patterns (i.e., "2032"), while the reference number The row of 810 contains a numeric count of occurrences of an activity matching one or more four point, three-dimensional patterns (ie, "8772"). Since the occurrence of patterns indicates that the activity has a non-random order, the numeric counts also provide a generalized characterization of the overall complexity of the activity patterns. A table similar to the table of reference numeral 800 may be formed, for example, for each window defined in 410 in process 400 (FIG. 4).

비록 테이블 (800)이 모든 유형이 활동 패턴에 대해 분리된 로우 및 분리된 엔트리를 포함하지만, 이것은 반드시 그런 것은 아니다. 예를 들면, 하나 이상의 카운트들 (예를 들면, 더 단순한 패턴들의 카운트들)이 테이블 (800)로부터 그리고 복잡성을 판별하는 것으로부터 생략될 수 있다. 다른 예로서, 몇몇 구현들에서, 단일 로우 또는 엔트리는 다수의 활동 패턴들의 발생들의 카운트들을 포함할 수 있다.Although table 800 contains separate rows and separate entries for all types of activity patterns, this is not necessarily the case. For example, one or more counts (eg, counts of simpler patterns) may be omitted from table 800 and from determining complexity. As another example, in some implementations, a single row or entry may contain counts of occurrences of multiple activity patterns.

비록 도 8이 테이블 (800) 내 숫자 카운트를 제시하지만, 이것은 항상 반드시 것은 아니다. 예를 들면, 상기 숫자 카운트는 벡터로서 표현될 수 있다 (예를 들면, <2032, 877, 133, 66, 48, ...>). 카운트가 어떻게 제시되는가에 무관하게, 몇몇 구현들에서, 상기 카운트들은 이진수로 표현될 수 있으며 그리고 디지털 데이터 프로세싱 하부구조와 호환될 수 있다.Although FIG. 8 presents the numeric counts in table 800, this is not always necessary. For example, the number count can be expressed as a vector (eg, <2032, 877, 133, 66, 48, ...>). Regardless of how the count is presented, in some implementations, the counts may be expressed in binary and compatible with the digital data processing infrastructure.

몇몇 구현들에서, 예를 들면, 프로세스 (400) (도 4) 내 420에서 상기 순서 정하기의 정도나 복잡성을 결정하기 위해 상기 패턴들 발생의 숫자 카운트들은 가중치가 부여되거나 결합될 수 있다. 예를 들면, 오일러 특성은 상기 활동의 복잡성의 근사 (approximation)를 제공할 수 있으며 다음과 같이 주어진다:In some implementations, for example, the numeric counts of occurrences of the patterns may be weighted or combined to determine the degree or complexity of the ordering at 420 in process 400 (FIG. 4). For example, the Euler property can provide an approximation of the complexity of the activity and is given by:

[수학식 1][Equation 1]

Figure pct00001
Figure pct00001

여기에서 Sn 은 n 포인트들의 패턴 (즉, 차수 n-1의 패턴)의 발생들의 횟수이다. 그 패턴들은,, 예를 들면, 방향성 소집단 패턴들 (500) (도 5)일 수 있다.Where S n is the number of occurrences of a pattern of n points (ie, a pattern of order n-1). The patterns can be, for example, directional subpopulation patterns 500 (FIG. 5).

상기 순서 정하기의 정도나 복잡성을 결정하기 위해 상기 패턴들 발생의 숫자 카운트들이 어떻게 가중치가 부여되거나 결합될 수 있는가의 다른 예로서, 몇몇 구현들에서, 활성인 링크들의 가중치들에 기반하여 패턴 발생들은 가중치가 부여될 수 있다. 추가의 상세 내용에서, 이전에 설명된 것처럼, 인공 신경 네트워크 내 노드들 사이의 연결의 강도는, 예를 들면, 그 연결이 트레이닝 동안에 얼마나 활성이었는가의 결과로서 변할 수 있다. 상대적으로 더 강한 링크들의 컬렉션을 따르는 행동의 패턴 발생은 상대적으로 더 약한 링크들의 컬렉션을 따른 활동의 동일한 패턴 발생과는 상이하게 가중치가 부여될 수 있다. 예를 들면, 몇몇 구현들에서, 활성인 링크들의 가중치의 합은 상기 발생에 가중치를 부여하기 위해 사용될 수 있다.As another example of how the numerical counts of occurrences of the patterns can be weighted or combined to determine the degree or complexity of the sequencing, in some implementations, pattern occurrences based on the weights of active links are Weight can be assigned. In further detail, as previously described, the strength of the connections between nodes in the artificial neural network can vary, for example, as a result of how active the connection was during training. The occurrence of a pattern of behavior following a collection of relatively stronger links may be weighted differently from occurrence of the same pattern of activity following a collection of relatively weaker links. For example, in some implementations, the sum of weights of active links can be used to weight the occurrence.

몇몇 구현들에서, 복잡성의 상기 오일러 특성이나 다른 측정은, 주어진 네트워크가 주어진 자신의 구조를 형성하는 것을 가능하게 하는 패턴들의 전체 개수 및/또는 특별한 윈도우 내에서 부합되는 패턴들의 전체 개수에 의해 정규화될 수 있다. 네트워크가 형성하는 것을 가능하게 하는 패턴들의 전체 개수에 관련한 정규화는 아래 수학식 2 및 수학식 3에서 주어진다.In some implementations, the Euler property or other measure of complexity will be normalized by the total number of patterns that enable a given network to form its own structure and/or the total number of matching patterns within a particular window. I can. The normalization with respect to the total number of patterns that enables the network to form is given in Equations 2 and 3 below.

몇몇 구현들에서, 더 많은 개수의 노드들을 수반하는 더 높은 차원 패턴들의 발생들은 더 작은 개수의 노드들을 수반하는 더 낮은 차원 패턴들의 발생들보다 더 무겁게 가중치가 부여될 수 있다. 예를 들면, 방향성 소집단들을 형성하는 가능성은 차원이 증가하면 급격하게 감소한다. 특히, n+1 개 노드들로부터 n-소집단을 형성하기 위해, 모두가 올바르게 비롯하는 (n+1)n/2 개 에지들이 필요하다. 이 확률은 가중치 부여에 있어서 반영될 수 있다.In some implementations, occurrences of higher dimensional patterns involving a larger number of nodes may be weighted more heavily than occurrences of lower dimensional patterns involving a smaller number of nodes. For example, the likelihood of forming directional subgroups decreases sharply as the dimension increases. In particular, in order to form an n-subgroup from n+1 nodes, (n+1)n/2 edges, all of which originate correctly, are required. This probability can be reflected in weighting.

몇몇 구현들에서, 패턴들의 차원 및 방향성 둘 모두는 패턴들의 발생들에 가중치를 부여하고 활동의 복잡성을 결정하기 위해 사용될 수 있다. 예를 들면, 도 6을 참조하면, 5 포인트, 4-차원 패턴 (515)의 발생들은 5 포인트, 4-차원 패턴들 (605, 610)의 발생들보다, 그 패턴들의 방향성에서의 차이들에 따라서, 더 무겁게 가중치가 부여될 수 있다In some implementations, both the dimensionality and directionality of the patterns can be used to weight occurrences of the patterns and determine the complexity of the activity. For example, referring to FIG. 6, occurrences of a 5-point, 4-dimensional pattern 515 are more sensitive to differences in the directionality of the 5-point, 4-dimensional patterns 605 and 610 than occurrences of the 5-point, 4-dimensional pattern 515. Therefore, it can be weighted more heavily

행동의 복잡성이나 순서 정하기의 정도를 결정하기 위해 패턴들의 차원 및 방향성 둘 모두를 사용하는 예는 다음처럼 주어질 수 있다. An example of using both the dimension and direction of patterns to determine the degree of complexity or ordering of an action can be given as follows.

[수학식 2][Equation 2]

Figure pct00002
Figure pct00002

여기에서 Sx active 은 n 포인트들의 패턴의 활성적 발생들의 횟수를 표시하며 ERN은 등가의 랜덤 네트워크, 즉, 랜덤하게 연결된 동일한 개수의 노드들을 가진 네트워크를 위한 계산이다. 또한, SC는 다음과 같이 주어진다.Here, S x active represents the number of active occurrences of the pattern of n points, and ERN is a calculation for an equivalent random network, that is, a network with the same number of randomly connected nodes. In addition, SC is given as

[수학식 3][Equation 3]

Figure pct00003
Figure pct00003

여기에서 Sx silent 은, 상기 순환 인공 신경 네트워크가 조용하며 상기 네트워크가 형성하는 것이 가능한 패턴들이 전체 개수를 구현하는 것으로서 생각될 수 있을 때에 n 포인트들의 패턴의 발생들의 횟수를 표시한다. 수학식 2 및 수학학 3에서, 상기 패턴들은, 예를 들면, 지향성 소집단 패턴들 (500) (도 5)일 수 있다.Here, S x silent indicates the number of occurrences of a pattern of n points when the recurrent artificial neural network is quiet and the network can be considered as implementing the total number of possible patterns. In Equations 2 and 3, the patterns may be, for example, directional small group patterns 500 (FIG. 5).

도 9는 구별 가능한 복잡성을 가진 활동 패턴들의 타이밍을 결정하는 것의 개략적인 도시이다. 도 9에 도시된 결정은 다른 활동들과 분리하여 또는 함께 수행될 수 있다. 예를 들면, 상기 결정은 프로세스 400 (도 4)의 425에서 수행될 수 있다.9 is a schematic illustration of determining the timing of activity patterns of distinguishable complexity. The determination shown in FIG. 9 may be performed separately or in conjunction with other activities. For example, the determination may be performed at 425 of process 400 (FIG. 4).

도 9는 참조번호 905의 그래프 및 참조번호 910의 그래프를 포함한다. 참조번호 905의 그래프는 패턴들의 발생을 x-축을 따른 시간의 함수로서 도시한다. 특히, 개별 발생들은 수직 라인들 906, 907, 908, 909으로 개략적으로 도시된다. 발생들의 각 로우는 활동이 각자의 패턴이나 패턴의 클래스와 부합하는 사례들일 수 있다. 예를 들면, 제일 위 로우의 발생들은 행동이 참조번호 505 (도 5)의 패턴들에 부합하는 사례들일 수 있으며, 제2 로우의 발생들은 행동이 참조번호 510 (도 5)의 패턴들에 부합하는 사례들일 수 있으며, 제3 로우의 발생들은 행동이 참조번호 515 (도 5)의 패턴들에 부합하는 사례들일 수 있으며, 이하 마찬가지이다.9 includes a graph of reference numeral 905 and a graph of reference numeral 910. The graph of reference numeral 905 shows the occurrence of patterns as a function of time along the x-axis. In particular, the individual occurrences are schematically shown by vertical lines 906, 907, 908, 909. Each row of occurrences can be instances where the activity matches its own pattern or class of patterns. For example, occurrences of the top row may be cases where the behavior matches the patterns of reference number 505 (Fig. 5), and the occurrences of the second row match the patterns of reference number 510 (Fig. 5). The occurrences of the third row may be cases in which the behavior matches the patterns of reference numeral 515 (FIG. 5), and the same applies hereinafter.

참조번호 905의 그래프는, 활동 패턴들이 구별 가능한 복잡성을 가질 때에 상이한 시간 윈도우를 개략적으로 표시하는 단속선 직사각형들 915, 920, 925를 또한 포함한다. 보이는 것처럼, 순환 인공 신경 네트워크 내 활동이 복잡성을 표시하는 패턴에 부합할 가능성은, 단속선 직사각형들 915, 920, 925에 의해 표시된 윈도우들 외부보다 그 윈도우들 동안에 더 높다. The graph of reference numeral 905 also includes interruption line rectangles 915, 920, 925 that schematically represent different time windows when the activity patterns have distinctive complexity. As can be seen, the likelihood that the activity in the recurrent artificial neural network will conform to the pattern indicative of complexity is higher during those windows than outside the windows indicated by the interruption line rectangles 915, 920, 925.

참조번호 910의 그래프는 이 발생들과 연관된 복잡성을 x-축을 따른 시간의 함수로서 도시한다. 참조번호 910의 그래프는 단속선 직사각형 (915)에 의해 표현된 윈도우와 일치하는 복잡성인 제1 피크 (930) 및 단속선 직사각형들 (920, 925)에 의해 표현된 윈도우와 일치하는 복잡성인 제2 피크 (935)를 포함한다. 보이는 것처럼, 피크들 (930, 925)에 의해 도시된 복잡성은, 복잡성의 베이스라인 레벨 (940)인 것으로 간주될 수 있는 것과는 구별 가능하다. The graph 910 shows the complexity associated with these occurrences as a function of time along the x-axis. The graph of reference numeral 910 shows a first peak 930, which is the complexity corresponding to the window represented by the chopper rectangle 915, and the second peak, 930, which is the complexity corresponding to the window represented by the chopper rectangles 920, 925. Includes peak 935. As can be seen, the complexity illustrated by peaks 930 and 925 is distinct from what can be considered to be the baseline level of complexity 940.

몇몇 구현들에서, 순환 인공 신경 네트워크의 출력이 판독되려고 하는 시점은 구별 가능한 복잡성을 가진 활동 패턴들의 발생들과 일치한다. 예를 들면, 도 9의 예시적인 환경에서, 순환 인공 신경 네트워크의 출력은 피크들 (930, 925)에서, 즉, 단속선 직사각형들 915, 920, 925에 의해 표현된 윈도우 동안에 판독될 수 있다.In some implementations, the point at which the output of the recurrent artificial neural network is about to be read coincides with occurrences of activity patterns of distinguishable complexity. For example, in the example environment of FIG. 9, the output of the recurrent artificial neural network may be read at peaks 930, 925, that is, during the window represented by the crest rectangles 915, 920, 925.

순환 인공 신경 네트워크 내 복잡성의 구별 가능한 레벨들의 신원확인은 입력이 데이터의 스트림일 때에 특히 유익하다. 데이터 스트림들의 예들은, 예를 들면, 비디오 또는 오디오 데이터를 포함한다. 비록 데이터 스트림들이 시작하는 부분을 구비하지만, 상기 데이터 스트림의 시작 부분과 미리-정의된 관계를 가지지 않은 데이터 스트림 내 정보를 프로세싱하는 것이 일반적으로 바람직하다. 예로서, 신경 네트워크는, 예를 들면, 자동차 부근에 있는 자전거 타는 사람들을 인식하는 것처럼 물체 인식을 수행할 수 있을 것이다. 그런 신경 네트워크들은 자전거 타는 사람들이 그 비디오 스트림 내에 나타나는 때에 관계없이, 즉, 그 비디오의 시작 부분 이후의 시간을 고려하지 않으면서도, 그 자전거 타는 사람들을 인식할 수 있어야 한다. 이 예와 함께 계속하면, 데이터 스트림이 물체 인식 신경 네트워크로 입력될 때에, 상기 신경 네트워크 내 활동의 임의 패턴들은 낮은 또는 무활동 레벨의 복잡성을 일반적으로 디스플레이할 것이다. 이 낮은 또는 무활동 레벨의 복잡성은 상기 신경 네트워크 디바이스로의 데이터 스트림의 연속적인 (또는 거의 연속적인) 입력에 무관하게 디스플레이된다. 그러나, 관심 대상 물체가 비디오 스트림에 나타날 때에, 상기 활동의 복잡성은 구별 가능하게 될 것이며 그리고 상기 비디오 스트림 내에서 물체가 인식되는 시점을 표시할 것이다. 그래서, 상기 활동의 구별 가능한 레벨의 복잡성의 타이밍은 상기 데이터 스트림 내 데이터가 특정 기준을 충족시키는가의 여부에 관한 예/아니오 출력으로서 또한 행동할 수 있다. Identification of distinguishable levels of complexity within a recurrent artificial neural network is particularly beneficial when the input is a stream of data. Examples of data streams include, for example, video or audio data. Although the data streams have a starting part, it is generally desirable to process information in the data stream that does not have a pre-defined relationship with the beginning of the data stream. As an example, the neural network could perform object recognition, for example, recognizing cyclists in the vicinity of a car. Such neural networks must be able to recognize the cyclist regardless of when the cyclist appears within the video stream, i.e. without taking into account the time after the beginning of the video. Continuing with this example, when a data stream is input into an object recognition neural network, any patterns of activity in the neural network will generally display a low or inactive level of complexity. This low or inactive level of complexity is displayed independent of the continuous (or nearly continuous) input of the data stream to the neural network device. However, when an object of interest appears in the video stream, the complexity of the activity will become distinguishable and will indicate the point in time at which the object is recognized within the video stream. Thus, the timing of the discriminable level of complexity of the activity can also act as a yes/no output as to whether or not the data in the data stream meets certain criteria.

몇몇 구현들에서, 상기 순환 인공 신경 네트워크의 출력의 타이밍은 물론이며 그 신경 네트워크의 콘텐트도 구별 가능한 복잡성을 가지는 활동 패턴들에 의해 주어진다. 특히, 상기 활동 패턴들에 적합한 활동에 참여한 노드들의 신원 및 활동은 상기 순환 인공 신경 네트워크의 출력으로 간주될 수 있다. 상기 식별된 활동 패턴들은 그래서 상기 신경 네트워크에 의한 프로세싱의 결과 그리고 이 결정이 판독되려는 때의 타이밍을 예시한다.In some implementations, the timing of the output of the recurrent artificial neural network as well as the content of the neural network is given by activity patterns of distinguishable complexity. In particular, the identities and activities of nodes participating in an activity suitable for the activity patterns may be regarded as an output of the recurrent artificial neural network. The identified activity patterns thus exemplify the result of processing by the neural network and the timing when this decision is about to be read.

그 결정의 콘텐트는 다양한 상이한 모습들로 표현될 수 있다. 예를 들면, 몇몇 구현들에서 그리고 아래에서의 추가 상세 내용에서 설명된 것처럼, 상기 결정의 콘텐트는 이진 벡터나 1들과 0들의 행렬로서 표현될 수 있다. 각 자릿수 (digit)는, 예를 들면, 노드들의 미리 정의된 그룹 및/또는 미리 정의된 지속 시간에 대해 활동의 패턴이 존재하는가 또는 존재하지 않는가의 여부를 표시할 수 있다. 그런 구현들에서, 상기 결정의 콘텐트는 이진수로 표현되며 그리고 전통적인 디지털 데이터 프로세싱 하부구조와 호환될 수 있다.The content of the decision can be expressed in a variety of different aspects. For example, in some implementations and as described in further detail below, the content of the decision may be represented as a binary vector or a matrix of 1s and 0s. Each digit may indicate, for example, whether a pattern of activity exists or does not exist for a predefined group of nodes and/or a predefined duration. In such implementations, the content of the decision is represented in binary and is compatible with traditional digital data processing infrastructure.

도 10은 순환 인공 신경 네트워크 내 활동의 특성화에 기반하여 그 네트워크를 이용하여 신호들을 인코딩하기 위한 프로세스 (1000)의 흐름도이다. 신호들은, 예를 들면, 전송, 암호화, 및 데이터 저장과 같은 다양한 상이한 환경들에서 인코딩될 수 있다. 기계-판독가능 명령어들의 하나 이상의 세트들의 로직에 따라 동작들을 수행하는 하나 이상의 데이터 프로세싱 장치들의 시스템에 의해 프로세스 (1000)가 수행될 수 있다. 예를 들면, 프로세스 (1000)에서 사용된 상기 순환 인공 신경 네트워크를 구현하기 위한 소프트웨어를 실행하는 하나 이상의 컴퓨터들의 동일한 시스템에 의해 프로세스 (1000)가 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1000)는 참조번호 400의 프로세스를 수행하는 동일한 데이터 프로세싱 장치에 의해 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1000)는, 예를 들면, 신호 전송 시스템 내 인코더나 데이터 저장 시스템의 인코더에 의해 수행될 수 있다. 10 is a flow diagram of a process 1000 for encoding signals using the network based on characterization of activity in a recurrent artificial neural network. Signals can be encoded in a variety of different environments, such as, for example, transmission, encryption, and data storage. Process 1000 may be performed by a system of one or more data processing devices that perform operations according to the logic of one or more sets of machine-readable instructions. For example, process 1000 may be performed by the same system of one or more computers running software for implementing the recurrent artificial neural network used in process 1000. In some instances, process 1000 may be performed by the same data processing apparatus that performs the process at 400. In some instances, process 1000 may be performed by an encoder in a signal transmission system or an encoder in a data storage system, for example.

프로세스 (1000)를 수행하는 시스템은 1005에서 신호를 순환 인공 신경 네트워크로 입력한다. 몇몇 경우에, 상기 신호 입력은 별개의 주입 이벤트이다. 다른 경우에, 상기 입력 신호는 상기 순환 인공 신경 네트워크로 스트리밍된다.The system performing process 1000 inputs the signal at 1005 into the circulating artificial neural network. In some cases, the signal input is a separate injection event. In other cases, the input signal is streamed to the recurrent artificial neural network.

프로세스 (1000)를 수행하는 시스템은 1010에서 상기 순환 인공 신경 네트워크 내 하나 이상의 결정 순간들을 식별한다. 예를 들면, 상기 시스템은 프로세스 (400) (도 4)를 수행하는 것에 의해 하나 이상의 결정 순간들을 식별할 수 있다.The system performing process 1000 identifies at 1010 one or more decision moments within the recurrent artificial neural network. For example, the system can identify one or more decision moments by performing process 400 (FIG. 4).

프로세스 (1000)를 수행하는 상기 시스템은 1015에서 상기 순환 인공 신경 네트워크의 출력을 판독한다. 위에서 설명된 것처럼, 상기 순환 인공 신경 네트워크의 출력의 콘텐트는 상기 결정 포인트(들)를 식별하기 위해 사용되는 패턴들에 부합하는 신경 네트워크 내 활동이다. The system performing process 1000 reads the output of the recurrent artificial neural network at 1015. As explained above, the content of the output of the recurrent artificial neural network is an activity in the neural network that matches the patterns used to identify the decision point(s).

몇몇 구현들에서, 1015에서, 노드들의 특별한 컬렉션에서 활동의 특별한 패턴의 발생들을 식별하기 위해서 그래서 상기 순환 인공 신경 네트워크의 출력을 판독하기 위해서 개별 "리더기 노드 (reader node)들"이 신경 네트워크에 부가될 수 있다. 상기 리더기 노드들은, 노드들의 특별한 컬렉션에서의 활동이 타이밍 (및 아마도 크기) 기준을 충족시킨다면 그리고 충족시켜야만 파이어 (fire)할 수 있다. 예를 들면, 노드들 104, 105, 106 (도 2, 도 3)에서 패턴 (500) (도 5)의 발생을 판독하기 위해서, 리더기 노드는 노드들 104, 105, 106 (또는 그 노드들 사이의 링크들 (110))에 연결될 수 있을 것이다. 상기 리더기 노드는, 노드들 104, 105, 106 (또는 그것들의 링크들)을 수반한 활동 패턴이 발생한다면 그 자체만이 활성이 될 것이다.In some implementations, at 1015, individual "reader nodes" are added to the neural network to identify occurrences of a particular pattern of activity in a particular collection of nodes, so to read the output of the recurrent artificial neural network. Can be. The reader nodes can fire if and only if the activity in a particular collection of nodes meets the timing (and possibly size) criterion. For example, in order to read the occurrence of the pattern 500 (Fig. 5) in nodes 104, 105, 106 (Fig. 2, Fig. 3), the reader node is the node 104, 105, 106 (or between the nodes) May be connected to the links 110 of the. The reader node will only itself become active if an activity pattern involving nodes 104, 105, 106 (or their links) occurs.

그런 리더기 노드들 사용은 상기 순환 인공 신경 네트워크에 대한 시간의 윈도우들을 전체적으로 한정하기 위한 필요성을 제거할 것이다. 특히, 개별 리더기 노드들은 상이한 노드들 및/또는 개수의 노드들 (또는 그것들 사이의 링크들)에 연결될 수 있다. 상기 개별 리더기 노드들은 상이한 활동 패턴들을 식별하기 위해 재단된 응답들 (예를 들면, 인터그레이트-파이어 (integrate-and-fire) 모델 내 상이한 붕괴 시간들)로 세팅될 수 있다. The use of such reader nodes would eliminate the need to entirely limit the windows of time for the recurrent artificial neural network. In particular, individual reader nodes may be connected to different nodes and/or number of nodes (or links between them). The individual reader nodes may be set with tailored responses (eg, different decay times in an integral-and-fire model) to identify different activity patterns.

프로세스 (1000) 수행 시스템은 1020에서 상기 순환 인공 신경 네트워크의 출력을 전송하거나 저장한다. 1020에서 수행된 상기 특별한 행동은 참조번호 1000의 프로세스가 사용되고 있는 환경을 반영할 수 있다. 예를 들면, 안전한 또는 압축된 통신들이 소망되는 환경들에서, 프로세스 (1000)를 수행하는 상기 시스템은 상기 순환 신경 네트워크의 출력을, 동일한 또는 유사한 순환 신경 네트워크에 대한 액세스를 구비한 수신기로 전송할 수 있다. 다른 예로서, 안전한 또는 압축된 데이터 저장이 소망되는 환경들에서, 프로세스 (1000)를 수행하는 상기 시스템은 상기 순환 신경 네트워크의 출력을 나중의 액세스들을 위해 하나 이상의 기계-판독가능 데이터 저장 디바이스들 내에 기록할 수 있다.The system performing process 1000 transmits or stores the output of the recurrent artificial neural network at 1020. The special action performed in 1020 may reflect the environment in which the process of reference number 1000 is being used. For example, in environments where secure or compressed communications are desired, the system performing process 1000 may transmit the output of the recurrent neural network to a receiver with access to the same or similar recurrent neural network. have. As another example, in environments where secure or compressed data storage is desired, the system performing process 1000 may direct the output of the recurrent neural network into one or more machine-readable data storage devices for later accesses. Can be recorded.

몇몇 구현들에서, 상기 순환 신경 네트워크의 완전한 출력은 전송되거나 저장되지 않는다. 예를 들면, 상기 순환 신경 네트워크의 출력의 콘텐트가 활동 내 복잡성을 표시하는 패턴들에 부합하는 상기 신경 네트워크 내 상기 활동인 구현들에서, 상대적으로 더 복잡하거나 더 높은 차원 활동에 부합하는 활동만이 전송되거나 저장될 수 있다. 예로서, 참조번호 500 (도 5)의 패턴들을 참조하여, 몇몇 구현들에서 참조번호 515, 520, 525, 및 530의 패턴들에 부합하는 활동만이 전송되거나 저장되며, 반면에 참조번호 505, 510의 패턴들에 부합하는 활동은 무시되거나 폐기된다. 이 방식에서, 손실이 있는 프로세스는 전송되거나 저장된 데이터의 볼륨이, 인코딩되고 있는 정보의 완전함의 비용에서 감소되는 것을 가능하게 한다. In some implementations, the complete output of the recurrent neural network is not transmitted or stored. For example, in implementations where the content of the output of the circulatory neural network is the activity in the neural network that matches patterns representing the complexity in the activity, only the activity that matches a relatively more complex or higher dimensional activity It can be transmitted or stored. As an example, referring to the patterns of reference number 500 (Fig. 5), in some implementations only activities matching the patterns of reference numbers 515, 520, 525, and 530 are transmitted or stored, whereas reference number 505, Activities matching the patterns of 510 are ignored or discarded. In this way, a lossy process enables the volume of data to be transmitted or stored to be reduced at the cost of the integrity of the information being encoded.

도 11은 순환 인공 신경 네트워크 내 활동의 특성화에 기반하여 그 네트워크를 이용하여 신호들을 디코딩하기 위한 프로세스 (1100)의 흐름도이다. 신호들은, 예를 들면, 신호 수신, 해독, 및 저장부로부터의 데이터 독출과 같은 다양한 상이한 환경들에서 디코딩될 수 있다. 기계-판독가능 명령어들의 하나 이상의 세트들의 로직에 따라 동작들을 수행하는 하나 이상의 데이터 프로세싱 장치의 시스템에 의해 프로세스 (1100)가 수행될 수 있다. 예를 들면, 프로세스 (1100)에서 사용된 순환 인공 신경 네트워크를 구현하기 위한 소프트웨어를 실행하는 하나 이상의 컴퓨터들의 동일 시스템에 의해 프로세스 (1100)가 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1100)는 참조번호 400의 프로세스 및/또는 참조번호 1000의 프로세스를 수행하는 동일한 데이터 프로세싱 장치에 의해 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1100)는, 예를 들면, 신호 수신 시스템 내 디코더나 데이터 저장 시스템의 디코더에 의해 수행될 수 있다. 11 is a flow diagram of a process 1100 for decoding signals using the network based on characterization of activity in a recurrent artificial neural network. Signals can be decoded in a variety of different environments, such as, for example, receiving, decoding, and reading data from storage. Process 1100 may be performed by a system of one or more data processing devices that perform operations according to the logic of one or more sets of machine-readable instructions. For example, process 1100 may be performed by the same system of one or more computers running software to implement the recurrent artificial neural network used in process 1100. In some instances, process 1100 may be performed by the same data processing device performing process 400 and/or 1000. In some instances, process 1100 may be performed by, for example, a decoder in a signal receiving system or a decoder in a data storage system.

프로세스 (1100)를 수행하는 시스템은 1105에서 순환 인공 신경 네트워크의 출력의 적어도 일부를 수신한다. 1105에서 수행될 특별한 행동은 프로세스 (1100)가 사용되고 있는 환경을 반영할 수 있다. 예를 들면, 프로세스 (1100)를 수행하는 상기 시스템은 상기 순환 인공 신경 네트워크의 출력을 포함하는 전송된 신호를 수신할 수 있으며 또는 상기 순환 인공 신경 네트워크의 출력을 저장하는 기계-판독 데이터 저장 디바이스를 읽을 수 있다. The system performing process 1100 receives at 1105 at least a portion of the output of the circulating artificial neural network. The particular action to be performed at 1105 may reflect the environment in which process 1100 is being used. For example, the system performing process 1100 may receive a transmitted signal comprising the output of the recurrent artificial neural network or may have a machine-readable data storage device that stores the output of the recurrent artificial neural network. Can be read.

프로세스 (1100)를 수행하는 상기 시스템은 1110에서 수신된 출력으로부터 상기 순환 인공 신경 네트워크의 입력을 재구축한다. 재구축은 다양한 상이한 방식들로 진행할 수 있다. 예를 들면, 몇몇 구현들에서, 제2 인공 신경 네트워크 (순환 또는 순환 아님)은 1105에서 수신된 출력으로부터 상기 순환 신경 네트워크로의 입력을 재구축하도록 트레이닝될 수 있다. The system performing process 1100 reconstructs the input of the recurrent artificial neural network from the output received at 1110. Rebuilding can proceed in a number of different ways. For example, in some implementations, a second artificial neural network (circulation or not) may be trained to reconstruct an input to the circulatory neural network from an output received at 1105.

다른 예로서, 몇몇 구현들에서, 기계 학습 (딥 러닝 (deep learning)을 포함하지만 그것으로 한정되지 않음)을 이용하여 트레이닝된 디코더는 1105에서 수신된 출력으로부터 상기 순환 신경 네트워크로의 입력을 재구축하기 위해 트레이닝될 수 있다. As another example, in some implementations, a decoder trained using machine learning (including but not limited to deep learning) reconstructs the input to the recurrent neural network from the output received at 1105. Can be trained to do.

또 다른 예로서, 몇몇 구현들에서, 동일한 순환 인공 신경 네트워크로의 또는 유사한 순환 인공 신경 네트워크로의 입력은 그 순환 인공 신경 네트워크의 출력이 1105에서 수신된 출력에 어느 정도까지 부합할 때까지 반복하여 변경될 수 있다.As another example, in some implementations, input to the same recurrent artificial neural network or to a similar recurrent artificial neural network is repeated until the output of that recurrent artificial neural network matches the output received at 1105 to some extent. can be changed.

몇몇 구현들에서, 프로세스 (1100)는 사용자 입력을 수신하는 단계를 포함할 수 있으며, 그 사용자 입력은 상기 입력이 재구축되고, 응답으로 1110에서 그에 따라서 재구축을 조절하는 정도를 규정한다. 예를 들면, 상기 사용자 입력은 완전한 재구축이 필요하지 않다고 규정할 수 있을 것이다. 응답으로, 프로세스 (1100)를 수행하는 상기 시스템은 상기 재구축을 조절한다. 예를 들면, 상기 순환 신경 네트워크의 출력의 콘텐트가 활동 내 복잡성을 표시하는 패턴들에 부합하는 신경 네트워크 내 상기 활동인 구현들에서, 상대적으로 더 복잡하거나 더 높은 차원 활동에 부합하는 활동을 특성화하는 출력만이 상기 입력을 재구축하기 위해 사용될 것이다. 예로서, 참조번호 500의 패턴들 (도 5)을 참조하면, 몇몇 구현들에서 참조번호 515, 520, 525, 및 530의 패턴들에 부합하는 활동만이 상기 입력을 재구축하기 위해 사용될 수 있을 것이며, 반면에 참조번호 506, 510의 패턴들에 부합하는 활동은 무시되거나 폐기될 수 있을 것이다. 이 방식에서, 손실이 있는 재구축은 선택된 환경들에서 진행될 수 있다.In some implementations, process 1100 may include receiving user input, the user input defining a degree to which the input is reconstructed and, in response, 1110 adjusts the reconstruction accordingly. For example, the user input may stipulate that a complete rebuild is not required. In response, the system performing process 1100 coordinates the rebuild. For example, in implementations where the content of the output of the recurrent neural network is the activity in the neural network that matches patterns representing the complexity in the activity, characterizing the activity corresponding to a relatively more complex or higher dimensional activity Only the output will be used to reconstruct the input. As an example, referring to the patterns of reference number 500 (FIG. 5), in some implementations only activities matching the patterns of reference numbers 515, 520, 525, and 530 may be used to reconstruct the input. On the other hand, activities matching the patterns of reference numerals 506 and 510 may be ignored or discarded. In this way, a lossy rebuild can proceed in selected circumstances.

몇몇 구현들에서, 참조번호 1000, 1100의 프로세스들은 피어-투-피어 암호화 통신들을 위해 사용될 수 있다. 특히, 송신기 (즉, 상기 인코더) 및 수신기 (즉, 상기 디코더) 둘 모두에는 동일한 순환 인공 신경 네트워크가 제공될 수 있다. 서드 파티가 역설계할 수 없으며 신호를 해독할 수 없다는 것을 보장하기 위해 상기 공유된 순환 인공 신경 네트워크가 재단될 수 있는 여러 방식들이 존재하며, 다음의 것들을 포함한다:In some implementations, processes 1000, 1100 may be used for peer-to-peer encrypted communications. In particular, the same recurrent artificial neural network may be provided to both the transmitter (ie, the encoder) and the receiver (ie, the decoder). There are several ways in which the shared recurrent artificial neural network can be tailored to ensure that a third party cannot reverse engineer and decipher the signal, including:

- 상기 순환 인공 신경 네트워크의 구조,-The structure of the circulatory artificial neural network,

- 상기 순환 인공 신경 네트워크의 기능적인 세팅들로, 노드 상태들 및 에지 가중치들을 포함한다-Functional settings of the recurrent artificial neural network, including node states and edge weights

- 상기 패턴들의 크기 (또는 차원), 그리고-The size (or dimension) of the patterns, and

- 각 차원 내 패턴들의 단편.-Fragments of patterns within each dimension.

이 파라미터들은 전송 보안을 함께 보장하는 다수의 레이어들의 것으로 생각될 수 있다. 또한, 몇몇 구현들에서, 상기 결정 순간 시간 포인트들은 상기 신호를 해독하기 위한 키 (key)들로서 사용될 수 있다. These parameters can be thought of as of multiple layers that together ensure transmission security. Also, in some implementations, the moment of determination time points may be used as keys to decrypt the signal.

비록 참조번호 1000, 1100의 프로세스들이 단일의 순환 인공 신경 네트워크를 인코딩하고 디코딩하는 면에서 제시되었지만, 참조번호 1000, 1100의 프로세스들은 다수의 순환 인공 신경 네트워크들에 의존하는 시스템들 및 프로세스들에서 또한 적용될 수 있다. 이 순환 인공 신경 네트워크는 병렬이나 직렬의 어느 하나로 작동할 수 있다.Although the processes of reference numbers 1000 and 1100 are presented in terms of encoding and decoding a single recurrent artificial neural network, the processes of reference numbers 1000 and 1100 are also used in systems and processes that rely on multiple recurrent artificial neural networks. Can be applied. These recurrent artificial neural networks can operate in either parallel or series.

직렬 작동의 예로서, 제1 순환 인공 신경 네트워크의 출력은 제2 순환 인공 신경 네트워크의 입력으로서 사용될 수 있다. 상기 제2 순환 인공 신경 네트워크의 결과인 출력은 상기 제1 순환 인공 신경 네트워크로의 입력의 두 차례 인코딩된 (또는 두 차례 암호화된) 버전이다. 순환 인공 신경 네트워크의 그런 직렬 배열은, 상이한 파티들이 정보에 대한 상이한 레벨들의 액세스를 가지는 환경들에서, 예를 들면, 환자 신원 정보가, 의료 기록의 나머지를 사용하고 있을 것이며 그 나머지에 대한 액세스를 구비한 파티에게 액세스 가능하지 않을 수 있는 의료 기록 시스템들에서 유용할 수 있다As an example of a serial operation, the output of the first recurrent artificial neural network can be used as an input of the second recurrent artificial neural network. The output resulting from the second recurrent artificial neural network is a twice encoded (or twice encrypted) version of the input to the first recurrent artificial neural network. Such a serial arrangement of recurrent artificial neural networks would allow, in environments where different parties have different levels of access to information, e.g., patient identity information would be using the remainder of the medical record and have access to the rest. May be useful in medical record systems that may not be accessible to the equipped party

병렬 작동의 예로서, 동일한 정보가 다수의 상이한 순환 인공 신경 네트워크들에게로 입력될 수 있다. 그 신경 네트워크들의 상이한 출력들은, 예를 들면, 상기 입력이 높은 충실도를 구비하여 재구축될 수 있다는 것을 보장하기 위해 사용될 수 있다. As an example of parallel operation, the same information can be input to a number of different recurrent artificial neural networks. Different outputs of the neural networks can be used, for example, to ensure that the input can be reconstructed with high fidelity.

비록 많은 구현들이 설명되었지만, 다양한 수정들이 만들어질 수 있다. 예를 들면, 비록 상기 응용이 순환 인공 신경 네트워크 내의 활동이 순서 정함을 표시하는 패턴에 부합해야 한다는 것을 일반적으로 의미하지만, 이것은 반드시 그런 것은 아니다. 오히려, 몇몇 구현들에서, 순환 인공 신경 네트워크 내에서의 활동은 패턴에 적합하면서도, 그 패턴에 부합하는 활동을 반드시 디스플레이하지는 않을 수 있다. 예를 들면, 패턴에 부합하는 활동을 순환 신경 네트워크가 디스플레이할 가능성에서의 증가는 그 활동의 비-랜덤 순서 정함으로 취급될 수 있다. Although many implementations have been described, various modifications can be made. For example, although this generally means that the application must conform to a pattern indicating the ordering of activities in the recurrent artificial neural network, this is not necessarily the case. Rather, in some implementations, activity within a recurrent artificial neural network may fit a pattern, but not necessarily display activity that matches the pattern. For example, an increase in the likelihood that a circulatory neural network will display an activity matching a pattern can be treated as a non-random ordering of that activity.

또 다른 예로서, 몇몇 구현들에서, 상이한 그룹의 패턴들은 상이한 순환 인공 신경 네트워크들에서 상기 활동을 특성화함에서의 사용을 위해 재단될 수 있다. 상기 패턴들은, 예를 들면, 상이한 순환 인공 신경 네트워크들의 활동을 특성화함에 있어서 상기 패턴들의 유효함에 따라 재단될 수 있다. 유효함은, 예를 들면, 상이한 패턴들의 발생 카운트들을 나타내는 테이블이나 벡터의 크기에 기반하여 계량화될 수 있다. As another example, in some implementations, different groups of patterns can be tailored for use in characterizing the activity in different recurrent artificial neural networks. The patterns can be tailored according to their validity, for example, in characterizing the activity of different recurrent artificial neural networks. Validity can be quantified, for example, based on the size of a vector or a table representing occurrence counts of different patterns.

또 다른 예로서, 몇몇 구현들에서, 순환 인공 신경 네트워크들 내 활동을 특성화하기 위해 사용될 패턴들은 노드들 사이의 연결의 강도 (strength)를 고려할 수 있다. 다른 말로 하면, 본원에서 이전에 설명된 패턴들은 두 개 노드들 사이의 모든 신호 전송 활동을 이진수 방식으로, 즉, 상기 활동이 존재하거나 존재하지 않는 것 중 어느 하나로 표현한다. 이는 항상 그런 것은 아니다. 오히려, 몇몇 구현들에서, 패턴에 적합하다는 것은, 어떤 레벨이나 강도의 연결의 활동이 순환 인공 신경 네트워크의 활동 내 순서 정해진 복잡성을 표시하는 것으로 취해질 것을 필요로 할 수 있다. As another example, in some implementations, the patterns that will be used to characterize activity in recurrent artificial neural networks may take into account the strength of the connection between nodes. In other words, the patterns previously described herein represent all signal transmission activity between two nodes in a binary manner, ie, either with or without the activity. This is not always the case. Rather, in some implementations, conforming to the pattern may require that the activity of a connection of any level or strength be taken as indicating an ordered complexity within the activity of the recurrent artificial neural network.

또 다른 예로서, 상기 순환 인공 신경 네트워크의 출력의 콘텐트는, 신경 네트워크 내 활동이 구별 가능한 레벨의 복잡성을 가지는 시간 윈도우들 외부에서 발생하는 활동 패턴들을 포함할 수 있다. 예를 들면, 1015에서 읽혀지며 1020 (도 10)에서 전송되거나 저장되는 순환 인공 신경 네트워크의 출력은, 예를 들면, 참조번호 905의 그래프 (도 9) 내 단속선 직사각형들 (915, 920, 925) 외부에서 발생하는 활동 패턴들을 인코딩하는 정보를 포함할 수 있다. 예로서, 상기 순환 인공 신경 네트워크의 출력은 활동의 가장 높은 차수 패턴들만을, 그 활동의 패턴들이 언제 발생하는가와는 무관하게, 특성화할 수 있을 것이다.As another example, the content of the output of the recurrent artificial neural network may include activity patterns occurring outside time windows having a level of complexity in which an activity in the neural network can be distinguished. For example, the output of the recurrent artificial neural network that is read at 1015 and transmitted or stored at 1020 (Fig. 10) is, for example, the line rectangles 915, 920, and 925 in the graph of reference numeral 905 (Fig. 9). ) It may include information encoding activity patterns occurring outside. As an example, the output of the recurrent artificial neural network may be able to characterize only the highest order patterns of activity, irrespective of when the patterns of activity occur.

도 12, 도 13 및 도 14는, 예를 들면, 신경 네트워크 내 활동의 패턴들과 같은 위상적인 구조들의 이진수 모습이나 표현 (1200)의 걔략적인 예시들이다. 도 12, 도 13 및 도 14에 도시된 위상적인 구조들은 모두 동일한 정보, 즉, 그래프 내 특징들의 존재 또는 부재의 표시를 포함한다. 그 특징들은, 예를 들면, 신경 네트워크 디바이스 내 활동일 수 있다. 몇몇 구현들에서, 상기 활동은, 입력에 응답하는 다른 활동과 구별 가능한 복잡성을 상기 신경 네트워크 내 활동이 가지는 시간 구간에 기반하여 식별되거나 그 시간 구간 동안에 식별된다. 12, 13 and 14 are schematic examples of a binary representation or representation 1200 of topological structures such as patterns of activity in a neural network, for example. The topological structures shown in FIGS. 12, 13 and 14 all contain the same information, that is, an indication of the presence or absence of features in the graph. The features can be, for example, activity within a neural network device. In some implementations, the activity is identified based on or during a time interval that the activity in the neural network has a complexity distinguishable from other activities in response to the input.

보이는 것처럼, 참조번호 1200의 이진수 표현은 참조번호 1205, 1207, 1211, 1293, 1294, 1297의 비트들 및 (생략 부호 "..."로 표현된) 추가의 임의 개수의 비트들을 포함한다. 교훈적인 목적들을 위해, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 비트들은, 그 비트 내 이진수 값을 표시하기 위해 채워지거나 채워지지 않은 것중 어느 하나인 개별 직사각형 모습들로 도시된다. 상기 개략적인 도시들에서, 참조번호 1200의 표현은 표면상으로는 비트들의 1차원 벡터 (도 12, 13)나 비트들의 2차원 행렬 (도 14) 중의 어느 하나인 것으로 보인다. 그러나, 참조번호 1200의 표현은 벡터와, 행렬과, 또는 비트들의 다른 순서 정해진 컬렉션과는, 동일한 정보가 비트들의 순서에 무관하게, 즉, 상기 컬렉션 내 개별 비트들의 위치와는 무관하게 인코딩될 수 있다는 점에서 상이하다.As can be seen, the binary representation of reference numeral 1200 includes bits of reference numerals 1205, 1207, 1211, 1293, 1294, 1297 and an additional arbitrary number of bits (represented by an abbreviation "..."). For didactic purposes, the bits of references 1205, 1207, 1211, 1293, 1294, 1297 ... are shown as individual rectangular figures, either filled or unfilled to indicate the binary value within that bit. do. In the above schematic illustrations, the representation of reference numeral 1200 appears to be either a one-dimensional vector of bits (Figs. 12 and 13) or a two-dimensional matrix of bits (Fig. 14) on the surface. However, the representation of reference numeral 1200 is that the same information can be encoded regardless of the order of bits, that is, regardless of the position of individual bits in the collection, with a vector, a matrix, or another ordered collection of bits. It is different in that there is.

예를 들면, 몇몇 구현들에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 각 개별 비트는 위상적 특징의 존재 또는 부재를 그 그래프 내 상기 특징의 위치에 무관하게 표현할 수 있다. 예로서, 도 2를 참조하면, 참조번호 1207의 비트와 같은 비트는 참조번호 505 (도 5)의 패턴에 적합한 위상적 특징의 존재를, 참조번호 104, 105, 106의 노드들 사이에 또는 참조번호 105, 101, 102의 노드들 사이에 활동이 발생하는가의 여부에 무관하게 표시할 수 있다. 그래서, 비록 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 각 개별 비트가 특별한 특징과 연관될 수 있다고 하더라도, 상기 그래프 내 그 특징의 위치는, 예를 들면, 참조번호 1200의 표현 내 비트의 대응 위치에 의해 인코딩될 필요는 없다. 다른 말로 하면, 몇몇 구현들에서, 참조번호 1200의 표현은 상기 그래프의 동형의 위상적 재구축 (isomorphic topological reconstruction)을 제공할 뿐이다.For example, in some implementations, each individual bit of reference numerals 1205, 1207, 1211, 1293, 1294, 1297... can represent the presence or absence of a topological feature, regardless of the location of the feature in the graph. have. As an example, referring to FIG. 2, a bit such as a bit of reference number 1207 indicates the presence of a topological feature suitable for a pattern of reference number 505 (FIG. 5), or between nodes of reference numbers 104, 105, and 106. It can be displayed irrespective of whether or not an activity occurs between nodes of numbers 105, 101, and 102. So, even though each individual bit of reference numerals 1205, 1207, 1211, 1293, 1294, 1297 ... can be associated with a particular characteristic, the position of that characteristic in the graph is, for example, reference numeral 1200. It need not be encoded by the corresponding position of the bit in the representation. In other words, in some implementations, the representation 1200 only provides for an isomorphic topological reconstruction of the graph.

여담으로, 다른 구현들에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 개별 비트들의 위치는 실제로, 예를 들면, 상기 그래프 내 특징의 위치와 같은 정보를 인코딩한다는 것이 가능하다. 이 구현들에서, 소스 그래프는 참조번호 1200의 표현을 이용하여 재구축될 수 있다. 그러나, 그런 인코딩이 반드시 제시되는 것은 아니다.Incidentally, in other implementations, it is possible that the position of individual bits of reference numerals 1205, 1207, 1211, 1293, 1294, 1297 ... actually encodes information such as, for example, the position of a feature in the graph. Do. In these implementations, the source graph can be reconstructed using a representation of 1200. However, such an encoding is not necessarily presented.

위상적 특징의 존재 또는 부재를 그래프 내 그 특징의 위치에 무관하게 표현하는 비트의 능력을 고려하면, 도 1에서 참조번호 1205의 비트는 참조번호 1207의 비트 이전에 나타나며, 참조번호 1207의 비트는 참조번호 1200의 표현의 시작 부분에서 참조번호 1211의 비트 이전에 나타난다. 대조적으로, 도 2 및 도 3에서, 참조번호 1200의 표현 내 참조번호 1205, 1207, 및 1211의 비트들의 순서 - 그리고 참조번호 1200의 표현 내 다른 비트들에 대한 참조번호 1205, 1207, 및 1211의 비트들의 위치는 변하였다. 그럼에도 불구하고, 이진수 표현 (1200) 내 정보를 인코딩하기 위한 프로세스를 정의하는 알고리즘이나 규칙들의 세트에서 그런 것처럼, 이진수 표현 (1200)은 동일하게 남아 있는다. 상기 비트 및 상기 특징 사이의 대응 관계가 알려진 한은, 상기 표현 (1200) 내 비트들의 위치는 관련성이 없다.Considering the ability of the bit to express the presence or absence of a topological feature regardless of the location of the feature in the graph, the bit of reference number 1205 in FIG. 1 appears before the bit of reference number 1207, and the bit of reference number 1207 is At the beginning of the representation of reference numeral 1200, it appears before the bit of reference numeral 1211. In contrast, in Figs. 2 and 3, the order of the bits of reference numerals 1205, 1207, and 1211 in the representation of reference numeral 1200-and of the reference numerals 1205, 1207, and 1211 for other bits in the expression of reference numeral 1200 The positions of the bits have changed. Nevertheless, the binary representation 1200 remains the same, as is the case with the set of rules or algorithms that define the process for encoding the information in the binary representation 1200. As long as the correspondence between the bit and the feature is known, the position of the bits in the representation 1200 is irrelevant.

추가의 상세 내용에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 각 비트는 그래프 내 특징의 존재 또는 부재를 개별적으로 나타낸다. 그래프는 노드들의 세트 및 그 노드들 사이의 에지들의 세트이다. 상기 노드들은 물체들에 대응할 수 있다. 물체들의 예들은, 예를 들면, 신경 네트워크 내 인공 뉴론들, 소셜 네트워크 내 개인들 등을 포함할 수 있다. 에지들은 물체들 사이의 몇몇 관계에 대응할 수 있다. 관계들의 예는, 예를 들면, 구조적인 연결 또는 그 연결을 따른 활동을 포함한다. 신경 네트워크의 환경에서, 인공 뉴론들은 뉴론들 사이의 구조적인 연결에 의해 또는 구조적인 연결을 따른 정보 전송에 의해 관련될 수 있다. 소셜 네트워크의 환경에서, 개인들은 "친구"나 다른 관계있는 연결에 의해 관련될 수 있으며 또는 그와 같은 연결을 따른 정보 전송 (예를 들면, 포스팅)에 의해 관련될 수 있다. 에지들은 그래서 노드들의 세트의 상대적으로 수명이 긴 구조적 특성들 또는 한정된 시간 프레임 내에서 발생하는 상대적으로 일시적인 활동 특성들이라는 특징을 가질 수 있다. 또한, 에지들은 지향성 또는 양방향성 중 어느 하나일 수 있다. 지향성 에지 (directed edge)들은 상기 물체들 사이의 관계의 방향성을 표시한다. 예를 들면, 제1 뉴론으로부터 제2 뉴론으로의 정보 전송은 전송의 방향을 표시하는 방향성 에지에 의해 표현될 수 있다. 다른 예로서, 소셜 네트워크에서, 관계형 연결 (relational connection)은 두 번째 사용자가 첫 번째 사용자로부터 정보를 수신할 것이지만 그 첫 번째 사용자는 두 번째 사용자로부터 정보를 수신하지 않을 것이라는 것을 표시할 수 있다. 위상적인 면에서, 그래프는 단위 인터벌들 [0, 1]의 세트로서 표현될 수 있으며, 여기에서 0 및 1은 에지에 의해 연결된 각자의 노드들로 식별된다.In further detail, each bit of reference numerals 1205, 1207, 1211, 1293, 1294, 1297... individually indicates the presence or absence of a feature in the graph. The graph is a set of nodes and a set of edges between the nodes. The nodes may correspond to objects. Examples of objects may include, for example, artificial neurons in a neural network, individuals in a social network, and the like. The edges may correspond to some relationship between objects. Examples of relationships include, for example, structural connections or activities along those connections. In the environment of neural networks, artificial neurons may be related by structural connections between neurons or by transmission of information along structural connections. In the context of a social network, individuals may be related by “friends” or other related connections, or by transmission of information along such connections (eg, postings). The edges may thus be characterized as relatively long-lived structural characteristics of a set of nodes or relatively transient activity characteristics occurring within a limited time frame. Further, the edges can be either directional or bidirectional. Directed edges indicate the directionality of the relationship between the objects. For example, information transmission from a first neuron to a second neuron may be represented by a directional edge indicating the direction of transmission. As another example, in a social network, a relational connection may indicate that a second user will receive information from a first user but that first user will not receive information from a second user. In topological terms, the graph can be represented as a set of unit intervals [0, 1], where 0 and 1 are identified as respective nodes connected by an edge.

존재 또는 부재가 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들에 의해 표시되는 상기 특징들은, 예를 들면, 노드, 노드들의 세트, 노드들의 세트들의 세트, 에지들의 세트, 에지들의 세트들의 세트, 및/또는 추가의 계층적으로-더-복잡한 특징들 (예를 들면, 노드들의 세트들의 세트들의 세트)일 수 있다. 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 일반적으로 상이한 계층적인 레벨들에 있는 존재 또는 부재를 일반적으로 표현한다. 예를 들면 참조번호 1205의 비트는 노드의 존재 또는 부재를 표현할 수 있으며, 반면에서 참조번호 1205의 비트는 노드들의 세트의 존재 또는 부재를 표현할 수 있다.The above features in which presence or absence is indicated by the bits of reference numerals 1205, 1207, 1211, 1293, 1294, 1297 are, for example, a node, a set of nodes, a set of nodes, a set of edges, a set of edges. It may be a set of sets, and/or additional hierarchically-more-complex features (eg, a set of sets of sets of nodes). The bits of reference numerals 1205, 1207, 1211, 1293, 1294, and 1297 generally represent presence or absence in different hierarchical levels. For example, a bit of reference numeral 1205 may represent the presence or absence of a node, while a bit of reference numeral 1205 may represent the presence or absence of a set of nodes.

몇몇 구현들에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 몇몇 특성의 임계 레벨을 가진 그래프 내 특징들을 표현할 수 있다. 예를 들면, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 에지들의 세트 내 활동이 존재한다는 것만이 아니라 이 행동이 임계 레벨 위 또는 아래 중 어느 하나로 가중치 부여된다는 것을 나타낼 수 있다. 그 가중치들은, 예를 들면, 신경 네트워크 디바이스의 트레이닝을 특별한 목적으로 구체화할 수 있으며 또는 상기 에지들의 원래의 특성일 수 있다. In some implementations, bits 1205, 1207, 1211, 1293, 1294, and 1297 may represent features in a graph with a threshold level of some feature. For example, bits of reference numerals 1205, 1207, 1211, 1293, 1294, 1297 may indicate that not only that there is an activity in the set of edges, but that this behavior is weighted either above or below the threshold level. The weights may, for example, specify for a special purpose the training of the neural network device or may be an original characteristic of the edges.

위의 도 5, 도 6 및 도 8은 존재 또는 부재가 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 비트들에 의해 표현될 수 있는 특징들을 도시한다.5, 6 and 8 above show features in which presence or absence can be represented by bits of reference numerals 1205, 1207, 1211, 1293, 1294, 1297...

참조번호 500, 600, 700의 컬렉션들 내 지향성 심플렉스들은 기능적인 또는 구조적인 그래프들을 노드들을 포인트들로서 구비한 위상적 공간으로서 취급한다. 참조번호 500, 600, 700의 컬렉션들 내 심플렉스들에 적합한 하나 이상의 노드들 및 링크들을 포함하는 구조 또는 활동은, 그 활동에 참여한 특별한 노드들 및/또는 링크들의 신원에 무관하게 어떤 비트 내에 표현될 수 있다.The directional simplexes in the collections of reference numerals 500, 600, 700 treat functional or structural graphs as a topological space with nodes as points. A structure or activity comprising one or more nodes and links suitable for simplexes in the collections of reference numerals 500, 600, 700 is expressed in any bit regardless of the identity of the particular nodes and/or links participating in the activity. Can be.

몇몇 구현들에서, 구조 또는 활동의 단지 일부 패턴들만이 식별되며 그리고/또는 식별된 구조 또는 활동의 패턴들의 일부는 폐기되거나 그렇지 않다면 무시된다. 예를 들어, 도 5를 참조하면, 5 포인트, 4-차원 심플렉스 패턴 (515)에 적합한 구조나 활동은 4 포인트, 3-차원 및 3 포인트, 2-차원 심플렉스 패턴들 (510, 505)에 적합한 구조나 활동을 원래 포함한다. 예를 들면, 도 5의 4-차원 심플렉스 패턴들 (515) 내 포인트들 0, 2, 3, 4 및 포인트들 1, 2, 3, 4 두 가지 모두는 3-차원 심플렉스 패턴 (510)에 적합하다. 몇몇 구현들에서, 더 작은 개수의 포인트들을 포함하는 - 그리고 그래서 더 낮은 차원인 - 심플렉스 패턴들은 폐기되거나 그렇지 않다면 무시될 수 있다. In some implementations, only some patterns of structure or activity are identified and/or some of the patterns of identified structure or activity are discarded or otherwise ignored. For example, referring to FIG. 5, a structure or activity suitable for a 5-point, 4-dimensional simplex pattern 515 is a 4-point, 3-dimensional and 3-point, 2-dimensional simplex pattern 510, 505. It originally includes structures or activities suitable for For example, points 0, 2, 3, 4 and points 1, 2, 3, 4 in the 4-dimensional simplex patterns 515 of FIG. 5 are both a 3-dimensional simplex pattern 510 Suitable for In some implementations, simplex patterns containing a smaller number of points-and thus a lower dimension-may be discarded or otherwise ignored.

다른 예로서, 구조 또는 활동의 일부 패턴들만이 식별될 필요가 있다. 예를 들면, 몇몇 구현들에서 홀수 포인트들 (3, 5, 7, ...)이나 짝수 차원들 (2, 4, 6, ...)을 구비한 패턴들만이 사용된다.As another example, only some patterns of structure or activity need to be identified. For example, in some implementations only patterns with odd points (3, 5, 7, ...) or even dimensions (2, 4, 6, ...) are used.

도 12, 도 13, 도 14로 돌아가서, 존재 또는 부재가 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 비트들에 의해 표현되는 특징들은 서로 독립적이지 않을 수 있다. 설명으로, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들이, 각자가 단일 노드의 존재 또는 활동을 반영하는 0차원-심플렉스들의 존재 또는 부재를 표현하면, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 서로 독립적이다. 그러나, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들이, 각자가 다수의 노드들의 존재나 활동을 반영하는 더 높은 차원의 심플렉스들의 존재나 부재를 표현하면, 각 개별 특징의 존재 또는 부재에 의해 인코딩된 정보는 다른 특징들의 존재 또는 부재에 독립적이지 아닐 수 있다. Returning to FIGS. 12, 13, and 14, features in which presence or absence is represented by bits of reference numerals 1205, 1207, 1211, 1293, 1294, 1297, ... may not be independent of each other. By way of explanation, if the bits of reference numbers 1205, 1207, 1211, 1293, 1294, 1297 each represent the presence or absence of zero-dimensional-simplexes reflecting the presence or activity of a single node, reference numbers 1205, 1207, The bits of 1211, 1293, 1294 and 1297 are independent of each other. However, if the bits of reference numbers 1205, 1207, 1211, 1293, 1294, and 1297 each represent the presence or absence of higher-dimensional simplexes that reflect the presence or activity of multiple nodes, the presence of each individual feature Alternatively, the information encoded by the absence may not be independent of the presence or absence of other features.

도 15는 상이한 비트들에 대응하는 특징들의 존재 또는 부재가 어떻게 서로 독립적이지 않은가의 예를 개략적으로 도시한다. 특히, 네 개의 노드들 1505, 1510, 1515, 1520 및 여섯 개의 지향성 에지들 1525, 1530, 1535, 1540, 1545, 1550을 포함하는 서브그래프 (1500)가 예시된다. 특히, 참조번호 1525의 에지는 참조번호 1525의 노드로부터 참조번호 1510의 노드로 향하며, 15 schematically shows an example of how the presence or absence of features corresponding to different bits are not independent of each other. In particular, a subgraph 1500 is illustrated including four nodes 1505, 1510, 1515, 1520 and six directional edges 1525, 1530, 1535, 1540, 1545, 1550. In particular, the edge of reference number 1525 goes from the node of reference number 1525 to the node of reference number 1510,

참조번호 1530의 에지는 참조번호 1515의 노드로부터 참조번호 1505의 노드로 향하며, 참조번호 1535의 에지는 참조번호 1520의 노드로부터 참조번호 1505의 노드로 향하며, 참조번호 1540의 에지는 참조번호 1520의 노드로부터 참조번호 1510의 노드로 향하며, 참조번호 1545의 에지는 참조번호 1515의 노드로부터 참조번호 1510의 노드로 향하며, 참조번호 1550의 에지는 참조번호 1515의 노드로부터 참조번호 1520의 노드로 향한다.The edge of reference number 1530 goes from the node of reference number 1515 to the node of reference number 1505, the edge of reference number 1535 goes from the node of reference number 1520 to the node of reference number 1505, and the edge of reference number 1540 is of reference number 1520. From the node to the node of reference number 1510, the edge of reference number 1545 is from the node of reference number 1515 to the node of reference number 1510, and the edge of reference number 1550 from the node of reference number 1515 to the node of reference number 1520.

표현 (1200) 내 단일 비트 (예를 들면, 도 12, 13, 14 내 채워진 비트 (1207))는 지향성 3차원-심플렉스의 존재를 표시할 수 있다. 예를 들면, 그런 비트는 노드들 1505, 1510, 1515, 1520 및 에지들 1525, 1530, 1535, 1540, 1545, 1550 에 의해 형성된 3차원-심플렉스의 존재를 표시할 수 있을 것이다. 표현 (1200) 내 제2 비트 (예를 들면, 도 12, 13, 14 내 채워진 비트 (1293))는 지향성 2차원-심플렉스의 존재를 표시할 수 있다. 예를 들면, 그런 비트는 노드들 1515, 1505, 1510 및 에지들 1525, 1530, 1545 에 의해 형성된 2차원-심플렉스의 존재를 표시할 수 있을 것이다. 이 간단한 예에서, 참조번호 1293의 비트에 의해 인코딩된 정보는 참조번호 1207의 비트에 의해 인코딩된 정보와 완전하게 중복된다.A single bit in representation 1200 (e.g., filled bit 1207 in FIGS. 12, 13, 14) may indicate the presence of a directional three-dimensional-simplex. For example, such a bit may indicate the presence of a three-dimensional-simplex formed by nodes 1505, 1510, 1515, 1520 and edges 1525, 1530, 1535, 1540, 1545, 1550. A second bit in representation 1200 (eg, filled bit 1293 in FIGS. 12, 13, 14) may indicate the presence of a directional two-dimensional-simplex. For example, such a bit may indicate the presence of a two-dimensional-simplex formed by nodes 1515, 1505, 1510 and edges 1525, 1530, 1545. In this simple example, the information encoded by the bits of reference numeral 1293 completely overlaps with the information encoded by the bits of reference numeral 1207.

참조번호 1293의 비트에 의해 인코딩된 정보는 다른 추가 비트에 의해 인코딩된 정보와 또한 중복될 수 있다는 것에 유의한다. 예를 들면, 참조번호 1293의 비트에 의해 인코딩된 정보는 추가의 지향성 2차원-심플렉스들의 존재를 표시하는 제3 비트 및 제4 비트와 중복일 것이다. 이 심플렉스들의 예들은 참조번호 1515, 1520, 1510의 노드들 및 참조번호 1540, 1545, 1550의 에지들 그리고 참조번호 1520, 1505, 1510의 노드들 및 참조번호 1525, 1535, 1540의 에지들에 의해 형성된다.Note that the information encoded by the bits of reference numeral 1293 may also overlap with the information encoded by other additional bits. For example, the information encoded by the bit 1293 would be redundant with the third and fourth bits indicating the presence of additional directional two-dimensional-simplexes. Examples of these simplexes include nodes of reference numerals 1515, 1520, 1510 and edges of reference numerals 1540, 1545, 1550 and nodes of reference numerals 1520, 1505, 1510 and edges of reference numerals 1525, 1535, 1540. Formed by

도 16은 상이한 비트들에 대응하는 특징들의 존재 또는 부재가 어떻게 서로 독립적이지 않은가의 다른 예를 개략적으로 도시한다. 특히, 네 개의 노드들 1605, 1610, 1615, 1620 및 다섯 개의 지향성 에지들 1625, 1630, 1635, 1640, 1645을 포함하는 서브그래프 (1600)가 도시된다. 노드들 1605, 1610, 1615, 1620 및 에지들 1625, 1630, 1635, 1640, 1645은 (도 15)의 서브그래프 내 노드들 1505, 1510, 1515, 1520 및 에지들 1525, 1530, 1535, 1540, 1545에 대체적으로 대응한다. 그러나, 노드들 1515, 1520 이 에지 1550에 의해 연결된 서브그래프 (1500)와 대비하면 노드들 1615, 1620은 에지에 의해 연결되지 않는다.16 schematically shows another example of how the presence or absence of features corresponding to different bits are not independent of each other. In particular, a subgraph 1600 is shown comprising four nodes 1605, 1610, 1615, 1620 and five directional edges 1625, 1630, 1635, 1640, 1645. Nodes 1605, 1610, 1615, 1620 and edges 1625, 1630, 1635, 1640, 1645 are nodes 1505, 1510, 1515, 1520 and edges 1525, 1530, 1535, 1540 in the subgraph of (Fig. 15). Corresponds largely to 1545. However, when the nodes 1515 and 1520 are compared with the subgraph 1500 connected by the edge 1550, the nodes 1615 and 1620 are not connected by the edge.

참조번호 1200의 표현 내 단일 비트 (예를 들면, 도 12, 13, 14 내 참조번호 1205의 채워지지 않은 비트)는, 예를 들면, 노드들 1605, 1610, 1615, 1620을 둘러싼 지향성 3D-심플렉스와 같은 지향성 3D-심플렉스의 부재를 표시할 수 있다. 참조번호 1200의 표현 내 제2 비트 (예를 들면, 도 12, 13, 14 내 참조번호 1293의 채워진 비트)는 2D-심플렉스의 존재를 표시할 수 있다. 예시의 지향성 2D-심플렉스는 참조번호 1615, 1605, 1610의 노드들 및 참조번호 1625, 1630, 1645의 에지들에 의해 형성된다. 채워진 비트 (1293) 및 채워지지 않은 비트 (1205)의 이 조합은 참조번호 1200의 표현 내에 존재하거나 존재하지 않을 수 있는 다른 특징들 (및 다른 비트들의 상태)의 존재 또는 부재를 표시하는 정보를 제공한다. 특히, 지향성 3D-심플렉스의 부재 및 지향성 2D-심플렉스의 존재의 조합은 적어도 하나의 에지가 부재라는 것을 다음의 것들 중 어느 하나로부터 표시한다:A single bit in the representation of reference number 1200 (e.g., the unfilled bit of reference number 1205 in FIGS. 12, 13, 14) is, for example, a directional 3D-simple surrounding nodes 1605, 1610, 1615, 1620 It can indicate the absence of a directional 3D-simplex like Lex. The second bit in the representation of reference numeral 1200 (eg, the filled bits of reference numeral 1293 in FIGS. 12, 13, and 14) may indicate the presence of the 2D-simplex. The example directional 2D-simplex is formed by nodes 1615, 1605, 1610 and edges 1625, 1630, 1645. This combination of filled bit 1293 and unfilled bit 1205 provides information indicating the presence or absence of other features (and states of other bits) that may or may not be present in the representation of reference numeral 1200. do. In particular, the combination of the absence of a directional 3D-simple and the presence of a directional 2D-simple indicates from any of the following that at least one edge is absent:

a) 노드들 1615, 1620, 1610에 의해 형성된 가능한 지향성 2D-심플렉스 또는a) possible directional 2D-simplex formed by nodes 1615, 1620, 1610 or

b) 노드들 1620, 1605, 1610에 의해 형성된 가능한 지향성 2D-심플렉스.b) Possible directional 2D-simplex formed by nodes 1620, 1605, 1610.

그래서, 이 가능한 심플렉스들 중 어느 하나의 존재 또는 부재를 표현하는 비트의 상태는 참조번호 1205, 1293의 비트들의 상태에 독립적이지 않다. Thus, the state of the bit representing the presence or absence of any one of these possible simplexes is not independent of the state of the bits 1205 and 1293.

비록 이 예들이 상이한 개수의 노드들 및 계층적 관계를 가진 특징들의 면에서 설명되었지만, 이것은 반드시 그런 것은 아니다. 예를 들면, 3D-심플렉스의 존재 또는 부재에만 대응하는 비트들의 컬렉션을 포함하는 표현 (1200)이 가능하다.Although these examples have been described in terms of different numbers of nodes and features with hierarchical relationships, this is not necessarily the case. For example, a representation 1200 comprising a collection of bits corresponding only to the presence or absence of a 3D-simplex is possible.

그래프 내 특징들의 존재 또는 부재를 표현하기 위해 개별 비트들을 사용하는 것은 특정 성질들을 생기게 한다. 예를 들면, 정보를 인코딩하는 것은 고장 허용 (fault tolerant)이며 그리고 상기 인코딩된 정보의 "우아한 성능저하 (graceful degradation)"를 제공한다. 특히, 특별한 비트 (또는 비트들의 그룹) 손실은 특징의 존재 또는 부재에 관한 불확실성을 증가시킬 수 있다. 그러나, 특징이 존재하거나 부재할 가능성을 제거하는 것은 인접한 특징들의 존재 또는 부재를 표시하는 다른 비트들로부터 여전히 가능할 것이다. Using individual bits to represent the presence or absence of features in the graph results in certain properties. For example, encoding information is fault tolerant and provides "graceful degradation" of the encoded information. In particular, the loss of a particular bit (or group of bits) can increase uncertainty about the presence or absence of a feature. However, it would still be possible from other bits indicating the presence or absence of adjacent features to eliminate the possibility that a feature is present or absent.

유사하게, 비트들의 개수가 증가하면, 특징의 존재 또는 부재에 관한 확실성도 증가한다.Similarly, as the number of bits increases, so does the certainty about the presence or absence of a feature.

다른 예로서, 위에서 설명된 것처럼, 비트들의 순서 정함 또는 배열은 그 비트에 의해 표현된 그래프의 동형 재구축 (isomorphic reconstruction)과 무관하다. 필요한 모든 것은 상기 비트들 및 상기 그래프 내 특별한 노드들/구조들 사이의 알려진 대응관계이다.As another example, as described above, the ordering or arrangement of bits is independent of the isomorphic reconstruction of the graph represented by the bits. All that is needed is a known correspondence between the bits and particular nodes/structures in the graph.

몇몇 구현들에서, 신경 네트워크 내 활동의 패턴들은 참조번호 1200 (도 12, 13 및 14)의 표현 내에서 인코딩될 수 있다. 일반적으로, 신경 네트워크 내 활동의 패턴들은, 예를 들면, 상기 신경 네트워크의 노드들 사이의 구조적 연결들, 노드들 사이의 가중치들 그리고 가능한 다른 파라미터들의 전체 호스트와 같은 그 신경 네트워크의 여러 특성들의 결과이다. 예를 들면, 몇몇 구현들에서, 상기 신경 네트워크는 참조번호 1200의 표현 내 활동의 패턴들을 인코딩하기 이전에 트레이닝될 수 있을 것이다. In some implementations, patterns of activity in a neural network may be encoded within the representation of 1200 (FIGS. 12, 13 and 14 ). In general, patterns of activity within a neural network are the result of several properties of the neural network, such as, for example, structural connections between nodes of the neural network, weights between nodes and the total host of other possible parameters. to be. For example, in some implementations, the neural network may be trained prior to encoding patterns of activity in the representation of 1200.

그러나, 상기 신경 네트워크가 트레이닝되지 않거나 트레이닝된 것에 관계없이, 주어진 결과에 대해, 활동의 응답 패턴은 그 신경 네트워크 내의 그 입력의 "표현 (representation)" 또는 "추상화 (abstraction)"로 생각될 수 있다. 그래서, 비록 참조번호 1200의 표현이 (몇몇 경우에는 이진) 자릿수들의 직선적으로-보이는 컬렉션인 것으로 보일 수 있지만, 그 자릿수들 각각은 상기 신경 네트워크 내 특별한 입력 및 관련 활동 사이의 관계나 대응관계를 인코딩할 수 있다.However, regardless of whether the neural network is untrained or trained, for a given outcome, the response pattern of an activity can be thought of as a "representation" or "abstraction" of its inputs within that neural network. . So, although the expression of reference 1200 may appear to be a linearly-visible collection of (binary in some cases) digits, each of those digits encodes a relationship or correspondence between a particular input and related activity in the neural network. can do.

도 17, 도 18, 도 19, 도 20은 네 개의 상이한 분류 시스템들 1700, 1800, 1900, 2000 에서 신경 네트워크 내 활동에서의 위상적인 구조들의 발생의 표현을 사용하는 개략적인 도시들이다. 참조번호 1700, 1800의 분류 시스템들 각각은 신경 네트워크 내 활동의 패턴들의 표현들을 입력 분류의 일부로서 분류한다. 참조번호 1900, 2000의 분류 시스템들 각각은 신경 네트워크 내 활동의 패턴들의 표현들을 근사화한 것 (approximation)들을 입력 분류의 일부로서 분류한다. 참조번호 1700, 1800의 뷴류 시스템들에서, 표현될 활동의 패턴들은, 그 분류 시스템 (1700, 1800)의 일부인 소스 신경 네트워크 디바이스 (1705)에서 발생하며 그 디바이스로부터 읽혀진다. 대조적으로, 참조번호 1900, 2000의 분류 시스템들에서, 근사하게 표현된 활동의 패턴들은 상기 분류 시스템 (1700, 1800)의 일부가 아닌 소스 신경 네트워크 디바이스에서 발생한다. 그럼에도 불구하고, 활동의 그런 패턴들의 표현의 근사는 참조번호 1900, 2000의 분류 시스템들의 일부인 근사기 (1905)로부터 읽혀진다.17, 18, 19, 20 are schematic illustrations using a representation of the occurrence of topological structures in activity in a neural network in four different classification systems 1700, 1800, 1900, 2000. Each of the classification systems 1700 and 1800 classifies expressions of patterns of activity in the neural network as part of the input classification. Each of the classification systems of reference numerals 1900 and 2000 classifies approximations of expressions of patterns of activity in a neural network as part of the input classification. In the human system of reference numerals 1700, 1800, patterns of activity to be represented occur at and are read from the source neural network device 1705, which is part of the classification system 1700, 1800. In contrast, in the classification systems 1900, 2000, patterns of activity that are approximated occur in the source neural network device that is not part of the classification system 1700, 1800. Nevertheless, an approximation of the representation of such patterns of activity is read from the approximator 1905, which is part of the classification systems of reference numbers 1900 and 2000.

추가의 상세 내용에서, 도 17로 돌아가면, 분류 시스템 (1700)은 소스 신경 네트워크 (1705) 및 선형 분류기 (1710)을 포함한다. 소스 신경 네트워크 (1705)는 입력을 수신하고 소스 신경 네트워크 (1705) 내에서의 활동 내 위상적인 구조들의 발생의 표현들을 제시하도록 구성된 신경 네트워크 디바이스이다. 도시된 구현에서, 소스 신경 네트워크 (1705)는 입력을 수신하는 입력 레이어 (1715)를 포함한다. 그러나, 이는 반드시 그런 것은 아니다. 예를 들면, 몇몇 구현에서, 입력의 일부 또는 모두는 소스 신경 네트워크 (1705) 전체에 걸친 상이한 레이어들 및/또는 에지들이나 노드들로 주입될 수 있다.In further detail, turning to FIG. 17, the classification system 1700 includes a source neural network 1705 and a linear classifier 1710. Source neural network 1705 is a neural network device configured to receive input and present representations of the occurrence of topological structures in activity within source neural network 1705. In the illustrated implementation, source neural network 1705 includes an input layer 1715 that receives inputs. However, this is not necessarily the case. For example, in some implementations, some or all of the input may be injected into different layers and/or edges or nodes throughout the source neural network 1705.

소스 신경 네트워크 (1705)는 다양한 상이한 유형의 신경 네트워크 중 어느 하나일 수 있다. 일반적으로 소스 신경 네트워크 (1705)는, 예를 들면, 생물학적 시스템 상에서 모델링된 순환 신경 네트워크와 같은 순환 신경 네트워크이다. 몇몇 경우에, 소스 신경 네트워크 (1705)는 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도를 모델링할 수 있다. 일반적으로, 소스 신경 네트워크 (1705)는 상대적으로 높은 레벨의 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들, 예를 들면, 수퍼컴퓨터 상에서 구현된다. 그런 경우에, 분류 시스템 (1700)은 보통은, 원격 분류기 (1710)이, 예를 들면, 데이터 통신 네트워크를 경유하여 소스 신경 네트워크 (1705)와 통신하는 분산 시스템일 것이다. Source neural network 1705 can be any of a variety of different types of neural networks. In general, the source neural network 1705 is a circulatory neural network, such as a circulatory neural network modeled on a biological system. In some cases, the source neural network 1705 can model the degree of morphological, chemical, and other properties of the biological system. In general, the source neural network 1705 is implemented on one or more computing devices, such as a supercomputer, with a relatively high level of computational power. In such a case, the classification system 1700 will typically be a distributed system in which the remote classifier 1710 communicates with the source neural network 1705 via, for example, a data communication network.

몇몇 구현들에서, 소스 신경 네트워크 (1705)는 트레이닝되지 않을 수 있으며 그리고 표현된 활동은 소스 신경 네트워크 (1705)의 내재적인 활동일 수 있다. 다른 구현들에서, 소스 신경 네트워크 (1705)는 트레이닝될 수 있으며 그리고 표현된 활동은 이 트레이닝을 구현할 수 있다.In some implementations, the source neural network 1705 may be untrained and the expressed activity may be an intrinsic activity of the source neural network 1705. In other implementations, the source neural network 1705 can be trained and the represented activity can implement this training.

소스 신경 네트워크 (1705)로부터 읽혀진 표현들은 참조번호 1200의 표현 (도 12, 13, 14)과 같은 표현들일 수 있다. 상기 표현들은 소스 신경 네트워크 (1705)로부터 많은 방식들로 읽혀질 수 있다. 예를 들면, 상기 도시된 예에서, 소스 신경 네트워크 (1705)는 "리더기 노드들"을 포함하며, 그 리더기 노드는 소스 신경 네트워크 (1705) 내 다른 노드들 사이의 활동의 패턴들을 읽는다. 다른 구현들에서, 소스 신경 네트워크 (1705) 내 활동은, 활동의 상대적으로 높은-차수 패턴들에 대해 소스 신경 네트워크 (1705)를 모니터하도록 프로그램된 데이터 프로세싱 컴포넌트에 의해 읽혀진다. 또 다른 구현들에서, 소스 신경 네트워크 (1705)는 출력 레이어를 포함할 수 있으며, 예를 들면, 소스 신경 네트워크 (1705)이 피드-포워드 신경 네트워크로서 구현될 때에 상기 출력 레이어로부터 표현 (1200)이 읽혀질 수 있다.Expressions read from the source neural network 1705 may be expressions such as expressions of 1200 (Figs. 12, 13, and 14). The expressions can be read from the source neural network 1705 in many ways. For example, in the example shown above, source neural network 1705 includes “leader nodes”, which reader node reads patterns of activity among other nodes in source neural network 1705. In other implementations, activity in the source neural network 1705 is read by a data processing component programmed to monitor the source neural network 1705 for relatively high-order patterns of activity. In still other implementations, the source neural network 1705 may include an output layer, e.g., when the source neural network 1705 is implemented as a feed-forward neural network, the representation 1200 from the output layer is Can be read.

선형 분류기 (1710)는 물체를 - 즉, 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 - 그 물체의 특성들의 선형 조합에 기반하여 분류하는 디바이스이다. 선형 분류기 (1710)는 입력단 (1720) 및 출력단 (1725)을 포함한다. 입력단 (1720)은 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 수신하기 위해 결합된다. 다른 말로 하면, 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들은, 소스 신경 네트워크 (1705)로의 입력의 특성들을 표현하는 특징 벡터이며, 상기 소스 신경 네트워크 (1705)는 그 입력을 분류하기 위해 선형 분류기 (1710)에 의해 사용된 소스 신경 네트워크이다. 선형 분류기 (1710)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 상기 표현들은 별개의 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다. Linear classifier 1710 is a device that classifies an object-that is, representations of patterns of activity in the source neural network 1705-based on a linear combination of properties of that object. The linear classifier 1710 includes an input stage 1720 and an output stage 1725. Input 1720 is coupled to receive representations of patterns of activity in source neural network 1705. In other words, the expressions of the patterns of activity in the source neural network 1705 are feature vectors expressing the characteristics of the input to the source neural network 1705, and the source neural network 1705 is linear to classify the input. It is the source neural network used by classifier 1710. Linear classifier 1710 can receive representations of patterns of activity in source neural network 1705 in various ways. For example, the representations of patterns of activity may be received as separate events or as a continuous stream over a real-time or non-real-time communication channel.

출력단 (1725)은 선형 분류기 (1710)로부터의 분류 결과를 출력하기 위해 결합된다. 상기 도시된 구현에서, 출력단 (1725)은 다수의 채널들을 가진 병렬 포트로서 개략적으로 도시되었다. 이것은 반드시 그런 것은 아니다. 예를 들면, 출력단 (1725)은 시리얼 포트나 결합된 병렬 및 직렬 능력을 가진 포트를 통해 분류 결과를 출력할 수 있다.The output stage 1725 is coupled to output the classification result from the linear classifier 1710. In the illustrated implementation, output stage 1725 is schematically shown as a parallel port with multiple channels. This is not necessarily the case. For example, the output stage 1725 can output the classification result through a serial port or a port with combined parallel and serial capabilities.

몇몇 구현들에서, 선형 분류기 (1710)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다. 예를 들면, 선형 분류기 (1710)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다.In some implementations, linear classifier 1710 can be implemented on one or more computing devices with relatively limited computational power. For example, the linear classifier 1710 may be implemented on a personal computer or a mobile computing device such as a smartphone or tablet.

도 18에서, 분류 시스템 (1800)은 소스 신경 네트워크 (1705) 및 신경 네트워크 분류기 (1810)를 포함한다. 신경 네트워크 분류기 (1810)는 물체를 - 즉, 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 - 그 물체의 특성들의 비-선형 조합에 기반하여 분류하는 신경 네트워크 디바이스이다. 상기 도시된 구현에서, 신경 네트워크 분류기 (1810)는, 입력 레이어 (1820) 및 출력 레이어 (1825)를 포함하는 피드포워드 네트워크이다. 선형 분류기 (1710)를 구비해서, 신경 네트워크 분류기 (1810)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 표현들은 분리된 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다. In FIG. 18, the classification system 1800 includes a source neural network 1705 and a neural network classifier 1810. The neural network classifier 1810 is a neural network device that classifies an object-that is, representations of patterns of activity in the source neural network 1705-based on a non-linear combination of properties of that object. In the illustrated implementation, the neural network classifier 1810 is a feedforward network comprising an input layer 1820 and an output layer 1825. With linear classifier 1710, neural network classifier 1810 can receive representations of patterns of activity in source neural network 1705 in various ways. For example, representations of patterns of activity may be received as separate events or as a continuous stream over a real-time or non-real-time communication channel.

몇몇 구현들에서, 신경 네트워크 분류기 (1810)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 추론들을 수행할 수 있다. 예를 들면, 신경 네트워크 분류기 (1810)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스의 신경 프로세싱 유닛 내 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다. 분류 시스템 (1700)과 유사하게, 분류 시스템 (1800)은 일반적으로, 신경 네트워크 분류기 (1810)가, 예를 들면, 데이터 통신 네트워크를 경유하여 소스 신경 네트워크 (1705)와 통신하는 분산 시스템일 것이다. In some implementations, neural network classifier 1810 can perform inferences on one or more computing devices with relatively limited computational power. For example, neural network classifier 1810 may be implemented on a mobile computing device in a neural processing unit of a personal computer or mobile computing device such as a smartphone or tablet. Similar to classification system 1700, classification system 1800 will generally be a distributed system in which neural network classifier 1810 communicates with source neural network 1705, for example, via a data communication network.

몇몇 구현들에서, 신경 네트워크 분류기 (1810)는, 예를 들면, 컨볼루션 (convolutional) 레이어들, 풀링 (pooling) 레이어들, 및 완전-접속 (fully-connected) 레이어들을 포함하는 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크 (deep neural network)일 수 있다. 컨불루션 레이어는, 예를 들면, 선형 컨볼루션 필터들 및/또는 비선형 활성 함수들을 사용하여 특징 지도들을 생성할 수 있다. 풀링 레이어들은 파라미터들의 개수를 줄이며 과적합 (overfitting)을 제어한다. 이미지 분류기 (1820) 내 상이한 레이어들에 의해 수행된 계산들은 이미지 분류기 (1820)의 상이한 구현들에서 상이한 방식들로 정의될 수 있다.In some implementations, the neural network classifier 1810 includes, for example, a convolutional neural network comprising convolutional layers, pooling layers, and fully-connected layers. It may be the same deep neural network. The convolutional layer may generate feature maps using, for example, linear convolution filters and/or nonlinear activation functions. The pooling layers reduce the number of parameters and control overfitting. Calculations performed by different layers in image classifier 1820 may be defined in different ways in different implementations of image classifier 1820.

도 19에서, 분류 시스템 (1900)은 소스 근사기 (source approximator) (1905) 및 선형 분류기 (1710)를 포함한다. 아래에서 더 설명되는 것처럼, 소스 근사기 (1905)는 상대적으로 단순한 신경 네트워크이며, 그 신경 네트워크는 - 입력 레이어 (1915) 또는 다른 곳 중 어느 하나에서 - 입력을 수신하며 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현을 근사화한 벡터를 출력한다. 예를 들면, 소스 근사기 (1905)는, 예를 들면, 생물학적 시스템 상에서 모델링되며 그리고 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도 (degree)를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크를 근사화하기 위해 트레이닝될 수 있다. 상기 도시된 구현에서, 소스 근사기 (1905)는 입력 레이어 (1915) 및 출력 레이어 (1920)를 포함한다. 입력 레이어 (1915)는 입력 데이터를 수신하기 위해 결합 가능하다. 출력 레이어 (1920)는, 선형 분류기의 입력단 (1720)에 의한 수신을 위해 신경 네트워크 디바이스 내에서의 활동의 표현의 근사를 출력하기 위해 결합된다. 예를 들면, 출력 레이어 (1920)는 참조번호 1200의 표현 (도 12, 13, 14)의 근사 (1200')를 출력할 수 있다. 여담으로, 도 17 및 18에서 개략적으로 도시된 참조번호 1200의 표현 그리고 도 19, 도 20에 개략적으로 도시된 표현 (1200)의 근사 (1200')는 일치한다. 이것은 편이만을 위한 것이다. 일반적으로, 참조번호 1200'의 근사는 참조번호 1200의 표현과는 적어도 몇몇 방식에서는 상이할 것이다. 이런 차이들에도 불구하고, 선형 분류기 (1710)는 참조번호 1200'의 근사를 분류할 수 있다.In FIG. 19, the classification system 1900 includes a source approximator 1905 and a linear classifier 1710. As explained further below, the source approximator 1905 is a relatively simple neural network, which-either at the input layer 1915 or elsewhere-receives input and is a relatively more complex neural network. I output a vector that approximates the representation of the topological structures occurring in my activity patterns. For example, source approximator 1905 is a circulatory source neural network, such as, for example, a circulatory neural network that is modeled on a biological system and includes degrees of morphological, chemical, and other properties of the biological system. Can be trained to approximate In the illustrated implementation, the source approximator 1905 includes an input layer 1915 and an output layer 1920. The input layer 1915 is combinable to receive input data. The output layer 1920 is combined to output an approximation of the representation of the activity within the neural network device for reception by the input 1720 of the linear classifier. For example, the output layer 1920 may output an approximation 1200' of the expression of reference numeral 1200 (FIGS. 12, 13, and 14). As a side note, the expression 1200 schematically illustrated in FIGS. 17 and 18 and the approximation 1200' of the expression 1200 schematically illustrated in FIGS. 19 and 20 coincide. This is for convenience only. In general, the approximation of reference numeral 1200' will differ from the representation of reference numeral 1200 in at least some way. Despite these differences, the linear classifier 1710 is capable of classifying an approximation of 1200'.

일반적으로, 소스 근사기 (1905)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 추론을 수행할 수 있다. 예를 들면, 소스 근사기 (1905)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스의 신경 프로세싱 유닛 내 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다. 일반적으로 그리고 분류 시스템들 (1700, 1800)과 비교하면, 참조번호 1900의 분류 시스템은 보통은 단일의 하우징 내에, 예를 들면, 동일 데이터 프로세싱 디바이스들 중 어느 하나에서 또는 하드와이어 접속에 의해 결합된 데이터 프로세싱 디바이스들에서 구현된 소스 근사기 (1905) 및 선형 분류기 (1710)와 함께 수납될 것이다. In general, source approximator 1905 may perform inference on one or more computing devices with relatively limited computational power. For example, the source approximator 1905 may be implemented on a mobile computing device in a personal computer or a neural processing unit of a mobile computing device such as a smartphone or tablet. In general and compared to the classification systems 1700, 1800, the classification system of reference 1900 is usually combined in a single housing, for example in either of the same data processing devices or by a hardwire connection. It will be housed with a source approximator 1905 and a linear classifier 1710 implemented in data processing devices.

도 20에서, 분류 시스템 (2000)은 소스 근사기 (1905) 및 신경 네트워크 분류기 (1810)를 포함한다. 소스 근사기 (1905)의 출력 레이어 (1920)는, 신경 네트워크 분류기 (1810)의 입력단 (1820)에 의한 수신을 위해 신경 네트워크 디바이스 내 활동의 표현의 근사 (1200')를 출력하기 위해 결합된다. 근사 (1200') 및 표현 (1200) 사이의 차이점들에도 불구하고, 신경 네트워크 분류기 (180)는 근사 (1200')를 분류할 수 있다. 일반적으로 그리고 분류 시스템 (1900)과 유사하게, 참조번호 2000의 분류 시스템은 보통은 단일의 하우징 내에, 예를 들면, 동일 데이터 프로세싱 디바이스들 중 어느 하나에서 또는 하드와이어 접속에 의해 결합된 데이터 프로세싱 디바이스들 상에서 구현된 소스 근사기 (1905) 및 신경 네트워크 분류기 (1810)와 함께 수납될 것이다. In FIG. 20, the classification system 2000 includes a source approximator 1905 and a neural network classifier 1810. The output layer 1920 of the source approximator 1905 is combined to output an approximation 1200' of a representation of the activity in the neural network device for reception by the input 1820 of the neural network classifier 1810. Despite the differences between the approximation 1200' and the representation 1200, the neural network classifier 180 can classify the approximation 1200'. In general and similar to the classification system 1900, the classification system of reference numeral 2000 is usually a data processing device combined in a single housing, for example in any of the same data processing devices or by a hardwire connection. It will be housed with a source approximator 1905 and a neural network classifier 1810 implemented on the field.

도 21은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 사용하여 트레이닝될 수 있는 로컬 인공 신경 네트워크를 포함하는 에지 디바이스 (2100)의 개략적인 도시이다. 이 환경에서, 로컬 인공 신경 네트워크는, 예를 들면, 데이터를 교환하기 위해 통신 네트워크를 필요로 하지 않는 하나 이상의 로컬 프로세서들 상에서 전적으로 실행되는 인공 신경 네트워크일 수 있다. 일반적으로, 상기 로컬 프로세서들은 하드와이어 접속들에 의해 연결될 것이다. 몇몇 예들에서, 상기 로컬 프로세서들은, 단일의 개인용 컴퓨터 또는 단일의 핸드헬드 모바일 디바이스와 같은 단일의 하우징 내에 수납될 수 있다. 몇몇 사례들에서, 상기 로컬 프로세서들은 단일의 개인 또는 제한된 수의 개인들에 의한 제어하에 있을 수 있으며 액세스될 수 있다. 실제로, 더 단순한 그리고/또는 덜 고도로 트레이닝되지만 더 배타적인 제2 신경 네트워크를 (예를 들면, 지도 학습 (supervised learning) 또는 강화형 학습 (reinforcement learning) 기술을 사용하여) 트레이닝하기 위해 더 복잡한 소스 신경 네트워크 내 위상학적 구조들의 발생들의 표현을 사용함으로써, 제한된 컴퓨팅 자원들 및 제한된 개수의 트레이닝 샘플들을 구비한 개인들도 소망하는 대로 신경 네트워크를 트레이닝시킬 수 있다. 트레이닝 동안의 저장 요구사항들 및 계산 복잡성은 줄어들며 배터리 수명과 같은 자원들이 절약된다.21 is a schematic illustration of an edge device 2100 comprising a local artificial neural network that can be trained using representations of the occurrence of topological structures corresponding to activity in the source neural network. In this environment, the local artificial neural network may be, for example, an artificial neural network running entirely on one or more local processors that do not require a communication network to exchange data. Typically, the local processors will be connected by hardwire connections. In some examples, the local processors may be housed in a single housing, such as a single personal computer or a single handheld mobile device. In some instances, the local processors may be under control and accessed by a single individual or a limited number of individuals. In fact, more complex source neurons to train a simpler and/or less highly trained but more exclusive second neural network (e.g., using supervised learning or reinforcement learning techniques). By using the representation of occurrences of topological structures in the network, individuals with limited computing resources and limited number of training samples can also train the neural network as desired. Storage requirements and computational complexity during training are reduced and resources such as battery life are saved.

상기 도시된 구현들에서, 에지 디바이스 (2100)는, 광학 이미징 시스템 (2110), 이미지 프로세싱 전자기기 (2115), 소스 근사기 (2120), 표현 분류기 (2125), 그리고 통신 제어기 및 인터페이스 (2130)를 포함하는 보안-카메라 디바이스로서 개략적으로 도시된다.In the implementations shown above, the edge device 2100 includes an optical imaging system 2110, an image processing electronics 2115, a source approximator 2120, a representation classifier 2125, and a communication controller and interface 2130. It is schematically shown as a security-camera device comprising:

광학 이미징 시스템 (2110)은, 예를 들면, 하나 이상의 렌즈 (또는 심지어는 핀홀) 및 CCD 디바이스를 포함할 수 있다. 이미지 프로세싱 전자기기 (2115)는 광학 이미징 시스템 (2110)의 출력을 읽을 수 있으며 그리고 일반적으로 기본적인 이미지 프로세싱 기능들을 수행할 수 있다. 통신 제어기 및 인터페이스 (2130)는 참조번호 2100의 디바이스로 그리고 그 디바이스로부터의 정보의 흐름을 제어하도록 구성된 디바이스이다. 아래에서 더 설명되는 것처럼, 통신 제어기 및 인터페이스 (2130)가 수행할 수 있는 동작들은 관심 대상 이미지들을 다른 디바이스들로 전송하고 다른 디바이스들로부터 트레이닝 정보를 수신하는 것이다. 통신 제어기 및 인터페이스 (2130)는 그래서, 예를 들면, 데이터 포트 (2135)를 통해 통신할 수 있는 데이터 전송기 및 수신기 둘 모두를 포함할 수 있다. 데이터 포트 (2135)는 유선 포트, 무선 포트, 광학 포트 등일 수 있다.Optical imaging system 2110 may include, for example, one or more lenses (or even pinholes) and a CCD device. Image processing electronics 2115 can read the output of optical imaging system 2110 and can generally perform basic image processing functions. Communication controller and interface 2130 is a device configured to control the flow of information to and from a device of reference numeral 2100. As described further below, the operations that the communication controller and interface 2130 may perform are to send images of interest to other devices and to receive training information from other devices. The communication controller and interface 2130 may thus include both a data transmitter and a receiver capable of communicating via, for example, data port 2135. The data port 2135 may be a wired port, a wireless port, an optical port, or the like.

소스 근사기 (2120)는, 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 나타나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 트레이닝되는 상대적으로 간단한 신경 네트워크이다. 예를 들면, 소스 근사기 (2120)는, 예를 들면, 생물학적 시스템 상에서 모델링되며 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크를 근사화하기 위해 트레이닝될 수 있다.Source approximator 2120 is a relatively simple neural network that is trained to output a vector that approximates a representation of topological structures that appear in patterns of activity in a relatively more complex neural network. For example, source approximator 2120 to approximate a circulating source neural network, such as, for example, a circulatory neural network that is modeled on a biological system and includes degrees of morphological, chemical, and other properties of the biological system. Can be trained.

표현 분류기 (2135)는, 소스 신경 네트워크 내 활동의 패턴들의 표현의 근사를 소스 근사기 (2121)로부터 수신하고 분류 결과를 출력하기 위해 결합된 신경 네트워크 분류기 또는 선형 분류기 중 어느 하나이다. 표현 분류기 (2125)는, 예를 들면, 컨볼루션 레이어들, 풀링 레이어들, 및 완전-접속 레이어들을 포함하는 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크일 수 있다. 컨불루션 레이어는, 예를 들면, 선형 컨볼루션 필터들 및/또는 비선형 활성 함수들을 사용하여 특징 지도들을 생성할 수 있다. 풀링 레이어들은 파라미터들의 개수를 줄이며 과적합을 제어한다. 표현 분류기 (2125) 내 상이한 레이어들에 의해 수행된 계산들은 표현 분류기 (2125)의 상이한 구현들에서 상이한 방식들로 정의될 수 있다.The representation classifier 2135 is either a neural network classifier or a linear classifier coupled to receive an approximation of the representation of patterns of activity in the source neural network from the source approximator 2121 and output a classification result. Representation classifier 2125 may be, for example, a deep neural network, such as a convolutional neural network comprising convolutional layers, pooling layers, and fully-connected layers. The convolutional layer may generate feature maps using, for example, linear convolution filters and/or nonlinear activation functions. The pooling layers reduce the number of parameters and control overfitting. Calculations performed by different layers in the presentation classifier 2125 may be defined in different ways in different implementations of the presentation classifier 2125.

몇몇 구현들에서, 작동 시에, 광학 이미징 시스템 (2110)은 미가공 (raw) 디지털 이미지들을 생성할 수 있다. 이미지 프로세싱 전자기기 (2115)는 미가공 이미지들을 읽을 수 있으며 적어도 몇몇 기본적인 이미지 프로세싱 함수들을 보통은 수행할 것이다. 소스 근사기 (2120)는 이미지 프로세싱 전자기기 (2115)로부터 이미지들을 수신할 수 있으며 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들 내에서 일어나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 추론 연산들을 수행할 수 있다. 이 근사화 벡터는, 분류 기준들의 하나 이상의 세트들을 상기 근사화 벡터가 충족시키는가의 여부를 판단하는 표현 분류기 (2125)로 입력된다. 예들은 얼굴 인식 및 다른 기계 시각 동작들을 포함한다. 상기 근사화 벡터가 분류 기준들의 세트를 충족시킨다고 표현 분류기 (2125)가 판단하는 경우에, 표현 분류기 (2125)는 통신 제어기 및 인터페이스 (2130)에게 상기 이미지들에 관한 정보를 전송하도록 지시할 수 있다. 예를 들면, 통신 제어기 및 인터페이스 (2130)는 상기 이미지 그 자체, 상기 분류, 및/또는 상기 이미지들에 관한 다른 정보를 전송할 수 있다.In some implementations, in operation, the optical imaging system 2110 can generate raw digital images. Image processing electronics 2115 can read raw images and will normally perform at least some basic image processing functions. Source approximator 2120 may receive images from image processing electronics 2115 and infer to output a vector that approximates the representation of topological structures occurring within patterns of activity in a relatively more complex neural network. Can perform operations. This approximation vector is input to a representation classifier 2125 which determines whether the approximation vector satisfies one or more sets of classification criteria. Examples include facial recognition and other machine vision operations. When the expression classifier 2125 determines that the approximation vector satisfies the set of classification criteria, the expression classifier 2125 may instruct the communication controller and interface 2130 to transmit information about the images. For example, the communication controller and interface 2130 may transmit the image itself, the classification, and/or other information regarding the images.

때때로, 분류 프로세스를 변경할 것이 소망될 수 있다. 이런 경우에, 통신 제어기 및 인터페이스 (2130)는 트레이닝 세트를 수신할 수 있다. 몇몇 구현들에서, 상기 트레이닝 세트는 미가공이나 프로세싱된 이미지 데이터 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들을 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 소스 근사기 (2120)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 표현들은 타겟 답변 벡터 (target answer vector)로서 사용되며 그리고 상기 미가공이나 프로세싱된 이미지 데이터를 프로세싱하는 소스 근사기 (2120)의 소망된 결과를 표현한다.Sometimes, it may be desirable to change the classification process. In this case, the communication controller and interface 2130 may receive the training set. In some implementations, the training set may include representations of topological structures occurring in raw or processed image data and patterns of activity in a relatively more complex neural network. Such a training set may be used to retrain the source approximator 2120 using, for example, supervised learning or reinforcement learning techniques. Specifically, the expressions are used as a target answer vector and represent the desired result of the source approximator 2120 processing the raw or processed image data.

다른 구현들에서, 상기 트레이닝 세트는 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들 그리고 위상적인 구조들의 그런 표현들의 소망된 분류를 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 신경 네트워크 표현 분류기 (2125)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 소망된 분류는 타겟 답변 벡터로서 사용되며 그리고 위상적인 구조들의 상기 표현들을 프로세싱하는 표현 분류기 (2125)의 소망된 결과를 표현한다.In other implementations, the training set may include representations of topological structures occurring in patterns of activity in a relatively more complex neural network and a desired classification of such representations of topological structures. Such a training set can be used to retrain the neural network representation classifier 2125, for example, using supervised learning or reinforcement learning techniques. In particular, the desired classification is used as a target answer vector and represents the desired result of a representation classifier 2125 that processes the representations of topological structures.

소스 근사기 (2120)나 표현 분류기 (2125)가 재트레이닝되는가의 여부에 무관하게, 디바이스 (2100)에서의 추론 연산들은 트레이닝 데이터의 큰 세트들 및 시간 - 및 컴퓨팅 파워 - 집약적인 반복적 트레이닝 없이 환경들 및 목적들을 변경하도록 쉽게 적응될 수 있다. Regardless of whether the source approximator 2120 or the representation classifier 2125 is retrained, the inferencing operations at the device 2100 are large sets of training data and time-and computing power-the environment without intensive iterative training. It can be easily adapted to change the fields and objectives.

도 22는 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 사용하여 트레이닝될 수 있는 로컬 인공 신경 네트워크를 포함하는 제2 에지 디바이스 (2200)의 개략적인 도시이다. 상기 도시된 구현에서, 제2 에지 디바이스 (2200)는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스로서 개략적으로 도시된다. 디바이스 (2200)는 (예를 들면, 디바이스 (2200)의 후면 상에) 광학 이미징 시스템 (도시되지 않음), 이미지 프로세싱 전자기기 (2215), 표현 분류기 (2225), 통신 제어기 및 인터페이스 (2230)를 포함한다. 이 컴포넌트들은 특성들을 가질 수 있으며 그리고 디바이스 (2100) (도 21)의 광학 이미징 시스템 (2110), 이미지 프로세싱 전자기기 (2115), 표현 분류기 (2125), 통신 제어기 및 인터페이스 (2130), 및 데이터 포트 (2135)의 행동들과 대응하는 행동들을 수행할 수 있다.22 is a schematic illustration of a second edge device 2200 comprising a local artificial neural network that can be trained using representations of the occurrence of topological structures corresponding to activity in the source neural network. In the above illustrated implementation, the second edge device 2200 is schematically illustrated as a mobile computing device such as a smartphone or tablet. Device 2200 includes an optical imaging system (not shown), image processing electronics 2215, representation classifier 2225, communication controller and interface 2230 (e.g., on the back of device 2200). Include. These components may have characteristics and include optical imaging system 2110, image processing electronics 2115, representation classifier 2125, communication controller and interface 2130, and data port of device 2100 (FIG. 21). Can perform actions corresponding to the actions of (2135).

디바이스 (2200)의 상기 도시된 구현들은 하나 이상의 추가 센서들 (2240) 및 다중-입력 소스 근사기 (2245)를 추가로 포함한다. 센서(들) (2240)는 디바이스 (2200)를 둘러싼 환경의 또는 디바이스 (2200) 그 자체의 하나 이상의 특성들을 감지할 수 있다. 예를 들면, 몇몇 구현들에서, 센서 (2240)는 디바이스 (2200)가 겪을 가속을 감지하는 가속도계일 수 있다. 다른 예로서, 몇몇 구현들에서, 센서 (2240)는 디바이스 (2200) 주변에서의 소음을 감지하는 마이크로폰과 같은 청각적 센서일 수 있다. 센서 (2240)의 또 다른 예들은 화학적 센서들 (예를 들면, "인공 코" 및 유사한 것), 습도 센서들, 방사 센서들, 및 유사한 것을 포함한다. 몇몇 경우에, 센서 (2240)는, 그 센서 (2240)의 출력 (또는 예를 들면 연락처 목록이나 지도와 같은 다른 정보)를 읽고 기본적인 프로세싱 기능들을 수행할 수 있는 프로세싱 전자기기에 결합된다. 센서 (2240)의 상이한 구현들은 그래서 물리적인 감지된 물리적 파라미터가 센서마다 변한다는 점에서 상이한 "양식 (modality)들"을 가질 수 있다.The illustrated implementations of device 2200 further include one or more additional sensors 2240 and a multi-input source approximator 2245. The sensor(s) 2240 may sense one or more characteristics of the environment surrounding the device 2200 or of the device 2200 itself. For example, in some implementations, sensor 2240 can be an accelerometer that senses the acceleration that device 2200 will undergo. As another example, in some implementations, sensor 2240 may be an audible sensor, such as a microphone, that senses noise around device 2200. Still other examples of sensor 2240 include chemical sensors (eg, “artificial nose” and the like), humidity sensors, radiation sensors, and the like. In some cases, sensor 2240 is coupled to processing electronics capable of reading the output of sensor 2240 (or other information such as, for example, a contact list or map) and performing basic processing functions. Different implementations of sensor 2240 may thus have different "modalities" in that the physical sensed physical parameter varies from sensor to sensor.

다중-입력 소스 근사기 (2245)는 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 나타나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 트레이닝되는 상대적으로 간단한 신경 네트워크이다. 예를 들면, 다중-입력 소스 근사기 (2245)는, 예를 들면, 생물학적 시스템 상에서 모델링되며 그리고 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도 (degree)를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크를 근사화하기 위해 트레이닝될 수 있다.The multi-input source approximator 2245 is a relatively simple neural network that is trained to output a vector that approximates the representation of topological structures that appear in patterns of activity in a relatively more complex neural network. For example, the multi-input source approximator 2245 may be modeled on a biological system, for example, and circulatory, such as a circulatory neural network that includes degrees of morphological, chemical, and other properties of the biological system. It can be trained to approximate the source neural network.

소스 근사기 (2120)과는 다르게, 다중-입력 소스 근사기 (2245)는 결합되어, 다수의 센서들로부터 미가공 또는 프로세싱된 센서 데이터를 수신하고 그 데이터에 기반하여 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현의 근사를 반환한다. 예를 들면, 다중-입력 소스 근사기 (2245)는, 예를 들면, 하나 이상의 센서들 (2240)로부터 청각적, 가속의, 화학적인, 또는 다른 데이터는 물론이며 이미지 프로세싱 전자기기 (2215)로부터 프로세싱된 이미지 데이터를 수신할 수 있다. 다중-입력 소스 근사기 (2245)는, 예를 들면, 컨볼루션 레이어들, 풀링 레이어들, 및 완전-접속 레이어들을 포함하는 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크일 수 있다. 다중-입력 소스 근사기 (2245) 내 상이한 레이어들에 의해 수행된 계산들은 단일 유형의 센세 데이터에 또는 다수 양식들의 센서 데이터에 전용일 수 있다. Unlike source approximator 2120, multi-input source approximator 2245 is combined to receive raw or processed sensor data from multiple sensors, and based on that data, activity in a relatively more complex neural network. Returns an approximation of the representation of topological structures occurring in the patterns of. For example, the multi-input source approximator 2245 can be used from image processing electronics 2215 as well as audible, accelerated, chemical, or other data, for example, from one or more sensors 2240. Receive processed image data. The multi-input source approximator 2245 may be, for example, a deep neural network, such as a convolutional neural network comprising convolutional layers, pooling layers, and fully-connected layers. Calculations performed by different layers in the multi-input source approximator 2245 may be dedicated to a single type of sensor data or to multiple forms of sensor data.

다중-입력 소스 근사기 (2245)의 특별한 조직에 무관하게, 다중-입력 소스 근사기 (2245)는 다수의 센서들로부터의 미가공 또는 프로세싱된 센서 데이터에 기반하여 근사를 반환한다. 예를 들면, 이미지 프로세싱 전자기기 (2215)로부터의 프로세싱된 이미지 데이터 및 마이크로폰 센서 (2240)로부터의 청각적인 데이터는, 동일한 데이터를 수신했던 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현을 근사화하기 위해 다중-입력 소스 근사기 (2245)에 의해 사용될 수 있다. Regardless of the particular organization of the multi-input source approximator 2245, the multi-input source approximator 2245 returns an approximation based on raw or processed sensor data from multiple sensors. For example, processed image data from image processing electronics 2215 and audible data from microphone sensor 2240 can be phased in patterns of activity in a relatively more complex neural network that received the same data. It can be used by the multi-input source approximator 2245 to approximate the representation of structures.

때때로, 디바이스 (2200)에서 상기 분류 프로세스를 변경할 것이 소망될 수 있을 것이다. 이 경우에, 통신 제어기 및 인터페이스 (2230)는 트레이닝 세트를 수신할 수 있다. 몇몇 구현들에서, 상기 트레이닝 세트는 미가공이나 프로세싱된 이미지 데이터, 화학적인 데이터 또는 다른 데이터 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들을 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 다중-입력 소스 근사기 (2245)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 표현들은 타겟 답변 벡터로서 사용되며 그리고 상기 미가공이나 프로세싱된 이미지 데이터 또는 센서 데이터를 프로세싱하는 다중-입력 소스 근사기 (2245)의 소망된 결과를 나타낸다.Occasionally, it may be desirable to change the classification process in device 2200. In this case, the communication controller and interface 2230 may receive the training set. In some implementations, the training set may include representations of topological structures occurring in raw or processed image data, chemical data or other data, and patterns of activity in a relatively more complex neural network. Such a training set can be used to retrain the multi-input source approximator 2245 using, for example, supervised learning or reinforcement learning techniques. In particular, the expressions are used as target answer vectors and represent the desired results of the multi-input source approximator 2245 processing the raw or processed image data or sensor data.

다른 구현들에서, 상기 트레이닝 세트는 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들 그리고 위상적인 구조들의 그런 표현들의 소망된 분류를 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 신경 네트워크 표현 분류기 (2225)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 소망된 분류는 타겟 답변 벡터로서 사용되며 그리고 위상적인 구조들의 상기 표현들을 프로세싱하는 표현 분류기 (2225)의 소망된 결과를 나타낸다.In other implementations, the training set may include representations of topological structures occurring in patterns of activity in a relatively more complex neural network and a desired classification of such representations of topological structures. Such a training set may be used to retrain the neural network representation classifier 2225 using, for example, supervised learning or reinforcement learning techniques. In particular, the desired classification is used as a target answer vector and represents the desired result of a representation classifier 2225 processing the representations of topological structures.

다중-입력 소스 근사기 (2245)나 표현 분류기 (2225)가 재트레이닝되는가의 여부에 무관하게, 디바이스 (2200)에서의 추론 연산들은 트레이닝 데이터의 큰 세트들 및 시간 - 및 컴퓨팅 파워 - 집약적인 반복적 트레이닝 없이 환경들 및 목적들을 변경하도록 쉽게 적응될 수 있다. Regardless of whether the multi-input source approximator 2245 or the representation classifier 2225 is retrained, inferencing operations at device 2200 can be used with large sets of training data and time-and computing power-intensive iterative. It can be easily adapted to change environments and objectives without training.

도 23은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 로컬 인공 신경 네트워크들이 트레이닝될 수 있는 시스템 (2300)의 개략적인 도시이다. 타겟 신경 네트워크들은 상대적으로 간단하며 덜 비싼 데이터 프로세싱 시스템들 상에서 구현되며, 반면에 상기 소스 신경 네트워크는 상대적으로 복잡하며 더 비싼 데이터 프로세싱 시스템 상에서 구현될 수 있다.23 is a schematic illustration of a system 2300 in which local artificial neural networks may be trained using representations of the occurrence of topological structures corresponding to activity in a source neural network. Target neural networks are relatively simple and are implemented on less expensive data processing systems, while the source neural network is relatively complex and can be implemented on more expensive data processing systems.

시스템 (2300)은 로컬 신경 네트워크들을 가진 다양한 디바이스들 (2305), 전화 기지국 (2310), 무선 액세스 포인트 (2315), 서버 시스템 (2320), 및 하나 이상의 데이터 통신 네트워크들 (2325)을 포함한다.The system 2300 includes various devices 2305 with local neural networks, a telephone base station 2310, a wireless access point 2315, a server system 2320, and one or more data communication networks 2325.

로컬 신경 네트워크 디바이스들 (2305)은 계산적으로-덜-집중적인 타겟 신경 네트워크들을 사용하여 데이터를 프로세싱하도록 구성된 디바이스들이다. 도시된 것처럼, 로컬 신경 네트워크 디바이스들 (2305)은 모바일 컴퓨팅 디바이스들, 카메라들, 자동차들, 또는 다수의 다른 기구, 설비, 및 모바일 컴포넌트들 중 어느 하나 그리고 각 카테고리 내 상이한 메이커 및 모델의 디바이스들로서 구현될 수 있다. 상이한 로컬 신경 네트워크 디바이스들 (2305)은 상이한 소유자들에게 속할 수 있다. 몇몇 구현들에서, 로컬 신경 네트워크 디바이스들 (2305)의 데이터 프로세싱 기능에 대한 액세스는 이 소유자들 및/또는 그 소유자가 지정한 것들로 일반적으로 한정될 것이다. Local neural network devices 2305 are devices configured to process data using computationally-less-intensive target neural networks. As shown, local neural network devices 2305 are mobile computing devices, cameras, automobiles, or any one of a number of other appliances, facilities, and mobile components, and devices of different make and models in each category. Can be implemented. Different local neural network devices 2305 may belong to different owners. In some implementations, access to the data processing function of local neural network devices 2305 will generally be limited to those owners and/or those designated by that owner.

로컬 신경 네트워크 디바이스들 (2305) 각각은, 상대적으로 더 복잡한 신경 네트워크의 패턴들 내에서 일어나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 트레이닝되는 하나 이상의 소스 근사기들을 포함한다. 예를 들면, 상기 상대적으로 더 복잡한 신경 네트워크는, 예를 들면, 생물학적 시스템 상에서 모델링되며 그리고 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크일 수 있다.Each of the local neural network devices 2305 includes one or more source approximators that are trained to output a vector that approximates a representation of topological structures occurring within patterns of a relatively more complex neural network. For example, the relatively more complex neural network can be, for example, a circulating source neural network, such as a circulatory neural network that is modeled on a biological system and contains degrees of morphological, chemical, and other properties of the biological system. have.

몇몇 구현들에서, 소스 근사기들을 사용하여 데이터를 프로세싱하는 것에 추가로, 로컬 신경 네트워크 디바이스들 (2305)은, 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들을 타겟 답변 벡터들로서 사용하여 상기 소스 근사화기들을 재-트레이닝시키기 위해 또한 프로그램될 수 있다. 예를 들면, 로컬 신경 네트워크 디바이스들 (2305)은 하나 이상의 반복 트레이닝 기술들 (예를 들면, 경사 하강법 (gradient descent) 또는 확률적 경사 하강법 (stochastic gradient descent))을 수행하기 위해 프로그램될 수 있다. 다른 구현들에서, 로컬 신경 네트워크 디바이스들 (2305) 내 소스 근사기들은, 예를 들면, 전용의 트레이닝 시스템에 의해 또는 소스 근사기들을 트레이닝시키기 위해 상기 로컬 신경 네트워크 디바이스들 (2305)과 상호작용할 수 있는 개인용 컴퓨터 상에 설치된 트레이닝 시스템에 의해 트레이닝될 수 있다.In some implementations, in addition to processing data using source approximators, local neural network devices 2305 can target representations of topological structures occurring in patterns of activity within a relatively more complex neural network. It can also be programmed to re-train the source approximators using as vectors. For example, local neural network devices 2305 can be programmed to perform one or more iterative training techniques (e.g., gradient descent or stochastic gradient descent). have. In other implementations, source approximators in local neural network devices 2305 can interact with the local neural network devices 2305 to train source approximators, for example, or by a dedicated training system. Can be trained by a training system installed on a personal computer.

각 로컬 신경 네트워크 디바이스 (2305)는 하나 이상의 무선이나 유선 데이터 통신 컴포넌트들을 포함한다. 상기 도시된 구현에서, 각 로컬 신경 네트워크 디바이스 (2305)는, 모바일 전화 트랜시버, 무선 트랜시버, 또는 둘 모두와 같은 적어도 하나의 무선 데이터 통신 컴포넌트들을 포함한다. 상기 모바일 전화 트랜시버들은 전화 기지국 (2310)과 데이터를 교환할 수 있다. 상기 무선 트랜시버들은 무선 액세스 포인트 (2315)와 데이터를 교환할 수 있다. 각 로컬 신경 네트워크 디바이스 (2305)는 피어 모바일 컴퓨팅 디바이스들과 또한 데이터를 교환할 수 있다. Each local neural network device 2305 includes one or more wireless or wired data communication components. In the illustrated implementation, each local neural network device 2305 includes at least one wireless data communication components, such as a mobile telephone transceiver, a wireless transceiver, or both. The mobile telephone transceivers can exchange data with the telephone base station 2310. The wireless transceivers may exchange data with the wireless access point 2315. Each local neural network device 2305 can also exchange data with peer mobile computing devices.

전화 기지국 (2310) 및 무선 액세스 포인트 (2315)는 하나 이상의 데이터 통신 네트워크들 (2325)와의 데이터 통신을 위해 연결되며 그리고 그 네트워크(들)를 통해 서버 시스템 (2320)과 정보를 교환할 수 있다. 그래서 로컬 신경 네트워크 디바이스들 (2305)은 보통은 서버 시스템 (2320)과 데이터 통신 상태에 또한 있을 수 있다. 그러나, 이것이 반드시 그런 것은 아니다. 예를 들면, 로컬 신경 네트워크 디바이스들 (2305)이 다른 데이터 프로세싱 디바이스들에 의해 트레이닝되는 구현들에서, 로컬 신경 네트워크 디바이스들 (2305)은 적어도 한 번 이 다른 데이터 프로세싱 디바이스들과 데이터 통신할 필요만이 있을 뿐이다. Telephone base station 2310 and wireless access point 2315 are connected for data communication with one or more data communication networks 2325 and can exchange information with server system 2320 through the network(s). So the local neural network devices 2305 may also be in data communication with the server system 2320 normally. However, this is not necessarily the case. For example, in implementations where local neural network devices 2305 are trained by other data processing devices, local neural network devices 2305 only need to communicate data with these other data processing devices at least once. There is only this.

서버 시스템 (2320)은 기계-판독가능 명령어들의 하나 이상의 세트들에 따라 데이터 프로세싱 활동들을 수행하기 위해 프로그램된 하나 이상의 데이터 프로세싱 디바이스들이 시스템이다. 그 활동들은 모바일 컴퓨팅 디바이스들 (2305)을 위해 트레이닝 세트들을 트레이닝 시스템들로 서빙하는 것을 포함할 수 있다. 위에서 설명되었듯이, 상기 트레이닝 시스템들은 모바일 로컬 신경 네트워크 디바이스들 (2305) 그 자체의 내부에 있을 수 있으며 또는 하나 이상의 다른 데이터 프로세싱 디바이스들 상에 있을 수 있다. 상기 트레이닝 세트들은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들 및 대응 데이터를 포함할 수 있다.Server system 2320 is a system of one or more data processing devices programmed to perform data processing activities according to one or more sets of machine-readable instructions. The activities may include serving training sets to training systems for mobile computing devices 2305. As described above, the training systems may be internal to mobile local neural network devices 2305 themselves, or may be on one or more other data processing devices. The training sets may include corresponding data and representations of the occurrence of topological structures corresponding to activity in the source neural network.

몇몇 구현들에서, 서버 시스템 (2320)은 소스 신경 네트워크를 또한 포함한다. 그러나, 이것이 반드시 그런 것은 아니며 서버 시스템 (2320)은 상기 소스 신경 네트워크를 구현한 데이터 프로세싱 디바이스(들)의 또 다른 시스템으로부터 트레이닝 세트들을 수신할 수 있다. In some implementations, server system 2320 also includes a source neural network. However, this is not necessarily the case and server system 2320 may receive training sets from another system of the data processing device(s) implementing the source neural network.

동작에 있어서, (서브 시스템 (2320) 그 자체에서 또는 다른 곳에서 발견된 소스 신경 네트워크로부터의) 트레이닝 세트를 서버 시스템 (2320)이 수신한 이후에, 서버 시스템 (2320)은 모바일 컴퓨팅 디바이스들 (2305)를 트레이닝시키는 트레이너들에게 상기 트레이닝 세트를 서빙할 수 있다. 타겟 로컬 신경 네트워크 디바이스들 (2305) 내 소스 근사기들은 상기 트레이닝 세트를 이용하여 트레이닝될 수 있으며, 그래서 상기 타겟 신경 네트워크들이 상기 소스 신경 네트워크의 동작들을 근사화하도록 한다.In operation, after the server system 2320 receives the training set (from the source neural network found on the sub system 2320 itself or elsewhere), the server system 2320 is 2305) can be served with the training set to trainers. Source approximators in target local neural network devices 2305 may be trained using the training set, so that the target neural networks approximate the operations of the source neural network.

도 24, 25, 26, 27은 네 개의 상이한 시스템들 (2400, 2500, 2600, 2700) 내 신경 네트워크에서의 활동에서 위상적인 구조들의 발생의 표현을 사용하는 것의 개략적 도시이다. 시스템들 (2400, 2500, 2600, 2700)은 여러 상이한 동작들 중 어느 하나를 수행하도록 구성될 수 있다. 예를 들면, 시스템들 (2400, 2500, 2600, 2700)은 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 물체 탐지 동작들, 예측 동작들, 행동 선택 동작들 등을 수행할 수 있다.24, 25, 26, 27 are schematic illustrations of using a representation of the occurrence of topological structures in activity in a neural network in four different systems 2400, 2500, 2600, 2700. Systems 2400, 2500, 2600, 2700 may be configured to perform any of several different operations. For example, the systems 2400, 2500, 2600, 2700 may perform object localization operations, object detection operations, object segmentation operations, object detection operations, prediction operations, behavior selection operations, etc. I can.

물체 로컬화 동작들은 이미지 내 물체의 위치를 정한다. 예를 들면, 물체 주위에 경계 박스가 구축될 수 있다. 몇몇 경우에, 물체 로컬화는 물체 인식과 결합될 수 있으며, 그 물체 인식에서 로컬화된 물체는 적절한 표시로 라벨이 부여된다.Object localization actions determine the position of an object in the image. For example, a bounding box can be built around an object. In some cases, object localization can be combined with object recognition, where objects localized in that object recognition are labeled with appropriate indications.

물체 탐지 동작들은 이미지 픽셀들을 특별한 클래스에 속하는가 (예를 들면, 관심 대상 물체에 속한다) 또는 속하지 않는가의 어느 하나로서 분류한다. 일반적으로, 물체 탐지는, 픽셀들을 그룹화하고 그 픽셀 그룹들 주위에 경계 박스들을 형성함으로써 수행된다. 그 경계 박스는 그 물체 주위에 빈틈없이 맞아야 한다.Object detection operations classify image pixels as either belonging to a particular class (eg, belonging to an object of interest) or not. In general, object detection is performed by grouping pixels and forming bounding boxes around the pixel groups. The bounding box should fit tightly around the object.

물체 세그먼트화는 보통은 클래스 라벨들을 각 이미지 픽셀에 할당한다. 그래서, 경계 박스가 아니라 물체 세그먼트화가 픽셀 단위를 기초로 진행하며 그리고 단일 라벨만이 각 픽셀에 할당될 것을 필요로 하는 것이 일반적이다.Object segmentation usually assigns class labels to each image pixel. So, it is common that object segmentation, not a bounding box, proceeds on a per-pixel basis, and only requires a single label to be assigned to each pixel.

예측 동작들은 관찰된 데이터의 범위 외부에 있는 결론들을 끌어오려고 한다. 비록 예측 동작들이 (예를 들면, 과거 및 현재 상태에 관한 정보에 기반하여) 미래에서의 발생들을 예측하려고 시도할 수 있지만, 예측 동작들은 그 상태들에 관한 불완전한 정보에 기반하여 과거 및 현재 상태에 관한 결론들을 또한 끌어오려고 한다. Predictive actions try to draw conclusions that are outside the range of the observed data. Although predictive actions may attempt to predict occurrences in the future (e.g., based on information about past and present states), predictive actions are based on incomplete information about those states. I also try to draw conclusions about it.

행동 선택 동작들은 컨디션들의 세트에 기반하여 행동을 선택하려고 한다. 행동 선택 동작들은 전통적으로 심볼-기반 시스템들 (전통적인 플래닝), 분산된 솔루션들, 및 반작용적이거나 동적인 플래닝 (planning)과 같은 상이한 접근 방식들로 분해된다.Action selection actions attempt to select an action based on a set of conditions. Behavior selection operations are traditionally decomposed into different approaches such as symbol-based systems (traditional planning), distributed solutions, and reactive or dynamic planning.

참조번호 2400, 2500의 분류 시스템들 각각은 신경 네트워크 내 활동의 패턴들의 표현들에 관한 소망된 동작을 수행한다. 참조번호 2600, 2700의 시스템들 각각은 신경 네트워크 내 활동의 패턴들의 표현들을 근사화한 것들에 관한 소망된 동작을 수행한다. 참조번호 2400, 2500의 시스템들에서, 표현된 활동의 패턴들은 참조번호 2400, 2500의 시스템들의 일부인 소스 신경 네트워크 디바이스 (1705) 내에서 발생하며 그리고 그 소스 신경 네트워크 디바이스로부터 읽혀진다. 대조적으로, 참조번호 2400, 2500의 시스템들에서, 근사화되어 표현된 활동의 패턴들은 참조번호 2400, 2500의 시스템들의 일부가 아닌 소스 신경 네트워크 디바이스 내에서 발생한다. 그럼에도 불구하고, 활동의 그 패턴들의 표현을 근사화한 것은 참조번호 2400, 2500의 시스템들의 일부인 근사기 (1905)로부터 읽혀진다.Each of the classification systems of reference numerals 2400 and 2500 performs a desired operation on expressions of patterns of activity in the neural network. Each of the systems of reference numerals 2600 and 2700 performs a desired operation on those approximating representations of patterns of activity in the neural network. In systems of reference numbers 2400 and 2500, the patterns of activity represented occur within and are read from the source neural network device 1705, which is part of the systems at reference numbers 2400 and 2500. In contrast, in systems of reference numerals 2400 and 2500, patterns of activity represented by approximations occur within the source neural network device that are not part of the systems of reference numerals 2400 and 2500. Nevertheless, an approximation of the representation of those patterns of activity is read from the approximator 1905, which is part of the systems of reference numbers 2400 and 2500.

추가의 상세 내용에서, 도 24로 돌아가면, 참조번호 2400의 시스템은 소스 신경 네트워크 (1705) 및 선형 프로세서 (2410)를 포함한다. 선형 프로세서 (2410)는 신경 네트워크 내 활동의 패턴들의 표현들의 특성들 (또는 그런 표현들을 근사화한 것들)의 선형 조합에 기반한 동작들을 수행하는 디바이스이다. 상기 동작들은, 예를 들면, 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 물체 탐지 동작들, 예측 동작들, 행동 선택 동작들 등일 수 있다. In further detail, turning to FIG. 24, the system at reference numeral 2400 includes a source neural network 1705 and a linear processor 2410. The linear processor 2410 is a device that performs operations based on a linear combination of properties (or approximations of such representations) of representations of patterns of activity in a neural network. The operations may be, for example, object localization operations, object detection operations, object segmentation operations, object detection operations, prediction operations, action selection operations, and the like.

선형 프로세서 (2410)는 입력단 (2420) 및 출력단 (2425)을 포함한다. 입력단 (2420)은 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 수신하기 위해 결합된다. 선형 프로세서 (2410)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 표현들은 별개의 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다. 출력단 (2525)은 선형 분류기 (2410)로부터의 분류 결과를 출력하기 위해 결합된다. 몇몇 구현들에서, 선형 프로세서 (2410)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다. 예를 들면, 선형 프로세서 (2410)는 개인용 컴퓨터 상에서 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다.The linear processor 2410 includes an input stage 2420 and an output stage 2425. The input 2420 is coupled to receive representations of patterns of activity in the source neural network 1705. Linear processor 2410 can receive representations of patterns of activity in source neural network 1705 in various ways. For example, representations of patterns of activity may be received as separate events or as a continuous stream over a real-time or non-real-time communication channel. The output stage 2525 is coupled to output the classification result from the linear classifier 2410. In some implementations, the linear processor 2410 can be implemented on one or more computing devices with relatively limited computational power. For example, the linear processor 2410 may be implemented on a personal computer or on a mobile computing device such as a smartphone or tablet.

도 24로 돌아가서, 참조번호 2400의 시스템은 소스 신경 네트워크 (1705) 및 선형 프로세서 (2410)를 포함한다. 선형 프로세서 (2410)는 신경 네트워크 내 활동의 패턴들의 표현들의 특성들 (또는 그런 표현들을 근사화한 것들)의 선형 조합에 기반한 동작들을 수행하는 디바이스이다. 상기 동작들은, 예를 들면, 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 예측 동작들, 행동 선택 동작들 등일 수 있다. Turning to FIG. 24, the system at reference numeral 2400 includes a source neural network 1705 and a linear processor 2410. The linear processor 2410 is a device that performs operations based on a linear combination of properties (or approximations of such representations) of representations of patterns of activity in a neural network. The operations may be, for example, object localization operations, object detection operations, object segmentation operations, prediction operations, behavior selection operations, and the like.

선형 프로세서 (2410)는 입력단 (2420) 및 출력단 (2425)을 포함한다. 입력단 (2420)은 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 수신하기 위해 결합된다. 선형 프로세서 (2410)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 표현들은 별개의 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다. 출력단 (2525)은 선형 분류기 (2410)로부터의 분류 결과를 출력하기 위해 결합된다. 몇몇 구현들에서, 선형 프로세서 (2410)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다. 예를 들면, 선형 프로세서 (2410)는 개인용 컴퓨터 상에서 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다.The linear processor 2410 includes an input stage 2420 and an output stage 2425. The input 2420 is coupled to receive representations of patterns of activity in the source neural network 1705. Linear processor 2410 can receive representations of patterns of activity in source neural network 1705 in various ways. For example, representations of patterns of activity may be received as separate events or as a continuous stream over a real-time or non-real-time communication channel. The output stage 2525 is coupled to output the classification result from the linear classifier 2410. In some implementations, the linear processor 2410 can be implemented on one or more computing devices with relatively limited computational power. For example, the linear processor 2410 may be implemented on a personal computer or on a mobile computing device such as a smartphone or tablet.

도 25에서, 분류 시스템 (2500)은 소스 신경 네트워크 (1705) 및 신경 네트워크 (2510)를 포함한다. 신경 네트워크 (2510)는, 신경 네트워크 내 활동의 패턴들의 표현들의 특성들 (또는 그런 표현들을 근사화한 것들)의 선형 조합에 기반한 동작들을 수행하도록 구성된 신경 네트워크 디바이스이다. 상기 동작들은, 예를 들면, 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 예측 동작들, 행동 선택 동작들 등일 수 있다. 상기 도시된 구현에서, 신경 네트워크 (2510)는 입력 레이어 (2520) 및 출력 레이어 (2525)를 포함하는 피드포워드 (feedforward) 네트워크이다. 참조번호 2410의 선형 프로세서처럼, 신경 네트워크 (2510)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식으로 수신할 수 있다.In FIG. 25, the classification system 2500 includes a source neural network 1705 and a neural network 2510. Neural network 2510 is a neural network device configured to perform operations based on a linear combination of characteristics (or approximations of such expressions) of representations of patterns of activity within the neural network. The operations may be, for example, object localization operations, object detection operations, object segmentation operations, prediction operations, behavior selection operations, and the like. In the illustrated implementation, the neural network 2510 is a feedforward network comprising an input layer 2520 and an output layer 2525. Like the linear processor of reference numeral 2410, neural network 2510 can receive representations of patterns of activity in source neural network 1705 in various ways.

몇몇 구현들에서, 신경 네트워크 (2510)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 추론들을 수행할 수 있다. 예를 들면, 신경 네트워크 (2510)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스와 같은 신경 프로세싱 유닛 내 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다. 참조번호 2400의 시스템과 유사하게, 참조번호 2500의 시스템은 일반적으로, 원격 신경 네트워크 (2510)가, 예를 들면, 데이터 통신 네트워크를 경유하여 소스 신경 네트워크 (1705)와 통신하는 분산 시스템일 것이다. 몇몇 구현들에서, 신경 네트워크 (2500)는, 예를 들면, 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크일 수 있다.In some implementations, neural network 2510 can perform inferences on one or more computing devices with relatively limited computational power. For example, neural network 2510 may be implemented on a mobile computing device in a neural processing unit such as a personal computer or a mobile computing device such as a smartphone or tablet. Similar to the system at 2400, the system at 2500 will generally be a distributed system in which the remote neural network 2510 communicates with the source neural network 1705, for example via a data communication network. In some implementations, neural network 2500 can be a deep neural network, such as, for example, a convolutional neural network.

도 26에서, 참조번호 2600의 시스템은 소스 근사기 (1905) 및 선형 프로세서 (2410)를 포함한다. 근사 (1200') 및 표현 (1200) 사이의 차이점들에도 불구하고, 프로세서 (2410)는 근사 (1200')에 관한 동작들을 여전히 수행할 수 있다.In Fig. 26, the system at 2600 includes a source approximator 1905 and a linear processor 2410. Despite the differences between the approximation 1200 ′ and the representation 1200, the processor 2410 may still perform operations on the approximation 1200 ′.

도 27에서, 참조번호 2700의 시스템은 소스 근사기 (1905) 및 신경 네트워크 (2510)를 포함한다. 근사 (1200') 및 표현 (1200) 사이의 차이점들에도 불구하고, 신경 네트워크 (2510)는 근사 (1200')에 관한 동작들을 여전히 수행할 수 있다.In FIG. 27, the system at 2700 includes a source approximator 1905 and a neural network 2510. Despite the differences between the approximation 1200 ′ and the representation 1200, the neural network 2510 can still perform operations on the approximation 1200 ′.

몇몇 구현들에서, 참조번호 2600, 2700의 시스템들은, 예를 들면, 참조번호 2100, 2200 (도 21, 22)의 에지 디바이스들과 같은 에지 디바이스 상에서 구현될 수 있다. 몇몇 구현들에서, 참조번호 2600, 2700의 시스템들은, 참조번호 2300의 시스템 (도 23)과 같은 소스 신경 네트워크 내 활동에 대응하는 위상적 구조들의 발생의 표현들을 사용하여 로컬 신경 네트워크들이 트레이닝될 수 있는 시스템의 일부로서 구현될 수 있다. In some implementations, systems 2600 and 2700 may be implemented on an edge device, such as, for example, edge devices 2100 and 2200 (FIGS. 21 and 22 ). In some implementations, systems 2600, 2700 can be trained using representations of the occurrence of topological structures corresponding to activity in the source neural network, such as system 2300 (FIG. 23 ). It can be implemented as part of an existing system.

도 28은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 트레이닝될 수 있는 인공 신경 네트워크들을 포함하는 시스템의 개략적인 도시이다. 강화형 학습 (reinforcement learning)은, 인공 신경 네트워크의 결정들에 응답하여 취해진 행동들의 결과들에 관한 피드백으로부터 인공 신경 네트워크가 학습하는 유형의 기계 학습이다. 강화형 학습 시스템은 상기 환경 내 한 상태로부터 다른 상태로 이동한다. 강화형 학습 시스템은 환경 내 한 상태로부터 다른 상태로, 행동들을 수행하고 그 새로운 상태를 특성화하는 정보 그리고 그 행동의 성공 (또는 성공 없음)을 특성화하는 보상 및/또는 후회를 수신함으로써, 이동한다. 강화형 학습은 학습 프로세스를 통해 전체 보상을 최대화 (또는 후회를 최소화)하려고 시도한다.28 is a schematic illustration of a system comprising artificial neural networks that can be trained using representations of the occurrence of topological structures corresponding to activity in a source neural network. Reinforcement learning is a type of machine learning in which artificial neural networks learn from feedback about the results of actions taken in response to decisions of the artificial neural network. The reinforcement learning system moves from one state in the environment to another. The reinforcement learning system moves from one state in the environment to another, by performing actions and receiving information that characterizes that new state, and rewards and/or regrets that characterize the success (or no success) of that action. Reinforcement learning attempts to maximize the overall reward (or minimize regret) through the learning process.

상기 도시된 구현에서, 강화형 학습 시스템 (2800) 내 인공 신경 네트워크는, 강화형 학습 접근 방식을 사용하는 딥 신경 네트워크 (2805) (또는 다른 딥 러닝 구조)이다. 몇몇 구현들에서, 딥 신경 네트워크 (2805)는 (신경 네트워크 (2510) (도 25, 27)와 같은) 로컬 인공 신경 네트워크일 수 있으며, 그리고, 예를 들면, 자동차, 비행기, 로봇, 또는 다른 디바이스 상에서 로컬로 구현될 수 있다. 그러나, 이는 반드시 그런 것은 아니며 다른 구현들에서 딥 신경 네트워크 (2805)는 네트워크 구성된 디바이스들의 시스템 상에서 구현될 수 있다.In the illustrated implementation, the artificial neural network in the reinforcement learning system 2800 is a deep neural network 2805 (or other deep learning structure) using a reinforcement learning approach. In some implementations, deep neural network 2805 may be a local artificial neural network (such as neural network 2510 (FIGS. 25, 27 )), and, for example, a car, airplane, robot, or other device. It can be implemented locally on the. However, this is not necessarily the case and in other implementations the deep neural network 2805 may be implemented on a system of networked devices.

소스 근사기 (1905) 및 딥 신경 네트워크 (2805)에 추가로, 강화형 학습 시스템 (2800)은 액추에이터 (2810), 하나 이상의 센서들 (2815) 및 교사 (teacher) 모듈 (2820)을 포함한다. 몇몇 구현들에서, 강화형 학습 시스템 (2800)은 추가 데이터의 하나 이상의 소스들 (2825)을 또한 포함한다.In addition to the source approximator 1905 and the deep neural network 2805, the reinforcement learning system 2800 includes an actuator 2810, one or more sensors 2815 and a teacher module 2820. In some implementations, the reinforcement learning system 2800 also includes one or more sources 2825 of additional data.

액추에이터 (2810)는 환경 (2830)과 상호작용하는 메커니즘이나 시스템을 제어하는 디바이스이다. 몇몇 구현들에서, 액추에이터 (2810)는 물리적인 메커니즘이나 시스템 (예를 들면, 자동차의 스티어링 또는 로봇의 포지셔닝)을 제어한다. 다른 구현들에서, 액추에이터 (2810)는 가상 메커니즘이나 시스템 (예를 들면, 가상 게임 보드 또는 투자 포트폴리오)을 제어할 수 있다. 그래서, 참조번호 2830의 환경은 또한 물리적이거나 가상일 수 있다. Actuator 2810 is a device that controls a mechanism or system that interacts with environment 2830. In some implementations, the actuator 2810 controls a physical mechanism or system (eg, steering of a vehicle or positioning of a robot). In other implementations, the actuator 2810 can control a virtual mechanism or system (eg, a virtual game board or investment portfolio). Thus, the environment at 2830 may also be physical or virtual.

센서(들) (2815)은 상기 환경 (2830)의 특성들을 측정하는 디바이스들이다. 상기 측정들 중 적어도 몇몇은 제어받는 메커니즘이나 시스템 그리고 상기 환경 (2830)의 다른 모습들 사이의 상호작용들을 특성화한다. 액추에이터 (2810)가 자동차를 조종할 때에, 센서(들) (2815)은 자동차의 속도, 방향, 및 가속도 중 하나 이상, 다른 특징들에 대한 자동차의 근접성, 그리고 자동차에 대한 다른 특징들의 응답을 측정할 수 있다. 다른 예로서, 액추에이터 (2810)가 투자 포트폴리오를 제어할 때에, 센서(들) (2815)은 그 포트폴리오와 연관된 가치 및 위험을 측정할 수 있다.Sensor(s) 2815 are devices that measure characteristics of the environment 2830. At least some of the measurements characterize the interactions between a controlled mechanism or system and other aspects of the environment 2830. As the actuator 2810 steers the vehicle, the sensor(s) 2815 measures the vehicle's proximity to one or more of the vehicle's speed, direction, and acceleration, the vehicle's proximity to other features, and the response of other features to the vehicle. can do. As another example, when actuator 2810 controls an investment portfolio, sensor(s) 2815 may measure the value and risk associated with the portfolio.

일반적으로, 소스 근사기 (1905) 및 교사 모듈 (2820) 둘 모두는 센서(들) (2815)에 의해 행해진 측정치들 중 적어도 일부를 수신하기 위해 결합된다. 예를 들면, 소스 근사기 (1905)는 입력 레이어 (1915)에서 측정 데이터를 수신할 수 있으며, 소스 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현의 근사 (1200')를 출력할 수 있다.In general, both the source approximator 1905 and the teacher module 2820 are combined to receive at least some of the measurements made by the sensor(s) 2815. For example, the source approximator 1905 may receive measurement data from the input layer 1915 and output an approximation 1200' of the representation of topological structures occurring in patterns of activity in the source neural network. have.

교사 모듈 (2820)은 센서(들) (2815)로부터 수신된 측정들을 해석하고 딥 신경 네트워크 (2805)에게 보상 및/또는 후회를 제공한다. 보상은 양이며 상기 메커니즘이나 시스템에 대한 성공적인 제어를 표시한다. 후회는 음이며 성공하지 못하거나 최적 제어 미만을 표시한다. 일반적으로, 교사 모듈 (2820)은 강화형 학습을 위해 상기 보상/후회와 함께 상기 측정들의 특성화를 또한 제공한다. 일반적으로, 상기 측정들의 상기 특성화는 소스 신경 네트워크 내 활동의 패턴들 내에서 일어나는 위상적인 구조들의 표현의 (참조번호 1200'의 근사와 같은) 근사이다. 예를 들면, 교사 모듈 (2820)은 소스 근사기 (1905)로부터 출력된 근사들 (1200')을 읽고 그 읽은 근사 (1200')를 대응하는 보상/후회 값들과 쌍을 이루게 할 수 있다. Teacher module 2820 interprets measurements received from sensor(s) 2815 and provides reward and/or regret to deep neural network 2805. The reward is positive and indicates successful control over the mechanism or system. Regret is negative and indicates unsuccessful or less than optimal control. In general, teacher module 2820 also provides characterization of the measures along with the reward/regret for reinforcement learning. In general, the characterization of the measurements is an approximation (such as an approximation of 1200') of the representation of topological structures occurring within patterns of activity in the source neural network. For example, the teacher module 2820 may read the approximations 1200' output from the source approximator 1905 and pair the read approximations 1200' with corresponding reward/regret values.

많은 구현들에서, 강화형 학습은 실시간으로 또는 딥 신경 네트워크 (2805)에 의한 액추에이터 (2810)에 대한 능동 제어 동안에 참조번호 2800의 시스템에서 발생하지 않는다. 오히려, 트레이닝 피드백이 교사 모듈 (2820)에 의해 수집되며 그리고 딥 신경 네트워크 (2805)가 능동적으로 액추에이터 (2810)에 명령을 내리지 않고 있을 때에 강화형 트레이닝을 위해 사용될 수 있다. 예를 들면, 몇몇 구현들에서, 교사 모듈 (2820)은 딥 신경 네트워크 (2805)로부터 원격에 있을 수 있으며 딥 신경 네트워크 (2805)와는 간헐적인 데이터 통신 상태에 있을 수 있다. 강화형 학습이 간헐적이건 또는 연속적이건에 무관하게, 딥 신경 네트워크 (2805)는 교사 모듈 (2820)로부터 수신된 정보를 사용하여 보상을 최적화하며 그리고/또는 후회를 줄이기 위해 발전될 수 있다. In many implementations, reinforcement learning does not occur in the system at 2800 in real time or during active control of the actuator 2810 by the deep neural network 2805. Rather, training feedback is collected by the teacher module 2820 and can be used for reinforced training when the deep neural network 2805 is not actively commanding the actuator 2810. For example, in some implementations, the teacher module 2820 may be remote from the deep neural network 2805 and may be in intermittent data communication with the deep neural network 2805. Regardless of whether reinforcement learning is intermittent or continuous, the deep neural network 2805 can be developed to optimize rewards and/or reduce regret using the information received from the teacher module 2820.

몇몇 구현들에서, 시스템 (2800)은 추가 데이터의 하나 이상의 소스들 (2825)을 또한 포함한다. 소스 근사기 (1905)는 입력 레이어 (1915)에서 데이터 소스들 (2825)로부터 데이터를 또한 수신할 수 있다. 이런 사례들에서, 근사 (1200')는 센서 데이터 및 데이터 소스들 (2825)로부터의 데이터 둘 모두를 프로세싱한 것으로부터의 결과일 것이다.In some implementations, system 2800 also includes one or more sources 2825 of additional data. Source approximator 1905 may also receive data from data sources 2825 at input layer 1915. In these instances, the approximation 1200 ′ will be the result from processing both sensor data and data from data sources 2825.

몇몇 구현들에서, 하나의 강화형 학습 시스템 (2800)에 의해 수집된 데이터는, 다른 강화형 학습 시스템들을 포함하는 다른 시스템들의 트레이낭 또는 강화형 학습을 위해 사용될 수 있다. 예를 들면, 상기 보상/후회 값들과 함께 상기 측정들을 특성화한 것은, 다양한 강화형 학습 시스템들로부터 그런 데이터를 수집하고 그 데이터를 그 강화형 학습 시스템들 사이에 재분배하는 데이터 교환 시스템으로 상기 교사 모듈 (2820)에 의해 제공될 수 있다. 또한, 위에서 설명된 것처럼, 상기 측정들을 특성화한 것은, 참조번호 1200'의 근사처럼, 소스 신경 네트워크 내 활동의 패턴들 내에서 일어나는 위상적인 구조들의 표현의 근사일 수 있다. In some implementations, the data collected by one reinforcement learning system 2800 can be used for reinforcement learning or trayang of other systems, including other reinforcement learning systems. For example, characterizing the measurements along with the reward/regret values is a data exchange system that collects such data from various reinforcement learning systems and redistributes the data among the reinforcement learning systems, which is the teacher module. May be provided by (2820). Further, as described above, characterizing the measurements may be an approximation of the representation of topological structures occurring within patterns of activity in the source neural network, such as an approximation of 1200'.

강화형 학습 시스템 (2800)에 의해 수행된 상기 특별한 동작들은 물론 그 특별한 동작 환경에 종속할 것이다. 예를 들면, 소스 근사기 (1905), 딥 신경 네트워크 (2805), 액추에이터 (2810), 및 센서들 (2815)이 자동차의 일부인 환경들에서, 딥 신경 네트워크 (2805)는 그 자동차를 조정하면서 물체 로컬화 및/또는 탐지 동작들을 수행할 수 있다.The special operations performed by the reinforcement learning system 2800 will, of course, depend on that particular operating environment. For example, in environments where source approximator 1905, deep neural network 2805, actuator 2810, and sensors 2815 are part of a vehicle, deep neural network 2805 can adjust the vehicle Localization and/or detection operations may be performed.

강화형 학습 시스템 (2800)에 의해 수집된 데이터가 다른 시스템들의 트레이닝이나 강화형 학습을 위해 사용되는 구현들에서, 보상/후회 값들 그리고 물체 로컬화 및/또는 탐지 동작들이 수행되었을 때에 상기 환경의 상태를 특성화하는 근사들 (1200')이 상기 데이터 교환 시스템으로 제공될 수 있다. 상기 데이터 교환 시스템은 그러면 그 보상/후회 값들 및 근사들 (1200')을 다른 차량들과 연관된 다른 강화형 학습 시스템들 (2800)에게로, 그 다른 차량들에서의 강화 학습을 위해 분배할 수 있다. 예를 들면, 강화형 학습은, 상기 보상/후회 값들 및 근사들 (1200')을 사용하여 제2 차량에서 물체 로컬화 및/또는 탐지 동작들을 개선하기 위해 사용될 수 있다. In implementations where the data collected by the reinforcement learning system 2800 is used for training or reinforcement learning of other systems, reward/regret values and the state of the environment when object localization and/or detection operations are performed. Approximations 1200 ′ that characterize can be provided to the data exchange system. The data exchange system can then distribute its reward/regret values and approximations 1200' to other reinforcement learning systems 2800 associated with other vehicles, for reinforcement learning in those other vehicles. . For example, reinforced learning can be used to improve object localization and/or detection operations in a second vehicle using the compensation/regret values and approximations 1200'.

그러나, 다른 차량들에서 학습된 동작들은 딥 신경 네트워크 (2805)에 의해 수행된 동작들과 일치할 필요는 없다. 예를 들면, 이동 시간에 기반한 보상/후회 값들 그리고 예를 들면 GPS 데이터 소스 (2825)에 의해 식별된 위치에서의 예상치 못한 젖은 도로를 특성화하는 센서 데이터의 입력으로부터의 결과인 근사들 (1200')은 다른 차량에서의 경로 플래닝 (route planning)을 위해 사용될 수 있다.However, the operations learned in other vehicles need not match the operations performed by the deep neural network 2805. For example, compensation/regret values based on travel time and approximations 1200' resulting from input of sensor data characterizing an unexpected wet road at a location identified, for example by GPS data source 2825. Can be used for route planning in other vehicles.

본 명세서에서 설명된 특허 대상들 및 동작들의 실시예들은 디지털 전자 회로로, 또는 컴퓨터 소프트웨어, 펌웨어니 본 명세서에서 개시된 구조들 및 그 구조들의 등가물들을 포함하는 하드웨어로, 또는 그것들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에서 설명된 특허 대상의 실시예들은 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에서 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안으로 또는 추가로, 상기 프로그램 명령어들은, 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 전송을 위해 정보를 인코딩하기 위해 생성된, 인위적으로 생성된 전파된 신호, 예를 들면, 기계-생성 전기적, 광학적, 또는 전자기장 신호 상에서 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터-판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 어레이나 디바이스 , 또는 그것들 중 하나 이상의 조합이거나 그 내부에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체가 전파된 신호가 아니면, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호 내에서 인코딩된 컴퓨터 프로그램 명령어들의 소스나 목적지일 수 있다. 상기 컴퓨터 저장 매체는 또한 하나 이상의 분리된 물리적 컴포넌트들이나 매체 (예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 그 내부에 포함될 수 있다. Embodiments of the subject matters and operations described herein are digital electronic circuits, or computer software, firmware, hardware including structures disclosed herein and equivalents of the structures, or combinations of one or more of them. Can be implemented. The patented embodiments described herein include one or more computer programs encoded on a computer storage medium, i.e., one or more modules of computer program instructions for execution by a data processing device or for controlling the operation of a data processing device. Can be implemented as Alternatively or additionally, the program instructions may be artificially generated propagated signals, e.g., machine-generated, generated to encode information for transmission to a suitable receiver device for execution by the data processing device. It can be encoded on electrical, optical, or electromagnetic field signals. The computer storage medium may be a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them, or included therein. Moreover, if the computer storage medium is not a propagated signal, the computer storage medium may be a source or destination of computer program instructions encoded within an artificially generated propagated signal. The computer storage medium may also be or be contained within one or more separate physical components or media (eg, multiple CDs, disks, or other storage devices).

본 명세서에서 설명된 동작들은, 하나 이상의 컴퓨터-판독가능 저장 디바이스들 상에 저장되거나 다른 소스들로부터 수신된 데이터에 관하여 데이터 프로세싱 장치에 의해 수행된 동작들로서 구현될 수 있다. The operations described herein may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

"데이터 프로세싱 장치"의 용어는 모든 유형의 장치, 디바이스들, 및 머신들을 포함하며, 예로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것들 중 다수의 것들이나 조합들을 포함한다. 상기 장치는 특별 목적 로직 회로, 예를 들면, FPGA (field programmable gate array) 또는 ASIC (application specific integrated circuit)을 포함할 수 있다. 상기 장치는 하드웨어에 추가로 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 크로스-플랫폼 런타임 환경, 가상 머신, 또는 그것들 중 하나 이상의 조합들을 또한 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 하부구조와 같은 다양한 상이한 컴퓨팅 모델 하부구조를 실현할 수 있다The term “data processing apparatus” includes all types of apparatus, devices, and machines, and includes, for example, a programmable processor, computer, system on a chip, or many or combinations of the foregoing. The device may include a special purpose logic circuit, for example, a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). In addition to hardware, the device may include code that creates an execution environment for the computer program in question, for example, processor firmware, protocol stack, database management system, operating system, cross-platform runtime environment, virtual machine, or one or more of them. Combinations may also be included. The device and execution environment can realize a variety of different computing model infrastructures such as web services, distributed computing, and grid computing infrastructure.

컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로도 알려짐)은 컴파일되거나 인터프리트된 언어, 선언형 또는 절차형 언어를 포함하는 임의 모습의 프로그래밍 언어로 쓰여질 수 있으며, 그리고 컴퓨터 프로그램은 단독 프로그램으로 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서의 사용을 위해 적합한 다른 유닛을 포함하는 임의 모습으로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내 파일에 대응할 수 있지만, 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램이나 데이터 (예를 들면, 마크업 언어 문헌 (markup language document) 내에 저장된 하나 이상의 스크립트들)를 보유한 파일의 일부 내에, 문제의 프로그램에 전용인 단일 파일 내에, 또는 다수의 통합된 파일들 (예를 들면, 하나 이상의 모듈들, 서브 프그램들, 또는 코드의 일부를 저장하는 파일들) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 한 사이트에 위치하거나 다수의 사이트들에 분산되어 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들 상에서 실행되기 위해 배치될 수 있다.Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any form of programming language, including compiled or interpreted language, declarative or procedural language, and It may be arranged as a program or in any shape, including modules, components, subroutines, objects, or other units suitable for use in a computing environment. Computer programs can respond to files in the file system, but they don't have to. A program may be in a portion of a file that holds another program or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or a number of consolidated files. Files (eg, one or more modules, subprograms, or files that store portions of code). The computer program may be arranged to run on one computer or on a number of computers located at one site or distributed across multiple sites and interconnected by a communication network.

본 명세서에서 설명된 상기 프로세스들 및 로직 흐름들은, 입력 데이터를 작동시키고 출력을 생성함으로써 행동들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 상기 프로세스들 및 로직 흐름들은 특수 목적 로직 회로, 예를 들면, FPGA (field programmable gate array) 또는 ASIC (application specific integrated circuit)에 의해 또한 수행될 수 있으며, 그리고 장치는 상기 특수 목적 로직 회로로서 또한 구현될 수 있다.The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform actions by operating input data and generating output. The processes and logic flows can also be performed by a special purpose logic circuit, for example a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), and the device is also implemented as the special purpose logic circuit. Can be.

컴퓨터 프로그램 실행을 위해 적합한 프로세서들은, 예로서, 범용 마이크로프로세서 및 특수 목적 마이크로프로세서 둘 모두, 그리고 임의 유형의 디지털 컴퓨터의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 본질적인 요소들은 명령어들에 따른 행동들을 수행하기 위한 프로세서 그리고 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들면, 자기 디스크, 자기 광학 디스크, 광학 디스크를 또한 포함하거나, 또는 데이터를 수신하고 데이터를 전달하기 위해 하나 이상의 대용량 저장 디바이스들과 작동적으로 결합될 것이다. 그러나, 컴퓨터는 그런 디바이스들을 구비할 필요는 없다. 더욱이, 컴퓨터는 다른 디바이스 내에, 예를 들어, 몇 가지만 언급하면, 모바일 전화기, 개인용 디지털 어시스턴트 (PDA), 모바일 오디오나 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템 (GPS) 수신기, 또는 휴대용 저장 디바이스 (예를 들면, 유니버셜 시리얼 버스 (USB) 플래시 드라이브) 내에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은, 예로서 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크, 예를 들면, 내부 하드 디스크들이나 탈착가능 디스크; 자기 광학 디스크; 및 CD ROM과 DVD-ROM 디스크들을 포함하는 비 휘발성 메모리, 매체 및 메모리 디바이스들의 모든 모습들을 포함한다. 상기 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보충될 수 있으며, 또는 그 특수 목적 로직 회로 내에 통합될 수 있다.Processors suitable for executing a computer program include, by way of example, both general purpose microprocessors and special purpose microprocessors, and one or more processors of any type of digital computer. In general, the processor will receive instructions and data from read-only memory or random access memory or both. Essential elements of a computer are a processor for performing actions according to instructions and one or more memory devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, e.g., a magnetic disk, a magnetic optical disk, an optical disk, or one or more mass storage devices for receiving and transferring data. Will be operatively combined with the field. However, the computer need not be equipped with such devices. Moreover, the computer can be used in other devices, for example, mobile phones, personal digital assistants (PDAs), mobile audio or video players, game consoles, global positioning system (GPS) receivers, or portable storage devices (e.g. For example, it can be embedded within a Universal Serial Bus (USB) flash drive). Devices suitable for storing computer program instructions and data include, for example, semiconductor memory devices, such as EPROM, EEPROM and flash memory devices; Magnetic disks such as internal hard disks or removable disks; Magneto-optical disk; And all aspects of non-volatile memory, media and memory devices including CD ROM and DVD-ROM disks. The processor and memory may be supplemented by special purpose logic circuitry, or may be incorporated within the special purpose logic circuitry.

사용자와의 상호작용 (interaction)을 제공하기 위해, 본 명세서에서 설명된 특허 대상의 실시예들은 컴퓨터 상에서 구현될 수 있으며, 그 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들면, CRT (cathode ray tube) 또는 LCD (liquid crystal display) 모니터 그리고 사용자가 상기 컴퓨터에게 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들면, 마우스나 트랙볼을 구비한다. 다른 유형의 디바이스들이 사용자와의 상호작용을 제공하기 위해 마찬가지로 사용될 수 있다; 예를 들면, 사용자에게 제공된 피드백은 감각적 피드백, 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적인 피드백 중의 임의 모습일 수 있다; 그리고 사용자로부터의 입력은 청각적인, 음성의, 또는 촉각적인 입력을 포함하는 임의 모습으로 수신될 수 있다. 추가로, 예를 들면, 사용자의 클라이언트 디바이스 상의 웹 브라우저로부터 수신된 요청들에 응하여 웹 페이지들을 상기 웹 브라우저로 송신함으로써, 컴퓨터는 사용자가 사용하는 디바이스로 문서들을 송신하고 상기 디바이스로부터 문서들을 수신함으로써 그 사용자와 상호작용할 수 있다.In order to provide an interaction with a user, the patented embodiments described herein can be implemented on a computer, which computer is a display device for displaying information to a user, e.g. CRT ( cathode ray tube) or liquid crystal display (LCD) monitor, and a keyboard and pointing device, for example a mouse or a trackball, that allow a user to provide input to the computer. Other types of devices can likewise be used to provide interaction with the user; For example, the feedback provided to the user may be sensory feedback, eg, visual feedback, auditory feedback, or any of the tactile feedback; In addition, the input from the user may be received in an arbitrary form including an audible, voice, or tactile input. In addition, for example, by sending web pages to the web browser in response to requests received from the web browser on the user's client device, the computer transmits documents to the device used by the user and receives documents from the device. You can interact with that user.

본 명세서가 많은 특정 구현 상세 내용들을 포함하지만, 이것들은 발명의 범위 또는 청구될 수 있는 범위에 관한 한계들로서 해석되지 않아야 하며, 오히려 특별한 발명의 특별한 실시예들에 특정적인 특징들에 대한 설명들로서 해석되어야 한다. 분리된 실시예들의 환경에서 본 명세서 내에 설명된 어떤 특징들은 단일의 실시예 내에서 조합하여 또한 구현될 수 있다. 역으로, 단일의 실시예의 환경에서 설명된 다양한 특징들은 다수의 실시예들에서 분리하여 또는 어떤 적합한 서브조합으로 또한 구현될 수 있다. 더욱이, 특징들이 어떤 조합들에서 행동하는 것으로 위에서 설명되며 심지어는 초기에 그렇게 선언될 수 있지만, 선언된 조합으로부터의 하나 이상의 특징들은 몇몇 경우에는 그 조합으로부터 삭제될 수 있으며, 그리고 상기 선언된 조합은 서브조합 또는 서브조합의 변이에 관한 것일 수 있다.While this specification contains many specific implementation details, these should not be construed as limitations on the scope or claims of the invention, but rather as descriptions of features specific to particular embodiments of the particular invention. do. Certain features described in this specification in the context of separate embodiments may also be implemented in combination within a single embodiment. Conversely, the various features described in the context of a single embodiment may also be implemented separately in multiple embodiments or in any suitable subcombination. Moreover, although features are described above as acting in certain combinations and may even be declared so initially, one or more features from a declared combination may in some cases be deleted from the combination, and the declared combination It may be about subcombinations or mutations in subcombinations.

유사하게, 동작들이 도면들에서 특별한 순서로 도시되지만, 이것은 그런 동작들이 소망될 결과들을 달성하기 위해 도시된 특별한 순서로 또는 순차적으로 수행되거나 또는 모든 도시된 동작들이 수행되어야 하는 것으로 해석되지 않아야 한다. 특정 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 위에서 설명된 실시예들에서 다양한 컴포넌트들의 분리는 모든 실시예들에서 그런 분리가 필요한 것으로 해석되지 않아야 하며, 그리고 상기 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다. Similarly, although the operations are shown in a particular order in the figures, this should not be construed as that such operations are performed in the particular order or sequentially shown to achieve the desired results, or that all illustrated operations must be performed. In certain environments, multitasking and parallel processing can be advantageous. Moreover, separation of the various components in the embodiments described above should not be interpreted as requiring such separation in all embodiments, and the program components and systems described above are generally integrated together within a single software product or It should be understood that it can be packaged as software products.

그래서, 본 특허 대상의 특별한 구현들이 설명되었다. 다른 구현들은 이어지는 청구항들의 범위 내에 존재한다. 몇몇 경우에, 청구항들에서 상술된 행동들은 상이한 순서로 수행될 수 있으며 여전히 소망된 결과들을 달성할 수 있다. 추가로, 동반 도면들에서 도시된 프로세스들은 소망된 결과들을 달성하기 위해 도시된 그 특별한 순서나 순차적인 것을 반드시 필요로 하는 것은 아니다. 특정 실시예들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.So, special implementations of the subject of this patent have been described. Other implementations are within the scope of the claims that follow. In some cases, the actions described above in the claims may be performed in a different order and still achieve the desired results. In addition, the processes shown in the accompanying figures do not necessarily require that particular order or sequence shown to achieve the desired results. In certain embodiments, multitasking and parallel processing may be advantageous.

여러 실시예들이 설명되었다. 그럼에도 불구하고, 다양한 수정들이 만들어질 수 있다는 것이 이해될 것이다. 예를 들면, 참조번호 1200의 표현이 이진수 표현이며, 그 이진수 표현에서 각 비트는 개별적으로 그래프 내 특징의 존재 또는 부재를 표현함에도 불구하고, 정보의 다른 표현들이 가능하다. 예를 들면, 벡터 또는 다중-값인, 비-이진 자릿수들의 행렬이, 예를 들면, 특징들의 존재 또는 부재 그리고 아마도 그 특징들의 다른 특성들을 표현하기 위해 사용될 수 있다. 그런 특성의 예는 상기 특징들을 구성하는 활동을 구비한 에지들의 가중치이다.Several embodiments have been described. Nevertheless, it will be understood that various modifications can be made. For example, although the expression of reference numeral 1200 is a binary representation, and each bit in the binary representation individually expresses the presence or absence of a feature in the graph, other representations of information are possible. For example, a matrix of non-binary digits, which is a vector or multi-valued, can be used, for example, to represent the presence or absence of features and possibly other properties of those features. An example of such a characteristic is the weight of the edges with activities that make up the characteristic.

따라서, 다른 실시예들은 이어지는 청구항들의 범위 내에 존재한다.Accordingly, other embodiments are within the scope of the claims that follow.

Claims (20)

순환 인공 신경 네트워크로부터 자릿수 (digit)들을 출력하는 단계를 포함하는 방법으로,
각 자릿수는 상기 순환 인공 신경 네트워크 내 노드들의 특별한 그룹 내의 활동이, 활동의 각자 패턴에 적합한지 아닌지의 여부를 표현하는, 방법.
A method comprising the step of outputting digits from a recurrent artificial neural network,
Each digit represents whether or not an activity within a particular group of nodes in the recurrent artificial neural network is suitable for a respective pattern of activity.
제1항에 있어서,
상기 순환 인공 신경 네트워크의 활동의 소집단 패턴 (clique pattern)들을 식별함으로써, 노드들의 각 특별한 그룹이 활동의 각자 패턴에 적합한지 아닌지의 여부를 판별하는 단계를 더 포함하는, 방법.
The method of claim 1,
Further comprising the step of determining whether or not each particular group of nodes fits a respective pattern of activity by identifying clique patterns of activity of the recurrent artificial neural network.
제2항에 있어서,
상기 방법은 복수의 시간 윈도우들을 한정하는 단계를 더 포함하며,
그 시간 윈도우들 동안에 상기 순환 인공 신경 네트워크의 활동은 상기 순환 인공 신경 네트워크로의 입력에 응답하며,
활동의 소집단 패턴들은 상기 복수의 시간 윈도우들 각각에서 식별되며, 그리고
각 자릿수는 노드들의 특별한 그룹이 상기 윈도우들 중 제1 윈도우 내 활동의 각자의 소집단 패턴들에 적합한지 아닌지의 여부를 표현하는, 방법.
The method of claim 2,
The method further comprises defining a plurality of time windows,
During those time windows the activity of the recurrent artificial neural network responds to input to the recurrent artificial neural network,
Subpopulation patterns of activity are identified in each of the plurality of time windows, and
Each digit represents whether a particular group of nodes is suitable for respective subpopulation patterns of activity within a first of the windows or not.
제3항에 있어서,
상기 방법은 상기 복수의 시간 윈도우들 내의 제1 시간 윈도우를 식별하는 단계를 더 포함하며,
상기 식별하는 것은 상기 제1 윈도우 동안에 식별되는 소집단 패턴들의 구별 가능한 증가된 가능성에 기반하는, 방법.
The method of claim 3,
The method further comprises identifying a first time window within the plurality of time windows,
Wherein the identifying is based on a distinguishable increased likelihood of subpopulation patterns identified during the first window.
제1항에 있어서,
활동의 각자 패턴들은 공동 (cavity)들을 둘러싼, 방법.
The method of claim 1,
Each pattern of activity surrounds cavities, how.
제2항에 있어서,
소집단들을 식별하는 것은 더 높은 차원 소집단들 내 존재하는 더 낮은 차원 소집단들을 폐기하거나 무시하는 것을 포함하는, 방법.
The method of claim 2,
The method, wherein identifying subgroups comprises discarding or ignoring lower dimensional subgroups existing within higher dimensional subgroups.
제1항에 있어서,
상기 자릿수들 각각은 상기 순환 인공 신경 네트워크 내 노드들의 컬렉션에 결합된 리더기 노드로부터 출력되며,
리더기 노드들은 상기 컬렉션 내 노드들의 활동이, 활동의 특별한 패턴에 적합한가를 표시하는, 방법.
The method of claim 1,
Each of the digits is output from a reader node coupled to a collection of nodes in the recurrent artificial neural network,
Wherein the reader nodes indicate whether the activity of the nodes in the collection is suitable for a particular pattern of activity.
제1항에 있어서,
상기 방법은 상기 판독된 출력들의 일부만을 전송하거나 저장하는 단계를 더 포함하며, 상기 판독된 출력들의 일부만을 전송하거나 저장하는 단계는:
상대적으로 더 높은 복잡성을 가진 활동의 패턴들과 연관된 출력들을 전송하거나 저장하는 단계; 그리고
상대적으로 더 낮은 복잡성을 가진 활동의 패턴들과 연관된 출력들을 폐기하거나 무시하는 단계를 포함하는, 방법.
The method of claim 1,
The method further comprises transmitting or storing only a portion of the read outputs, wherein transmitting or storing only a portion of the read outputs comprises:
Transmitting or storing outputs associated with patterns of activity with a relatively higher complexity; And
Discarding or ignoring outputs associated with patterns of activity of relatively lower complexity.
제1항에 있어서,
상기 인공 신경 네트워크를 구조화하는 단계를 더 포함하며, 이 구조화하는 단계는:
상기 인공 신경 네트워크로부터 자릿수 출력을 판독하는 단계, 그리고
상기 인공 신경 네트워크의 구조를 전개하는 단계를 포함하며,
상기 인공 신경 네트워크의 구조를 전개하는 단계는:
상기 구조를 반복하여 변경하는 단계,
변경된 구조 내 활동의 패턴들의 복잡성을 특성화하는 단계, 그리고
상기 패턴의 복잡성의 특성화를 상기 변경된 구조가 바람직한가의 여부의 표시로서 사용하는 단계를 포함하는, 방법.
The method of claim 1,
Structuring the artificial neural network, the structuring step:
Reading a digit output from the artificial neural network, and
Including the step of developing the structure of the artificial neural network,
The steps of developing the structure of the artificial neural network include:
Repeatedly changing the structure,
Characterizing the complexity of the patterns of activity within the altered structure, and
Using the characterization of the complexity of the pattern as an indication of whether the modified structure is desirable.
제1항에 있어서,
상기 자릿수들은 다중-값인, 비-이진 자릿수들이며,
상기 값들 각각은 대응 활동의 패턴들 내 에지 (edge)들에 할당된 가중치를 표현하는, 방법.
The method of claim 1,
The digits are multi-valued, non-binary digits,
Wherein each of the values represents a weight assigned to edges in patterns of corresponding activity.
동작들을 수행하기 위해 작동 가능한 하나 이상의 컴퓨터들을 포함하는 인코더 또는 디코더로서,
상기 동작들은 순환 인공 신경 네트워크로부터 자릿수들을 출력하는 동작을 포함하며,
각 자릿수는 상기 순환 인공 신경 네트워크 내 노드들의 특별한 그룹 내의 활동이, 활동의 각자 패턴에 적합한지 아닌지의 여부를 표현하는, 인코더 또는 디코더.
An encoder or decoder comprising one or more computers operable to perform operations,
The operations include an operation of outputting digits from a recurrent artificial neural network,
Each digit represents whether or not an activity within a particular group of nodes in the recurrent artificial neural network is suitable for a respective pattern of activity.
제11항에 있어서,
상기 동작들은, 상기 순환 인공 신경 네트워크의 활동의 소집단 패턴들을 식별함으로써, 노드들의 각 특별한 그룹이 활동의 각자 패턴에 적합한지 아닌지의 여부를 판별하는 동작을 더 포함하는, 인코더 또는 디코더.
The method of claim 11,
The operations further include determining whether or not each particular group of nodes fits a respective pattern of activity by identifying subpopulation patterns of activity of the recurrent artificial neural network.
제12항에 있어서,
상기 동작들은 복수의 시간 윈도우들을 한정하는 동작을 더 포함하며,
그 시간 윈도우들 동안에 상기 순환 인공 신경 네트워크의 활동은 상기 순환 인공 신경 네트워크로의 입력에 응답하며,
활동의 소집단 패턴들은 상기 복수의 시간 윈도우들 각각에서 식별되며, 그리고
각 자릿수는 노드들의 특별한 그룹이 상기 윈도우들 중 제1 윈도우 내 활동의 각자의 소집단 패턴들에 적합한지 아닌지의 여부를 표현하는, 인코더 또는 디코더.
The method of claim 12,
The operations further include defining a plurality of time windows,
During those time windows the activity of the recurrent artificial neural network responds to input to the recurrent artificial neural network,
Subpopulation patterns of activity are identified in each of the plurality of time windows, and
Each digit represents whether a particular group of nodes is suitable for respective subpopulation patterns of activity within a first of the windows or not.
제13항에 있어서,
상기 동작들은 상기 복수의 시간 윈도우들 내의 제1 시간 윈도우를 식별하는 동작을 더 포함하며,
상기 식별하는 동작은 상기 제1 윈도우 동안에 식별되는 소집단 패턴들의 구별 가능한 증가된 가능성에 기반하는, 인코더 또는 디코더.
The method of claim 13,
The operations further include identifying a first time window within the plurality of time windows,
The identifying operation is based on a distinguishable increased likelihood of subpopulation patterns identified during the first window.
제11항에 있어서,
활동의 각자 패턴들은 공동들을 둘러싼, 인코더 또는 디코더.
The method of claim 11,
Each pattern of activity surrounds the cavities, an encoder or a decoder.
제11항에 있어서,
상기 자릿수들 각각은 상기 순환 인공 신경 네트워크 내 노드들의 컬렉션에 결합된 리더기 노드로부터 출력되며,
리더기 노드들은 상기 컬렉션 내 노드들의 활동이, 활동의 특별한 패턴에 적합한가를 표시하는, 인코더 또는 디코더.
The method of claim 11,
Each of the digits is output from a reader node coupled to a collection of nodes in the recurrent artificial neural network,
Reader nodes, encoders or decoders that indicate whether the activity of the nodes in the collection is suitable for a particular pattern of activity.
제11항에 있어서,
상기 판독된 출력들의 일부만을 전송하거나 저장하는 동작을 더 포함하며, 상기 판독된 출력들의 일부만을 전송하거나 저장하는 동작은:
상대적으로 더 높은 복잡성을 가진 활동의 패턴들과 연관된 출력들을 전송하거나 저장하는 동작; 그리고
상대적으로 더 낮은 복잡성을 가진 활동의 패턴들과 연관된 출력들을 폐기하거나 무시하는 동작을 포함하는, 인코더 또는 디코더.
The method of claim 11,
Further comprising the operation of transmitting or storing only a portion of the read outputs, the operation of transmitting or storing only a portion of the read outputs:
Transmitting or storing outputs associated with patterns of activity of relatively higher complexity; And
An encoder or decoder comprising discarding or ignoring outputs associated with patterns of activity of relatively lower complexity.
제11항에 있어서,
상기 동작들은:
상기 순환 인공 신경 네트워크를 구조화하는 동작을 더 포함하며, 이 구조화하는 동작은:
상기 순환 인공 신경 네트워크로부터 이진수 출력을 판독하는 동작, 그리고
상기 순환 인공 신경 네트워크의 구조를 전개하는 동작을 포함하며,
상기 순환 인공 신경 네트워크의 구조를 전개하는 동작은:
상기 구조를 반복하여 변경하는 동작,
변경된 구조 내 활동의 패턴들의 복잡성을 특성화하는 동작, 그리고
상기 패턴의 복잡성의 특성화를 상기 변경된 구조가 바람직한가의 여부의 표시로서 사용하는 동작을 포함하는, 인코더 또는 디코더.
The method of claim 11,
The above actions are:
Structuring the circulatory artificial neural network, the structuring operation:
Reading a binary output from the recurrent artificial neural network, and
And deploying the structure of the circulatory artificial neural network,
The operation of developing the structure of the circulating artificial neural network is:
The operation of repeatedly changing the structure,
Behavior that characterizes the complexity of patterns of activity within the altered structure, and
Using characterization of the complexity of the pattern as an indication of whether the modified structure is desirable.
제11항에 있어서,
상기 자릿수들은 다중-값인, 비-이진 자릿수들이며,
상기 값들 각각은 대응 활동의 패턴들 내 에지들에 할당된 가중치를 표현하는, 인코더 또는 디코더.
The method of claim 11,
The digits are multi-valued, non-binary digits,
Each of the values represents a weight assigned to edges in patterns of corresponding activity.
제11항에 있어서,
상기 인코더 또는 디코더는 비디오 인코더 또는 디코더인, 인코더 또는 디코더.
The method of claim 11,
The encoder or decoder is a video encoder or decoder.
KR1020207035845A 2018-06-11 2019-06-06 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information KR102475411B1 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US16/004,671 US11972343B2 (en) 2018-06-11 Encoding and decoding information
US16/004,757 2018-06-11
US16/004,635 2018-06-11
US16/004,671 2018-06-11
US16/004,837 US11663478B2 (en) 2018-06-11 2018-06-11 Characterizing activity in a recurrent artificial neural network
US16/004,796 US20190378000A1 (en) 2018-06-11 2018-06-11 Characterizing activity in a recurrent artificial neural network
US16/004,635 US20190378007A1 (en) 2018-06-11 2018-06-11 Characterizing activity in a recurrent artificial neural network
US16/004,837 2018-06-11
US16/004,757 US11893471B2 (en) 2018-06-11 2018-06-11 Encoding and decoding information and artificial neural networks
US16/004,796 2018-06-11
PCT/EP2019/064741 WO2019238513A1 (en) 2018-06-11 2019-06-06 Characterizing activity in a recurrent artificial neural network and encoding and decoding information

Publications (2)

Publication Number Publication Date
KR20210008417A true KR20210008417A (en) 2021-01-21
KR102475411B1 KR102475411B1 (en) 2022-12-07

Family

ID=66776339

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020207035843A KR102497238B1 (en) 2018-06-11 2019-06-05 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information
KR1020207035844A KR102488042B1 (en) 2018-06-11 2019-06-06 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information
KR1020207035847A KR102526132B1 (en) 2018-06-11 2019-06-06 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information
KR1020207035846A KR102465409B1 (en) 2018-06-11 2019-06-06 Characterization of Activities in Recurrent Artificial Neural Networks and Information Encoding and Decoding
KR1020207035845A KR102475411B1 (en) 2018-06-11 2019-06-06 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020207035843A KR102497238B1 (en) 2018-06-11 2019-06-05 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information
KR1020207035844A KR102488042B1 (en) 2018-06-11 2019-06-06 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information
KR1020207035847A KR102526132B1 (en) 2018-06-11 2019-06-06 Characterization of activity in recurrent artificial neural networks and encoding and decoding of information
KR1020207035846A KR102465409B1 (en) 2018-06-11 2019-06-06 Characterization of Activities in Recurrent Artificial Neural Networks and Information Encoding and Decoding

Country Status (5)

Country Link
EP (5) EP3803699A1 (en)
KR (5) KR102497238B1 (en)
CN (5) CN112567387A (en)
TW (1) TWI822792B (en)
WO (5) WO2019238483A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11569978B2 (en) 2019-03-18 2023-01-31 Inait Sa Encrypting and decrypting information
US11580401B2 (en) 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11651210B2 (en) 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US11652603B2 (en) 2019-03-18 2023-05-16 Inait Sa Homomorphic encryption
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663478B2 (en) 2018-06-11 2023-05-30 Inait Sa Characterizing activity in a recurrent artificial neural network
US11610134B2 (en) * 2019-07-08 2023-03-21 Vianai Systems, Inc. Techniques for defining and executing program code specifying neural network architectures
TWI769466B (en) * 2020-06-17 2022-07-01 台達電子工業股份有限公司 Neural network system and method of operating the same
CN112073217B (en) * 2020-08-07 2023-03-24 之江实验室 Multi-network structure difference vectorization method and device
CN113219358A (en) * 2021-04-29 2021-08-06 东软睿驰汽车技术(沈阳)有限公司 Battery pack health state calculation method and system and electronic equipment
TWI769875B (en) * 2021-06-24 2022-07-01 國立中央大學 Deep learning network device, memory access method and non-volatile storage medium used therefor
CN113626721B (en) * 2021-10-12 2022-01-25 中国科学院自动化研究所 Regrettful exploration-based recommendation method and device, electronic equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120123698A (en) * 2010-02-05 2012-11-09 에꼴 뽈리떼끄닉 뻬데랄 드 로잔느 (으뻬에프엘) Organizing neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120123698A (en) * 2010-02-05 2012-11-09 에꼴 뽈리떼끄닉 뻬데랄 드 로잔느 (으뻬에프엘) Organizing neural networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Woon-Sung Park et al., In-Loop Filter in High Efficiency Video Coding Using Convolutional Neural Networks, Proceedings of the Korea Broadcasting and Media Engineering Conference, 418-421, pages (2016. 6.)* *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information
US11569978B2 (en) 2019-03-18 2023-01-31 Inait Sa Encrypting and decrypting information
US11652603B2 (en) 2019-03-18 2023-05-16 Inait Sa Homomorphic encryption
US11580401B2 (en) 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
US11651210B2 (en) 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network

Also Published As

Publication number Publication date
WO2019238483A1 (en) 2019-12-19
WO2019238512A1 (en) 2019-12-19
WO2019238522A1 (en) 2019-12-19
EP3803707A1 (en) 2021-04-14
TWI822792B (en) 2023-11-21
CN112567389A (en) 2021-03-26
KR20210008858A (en) 2021-01-25
WO2019238513A1 (en) 2019-12-19
CN112567390A (en) 2021-03-26
EP3803708A1 (en) 2021-04-14
EP3803699A1 (en) 2021-04-14
KR20210010894A (en) 2021-01-28
KR102526132B1 (en) 2023-04-26
EP3803706A1 (en) 2021-04-14
WO2019238523A1 (en) 2019-12-19
CN112567387A (en) 2021-03-26
KR20210008419A (en) 2021-01-21
KR102475411B1 (en) 2022-12-07
KR20210008418A (en) 2021-01-21
EP3803705A1 (en) 2021-04-14
CN112585621A (en) 2021-03-30
KR102488042B1 (en) 2023-01-12
KR102465409B1 (en) 2022-11-09
KR102497238B1 (en) 2023-02-07
TW202001693A (en) 2020-01-01
CN112567388A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
KR102465409B1 (en) Characterization of Activities in Recurrent Artificial Neural Networks and Information Encoding and Decoding
US11663478B2 (en) Characterizing activity in a recurrent artificial neural network
US11893471B2 (en) Encoding and decoding information and artificial neural networks
US20190378000A1 (en) Characterizing activity in a recurrent artificial neural network
US20190378007A1 (en) Characterizing activity in a recurrent artificial neural network
Malik et al. Architecture, generative model, and deep reinforcement learning for IoT applications: Deep learning perspective
US11654366B2 (en) Computer program for performing drawing-based security authentication
US11972343B2 (en) Encoding and decoding information
US20190378008A1 (en) Encoding and decoding information
Yedjour et al. Extraction of the association rules from artificial neural networks based on the multiobjective optimization
Cherdo et al. Time series prediction and anomaly detection with recurrent spiking neural networks
Raja Deep learning algorithms for real-time healthcare monitoring systems
Kabir BRB based deep learning approach with application in sensor data streams
US20230267337A1 (en) Conditional noise layers for generating adversarial examples
CN113779396B (en) Question recommending method and device, electronic equipment and storage medium
Alhalabi Ensembles of Pruned Deep Neural Networks for Accurate and Privacy Preservation in IoT Applications
Karthik et al. Synergizing Sensor Intelligence: a Novel Approach to Enhanced Human Activity Recognition
Polepalli Scalable Digital Architecture of a Liquid State Machine
Mijwil et al. Survey on the Significance of Artificial Neural Network
Kanwar et al. Deep Learning-An Emerging Paradigm
CN117010543A (en) Training method, device, equipment, medium and program product of propagation prediction model

Legal Events

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