KR102497238B1 - 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 - Google Patents
순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 Download PDFInfo
- Publication number
- KR102497238B1 KR102497238B1 KR1020207035843A KR20207035843A KR102497238B1 KR 102497238 B1 KR102497238 B1 KR 102497238B1 KR 1020207035843 A KR1020207035843 A KR 1020207035843A KR 20207035843 A KR20207035843 A KR 20207035843A KR 102497238 B1 KR102497238 B1 KR 102497238B1
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- patterns
- activity
- artificial neural
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Robotics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
방법들, 시스템들, 및 장치들은 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하며, 그 컴퓨터 프로그램들은 순환 인공 신경 네트워크 내 활동을 특성화하며 그리고 정보를 인코딩하고 디코딩하기 위한 것이다. 한 모습에서, 방법은 인공 신경 네트워크 내 활동을 특성화하는 단계를 포함할 수 있다. 상기 방법은 데이터 프로세싱 장치에 의해 수행되며 그리고 상기 인공 신경 네트워크의 활동의 소집단 패턴들을 식별하는 단계를 포함할 수 있다. 활동의 상기 소집단 패턴들은 공동들을 둘러쌀 수 있다.
Description
본 명세서는 순환 인공 신경 네트워크 (recurrent artificial neural network) 내 활동을 특성화하는 것에 관한 것이다.
활동을 특성화하는 것은 전송, 암호화, 및 데이터 저장과 같은 환경들에서 신호들을 인코딩/디코딩에 있어서는 물론이며, 예를 들면, 결정 순간 (decision moment)들에 대한 신원확인에서 사용될 수 있다. 그것은 정보를 인코딩하고 디코딩하는 것에 또한 관련되며, 그리고 다양한 환경들에서 그 인코딩된 정보를 사용하는 시스템 및 기술들에도 관련된다. 상기 인코딩된 정보는 신경 네트워크, 예를 들면, 순환 신경 네트워크 (recurrent neural network) 내 활동을 나타낼 수 있다.
인공 신경 네트워크들은 생물학적 뉴론들의 네트워크의 구조 및 기능적인 모습들에 의해 영감을 받은 디바이스들이다. 특히, 인공 신경 네트워크들은 노드라고 불리는 상호연결된 구조물의 시스템을 사용하여 생물학적 뉴론들의 네트워크의 정보 인코딩 및 다른 프로세싱 능력들을 모방한다. 인공 신경 네트워크 내 노드들 사이의 연결들의 배열 및 강도는 그 인공 신경 네트워크에 의한 정보 저장이나 정보 프로세싱의 결과들을 결정한다.
신경 네트워크들은 그 네트워크 내 소망된 신호 흐름을 생산하고 소망된 정보 프로세싱이나 정보 저장 결과들을 달성하기 위해 트레이닝될 수 있다. 일반적으로, 신경 네트워크를 트레이닝하는 것은 학습 페이즈 동안에 노드들 사이의 연결들의 배열 및/또는 강도를 변경할 것이다. 주어진 입력 세트들에 대해 신경 네트워크들에 의해 충분하게 적절한 프로세싱 결과들이 달성될 때에 그 신경 네트워크는 트레이닝된 것으로 간주될 수 있다.
인공 신경 네트워크들은 비-선형 데이터 프로세싱 및 분석을 수행하기 위해 다양한 상이한 디바이스들에서 사용될 수 있다. 비-선형 데이터 프로세싱은 중첩 원리 (superposition)를 충족시키지 않으며, 즉, 결정된 변수들은 독립적인 성분들의 선형 합으로서 작성될 수 없다. 비-선형 데이터 프로세싱이 유용한 환경들의 예들은 패턴 및 시퀀스 인식, 스피치 프로세싱, 이상 탐지 (novelty detection) 및 순차적 의사 결정 (sequential decision making), 복잡한 시스템 모델링, 그리고 다양한 다른 환경들에서의 시스템들 및 기술을 포함한다.
인코딩 및 디코딩 둘 모두는 정보를 하나의 모습이나 표현으로부터 다른 모습이나 표현으로 변환시킨다. 상이한 표현들은 상이한 애플리케이션들에서 더 또는 덜 유용한 상이한 특징들을 제공할 수 있다. 예를 들면, 정보의 일부 모습들이나 표현들 (예를 들면, 자연 언어)은 사람이 이해하기 더 쉬울 수 있다. 다른 모습들이나 표현들은 크기에 있어서 더 작을 수 있으며 (예를 들면, 압축됨) 그리고 전송하거나 저장하기 더 쉬울 수 있다. 또 다른 모습들이나 표현들은 정보 콘텐트를 고의적으로 모호하게 할 수 있다 (예를 들면, 정보는 암호적으로 인코딩될 수 있다).
특별한 애플리케이션에 무관하게, 인코딩 또는 디코딩 프로세스는 상이한 모습들이나 표현들로 된 정보 사이의 대응 관계를 확립하는 미리 정의된 규칙들의 세트나 알고리즘을 따르는 것이 일반적일 것이다. 예를 들면, 이진 코드를 산출하는 인코딩 프로세스는 이진 시퀀스나 벡터 내 개별 비트들에 따라 그 개별 비트들에게 역할이나 의미를 부여할 수 있다.
본원은 인공 신경 네트워크 내 활동을 특성화하는 것에 관련된 기법들을 제공하려고 한다.
본원은 인공 신경 네트워크 내 활동을 특성화하는 것에 관련된 기술들을 설명한다.
예를 들면, 일 실시예에서, 방법은 인공 신경 네트워크 내 활동을 특성화하는 단계를 포함할 수 있다. 상기 방법은 데이터 프로세싱 장치에 의해 수행되며 그리고 인공 신경 네트워크의 활동의 소집단 패턴 (clique pattern)들을 식별하는 단계를 포함할 수 있다. 활동의 상기 소집단 패턴들은 공동 (cavity)들을 둘러쌀 수 있다.
이런 그리고 다른 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다. 상기 방법은 복수의 시간 윈도우들을 한정하는 단계를 더 포함하며, 그 시간 윈도우들 동안에 상기 인공 신경 네트워크의 활동은 상기 인공 신경 네트워크로의 입력에 응답한다. 활동의 상기 소집단 패턴은 상기 복수의 시간 윈도우들 각각에서 식별될 수 있다. 상기 방법은 상기 복수의 시간 윈도우들 내의 제1 시간 윈도우를 식별하는 단계를 더 포함할 수 있으며, 상기 식별하는 것은 상기 제1 윈도우 동안에 발생하는 활동의 소집단 패턴들의 구별 가능한 가능성에 기반한다. 소집단 패턴들을 식별하는 단계는 활동의 지향성 (directed) 소집단들을 식별하는 단계를 포함할 수 있다. 상위 차원 지향성 소집단들 내에 존재하는 하위 차원 지향성 소집단들은 폐기되거나 무시될 수 있다.
상기 방법은 상기 소집단 패턴들을 카테고리들로 분류하는 단계 그리고 상기 카테고리들 각각 내에서의 소집단 패턴들의 발생 횟수에 따라 상기 활동을 특성화하는 단계를 포함할 수 있다. 상기 소집단 패턴들을 분류하는 단계는 각 소집단 패턴들 내의 포인트들의 개수에 따라 상기 소집단 패턴들을 분류하는 단계를 포함할 수 있다. 상기 방법은 순환 인공 신경 네트워크로부터 영 (zero)들과 일 (1)들의 이진 시퀀스를 출력하는 단계를 더 포함할 수 있다. 상기 시퀀스 내 각 자릿수는 활동의 각 패턴이 상기 인공 신경 네트워크 내에 존재하는가의 여부를 나타낼 수 있다. 상기 방법은, 상기 인공 신경 네트워크로부터 자릿수 (digit) 출력을 판독하는 단계, 그리고 상기 인공 신경 네트워크의 구조를 전개하는 단계에 의해 상기 인공 신경 네트워크를 구조화하는 단계를 포함할 수 있다. 상기 인공 신경 네트워크의 구조는, 상기 구조를 반복하여 변경하는 단계, 변경된 구조 내 활동의 패턴들의 복잡성을 특성화하는 단계, 그리고 상기 패턴의 복잡성의 특성화를 상기 변경된 구조가 바람직한가의 여부의 표시로서 사용하는 단계에 의해 전개될 수 있다.
상기 인공 신경 네트워크는 순환 인공 신경 네트워크일 수 있다. 상기 방법은 상기 순환 인공 신경 네트워크 내 활동의 패턴들의 복잡성에 대한 판단에 기반하여 상기 순환 인공 신경 네트워크 내 결정 순간들을 식별하는 단계를 포함할 수 있다. 상기 결정 순간들을 식별하는 것은, 상기 입력에 응답하는 다른 활동과 구별 가능한 복잡성을 가진 활동의 타이밍을 판별하며, 그리고 상기 구별 가능한 복잡성을 가진 상기 활동의 타이밍에 기반하여 상기 결정 순간들을 식별하는 것을 포함할 수 있다. 상기 방법은 데이터 스트림을 상기 순환 인공 신경 네트워크로 입력하는 단계 그리고 상기 데이터 스트림 입력 동안에 활동의 소집단 패턴들을 식별하는 단계를 포함할 수 있다. 상기 방법은 상기 활동이 상기 인공 신경 네트워크로의 입력에 응답하는가의 여부를 추정하는 단계를 포함할 수 있다. 상기 추정하는 것은, 입력 이벤트 이후에 상대적으로 빠르게 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 빠르게 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답한다고 추정하며; 그리고 입력 이벤트 이후에 상대적으로 더 늦게 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 더 늦게 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답한다고 추정하는 것을 포함할 수 있다.
다른 구현에서, 시스템은 동작들을 수행하기 위해 작동 가능한 하나 이상의 컴퓨터들을 포함할 수 있다. 상기 동작들은 인공 신경 네트워크 내 활동을 특성화하는 동작을 포함할 수 있으며 그리고 상기 인공 신경 네트워크의 활동의 소집단 패턴들을 식별하는 것을 포함하며, 여기에서 활동의 소집단 패턴들은 공동 (cavity)들을 둘러싼다. 상기 동작들은 복수의 시간 윈도우들을 한정하는 동작을 더 포함할 수 있으며, 그 시간 윈도우들 동안에 상기 인공 신경 네트워크의 활동은 상기 인공 신경 네트워크로의 입력에 응답한다. 활동의 상기 소집단 패턴은 상기 복수의 시간 윈도우들 각각에서 식별될 수 있다. 상기 동작들은 상기 복수의 시간 윈도우들 내의 제1 시간 윈도우를 식별하는 동작을 포함할 수 있으며, 상기 식별하는 것은 상기 제1 윈도우 동안에 발생하는 활동의 소집단 패턴들의 구별 가능한 가능성에 기반한다. 지향성 소집단들을 식별하는 동작은 상위 차원 지향성 소집단들 내에 존재하는 하위 차원 지향성 소집단들을 폐기하거나 무시하는 것을 포함할 수 있다. 상기 동작들은 상기 인공 신경 네트워크를 구조화하는 동작을 더 포함할 수 있으며, 이 구조화하는 동작은, 상기 인공 신경 네트워크로부터 자릿수 출력을 판독하는 동작, 그리고 상기 인공 신경 네트워크의 구조를 전개하는 동작을 포함할 수 있다. 상기 인공 신경 네트워크의 구조는, 상기 구조를 반복하여 변경하는 동작, 변경된 구조 내 활동의 패턴들의 복잡성을 특성화하는 동작, 그리고 상기 패턴의 복잡성의 특성화를 상기 변경된 구조가 바람직한가의 여부의 표시로서 사용하는 동작에 의해 전개될 수 있다. 상기 인공 신경 네트워크는 순환 인공 신경 네트워크일 수 있다. 상기 동작들은 상기 순환 인공 신경 네트워크 내 활동의 패턴들의 복잡성에 대한 판단에 기반하여 상기 순환 인공 신경 네트워크 내 결정 순간들을 식별하는 동작을 포함할 수 있으며, 상기 결정 순간들을 식별하는 것은, 상기 입력에 응답하는 다른 활동과 구별 가능한 복잡성을 가진 활동의 타이밍을 판별하며, 그리고 상기 구별 가능한 복잡성을 가진 상기 활동의 타이밍에 기반하여 상기 결정 순간들을 식별하는 것을 포함할 수 있다. 상기 동작들은 데이터 스트림을 상기 순환 인공 신경 네트워크로 입력하는 동작 그리고 상기 데이터 스트림 입력 동안에 활동의 소집단 패턴들을 식별하는 동작을 포함할 수 있다. 상기 동작들은 상기 활동이 상기 인공 신경 네트워크로의 입력에 응답하는가의 여부를 추정하는 동작을 포함할 수 있다. 상기 추정하는 것은, 입력 이벤트 이후에 상대적으로 빠르게 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 빠르게 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답한다고 추정하며, 그리고 입력 이벤트 이후에 상대적으로 더 늦게 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 더 늦게 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답한다고 추정하는 것을 포함할 수 있다.
다른 예로서, 순환 인공 신경 네트워크에서 결정 순간들을 식별하기 위한 방법은, 상기 순환 인공 신경 네트워크 내 활동의 패턴들의 복잡성을 판별하는 단계로, 상기 활동은 상기 순환 인공 신경 네트워크 내로의 입력에 응답하는, 판별 단계, 상기 입력에 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 가진 활동의 타이밍을 판별하는 단계, 그리고 구별 가능한 복잡성을 가진 상기 활동의 타이밍에 기반하여 결정 순간을 식별하는 단계를 포함한다.
다른 예로서, 순환 인공 신경 네트워크 내 활동을 특성화하는 방법은 상기 순환 인공 신경 네트워크의 활동의 미리-정의된 소집단 패턴들을 식별하는 단계를 포함한다. 상기 방법은 데이터 프로세싱 장치에 의해 수행된다. 다른 예로서, 방법은 순환 인공 신경 네트워크로부터 영 (zero)들과 일 (1)들의 이진 시퀀스를 출력하는 단계를 포함할 수 있으며, 여기에서 상기 시퀀스 내 각 자릿수는 상기 순환 인공 신경 네트워크 내 노드들의 특별한 그룹들이 활동의 각자의 패턴을 디스플레이하는가 하지 않는가의 여부를 나타낸다.
다른 예로서, 순환 인공 신경 네트워크를 구조화하는 방법은, 노드들의 구조화된 컬렉션 및 그 노드들 사이의 링크들을 포함하는 순환 인공 신경 네트워크에서 일어날 수 있는 활동의 패턴들의 복잡성을 특성화하는 단계, 그리고 활동의 상기 패턴들의 복잡성을 증가시키기 위해 상기 순환 인공 신경 네트워크의 구조를 전개하는 단계를 포함할 수 있다. 구조화하는 이 방법은, 예를 들면, 상기 순환 인공 신경 네트워크를 트레이닝시키는 방법의 일부로서 또한 사용될 수 있다.
이런 모습들의 다른 실시예들은, 대응 시스템들, 장치, 그리고 컴퓨터 프로그램들 포함하며, 이 컴퓨터 프로그램들은 상기 방법들의 행동들을 수행하도록 구성되며, 컴퓨터 저장 디바이스들 상에서 인코딩된다.
본 명세서에서 설명된 특허 대상의 특별한 실시예는 다음의 이점들 중 하나 이상을 실현하기 위해서 구현될 수 있다. 예를 들면, 예를 들면, 디지털 컴퓨터 및 다른 컴퓨터들과 같은 전통적인 데이터 프로세싱 디바이스들은 정보를 프로세싱할 때에 미리-정의된 로직 시퀀스를 따르도록 프로그램된다. 컴퓨터가 결과에 도달할 때의 순간은 그래서 식별하기가 상대적으로 쉽다. 즉, 상기 프로그래밍에서 구체화된 로직 시퀀스 완료는 정보 프로세싱이 완료되며 그리고 그 컴퓨터가 "결정에 도달 (reached a decision)"했을 때를 표시한다. 그 결과는, 예를 들면, 메모리 디바이스, 버퍼들의 세트 등에 의해 컴퓨터의 데이터 프로세서의 출력단에서 상대적으로 긴-수명의 모습으로 유지될 수 있으며, 다양한 목적들을 위해 액세스될 수 있다.
대조적으로, 본원에서 설명된 것처럼, 인공 순환 신경 네트워크들 내에서의 결정 순간 (decision moment)들은, 정보 프로세싱 동안에 신경 네트워크의 동적 성질들의 특성들에 기반하여 식별될 수 있다. 인공 신경 네트워크가 로직 시퀀스의 미리-정의된 끝에 도달하기 위해 기다리기보다는, 인공 신경 네트워크들 내 결정 순간들은, 정보 프로세싱하는 중에 상기 인공 신경 네트워크의 기능적인 상태들의 특성들에 기반하여 식별될 수 있다.
또한, 정보 프로세싱 동안에 순환 인공 신경 네트워크들의 동적 성질들의 특성들은 - 소집단 패턴들 및 지향성 소집단 패턴들에 적합한 활동과 같은 특성들을 포함함 - 신호 전송, 인코딩, 암호화, 및 저장을 포함하는 다양한 시그날링 동작들에서 사용될 수 있다. 특히, 정보 프로세싱 동안에 순환 인공 신경 네트워크 내 활동의 특성들은 상기 입력을 반영하며 그리고 상기 입력의 인코딩된 모습 (즉, 인코딩 프로세스들에서 순환 인공 신경 네트워크의 "출력")인 것으로 간주될 수 있다. 이런 특성들은, 예를 들면, 원격 수신기로 전송될 수 있으며, 그 원격 수신기는 상기 입력을 또는 상기 입력의 일부를 재구축하기 위해 상기 전송된 특성을 디코딩할 수 있을 것이다.
더욱이, 몇몇 경우에, 순환 인공 신경 네트워크 내 노드들의 상이한 그룹들 내 활동 (예를 들면, 소집단 패턴들 및 지향성 소집단 패턴들에 적합한 활동)은 영 (0)들 및 일 (1)들의 이진 시퀀스로서 표현될 수 있으며, 이진 시퀀스의 각 자릿수는 활동이 패턴에 적합한가 아닌가의 여부를 표시한다. 상기 활동이 몇몇 환경들에서는 순환 인공 신경 네트워크의 출력일 수 있기 때문에, 순환 인공 신경 네트워크의 출력은 이진 자릿수들의 벡터로서 표현될 수 있으며 디지털 데이터 프로세싱에 호환될 수 있다.
또한, 몇몇 경우에, 순환 인공 신경 네트워크의 동적 성질들의 그런 특성화는 정보 프로세싱 동안에 일어나는 활동의 복잡한 패턴들의 가능성을 증가시키기 위해 트레이닝 이전에 그리고/또는 트레이닝 동안에 사용될 수 있다. 예를 들면, 트레이닝 이전에 또는 트레이닝 동안에, 순환 신경 네트워크 내 노드들 사이의 링크들은 활동 패턴들의 복잡성을 증가시키기 위해 의도적으로 전개될 수 있다. 이것은 순환 인공 신경 네트워크를 트레이닝시키기 위해 필요한 시간과 노력을 줄어들게 할 수 있다.
다른 예로서, 순환 인공 신경 네트워크의 동적 성질들의 그런 특성화는 순환 신경 네트워크의 트레이닝에 있어서 완벽함의 정도 (degree)를 정하기 위해 사용될 수 있다. 예를 들면, 활동 내 순서 정함의 특별한 유형들 (예를 들면, 소집단 패턴들 및 지향성 소집단 패턴들)을 디스플레이하는 순환 인공 신경 네트워크는, 그런 순서 정함을 디스플레이하지 않는 순환 인공 신경 네트워크보다 더 고도로 트레이닝되는 것으로 간주될 수 있다. 실제로, 몇몇 경우에, 트레이닝의 정도는 순환 인공 신경 네트워크 내 활동의 순서정함의 정도를 계량화함으로써 계량화될 수 있다.
예를 들면, 신경 네트워크에서 결정 순간들을 식별하기 위한 방법은, 상기 순환 인공 신경 네트워크 내 활동의 패턴들의 복잡성을 판별하는 단계로, 상기 활동은 상기 순환 인공 신경 네트워크 내로의 입력에 응답하는, 판별 단계, 상기 입력에 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 가진 활동의 타이밍을 판별하는 단계, 그리고 구별 가능한 복잡성을 가진 상기 활동의 타이밍에 기반하여 결정 순간을 식별하는 단계를 포함한다.
다른 예로서, 순환 인공 신경 네트워크 내 활동을 특성화하는 방법은 상기 순환 인공 신경 네트워크의 활동의 소집단 패턴들을 식별하는 단계를 포함한다. 상기 방법은 데이터 프로세싱 장치에 의해 수행된다.
다른 예로서, 방법은 순환 인공 신경 네트워크로부터 영 (zero)들과 일 (1)들의 이진 시퀀스를 출력하는 단계를 포함할 수 있으며, 여기에서 상기 시퀀스 내 각 자릿수는 상기 순환 인공 신경 네트워크 내 노드들의 특별한 그룹이 활동의 각자의 패턴을 디스플레이하는가 하지 않는가의 여부를 나타낸다.
다른 예로서, 순환 인공 신경 네트워크를 구조화하는 방법은, 노드들의 구조화된 컬렉션 및 그 노드들 사이의 링크들을 포함하는 순환 인공 신경 네트워크에서 일어날 수 있는 활동의 패턴들의 복잡성을 특성화하는 단계, 그리고 활동의 상기 패턴들의 복잡성을 증가시키기 위해 상기 순환 인공 신경 네트워크의 구조를 전개하는 단계를 포함할 수 있다. 구조화하는 이 방법은, 예를 들면, 상기 순환 인공 신경 네트워크를 트레이닝시키는 방법의 일부로서 또한 사용될 수 있다.
이런 모습들의 다른 실시예들은, 대응 시스템들, 장치, 그리고 컴퓨터 프로그램들 포함하며, 이 컴퓨터 프로그램들은 상기 방법들의 행동들을 수행하도록 구성되며, 컴퓨터 저장 디바이스들 상에서 인코딩된다.
본 명세서에서 설명된 특허 대상의 특별한 실시예는 다음의 이점들 중 하나 이상을 실현하기 위해서 구현될 수 있다. 예를 들면, 예를 들면, 디지털 컴퓨터 및 다른 컴퓨터들과 같은 전통적인 데이터 프로세싱 디바이스들은 정보를 프로세싱할 때에 미리-정의된 로직 시퀀스를 따르도록 프로그램된다. 컴퓨터가 결과에 도달할 때의 순간은 그래서 식별하기가 상대적으로 쉽다. 즉, 상기 프로그래밍에서 구체화된 로직 시퀀스 완료는 정보 프로세싱이 완료되며 그리고 그 컴퓨터가 "결정에 도달"했을 때를 표시한다. 그 결과는, 예를 들면, 메모리 디바이스, 버퍼들의 세트 등에 의해 컴퓨터의 데이터 프로세서의 출력단에서 상대적으로 긴-수명의 모습으로 유지될 수 있으며, 다양한 목적들을 위해 액세스될 수 있다.
대조적으로, 본원에서 설명된 것처럼, 인공 순환 신경 네트워크들 내에서의 결정 순간들은, 정보 프로세싱 동안에 신경 네트워크의 동적 성질들의 특성들에 기반하여 식별될 수 있다. 인공 신경 네트워크가 로직 시퀀스의 미리-정의된 끝에 도달하기 위해 기다리기보다는, 인공 신경 네트워크들 내 결정 순간들은, 정보 프로세싱하는 중에 상기 인공 신경 네트워크의 기능적인 상태들의 특성들에 기반하여 식별될 수 있다.
또한, 정보 프로세싱 동안에 순환 인공 신경 네트워크들의 동적 성질들의 특성들은 - 소집단 패턴들 및 지향성 소집단 패턴들에 적합한 활동과 같은 특성들을 포함함 - 신호 전송, 인코딩, 암호화, 및 저장을 포함하는 다양한 시그날링 동작들에서 사용될 수 있다. 특히, 정보 프로세싱 동안에 순환 인공 신경 네트워크 내 활동의 특성들은 상기 입력을 반영하며 그리고 상기 입력의 인코딩된 모습 (즉, 인코딩 프로세스들에서 순환 인공 신경 네트워크의 "출력")인 것으로 간주될 수 있다. 이런 특성들은, 예를 들면, 원격 수신기로 전송될 수 있으며, 그 원격 수신기는 상기 입력을 또는 상기 입력의 일부를 재구축하기 위해 상기 전송된 특성을 디코딩할 수 있을 것이다.
더욱이, 몇몇 경우에, 순환 인공 신경 네트워크 내 노드들의 상이한 그룹들 내 활동 (예를 들면, 소집단 패턴들 및 지향성 소집단 패턴들에 적합한 활동)은 영 (0)들 및 일 (1)들의 이진 시퀀스로서 표현될 수 있으며, 이진 시퀀스의 각 자릿수는 활동이 패턴에 적합한가 아닌가의 여부를 표시한다. 상기 활동이 몇몇 환경들에서는 순환 인공 신경 네트워크의 출력일 수 있기 때문에, 순환 인공 신경 네트워크의 출력은 이진 자릿수들의 벡터로서 표현될 수 있으며 디지털 데이터 프로세싱에 호환될 수 있다.
또한, 몇몇 경우에, 순환 인공 신경 네트워크의 동적 성질들의 그런 특성화는 정보 프로세싱 동안에 일어나는 활동의 복잡한 패턴들의 가능성을 증가시키기 위해 트레이닝 이전에 그리고/또는 트레이닝 동안에 사용될 수 있다. 예를 들면, 트레이닝 이전에 또는 트레이닝 동안에, 순환 신경 네트워크 내 노드들 사이의 링크들은 활동 패턴들의 복잡성을 증가시키기 위해 의도적으로 전개될 수 있다. 예를 들면, 순환 인공 신경 네트워크 내 노드들 사이의 링크들은, 예를 들면, 활동의 소집단 패턴들 및 지향성 소집단 패턴들이 정보 프로세싱 동안에 일어날 가능성을 증가시키기 위해 의도적으로 전개될 수 있다. 이것은 순환 인공 신경 네트워크를 트레이닝시키기 위해 필요한 시간과 노력을 줄어들게 할 수 있다.
다른 예로서, 순환 인공 신경 네트워크의 동적 성질들의 그런 특성화는 순환 신경 네트워크의 트레이닝에 있어서 완벽함의 정도를 정하기 위해 사용될 수 있다. 예를 들면, 활동 내 순서 정함의 특별한 유형들 (예를 들면, 소집단 패턴들 및 지향성 소집단 패턴들)을 디스플레이하는 순환 인공 신경 네트워크는, 그런 순서 정함을 디스플레이하지 않는 순환 인공 신경 네트워크보다 더 고도로 트레이닝되는 것으로 간주될 수 있다. 실제로, 몇몇 경우에, 순환 인공 신경 네트워크 내 활동의 순서 정함의 정도를 계량화함으로써 트레이닝의 정도가 계량화될 수 있다.
또 다른 예로서, 한 구현에서, 디바이스는 신경 네트워크를 포함하며, 상기 신경 네트워크는 트레이닝 되어, 제1 입력에 대한 응답으로, 상기 제1 입력에 응하여 소스 신경 네트워크에서 일어나는 활동의 패턴들 내 위상적 구조들의 제1 표현의 근사, 제2 입력에 대한 응답으로, 상기 제2 입력에 응하여 상기 소스 신경 네트워크에서 일어나는 활동의 패턴들 내 위상적 구조들의 제2 표현의 근사, 그리고 제3 입력에 대한 응답으로, 상기 제3 입력에 응하여 상기 소스 신경 네트워크에서 일어나는 활동의 패턴들 내 위상적 구조들의 제3 표현의 근사를 산출한다.
이런 그리고 다른 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다. 상기 위상적 구조들 모두는 상기 소스 신경 네트워크 내 둘 이상의 노드들 및 그 노드들 사이의 하나 이상의 에지들을 포함할 수 있다. 상기 위상적 구조들은 심플렉스들 (simplices)을 포함할 수 있다. 상기 위상적 구조들은 공동 (cavity)들을 둘러싼다. 상기 입력들 각각에게 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 활동의 상기 패턴들이 가지는 시점들에서 상기 제1 표현, 제2 표현, 및 제3 표현 각각은 상기 소스 신경 네트워크에서 일어나는 위상적 구조들을 배타적으로 표현할 수 있다. 상기 디바이스는, 상기 신경 네트워크에 의해 산출된 상기 표현들의 근사들을 수신하고 그 수신된 근사들을 프로세싱하기 위해 결합된 프로세서를 더 포함할 수 있다. 상기 프로세서는 상기 신경 네트워크에 의해 산출된 상기 표현들을 프로세싱하기 위해 트레이닝된 제2 신경 네트워크를 포함할 수 있다. 상기 제1 표현, 제2 표현, 및 제3 표현 각각은 다중-값인, 비-이진 자릿수들을 포함할 수 있다. 상기 제1 표현, 제2 표현, 및 제3 표현 각각은, 활동의 상기 패턴들이 상기 소스 신경 네트워크 내 어디에서 일어나는가를 규정하지 않으면서 상기 위상적 구조들의 발생을 표현할 수 있다. 상기 디바이스는 스마트폰을 포함할 수 있다. 상기 소스 신경 네트워크는 순환 신경 네트워크일 수 있다.
다른 구현에서, 디바이스는, 복수의 상이한 입력들에 응답하여 소스 신경 네트워크에서 일어나는 활동의 패턴들 내 위상적 구조들의 표현들을 입력하기 위해 결합된 신경 네트워크를 포함한다. 상기 신경 네트워크는 상기 표현들을 프로세싱하고 응답 출력을 산출하기 위해 트레이닝된다.
이런 그리고 다른 구현들은 다음의 특징들 중 하나 이상을 포함한다. 상기 위상적 구조들 모두는 상기 소스 신경 네트워크 내 둘 이상의 노드들 및 그 노드들 사이의 하나 이상의 에지 (edge)들을 포함할 수 있다. 상기 위상적 구조들은 심플렉스 (simplex)들을 포함할 수 있다. 상기 입력들 각각에게 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 활동의 상기 패턴들이 가지는 시점들에서 위상적 구조들의 상기 표현들은 상기 소스 신경 네트워크에서 일어나는 위상적 구조들을 배타적으로 표현할 수 있다. 상기 디바이스는, 복수의 상이한 입력들에 응답하여 소스 신경 네트워크에서 일어난 활동의 패턴들 내 위상적 구조들의 표현들의 각자의 근사들을, 상기 상이한 입력들에 응답하여 산출하도록 트레이닝된 신경 네트워크를 포함할 수 있다. 상기 위상적 구조들의 표현들은 다중-값인, 비-이진 자릿수들을 포함할 수 있다. 위상적 구조들의 상기 표현들은, 활동의 상기 패턴들이 상기 소스 신경 네트워크 내 어디에서 일어나는가를 규정하지 않으면서 상기 위상적 구조들의 발생을 표현할 수 있다. 상기 소스 신경 네트워크는 순환 신경 네트워크일 수 있다.
다른 구현에서, 신경 네트워크 디바이스에 의해 방법이 구현되며, 상기 방법은, 소스 신경 네트워크에서의 활동의 패턴들 내 위상적 구조들의 표현을 입력하는 단계로, 상기 활동은 상기 소스 신경 네트워크로의 입력에 응답하는, 입력 단계, 상기 표현을 프로세싱하는 단계, 그리고 상기 표현을 프로세싱한 결과를 출력하는 단계를 포함한다. 상기 프로세싱 단계는, 상기 소스 신경 네트워크에서의 활동의 패턴들 내 위상적 구조들의 상이한 그런 표현들을 프로세싱하기 위해 상기 신경 네트워크를 트레이닝시키는 것과 일치한다.
이런 그리고 다른 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다. 상기 위상적 구조들 모두는 상기 소스 신경 네트워크 내 둘 이상의 노드들 및 그 노드들 사이의 하나 이상의 에지들을 포함할 수 있다. 상기 위상적 구조는 심플렉스들을 포함할 수 있다. 상기 위상적 구조들은 공동들을 둘러쌀 수 있다. 상기 입력들 각각에게 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 활동의 상기 패턴들이 가지는 시점들에서 위상적 구조들의 상기 표현들은 상기 소스 신경 네트워크에서 일어나는 위상적 구조들을 배타적으로 표현할 수 있다. 상기 위상적 구조들의 표현들은 다중-값인, 비-이진 자릿수들을 포함할 수 있다. 위상적 구조들의 상기 표현들은, 활동의 상기 패턴들이 상기 소스 신경 네트워크 내 어디에서 일어나는가를 규정하지 않으면서 상기 위상적 구조들의 발생을 표현할 수 있다. 상기 소스 신경 네트워크는 순환 신경 네트워크일 수 있다.
또 다른 예로서, 일 구현에서, 디바이스는, 복수의 상이한 입력들에 응답하여 소스 신경 네트워크에서 일어나는 활동의 패턴들 내 위상적 구조들의 표현들을 입력하기 위해 결합된 신경 네트워크를 포함한다. 상기 신경 네트워크는 상기 표현들을 프로세싱하고 응답 출력을 산출하기 위해 트레이닝된다.
이런 그리고 다른 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다. 상기 위상적 구조들 모두는 상기 소스 신경 네트워크 내 둘 이상의 노드들 및 그 노드들 사이의 하나 이상의 에지들을 포함한다. 상기 디바이스는, 상기 신경 네트워크로부터의 응답 출력을 수신하고 실제의 또는 가상의 환경에서 작동하기 위해 결합된 액추에이터, 상기 환경의 특성을 측정하기 위해 결합된 센서, 그리고 상기 센서로부터 수신된 측정들을 해석하며 상기 신경 네트워크에게 보상 및/또는 후회를 제공하도록 구성된 교사 (teacher) 모듈을 포함할 수 있다. 상기 위상적 구조들은 심플렉스 (simplex)들을 포함할 수 있다. 상기 위상적 구조들은 공동 (cavity)들을 둘러쌀 수 있다. 상기 입력들 각각에게 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 활동의 상기 패턴들이 가지는 시점들에서 위상적 구조들의 상기 표현들은 상기 소스 신경 네트워크에서 일어나는 위상적 구조들을 배타적으로 표현할 수 있다. 상기 디바이스는, 복수의 상이한 입력들에 응답하여 소스 신경 네트워크에서 일어난 활동의 패턴들 내 위상적 구조들의 표현들의 각자의 근사들을, 상기 상이한 입력들에 응답하여 산출하도록 트레이닝된 제2 신경 네트워크를 더 포함할 수 있다. 그런 디바이스는, 상기 신경 네트워크로부터의 응답 출력을 수신하고 실제의 또는 가상의 환경에서 작동하기 위해 결합된 액추에이터 그리고 상기 환경의 특성을 측정하기 위해 결합된 센서를 또한 포함할 수 있다. 상기 제2 신경 네트워크는 상기 환경의 상기 측정된 특성에 응답하여 적어도 부분적으로 각자의 근사들을 산출하기 위해 트레이닝될 수 있다. 상기 디바이스는 상기 센서로부터 수신된 측정들을 해석하며 상기 신경 네트워크에게 보상 및/또는 후회를 제공하도록 구성된 교사 모듈을 또한 포함할 수 있다. 상기 위상적 구조들의 표현들은 다중-값인, 비-이진 자릿수들을 포함할 수 있다. 위상적 구조들의 상기 표현들은, 활동의 상기 패턴들이 상기 소스 신경 네트워크 내 어디에서 일어나는가를 규정하지 않으면서 상기 위상적 구조들의 발생을 표현할 수 있다. 상기 디바이스는 스마트폰일 수 있다. 상기 소스 신경 네트워크는 순환 신경 네트워크일 수 있다.
다른 구현에서, 하나 이상의 데이터 프로세싱 디바이스들에 의해 수행되는 방법은, 트레이닝 세트를 수신하는 단계로, 상기 트레이닝 세트는 소스 신경 네트워크에서의 활동의 패턴들 내 위상적 구조들의 복수의 표현들을 포함하는, 수신 단계 그리고 상기 표현들을 신경 네트워크로의 입력으로서 또는 타겟 답변 벡터로서 사용하여 상기 신경 네트워크를 트레이닝시키는 단계를 포함할 수 있다. 상기 활동은 상기 소스 신경 네트워크로의 입력에 응답한다.
이런 그리고 다른 구현들은 다음의 특징들 중 하나 이상을 포함할 수 있다. 상기 위상적 구조들 모두는 상기 소스 신경 네트워크 내 둘 이상의 노드들 및 그 노드들 사이의 하나 이상의 에지들을 포함한다. 상기 트레이닝 세트는 복수의 입력 벡터들을 포함할 수 있으며, 그 복수의 입력 벡터들 각각은 상기 표현들 각자에 대응한다. 상기 신경 네트워크를 트레이닝시키는 단계는 상기 복수의 표현들 각각을 타겟 답변 벡터로서 사용하여 상기 신경 네트워크를 트레이닝시키는 단계를 포함할 수 있다. 상기 신경 네트워크를 트레이닝시키는 단계는 상기 복수의 표현들 각각을 입력으로서 사용하여 상기 신경 네트워크를 트레이닝시키는 단계를 포함할 수 있다. 상기 트레이닝 세트는 복수의 보상 또는 후회 값들을 포함할 수 있다. 상기 신경 네트워크를 트레이닝시키는 단계는 강화형 학습을 포함할 수 있다. 상기 위상적 구조들은 심플렉스 (simplex)들을 포함할 수 있다. 상기 입력들 각각에게 응답하는 다른 활동의 복잡성과 구별 가능한 복잡성을 활동의 상기 패턴들이 가지는 시점들에서 위상적 구조들의 상기 표현들은 상기 소스 신경 네트워크에서 일어나는 위상적 구조들을 배타적으로 표현할 수 있다. 상기 위상적 구조들의 표현들은 다중-값인, 비-이진 자릿수들을 포함할 수 있다. 위상적 구조들의 상기 표현들은, 활동의 상기 패턴들이 상기 소스 신경 네트워크 내 어디에서 일어나는가를 규정하지 않으면서 상기 위상적 구조들의 발생을 표현할 수 있다. 상기 소스 신경 네트워크는 순환 신경 네트워크일 수 있다.
본 명세서에서 설명된 하나 이상의 구현들의 상세 내용들은 아래의 동반 도면들 및 설명에서 제시된다. 본 발명 대상의 다른 특징들, 모습들, 및 이점들은 그 설명, 도면들 및 청구항들로부터 명백해질 것이다.
본 발명의 효과는 본 명세서의 해당되는 부분들에 개별적으로 명시되어 있다.
도 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은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 트레이닝될 수 있는 인공 신경 네트워크들을 포함하는 시스템의 개략적인 도시이다.
다양한 도면들에서 비슷한 참조번호들은 비슷한 요소들을 표시한다.
도 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은 순환 인공 신경 네트워크 디바이스 (100)의 구조의 개략적 도시이다. 순환 인공 신경 네트워크 디바이스 (100)는 상호연결된 노드들의 시스템을 이용하여 생물학적 뉴론들의 네트워크들의 정보 인코딩 및 다른 프로세싱 능력들을 모방하는 디바이스이다. 순환 인공 신경 네트워크 디바이스 (100)는 하드웨어로, 소프트웨어로, 또는 그것들의 조합으로 구현될 수 있다.
순환 인공 신경 네트워크 디바이스 (100)의 상기 예시는 복수의 구조적 링크들에 의해 상호연결된 복수의 노드들 (101, 102, ... , 107)을 포함한다. 노드들 (101, 102, ... , 107)은 생물학적 네트워크들 내 신경들과 유사한 별개의 정보 프로세싱 구조물들이다. 일반적으로 노드들 (101, 102, ... , 107)은 하나 이상의 링크들 (110)을 통해서 수신된 하나 이상의 입력 신호들을 프로세싱하여, 하나 이상의 링크들 (110)을 통해 출력되는 하나 이상의 출력 신호들을 산출한다. 예를 들면, 몇몇 구현들에서, 노드들 (101, 102, ... , 107)은 다수의 입력 신호들에 가중치를 부여하며, 그 합을 하나 이상의 비-선형 활성 기능들을 통해 통과시키며, 그리고 하나 이상의 출력 신호들을 출력한다.
노드들 (101, 102, ... , 107)은 누산기들로서 작동할 수 있다. 예를 들면, 노드들 (101, 102, ... , 107)은 임계에 도달할 때까지 하나 이상의 신호들이 제1 노드 내에 축적되는 인터그레이트-파이어 (integrate-and-fire) 모델에 따라서 작동할 수 있다. 임계에 도달한 이후에, 상기 제1 노드는 연결된 제2 노드를 하나 이상의 링크들 (110)을 따라 츨력 신호를 전송함으로써 파이어 (fire)한다. 차례로, 상기 제2 노드 (101, 102, ... , 107)는 수신한 신호를 축적하며 그리고 임계에 도달하면 상기 제2 노드 (101, 102, ... , 107)는 다른 출력 신호를 추가의 연결된 노드로 전송한다.
구조적 링크들 (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 노드로는 신호들을 운반하지 않는 단방향 링크들일 수 있다.
다른 예로서, 몇몇 구현들에서, 구조적 링크들 (110)은 방향성이 아닌 또는 방향성에 추가로 다양한 성질들을 가질 수 있다. 예를 들면, 몇몇 구현들에서, 상이한 구조적 링크들 (110)은 상이한 크기의 신호들을 운반할 수 있으며 - 노드들 (101, 102, ... , 107) 각자 사이에 상이한 강도를 가진 상호연결의 결과를 가져온다. 다른 예로서, 상이한 구조적 링크들 (110)은 상이한 유형의 신호 (예를 들면, 억제성 및/또는 흥분성 신호들)를 운반할 수 있다. 실제로, 몇몇 구현들에서, 구조적 링크들 (110)은 생물학적 시스템들 내 체세포 사이의 링크들 상에서 모델링될 수 있으며 그리고 그런 링크들의 막대한 형태학적, 화학적 및 다른 다양성의 적어도 일부를 반영할 수 있다.
상기 예시된 구현에서, 순환 인공 신경 네트워크 디바이스 (100)은, 모든 노드 (101, 102, ... , 107)가 모든 다른 노드 (101, 102, ... , 107)에게 연결된다는 점에서 소집단 (clique) 네트워크 (또는 서브네트워크)이다. 이것은 반드시 그런 것은 아니다. 오히려, 몇몇 구현들에서, 각 노드 (101, 102, ... , 107)는 (경우에 따라 동일한 링크들이나 다양한 링크들에 의해) 노드들 (101, 102, ... , 107)의 적당한 서브세트에 연결될 수 있다.
예시의 명료함을 위해, 순환 인공 신경 네트워크 디바이스 (100)는 단 7개의 노드들과 같이 도시된다. 일반적으로, 실제 세계의 신경 네트워크 디바이스들은 아주 더 많은 개수의 노드들을 포함할 것이다. 예를 들면, 몇몇 구현들에서, 신경 네트워크 디바이스들은 수십만, 수백만, 또는 심지어는 수십억 개의 노드들을 포함할 수 있다. 그래서, 순환 신경 네트워크 디바이스 (100)는 더 큰 순환 인공 신경 네트워크의 일부 (즉, 서브네트워크)일 수 있다.
생물학적 신경 네트워크 디바이스들에서, 축적 프로세스 및 신호 전송 프로세스는 실제의 세계에서의 시간의 경과를 필요로 한다. 예를 들면, 신경의 체세포 (soma)는 시간이 지남에 따라 수신된 입력들을 통합하며, 그리고 신경으로부터 신경으로의 신호 전송은, 예를 들면, 신호 전송 속도 그리고 신경들 사이의 링크들의 성질 및 길이에 의해 결정된 시간들을 필요로 한다. 그래서, 생물학적 신경 네크워크 디바이스의 상태는 동적이며 시간이 지나면 변한다.
인공 순환 신경 네트워크 디바이스들에서, 시간은 인공적이며 수학적인 구조들을 사용하여 표현된다. 예를 들면, 신호들이 노드로부터 노드로 전송되는 것을 위해 실제 세계의 시간 경과를 필요로 하기 보다는, 그런 신호들은 일반적으로는 실제 세계의 시간 경과에 관계없는 인공 유닛들의 관점에서 컴퓨터 클록 사이클들에서 측정된 것처럼 또는 다르게 표현될 수 있다. 그럼에도 불구하고, 인공 순환 신경 네트워크의 상태는, 그 상태가 이 인공 유닛들에 관하여 변한다는 점에서 "동적 (dynamic)"인 것으로 설명될 수 있다.
편의상 이 인공 유닛들은 본원에서는 "시간 (time)" 유닛들로 언급된다는 점에 유의한다. 그럼에도 불구하고, 이 유닛들은 인공적이며 그리고 일반적으로는 실제 세계에서의 시간 경과에 대응하지 않는다는 것이 이해되어야 한다.
도 2 및 도 3은 상이한 시간 윈도우들 내 순환 인공 신경 네트워크 디바이스 (100)의 기능에 대한 개략적인 도시이다. 상기 디바이스 (100)의 상태가 동적이기 때문에, 디바이스 (100)의 기능작용은 윈도우 내에서 발생하는 신호 전송 활동을 이용하여 표현될 수 있다. 그런 기능적인 도시는 링크들 (110)의 일부에서만의 활동을 보여주는 것이 일반적이다. 특히, 일반적으로 모든 링크 (110)가 특별한 윈도우 내에서 신호를 운반하는 것은 아니기 때문에, 모든 링크 (110)가 이 도면들에서 상기 디바이스 (100)의 기능작용에 기여하는 활동으로서 도시되는 것은 아니다.
도 2 및 도 3에서의 도면들에서, 활성 링크 (110)는 노드들 (101, 102, ... , 107)의 쌍을 연결시키는 상대적으로 두꺼운 연속선으로 도시된다. 대조적으로, 비활성 링크 (110)는 단속선들로 도시된다. 이것은 예시적인 것을 위한 것일 뿐이다. 다른 말로 하면, 상기 링크들 (110)에 의해 형성된 구조적 연결들은 링크들 (110)이 활성이건 아니건 간에 존재한다. 그러나, 이 형식주의는 디바이스 (100)의 기능작용 및 활동을 강조한다.
링크를 따른 활동의 존재를 개략적으로 도시한 것에 추가로, 그 활동의 방향 또한 개략적으로 도시된다. 특히, 링크들 (110)의 활성을 도시한 상대적으로 두꺼운 단속선들은 관련 윈도우 동안에 상기 링크를 따른 신호 전송의 방향을 표시한 화살촉들을 또한 포함한다. 일반적으로, 단일 윈도우 내 신호 전송의 방향은 상기 링크가 상기 표시된 방향성을 가진 단방향 링크인 것으로 결정적으로 강제하지 않는다. 오히려, 제1 시간 윈도우에 대한 제1 기능적 도시에서, 링크는 제1 방향에서 활성일 수 있다. 제2 시간 윈도우에 대한 제2 기능적 도시에서, 링크는 반대 방향에서 활성일 수 있다. 그러나, 예를 들어, 단방향 링크들만을 포함하는 순환 인공 신경 네트워크 디바이스 (100)에서와 같은 몇몇 경우에, 신호 전송의 방향성은 그 링크의 방향성을 결정적으로 표시할 것이다.
피드포워드 (feedforward) 신경 네트워크 디바이스들에서, 정보는 그 네트워크의 말단에 있는 노드들의 출력 레이어로 단일 방향으로만 (즉, 전방으로만) 이동한다. 피드포워드 신경 네트워크 디바이스들은 "결정 (decision)"에 도달했다는 것을 표시하며 그리고 상기 네트워크를 통한 출력 레이어로의 신호들 전파 (propagation)에 의해 정보 프로세싱이 완료되었다고 표시한다.
대조적으로, 순환 신경 네트워크에서, 노드들 사이의 연결들은 사이클들을 형성하며 그리고 그 네트워크의 활동은 즉시 식별 가능한 결정 없이 동적으로 진행한다. 예를 들면, 심지어 3-노드 순환 신경 네트워크에서, 제1 노드는 제2 노드로 신호를 전송할 수 있으며, 그 제2 노드는 응답하여 제3 노드로 신호를 전송할 수 있다. 응답으로, 상기 제3 노드는 제1 노드로 신호를 거꾸로 전송할 수 있다. 상기 제1 노드가 수신한 신호들은 동일한 노드로부터 전송된 신호들에 -적어도 부분적으로- 응답할 수 있다.
개략적인 기능 도시들인 도 2 및 도 3은 이것을 3-노드 순환 신경 네트워크보다 아주 약간 더 큰 네트워크 내에 도시한다. 도 2에서 보이는 이 기능적 도시들은 제1 윈도우 내에서의 활동의 예시일 수 있으며 그리고 도 3은 바로 이어지는 제2 윈도우 내 활동의 예시일 수 있다. 도시된 것처럼, 신호 전송 활동의 컬렉션은 노드 (104)에서 비롯되며 제1 윈도우 동안에 디바이스 (100)를 통해 대체로 시계 방향으로 진행하는 것으로 보인다. 제2 윈도우에서, 상기 신호 전송 활동의 적어도 일부는 노드 (104)로 돌아가는 것으로 대체적으로 보인다. 그런 극도로 단순한 도시에서조차, 신호 전송은 분명하게 식별 가능한 출력이나 종료를 산출하는 방식으로 진행하지 않는다.
예를 들면, 수천 또는 그보다 많은 노드들의 순환 신경 네트워크가 고려될 때에, 신호 전파는 아주 많은 개수의 경로들을 통해 일어날 수 있으며 그리고 이 신호들에는 분명하게 식별 가능한 "출력" 위치나 시간이 부족하다는 것이 인지될 수 있다. 비록 설계상 상기 네트워크가 백그라운드만의 신호 전송이 발생하거나 또는 심지어는 어떤 신호 전송도 발생하지 않는 무활동 상태 (quiescent state)로 돌아갈 수 있지만, 그 무활동 상태 그 자체는 정보 프로세싱의 결과들을 표시하지 않는다. 상기 순환 신경 네트워크는 입력에 무관하게 항상 무활동 상태로 돌아간다. 정보 프로세싱의 "출력"이나 결과는 그래서 특별한 입력에 응답하는 상기 순환 신경 네트워크 내에서 발생하는 활동 내에서 인코딩된다.
도 4는 순환 인공 신경 네트워크 내 활동 특성화에 기반하여 그 네트워크 내에서 결정 순간들을 식별하기 위한 프로세스 (400)의 흐름도이다. 결정 순간은, 순환 인공 신경 네트워크 내 활동이 입력에 응답한 상기 네트워크에 의한 정보 프로세싱의 결과들을 표시하는 시점이다. 프로세스 (400)는 기계-판독가능 명령어들의 하나 이상의 세트들의 로직에 따라 동작들을 수행하는 하나 이상의 데이터 프로세싱 장치의 시스템에 의해 수행될 수 있다. 예를 들면, 프로세서 (400)는, 그 프로세스 (400)에서 사용된 순환 인공 신경 네트워크를 구현하기 위한 소프트웨어를 실행하는 하나 이상의 컴퓨터들의 세트의 동일한 시스템에 의해 수행될 수 있다.
프로세스 (400)를 수행하는 상기 시스템은 순환 인공 신경 네트워크로 신호가 입력되었다는 통지를 405에서 수신한다. 몇몇 경우에, 상기 신호 입력은, 예를 들면, 상기 신경 네트워크의 하나 이상의 노드들 및/또는 하나 이상의 링크들로 정보가 주입되는 별개의 주입 이벤트이다. 다른 경우에, 상기 신호 입력은 어떤 시간 구간 동안에 상기 신경 네트워크의 하나 이상의 노드들 및/또는 링크들로 주입된 정보의 스트림이다. 상기 통지는 상기 인공 신경 네트워크가 능동적으로 징보를 프로세싱하고 있으며, 예를 들면, 무활동 상태에 있지 않다는 것을 표시한다. 몇몇 경우에, 상기 통지는, 예를 들면, 상기 신경 네트워크가 식별 가능한 무활동 상태에 존재하는 때처럼 상기 신경 네트워크 그 자체로부터 수신된다
410에서 상기 시스템 수행 프로세스 (400)는 상기 네트워크 내 응답 활동을 윈도우들의 컬렉션으로 분할한다. 주입이 별개 이벤트인 경우에, 상기 윈도우들은 주입 및 무활동 상태로의 복귀 사이의 시간을, 상기 활동이 가변 복잡성들을 디스플레이하는 여러 구간들로 세분할 수 있다. 주입이 정보의 스트림인 경우에, 상기 주입의 지속시간 (그리고 옵션으로는 주입 이후에 무활동 상태로의 복귀가 완료될 때까지의 시간)은, 상기 활동이 가변 복잡성들을 디스플레이하는 윈도우들로 세분될 수 있다. 활동의 복잡성을 결정하는 것으로의 다양한 접근 방식들은 아래에서 더 설명된다.
몇몇 구현들에서, 상기 윈도우들은 모두 동일한 지속시간을 가지지만, 반드시 그렇지는 않다. 오히려, 몇몇 구현들에서, 상기 윈도우들은 상이한 지속시간들을 가질 수 있다. 예를 들면, 몇몇 구현들에서, 지속시간은, 별개 주입 이벤트가 발생한 후의 시간이 증가함에 따라 증가한다.
몇몇 구현들에서, 상기 윈도우들은 분리된 윈도우들의 연속하는 시리즈일 수 있다. 다른 구현들에서, 상기 윈도우는 시간상 겹치며, 그래서 하나의 윈도우가 이전의 윈도우가 끝나기 이전에 시작하도록 한다. 몇몇 경우에, 상기 윈도우들은 시간상 이동하는 움직이는 윈도우일 수 있다.
몇몇 구현들에서, 윈도우들의 상이한 지속 시간들은 활동의 복잡성의 상이한 결정들을 위해 정의된다. 예를 들면, 상대적으로 많은 개수의 노드들 사이에서 발생하는 활동을 한정하는 활동 패턴들에 대해, 상기 윈도우들은 상대적으로 더 작은 개수의 노드들 사이에서 발생하는 활동을 한정하는 활동 패턴들을 위해 정의된 윈도우들보다 더 긴 지속 시간을 가질 수 있다. 예를 들면, 활동의 참조번호 500의 패턴들의 환경에서 (도 5), 참조번호 530의 패턴에 적합한 활동을 식별하기 위해 정의된 윈도우는 참조번호 505의 패턴에 적합한 활동을 식별하기 위해 정의된 윈도우보다 더 길 수 있다.
상기 시스템 수행 프로세스 (400)는 415에서 상이한 윈도우들에서 상기 네트워크 내 활동에서의 패턴들을 식별한다. 아래에서 더 설명되는 것처럼, 기능적인 그래프를, 노드들을 포인트들로서 구비한 위상적 공간인 것으로 취급함으로써 활동 내에서의 패턴들이 식별될 수 있다. 몇몇 구현들에서, 식별된 상기 활동 패턴들은, 상기 네트워크의 기능적인 그래프 내 소집단들, 예를 들면, 지향성 소집단 (directed clique)들이다.
420에서 상기 시스템 수행 프로세스 (400)는 상이한 윈도우들 내 활동 패턴들의 복잡성을 결정한다. 상기 복잡성은 활동의 순서 정해진 패턴이 어떤 윈도우 내에서 나타나는 가능성의 측정치일 수 있다. 그래서 랜덤하게 나타나는 활동 패턴들은 상대적으로 단순할 수 있을 것이다. 반면에서, 비-랜덤 순서를 보여주는 활동 패턴들은 상대적으로 복잡하다. 예를 들면, 몇몇 구현들에서, 활동 패턴의 복잡성은, 예를 들면, 상기 활동 패턴의 단순 카운트들이나 베티 수 (Betti number)들을 이용하여 측정될 수 있다.
425에서 상기 시스템 수행 프로세스 (400)는 구별 가능한 복잡성을 가진 활동 패턴들의 타이밍을 결정한다. 특별한 활동 패턴은, 예를 들면, 고정된 또는 가변의 베이스라인으로부터 위쪽으로 벗어나거나 아래쪽으로 벗어나는 복잡성에 기반하여 구별 가능할 수 있다. 다른 말로 하면, 상기 활동 내 비-랜덤 순서의 특별하게 높은 레벨들이나 특별하게 낮은 패턴들을 표시하는 활동 패턴들의 타이밍이 결정될 수 있다.
예를 들면, 신호 입력이 별개의 주입 이벤트인 경우에, 예를 들면, 안정된 베이스라인으로부터의 또는 다양한 상이한 별개의 주입 이벤트들에 대한 신경 네트워크의 평균 응답의 특성인 커브로부터의 편차들은, 구별 가능한 복잡한 활동 패턴들의 타이밍을 결정하기 위해 사용될 수 있다. 다른 예로서, 정보가 스트림 내에서의 입력인 경우에, 스트리밍 동안에 복잡성에서의 큰 변화들은, 구별 가능한 복잡한 활동 패턴들의 타이밍을 결정하기 위해 사용될 수 있다.
430에서 상기 시스템 수행 프로세스 (400)는 구별 가능한 복잡한 활동 패턴들의 타이밍에 기반하여 상기 신경 네트워크로부터의 출력 판독 (reading)의 타이밍을 정한다. 예를 들어, 몇몇 구현들에서, 신경 네트워크의 출력은 상기 구별 가능한 복잡한 활동 패턴들이 발생했다고 동시에 판독될 수 있다. 상기 복잡성 편차가 상기 활동 내 상대적으로 높은 비-랜덤 순서를 표시하는 몇몇 구현들에서, 관찰된 활동 패턴들 그 자체는 상기 순환 인공 신경 네트워크의 출력으로서 또한 취해질 수 있다.
도 5는 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들 (500)의 예시이다. 예를 들어, 패턴들 (500)은 프로세스 (400) (도 4) 내 415에서 식별될 수 있다.
패턴들 (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 사이의 활동 이후에 발생한다.
상기 예시된 구현에서, 패턴들 (500)은 모드 방향성 소집단들이나 방향성 심플렉스 (simplex)들이다. 그런 패턴들에서, 그 패턴 내 모든 다른 노드로 신호들을 전송하는 소스 노드로부터 활동이 비롯된다. 패턴들 (500)에서, 그런 소스 노드는 포인트 0으로서 표시되며 반면에 다른 노드들은 포인트 1, 2, ... 로서 표시된다. 또한, 방향성 소집단들이나 심플렉스들에서, 상기 노드들 중 하나의 노드는 싱크 (sink)처럼 행동하며 패턴 내 모든 다른 노드로부터 전송된 신호들을 수신한다. 패턴들 (500)에서, 그런 싱크 노드들은 상기 패턴 내 가장 높은 숫자 패턴으로 표시된다. 예를 들면, 패턴 (505)에서, 싱크 노드는 포인트 2로 표시된다. 패턴 (510)에서, 싱크 노드는 포인트 3으로 표시된다. 패턴 (515)에서, 싱크 노드는 포인트 3으로 표시되며, 그 이후도 마찬가지이다. 패턴들 (500)에 의해 표현된 활동은 그래서 구별 가능한 방식으로 순서가 정해진다.
패턴들 (500) 각각은 상이한 개수의 포인트들을 가지며 그리고 상이한 개수의 노드들에서 순서가 정해진 활동을 반영한다. 예를 들면, 패턴 (505)은 2D-심플렉스이며 세 개의 노드들 내 행동을 반영하며, 패턴 (510)은 3D-심플렉스이며 네 개의 노드들 내 행동을 반영하며, 그 이후도 마찬가지이다. 패턴 내 포인트들의 개수가 증가하면, 순서 정하기의 정도 (degree) 및 행동의 복잡성도 증가한다. 예를 들면, 윈도우 내에 특정 레벨의 랜덤 활동을 가진 노드들의 큰 컬렉션에 대해, 그 활동의 일부는 우연하게 벗어난 패턴 (505)에 적합할 수 있다. 그러나, 랜덤한 활동이 패턴들 (510, 515, 520, ...) 각자에 적합할 것이라는 것은 점점 더 가망이 없다. 패턴 (530)에 적합한 활동의 존재는, 패턴 (505)에 적합한 활동의 존재인 그 활동 내 순서 정하기의 상대적으로 더 높은 정도 그리고 복잡성을 표시한다.
이전에 설명된 것처럼, 몇몇 구현들에서, 상이한 지속 시간 윈도우들은 활동의 복잡성에 대한 상이한 결정을 위해 한정될 수 있다. 예를 들면, 패턴 (530)에 적합한 활동이 식별되려고 할 때에, 패턴 (505)에 적합한 활동이 식별되려고 할 때보다 더 긴 지속 시간 윈도우들이 사용될 수 있다.
도 6은 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들 (600)의 예시이다. 예를 들면, 패턴들 (600)은 프로세스 400 (도 4) 내 415에서 식별될 수 있다.
패턴들 (500)과 비슷하게, 패턴들 (600)은 순환 인공 신경 네트워크 내 활동의 예시들이다. 그러나, 패턴들 (600)은, 그 패턴들 (600) 모두가 지향성 소집단들이나 지향성 심플렉스들은 아니라는 접에서 패턴들 (500)의 엄격한 순서 정함과는 다르다. 특히, 패턴들 (605, 610)은 참조번호 515의 패턴보다 더 낮은 방향성을 가진다. 실제로, 패턴 (605)은 싱크 노드를 전혀 가지지 않는다. 그럼에도 불구하고, 패턴들 (605, 610)은 랜덤한 우연함을 통해 예상되는 것을 초과한 순서 정해진 활동의 정도를 표시하며 그리고 순환 인공 신경 네트워크 내 활동의 복잡성을 결정하기 위해 사용될 수 있다.
도 7은 순환 인공 신경 네트워크 내에서 식별될 수 있으며 결정 순간들을 식별하기 위해 사용될 수 있는 활동의 패턴들 (700)의 예시이다. 예를 들면, 패턴들 (700)은 프로세스 400 (도 4) 내 415에서 식별될 수 있다.
패턴들 (700)은, 개별 소집단들이나 심플렉스들보다 더 많은 포인트들을 포함하는 패턴들을 한정하며 지향성 심플렉스들의 그룹 내 공동 (cavity)들을 둘러싼 동일한 차원 (즉, 동일한 개수의 포인트들을 가짐)의 지향성 소집단들이나 지향성 심플렉스들의 그룹들이다. 예로서, 참조번호 705의 패턴은, 차수 (degree) 2의 상동 클래스를 함께 한정하는 여섯 개의 상이한 3 포인트, 2-차원 패턴들 (505)을 포함하며, 반면에 참조번호 710의 패턴은, 차수 (degree) 2의 제2 상동 클래스를 함께 한정하는 여덟 개의 상이한 3 포인트, 2-차원 패턴들 (505)을 포함한다. 패턴들 (705, 710) 내 상기 3 포인트, 2-차원 패턴들 (505) 각각은 각자의 공동을 둘러싸고 있는 것으로 생각될 수 있다. 지형성 그래프와 연관된 n번째 베티 수는 위상적 표현 내의 그런 상동 클래스들의 카운트를 제공한다.
참조번호 700의 패턴들과 같은 패턴들에 의해 도시된 활동은 랜덤한 우연함에 의해 일어날 것 같지 않은 네트워크 내 활동의 순서 정함의 상대적으로 높은 정도를 도시한다. 패턴들 (700)은 그 활동의 복잡성을 특성화하기 위해 사용될 수 있다.
몇몇 구현들에서, 결정 순간들을 신원확인하는 동안에 활동의 일부 패턴들만이 식별되며 그리고/또는 식별된 활동의 패턴들의 일부는 폐기되거나 그렇지 않으면 무시된다. 예를 들어, 도 5를 참조하면, 5 포인트, 4-차원 심플렉스 패턴 (515)에 적합한 활동은 4 포인트, 3-차원 및 3 포인트, 2-차원 심플렉스 패턴들 (510. 505)에 적합한 활동을 원래 포함한다. 예를 들면, 도 5의 4-차원 심플렉스 패턴 (515) 내 포인트들 0, 2, 3, 4 및 포인트들 1, 2, 3, 4 둘 모두는 3-차원 심플렉스 패턴 (510)에 적합하다. 몇몇 구현들에서, 더 작은 개수의 포인트들을 포함하는 - 그래서 더 낮은 차수인 - 패턴들은 결정 순간들의 신원확인 동안에 폐기될 수 있으며 그렇지 않고 무시될 수 있다.
다른 예로서, 활동의 일부 패턴들만이 식별될 필요가 있다. 예를 들면, 몇몇 구현들에서 홀수 포인트들 (3, 5, 7, ...) 또는 심지어는 짝수 차원들 (2, 4, 6, ...)을 구비한 패턴들만이 결정 순간들 신원확인에서 사용된다.
상이한 윈도우들 내 순환 인공 신경 네트워크 디바이스 내 활동 패턴들에서의 순서 정함의 복잡성이나 정도는 다양한 상이한 방식들로 결정될 수 있다. 도 8은 그런 결정에서 사용될 수 있는 데이터 테이블 (800)의 개략적인 도시이다. 데이터 테이블 (800)은 다른 활동들과 별개로 또는 함께 상기 활동 패턴들의 복잡성을 결정하기 위해 사용될 수 있다. 예를 들면, 데이터 테이블 (800)은 참조번호 400 (도 4) 내 420에서 사용될 수 있다.
추가의 상세 내용에서, 테이블 (800)은 윈도우 "N" 동안의 패턴 발생의 숫자 카운트를 포함하며, 여기에서 상이한 차원들의 패턴들에 부합하는 활동의 숫자 카운트들은 상이한 로우 (row)들 내에 존재한다. 예를 들면, 상기 도시된 예에서, 참조번호 805의 로우는 하나 이상의 3 포인트, 2-차원 패턴들에 부합하는 활동의 발생들의 숫자 카운트 (즉, "2032")를 포함하며, 반면에 참조번호 810의 로우는 하나 이상의 4 포인트, 3-차원 패턴들에 부합하는 활동의 발생들의 숫자 카운트 (즉, "8772")를 포함한다. 패턴들의 발생이 상기 활동이 비-랜덤인 순서를 가진다는 것을 표시하기 때문에, 상기 숫자 카운트들은 상기 활동 패턴들의 전체적인 복잡성의 일반화된 특성화를 또한 제공한다. 참조번호 800의 테이블과 비슷한 테이블이, 예를 들면, 프로세스 400 (도 4) 내 410에서 정의된 각 윈도우에 대해 형성될 수 있다.
비록 테이블 (800)이 모든 유형이 활동 패턴에 대해 분리된 로우 및 분리된 엔트리를 포함하지만, 이것은 반드시 그런 것은 아니다. 예를 들면, 하나 이상의 카운트들 (예를 들면, 더 단순한 패턴들의 카운트들)이 테이블 (800)로부터 그리고 복잡성을 판별하는 것으로부터 생략될 수 있다. 다른 예로서, 몇몇 구현들에서, 단일 로우 또는 엔트리는 다수의 활동 패턴들의 발생들의 카운트들을 포함할 수 있다.
비록 도 8이 테이블 (800) 내 숫자 카운트를 제시하지만, 이것은 항상 반드시 것은 아니다. 예를 들면, 상기 숫자 카운트는 벡터로서 표현될 수 있다 (예를 들면, <2032, 877, 133, 66, 48, ...>). 카운트가 어떻게 제시되는가에 무관하게, 몇몇 구현들에서, 상기 카운트들은 이진수로 표현될 수 있으며 그리고 디지털 데이터 프로세싱 하부구조와 호환될 수 있다.
몇몇 구현들에서, 예를 들면, 프로세스 (400) (도 4) 내 420에서 상기 순서 정하기의 정도나 복잡성을 결정하기 위해 상기 패턴들 발생의 숫자 카운트들은 가중치가 부여되거나 결합될 수 있다. 예를 들면, 오일러 특성은 상기 활동의 복잡성의 근사 (approximation)를 제공할 수 있으며 다음과 같이 주어진다:
[수학식 1]
여기에서 Sn 은 n 포인트들의 패턴 (즉, 차수 n-1의 패턴)의 발생들의 횟수이다. 그 패턴들은,, 예를 들면, 방향성 소집단 패턴들 (500) (도 5)일 수 있다.
상기 순서 정하기의 정도나 복잡성을 결정하기 위해 상기 패턴들 발생의 숫자 카운트들이 어떻게 가중치가 부여되거나 결합될 수 있는가의 다른 예로서, 몇몇 구현들에서, 활성인 링크들의 가중치들에 기반하여 패턴 발생들은 가중치가 부여될 수 있다. 추가의 상세 내용에서, 이전에 설명된 것처럼, 인공 신경 네트워크 내 노드들 사이의 연결의 강도는, 예를 들면, 그 연결이 트레이닝 동안에 얼마나 활성이었는가의 결과로서 변할 수 있다. 상대적으로 더 강한 링크들의 컬렉션을 따르는 행동의 패턴 발생은 상대적으로 더 약한 링크들의 컬렉션을 따른 활동의 동일한 패턴 발생과는 상이하게 가중치가 부여될 수 있다. 예를 들면, 몇몇 구현들에서, 활성인 링크들의 가중치의 합은 상기 발생에 가중치를 부여하기 위해 사용될 수 있다.
몇몇 구현들에서, 복잡성의 상기 오일러 특성이나 다른 측정은, 주어진 네트워크가 주어진 자신의 구조를 형성하는 것을 가능하게 하는 패턴들의 전체 개수 및/또는 특별한 윈도우 내에서 부합되는 패턴들의 전체 개수에 의해 정규화될 수 있다. 네트워크가 형성하는 것을 가능하게 하는 패턴들의 전체 개수에 관련한 정규화는 아래 수학식 2 및 수학식 3에서 주어진다.
몇몇 구현들에서, 더 많은 개수의 노드들을 수반하는 더 높은 차원 패턴들의 발생들은 더 작은 개수의 노드들을 수반하는 더 낮은 차원 패턴들의 발생들보다 더 무겁게 가중치가 부여될 수 있다. 예를 들면, 방향성 소집단들을 형성하는 가능성은 차원이 증가하면 급격하게 감소한다. 특히, n+1 개 노드들로부터 n-소집단을 형성하기 위해, 모두가 올바르게 비롯하는 (n+1)n/2 개 에지들이 필요하다. 이 확률은 가중치 부여에 있어서 반영될 수 있다.
몇몇 구현들에서, 패턴들의 차원 및 방향성 둘 모두는 패턴들의 발생들에 가중치를 부여하고 활동의 복잡성을 결정하기 위해 사용될 수 있다. 예를 들면, 도 6을 참조하면, 5 포인트, 4-차원 패턴 (515)의 발생들은 5 포인트, 4-차원 패턴들 (605, 610)의 발생들보다, 그 패턴들의 방향성에서의 차이들에 따라서, 더 무겁게 가중치가 부여될 수 있다
행동의 복잡성이나 순서 정하기의 정도를 결정하기 위해 패턴들의 차원 및 방향성 둘 모두를 사용하는 예는 다음처럼 주어질 수 있다.
[수학식 2]
여기에서 Sx active 은 n 포인트들의 패턴의 활성적 발생들의 횟수를 표시하며 ERN은 등가의 랜덤 네트워크, 즉, 랜덤하게 연결된 동일한 개수의 노드들을 가진 네트워크를 위한 계산이다. 또한, SC는 다음과 같이 주어진다.
[수학식 3]
여기에서 Sx silent 은, 상기 순환 인공 신경 네트워크가 조용하며 상기 네트워크가 형성하는 것이 가능한 패턴들이 전체 개수를 구현하는 것으로서 생각될 수 있을 때에 n 포인트들의 패턴의 발생들의 횟수를 표시한다. 수학식 2 및 수학학 3에서, 상기 패턴들은, 예를 들면, 지향성 소집단 패턴들 (500) (도 5)일 수 있다.
도 9는 구별 가능한 복잡성을 가진 활동 패턴들의 타이밍을 결정하는 것의 개략적인 도시이다. 도 9에 도시된 결정은 다른 활동들과 분리하여 또는 함께 수행될 수 있다. 예를 들면, 상기 결정은 프로세스 400 (도 4)의 425에서 수행될 수 있다.
도 9는 참조번호 905의 그래프 및 참조번호 910의 그래프를 포함한다. 참조번호 905의 그래프는 패턴들의 발생을 x-축을 따른 시간의 함수로서 도시한다. 특히, 개별 발생들은 수직 라인들 906, 907, 908, 909으로 개략적으로 도시된다. 발생들의 각 로우는 활동이 각자의 패턴이나 패턴의 클래스와 부합하는 사례들일 수 있다. 예를 들면, 제일 위 로우의 발생들은 행동이 참조번호 505 (도 5)의 패턴들에 부합하는 사례들일 수 있으며, 제2 로우의 발생들은 행동이 참조번호 510 (도 5)의 패턴들에 부합하는 사례들일 수 있으며, 제3 로우의 발생들은 행동이 참조번호 515 (도 5)의 패턴들에 부합하는 사례들일 수 있으며, 이하 마찬가지이다.
참조번호 905의 그래프는, 활동 패턴들이 구별 가능한 복잡성을 가질 때에 상이한 시간 윈도우를 개략적으로 표시하는 단속선 직사각형들 915, 920, 925를 또한 포함한다. 보이는 것처럼, 순환 인공 신경 네트워크 내 활동이 복잡성을 표시하는 패턴에 부합할 가능성은, 단속선 직사각형들 915, 920, 925에 의해 표시된 윈도우들 외부보다 그 윈도우들 동안에 더 높다.
참조번호 910의 그래프는 이 발생들과 연관된 복잡성을 x-축을 따른 시간의 함수로서 도시한다. 참조번호 910의 그래프는 단속선 직사각형 (915)에 의해 표현된 윈도우와 일치하는 복잡성인 제1 피크 (930) 및 단속선 직사각형들 (920, 925)에 의해 표현된 윈도우와 일치하는 복잡성인 제2 피크 (935)를 포함한다. 보이는 것처럼, 피크들 (930, 925)에 의해 도시된 복잡성은, 복잡성의 베이스라인 레벨 (940)인 것으로 간주될 수 있는 것과는 구별 가능하다.
몇몇 구현들에서, 순환 인공 신경 네트워크의 출력이 판독되려고 하는 시점은 구별 가능한 복잡성을 가진 활동 패턴들의 발생들과 일치한다. 예를 들면, 도 9의 예시적인 환경에서, 순환 인공 신경 네트워크의 출력은 피크들 (930, 925)에서, 즉, 단속선 직사각형들 915, 920, 925에 의해 표현된 윈도우 동안에 판독될 수 있다.
순환 인공 신경 네트워크 내 복잡성의 구별 가능한 레벨들의 신원확인은 입력이 데이터의 스트림일 때에 특히 유익하다. 데이터 스트림들의 예들은, 예를 들면, 비디오 또는 오디오 데이터를 포함한다. 비록 데이터 스트림들이 시작하는 부분을 구비하지만, 상기 데이터 스트림의 시작 부분과 미리-정의된 관계를 가지지 않은 데이터 스트림 내 정보를 프로세싱하는 것이 일반적으로 바람직하다. 예로서, 신경 네트워크는, 예를 들면, 자동차 부근에 있는 자전거 타는 사람들을 인식하는 것처럼 물체 인식을 수행할 수 있을 것이다. 그런 신경 네트워크들은 자전거 타는 사람들이 그 비디오 스트림 내에 나타나는 때에 관계없이, 즉, 그 비디오의 시작 부분 이후의 시간을 고려하지 않으면서도, 그 자전거 타는 사람들을 인식할 수 있어야 한다. 이 예와 함께 계속하면, 데이터 스트림이 물체 인식 신경 네트워크로 입력될 때에, 상기 신경 네트워크 내 활동의 임의 패턴들은 낮은 또는 무활동 레벨의 복잡성을 일반적으로 디스플레이할 것이다. 이 낮은 또는 무활동 레벨의 복잡성은 상기 신경 네트워크 디바이스로의 데이터 스트림의 연속적인 (또는 거의 연속적인) 입력에 무관하게 디스플레이된다. 그러나, 관심 대상 물체가 비디오 스트림에 나타날 때에, 상기 활동의 복잡성은 구별 가능하게 될 것이며 그리고 상기 비디오 스트림 내에서 물체가 인식되는 시점을 표시할 것이다. 그래서, 상기 활동의 구별 가능한 레벨의 복잡성의 타이밍은 상기 데이터 스트림 내 데이터가 특정 기준을 충족시키는가의 여부에 관한 예/아니오 출력으로서 또한 행동할 수 있다.
몇몇 구현들에서, 상기 순환 인공 신경 네트워크의 출력의 타이밍은 물론이며 그 신경 네트워크의 콘텐트도 구별 가능한 복잡성을 가지는 활동 패턴들에 의해 주어진다. 특히, 상기 활동 패턴들에 적합한 활동에 참여한 노드들의 신원 및 활동은 상기 순환 인공 신경 네트워크의 출력으로 간주될 수 있다. 상기 식별된 활동 패턴들은 그래서 상기 신경 네트워크에 의한 프로세싱의 결과 그리고 이 결정이 판독되려는 때의 타이밍을 예시한다.
그 결정의 콘텐트는 다양한 상이한 모습들로 표현될 수 있다. 예를 들면, 몇몇 구현들에서 그리고 아래에서의 추가 상세 내용에서 설명된 것처럼, 상기 결정의 콘텐트는 이진 벡터나 1들과 0들의 행렬로서 표현될 수 있다. 각 자릿수 (digit)는, 예를 들면, 노드들의 미리 정의된 그룹 및/또는 미리 정의된 지속 시간에 대해 활동의 패턴이 존재하는가 또는 존재하지 않는가의 여부를 표시할 수 있다. 그런 구현들에서, 상기 결정의 콘텐트는 이진수로 표현되며 그리고 전통적인 디지털 데이터 프로세싱 하부구조와 호환될 수 있다.
도 10은 순환 인공 신경 네트워크 내 활동의 특성화에 기반하여 그 네트워크를 이용하여 신호들을 인코딩하기 위한 프로세스 (1000)의 흐름도이다. 신호들은, 예를 들면, 전송, 암호화, 및 데이터 저장과 같은 다양한 상이한 환경들에서 인코딩될 수 있다. 기계-판독가능 명령어들의 하나 이상의 세트들의 로직에 따라 동작들을 수행하는 하나 이상의 데이터 프로세싱 장치들의 시스템에 의해 프로세스 (1000)가 수행될 수 있다. 예를 들면, 프로세스 (1000)에서 사용된 상기 순환 인공 신경 네트워크를 구현하기 위한 소프트웨어를 실행하는 하나 이상의 컴퓨터들의 동일한 시스템에 의해 프로세스 (1000)가 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1000)는 참조번호 400의 프로세스를 수행하는 동일한 데이터 프로세싱 장치에 의해 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1000)는, 예를 들면, 신호 전송 시스템 내 인코더나 데이터 저장 시스템의 인코더에 의해 수행될 수 있다.
프로세스 (1000)를 수행하는 시스템은 1005에서 신호를 순환 인공 신경 네트워크로 입력한다. 몇몇 경우에, 상기 신호 입력은 별개의 주입 이벤트이다. 다른 경우에, 상기 입력 신호는 상기 순환 인공 신경 네트워크로 스트리밍된다.
프로세스 (1000)를 수행하는 시스템은 1010에서 상기 순환 인공 신경 네트워크 내 하나 이상의 결정 순간들을 식별한다. 예를 들면, 상기 시스템은 프로세스 (400) (도 4)를 수행하는 것에 의해 하나 이상의 결정 순간들을 식별할 수 있다.
프로세스 (1000)를 수행하는 상기 시스템은 1015에서 상기 순환 인공 신경 네트워크의 출력을 판독한다. 위에서 설명된 것처럼, 상기 순환 인공 신경 네트워크의 출력의 콘텐트는 상기 결정 포인트(들)를 식별하기 위해 사용되는 패턴들에 부합하는 신경 네트워크 내 활동이다.
몇몇 구현들에서, 1015에서, 노드들의 특별한 컬렉션에서 활동의 특별한 패턴의 발생들을 식별하기 위해서 그래서 상기 순환 인공 신경 네트워크의 출력을 판독하기 위해서 개별 "리더기 노드 (reader node)들"이 신경 네트워크에 부가될 수 있다. 상기 리더기 노드들은, 노드들의 특별한 컬렉션에서의 활동이 타이밍 (및 아마도 크기) 기준을 충족시킨다면 그리고 충족시켜야만 파이어 (fire)할 수 있다. 예를 들면, 노드들 104, 105, 106 (도 2, 도 3)에서 패턴 (500) (도 5)의 발생을 판독하기 위해서, 리더기 노드는 노드들 104, 105, 106 (또는 그 노드들 사이의 링크들 (110))에 연결될 수 있을 것이다. 상기 리더기 노드는, 노드들 104, 105, 106 (또는 그것들의 링크들)을 수반한 활동 패턴이 발생한다면 그 자체만이 활성이 될 것이다.
그런 리더기 노드들 사용은 상기 순환 인공 신경 네트워크에 대한 시간의 윈도우들을 전체적으로 한정하기 위한 필요성을 제거할 것이다. 특히, 개별 리더기 노드들은 상이한 노드들 및/또는 개수의 노드들 (또는 그것들 사이의 링크들)에 연결될 수 있다. 상기 개별 리더기 노드들은 상이한 활동 패턴들을 식별하기 위해 재단된 응답들 (예를 들면, 인터그레이트-파이어 (integrate-and-fire) 모델 내 상이한 붕괴 시간들)로 세팅될 수 있다.
프로세스 (1000) 수행 시스템은 1020에서 상기 순환 인공 신경 네트워크의 출력을 전송하거나 저장한다. 1020에서 수행된 상기 특별한 행동은 참조번호 1000의 프로세스가 사용되고 있는 환경을 반영할 수 있다. 예를 들면, 안전한 또는 압축된 통신들이 소망되는 환경들에서, 프로세스 (1000)를 수행하는 상기 시스템은 상기 순환 신경 네트워크의 출력을, 동일한 또는 유사한 순환 신경 네트워크에 대한 액세스를 구비한 수신기로 전송할 수 있다. 다른 예로서, 안전한 또는 압축된 데이터 저장이 소망되는 환경들에서, 프로세스 (1000)를 수행하는 상기 시스템은 상기 순환 신경 네트워크의 출력을 나중의 액세스들을 위해 하나 이상의 기계-판독가능 데이터 저장 디바이스들 내에 기록할 수 있다.
몇몇 구현들에서, 상기 순환 신경 네트워크의 완전한 출력은 전송되거나 저장되지 않는다. 예를 들면, 상기 순환 신경 네트워크의 출력의 콘텐트가 활동 내 복잡성을 표시하는 패턴들에 부합하는 상기 신경 네트워크 내 상기 활동인 구현들에서, 상대적으로 더 복잡하거나 더 높은 차원 활동에 부합하는 활동만이 전송되거나 저장될 수 있다. 예로서, 참조번호 500 (도 5)의 패턴들을 참조하여, 몇몇 구현들에서 참조번호 515, 520, 525, 및 530의 패턴들에 부합하는 활동만이 전송되거나 저장되며, 반면에 참조번호 505, 510의 패턴들에 부합하는 활동은 무시되거나 폐기된다. 이 방식에서, 손실이 있는 프로세스는 전송되거나 저장된 데이터의 볼륨이, 인코딩되고 있는 정보의 완전함의 비용에서 감소되는 것을 가능하게 한다.
도 11은 순환 인공 신경 네트워크 내 활동의 특성화에 기반하여 그 네트워크를 이용하여 신호들을 디코딩하기 위한 프로세스 (1100)의 흐름도이다. 신호들은, 예를 들면, 신호 수신, 해독, 및 저장부로부터의 데이터 독출과 같은 다양한 상이한 환경들에서 디코딩될 수 있다. 기계-판독가능 명령어들의 하나 이상의 세트들의 로직에 따라 동작들을 수행하는 하나 이상의 데이터 프로세싱 장치의 시스템에 의해 프로세스 (1100)가 수행될 수 있다. 예를 들면, 프로세스 (1100)에서 사용된 순환 인공 신경 네트워크를 구현하기 위한 소프트웨어를 실행하는 하나 이상의 컴퓨터들의 동일 시스템에 의해 프로세스 (1100)가 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1100)는 참조번호 400의 프로세스 및/또는 참조번호 1000의 프로세스를 수행하는 동일한 데이터 프로세싱 장치에 의해 수행될 수 있다. 몇몇 사례들에서, 프로세스 (1100)는, 예를 들면, 신호 수신 시스템 내 디코더나 데이터 저장 시스템의 디코더에 의해 수행될 수 있다.
프로세스 (1100)를 수행하는 시스템은 1105에서 순환 인공 신경 네트워크의 출력의 적어도 일부를 수신한다. 1105에서 수행될 특별한 행동은 프로세스 (1100)가 사용되고 있는 환경을 반영할 수 있다. 예를 들면, 프로세스 (1100)를 수행하는 상기 시스템은 상기 순환 인공 신경 네트워크의 출력을 포함하는 전송된 신호를 수신할 수 있으며 또는 상기 순환 인공 신경 네트워크의 출력을 저장하는 기계-판독 데이터 저장 디바이스를 읽을 수 있다.
프로세스 (1100)를 수행하는 상기 시스템은 1110에서 수신된 출력으로부터 상기 순환 인공 신경 네트워크의 입력을 재구축한다. 재구축은 다양한 상이한 방식들로 진행할 수 있다. 예를 들면, 몇몇 구현들에서, 제2 인공 신경 네트워크 (순환 또는 순환 아님)은 1105에서 수신된 출력으로부터 상기 순환 신경 네트워크로의 입력을 재구축하도록 트레이닝될 수 있다.
다른 예로서, 몇몇 구현들에서, 기계 학습 (딥 러닝 (deep learning)을 포함하지만 그것으로 한정되지 않음)을 이용하여 트레이닝된 디코더는 1105에서 수신된 출력으로부터 상기 순환 신경 네트워크로의 입력을 재구축하기 위해 트레이닝될 수 있다.
또 다른 예로서, 몇몇 구현들에서, 동일한 순환 인공 신경 네트워크로의 또는 유사한 순환 인공 신경 네트워크로의 입력은 그 순환 인공 신경 네트워크의 출력이 1105에서 수신된 출력에 어느 정도까지 부합할 때까지 반복하여 변경될 수 있다.
몇몇 구현들에서, 프로세스 (1100)는 사용자 입력을 수신하는 단계를 포함할 수 있으며, 그 사용자 입력은 상기 입력이 재구축되고, 응답으로 1110에서 그에 따라서 재구축을 조절하는 정도를 규정한다. 예를 들면, 상기 사용자 입력은 완전한 재구축이 필요하지 않다고 규정할 수 있을 것이다. 응답으로, 프로세스 (1100)를 수행하는 상기 시스템은 상기 재구축을 조절한다. 예를 들면, 상기 순환 신경 네트워크의 출력의 콘텐트가 활동 내 복잡성을 표시하는 패턴들에 부합하는 신경 네트워크 내 상기 활동인 구현들에서, 상대적으로 더 복잡하거나 더 높은 차원 활동에 부합하는 활동을 특성화하는 출력만이 상기 입력을 재구축하기 위해 사용될 것이다. 예로서, 참조번호 500의 패턴들 (도 5)을 참조하면, 몇몇 구현들에서 참조번호 515, 520, 525, 및 530의 패턴들에 부합하는 활동만이 상기 입력을 재구축하기 위해 사용될 수 있을 것이며, 반면에 참조번호 506, 510의 패턴들에 부합하는 활동은 무시되거나 폐기될 수 있을 것이다. 이 방식에서, 손실이 있는 재구축은 선택된 환경들에서 진행될 수 있다.
몇몇 구현들에서, 참조번호 1000, 1100의 프로세스들은 피어-투-피어 암호화 통신들을 위해 사용될 수 있다. 특히, 송신기 (즉, 상기 인코더) 및 수신기 (즉, 상기 디코더) 둘 모두에는 동일한 순환 인공 신경 네트워크가 제공될 수 있다. 서드 파티가 역설계할 수 없으며 신호를 해독할 수 없다는 것을 보장하기 위해 상기 공유된 순환 인공 신경 네트워크가 재단될 수 있는 여러 방식들이 존재하며, 다음의 것들을 포함한다:
- 상기 순환 인공 신경 네트워크의 구조,
- 상기 순환 인공 신경 네트워크의 기능적인 세팅들로, 노드 상태들 및 에지 가중치들을 포함한다
- 상기 패턴들의 크기 (또는 차원), 그리고
- 각 차원 내 패턴들의 단편.
이 파라미터들은 전송 보안을 함께 보장하는 다수의 레이어들의 것으로 생각될 수 있다. 또한, 몇몇 구현들에서, 상기 결정 순간 시간 포인트들은 상기 신호를 해독하기 위한 키 (key)들로서 사용될 수 있다.
비록 참조번호 1000, 1100의 프로세스들이 단일의 순환 인공 신경 네트워크를 인코딩하고 디코딩하는 면에서 제시되었지만, 참조번호 1000, 1100의 프로세스들은 다수의 순환 인공 신경 네트워크들에 의존하는 시스템들 및 프로세스들에서 또한 적용될 수 있다. 이 순환 인공 신경 네트워크는 병렬이나 직렬의 어느 하나로 작동할 수 있다.
직렬 작동의 예로서, 제1 순환 인공 신경 네트워크의 출력은 제2 순환 인공 신경 네트워크의 입력으로서 사용될 수 있다. 상기 제2 순환 인공 신경 네트워크의 결과인 출력은 상기 제1 순환 인공 신경 네트워크로의 입력의 두 차례 인코딩된 (또는 두 차례 암호화된) 버전이다. 순환 인공 신경 네트워크의 그런 직렬 배열은, 상이한 파티들이 정보에 대한 상이한 레벨들의 액세스를 가지는 환경들에서, 예를 들면, 환자 신원 정보가, 의료 기록의 나머지를 사용하고 있을 것이며 그 나머지에 대한 액세스를 구비한 파티에게 액세스 가능하지 않을 수 있는 의료 기록 시스템들에서 유용할 수 있다
병렬 작동의 예로서, 동일한 정보가 다수의 상이한 순환 인공 신경 네트워크들에게로 입력될 수 있다. 그 신경 네트워크들의 상이한 출력들은, 예를 들면, 상기 입력이 높은 충실도를 구비하여 재구축될 수 있다는 것을 보장하기 위해 사용될 수 있다.
비록 많은 구현들이 설명되었지만, 다양한 수정들이 만들어질 수 있다. 예를 들면, 비록 상기 응용이 순환 인공 신경 네트워크 내의 활동이 순서 정함을 표시하는 패턴에 부합해야 한다는 것을 일반적으로 의미하지만, 이것은 반드시 그런 것은 아니다. 오히려, 몇몇 구현들에서, 순환 인공 신경 네트워크 내에서의 활동은 패턴에 적합하면서도, 그 패턴에 부합하는 활동을 반드시 디스플레이하지는 않을 수 있다. 예를 들면, 패턴에 부합하는 활동을 순환 신경 네트워크가 디스플레이할 가능성에서의 증가는 그 활동의 비-랜덤 순서 정함으로 취급될 수 있다.
또 다른 예로서, 몇몇 구현들에서, 상이한 그룹의 패턴들은 상이한 순환 인공 신경 네트워크들에서 상기 활동을 특성화함에서의 사용을 위해 재단될 수 있다. 상기 패턴들은, 예를 들면, 상이한 순환 인공 신경 네트워크들의 활동을 특성화함에 있어서 상기 패턴들의 유효함에 따라 재단될 수 있다. 유효함은, 예를 들면, 상이한 패턴들의 발생 카운트들을 나타내는 테이블이나 벡터의 크기에 기반하여 계량화될 수 있다.
또 다른 예로서, 몇몇 구현들에서, 순환 인공 신경 네트워크들 내 활동을 특성화하기 위해 사용될 패턴들은 노드들 사이의 연결의 강도 (strength)를 고려할 수 있다. 다른 말로 하면, 본원에서 이전에 설명된 패턴들은 두 개 노드들 사이의 모든 신호 전송 활동을 이진수 방식으로, 즉, 상기 활동이 존재하거나 존재하지 않는 것 중 어느 하나로 표현한다. 이는 항상 그런 것은 아니다. 오히려, 몇몇 구현들에서, 패턴에 적합하다는 것은, 어떤 레벨이나 강도의 연결의 활동이 순환 인공 신경 네트워크의 활동 내 순서 정해진 복잡성을 표시하는 것으로 취해질 것을 필요로 할 수 있다.
또 다른 예로서, 상기 순환 인공 신경 네트워크의 출력의 콘텐트는, 신경 네트워크 내 활동이 구별 가능한 레벨의 복잡성을 가지는 시간 윈도우들 외부에서 발생하는 활동 패턴들을 포함할 수 있다. 예를 들면, 1015에서 읽혀지며 1020 (도 10)에서 전송되거나 저장되는 순환 인공 신경 네트워크의 출력은, 예를 들면, 참조번호 905의 그래프 (도 9) 내 단속선 직사각형들 (915, 920, 925) 외부에서 발생하는 활동 패턴들을 인코딩하는 정보를 포함할 수 있다. 예로서, 상기 순환 인공 신경 네트워크의 출력은 활동의 가장 높은 차수 패턴들만을, 그 활동의 패턴들이 언제 발생하는가와는 무관하게, 특성화할 수 있을 것이다.
도 12, 도 13 및 도 14는, 예를 들면, 신경 네트워크 내 활동의 패턴들과 같은 위상적인 구조들의 이진수 모습이나 표현 (1200)의 걔략적인 예시들이다. 도 12, 도 13 및 도 14에 도시된 위상적인 구조들은 모두 동일한 정보, 즉, 그래프 내 특징들의 존재 또는 부재의 표시를 포함한다. 그 특징들은, 예를 들면, 신경 네트워크 디바이스 내 활동일 수 있다. 몇몇 구현들에서, 상기 활동은, 입력에 응답하는 다른 활동과 구별 가능한 복잡성을 상기 신경 네트워크 내 활동이 가지는 시간 구간에 기반하여 식별되거나 그 시간 구간 동안에 식별된다.
보이는 것처럼, 참조번호 1200의 이진수 표현은 참조번호 1205, 1207, 1211, 1293, 1294, 1297의 비트들 및 (생략 부호 "..."로 표현된) 추가의 임의 개수의 비트들을 포함한다. 교훈적인 목적들을 위해, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 비트들은, 그 비트 내 이진수 값을 표시하기 위해 채워지거나 채워지지 않은 것중 어느 하나인 개별 직사각형 모습들로 도시된다. 상기 개략적인 도시들에서, 참조번호 1200의 표현은 표면상으로는 비트들의 1차원 벡터 (도 12, 13)나 비트들의 2차원 행렬 (도 14) 중의 어느 하나인 것으로 보인다. 그러나, 참조번호 1200의 표현은 벡터와, 행렬과, 또는 비트들의 다른 순서 정해진 컬렉션과는, 동일한 정보가 비트들의 순서에 무관하게, 즉, 상기 컬렉션 내 개별 비트들의 위치와는 무관하게 인코딩될 수 있다는 점에서 상이하다.
예를 들면, 몇몇 구현들에서, 참조번호 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)을 제공할 뿐이다.
여담으로, 다른 구현들에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 개별 비트들의 위치는 실제로, 예를 들면, 상기 그래프 내 특징의 위치와 같은 정보를 인코딩한다는 것이 가능하다. 이 구현들에서, 소스 그래프는 참조번호 1200의 표현을 이용하여 재구축될 수 있다. 그러나, 그런 인코딩이 반드시 제시되는 것은 아니다.
위상적 특징의 존재 또는 부재를 그래프 내 그 특징의 위치에 무관하게 표현하는 비트의 능력을 고려하면, 도 1에서 참조번호 1205의 비트는 참조번호 1207의 비트 이전에 나타나며, 참조번호 1207의 비트는 참조번호 1200의 표현의 시작 부분에서 참조번호 1211의 비트 이전에 나타난다. 대조적으로, 도 2 및 도 3에서, 참조번호 1200의 표현 내 참조번호 1205, 1207, 및 1211의 비트들의 순서 - 그리고 참조번호 1200의 표현 내 다른 비트들에 대한 참조번호 1205, 1207, 및 1211의 비트들의 위치는 변하였다. 그럼에도 불구하고, 이진수 표현 (1200) 내 정보를 인코딩하기 위한 프로세스를 정의하는 알고리즘이나 규칙들의 세트에서 그런 것처럼, 이진수 표현 (1200)은 동일하게 남아 있는다. 상기 비트 및 상기 특징 사이의 대응 관계가 알려진 한은, 상기 표현 (1200) 내 비트들의 위치는 관련성이 없다.
추가의 상세 내용에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 각 비트는 그래프 내 특징의 존재 또는 부재를 개별적으로 나타낸다. 그래프는 노드들의 세트 및 그 노드들 사이의 에지들의 세트이다. 상기 노드들은 물체들에 대응할 수 있다. 물체들의 예들은, 예를 들면, 신경 네트워크 내 인공 뉴론들, 소셜 네트워크 내 개인들 등을 포함할 수 있다. 에지들은 물체들 사이의 몇몇 관계에 대응할 수 있다. 관계들의 예는, 예를 들면, 구조적인 연결 또는 그 연결을 따른 활동을 포함한다. 신경 네트워크의 환경에서, 인공 뉴론들은 뉴론들 사이의 구조적인 연결에 의해 또는 구조적인 연결을 따른 정보 전송에 의해 관련될 수 있다. 소셜 네트워크의 환경에서, 개인들은 "친구"나 다른 관계있는 연결에 의해 관련될 수 있으며 또는 그와 같은 연결을 따른 정보 전송 (예를 들면, 포스팅)에 의해 관련될 수 있다. 에지들은 그래서 노드들의 세트의 상대적으로 수명이 긴 구조적 특성들 또는 한정된 시간 프레임 내에서 발생하는 상대적으로 일시적인 활동 특성들이라는 특징을 가질 수 있다. 또한, 에지들은 지향성 또는 양방향성 중 어느 하나일 수 있다. 지향성 에지 (directed edge)들은 상기 물체들 사이의 관계의 방향성을 표시한다. 예를 들면, 제1 뉴론으로부터 제2 뉴론으로의 정보 전송은 전송의 방향을 표시하는 방향성 에지에 의해 표현될 수 있다. 다른 예로서, 소셜 네트워크에서, 관계형 연결 (relational connection)은 두 번째 사용자가 첫 번째 사용자로부터 정보를 수신할 것이지만 그 첫 번째 사용자는 두 번째 사용자로부터 정보를 수신하지 않을 것이라는 것을 표시할 수 있다. 위상적인 면에서, 그래프는 단위 인터벌들 [0, 1]의 세트로서 표현될 수 있으며, 여기에서 0 및 1은 에지에 의해 연결된 각자의 노드들로 식별된다.
존재 또는 부재가 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들에 의해 표시되는 상기 특징들은, 예를 들면, 노드, 노드들의 세트, 노드들의 세트들의 세트, 에지들의 세트, 에지들의 세트들의 세트, 및/또는 추가의 계층적으로-더-복잡한 특징들 (예를 들면, 노드들의 세트들의 세트들의 세트)일 수 있다. 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 일반적으로 상이한 계층적인 레벨들에 있는 존재 또는 부재를 일반적으로 표현한다. 예를 들면 참조번호 1205의 비트는 노드의 존재 또는 부재를 표현할 수 있으며, 반면에서 참조번호 1205의 비트는 노드들의 세트의 존재 또는 부재를 표현할 수 있다.
몇몇 구현들에서, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 몇몇 특성의 임계 레벨을 가진 그래프 내 특징들을 표현할 수 있다. 예를 들면, 참조번호 1205, 1207, 1211, 1293, 1294, 1297 의 비트들은 에지들의 세트 내 활동이 존재한다는 것만이 아니라 이 행동이 임계 레벨 위 또는 아래 중 어느 하나로 가중치 부여된다는 것을 나타낼 수 있다. 그 가중치들은, 예를 들면, 신경 네트워크 디바이스의 트레이닝을 특별한 목적으로 구체화할 수 있으며 또는 상기 에지들의 원래의 특성일 수 있다.
위의 도 5, 도 6 및 도 8은 존재 또는 부재가 참조번호 1205, 1207, 1211, 1293, 1294, 1297 ... 의 비트들에 의해 표현될 수 있는 특징들을 도시한다.
참조번호 500, 600, 700의 컬렉션들 내 지향성 심플렉스들은 기능적인 또는 구조적인 그래프들을 노드들을 포인트들로서 구비한 위상적 공간으로서 취급한다. 참조번호 500, 600, 700의 컬렉션들 내 심플렉스들에 적합한 하나 이상의 노드들 및 링크들을 포함하는 구조 또는 활동은, 그 활동에 참여한 특별한 노드들 및/또는 링크들의 신원에 무관하게 어떤 비트 내에 표현될 수 있다.
몇몇 구현들에서, 구조 또는 활동의 단지 일부 패턴들만이 식별되며 그리고/또는 식별된 구조 또는 활동의 패턴들의 일부는 폐기되거나 그렇지 않다면 무시된다. 예를 들어, 도 5를 참조하면, 5 포인트, 4-차원 심플렉스 패턴 (515)에 적합한 구조나 활동은 4 포인트, 3-차원 및 3 포인트, 2-차원 심플렉스 패턴들 (510, 505)에 적합한 구조나 활동을 원래 포함한다. 예를 들면, 도 5의 4-차원 심플렉스 패턴들 (515) 내 포인트들 0, 2, 3, 4 및 포인트들 1, 2, 3, 4 두 가지 모두는 3-차원 심플렉스 패턴 (510)에 적합하다. 몇몇 구현들에서, 더 작은 개수의 포인트들을 포함하는 - 그리고 그래서 더 낮은 차원인 - 심플렉스 패턴들은 폐기되거나 그렇지 않다면 무시될 수 있다.
다른 예로서, 구조 또는 활동의 일부 패턴들만이 식별될 필요가 있다. 예를 들면, 몇몇 구현들에서 홀수 포인트들 (3, 5, 7, ...)이나 짝수 차원들 (2, 4, 6, ...)을 구비한 패턴들만이 사용된다.
도 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 의 비트들이, 각자가 다수의 노드들의 존재나 활동을 반영하는 더 높은 차원의 심플렉스들의 존재나 부재를 표현하면, 각 개별 특징의 존재 또는 부재에 의해 인코딩된 정보는 다른 특징들의 존재 또는 부재에 독립적이지 아닐 수 있다.
도 15는 상이한 비트들에 대응하는 특징들의 존재 또는 부재가 어떻게 서로 독립적이지 않은가의 예를 개략적으로 도시한다. 특히, 네 개의 노드들 1505, 1510, 1515, 1520 및 여섯 개의 지향성 에지들 1525, 1530, 1535, 1540, 1545, 1550을 포함하는 서브그래프 (1500)가 예시된다. 특히, 참조번호 1525의 에지는 참조번호 1525의 노드로부터 참조번호 1510의 노드로 향하며,
참조번호 1530의 에지는 참조번호 1515의 노드로부터 참조번호 1505의 노드로 향하며, 참조번호 1535의 에지는 참조번호 1520의 노드로부터 참조번호 1505의 노드로 향하며, 참조번호 1540의 에지는 참조번호 1520의 노드로부터 참조번호 1510의 노드로 향하며, 참조번호 1545의 에지는 참조번호 1515의 노드로부터 참조번호 1510의 노드로 향하며, 참조번호 1550의 에지는 참조번호 1515의 노드로부터 참조번호 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의 비트에 의해 인코딩된 정보와 완전하게 중복된다.
참조번호 1293의 비트에 의해 인코딩된 정보는 다른 추가 비트에 의해 인코딩된 정보와 또한 중복될 수 있다는 것에 유의한다. 예를 들면, 참조번호 1293의 비트에 의해 인코딩된 정보는 추가의 지향성 2차원-심플렉스들의 존재를 표시하는 제3 비트 및 제4 비트와 중복일 것이다. 이 심플렉스들의 예들은 참조번호 1515, 1520, 1510의 노드들 및 참조번호 1540, 1545, 1550의 에지들 그리고 참조번호 1520, 1505, 1510의 노드들 및 참조번호 1525, 1535, 1540의 에지들에 의해 형성된다.
도 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은 에지에 의해 연결되지 않는다.
참조번호 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) 노드들 1615, 1620, 1610에 의해 형성된 가능한 지향성 2D-심플렉스 또는
b) 노드들 1620, 1605, 1610에 의해 형성된 가능한 지향성 2D-심플렉스.
그래서, 이 가능한 심플렉스들 중 어느 하나의 존재 또는 부재를 표현하는 비트의 상태는 참조번호 1205, 1293의 비트들의 상태에 독립적이지 않다.
비록 이 예들이 상이한 개수의 노드들 및 계층적 관계를 가진 특징들의 면에서 설명되었지만, 이것은 반드시 그런 것은 아니다. 예를 들면, 3D-심플렉스의 존재 또는 부재에만 대응하는 비트들의 컬렉션을 포함하는 표현 (1200)이 가능하다.
그래프 내 특징들의 존재 또는 부재를 표현하기 위해 개별 비트들을 사용하는 것은 특정 성질들을 생기게 한다. 예를 들면, 정보를 인코딩하는 것은 고장 허용 (fault tolerant)이며 그리고 상기 인코딩된 정보의 "우아한 성능저하 (graceful degradation)"를 제공한다. 특히, 특별한 비트 (또는 비트들의 그룹) 손실은 특징의 존재 또는 부재에 관한 불확실성을 증가시킬 수 있다. 그러나, 특징이 존재하거나 부재할 가능성을 제거하는 것은 인접한 특징들의 존재 또는 부재를 표시하는 다른 비트들로부터 여전히 가능할 것이다.
유사하게, 비트들의 개수가 증가하면, 특징의 존재 또는 부재에 관한 확실성도 증가한다.
다른 예로서, 위에서 설명된 것처럼, 비트들의 순서 정함 또는 배열은 그 비트에 의해 표현된 그래프의 동형 재구축 (isomorphic reconstruction)과 무관하다. 필요한 모든 것은 상기 비트들 및 상기 그래프 내 특별한 노드들/구조들 사이의 알려진 대응관계이다.
몇몇 구현들에서, 신경 네트워크 내 활동의 패턴들은 참조번호 1200 (도 12, 13 및 14)의 표현 내에서 인코딩될 수 있다. 일반적으로, 신경 네트워크 내 활동의 패턴들은, 예를 들면, 상기 신경 네트워크의 노드들 사이의 구조적 연결들, 노드들 사이의 가중치들 그리고 가능한 다른 파라미터들의 전체 호스트와 같은 그 신경 네트워크의 여러 특성들의 결과이다. 예를 들면, 몇몇 구현들에서, 상기 신경 네트워크는 참조번호 1200의 표현 내 활동의 패턴들을 인코딩하기 이전에 트레이닝될 수 있을 것이다.
그러나, 상기 신경 네트워크가 트레이닝되지 않거나 트레이닝된 것에 관계없이, 주어진 결과에 대해, 활동의 응답 패턴은 그 신경 네트워크 내의 그 입력의 "표현 (representation)" 또는 "추상화 (abstraction)"로 생각될 수 있다. 그래서, 비록 참조번호 1200의 표현이 (몇몇 경우에는 이진) 자릿수들의 직선적으로-보이는 컬렉션인 것으로 보일 수 있지만, 그 자릿수들 각각은 상기 신경 네트워크 내 특별한 입력 및 관련 활동 사이의 관계나 대응관계를 인코딩할 수 있다.
도 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로 돌아가면, 분류 시스템 (1700)은 소스 신경 네트워크 (1705) 및 선형 분류기 (1710)을 포함한다. 소스 신경 네트워크 (1705)는 입력을 수신하고 소스 신경 네트워크 (1705) 내에서의 활동 내 위상적인 구조들의 발생의 표현들을 제시하도록 구성된 신경 네트워크 디바이스이다. 도시된 구현에서, 소스 신경 네트워크 (1705)는 입력을 수신하는 입력 레이어 (1715)를 포함한다. 그러나, 이는 반드시 그런 것은 아니다. 예를 들면, 몇몇 구현에서, 입력의 일부 또는 모두는 소스 신경 네트워크 (1705) 전체에 걸친 상이한 레이어들 및/또는 에지들이나 노드들로 주입될 수 있다.
소스 신경 네트워크 (1705)는 다양한 상이한 유형의 신경 네트워크 중 어느 하나일 수 있다. 일반적으로 소스 신경 네트워크 (1705)는, 예를 들면, 생물학적 시스템 상에서 모델링된 순환 신경 네트워크와 같은 순환 신경 네트워크이다. 몇몇 경우에, 소스 신경 네트워크 (1705)는 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도를 모델링할 수 있다. 일반적으로, 소스 신경 네트워크 (1705)는 상대적으로 높은 레벨의 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들, 예를 들면, 수퍼컴퓨터 상에서 구현된다. 그런 경우에, 분류 시스템 (1700)은 보통은, 원격 분류기 (1710)이, 예를 들면, 데이터 통신 네트워크를 경유하여 소스 신경 네트워크 (1705)와 통신하는 분산 시스템일 것이다.
몇몇 구현들에서, 소스 신경 네트워크 (1705)는 트레이닝되지 않을 수 있으며 그리고 표현된 활동은 소스 신경 네트워크 (1705)의 내재적인 활동일 수 있다. 다른 구현들에서, 소스 신경 네트워크 (1705)는 트레이닝될 수 있으며 그리고 표현된 활동은 이 트레이닝을 구현할 수 있다.
소스 신경 네트워크 (1705)로부터 읽혀진 표현들은 참조번호 1200의 표현 (도 12, 13, 14)과 같은 표현들일 수 있다. 상기 표현들은 소스 신경 네트워크 (1705)로부터 많은 방식들로 읽혀질 수 있다. 예를 들면, 상기 도시된 예에서, 소스 신경 네트워크 (1705)는 "리더기 노드들"을 포함하며, 그 리더기 노드는 소스 신경 네트워크 (1705) 내 다른 노드들 사이의 활동의 패턴들을 읽는다. 다른 구현들에서, 소스 신경 네트워크 (1705) 내 활동은, 활동의 상대적으로 높은-차수 패턴들에 대해 소스 신경 네트워크 (1705)를 모니터하도록 프로그램된 데이터 프로세싱 컴포넌트에 의해 읽혀진다. 또 다른 구현들에서, 소스 신경 네트워크 (1705)는 출력 레이어를 포함할 수 있으며, 예를 들면, 소스 신경 네트워크 (1705)이 피드-포워드 신경 네트워크로서 구현될 때에 상기 출력 레이어로부터 표현 (1200)이 읽혀질 수 있다.
선형 분류기 (1710)는 물체를 - 즉, 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 - 그 물체의 특성들의 선형 조합에 기반하여 분류하는 디바이스이다. 선형 분류기 (1710)는 입력단 (1720) 및 출력단 (1725)을 포함한다. 입력단 (1720)은 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 수신하기 위해 결합된다. 다른 말로 하면, 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들은, 소스 신경 네트워크 (1705)로의 입력의 특성들을 표현하는 특징 벡터이며, 상기 소스 신경 네트워크 (1705)는 그 입력을 분류하기 위해 선형 분류기 (1710)에 의해 사용된 소스 신경 네트워크이다. 선형 분류기 (1710)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 상기 표현들은 별개의 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다.
출력단 (1725)은 선형 분류기 (1710)로부터의 분류 결과를 출력하기 위해 결합된다. 상기 도시된 구현에서, 출력단 (1725)은 다수의 채널들을 가진 병렬 포트로서 개략적으로 도시되었다. 이것은 반드시 그런 것은 아니다. 예를 들면, 출력단 (1725)은 시리얼 포트나 결합된 병렬 및 직렬 능력을 가진 포트를 통해 분류 결과를 출력할 수 있다.
몇몇 구현들에서, 선형 분류기 (1710)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다. 예를 들면, 선형 분류기 (1710)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다.
도 18에서, 분류 시스템 (1800)은 소스 신경 네트워크 (1705) 및 신경 네트워크 분류기 (1810)를 포함한다. 신경 네트워크 분류기 (1810)는 물체를 - 즉, 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 - 그 물체의 특성들의 비-선형 조합에 기반하여 분류하는 신경 네트워크 디바이스이다. 상기 도시된 구현에서, 신경 네트워크 분류기 (1810)는, 입력 레이어 (1820) 및 출력 레이어 (1825)를 포함하는 피드포워드 네트워크이다. 선형 분류기 (1710)를 구비해서, 신경 네트워크 분류기 (1810)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 표현들은 분리된 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다.
몇몇 구현들에서, 신경 네트워크 분류기 (1810)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 추론들을 수행할 수 있다. 예를 들면, 신경 네트워크 분류기 (1810)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스의 신경 프로세싱 유닛 내 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다. 분류 시스템 (1700)과 유사하게, 분류 시스템 (1800)은 일반적으로, 신경 네트워크 분류기 (1810)가, 예를 들면, 데이터 통신 네트워크를 경유하여 소스 신경 네트워크 (1705)와 통신하는 분산 시스템일 것이다.
몇몇 구현들에서, 신경 네트워크 분류기 (1810)는, 예를 들면, 컨볼루션 (convolutional) 레이어들, 풀링 (pooling) 레이어들, 및 완전-접속 (fully-connected) 레이어들을 포함하는 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크 (deep neural network)일 수 있다. 컨불루션 레이어는, 예를 들면, 선형 컨볼루션 필터들 및/또는 비선형 활성 함수들을 사용하여 특징 지도들을 생성할 수 있다. 풀링 레이어들은 파라미터들의 개수를 줄이며 과적합 (overfitting)을 제어한다. 이미지 분류기 (1820) 내 상이한 레이어들에 의해 수행된 계산들은 이미지 분류기 (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'의 근사를 분류할 수 있다.
일반적으로, 소스 근사기 (1905)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 추론을 수행할 수 있다. 예를 들면, 소스 근사기 (1905)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스의 신경 프로세싱 유닛 내 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다. 일반적으로 그리고 분류 시스템들 (1700, 1800)과 비교하면, 참조번호 1900의 분류 시스템은 보통은 단일의 하우징 내에, 예를 들면, 동일 데이터 프로세싱 디바이스들 중 어느 하나에서 또는 하드와이어 접속에 의해 결합된 데이터 프로세싱 디바이스들에서 구현된 소스 근사기 (1905) 및 선형 분류기 (1710)와 함께 수납될 것이다.
도 20에서, 분류 시스템 (2000)은 소스 근사기 (1905) 및 신경 네트워크 분류기 (1810)를 포함한다. 소스 근사기 (1905)의 출력 레이어 (1920)는, 신경 네트워크 분류기 (1810)의 입력단 (1820)에 의한 수신을 위해 신경 네트워크 디바이스 내 활동의 표현의 근사 (1200')를 출력하기 위해 결합된다. 근사 (1200') 및 표현 (1200) 사이의 차이점들에도 불구하고, 신경 네트워크 분류기 (180)는 근사 (1200')를 분류할 수 있다. 일반적으로 그리고 분류 시스템 (1900)과 유사하게, 참조번호 2000의 분류 시스템은 보통은 단일의 하우징 내에, 예를 들면, 동일 데이터 프로세싱 디바이스들 중 어느 하나에서 또는 하드와이어 접속에 의해 결합된 데이터 프로세싱 디바이스들 상에서 구현된 소스 근사기 (1905) 및 신경 네트워크 분류기 (1810)와 함께 수납될 것이다.
도 21은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 사용하여 트레이닝될 수 있는 로컬 인공 신경 네트워크를 포함하는 에지 디바이스 (2100)의 개략적인 도시이다. 이 환경에서, 로컬 인공 신경 네트워크는, 예를 들면, 데이터를 교환하기 위해 통신 네트워크를 필요로 하지 않는 하나 이상의 로컬 프로세서들 상에서 전적으로 실행되는 인공 신경 네트워크일 수 있다. 일반적으로, 상기 로컬 프로세서들은 하드와이어 접속들에 의해 연결될 것이다. 몇몇 예들에서, 상기 로컬 프로세서들은, 단일의 개인용 컴퓨터 또는 단일의 핸드헬드 모바일 디바이스와 같은 단일의 하우징 내에 수납될 수 있다. 몇몇 사례들에서, 상기 로컬 프로세서들은 단일의 개인 또는 제한된 수의 개인들에 의한 제어하에 있을 수 있으며 액세스될 수 있다. 실제로, 더 단순한 그리고/또는 덜 고도로 트레이닝되지만 더 배타적인 제2 신경 네트워크를 (예를 들면, 지도 학습 (supervised learning) 또는 강화형 학습 (reinforcement learning) 기술을 사용하여) 트레이닝하기 위해 더 복잡한 소스 신경 네트워크 내 위상학적 구조들의 발생들의 표현을 사용함으로써, 제한된 컴퓨팅 자원들 및 제한된 개수의 트레이닝 샘플들을 구비한 개인들도 소망하는 대로 신경 네트워크를 트레이닝시킬 수 있다. 트레이닝 동안의 저장 요구사항들 및 계산 복잡성은 줄어들며 배터리 수명과 같은 자원들이 절약된다.
상기 도시된 구현들에서, 에지 디바이스 (2100)는, 광학 이미징 시스템 (2110), 이미지 프로세싱 전자기기 (2115), 소스 근사기 (2120), 표현 분류기 (2125), 그리고 통신 제어기 및 인터페이스 (2130)를 포함하는 보안-카메라 디바이스로서 개략적으로 도시된다.
광학 이미징 시스템 (2110)은, 예를 들면, 하나 이상의 렌즈 (또는 심지어는 핀홀) 및 CCD 디바이스를 포함할 수 있다. 이미지 프로세싱 전자기기 (2115)는 광학 이미징 시스템 (2110)의 출력을 읽을 수 있으며 그리고 일반적으로 기본적인 이미지 프로세싱 기능들을 수행할 수 있다. 통신 제어기 및 인터페이스 (2130)는 참조번호 2100의 디바이스로 그리고 그 디바이스로부터의 정보의 흐름을 제어하도록 구성된 디바이스이다. 아래에서 더 설명되는 것처럼, 통신 제어기 및 인터페이스 (2130)가 수행할 수 있는 동작들은 관심 대상 이미지들을 다른 디바이스들로 전송하고 다른 디바이스들로부터 트레이닝 정보를 수신하는 것이다. 통신 제어기 및 인터페이스 (2130)는 그래서, 예를 들면, 데이터 포트 (2135)를 통해 통신할 수 있는 데이터 전송기 및 수신기 둘 모두를 포함할 수 있다. 데이터 포트 (2135)는 유선 포트, 무선 포트, 광학 포트 등일 수 있다.
소스 근사기 (2120)는, 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 나타나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 트레이닝되는 상대적으로 간단한 신경 네트워크이다. 예를 들면, 소스 근사기 (2120)는, 예를 들면, 생물학적 시스템 상에서 모델링되며 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크를 근사화하기 위해 트레이닝될 수 있다.
표현 분류기 (2135)는, 소스 신경 네트워크 내 활동의 패턴들의 표현의 근사를 소스 근사기 (2121)로부터 수신하고 분류 결과를 출력하기 위해 결합된 신경 네트워크 분류기 또는 선형 분류기 중 어느 하나이다. 표현 분류기 (2125)는, 예를 들면, 컨볼루션 레이어들, 풀링 레이어들, 및 완전-접속 레이어들을 포함하는 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크일 수 있다. 컨불루션 레이어는, 예를 들면, 선형 컨볼루션 필터들 및/또는 비선형 활성 함수들을 사용하여 특징 지도들을 생성할 수 있다. 풀링 레이어들은 파라미터들의 개수를 줄이며 과적합을 제어한다. 표현 분류기 (2125) 내 상이한 레이어들에 의해 수행된 계산들은 표현 분류기 (2125)의 상이한 구현들에서 상이한 방식들로 정의될 수 있다.
몇몇 구현들에서, 작동 시에, 광학 이미징 시스템 (2110)은 미가공 (raw) 디지털 이미지들을 생성할 수 있다. 이미지 프로세싱 전자기기 (2115)는 미가공 이미지들을 읽을 수 있으며 적어도 몇몇 기본적인 이미지 프로세싱 함수들을 보통은 수행할 것이다. 소스 근사기 (2120)는 이미지 프로세싱 전자기기 (2115)로부터 이미지들을 수신할 수 있으며 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들 내에서 일어나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 추론 연산들을 수행할 수 있다. 이 근사화 벡터는, 분류 기준들의 하나 이상의 세트들을 상기 근사화 벡터가 충족시키는가의 여부를 판단하는 표현 분류기 (2125)로 입력된다. 예들은 얼굴 인식 및 다른 기계 시각 동작들을 포함한다. 상기 근사화 벡터가 분류 기준들의 세트를 충족시킨다고 표현 분류기 (2125)가 판단하는 경우에, 표현 분류기 (2125)는 통신 제어기 및 인터페이스 (2130)에게 상기 이미지들에 관한 정보를 전송하도록 지시할 수 있다. 예를 들면, 통신 제어기 및 인터페이스 (2130)는 상기 이미지 그 자체, 상기 분류, 및/또는 상기 이미지들에 관한 다른 정보를 전송할 수 있다.
때때로, 분류 프로세스를 변경할 것이 소망될 수 있다. 이런 경우에, 통신 제어기 및 인터페이스 (2130)는 트레이닝 세트를 수신할 수 있다. 몇몇 구현들에서, 상기 트레이닝 세트는 미가공이나 프로세싱된 이미지 데이터 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들을 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 소스 근사기 (2120)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 표현들은 타겟 답변 벡터 (target answer vector)로서 사용되며 그리고 상기 미가공이나 프로세싱된 이미지 데이터를 프로세싱하는 소스 근사기 (2120)의 소망된 결과를 표현한다.
다른 구현들에서, 상기 트레이닝 세트는 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들 그리고 위상적인 구조들의 그런 표현들의 소망된 분류를 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 신경 네트워크 표현 분류기 (2125)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 소망된 분류는 타겟 답변 벡터로서 사용되며 그리고 위상적인 구조들의 상기 표현들을 프로세싱하는 표현 분류기 (2125)의 소망된 결과를 표현한다.
소스 근사기 (2120)나 표현 분류기 (2125)가 재트레이닝되는가의 여부에 무관하게, 디바이스 (2100)에서의 추론 연산들은 트레이닝 데이터의 큰 세트들 및 시간 - 및 컴퓨팅 파워 - 집약적인 반복적 트레이닝 없이 환경들 및 목적들을 변경하도록 쉽게 적응될 수 있다.
도 22는 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 사용하여 트레이닝될 수 있는 로컬 인공 신경 네트워크를 포함하는 제2 에지 디바이스 (2200)의 개략적인 도시이다. 상기 도시된 구현에서, 제2 에지 디바이스 (2200)는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스로서 개략적으로 도시된다. 디바이스 (2200)는 (예를 들면, 디바이스 (2200)의 후면 상에) 광학 이미징 시스템 (도시되지 않음), 이미지 프로세싱 전자기기 (2215), 표현 분류기 (2225), 통신 제어기 및 인터페이스 (2230)를 포함한다. 이 컴포넌트들은 특성들을 가질 수 있으며 그리고 디바이스 (2100) (도 21)의 광학 이미징 시스템 (2110), 이미지 프로세싱 전자기기 (2115), 표현 분류기 (2125), 통신 제어기 및 인터페이스 (2130), 및 데이터 포트 (2135)의 행동들과 대응하는 행동들을 수행할 수 있다.
디바이스 (2200)의 상기 도시된 구현들은 하나 이상의 추가 센서들 (2240) 및 다중-입력 소스 근사기 (2245)를 추가로 포함한다. 센서(들) (2240)는 디바이스 (2200)를 둘러싼 환경의 또는 디바이스 (2200) 그 자체의 하나 이상의 특성들을 감지할 수 있다. 예를 들면, 몇몇 구현들에서, 센서 (2240)는 디바이스 (2200)가 겪을 가속을 감지하는 가속도계일 수 있다. 다른 예로서, 몇몇 구현들에서, 센서 (2240)는 디바이스 (2200) 주변에서의 소음을 감지하는 마이크로폰과 같은 청각적 센서일 수 있다. 센서 (2240)의 또 다른 예들은 화학적 센서들 (예를 들면, "인공 코" 및 유사한 것), 습도 센서들, 방사 센서들, 및 유사한 것을 포함한다. 몇몇 경우에, 센서 (2240)는, 그 센서 (2240)의 출력 (또는 예를 들면 연락처 목록이나 지도와 같은 다른 정보)를 읽고 기본적인 프로세싱 기능들을 수행할 수 있는 프로세싱 전자기기에 결합된다. 센서 (2240)의 상이한 구현들은 그래서 물리적인 감지된 물리적 파라미터가 센서마다 변한다는 점에서 상이한 "양식 (modality)들"을 가질 수 있다.
다중-입력 소스 근사기 (2245)는 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 나타나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 트레이닝되는 상대적으로 간단한 신경 네트워크이다. 예를 들면, 다중-입력 소스 근사기 (2245)는, 예를 들면, 생물학적 시스템 상에서 모델링되며 그리고 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도 (degree)를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크를 근사화하기 위해 트레이닝될 수 있다.
소스 근사기 (2120)과는 다르게, 다중-입력 소스 근사기 (2245)는 결합되어, 다수의 센서들로부터 미가공 또는 프로세싱된 센서 데이터를 수신하고 그 데이터에 기반하여 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현의 근사를 반환한다. 예를 들면, 다중-입력 소스 근사기 (2245)는, 예를 들면, 하나 이상의 센서들 (2240)로부터 청각적, 가속의, 화학적인, 또는 다른 데이터는 물론이며 이미지 프로세싱 전자기기 (2215)로부터 프로세싱된 이미지 데이터를 수신할 수 있다. 다중-입력 소스 근사기 (2245)는, 예를 들면, 컨볼루션 레이어들, 풀링 레이어들, 및 완전-접속 레이어들을 포함하는 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크일 수 있다. 다중-입력 소스 근사기 (2245) 내 상이한 레이어들에 의해 수행된 계산들은 단일 유형의 센세 데이터에 또는 다수 양식들의 센서 데이터에 전용일 수 있다.
다중-입력 소스 근사기 (2245)의 특별한 조직에 무관하게, 다중-입력 소스 근사기 (2245)는 다수의 센서들로부터의 미가공 또는 프로세싱된 센서 데이터에 기반하여 근사를 반환한다. 예를 들면, 이미지 프로세싱 전자기기 (2215)로부터의 프로세싱된 이미지 데이터 및 마이크로폰 센서 (2240)로부터의 청각적인 데이터는, 동일한 데이터를 수신했던 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현을 근사화하기 위해 다중-입력 소스 근사기 (2245)에 의해 사용될 수 있다.
때때로, 디바이스 (2200)에서 상기 분류 프로세스를 변경할 것이 소망될 수 있을 것이다. 이 경우에, 통신 제어기 및 인터페이스 (2230)는 트레이닝 세트를 수신할 수 있다. 몇몇 구현들에서, 상기 트레이닝 세트는 미가공이나 프로세싱된 이미지 데이터, 화학적인 데이터 또는 다른 데이터 그리고 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들을 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 다중-입력 소스 근사기 (2245)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 표현들은 타겟 답변 벡터로서 사용되며 그리고 상기 미가공이나 프로세싱된 이미지 데이터 또는 센서 데이터를 프로세싱하는 다중-입력 소스 근사기 (2245)의 소망된 결과를 나타낸다.
다른 구현들에서, 상기 트레이닝 세트는 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들 그리고 위상적인 구조들의 그런 표현들의 소망된 분류를 포함할 수 있다. 그런 트레이닝 세트는, 예를 들면, 지도 학습이나 강화형 학습 기술을 이용하여 신경 네트워크 표현 분류기 (2225)를 재트레이닝시키기 위해 사용될 수 있다. 특히, 상기 소망된 분류는 타겟 답변 벡터로서 사용되며 그리고 위상적인 구조들의 상기 표현들을 프로세싱하는 표현 분류기 (2225)의 소망된 결과를 나타낸다.
다중-입력 소스 근사기 (2245)나 표현 분류기 (2225)가 재트레이닝되는가의 여부에 무관하게, 디바이스 (2200)에서의 추론 연산들은 트레이닝 데이터의 큰 세트들 및 시간 - 및 컴퓨팅 파워 - 집약적인 반복적 트레이닝 없이 환경들 및 목적들을 변경하도록 쉽게 적응될 수 있다.
도 23은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 로컬 인공 신경 네트워크들이 트레이닝될 수 있는 시스템 (2300)의 개략적인 도시이다. 타겟 신경 네트워크들은 상대적으로 간단하며 덜 비싼 데이터 프로세싱 시스템들 상에서 구현되며, 반면에 상기 소스 신경 네트워크는 상대적으로 복잡하며 더 비싼 데이터 프로세싱 시스템 상에서 구현될 수 있다.
시스템 (2300)은 로컬 신경 네트워크들을 가진 다양한 디바이스들 (2305), 전화 기지국 (2310), 무선 액세스 포인트 (2315), 서버 시스템 (2320), 및 하나 이상의 데이터 통신 네트워크들 (2325)을 포함한다.
로컬 신경 네트워크 디바이스들 (2305)은 계산적으로-덜-집중적인 타겟 신경 네트워크들을 사용하여 데이터를 프로세싱하도록 구성된 디바이스들이다. 도시된 것처럼, 로컬 신경 네트워크 디바이스들 (2305)은 모바일 컴퓨팅 디바이스들, 카메라들, 자동차들, 또는 다수의 다른 기구, 설비, 및 모바일 컴포넌트들 중 어느 하나 그리고 각 카테고리 내 상이한 메이커 및 모델의 디바이스들로서 구현될 수 있다. 상이한 로컬 신경 네트워크 디바이스들 (2305)은 상이한 소유자들에게 속할 수 있다. 몇몇 구현들에서, 로컬 신경 네트워크 디바이스들 (2305)의 데이터 프로세싱 기능에 대한 액세스는 이 소유자들 및/또는 그 소유자가 지정한 것들로 일반적으로 한정될 것이다.
로컬 신경 네트워크 디바이스들 (2305) 각각은, 상대적으로 더 복잡한 신경 네트워크의 패턴들 내에서 일어나는 위상적인 구조들의 표현을 근사화하는 벡터를 출력하기 위해 트레이닝되는 하나 이상의 소스 근사기들을 포함한다. 예를 들면, 상기 상대적으로 더 복잡한 신경 네트워크는, 예를 들면, 생물학적 시스템 상에서 모델링되며 그리고 생물학적 시스템의 형태학적, 화학적, 및 다른 특성들의 정도를 포함하는 순환 신경 네트워크와 같은 순환 소스 신경 네트워크일 수 있다.
몇몇 구현들에서, 소스 근사기들을 사용하여 데이터를 프로세싱하는 것에 추가로, 로컬 신경 네트워크 디바이스들 (2305)은, 상대적으로 더 복잡한 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현들을 타겟 답변 벡터들로서 사용하여 상기 소스 근사화기들을 재-트레이닝시키기 위해 또한 프로그램될 수 있다. 예를 들면, 로컬 신경 네트워크 디바이스들 (2305)은 하나 이상의 반복 트레이닝 기술들 (예를 들면, 경사 하강법 (gradient descent) 또는 확률적 경사 하강법 (stochastic gradient descent))을 수행하기 위해 프로그램될 수 있다. 다른 구현들에서, 로컬 신경 네트워크 디바이스들 (2305) 내 소스 근사기들은, 예를 들면, 전용의 트레이닝 시스템에 의해 또는 소스 근사기들을 트레이닝시키기 위해 상기 로컬 신경 네트워크 디바이스들 (2305)과 상호작용할 수 있는 개인용 컴퓨터 상에 설치된 트레이닝 시스템에 의해 트레이닝될 수 있다.
각 로컬 신경 네트워크 디바이스 (2305)는 하나 이상의 무선이나 유선 데이터 통신 컴포넌트들을 포함한다. 상기 도시된 구현에서, 각 로컬 신경 네트워크 디바이스 (2305)는, 모바일 전화 트랜시버, 무선 트랜시버, 또는 둘 모두와 같은 적어도 하나의 무선 데이터 통신 컴포넌트들을 포함한다. 상기 모바일 전화 트랜시버들은 전화 기지국 (2310)과 데이터를 교환할 수 있다. 상기 무선 트랜시버들은 무선 액세스 포인트 (2315)와 데이터를 교환할 수 있다. 각 로컬 신경 네트워크 디바이스 (2305)는 피어 모바일 컴퓨팅 디바이스들과 또한 데이터를 교환할 수 있다.
전화 기지국 (2310) 및 무선 액세스 포인트 (2315)는 하나 이상의 데이터 통신 네트워크들 (2325)와의 데이터 통신을 위해 연결되며 그리고 그 네트워크(들)를 통해 서버 시스템 (2320)과 정보를 교환할 수 있다. 그래서 로컬 신경 네트워크 디바이스들 (2305)은 보통은 서버 시스템 (2320)과 데이터 통신 상태에 또한 있을 수 있다. 그러나, 이것이 반드시 그런 것은 아니다. 예를 들면, 로컬 신경 네트워크 디바이스들 (2305)이 다른 데이터 프로세싱 디바이스들에 의해 트레이닝되는 구현들에서, 로컬 신경 네트워크 디바이스들 (2305)은 적어도 한 번 이 다른 데이터 프로세싱 디바이스들과 데이터 통신할 필요만이 있을 뿐이다.
서버 시스템 (2320)은 기계-판독가능 명령어들의 하나 이상의 세트들에 따라 데이터 프로세싱 활동들을 수행하기 위해 프로그램된 하나 이상의 데이터 프로세싱 디바이스들이 시스템이다. 그 활동들은 모바일 컴퓨팅 디바이스들 (2305)을 위해 트레이닝 세트들을 트레이닝 시스템들로 서빙하는 것을 포함할 수 있다. 위에서 설명되었듯이, 상기 트레이닝 시스템들은 모바일 로컬 신경 네트워크 디바이스들 (2305) 그 자체의 내부에 있을 수 있으며 또는 하나 이상의 다른 데이터 프로세싱 디바이스들 상에 있을 수 있다. 상기 트레이닝 세트들은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들 및 대응 데이터를 포함할 수 있다.
몇몇 구현들에서, 서버 시스템 (2320)은 소스 신경 네트워크를 또한 포함한다. 그러나, 이것이 반드시 그런 것은 아니며 서버 시스템 (2320)은 상기 소스 신경 네트워크를 구현한 데이터 프로세싱 디바이스(들)의 또 다른 시스템으로부터 트레이닝 세트들을 수신할 수 있다.
동작에 있어서, (서브 시스템 (2320) 그 자체에서 또는 다른 곳에서 발견된 소스 신경 네트워크로부터의) 트레이닝 세트를 서버 시스템 (2320)이 수신한 이후에, 서버 시스템 (2320)은 모바일 컴퓨팅 디바이스들 (2305)를 트레이닝시키는 트레이너들에게 상기 트레이닝 세트를 서빙할 수 있다. 타겟 로컬 신경 네트워크 디바이스들 (2305) 내 소스 근사기들은 상기 트레이닝 세트를 이용하여 트레이닝될 수 있으며, 그래서 상기 타겟 신경 네트워크들이 상기 소스 신경 네트워크의 동작들을 근사화하도록 한다.
도 24, 25, 26, 27은 네 개의 상이한 시스템들 (2400, 2500, 2600, 2700) 내 신경 네트워크에서의 활동에서 위상적인 구조들의 발생의 표현을 사용하는 것의 개략적 도시이다. 시스템들 (2400, 2500, 2600, 2700)은 여러 상이한 동작들 중 어느 하나를 수행하도록 구성될 수 있다. 예를 들면, 시스템들 (2400, 2500, 2600, 2700)은 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 물체 탐지 동작들, 예측 동작들, 행동 선택 동작들 등을 수행할 수 있다.
물체 로컬화 동작들은 이미지 내 물체의 위치를 정한다. 예를 들면, 물체 주위에 경계 박스가 구축될 수 있다. 몇몇 경우에, 물체 로컬화는 물체 인식과 결합될 수 있으며, 그 물체 인식에서 로컬화된 물체는 적절한 표시로 라벨이 부여된다.
물체 탐지 동작들은 이미지 픽셀들을 특별한 클래스에 속하는가 (예를 들면, 관심 대상 물체에 속한다) 또는 속하지 않는가의 어느 하나로서 분류한다. 일반적으로, 물체 탐지는, 픽셀들을 그룹화하고 그 픽셀 그룹들 주위에 경계 박스들을 형성함으로써 수행된다. 그 경계 박스는 그 물체 주위에 빈틈없이 맞아야 한다.
물체 세그먼트화는 보통은 클래스 라벨들을 각 이미지 픽셀에 할당한다. 그래서, 경계 박스가 아니라 물체 세그먼트화가 픽셀 단위를 기초로 진행하며 그리고 단일 라벨만이 각 픽셀에 할당될 것을 필요로 하는 것이 일반적이다.
예측 동작들은 관찰된 데이터의 범위 외부에 있는 결론들을 끌어오려고 한다. 비록 예측 동작들이 (예를 들면, 과거 및 현재 상태에 관한 정보에 기반하여) 미래에서의 발생들을 예측하려고 시도할 수 있지만, 예측 동작들은 그 상태들에 관한 불완전한 정보에 기반하여 과거 및 현재 상태에 관한 결론들을 또한 끌어오려고 한다.
행동 선택 동작들은 컨디션들의 세트에 기반하여 행동을 선택하려고 한다. 행동 선택 동작들은 전통적으로 심볼-기반 시스템들 (전통적인 플래닝), 분산된 솔루션들, 및 반작용적이거나 동적인 플래닝 (planning)과 같은 상이한 접근 방식들로 분해된다.
참조번호 2400, 2500의 분류 시스템들 각각은 신경 네트워크 내 활동의 패턴들의 표현들에 관한 소망된 동작을 수행한다. 참조번호 2600, 2700의 시스템들 각각은 신경 네트워크 내 활동의 패턴들의 표현들을 근사화한 것들에 관한 소망된 동작을 수행한다. 참조번호 2400, 2500의 시스템들에서, 표현된 활동의 패턴들은 참조번호 2400, 2500의 시스템들의 일부인 소스 신경 네트워크 디바이스 (1705) 내에서 발생하며 그리고 그 소스 신경 네트워크 디바이스로부터 읽혀진다. 대조적으로, 참조번호 2400, 2500의 시스템들에서, 근사화되어 표현된 활동의 패턴들은 참조번호 2400, 2500의 시스템들의 일부가 아닌 소스 신경 네트워크 디바이스 내에서 발생한다. 그럼에도 불구하고, 활동의 그 패턴들의 표현을 근사화한 것은 참조번호 2400, 2500의 시스템들의 일부인 근사기 (1905)로부터 읽혀진다.
추가의 상세 내용에서, 도 24로 돌아가면, 참조번호 2400의 시스템은 소스 신경 네트워크 (1705) 및 선형 프로세서 (2410)를 포함한다. 선형 프로세서 (2410)는 신경 네트워크 내 활동의 패턴들의 표현들의 특성들 (또는 그런 표현들을 근사화한 것들)의 선형 조합에 기반한 동작들을 수행하는 디바이스이다. 상기 동작들은, 예를 들면, 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 물체 탐지 동작들, 예측 동작들, 행동 선택 동작들 등일 수 있다.
선형 프로세서 (2410)는 입력단 (2420) 및 출력단 (2425)을 포함한다. 입력단 (2420)은 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 수신하기 위해 결합된다. 선형 프로세서 (2410)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 표현들은 별개의 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다. 출력단 (2525)은 선형 분류기 (2410)로부터의 분류 결과를 출력하기 위해 결합된다. 몇몇 구현들에서, 선형 프로세서 (2410)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다. 예를 들면, 선형 프로세서 (2410)는 개인용 컴퓨터 상에서 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다.
도 24로 돌아가서, 참조번호 2400의 시스템은 소스 신경 네트워크 (1705) 및 선형 프로세서 (2410)를 포함한다. 선형 프로세서 (2410)는 신경 네트워크 내 활동의 패턴들의 표현들의 특성들 (또는 그런 표현들을 근사화한 것들)의 선형 조합에 기반한 동작들을 수행하는 디바이스이다. 상기 동작들은, 예를 들면, 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 예측 동작들, 행동 선택 동작들 등일 수 있다.
선형 프로세서 (2410)는 입력단 (2420) 및 출력단 (2425)을 포함한다. 입력단 (2420)은 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 수신하기 위해 결합된다. 선형 프로세서 (2410)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식들로 수신할 수 있다. 예를 들면, 활동의 패턴들의 표현들은 별개의 이벤트들로서 또는 실시간이나 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다. 출력단 (2525)은 선형 분류기 (2410)로부터의 분류 결과를 출력하기 위해 결합된다. 몇몇 구현들에서, 선형 프로세서 (2410)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 구현될 수 있다. 예를 들면, 선형 프로세서 (2410)는 개인용 컴퓨터 상에서 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다.
도 25에서, 분류 시스템 (2500)은 소스 신경 네트워크 (1705) 및 신경 네트워크 (2510)를 포함한다. 신경 네트워크 (2510)는, 신경 네트워크 내 활동의 패턴들의 표현들의 특성들 (또는 그런 표현들을 근사화한 것들)의 선형 조합에 기반한 동작들을 수행하도록 구성된 신경 네트워크 디바이스이다. 상기 동작들은, 예를 들면, 물체 로컬화 동작들, 물체 탐지 동작들, 물체 세그먼트화 동작들, 예측 동작들, 행동 선택 동작들 등일 수 있다. 상기 도시된 구현에서, 신경 네트워크 (2510)는 입력 레이어 (2520) 및 출력 레이어 (2525)를 포함하는 피드포워드 (feedforward) 네트워크이다. 참조번호 2410의 선형 프로세서처럼, 신경 네트워크 (2510)는 소스 신경 네트워크 (1705) 내 활동의 패턴들의 표현들을 다양한 방식으로 수신할 수 있다.
몇몇 구현들에서, 신경 네트워크 (2510)는 상대적으로 제한된 계산 성능을 가진 하나 이상의 컴퓨팅 디바이스들 상에서 추론들을 수행할 수 있다. 예를 들면, 신경 네트워크 (2510)는 개인용 컴퓨터 또는 스마트폰이나 태블릿과 같은 모바일 컴퓨팅 디바이스와 같은 신경 프로세싱 유닛 내 모바일 컴퓨팅 디바이스 상에서 구현될 수 있다. 참조번호 2400의 시스템과 유사하게, 참조번호 2500의 시스템은 일반적으로, 원격 신경 네트워크 (2510)가, 예를 들면, 데이터 통신 네트워크를 경유하여 소스 신경 네트워크 (1705)와 통신하는 분산 시스템일 것이다. 몇몇 구현들에서, 신경 네트워크 (2500)는, 예를 들면, 컨볼루션 신경 네트워크와 같은 딥 신경 네트워크일 수 있다.
도 26에서, 참조번호 2600의 시스템은 소스 근사기 (1905) 및 선형 프로세서 (2410)를 포함한다. 근사 (1200') 및 표현 (1200) 사이의 차이점들에도 불구하고, 프로세서 (2410)는 근사 (1200')에 관한 동작들을 여전히 수행할 수 있다.
도 27에서, 참조번호 2700의 시스템은 소스 근사기 (1905) 및 신경 네트워크 (2510)를 포함한다. 근사 (1200') 및 표현 (1200) 사이의 차이점들에도 불구하고, 신경 네트워크 (2510)는 근사 (1200')에 관한 동작들을 여전히 수행할 수 있다.
몇몇 구현들에서, 참조번호 2600, 2700의 시스템들은, 예를 들면, 참조번호 2100, 2200 (도 21, 22)의 에지 디바이스들과 같은 에지 디바이스 상에서 구현될 수 있다. 몇몇 구현들에서, 참조번호 2600, 2700의 시스템들은, 참조번호 2300의 시스템 (도 23)과 같은 소스 신경 네트워크 내 활동에 대응하는 위상적 구조들의 발생의 표현들을 사용하여 로컬 신경 네트워크들이 트레이닝될 수 있는 시스템의 일부로서 구현될 수 있다.
도 28은 소스 신경 네트워크 내 활동에 대응하는 위상적인 구조들의 발생의 표현들을 이용하여 트레이닝될 수 있는 인공 신경 네트워크들을 포함하는 시스템의 개략적인 도시이다. 강화형 학습 (reinforcement learning)은, 인공 신경 네트워크의 결정들에 응답하여 취해진 행동들의 결과들에 관한 피드백으로부터 인공 신경 네트워크가 학습하는 유형의 기계 학습이다. 강화형 학습 시스템은 상기 환경 내 한 상태로부터 다른 상태로 이동한다. 강화형 학습 시스템은 환경 내 한 상태로부터 다른 상태로, 행동들을 수행하고 그 새로운 상태를 특성화하는 정보 그리고 그 행동의 성공 (또는 성공 없음)을 특성화하는 보상 및/또는 후회를 수신함으로써, 이동한다. 강화형 학습은 학습 프로세스를 통해 전체 보상을 최대화 (또는 후회를 최소화)하려고 시도한다.
상기 도시된 구현에서, 강화형 학습 시스템 (2800) 내 인공 신경 네트워크는, 강화형 학습 접근 방식을 사용하는 딥 신경 네트워크 (2805) (또는 다른 딥 러닝 구조)이다. 몇몇 구현들에서, 딥 신경 네트워크 (2805)는 (신경 네트워크 (2510) (도 25, 27)와 같은) 로컬 인공 신경 네트워크일 수 있으며, 그리고, 예를 들면, 자동차, 비행기, 로봇, 또는 다른 디바이스 상에서 로컬로 구현될 수 있다. 그러나, 이는 반드시 그런 것은 아니며 다른 구현들에서 딥 신경 네트워크 (2805)는 네트워크 구성된 디바이스들의 시스템 상에서 구현될 수 있다.
소스 근사기 (1905) 및 딥 신경 네트워크 (2805)에 추가로, 강화형 학습 시스템 (2800)은 액추에이터 (2810), 하나 이상의 센서들 (2815) 및 교사 (teacher) 모듈 (2820)을 포함한다. 몇몇 구현들에서, 강화형 학습 시스템 (2800)은 추가 데이터의 하나 이상의 소스들 (2825)을 또한 포함한다.
액추에이터 (2810)는 환경 (2830)과 상호작용하는 메커니즘이나 시스템을 제어하는 디바이스이다. 몇몇 구현들에서, 액추에이터 (2810)는 물리적인 메커니즘이나 시스템 (예를 들면, 자동차의 스티어링 또는 로봇의 포지셔닝)을 제어한다. 다른 구현들에서, 액추에이터 (2810)는 가상 메커니즘이나 시스템 (예를 들면, 가상 게임 보드 또는 투자 포트폴리오)을 제어할 수 있다. 그래서, 참조번호 2830의 환경은 또한 물리적이거나 가상일 수 있다.
센서(들) (2815)은 상기 환경 (2830)의 특성들을 측정하는 디바이스들이다. 상기 측정들 중 적어도 몇몇은 제어받는 메커니즘이나 시스템 그리고 상기 환경 (2830)의 다른 모습들 사이의 상호작용들을 특성화한다. 액추에이터 (2810)가 자동차를 조종할 때에, 센서(들) (2815)은 자동차의 속도, 방향, 및 가속도 중 하나 이상, 다른 특징들에 대한 자동차의 근접성, 그리고 자동차에 대한 다른 특징들의 응답을 측정할 수 있다. 다른 예로서, 액추에이터 (2810)가 투자 포트폴리오를 제어할 때에, 센서(들) (2815)은 그 포트폴리오와 연관된 가치 및 위험을 측정할 수 있다.
일반적으로, 소스 근사기 (1905) 및 교사 모듈 (2820) 둘 모두는 센서(들) (2815)에 의해 행해진 측정치들 중 적어도 일부를 수신하기 위해 결합된다. 예를 들면, 소스 근사기 (1905)는 입력 레이어 (1915)에서 측정 데이터를 수신할 수 있으며, 소스 신경 네트워크 내 활동의 패턴들에서 일어나는 위상적인 구조들의 표현의 근사 (1200')를 출력할 수 있다.
교사 모듈 (2820)은 센서(들) (2815)로부터 수신된 측정들을 해석하고 딥 신경 네트워크 (2805)에게 보상 및/또는 후회를 제공한다. 보상은 양이며 상기 메커니즘이나 시스템에 대한 성공적인 제어를 표시한다. 후회는 음이며 성공하지 못하거나 최적 제어 미만을 표시한다. 일반적으로, 교사 모듈 (2820)은 강화형 학습을 위해 상기 보상/후회와 함께 상기 측정들의 특성화를 또한 제공한다. 일반적으로, 상기 측정들의 상기 특성화는 소스 신경 네트워크 내 활동의 패턴들 내에서 일어나는 위상적인 구조들의 표현의 (참조번호 1200'의 근사와 같은) 근사이다. 예를 들면, 교사 모듈 (2820)은 소스 근사기 (1905)로부터 출력된 근사들 (1200')을 읽고 그 읽은 근사 (1200')를 대응하는 보상/후회 값들과 쌍을 이루게 할 수 있다.
많은 구현들에서, 강화형 학습은 실시간으로 또는 딥 신경 네트워크 (2805)에 의한 액추에이터 (2810)에 대한 능동 제어 동안에 참조번호 2800의 시스템에서 발생하지 않는다. 오히려, 트레이닝 피드백이 교사 모듈 (2820)에 의해 수집되며 그리고 딥 신경 네트워크 (2805)가 능동적으로 액추에이터 (2810)에 명령을 내리지 않고 있을 때에 강화형 트레이닝을 위해 사용될 수 있다. 예를 들면, 몇몇 구현들에서, 교사 모듈 (2820)은 딥 신경 네트워크 (2805)로부터 원격에 있을 수 있으며 딥 신경 네트워크 (2805)와는 간헐적인 데이터 통신 상태에 있을 수 있다. 강화형 학습이 간헐적이건 또는 연속적이건에 무관하게, 딥 신경 네트워크 (2805)는 교사 모듈 (2820)로부터 수신된 정보를 사용하여 보상을 최적화하며 그리고/또는 후회를 줄이기 위해 발전될 수 있다.
몇몇 구현들에서, 시스템 (2800)은 추가 데이터의 하나 이상의 소스들 (2825)을 또한 포함한다. 소스 근사기 (1905)는 입력 레이어 (1915)에서 데이터 소스들 (2825)로부터 데이터를 또한 수신할 수 있다. 이런 사례들에서, 근사 (1200')는 센서 데이터 및 데이터 소스들 (2825)로부터의 데이터 둘 모두를 프로세싱한 것으로부터의 결과일 것이다.
몇몇 구현들에서, 하나의 강화형 학습 시스템 (2800)에 의해 수집된 데이터는, 다른 강화형 학습 시스템들을 포함하는 다른 시스템들의 트레이낭 또는 강화형 학습을 위해 사용될 수 있다. 예를 들면, 상기 보상/후회 값들과 함께 상기 측정들을 특성화한 것은, 다양한 강화형 학습 시스템들로부터 그런 데이터를 수집하고 그 데이터를 그 강화형 학습 시스템들 사이에 재분배하는 데이터 교환 시스템으로 상기 교사 모듈 (2820)에 의해 제공될 수 있다. 또한, 위에서 설명된 것처럼, 상기 측정들을 특성화한 것은, 참조번호 1200'의 근사처럼, 소스 신경 네트워크 내 활동의 패턴들 내에서 일어나는 위상적인 구조들의 표현의 근사일 수 있다.
강화형 학습 시스템 (2800)에 의해 수행된 상기 특별한 동작들은 물론 그 특별한 동작 환경에 종속할 것이다. 예를 들면, 소스 근사기 (1905), 딥 신경 네트워크 (2805), 액추에이터 (2810), 및 센서들 (2815)이 자동차의 일부인 환경들에서, 딥 신경 네트워크 (2805)는 그 자동차를 조정하면서 물체 로컬화 및/또는 탐지 동작들을 수행할 수 있다.
강화형 학습 시스템 (2800)에 의해 수집된 데이터가 다른 시스템들의 트레이닝이나 강화형 학습을 위해 사용되는 구현들에서, 보상/후회 값들 그리고 물체 로컬화 및/또는 탐지 동작들이 수행되었을 때에 상기 환경의 상태를 특성화하는 근사들 (1200')이 상기 데이터 교환 시스템으로 제공될 수 있다. 상기 데이터 교환 시스템은 그러면 그 보상/후회 값들 및 근사들 (1200')을 다른 차량들과 연관된 다른 강화형 학습 시스템들 (2800)에게로, 그 다른 차량들에서의 강화 학습을 위해 분배할 수 있다. 예를 들면, 강화형 학습은, 상기 보상/후회 값들 및 근사들 (1200')을 사용하여 제2 차량에서 물체 로컬화 및/또는 탐지 동작들을 개선하기 위해 사용될 수 있다.
그러나, 다른 차량들에서 학습된 동작들은 딥 신경 네트워크 (2805)에 의해 수행된 동작들과 일치할 필요는 없다. 예를 들면, 이동 시간에 기반한 보상/후회 값들 그리고 예를 들면 GPS 데이터 소스 (2825)에 의해 식별된 위치에서의 예상치 못한 젖은 도로를 특성화하는 센서 데이터의 입력으로부터의 결과인 근사들 (1200')은 다른 차량에서의 경로 플래닝 (route planning)을 위해 사용될 수 있다.
본 명세서에서 설명된 특허 대상들 및 동작들의 실시예들은 디지털 전자 회로로, 또는 컴퓨터 소프트웨어, 펌웨어니 본 명세서에서 개시된 구조들 및 그 구조들의 등가물들을 포함하는 하드웨어로, 또는 그것들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에서 설명된 특허 대상의 실시예들은 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에서 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안으로 또는 추가로, 상기 프로그램 명령어들은, 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 전송을 위해 정보를 인코딩하기 위해 생성된, 인위적으로 생성된 전파된 신호, 예를 들면, 기계-생성 전기적, 광학적, 또는 전자기장 신호 상에서 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터-판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 어레이나 디바이스 , 또는 그것들 중 하나 이상의 조합이거나 그 내부에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체가 전파된 신호가 아니면, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호 내에서 인코딩된 컴퓨터 프로그램 명령어들의 소스나 목적지일 수 있다. 상기 컴퓨터 저장 매체는 또한 하나 이상의 분리된 물리적 컴포넌트들이나 매체 (예를 들면, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들)이거나 그 내부에 포함될 수 있다.
본 명세서에서 설명된 동작들은, 하나 이상의 컴퓨터-판독가능 저장 디바이스들 상에 저장되거나 다른 소스들로부터 수신된 데이터에 관하여 데이터 프로세싱 장치에 의해 수행된 동작들로서 구현될 수 있다.
"데이터 프로세싱 장치"의 용어는 모든 유형의 장치, 디바이스들, 및 머신들을 포함하며, 예로서 프로그래머블 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것들 중 다수의 것들이나 조합들을 포함한다. 상기 장치는 특별 목적 로직 회로, 예를 들면, FPGA (field programmable gate array) 또는 ASIC (application specific integrated circuit)을 포함할 수 있다. 상기 장치는 하드웨어에 추가로 문제의 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들면 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 크로스-플랫폼 런타임 환경, 가상 머신, 또는 그것들 중 하나 이상의 조합들을 또한 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 하부구조와 같은 다양한 상이한 컴퓨팅 모델 하부구조를 실현할 수 있다
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드로도 알려짐)은 컴파일되거나 인터프리트된 언어, 선언형 또는 절차형 언어를 포함하는 임의 모습의 프로그래밍 언어로 쓰여질 수 있으며, 그리고 컴퓨터 프로그램은 단독 프로그램으로 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서의 사용을 위해 적합한 다른 유닛을 포함하는 임의 모습으로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내 파일에 대응할 수 있지만, 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램이나 데이터 (예를 들면, 마크업 언어 문헌 (markup language document) 내에 저장된 하나 이상의 스크립트들)를 보유한 파일의 일부 내에, 문제의 프로그램에 전용인 단일 파일 내에, 또는 다수의 통합된 파일들 (예를 들면, 하나 이상의 모듈들, 서브 프그램들, 또는 코드의 일부를 저장하는 파일들) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 한 사이트에 위치하거나 다수의 사이트들에 분산되어 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들 상에서 실행되기 위해 배치될 수 있다.
본 명세서에서 설명된 상기 프로세스들 및 로직 흐름들은, 입력 데이터를 작동시키고 출력을 생성함으로써 행동들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 상기 프로세스들 및 로직 흐름들은 특수 목적 로직 회로, 예를 들면, FPGA (field programmable gate array) 또는 ASIC (application specific integrated circuit)에 의해 또한 수행될 수 있으며, 그리고 장치는 상기 특수 목적 로직 회로로서 또한 구현될 수 있다.
컴퓨터 프로그램 실행을 위해 적합한 프로세서들은, 예로서, 범용 마이크로프로세서 및 특수 목적 마이크로프로세서 둘 모두, 그리고 임의 유형의 디지털 컴퓨터의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 본질적인 요소들은 명령어들에 따른 행동들을 수행하기 위한 프로세서 그리고 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들면, 자기 디스크, 자기 광학 디스크, 광학 디스크를 또한 포함하거나, 또는 데이터를 수신하고 데이터를 전달하기 위해 하나 이상의 대용량 저장 디바이스들과 작동적으로 결합될 것이다. 그러나, 컴퓨터는 그런 디바이스들을 구비할 필요는 없다. 더욱이, 컴퓨터는 다른 디바이스 내에, 예를 들어, 몇 가지만 언급하면, 모바일 전화기, 개인용 디지털 어시스턴트 (PDA), 모바일 오디오나 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템 (GPS) 수신기, 또는 휴대용 저장 디바이스 (예를 들면, 유니버셜 시리얼 버스 (USB) 플래시 드라이브) 내에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은, 예로서 반도체 메모리 디바이스들, 예를 들면, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크, 예를 들면, 내부 하드 디스크들이나 탈착가능 디스크; 자기 광학 디스크; 및 CD ROM과 DVD-ROM 디스크들을 포함하는 비 휘발성 메모리, 매체 및 메모리 디바이스들의 모든 모습들을 포함한다. 상기 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보충될 수 있으며, 또는 그 특수 목적 로직 회로 내에 통합될 수 있다.
사용자와의 상호작용 (interaction)을 제공하기 위해, 본 명세서에서 설명된 특허 대상의 실시예들은 컴퓨터 상에서 구현될 수 있으며, 그 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들면, CRT (cathode ray tube) 또는 LCD (liquid crystal display) 모니터 그리고 사용자가 상기 컴퓨터에게 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들면, 마우스나 트랙볼을 구비한다. 다른 유형의 디바이스들이 사용자와의 상호작용을 제공하기 위해 마찬가지로 사용될 수 있다; 예를 들면, 사용자에게 제공된 피드백은 감각적 피드백, 예를 들면, 시각적 피드백, 청각적 피드백, 또는 촉각적인 피드백 중의 임의 모습일 수 있다; 그리고 사용자로부터의 입력은 청각적인, 음성의, 또는 촉각적인 입력을 포함하는 임의 모습으로 수신될 수 있다. 추가로, 예를 들면, 사용자의 클라이언트 디바이스 상의 웹 브라우저로부터 수신된 요청들에 응하여 웹 페이지들을 상기 웹 브라우저로 송신함으로써, 컴퓨터는 사용자가 사용하는 디바이스로 문서들을 송신하고 상기 디바이스로부터 문서들을 수신함으로써 그 사용자와 상호작용할 수 있다.
본 명세서가 많은 특정 구현 상세 내용들을 포함하지만, 이것들은 발명의 범위 또는 청구될 수 있는 범위에 관한 한계들로서 해석되지 않아야 하며, 오히려 특별한 발명의 특별한 실시예들에 특정적인 특징들에 대한 설명들로서 해석되어야 한다. 분리된 실시예들의 환경에서 본 명세서 내에 설명된 어떤 특징들은 단일의 실시예 내에서 조합하여 또한 구현될 수 있다. 역으로, 단일의 실시예의 환경에서 설명된 다양한 특징들은 다수의 실시예들에서 분리하여 또는 어떤 적합한 서브조합으로 또한 구현될 수 있다. 더욱이, 특징들이 어떤 조합들에서 행동하는 것으로 위에서 설명되며 심지어는 초기에 그렇게 선언될 수 있지만, 선언된 조합으로부터의 하나 이상의 특징들은 몇몇 경우에는 그 조합으로부터 삭제될 수 있으며, 그리고 상기 선언된 조합은 서브조합 또는 서브조합의 변이에 관한 것일 수 있다.
유사하게, 동작들이 도면들에서 특별한 순서로 도시되지만, 이것은 그런 동작들이 소망될 결과들을 달성하기 위해 도시된 특별한 순서로 또는 순차적으로 수행되거나 또는 모든 도시된 동작들이 수행되어야 하는 것으로 해석되지 않아야 한다. 특정 환경들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 위에서 설명된 실시예들에서 다양한 컴포넌트들의 분리는 모든 실시예들에서 그런 분리가 필요한 것으로 해석되지 않아야 하며, 그리고 상기 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것이 이해되어야 한다.
그래서, 본 특허 대상의 특별한 구현들이 설명되었다. 다른 구현들은 이어지는 청구항들의 범위 내에 존재한다. 몇몇 경우에, 청구항들에서 상술된 행동들은 상이한 순서로 수행될 수 있으며 여전히 소망된 결과들을 달성할 수 있다. 추가로, 동반 도면들에서 도시된 프로세스들은 소망된 결과들을 달성하기 위해 도시된 그 특별한 순서나 순차적인 것을 반드시 필요로 하는 것은 아니다. 특정 실시예들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.
여러 실시예들이 설명되었다. 그럼에도 불구하고, 다양한 수정들이 만들어질 수 있다는 것이 이해될 것이다. 예를 들면, 참조번호 1200의 표현이 이진수 표현이며, 그 이진수 표현에서 각 비트는 개별적으로 그래프 내 특징의 존재 또는 부재를 표현함에도 불구하고, 정보의 다른 표현들이 가능하다. 예를 들면, 벡터 또는 다중-값인, 비-이진 자릿수들의 행렬이, 예를 들면, 특징들의 존재 또는 부재 그리고 아마도 그 특징들의 다른 특성들을 표현하기 위해 사용될 수 있다. 그런 특성의 예는 상기 특징들을 구성하는 활동을 구비한 에지들의 가중치이다.
따라서, 다른 실시예들은 이어지는 청구항들의 범위 내에 존재한다.
Claims (20)
- 인공 신경 네트워크 내 활동을 특성화하는 단계를 포함하는 방법으로,
상기 방법은 데이터 프로세싱 장치에 의해 수행되며 그리고
복수의 시간 윈도우들을 한정하는 단계로, 그 시간 윈도우들 동안에 상기 인공 신경 네트워크의 신호 전송 활동은 상기 인공 신경 네트워크로의 입력에 응답하는, 한정 단계; 그리고
상기 복수의 시간 윈도우들 각각에서 상기 인공 신경 네트워크의 신호 전송 활동의 소집단 패턴 (clique pattern)들을 식별하는 단계를 포함하며,
상기 신호 전송 활동의 소집단 패턴들은 공동 (cavity)들을 둘러싼 것인, 방법. - 삭제
- 제1항에 있어서,
상기 방법은 상기 복수의 시간 윈도우들 내의 제1 시간 윈도우를 식별하는 단계를 더 포함하며,
상기 식별하는 것은 상기 제1 시간 윈도우 동안에 발생하는 신호 전송 활동의 소집단 패턴들의 구별 가능한 가능성에 기반하는, 방법. - 제1항에 있어서,
소집단 패턴들을 식별하는 단계는 신호 전송 활동의 지향성 (directed) 소집단들을 식별하는 단계를 포함하는, 방법. - 제4항에 있어서,
지향성 소집단들을 식별하는 단계는 상위 차원 지향성 소집단들 내에 존재하는 하위 차원 지향성 소집단들을 폐기하거나 무시하는 단계를 포함하는, 방법. - 제1항 및 제3항 내지 제5항 중 어느 한 항에 있어서,
상기 소집단 패턴들을 카테고리들로 분류하는 단계; 그리고
상기 카테고리들 각각 내에서의 소집단 패턴들의 발생 횟수에 따라 상기 신호 전송 활동을 특성화하는 단계를 더 포함하는, 방법. - 제6항에 있어서,
상기 소집단 패턴들을 분류하는 단계는 각 소집단 패턴들 내의 포인트들의 개수에 따라 상기 소집단 패턴들을 분류하는 단계를 포함하는, 방법. - 제1항에 있어서,
순환 인공 신경 네트워크로부터 영 (zero)들과 일 (1)들의 이진 시퀀스를 출력하는 단계를 더 포함하며,
상기 시퀀스 내 각 자릿수는 신호 전송 활동의 각 패턴이 상기 인공 신경 네트워크 내에 존재하는가의 여부를 나타내는, 방법. - 제1항에 있어서,
상기 인공 신경 네트워크를 구조화하는 단계를 더 포함하며, 이 구조화하는 단계는:
상기 인공 신경 네트워크로부터 자릿수 (digit) 출력을 판독하는 단계, 그리고
상기 인공 신경 네트워크의 구조를 전개하는 단계를 포함하며,
상기 인공 신경 네트워크의 구조를 전개하는 단계는:
상기 구조를 반복하여 변경하는 단계,
변경된 구조 내 신호 전송 활동의 패턴들의 복잡성을 특성화하는 단계, 그리고
상기 패턴의 복잡성의 특성화를 상기 변경된 구조가 바람직한가의 여부의 표시로서 사용하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 인공 신경 네트워크는 순환 인공 신경 네트워크이며; 그리고
상기 방법은:
상기 순환 인공 신경 네트워크 내 신호 전송 활동의 패턴들의 복잡성에 대한 판단에 기반하여 상기 순환 인공 신경 네트워크 내 결정 순간들을 식별하는 단계를 더 포함하며, 상기 결정 순간들을 식별하는 것은:
상기 입력에 응답하는 다른 신호 전송 활동과 구별 가능한 복잡성을 가진 신호 전송 활동의 타이밍을 판별하며, 그리고
상기 구별 가능한 복잡성을 가진 상기 신호 전송 활동의 타이밍에 기반하여 상기 결정 순간들을 식별하는 것을 포함하는, 방법. - 제10항에 있어서,
데이터 스트림을 상기 순환 인공 신경 네트워크로 입력하는 단계 그리고 상기 데이터 스트림 입력 동안에 신호 전송 활동의 소집단 패턴들을 식별하는 단계를 더 포함하는, 방법. - 제1항에 있어서,
상기 신호 전송 활동이 상기 인공 신경 네트워크로의 입력에 응답하는가의 여부를 추정하는 단계를 더 포함하며, 상기 추정하는 것은:
입력 이벤트 이후에 상대적으로 빠르게 신호 전송 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 빠르게 신호 전송 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답한다고 추정하며; 그리고
입력 이벤트 이후에 상대적으로 더 늦게 신호 전송 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 더 늦게 신호 전송 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답한다고 추정하는 것을 포함하는, 방법. - 동작들을 수행하기 위해 작동 가능한 하나 이상의 컴퓨터들을 포함하는 시스템으로서, 상기 동작들은:
복수의 시간 윈도우들을 한정하는 동작으로, 상기 시간 윈도우들 동안에 인공 신경 네트워크의 신호 전송 활동은 상기 인공 신경 네트워크로의 입력에 응답하는, 동작;
상기 인공 신경 네트워크 내 신호 전송 활동을 특성화하는 동작을 포함하며,
상기 특성화하는 동작은 상기 복수의 시간 윈도우들 각각에서 상기 인공 신경 네트워크의 신호 전송 활동의 소집단 패턴들을 식별하는 동작을 포함하며, 상기 신호 전송 활동의 소집단 패턴들은 공동들을 둘러싼 것인, 시스템. - 삭제
- 제13항에 있어서,
상기 동작들은 상기 복수의 시간 윈도우들 내의 제1 시간 윈도우를 식별하는 동작을 더 포함하며,
상기 식별하는 것은 상기 제1 시간 윈도우 동안에 발생하는 신호 전송 활동의 소집단 패턴들의 구별 가능한 가능성에 기반하는, 시스템. - 제13항에 있어서,
소집단 패턴들을 식별하는 동작은 상위 차원 지향성 소집단들 내에 존재하는 하위 차원 지향성 소집단들을 폐기하거나 무시하는 것을 포함하는, 시스템. - 제13항에 있어서,
상기 동작들은 상기 인공 신경 네트워크를 구조화하는 동작을 더 포함하며, 이 구조화하는 동작은:
상기 인공 신경 네트워크로부터 자릿수 출력을 판독하는 동작, 그리고
상기 인공 신경 네트워크의 구조를 전개하는 동작을 포함하며,
상기 인공 신경 네트워크의 구조를 전개하는 동작은:
상기 구조를 반복하여 변경하는 동작,
변경된 구조 내 신호 전송 활동의 패턴들의 복잡성을 특성화하는 동작, 그리고
상기 패턴의 복잡성의 특성화를 상기 변경된 구조가 바람직한가의 여부의 표시로서 사용하는 동작을 포함하는, 시스템. - 제13항에 있어서,
상기 인공 신경 네트워크는 순환 인공 신경 네트워크이며; 그리고
상기 동작들은:
상기 순환 인공 신경 네트워크 내 신호 전송 활동의 패턴들의 복잡성에 대한 판단에 기반하여 상기 순환 인공 신경 네트워크 내 결정 순간들을 식별하는 동작을 더 포함하며, 상기 결정 순간들을 식별하는 것은:
상기 입력에 응답하는 다른 신호 전송 활동과 구별 가능한 복잡성을 가진 신호 전송 활동의 타이밍을 판별하며, 그리고
상기 구별 가능한 복잡성을 가진 상기 신호 전송 활동의 타이밍에 기반하여 상기 결정 순간들을 식별하는 것을 포함하는, 시스템. - 제18항에 있어서,
상기 동작들은 데이터 스트림을 상기 순환 인공 신경 네트워크로 입력하는 동작 그리고 상기 데이터 스트림 입력 동안에 신호 전송 활동의 소집단 패턴들을 식별하는 동작을 더 포함하는, 시스템. - 제13항에 있어서,
상기 동작들은 상기 신호 전송 활동이 상기 인공 신경 네트워크로의 입력에 응답하는가의 여부를 추정하는 동작을 더 포함하며, 상기 추정하는 것은:
입력 이벤트 이후에 상대적으로 빠르게 신호 전송 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 빠르게 신호 전송 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답한다고 추정하며; 그리고
입력 이벤트 이후에 상대적으로 더 늦게 신호 전송 활동의 상대적으로 더 단순한 패턴들이 상기 입력에 응답하지 않는다면 그 입력 이벤트 이후에 상대적으로 더 늦게 신호 전송 활동의 상대적으로 더 복잡한 패턴들이 상기 입력에 응답한다고 추정하는 것을 포함하는, 시스템.
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/004,757 US11893471B2 (en) | 2018-06-11 | 2018-06-11 | Encoding and decoding information and artificial neural networks |
US16/004,671 | 2018-06-11 | ||
US16/004,796 US20190378000A1 (en) | 2018-06-11 | 2018-06-11 | Characterizing activity in a recurrent artificial neural network |
US16/004,796 | 2018-06-11 | ||
US16/004,837 US11663478B2 (en) | 2018-06-11 | 2018-06-11 | Characterizing activity in a recurrent artificial neural network |
US16/004,671 US11972343B2 (en) | 2018-06-11 | 2018-06-11 | Encoding and decoding information |
US16/004,757 | 2018-06-11 | ||
US16/004,635 US20190378007A1 (en) | 2018-06-11 | 2018-06-11 | Characterizing activity in a recurrent artificial neural network |
US16/004,635 | 2018-06-11 | ||
US16/004,837 | 2018-06-11 | ||
PCT/EP2019/064593 WO2019238483A1 (en) | 2018-06-11 | 2019-06-05 | Characterizing activity in a recurrent artificial neural network and encoding and decoding information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210010894A KR20210010894A (ko) | 2021-01-28 |
KR102497238B1 true KR102497238B1 (ko) | 2023-02-07 |
Family
ID=66776339
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207035843A KR102497238B1 (ko) | 2018-06-11 | 2019-06-05 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035847A KR102526132B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035846A KR102465409B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035845A KR102475411B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035844A KR102488042B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207035847A KR102526132B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035846A KR102465409B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035845A KR102475411B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
KR1020207035844A KR102488042B1 (ko) | 2018-06-11 | 2019-06-06 | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 |
Country Status (5)
Country | Link |
---|---|
EP (5) | EP3803699A1 (ko) |
KR (5) | KR102497238B1 (ko) |
CN (5) | CN112567387A (ko) |
TW (1) | TWI822792B (ko) |
WO (5) | WO2019238483A1 (ko) |
Families Citing this family (16)
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 |
US11663478B2 (en) | 2018-06-11 | 2023-05-30 | Inait Sa | Characterizing activity in a recurrent artificial neural network |
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 |
US11610134B2 (en) * | 2019-07-08 | 2023-03-21 | Vianai Systems, Inc. | Techniques for defining and executing program code specifying neural network architectures |
US11580401B2 (en) | 2019-12-11 | 2023-02-14 | Inait Sa | Distance metrics and clustering in recurrent neural networks |
US11816553B2 (en) | 2019-12-11 | 2023-11-14 | Inait Sa | Output from a recurrent neural network |
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 |
TWI769466B (zh) * | 2020-06-17 | 2022-07-01 | 台達電子工業股份有限公司 | 類神經網路系統及其操作方法 |
CN112073217B (zh) * | 2020-08-07 | 2023-03-24 | 之江实验室 | 一种多网络结构差异向量化方法及装置 |
CN113219358A (zh) * | 2021-04-29 | 2021-08-06 | 东软睿驰汽车技术(沈阳)有限公司 | 电池包健康状态计算方法、系统及电子设备 |
TWI769875B (zh) * | 2021-06-24 | 2022-07-01 | 國立中央大學 | 深度學習網路裝置、其使用的記憶體存取方法與非揮發性儲存媒介 |
CN113626721B (zh) * | 2021-10-12 | 2022-01-25 | 中国科学院自动化研究所 | 基于遗憾探索的推荐方法、装置、电子设备与存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958071B2 (en) * | 2007-04-19 | 2011-06-07 | Hewlett-Packard Development Company, L.P. | Computational nodes and computational-node networks that include dynamical-nanodevice connections |
JP5844286B2 (ja) * | 2010-02-05 | 2016-01-13 | エコール・ポリテクニーク・フェデラル・ドゥ・ローザンヌ (ウ・ペ・エフ・エル)Ecole Polytechnique Federalede Lausanne (Epfl) | ニューラルネットワークの組織化 |
US8170971B1 (en) * | 2011-09-28 | 2012-05-01 | Ava, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US20180053114A1 (en) * | 2014-10-23 | 2018-02-22 | Brighterion, Inc. | Artificial intelligence for context classifier |
CN106156845A (zh) * | 2015-03-23 | 2016-11-23 | 日本电气株式会社 | 一种用于构建神经网络的方法和设备 |
CN105095966B (zh) * | 2015-07-16 | 2018-08-21 | 北京灵汐科技有限公司 | 人工神经网络和脉冲神经网络的混合计算系统 |
US20180005111A1 (en) * | 2016-06-30 | 2018-01-04 | International Business Machines Corporation | Generalized Sigmoids and Activation Function Learning |
US11544539B2 (en) * | 2016-09-29 | 2023-01-03 | Tsinghua University | Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system |
US10748060B2 (en) * | 2016-10-14 | 2020-08-18 | Intel Corporation | Pre-synaptic learning using delayed causal updates |
CN107247989B (zh) * | 2017-06-15 | 2020-11-24 | 北京图森智途科技有限公司 | 一种实时的计算机视觉处理方法及装置 |
CN107423814A (zh) * | 2017-07-31 | 2017-12-01 | 南昌航空大学 | 一种采用深度卷积神经网络建立动态网络模型的方法 |
-
2019
- 2019-06-05 KR KR1020207035843A patent/KR102497238B1/ko active IP Right Grant
- 2019-06-05 CN CN201980053465.4A patent/CN112567387A/zh active Pending
- 2019-06-05 EP EP19728962.2A patent/EP3803699A1/en active Pending
- 2019-06-05 WO PCT/EP2019/064593 patent/WO2019238483A1/en unknown
- 2019-06-06 TW TW108119813A patent/TWI822792B/zh active
- 2019-06-06 KR KR1020207035847A patent/KR102526132B1/ko active IP Right Grant
- 2019-06-06 CN CN201980053141.0A patent/CN112567389A/zh active Pending
- 2019-06-06 EP EP19728992.9A patent/EP3803707A1/en active Pending
- 2019-06-06 KR KR1020207035846A patent/KR102465409B1/ko active IP Right Grant
- 2019-06-06 CN CN201980053140.6A patent/CN112567388A/zh active Pending
- 2019-06-06 KR KR1020207035845A patent/KR102475411B1/ko active IP Right Grant
- 2019-06-06 EP EP19728993.7A patent/EP3803708A1/en active Pending
- 2019-06-06 WO PCT/EP2019/064740 patent/WO2019238512A1/en unknown
- 2019-06-06 CN CN201980054063.6A patent/CN112585621A/zh active Pending
- 2019-06-06 WO PCT/EP2019/064773 patent/WO2019238522A1/en unknown
- 2019-06-06 EP EP19728990.3A patent/EP3803706A1/en active Pending
- 2019-06-06 WO PCT/EP2019/064776 patent/WO2019238523A1/en unknown
- 2019-06-06 WO PCT/EP2019/064741 patent/WO2019238513A1/en unknown
- 2019-06-06 KR KR1020207035844A patent/KR102488042B1/ko active IP Right Grant
- 2019-06-06 CN CN201980053463.5A patent/CN112567390A/zh active Pending
- 2019-06-06 EP EP19728989.5A patent/EP3803705A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3803707A1 (en) | 2021-04-14 |
EP3803705A1 (en) | 2021-04-14 |
TWI822792B (zh) | 2023-11-21 |
CN112567390A (zh) | 2021-03-26 |
CN112567388A (zh) | 2021-03-26 |
KR20210008418A (ko) | 2021-01-21 |
KR20210008417A (ko) | 2021-01-21 |
CN112567389A (zh) | 2021-03-26 |
KR20210008858A (ko) | 2021-01-25 |
KR20210008419A (ko) | 2021-01-21 |
EP3803699A1 (en) | 2021-04-14 |
KR102526132B1 (ko) | 2023-04-26 |
CN112567387A (zh) | 2021-03-26 |
KR102488042B1 (ko) | 2023-01-12 |
KR20210010894A (ko) | 2021-01-28 |
WO2019238483A1 (en) | 2019-12-19 |
KR102465409B1 (ko) | 2022-11-09 |
WO2019238523A1 (en) | 2019-12-19 |
TW202001693A (zh) | 2020-01-01 |
EP3803706A1 (en) | 2021-04-14 |
CN112585621A (zh) | 2021-03-30 |
WO2019238522A1 (en) | 2019-12-19 |
WO2019238512A1 (en) | 2019-12-19 |
EP3803708A1 (en) | 2021-04-14 |
KR102475411B1 (ko) | 2022-12-07 |
WO2019238513A1 (en) | 2019-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102497238B1 (ko) | 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩 | |
US11972343B2 (en) | Encoding and decoding information | |
US20240176985A1 (en) | Encoding and decoding information and artificial neural networks | |
US11663478B2 (en) | Characterizing activity in a recurrent artificial neural network | |
US20190378000A1 (en) | Characterizing activity in a recurrent artificial neural network | |
US20190378007A1 (en) | Characterizing activity in a recurrent artificial neural network | |
CN115345278A (zh) | 卷积神经网络的结构学习 | |
US11797827B2 (en) | Input into a neural network | |
Malik et al. | Architecture, generative model, and deep reinforcement learning for IoT applications: Deep learning perspective | |
Jin et al. | Improving the Performance of Deep Learning Model‐Based Classification by the Analysis of Local Probability | |
Hoang et al. | Deep Reinforcement Learning for Wireless Communications and Networking: Theory, Applications and Implementation | |
Jeong | Performance of Neural Computing Techniques in Communication Networks | |
Atitallah | Intelligent Microservices-based Approach to Support Data Analytics for IoT Applications | |
Karthik et al. | Synergizing Sensor Intelligence: a Novel Approach to Enhanced Human Activity Recognition | |
Muloor et al. | Computational Intelligence in Communication Networks: Classification, Clustering, Reinforcement Learning, Deep Learning | |
Kochhar et al. | Deep Learning as Applied to Wireless Networks: A Review | |
Polepalli | Scalable Digital Architecture of a Liquid State Machine | |
CN117195058A (zh) | 基于神经网络的大脑时空数据分析方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |