KR20220107302A - 순환 신경망에서의 거리 메트릭 및 클러스터링 - Google Patents

순환 신경망에서의 거리 메트릭 및 클러스터링 Download PDF

Info

Publication number
KR20220107302A
KR20220107302A KR1020227023874A KR20227023874A KR20220107302A KR 20220107302 A KR20220107302 A KR 20220107302A KR 1020227023874 A KR1020227023874 A KR 1020227023874A KR 20227023874 A KR20227023874 A KR 20227023874A KR 20220107302 A KR20220107302 A KR 20220107302A
Authority
KR
South Korea
Prior art keywords
topological
data
neural network
pattern
activity
Prior art date
Application number
KR1020227023874A
Other languages
English (en)
Inventor
헨리 마크람
펠릭스 쉬르만
파비앙 조나단 델라론드르
란 레비
벨왈드 캐서린 파멜라 헤스
존 라몬
Original Assignee
이나이트 에스아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이나이트 에스아 filed Critical 이나이트 에스아
Publication of KR20220107302A publication Critical patent/KR20220107302A/ko

Links

Images

Classifications

    • G06N3/0445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks

Abstract

순환 신경망에서의 거리 메트릭 및 클러스터링. 예를 들어, 방법은, 순환 인공 신경망에 제1 데이터를 입력함에 응답하여 상기 순환 인공 신경망에서 토폴로지 패턴의 모음 내 활동의 토폴로지 패턴이 발생하게 되는 지의 여부를 결정하는 단계; 및 상기 제1 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴에 기초하여 상기 제1 데이터와 제2 데이터 또는 참조 간 거리를 결정하는 단계; 를 포함한다.

Description

순환 신경망에서의 거리 메트릭 및 클러스터링
본 발명은 순환 신경망에서의 거리 메트릭 및 클러스터링에 관한 것이며, 더 구체적으로는 순환 신경망의 처리 결과에 관련된 거리 메트릭을 정의하고 그러한 거리 메트릭을 사용해 클러스터링함에 관한 것이다.
인공 신경망은 생물학적 뉴런 네트워크의 구조와 기능적 실시형태에 의해 영감을 받은 장치이다. 특히 인공 신경망은 노드라고 불리는 상호연결된 구성의 시스템을 사용하여 생물학적 뉴런 네트워크의 정보 인코딩 및 기타 처리 기능을 모방한 것이다. 인공 신경망 내 노드 간 연결의 배치와 강도는 인공 신경망에 의한 정보 처리나 정보 저장의 결과를 결정한다.
신경망은 망 내에서 원하는 신호 흐름을 생성하고 원하는 정보 처리 또는 정보 저장 결과를 달성하도록 트레이닝될 수 있다. 일반적으로 신경망을 트레이닝하면 학습 단계 동안 노드 간 연결의 배치 및/또는 강도가 변경되게 된다. 상기 트레이닝은 특정한 처리 결과를 달성하는 방향으로 진행되게 된다. 상기 처리 결과는 한 세트의 예, 다시 말하면 트레이닝 세트와 일치해야 한다. 주어진 입력 세트에 대해 신경망에 의해 충분히 적절한 처리 결과가 획득될 때 신경망은 트레이닝된 것으로 간주될 수 있다.
신경망이 트레이닝될 수 있게 하는 목적 중에는 클러스터링이 있다. 클러스터링은 하나의 그룹 또는 클러스터 내 객체가 나머지 그룹 또는 클러스터 내 객체보다 일부 메트릭에서 서로 더 유사하도록 객체를 그룹화하는 것이다. 클러스터링은 생체정보, 데이터 마이닝, 데이터 압축, 통계 데이터 분석 및 기계 학습을 비롯한 많은 데이터 처리 파이프라인의 일부이다. 클러스터링의 중요성으로 인해, 다양한 클러스터링 알고리즘이 개발되었으며 입력을 클러스터링하도록 신경망이 트레이닝되어 왔다. 이러한 알고리즘과 신경망은 다양한 여러 상황에서 다소 유용하다. 그러나 여기서 유념해야 할 점은 객관적으로 "올바른" 클러스터링 결과가 없다는 것이다. 대신에, 원하는 클러스터링 결과는 달성하려는 결과에 의존한다.
클러스터링을 수행하도록 트레이닝되어 왔던 신경망의 전형적인 예에는 자기 조직화 맵(self-organizing map)이 있다. 자기 조직화 맵은 입력 트레이닝 샘플의 낮은 차원의 이산화 표현(discretized representation)을 생성하도록 경쟁 학습을 사용하여 트레이닝된다. 이러한 표현은 또한 "맵(map)"으로 불린다. 트레이닝은 신경망에서 수행되는 처리의 기본이기 때문에 이러한 신경망은 일반적으로 트레이닝 세트 내 데이터에서 형태나 유형 면에서 일탈하는 데이터를 처리할 수 없다.
본 방법 및 장치는 거리 메트릭을 정의하기 위해 트레이닝되지 않은 순환 인공 신경망에서도 발생하게 되는 활동(activity)의 토폴로지 패턴을 사용한다. 상기 거리 메트릭은 예컨대 서로 다른 입력을 클러스터링할 때 유용할 수 있다. 활동의 토폴로지 패턴은 일반적으로 일정 기간에 걸쳐 발생하게 되며 디지트 모음(collection of digits)으로 표현될 수 있다. 활동의 토폴로지 패턴 중의 적어도 일부 패턴은 순환 인공 신경망의 구조로 인해 선험적으로 발생하게 된다. 따라서 심지어 트레이닝되지 않은 순환 인공 신경망이라도 서로 다른 입력을 클러스터링하는 데 사용될 수 있다.
그런데, 비록 활동의 토폴로지 패턴 중 일부 토폴로지 패턴이 순환 인공 신경망의 트레이닝 없이 발생하게 되더라도, 상기 순환 인공 신경망이 완전히 트레이닝되지 않은 상태로 남아 있을 필요는 없다. 대신에 상기 순환 인공 신경망 자체가 트레이닝 없이 발생하게 되는 패턴을 합성하도록 트레이닝될 수 있다. 트레이닝 없이 발생하게 되는 패턴이 상기 순환 인공신경망으로부터 출력되어 별도의 분류기에 입력될 필요는 없다. 대신에, 비록 트레이닝 없이도 활동의 토폴로지 패턴이 발생하게 되는 동일한 순환 인공 신경망은 클러스터링 활동을 수행하도록 트레이닝될 수 있다.
일 실시형태에서, 입력을 클러스터링하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 비롯한, 방법, 시스템 및 장치가 설명된다. 예를 들어, 방법은 순환 인공 신경망에 제1 데이터를 입력함에 응답하여 순환 인공 신경망에서 토폴로지 패턴 모음 내 활동의 토폴로지 패턴이 발생하게 되는지의 여부를 결정하는 단계, 및 상기 제1 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴에 기초하여 상기 제1 데이터와 제2 데이터 또는 참조 중의 하나 간의 거리를 결정하는 단계를 포함한다. 또한, 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램을 비롯한 상응하는 시스템 및 기기도 가능하다.
다른 한 실시형태에서, 방법은 순환 인공 신경망에 복수의 서로 다른 요소를 입려함에 응답하여 순환 인공 신경망 내 활동의 토폴로지 패턴의 발생을 식별하는 정보를 수신하는 단계, 활동의 토폴로지 패턴에 기초하여 상기 서로 다른 요소 간 거리를 계산하는 단계, 및 상기 거리를 늘리거나 줄이기 위해 상기 순환 인공 신경망의 하나 이상의 특성을 조정하는 단계를 포함한다. 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램을 비롯한 상응하는 시스템 및 기기도 가능하다.
이러한 실시형태와 다른 실시형태는 이하의 특징 중 하나 이상의 특징을 포함할 수 있다. 상기 순환 인공 신경망에 제2 데이터를 입력함에 응답하여 상기 모음 내 활동의 토폴로지 패턴이 상기 순환 인공 신경망에서 발생하는 지의 여부도 결정될 수 있다. 상기 제1 데이터의 입력에 응답하여 발생하는 것으로 결정되는 활동의 토폴로지 패턴과 상기 제2 데이터의 입력에 응답하여 발생하는 것으로 결정되는 활동의 토폴로지 패턴과 비교함으로써 상기 제1 데이터 및 상기 제2 데이터 간 거리가 결정된다. 상기 제1 데이터와 클러스터의 중심(centroid) 또는 클러스터 경계 간 거리가 결정될 수 있다.
활동의 토폴로지 패턴의 발생은 대응하는 토폴로지 패턴이 발생하게 되었는 지의 여부를 각각 나타내는 2진 또는 다중 값 디지트의 모음으로 표현될 수 있다. 상기 거리는 상기 모음 내 활동의 토폴로지 패턴의 제2 서브세트와는 상이하게 상기 모음 내 활동의 토폴로지 패턴의 제1 서브세트를 취급하는 거리 메트릭을 사용하여 결정될 수 있다. 예를 들어, 상기 토폴로지 패턴의 제1 서브세트는 상기 토폴로지 패턴의 제2 서브세트보다 거리를 더 강력하게 나타내는 것으로 가중될 수 있다. 상기 제1 데이터 및 상기 제2 데이터는 입력 데이터의 다중 클래스를 포함할 수 있다. 상기 토폴로지 패턴의 제1 서브세트는 주로 단일 클래스의 입력 데이터에 의해 섭동(攝動)되는 순환 인공 신경망의 영역에서 발생하게 되는 토폴로지 패턴만 포함할 필요가 있다. 입력 데이터의 각각의 클래스는 서로 다른 센서로부터 유래할 수 있다. 상기 단일 클래스의 입력 데이터는 제1 센서로부터만 유래할 필요가 있다. 상기 순환 인공 신경망은 트레이닝될 수 있고 상기 토폴로지 패턴의 제2 서브세트는 상기 트레이닝을 반영하는 상기 순환 인공 신경망의 영역에서 발생하게 되는 토폴로지 패턴만 포함할 필요가 있다. 상기 순환 인공 신경망도 트레이닝되지 않을 수 있다. 상기 토폴로지 패턴의 제2 서브세트 내 토폴로지 패턴의 복잡도는 상기 제1 서브세트 내 토폴로지 패턴의 복잡도보다 높을 수 있다. 상기 제1 서브세트 내 토폴로지 패턴 중 적어도 일부는 상기 제2 서브세트의 토폴로지 패턴 내에 포함될 수 있다. 상기 순환 인공 신경망에 데이터를 입력함에 응답하여 상기 모음 내 활동의 토폴로지 패턴이 상기 순환 인공 신경망에서 발생하게 되는 지의 여부는 반복적으로 결정될 수 있으며 상기 입력 데이터 - 상기 제1 데이터 및 상기 제2 데이터를 포함함 - 는 상기 데이터 간 거리에 기초하여 클러스터링될 수 있다. 상기 거리는 상기 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 대응하는 토폴로지 패턴을 비교함으로써 결정된다. 상기 활동의 토폴로지 패턴은 활동의 심플렉스 패턴(simplex patterns)이 발생함을 포함할 수 있다. 예를 들어, 상기 심플렉스 패턴은 공동(cavity)을 에워쌀 수 있다. 상기 입력에 응답하는 다른 활동과는 구별 가능한 복잡도를 지니는 활동의 타이밍이 결정될 수 있고 상기 구별 가능한 복잡도를 갖는 활동의 타이밍에 기초하여 토폴로지 구조가 식별될 수 있다.
상기 제1 요소의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴을 상기 제2 요소의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴과 비교함으로써 요소 간 거리가 결정될 수 있다. 상기 거리는 상기 모음 내 활동의 토폴로지 패턴의 제2 서브세트와는 다르게 상기 모음 내 활동의 토폴로지 패턴의 제1 서브세트를 처리하는 거리 메트릭을 사용하여 계산될 수 있다. 상기 거리 계산은 상기 토폴로지 패턴의 제2 서브세트보다 거리를 더 강력하게 나타내는 것으로 상기 토폴로지 패턴의 제1 서브세트를 가중시킬 수 있다. 상기 토폴로지 패턴의 제2 서브세트 내 토폴로지 패턴의 복잡도는 상기 제1 서브세트 내 토폴로지 패턴의 복잡도보다 낮을 수 있다. 활동의 토폴로지 패턴의 발생을 식별하는 정보는 제1 요소에 대한 제1 2진 벡터 및 제2 요소에 대한 제2 2진 벡터를 포함할 수 있다. 상기 거리는 상기 2진 벡터 간 거리를 계산함으로써 계산될 수 있다. 상기 순환 인공 신경망은 트레이닝되지 않을 수 있다.
본 발명의 하나 이상의 실시 예의 세부사항은 첨부도면 및 이하의 설명에 제시되어 있다. 본 발명의 다른 특징, 목적 및 이점은 이하의 설명 및 도면, 그리고 청구범위로부터 자명해질 것이다.
도 1은 다수의 서로 다른 센서로부터 발생하게 되는 데이터를 추상화 및 클러스터링하는 인공 신경망 시스템의 한 구현 예를 보여주는 개략도이다.
도 2 및 도 3은 신경망으로부터 디지트의 모음을 생성하기 위해 식별 및 "판독"될 수 있는 활동의 패턴을 보여주는 도면들이다.
도 4는 패턴의 발생을 시간의 함수로서 나타낸 그래프를 보여주는 도면이다.
도 5는 서로 다른 센서로부터 발생하게 되는 데이터를 신경망에 입력하고 상기 입력 데이터를 처리하기 위한 수법을 보여주는 개략도이다.
도 6은 특정 상황에서 바람직한 거리 메트릭을 달성하도록 조정된 디지트 모음을 생성하기 위해 순환 신경망이 어떻게 트레이닝될 수 있는지를 보여주는 개략도이다.
도 7은 순환 신경망 내 활동의 대응하는 토폴로지 패턴의 존재 또는 부재를 각각 나타내는 디지트 모음을 사용하는 거리 메트릭 계산을 보여주는 개략도이다.
다양한 도면에서 유사한 참조기호들은 유사한 요소들을 나타낸다.
생체 뇌(biological brains)는, 예컨대 시각, 청각, 고유 수용 감각(proprioception)을 비롯한 여러 유형의 입력에 대응한다. 입력의 다양성에도 불구하고 생체 뇌는 상기 입력으로부터 서로 다른 속성을 추출하고 예컨대 상기 입력에 응답하는 적절한 움직임이나 개념적 추상화로 응답할 수 있다. 신경 과학자는 뇌에서 이러한 프로세스에 참여하는 다양한 서브시스템을 발견하여왔다. 그들은, 예컨대, 특정 배향을 갖는 에지(edge)를 인코딩하는 시각 시스템 내 특정 세포, 동물이 정확한 공간 위치에 있을 때 활성 상태로 해마(hippocampus) 내 "위치 세포(place cells)", 그리고 심지어는 추상적이지만 선택적인 개념을 인코딩하는 세포(소위 "할머니 세포(grandmother cells)")를 포함한다. 상기 서브시스템은 또한 시간, 공간, 개념 및/또는 계층적 관계를 인코딩할 수 있다. 요컨대, 생체 뇌의 타고난 기능의 일부는 특이적 클러스터링과 비-특이적 클러스터링의 조합으로 간주될 수 있고 - 그 중 일부는 타고난 것이고 또 일부는 학습된 것이다.
어떤 경우에는 생체 뇌의 특성 중 적어도 일부를 구체화하기 위해 순환 인공 신경망이 구성될 수 있다. 상기 순환 인공 신경망은 실제 뇌의 고유한 특정 구조를 통합하고 여러 유형의 계산 및 클러스터링에 유용한 비-선형 돌출부(projection)를 을 인코딩할 수 있다. 상기 특정 구조는 예컨대 사전-클러스터링을 수행하여 입력을 대략적으로 클러스터링하고 입력 데이터의 차원을 감소시키는 구조를 포함할 수 있다. 상기 특정 구조는 또한 예컨대 특정 개념을 사전에 학습하지 않고 특정 개념의 직접적이고 구체적인 클러스터링을 수행하는 구조를 포함할 수 있다. 이전에 언급한 바와 같이, 순환 인공 신경망 자체는 이러한 구조 내 패턴을 합성하도록 트레이닝될 수 있으며 이는 후속 학습된 클러스터링에 대한 트레이닝 없이 이루어진다.
따라서, 명시적 거리 함수의 정의가 필요한 수학적 클러스터링 알고리즘과는 달리, 이러한 순환 인공 신경망에서 거리 함수의 사전 정의(up-front definition)가 필요하지 않다. 그 대신에, 거리 함수(들)는 노드의 배선과 노드의 기능적 속성에 의해 암시적으로 인코딩된다. 실제로, 상기 순환 인공 신경망의 서로 다른 노드와 서로 다른 구조는 서로 다른 거리 함수를 인코딩할 수 있다. 결과적으로, 상기 순환 인공 신경망의 일부 구조 또는 상태는 계층적 클러스터링과 유사한 수법으로 입력을 클러스터링할 수 있는 반면에, 다른 구조 또는 상태는 동시에 밀도-기반 클러스터링과 유사한 수법으로 입력을 클러스터링할 수 있다.
따라서, 심지어 트레이닝되지 않은 순환 인공 신경망에서도 발생하게 되는 활동의 토폴로지 패턴은 서로 다른 입력의 클러스터링을 나타낸다. 상기 토폴로지 패턴은 입력 섭동에 응답하여 발생하게 되는 순환 인공 신경망의 상태를 나타낸다. 상기 토폴로지 패턴은 상기 응답의 불필요하거나 중복되는 특성을 필터링하여 제거하고 클러스터링에 유용한 추상화에 대한 액세스를 가능하게 한다. 이하에서 추가로 논의되겠지만, 어떤 경우에는 응답의 불필요하거나 중복되는 특성이 필터링되어 제거되고 클러스터링에 더는 사용되지 않게 결정 모멘트가 식별될 수 있다.
상기 토폴로지 패턴은 예컨대 망 내 활동의 대응하는 토폴로지 패턴의 존재 또는 부재를 각각 나타내는 (일반적으로 2진) 디지트의 모음으로서 순환 인공 신경망으로부터 판독될 수 있다. 디지트 각각은 입력 데이터에 대해 상기 망에 의해 수행되는 특정 추상화를 나타낸다. 이하에서 추가로 논의되겠지만, 각각의 추상화는 임의로 복잡할 수 있다. 따라서 단일 디지트는 임의로 복잡한 추상화를 인코딩할 수 있으며 한 세트의 디지트는 각각의 추상화가 임의 레벨의 복잡도를 가진 추상화 세트를 전달할 수 있다.
또한 디지트 모음을 통해 거리 메트릭이 정의될 수 있다. 다시 말하면, 서로 다른 입력에 응답하여 발생하게 되는 2개의 서로 다른 디지트 모음 간 거리는 그러한 입력 간 거리를 정의하는데 사용될 수 있다. 예를 들어, 거리 메트릭은 특정 유형의 심플렉스의 개수를 계산하고 예컨대 해밍 거리(Hamming distance)를 계산하는 것처럼 간단할 수 있다. 다른 일 예로서, 거리 메트릭은 서로 다른 심플렉스 차수 및 상기 심플렉스 차수의 지형적 외관(topographic appearance)에 걸쳐 계산된 어스 무버 거리(earth mover distance)와 같이 비교적 더 복잡할 수 있다.
도 1은 입력 데이터(50)를 추상화하고 클러스터링하는 인공 신경망 시스템(100)의 한 구현 예를 보여주는 개략도이다. 신경망 시스템(100)은 입력(105)의 모음, 순환 신경망(110) 자체, 출력(115), 및 출력(115)을 통해 출력되는 데이터(50)의 추상화 간 거리 또는 유사도(비-유사도)를 계산하는 데 전용되는 거리 계산기(125)를 포함한다.
예시된 구현 예에서, 순환 신경망(110)은 입력(105)을 통해 다수의 서로 다른 센서로부터 발생하게 되는 데이터(50)를 수신한다. 예컨대, 센서는 예컨대 문서 또는 데이터 스트림의 내용을 감지하는 장치와 같은, 데이터만 감지하는 장치 또는 서로 다른 물리적 속성을 데이터로 변환하는 트랜스듀서일 수 있다. 다른 구현 예에서, 순환 신경망(110)은 단일 센서로부터 발생하게 되는 데이터(50)를 수신한다. 어느 경우든, 신경망(110)에 의한 데이터(50)의 추상화는 출력(115)으로부터, 예컨대 입력 데이터(50)에 응답하여 신경망(110) 내 활동의 대응하는 토폴로지 패턴의 존재 또는 부재를 각각 나타내는 (일반적으로 2진) 디지트 모음(120)으로서 판독될 수 있다. 이러한 활동의 응답 패턴은 입력 데이터(50)에 대해 상기 신경망(110)에 의해 수행되는 특정 추상화를 나타낸다. 이하에서 추가로 논의되겠지만, 추상화는 임의로 복잡할 수 있다. 따라서, 단일 디지트는 임의로 복잡한 추상화를 인코딩할 수 있고 한 세트의 디지트는 각각의 추상화가 임의 레벨의 복잡도를 가진 추상화 세트를 전달할 수 있다.
또한, 활동의 토폴로지 패턴 - 및 디지트(120)로의 상기 활동의 토폴로지 패턴의 표현 - 은 그들이 상기 신경망에 입력되는 데이터의 출처(origin)에 의존하지 않는다는 점에서 "보편적(universal)"일 수 있다. 오히려, 활동의 토폴로지 패턴은 상기 데이터의 출처에 관계없이 신경망(110)에 입력되는 데이터(50)의 추상적인 특성을 표현한다.
더 구체적으로는, 데이터(50)는 서로 다른 센서로부터 발생하게 될 수 있고 서로 다른 포맷을 지닐 수 있다. 예를 들어, 데이터(50)의 특정 클래스(예컨대, 비디오 또는 오디오 데이터)는 시간적인 면에서 비교적 신속하게 변화될 수 있는 반면에, 데이터(50)의 다른 클래스(예컨대, 정지 이미지 또는 온도)는 비교적 느리게 변화되거나 전혀 변화되지 않을 수 있다. 서로 다른 출처 및 포맷에도 불구하고, 신경망(110)은 여전히 상기 데이터로부터의 특성을 추상화할 수 있다. 예를 들어, 신경망(110)은 다음을 추상화할 수 있다:
-물리적 특성(예컨대, 컬러, 형상, 배향, 속도),
-카테고리(예컨대, 자동차, 고양이, 개), 및/또는
-추상적인 질적 특성(예컨대, "살아있는" 대 "죽은", "부드러운" 대 "거친", "생명이 있는" 대 "생명이 없는", "뜨거운" 대 "차가운", "열린" 대 "닫힌").
활동의 토폴로지 패턴 - 및 디지트(120)로의 활동의 토폴로지 패턴의 표현 - 은 다양한 데이터(50)에 대한 신경망(110)의 응답이다. 일반적으로 활동의 여러 토폴로지 패턴은 단일의 입력이 이산적(예컨대, 정지 사진 또는 물리적 매개변수를 측정하는 트랜스듀서로부터의 단일의 판독)이든 연속적(예컨대, 비디오 또는 오디오 스트림)이든 단일의 입력에 응답하여 발생하게 된다.
때로는, 신경망(110)은 비록 다른 토폴로지 패턴이 서로 다르다 하더라도 동일한 하나 이상의 토폴로지 패턴을 지니는 서로 다른 센서로부터 발생하게 되는 데이터(50)의 입력에 응답하게 된다. 예를 들어, 신경망(110)은 비록 다른 토폴로지 패턴이 또한 각각의 입력에 대한 응답의 일부이다 하더라도 "뜨거움(hot)"의 정성적 평가를 표현하는 토폴로지 패턴으로 온도 판독 또는 사막(desert)의 정지 이미지에 응답할 수 있다. 마찬가지로, 신경망(110)은 비록 다른 토폴로지 패턴이 또한 각각의 입력에 대한 응답의 일부이다 하더라도 "이행됨(done)"의 정성적 평가를 표현하는 토폴로지 패턴으로 부스러기가 있는 접시(plate with crumbs)의 정지 이미지 또는 음악 작곡의 결론에 응답할 수 있다. 따라서 때로는 서로 다른 출처와 서로 다른 포맷을 지니는 데이터로부터 동일한 특성이 추상화될 수 있다.
때로는, 신경망(110)은 하나 이상의 토폴로지 패턴으로 서로 다른 센서로부터 발생하게 되는 데이터(50)의 입력에 응답하게 되며 상기 하나 이상의 토폴로지 패턴은 이러한 센서로부터의 데이터 특성의 합성 또는 융합을 나타낸다. 다시 말하면, 이러한 단일의 패턴은 서로 다른 유형의 데이터에 존재하는 동일한 특성의 추상화를 나타낼 수 있다. 일반적으로, 서로 다른 센서로부터의 데이터를 융합하거나 합성하면 이러한 패턴이 발생하게 되거나 이러한 패턴의 활동 강도가 증가하게 된다. 다시 말하면, 서로 다른 센서로부터의 데이터는 다양한 입력 데이터에 동일한 특성이 존재한다는 "확증적 증거(corroborative evidence)"로서 작용할 수 있다.
경우에 따라서는, 서로 다른 센서로부터의 데이터 특성의 합성 또는 융합을 나타내는 토폴로지 패턴은 특정한 특성이 서로 다른 센서로부터의 데이터에 있는 경우에만 발생하게 된다. 신경망(110)은 사실상 AND 게이트로서 작용할 수 있고 활동의 특정 패턴이 발생하게 되기 위해 서로 다른 센서로부터의 데이터의 특정 특성을 요구할 수 있다. 그러나 그럴 필요는 없다. 대신에, 패턴을 형성하는 활동의 크기가 증가할 수도 있고 활동의 타이밍이 서로 다른 센서의 데이터에 응답하여 짧아질 수도 있다. 실제로, 활동의 토폴로지 패턴 - 및 디지트(120)로의 활동의 토폴로지 패턴의 표현 - 은 매우 풍부한 상태 공간에서 데이터(50)의 특성에 대한 추상화를 나타낸다. 다시 말하면, 활동의 토폴로지 패턴 및 활동의 토폴로지 패턴의 표현은 예컨대 예/아니오(yes/no) 분류가 분류자에 의해 산출된 사전에 정의된 결과일 수도 있고 한 세트의 관련된 입력들이 클러스터링 장치에 의해 산출된 사전에 정의된 결과일 수도 있으며 예측이 예측 모델에 의해 산출된 사전에 정의된 결과일 수도 있다는 의미에서 입력 데이터 처리의 사전 정의된 "결과"가 반드시 필요한 것은 아니다. 오히려, 상기 토폴로지 패턴은 풍부한 상태 공간에서 입력 데이터의 특성을 추상화한 것이다. 비록 그 상태 공간이 때로는 예/아니오 분류와 같은 추상화를 포함할 수 있지만, 상기 상태 공간은 단지 그러한 사전에 정의된 결과에만 국한되지 않는다.
또한, 상기 토폴로지 패턴은 입력 데이터의 전체보다는 오히려, 입력 데이터의 단지 일부만(예컨대, 이미지의 특정 영역 또는 비디오 또는 오디오 스트림의 특정 모멘트 또는 픽셀과 같은 입력의 특정 세부사항)의 특성을 추상화할 수 있다. 따라서, 추상화의 상태 공간은 미리 정의된 유형의 결과(예컨대, 분류, 클러스터 또는 예측)나 입력 데이터 전체의 추상화에 국한되지 않는다. 오히려, 상기 토폴로지 패턴은 고차원, 비-선형, 순환 동적 시스템(다시 말하면, 신경망(110))에 의한 처리가 판독될 수 있게 하는 도구이다. 상기 토폴로지 패턴은 데이터를 보다 완전한 "전체"로 융합하는 상관 관계를 포함하여 신경망(110)에서 발생하게 되는 서로 다른 센서로부터 데이터의 상관 관계를 추출한다.
데이터(50)의 입력 시, 신경망(110)은 특정 활동으로 응답하게 된다. 그러한 활동에는 다음이 포함되게 된다.
- 정의된 토폴로지 패턴과 일치하지 않는 활동, 및
- 정의된 토폴로지 패턴과 일치하는 활동.
정의된 토폴로지 패턴과 일치하지 않는 신경망(110)에서의 활동은 일부 경우에 입력 데이터(50)의 특성에 대한 부정확하거나 불완전한 추상화일 수 있다. 또한, 정의된 토폴로지 패턴과 일치하는 신경망(110)에서의 활동은 입력 데이터(50)의 서로 다른 특성을 추상화할 수 있다. 추상화된 특성 각각은 애플리케이션에 따라 다소 유용할 수 있다. 디지트(120)를 특정한 토폴로지 패턴의 표현에 제한함으로써, 부정확하거나 불완전한 추상화와 특정한 애플리케이션과는 관련이 없는 특성의 추상화 양자 모두가 디지트(120)로부터 "필터링되어 제거"될 수 있다.
예시된 구현 예에서, 데이터(50)는, 예컨대, 마이크폰으로부터 발생하게 되는 사운드 데이터(60), 예컨대, 정지 카메라로부터 발생하게 되는 정지 이미지 데이터(62), 예컨대, 비디오 카메라로부터 발생하게 되는 비디오 데이터(64), 및 예컨대, 온도 센서로부터 발생하게 되는 온도 데이터(66) 중의 하나 이상을 포함한다. 이는 예시를 목적으로 한 것뿐이다. 데이터(50)는 사운드 데이터(60), 정지 이미지 데이터(62), 비디오 데이터(64), 온도 데이터(66) 중의 하나 이상을 포함할 필요는 없다. 또한, 데이터(50)는 예컨대 압력 데이터, 화학 조성 데이터, 가속도 데이터, 전기 데이터, 위치 데이터 등을 포함하는 다양한 다른 여러 유형의 데이터 중의 하나 이상을 포함할 수 있다. 이하에 추가로 논의되겠지만, 센서로부터 발생하게 되는 데이터(50)는 신경망(110)에 입력되기 전에 하나 이상의 처리 동작을 받을 수 있다. 이러한 처리 동작의 예에는 예컨대 인공 신경망 장치에서의 비-선형 처리가 포함된다.
위에서 논의한 바와 같이, 신경망(110)에서 발생하게 되는 토폴로지 패턴은 풍부한 상태 공간에서의 입력 데이터(50)의 특성의 추상화이다. 데이터(50)를 소수의 센서로부터 발생하게 하도록 제한하는 경우에는 신경망(110)이 특정한 방식으로 그러한 센서로부터의 데이터를 추상화할 가능성이 낮을 수 있다. 예를 들어, 신경망(110)이 그 자체로 온도 데이터(66)를 형상 또는 배향과 같은 공간적 특성에 상응하는 활동 패턴으로 추상화할 가능성이 낮을 수 있다. 그러나, 서로 다른 센서로부터의 데이터가 신경망(110)에 입력됨에 따라, 다양한 입력 데이터(50)에 의해 유발된 섭동이 서로 만나 신경망(110)에서의 활동에 총체적으로 영향을 미칠 수 있다. 그 결과로서, 상기 신경망(110)은 입력 데이터(50)를 서로 다르거나 또는 특정한 활동 패턴으로 추상화할 수 있다.
예를 들어, 패턴의 존재 또는 부재에 연관된 불확실성이 어느 정도 있을 수 있다. 데이터(50)가 다양한 범위의 센서로부터의 데이터를 포함하는 경우, 서로 다른 센서로부터 발생하게 되는 데이터(50)가 신경망(110) 내에서 합성 또는 융합됨에 따라 패턴의 다양성 및 패턴의 확실성이 증가할 수 있다. 비유해보면, 열차역에서의 열차에 앉아 있는 승객은 창 밖을 내다보면 움직이는 것처럼 보이는 인접한 열차를 볼 수 있다. 그러한 동일 승객은 또한 예컨대 좌석으로부터의 전방 압력을 느낄 수 있다. 이러한 정보의 융합 또는 합성은 승객의 열차가 인접한 열차 대신에 움직이고 있다는 승객의 확신 정도를 높인다. 신경망이 다양한 입력 데이터(50)를 수신할 때, 그러한 데이터에 의해 유발된 섭동은 서로 다르거나 또는 특정한 활동 패턴으로 총체적으로 추상화될 수 있다.
다양한 센서로부터의 입력 데이터(50)를 처리할 수 있는 신경망(110)의 능력은 또한 그러한 데이터의 추상화에 대한 어느 정도의 견고함(robustness)을 제공한다. 예를 들어, 한 그룹의 하나의 센서는 부정확하거나 심지어 작동하지 않게 될 수 있지만 신경망(110)은 계속해서 다른 센서로부터 데이터(50)를 추상화할 수 있다. 종종, 신경망(110)은 다른 센서로부터의 데이터(50)를 센서 모두가 설계된 대로 기능 했더라면 발생하게 됐었을 동일한 활동 패턴으로 추상화하게 된다. 그러나 어떤 경우에는 이러한 추상화의 확실성이 감소할 수 있다. 그럼에도 불구하고 이러한 문제가 발생하게 된다 하더라도 추상화는 계속될 수 있다.
예시된 구현 예에서, 입력(105)은 각각이 입력을 신경망(110) 내 하나 이상의 위치에 수동적으로 릴레이하는 잘 정의된 노드의 입력 레이어로서 개략적으로 표현된다. 그러나 반드시 그런 것은 아니다. 예를 들어, 일부 구현 예에서, 입력(105) 중의 하나 이상은 데이터가 신경망(110)에 전달되기 전에 입력 데이터 중의 일부 또는 전부를 스케일링하거나 다른 예비 처리를 수행할 수 있다. 다른 일 예로서, 데이터(50)는 신경망(110) 전체에 걸쳐, 다시 말하면 그와 같은 형식 입력 레이어 없이 서로 다른 레이어 및/또는 에지 또는 노드에 주입될 수 있다. 예를 들어, 사용자는 데이터가 신경망(110) 전체에 분산되는 특정한 노드 또는 링크에 주입되도록 지정할 수 있다. 다른 일 예로서, 신경망(110)은 공지된, 이전에 정의된 방식(예컨대, 항상 제1 노드에 제1 비트를 주입하고, 제2 노드에 제2 비트를 주입하는 등)으로 입력을 수신하도록 제한될 필요는 없다. 대신에, 사용자는 데이터를 이루는 특정 비트가 노드 대신에 에지에 주입되도록 지정할 수도 있으며 주입 순서는 상기 비트가 나타나는 순서를 따를 필요가 없을 수도 있고 이러한 매개변수 및 다른 매개변수의 조합을 지정할 수도 있다. 그럼에도 불구하고, 편의상, 입력 레이어로서의 입력(105)의 표현은 여기에서 유지되게 된다.
신경망(110)은 순환 신경망으로서 개략적으로 예시된다. 순환 신경망에서, 노드 간 연결은 시간 시퀀스를 따라 방향성 그래프를 형성하고 상기 순환 신경망은 시간적 동적 동작을 나타낸다. 일반적으로, 신경망(110)은 생물학적 시스템상에서 모델링되는 비교적 복잡한 신경망이다. 다시 말하면, 신경망(110)은 그 자체로 생물학적 시스템의 어느 정도의 형태학적, 화학적 및 기타 특성을 모델링할 수 있다. 일반적으로, 생물학적 시스템에 대해 모델링된 신경망(110)은 비교적 높은 레벨의 계산 성능을 갖는 하나 이상의 컴퓨팅 장치 상에서 구현된다.
예컨대, 전통적인 피드포워드 신경망과는 대조적으로, 생물학적 시스템상에서 모델링된 신경망(110)은 입력 데이터(50)에 응답하지 않는 배경 또는 다른 활동을 디스플레이할 수 있다. 실제로, 입력 데이터(50)가 없는 경우에도 그러한 신경망(110)에 활동이 존재할 수 있다.
그러나, 데이터(50)의 입력 시, 순환 신경망(110)은 섭동되게 된다. 섭동에 대한 이러한 신경망(110)의 응답은 데이터(50)가 입력되는 시점에서의 신경망(110)의 상태에 부분적으로 의존할 수 있기 때문에 데이터(50)의 입력에 대한 이러한 신경망(110)의 응답은 또한 신경망(110)에 이미 존재하는 배경 또는 기타 활동에 의존할 수 있다.
그럼에도 불구하고, 비록 신경망에서의 그러한 활동이 데이터(50)의 입력에만 응답하는 것은 아니지만, 이는 입력 데이터(50)에 응답한다. 따라서 디지트(120)는 생물학적 시스템상에서 모델링된 비교적 복잡한 신경망에서라도 입력 데이터에 응답하는 활동 패턴에서 발생하게 되는 토폴로지 구조의 존재 또는 부재를 나타낼 수 있다.
예시된 구현 예에서, 출력(115)은 다중 노드 출력 레이어로서 개략적으로 표현된다. 그러나 출력(115)은 다중 노드 출력 레이어일 필요는 없다. 예를 들어, 출력 노드(115)는 신경망(110) 내 특정 노드 모음에서 특정 활동 패턴의 발생을 식별하고 결과적으로는 신경망(110)의 출력을 판독하는 개별 "판독기 노드"일 수 있다. 판독기 노드는 특정 노드 모음에서의 활동이 타이밍(및 가능한 규모 또는 기타) 기준을 충족하는 경우 및 그 경우에만 실행될 수 있다. 예를 들어, 출력 노드(115)는 신경망(110) 내 노드 모음에 연결될 수 있고, 예컨대 대응하는 임계값 활성화 레벨을 넘는 각각의 개별 노드의 활동 레벨, 임계값 활성화 레벨을 넘는 그러한 노드의 활동 레벨의 가중합, 또는 임계값 활성화 레벨을 넘는 그러한 노드의 활동 레벨의 비-선형 조합에 기초하여 토폴로지 구조의 존재 또는 부재를 나타낼 수 있다.
출력(115)을 통해 수신된 출력은 생물학적 시스템의 특성을 모델링하는 비교적 복잡한 신경망으로 구현될 수 있는 신경망(110)에서의 대응하는 활동 패턴의 존재 또는 부재를 각각의 자리수가 나타내는 자리수 모음(120)이다. 모음(120)은 단지 개략적으로 예시되어 있고 모음(120)은 예컨대 자리수의 1차원 벡터, 자리수의 2차원 매트릭스, 또는 자리수의 다른 모음일 수 있다. 일반적으로, 모음(120) 내 자리수는 2진수이며 활동 패턴이 존재하는 지의 여부를 예/아니오 방식으로 나타나게 된다. 그러나 반드시 그런 것은 아니다. 대신에, 일부 구현 예에서, 모음(120) 내 자리수는 다중 값이게 된다. 그러한 값은 신경망(110)에서의 대응하는 활동 패턴의 존재 또는 부재의 특성을 나타낼 수 있다. 예를 들어, 상기 값은 활동의 강도 또는 특정한 활동 패턴이 실제로 존재하는 통계적 확률을 나타낼 수 있다. 예를 들어, 규모가 비교적 크거나 비교적 짧은 시간 윈도우 내에 발생하는 활동은 특정 작업이 수행되었거나 수행되었을 가능성이 있음을 나타내는 것으로 간주될 수 있다. 이와는 대조적으로, 규모가 상대적으로 작거나 상대적으로 더 긴 시간에 걸쳐 발생하는 활동은 특정한 작업이 수행되었음을 나타낼 가능성이 적은 것으로 간주될 수 있다.
모음(120)의 정보는 단일 자리수의 값에 대한 정보가 모음(120)의 다른 자리수 값에 걸쳐 분포된다는 의미에서 홀로그램으로 표현된다. 다시 말하면, 모음(120) 내 자리수의 임의 서브세트는 또한 모음(120) 내 자리수 모두가 존재하는 경우에 존재하는 것보다 낮은 해상도로만 입력(50)에 대해 상기 신경망(110)에 의해 수행된 추상화에 대한 정보를 또한 포함한다. 이하에서 더 논의되겠지만, 서로 다른 토폴로지 패턴은 서로 다른 정도의 복잡도를 지닌다. 일부 비교적 더 복잡한 패턴은 비교적 덜 복잡한 패턴을 포함할 수 있고 단순한 패턴은 더 복잡한 패턴으로 조립될 수 있다. 더욱이, 일부 디지트에 의해 표현되는 상대적으로 높은 레벨의 추상화는 다른 디지트에 의해 표현되는 다른 추상화와는 어느 정도 상관될 수 있다. 예를 들어, "살아있는"과 같은 추상적인 정성적 특성의 발생을 나타내는 디지트는 "생명이 있는"과 같은 정성적 특성을 나타내는 자리수와 상관될 수 있다. 따라서 일부 토폴로지 패턴의 발생에 대한 정보는 본질적으로 다른 토폴로지 패턴의 발생에 대한 일부 정보를 포함한다.
편의상, 본원의 나머지 부분은 모음(120)의 디지트를 2진 비트로서 참조하게 되고 이러한 모음(120)의 디지트가 도면들에서 그대로 예시될 것이다. 그러나, 여기서 이해하여야 할 점은 모든 경우에 모음(120)의 디지트가 또한 상기 신경망에 의해 수행되는 추상화의 다양한 실시형태를 인코딩하기 위해 다중 값을 지닐 수 있다는 것이다.
거리 계산기(125)는 출력(115)을 통해 출력되는 데이터(50)의 서로 다른 추상화 간 거리 또는 (비)유사도를 계산하는 데 전용되는 장치이다. 거리 계산기(125)는 거리를 계산하기 위해 다양한 여러 수법 중의 어느 하나의 수법을 사용할 수 있다. 예를 들어, 거리 계산기(125)는 해밍 거리(Hamming distance), 어스 무버 거리(earth mover distance), 자카드 유사도 척도(Jaccard similarity measure), 또는 다른 거리 척도를 계산할 수 있다. 2진 특징 벡터에 적용 가능한 거리 척도에 대한 조사는 "A survey of Binary similarity and distance measures" by Sung-seok Choi et al. (Journal of Systemics, Cybernetics and Informatics, p. 43-48 (2010))"이라는 제목의 출판물에서 볼 수 있다. 적절한 거리 척도의 대표적인 선택은 "Wijaya et al. (BMC Bioinformatics 17:520 (2016))"에서 볼 수 있다. 이들 모두의 내용은 인용에 의해 본원 명세서에 보완된다.
거리 계산기(125)는 입력(135) 및 출력(140)을 포함한다. 입력(135)은 신경망(110) 내 활동 패턴의 표현, 다시 말하면 디지트 모음(120)을 수신하도록 연결된다. 거리 계산기(125)는 다양한 방식으로 디지트 모음(120)을 수신할 수 있다. 예를 들어, 모음(120) 내 디지트는 개별 이벤트 모음으로서 또는 실시간 또는 비-실시간 통신 채널을 통한 연속 스트림으로서 수신될 수 있다.
출력(140)은 신경망(110)으로부터 수신된 디지트 모음(120)에 관련된 거리 척도를 출력하도록 연결된다. 예를 들어, 출력(140)은 신경망(110)으로부터 출력된 2개의 디지트 모음(120) 간 측정 거리, 신경망(110)으로부터 출력된 디지트 모음(120) 및 다른 한 신경망(110)에 의해 출력된 디지트 모음 간 측정 거리, 및/또는 신경망(110)으로부터 출력된 디지트 모음(120) 및 예컨대 클러스터의 중심 또는 클러스터 경계와 같은 참조 간 측정 거리를 출력할 수 있다.
일부 구현 예에서, 거리 계산기(125)는 신경망(110)에 통합된다. 다시 말하면, 신경망(110)은 거리 척도를 직접 출력할 수 있다. 거리 척도는 예컨대 신경망(110)에대한 2개의 서로 다른 입력 세트 간 거리, 신경망(110)에 대한 단일 입력 세트의 진화, 또는 입력 데이터와 참조 간 거리를 측정할 수 있다. 일부 구현 예에서, 신경망(110)으로부터 출력된 거리 척도는 다른 한 애플리케이션 상으로 전달될 수 있고 그리고/또는 신경망(110)을 트레이닝하는 데 사용될 수 있다. 거리 계산기(125)로부터 출력된 거리 척도는 다양한 여러 상황에서 사용될 수 있다. 예를 들어, 거리 척도는 결과 클러스터를 평가하고, 최적의 클러스터 개수를 결정하며, 클러스터의 속성 간 상관 관계를 식별하고, 데이터 세트의 클러스터링 정도를 추정하는 데 사용될 수 있다. 예를 들어, Davies-Bouldin 지수, Dunn 지수, 실루엣 계수 및 Hopkins 통계는 거리 메트릭을 사용하여 계산될 수 있다.
거리 계산기(125)로부터 출력된 거리 척도는 이러한 상황 및 다른 상황에서 유리할 수 있다. 고-차원 데이터의 경우, 거리는 요소 및 클러스터를 해결하는 데 덜 유용하다. 특히, 공간 내 요소 모두는 차원의 개수가 증가함에 따라 비교적 (비)유사하게 나타난다. 다시 말하면, 차원의 개수가 무한대에 접근할수록 가장 가까운 이웃 간 거리와 가장 먼 이웃 간 거리의 차이가 0에 접근한다.
그러나, 입력 데이터(50)에 응답하는 활동의 대응하는 토폴로지 패턴의 존재 또는 부재를 나타내는 디지트(120)는 고-차원 데이터에 대한 거리 메트릭을 계산하는 데 유용할 수 있다. 임계값 문제로서, 자리수(120)로 표현되는 가장 단순한 추상화조차도 본질적으로 입력 데이터의 차원을 줄인다. 따라서 디지트(120)는 입력 데이터(50)에 응답하여 순환 신경망(110)에서 발생하게 되는 활동의 토폴로지 패턴에 기초하여 심지어 고-차원 입력 데이터 간 거리를 본질적으로 정의한다.
또한, 위에서 논의한 바와 같이 활동의 토폴로지 패턴은 다양한 레벨의 추상화를 구체화할 수 있다. 예를 들어, 제1 토폴로지 패턴의 발생에 의해 표현되는 추상화는 다른 "하위 레벨" 추상화를 나타내는 2개의 다른 토폴로지 패턴의 동시 발생을 요구할 수 있다. 따라서 한 세트의 디지트는 다양한 레벨의 추상화에 따라 거리 메트릭을 계산하는 데 유용한 한 세트의 추상적인 특성을 전달할 수 있다.
서로 다른 레벨의 추상화를 통해 완전히 새로운 거리 메트릭이 정의될 수도 있다. 예를 들어, 서로 다른 요소가 동일한 상대적으로 높은 레벨의 추상화로 추상화되었음을 나타내는 단일의 디지트(120)는 다양한 상대적으로 낮은 레벨의 추상화에 대한 입력 데이터의 추상화를 나타내는 다수의 디지트(120)보다 더 강력한 유사도 지표일 수 있다. 이것은 예컨대 특징 벡터 내 모든 정보를 유사하게 본질적으로 취급하는 해밍 거리 및 기타 수법과는 대조된다.
일부 구현 예에서, 순환 신경망(110)은 특정 처리 결과를 달성하도록 트레이닝될 수 있다. 일반적으로, 상기 트레이닝은 상기 순환 신경망(110)이 하위 레벨 추상화의 조합에 기초하여 상위 레벨 추상화에 도달하도록 교습하게 된다. 따라서 트레이닝 및 트레이닝별 거리 메트릭에 의해 조정되는 2개의 요소 간 거리의 측정이 정의될 수 있다. 사용자는 처리 결과 또는 결과적인 거리 메트릭에 관련된 입력 데이터의 차원에 대한 사전 지식이나 이해가 필요하지 않다. 오히려, 트레이닝 프로세스 자체는 원하는 처리 결과를 달성하고 계산 거리에 관련된 추상화를 제공하도록 순환 신경망(110)을 조정할 수 있다.
도 2는 신경망(110)(도 1)으로부터 모음(120)을 생성하기 위해 식별 및 "판독"될 수 있는 활동의 패턴(400)을 보여준다.
패턴(400)은 순환 인공 신경망 내의 활동의 표현이다. 패턴(400)을 판독하기 위해, 기능적인 그래프는 노드를 포인트로서 지니는 토폴로지 공간으로 취급된다. 패턴(400)과 일치하는 노드 및 링크에서의 활동은 상기 활동에 참여하는 특정한 노드 및/또는 링크의 ID(identity)와는 관계없이 순서화된 것으로 인식될 수 있다. 예시된 구현 예에서, 패턴(400)은 모든 방향성 클리크(directed clique) 또는 방향성 심플렉스(directed simplex)이다. 이러한 패턴에서, 활동은 패턴 내 다른 모든 노드에 신호를 전송하는 소스 노드로부터 발생하게 된다. 패턴(400)에서, 이러한 소스 노드는 포인트 0으로서 지정되는 반면에 다른 노드들은 포인트 1, 2, …로 지정된다. 또한, 방향성 클리크 또는 심플렉스에서, 노드 중의 하나는 싱크(sink)의 역할을 하고 패턴 내 다른 모든 노드로부터 전송된 신호를 수신한다. 패턴(400)에서, 이러한 싱크 노드는 패턴 내 가장 높은 번호를 갖는 포인트로 지정된다. 예를 들어, 패턴(405)에서, 싱크 노드는 포인트 2로 지정된다. 패턴(410)에서, 싱크 노드는 포인트 3으로 지정된다. 패턴(415)에서, 싱크 노드는 포인트 3으로 지정되고 이하 마찬가지이다. 따라서 패턴(400)에 의해 표현되는 활동은 구별 가능한 방식으로 순서화된다.
패턴(400) 각각은 서로 다른 개수의 포인트를 지니고 서로 다른 개수의 노드에서 순서화된 활동을 반영한다. 예를 들어, 패턴(405)는 2D-심플렉스이고 3개의 노드에서 활동을 반영하고, 패턴(410)은 3D-심플렉스이고 4개 노드에서 활동을 반영하며 이하 마찬가지이다. 패턴 내 포인트의 개수가 증가함에 따라 순서화의 정도와 활동의 복잡도도 증가한다. 예를 들어, 윈도우 내 특정 레벨의 임의 활동을 갖는 대규모 노드 모음의 경우, 그러한 활동 중의 일부는 우연하지 않은 패턴(405)과 일치될 수 있다. 그러나 임의 활동이 대응하는 패턴(410, 415, 420…)과 일치하게 될 가능성이 점차로 작아진다. 따라서 패턴(430)과 일치하는 활동의 존재는 패턴(405)과 일치하는 활동의 존재보다는 활동에서 비교적 높은 정도의 순서화 및 복잡도를 나타낸다.
활동의 복잡도에 대한 다양한 결정을 위해 서로 다른 기간 윈도우가 정의될 수 있다. 예를 들어, 패턴(430)과 일치하는 활동이 식별되어야 할 때, 패턴(405)과 일치하는 활동이 식별되어야 할 때보다 긴 기간 윈도우가 사용될 수 있다.
도 3은 신경망(110)(도 1)으로부터 2진 디지트 모음(120)을 생성하기 위해 식별 및 "판독"될 수 있는 활동의 패턴(300)을 보여준다.
패턴(300)은 개별 클리크 또는 심플렉스보다 많은 포인트를 포함하는 패턴을 정의하는 동일한 차원(다시 말하면, 동일한 개수의 포인트를 지님)의 방향성 클리크 또는 방향성 심플렉스의 그룹이고 방향성 심플렉스의 그룹 내에 공동을 에워싸고 있다.
예를 들어, 패턴(305)은 차수 2의 상동성(homology) 클래스를 함께 정의하는 6개의 서로 다른 3포인트, 2차원 패턴(405)을 포함하는 반면에, 패턴(310)은 차수 2의 제2 상동성 클래스를 함께 정의하는 8개의 서로 다른 3포인트, 2차원 패턴(405)을 포함한다. 패턴(305, 310) 내 3포인트 2차원 패턴(405) 각각은 대응하는 공동을 에워싸는 것으로 생각될 수 있다. 방향성 그래프에 연관된 n번째 베티수(Betti number)는 토폴로지 표현 내 이러한 상동성 클래스의 카운트를 제공한다.
패턴(300)과 같은 패턴에 의해 표현되는 활동은 임의의 우연에 의해 발생하게 될 가능성이 낮은 망 내 활동의 비교적 높은 정도의 순서화를 나타낸다. 패턴(300)은 그러한 활동의 복잡도를 특성화하는 데 사용될 수 있다.
일부 구현 예에서, 활동의 일부 패턴만이 식별되고 그리고/또는 식별된 활동 패턴의 일부가 폐기되거나 그렇지 않으면 무시된다. 예를 들어, 도 2를 참조하면, 5포인트 4차원 심플렉스 패턴(415)과 일치하는 활동은 본질적으로 4포인트 3차원 및 3포인트 2차원 심플렉스 패턴(410, 405)과 일치하는 활동을 포함한다. 예를 들어, 도 2의 4차원 심플렉스 패턴(415) 내 포인트 0, 2, 3, 4 및 포인트 1, 2, 3, 4 양자 모두가 3차원 심플렉스 패턴(410)과 일치한다. 일부 구현 예에서, 더 적은 개수의 포인트를 포함하는, 결과적으로는 낮은 차원을 지니는 패턴은 폐기되거나 이와는 달리 무시될 수 있다. 다른 일 예로서, 활동의 일부 패턴만이 식별되어야 한다. 예를 들어, 일부 구현 예에서는 홀수 개수의 포인트(3, 5, 7, …) 또는 짝수 개수의 차원(2, 4, 6, …)을 갖는 패턴만이 식별된다. 단지 일부 패턴의 식별에도 불구하고, 신경망에서의 활동에 대한 정보는 그럼에도 불구하고 홀로그램으로, 다시 말하면 모든 패턴이 출력으로 식별 및/또는 표현되는 경우 낮은 해상도로 표현될 수 있다.
위에서 검토한 바와 같이, 입력 데이터(50)에 응답하는 활동 패턴은 그러한 입력 데이터(50)에 대해 상기 신경망(110)에 의해 수행되는 임의의 복잡도의 특정 작업을 나타낸다. 일부 구현 예에서, 작업의 복잡도는 토폴로지 패턴의 복잡도에 반영되게 된다. 예를 들어, 5포인트 4차원 심플렉스 패턴(415)에 의해 표현되는 작업 또는 추상화는 4포인트 3차원 및 3포인트 2차원 심플렉스 패턴(410, 405)에 의해 표현되는 작업 또는 추상화보다 더 복잡할 수 있다. 그러한 경우에, 활동의 존재를 나타내는 디지트는 한 세트의 작업 또는 추상화가 신경망(110)에서 수행됨을 전달하며, 이러한 작업 또는 추상화 각각은 임의 레벨의 복잡도를 갖는다.
도 4는 구별 가능한 복잡도를 갖는 활동 패턴의 타이밍 결정을 개략적으로 보여준다. 도 4에 도시된 결정은 신경망(110)(도 1)으로부터 2진 디지트 모음(120)을 생성하기 위해 활동 패턴의 식별 또는 "판독"의 일부로서 수행될 수 있다.
도 4는 그래프(605) 및 그래프(610)를 포함한다. 그래프(605)는 x-축을 따른 시간의 함수로서 패턴의 발생을 나타낸다. 특히, 개별 발생은 수직 라인(606, 607, 608, 609)으로서 개략적으로 표현된다. 발생의 각각의 행(row)은 활동이 대응하는 패턴 또는 패턴 클래스와 매치되는 인스턴스(instance)일 수 있다. 예를 들어, 발생의 상단 행은 활동이 패턴(405)(도 2)과 매치되는 인스턴스일 수 있고, 발생의 두 번째 행은 활동이 패턴(410)(도 2)과 매치되는 인스턴스일 수 있으며, 발생의 세 번째 행은 활동이 패턴(415)(도 2)과 매치되는 인스턴스일 수 있고 이하 마찬가지이다.
그래프(605)는 또한 활동 패턴이 구별 가능한 복잡도를 지닐 경우 서로 다른 시간 윈도우을 개략적으로 묘사하는 점선의 직사각형(615, 620, 625)을 포함한다. 도시된 바와 같이, 순환 인공 신경망의 활동이 복잡도를 나타내는 패턴과 매치될 가능성은 이러한 윈도우 외부보다 점선의 직사각형(615, 620, 625)으로 묘사된 윈도우 동안 높아진다.
그래프(610)는 x-축을 따른 시간의 함수로서 이러한 발생에 연관된 복잡도를 나타낸다. 그래프(610)는 점선의 직사각형(615)으로 묘사된 윈도우와 일치하는 복잡도의 제1 피크(630) 및 점선의 직사각형(620, 625)으로 묘사된 윈도우와 일치하는 복잡도의 제2 피크(635)를 포함한다. 도시된 바와 같이, 피크(630, 635)에 의해 표현된 복잡도는 복잡도의 베이스라인 레벨(640)로 간주될 수 있는 것과 구별될 수 있다.
일부 구현 예에서, 순환 인공 신경망의 출력이 판독되어야 하는 시간은 식별 가능한 복잡도를 갖는 활동 패턴의 발생과 일치한다. 예를 들어, 도 4의 예시적인 맥락에서, 순환 인공 신경망의 출력은 피크(630, 635)에서, 다시 말하면 점선의 직사각형(615, 620, 625)으로 묘사된 윈도우 동안 판독될 수 있다.
일부 구현 예에서, 순환 인공 신경망으로부터 식별 가능한 복잡도를 갖는 활동 패턴의 내용뿐만 아니라 타이밍도 출력될 수 있다. 특히, 활동 패턴과 일치하는 활동에 참여하는 노드의 신원과 활동뿐만 아니라 활동 패턴의 타이밍도 순환 인공 신경망의 출력이라고 간주될 수 있다. 따라서 식별된 활동 패턴과 이러한 결정을 판독되어야 하는 타이밍은 신경망에 의한 처리 결과를 나타낼 수 있다.
도 5는 서로 다른 센서로부터 발생하게 되는 데이터(50)를 신경망(110)에 입력하고 입력 데이터를 처리하는 수법을 개략적으로 보여준다. 예시된 구현 예에서, 망 입력(105)의 서로 다른 서브세트(105', 105'', 105''')는 서로 다른 유형의 입력 데이터를 수신하는 데 전용된다. 예를 들어, 제1 서브세트(105')는 제1 클래스의 입력 데이터(예컨대, 제1 센서로부터 발생하게 되는 데이터)를 수신하는 데 전용될 수 있는 반면에, 제2 서브세트(105'')는 제2 클래스의 입력 데이터(예컨대, 제2 센서로부터 발생하게 되는 데이터)를 수신하는데 전용될 수 있다.
일부 구현 예에서, 신경망(110)의 상응하는 "영역"(505, 510)은 망 입력(105)의 서로 다른 서브세트(105', 105'', 105''')로부터 서로 다른 클래스의 입력 데이터를 수신한다. 예를 들어, 상기 개략적인 예시에서 영역(505, 510)은 각각의 영역 사이에서의 노드 간 연결이 비교적 적은 공간적으로 분리된 노드 및 에지의 모음으로 도시되어 있다. 반드시 그런 것은 아니다. 대신에, 각각의 영역(505, 510)의 노드 및 에지는 신경망(110) 내에서 공간적으로 분포될 수 있지만 여전히 특정 클래스의 입력 데이터를 수신할 수 있다.
각각의 영역(505, 510) 내 노드의 분포에 관계없이, 각각의 영역(505, 510) 내 처리는 주로 대응하게 수신된 클래스의 입력 데이터에 의해 섭동된다 - 그러나 반드시 이에 국한되지 않음 -. 섭동의 정도는 대응하는 클래스의 입력 데이터가 존재하거나 존재하지 않은 영역에서 발생하게 되는 활동에 기초하여 측정될 수 있다. 예를 들어, 제1 클래스의 입력 데이터에 의해 주로 섭동되는 영역은 다른 클래스의 입력 데이터가 신경망(110)을 동시에 섭동하는 지의 여부에 관계없이 일반적으로 동일한 방식으로 제1 클래스의 입력 데이터에 응답할 수 있다. 각각의 영역(505, 510)에 의해 수행되는 처리 및 추상화는 주로 수신된 입력 데이터 클래스에 의해 영향을 받는다. 그럼에도 불구하고, 각각의 영역(505, 510)에서 발생하게 되는 활동의 토폴로지 패턴은 디지트 모음(120)으로서 판독될 수 있다. 순환 신경망(110)의 다른 영역에 대해서도 마찬가지이다.
이는 망 출력(115)의 서로 다른 서브세트(115', 115'', 115''')를 별도로 지정함으로써 신경망 시스템(700)에서 개략적으로 나타나게 된다. 특히, 서브세트(115')는 신경망(110)의 영역(505)에서 발생하게 되는 활동의 토폴로지 패턴을 나타내는 디지트를 출력하는 데 전용될 수 있는 반면에, 서브세트(115''')는 신경망(110)의 영역(5100)에서 발생하게 되는 활동의 토폴로지 패턴을 나타내는 디지트를 출력하는 데 전용될 수 있다. 그러나 서브세트(115'')는 영역(505, 510) 중의 어느 영역에서도 찾을 수 없는 디지트를 출력한다. 실제로, 서브세트(115'')에서 출력되는 디지트는 더 높은 레벨의 복잡도로 영역(505, 510)에서 발생하게 되는 추상 표현 및 처리 결과의 융합 또는 추가 추상화를 나타낼 수 있다.
예를 들어, 서브세트(115'') 내 주어진 디지트는 서브세트(115') 내 하나 이상의 디지트와 서브세트(115''') 내 하나 이상의 디지트 양자 모두가 특정한 값을 갖는 경우나 그 경우에만 발생하게 될 수 있다. 따라서 서브세트(115'') 내 디지트는 임의로 더 높은 레벨의 추상화 - 영역(655, 660)에서 생성되는 추상화뿐 아니라 입력 데이터 자체의 추상화 양자 모두 - 를 나타낼 수 있다.
서로 다른 영역이 단일 클래스의 입력 데이터에 의해 주로 섭동되는 경우 그러한 영역 내 처리는 입력 데이터의 특성에 맞게 조정될 수 있다. 예를 들어, 망 루프의 토폴로지 및 연결 심도는 입력 데이터에 맞게 조정될 수 있다. 생물학적 시스템상에 모델링되는 순환 신경망에서, 신경 역학 및 시냅스 가소성(synaptic plasticity)은 또한 입력 데이터에 맞게 조정될 수 있다. 맞춤 조정은 예컨대 서로 다른 시간 스케일을 캡처한다. 예를 들어, 비교적 빠르게 변화되는 처리 클래스의 입력 데이터(예컨대, 비디오 또는 오디오 데이터)에 맞게 조정된 영역 내 처리는 비교적 느리게 변화되거나 전혀 변화되지 않는 처리 클래스의 입력 데이터에 맞게 조정되는 영역 내 처리보다 빠를 수 있다.
또한, 순환 신경망의 서로 다른 영역이 단일 클래스의 입력 데이터에 의해 주로 섭동되는 경우, 사람은 순환 신경망에서 발생하게 되는 표현을 특정 입력 데이터에 기인(起因)하는 것이 더 쉽다. 특정 영역에서 발생하게 되는 표현은 주로 그러한 영역을 주로 섭동시키는 클래스의 입력 데이터에 기인하게 될 수 있다. 일단 특정 영역에서 발생하게 되는 표현이 기인하게 되면 특정 영역 내 표현에 응답하여 발생하게 되는 더 높은 레벨 및 더 복잡한 추상화도 더 쉽게 이해될 수 있다.
또한 트레이닝은 단일 클래스의 입력 데이터에 의해 주로 섭동되지 않는 순환 신경망의 부분을 타깃으로 할 수 있는데, 다시 말하면 단일 클래스의 입력 데이터에 의해 주로 섭동되는 영역의 처리 결과를 융합하는 순환 신경망의 부분을 타깃으로 할 수 있다. 실제로 단일 클래스의 입력 데이터에 의해 주로 섭동되는 영역은 순환 신경망으로부터의 출력에 대해서뿐만 아니라 순환 신경망을 통한 추가 추상화 및 기타 작업에 대해서도 보편적인 입력 데이터 표현을 생성하게 된다.
도 6은 특정 상황에서 바람직한 거리 메트릭을 달성하도록 맞춤 조정되는 자리수의 모음(120)을 생성하도록 순환 신경망(110)이 어떻게 트레이닝될 수 있는지를 개략적으로 보여준다.
예를 들어, 자리수는 신경망(110)에 의해 수신될 입력 유형에 기초하여 맞춤 조정될 수 있다. 맞춤 조정은 예컨대 신경망(110)이 서로 다른 입력 데이터의 특정 차이에 충분히 민감하고 그리고/또는 입력 데이터의 다른 차이에 그다지 민감하지 않음을 보장할 수 있다. 사실상, 서로 다른 디지트 모음(120)은 서로로부터 충분히 가깝게 하거나 멀어지게 하도록(예컨대, 서로 다른 디지트 모음(120) 간 "크라우딩 거리(crowding distance)"가 바람직하게 하도록) 맞춤 조정될 수 있다.
순환 신경망(110) 및 거리 계산기(125)에 더하여, 신경망 시스템(100)의 예시된 구현 예에는 또한 비교기(610) 및 트레이닝 유닛(615)이 포함된다.
비교기(610)는 거리 계산기(125)에 의한 거리 메트릭 출력(140)을 원하는 출력(630)과 비교하도록 구성된 장치이다. 비교는 거리 메트릭 출력(140)이 원하는 출력(630)에 얼마나 가까운지에 대한 비용 함수 또는 다른 척도를 산출할 수 있다.
트레이닝 유닛(615)은 거리 메트릭 출력(140)이 원하는 출력(630)에 얼마나 가까운지에 대한 척도에 기초하여 순환 신경망(110)의 하나 이상의 속성을 변경하여 그들 간 차이를 줄이도록 구성된 장치이다. 예를 들어, 트레이닝 유닛(615)은 신경망(110)으로부터 노드 또는 링크를 추가 또는 제거할 수도 있고, 링크의 가중치를 변화시킬 수도 있으며, 디지트 모음(120)에 표현되는 토폴로지 패턴을 변화시킬 수도 있고 이와는 달리 순환 신경망(110)을 수정할 수도 있다. 순환 신경망(110)이 생물학적 시스템상에 모델링되는 비교적 복잡한 신경망인 구현 예에서, 트레이닝 유닛(615)은 예를 들어, 모델의 형태학적, 화학적 또는 다른 특성을 변경할 수 있다.
바람직한 거리 메트릭을 생성하는 디지트 모음(120)을 생성하기 위한 순환 신경망(110)의 트레이닝은 다양한 여러 상황에서 유익할 수 있다. 예를 들어, 위에서 논의한 바와 같이, 신경망(110)은 입력 데이터의 특정한 특성에 대한 바람직한 감도를 달성하도록 트레이닝될 수 있다. 이러한 맞춤 조정은 예컨대 신경망(110)을 적대적 공격(adversarial attack)에 민감하지 않게 함으로써 신경망(110)의 적대적 저항을 개선하도록 수행될 수 있다. 다른 일 예로서, 이러한 맞춤 조정은 신경망(110)이 입력 데이터를 원하는 개수의 클러스터로 클러스터링하게 하도록 수행될 수 있다. 또 다른 일 예로서, 그러한 맞춤 조정은 디지트 수집(120)이 예컨대 분류 또는 다른 지도 학습 애플리케이션과 같은 특정한 다운스트림 프로세스에 관련성이 있는 디지트를 포함하게 하도록 수행될 수 있다. 또 다른 일 예로서, 이러한 맞춤 조정은 신경망(110)에서 활동 임계값을 적응시키기 위해 수행될 수 있다. 예를 들어, 임계값은 환경 내 "노이즈(noise)"의 양에 기초하여 적응될 수 있으며, 여기서 상기 노이즈는 신경망(110)에서의 활동 레벨에 잠재적으로 기여하는 입력 데이터이다. 상기 임계값을 적용함으로써, 신경망(110)은 상기 노이즈에 민감해지지 않게 이루어질 수 있다.
도 7은 순환 신경망(110)에서의 활동의 대응하는 토폴로지 패턴의 존재 또는 부재를 각각 나타내는 디지트 모음(120)을 사용한 거리 메트릭의 계산을 개략적으로 보여준다. 도시된 바와 같이, 디지트 모음(120)은 영역(505, 510, 515)(도 5)과 같은 서로 다른 영역에서 발생하게 되는 표현을 출력하는 데 전용되는 순환 신경망(110)의 망 출력(115)의 서로 다른 서브세트(115', 115'', 115''')로부터 발생하게 된 디지트를 포함한다. 도 5에서와 같이, 서브세트(115', 115''')는 상대적으로 "낮은 레벨" 추상화의 표현을 출력하는 데 전용될 수 있는 반면에, 서브세트(115'')는 상대적으로 "높은 레벨" 추상화의 표현을 출력하는 데 전용될 수 있다.
점선으로 개략적으로 나타낸 바와 같이, 거리 계산기(125)는 거리 메트릭의 계산 동안 낮은 레벨 추상화 및 높은 레벨 추상화를 서로 다르게 취급할 수 있다. 상기 서로 다른 취급은 다양한 여러 방식으로 구현될 수 있다. 예를 들어, 높은 레벨 추상화는 낮은 레벨 추상화보다 더 많이 가중될 수 있다. 다른 일 예로서, 제1 거리 계산은 낮은 레벨 추상화에 대해 사용될 수 있는 반면에, 제2 거리 계산은 높은 레벨 추상화에 대해 사용될 수 있다. 다른 일 예로서, 거리 메트릭의 계산은 다단계 프로세스로 진행될 수 있다. 예를 들어, 제1 단계에서 높은 레벨 추상화는 제1 프로세스에서 사용될 수 있는 반면에, 낮은 레벨 추상화는 제2 프로세스에서 사용될 수 있다. 실제로, 낮은 레벨 추상화에 대한 거리 메트릭 계산에 사용되는 가중치 또는 기타 매개변수는 제1 프로세스에서 높은 레벨 추상화에 대해 계산된 거리에 대해 조정될 수 있다.
이러한 방식으로, 단일의 순환 신경망은 서로 다른 레벨 추상화를 생성할 수 있을 뿐만 아니라 거리 메트릭의 계산은 서로 다른 레벨의 추상화를 서로 다르게 취급함으로써 이러한 서로 다른 레벨을 수용할 수 있다. 이는 고차원 데이터도 처리할 수 있는 거리 메트릭을 계산하는 새로운 수법으로 이어질 수 있다.
서로 다른 레벨 추상화를 서로 다르게 취급하면 여러 상황에서 도움이 될 수 있다. 예를 들어, 서로 다른 레벨 추상화는 대량의 데이터를 사전 클러스터링하거나 연속 작업에서 점진적으로 개선되는 대략적인 비-정제 클러스터로 클러스터링이 시작되는 증분/점진 클러스터링에 사용될 수 있다.
본원 명세서에서 설명한 주제 및 작업의 실시 예는 본원 명세서에서 개시한 구조 및 이의 구조적 등가물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서나, 또는 그들 중의 하나 이상의 조합에서 구현될 수 있다. 본원 명세서에서 설명한 주제의 실시 예는 데이터 처리 기기에 의한 실행을 위해서나, 또는 데이터 처리 기기의 작업을 제어하기 위해 컴퓨터 저장 매체상에 인코딩된 하나 이상의 컴퓨터 프로그램, 다시 말하면 컴퓨터 프로그램 명령어의 하나 이상의 모듈로서 구현될 수 있다. 대안으로 또는 추가로, 프로그램 명령어는 데이터 처리 기기에 의한 실행을 위해 적절한 수신기 기기로의 전송을 위한 정보를 인코딩하도록 생성되는 인공적으로 생성된 전파 신호, 예컨대 기계 생성된 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 장치, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수도 있고 이에 포함될 수도 있다. 더욱이, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호에 인코딩된 컴퓨터 프로그램 명령어의 발신지 또는 목적지 컴퓨터 저장 매체일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 구성요소 또는 매체(예컨대, 다중 CD, 디스크 또는 기타 저장 장치)일 수도 있고 이에 포함될 수도 있다.
본원 명세서에서 설명한 작업들은 하나 이상의 컴퓨터 판독가능 저장 장치상에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 기기에 의해 수행되는 작업으로서 구현될 수 있다.
"데이터 처리 기기"라는 용어는 예를 들어 프로그램 가능한 프로세서, 컴퓨터, 칩 상의 시스템, 이의 다수 또는 조합을 포함하여 데이터를 처리하기 위한 모든 종류의 기기, 장치 및 기계를 포함한다. 상기 기기는 특수 목적 논리 회로, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 상기 기기는 또한 하드웨어 외에, 해당 컴퓨터 프로그램에 대한 실행환경을 생성하는 코드, 예컨대 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 플랫폼 간 런타임 환경, 가상 기계 또는 이들 중의 하나 이상의 조합을 포함할 수 있다. 상기 기기 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 기반구조와 같은 다양한 여러 컴퓨팅 모델 기반구조를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려짐)은 컴파일 또는 인터프리트된 언어, 선언적 또는 절차적 언어를 비롯한 임의 형태의 프로그래밍 언어로 기록될 수 있으며 독립 실행형 프로그램으로서 또는 모듈로서, 구성요소, 서브루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템 내 파일에 상응할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 유지하는 파일의 일부에, 해당 프로그램에 전용되는 단일의 파일에 또는 여러 조정 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 또는 코드 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서나 또는 한 사이트에 위치하거나 여러 사이트에 걸쳐 분산되어 있고 통신망에 의해 상호 연결된 여러 컴퓨터상에서 실행되도록 배포될 수 있다.
본원 명세서에서 설명한 프로세스 및 논리 흐름은 입력 데이터에 대해 작용하고 출력을 생성함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고 기기는 또한 특수 목적 논리 회로, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 일반 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서 양자 모두를 포함한다. 일반적으로 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 양자 모두로부터 명령어와 데이터를 수신하게 된다. 컴퓨터의 필수 요소는 명령어에 따라 동작을 수행하기 위한 프로세서와 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예컨대 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하는 동작, 이들로 데이터를 송신하는 동작 또는 데이터 수신 및 송신 동작 양자 모두를 포함하게 되거나 그러한 동작들을 수행하도록 동작 가능하게 연결되게 된다. 그러나 컴퓨터에는 그러한 장치가 필요하지 않다. 또한, 컴퓨터는 다른 장치, 예를 들어 몇 가지만 말하면 이동 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기 또는 휴대용 저장 장치(예컨대, USB(universal serial bus) 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 장치는 예를 들어 반도체 메모리 장치, 예컨대 EPROM, EEPROM 및 플래시 메모리 장치; 자기 디스크, 예컨대 내부 하드 디스크 또는 착탈식 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비-휘발성 메모리, 매체 및 메모리 장치를 포함한다. 상기 프로세서와 상기 메모리는 특수 목적 논리 회로에 의해 보완되거나 특수 목적 논리 회로에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본원 명세서에서 설명한 주제의 실시 예는 사용자에게 정보를 디스플레이하는 디스플레이 장치, 예컨대 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 장치, 예컨대 마우스 또는 트랙볼을 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 장치는 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 임의 형태의 감각적 피드백, 예컨대 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자에 의해 사용되는 장치로 문서를 송신하고 상기 장치로부터 문서를 수신함으로써, 예를 들어 사용자의 클라이언트 장치상의 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 장치상의 웹 브라우저로 웹 웹 페이지를 송신함으로써 사용자와 상호작용할 수 있다.
본원 명세서에는 많은 특정 구현 예의 세부사항이 포함되어 있지만, 이러한 세부사항은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 아니 되며, 대신에 특정 발명의 특정 실시 예에 특정한 특징의 설명으로 해석되어야 한다. 별도의 실시 예와 관련하여 본원 명세서에서 설명한 특정한 특징은 단일의 실시 예에서 조합하여 구현될 수 있다. 이와는 반대로, 단일 실시 예의 맥락에서 설명한 다양한 특징은 또한 개별적으로 또는 임의의 적절한 하위 조합으로 다중 실시 예에서 구현될 수 있다. 더욱이, 비록 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에 그러한 조합으로부터 제거될 수 있고 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관련될 수 있다.
마찬가지로, 작업이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 작업이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 도시된 모든 작업이 수행될 것을 요구하는 것으로 이해되어서는 아니 된다. 특정 상황에서는 멀티태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명한 실시 예에서의 다양한 시스템 구성요소의 분리는 모든 실시 예에서 그러한 분리를 요구하는 것으로 이해되어서는 아니 되며, 여기서 이해하여야 할 점은 설명한 프로그램 구성요소 및 시스템이 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품으로 패키지될 수 있다는 것이다.
따라서, 주제의 특정 구현 예가 지금까지 설명되었다. 다른 구현 예는 이하의 청구범위 내에 있다. 어떤 경우에는 청구범위에서 인용된 동작이 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현 예에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.
여러 구현 예가 설명되었다. 그럼에도 불구하고 여기서 이해할 점은 다양한 변형 예가 이루어질 수 있다는 것이다. 따라서, 다른 구현 예는 이하의 청구범위 내에 있다.

Claims (23)

  1. 방법에 있어서,
    상기 방법은,
    순환 인공 신경망에 제1 데이터를 입력함에 응답하여 상기 순환 인공 신경망에서 토폴로지 패턴의 모음 내 활동의 토폴로지 패턴이 발생하게 되는 지의 여부를 결정하는 단계; 및
    상기 제1 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴에 기초하여 상기 제1 데이터와 제2 데이터 또는 참조 간 거리를 결정하는 단계;
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 방법은,
    상기 순환 인공 신경망에 제2 데이터를 입력함에 응답하여 상기 순환 인공 신경망에서 상기 모음 내 활동의 토폴로지 패턴이 발생하게 되는 지의 여부를 결정하는 단계;
    를 더 포함하며,
    상기 거리는 상기 제1 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴과 상기 제2 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴과 비교함으로써 상기 제1 데이터 및 상기 제2 데이터 사이에서 결정되는, 방법.
  3. 제1항에 있어서,
    상기 거리는 상기 제1 데이터와 클러스터의 중심 또는 클러스터 경계 사이에서 결정되는, 방법.
  4. 제1항에 있어서,
    활동의 토폴로지 패턴의 발생은 대응하는 토폴로지 패턴이 발생하게 되었는 지의 여부를 각각 나타내는 2진 또는 다중 값 디지트의 모음으로 표현되는, 방법.
  5. 제1항에 있어서,
    상기 거리는 상기 모음 내 활동의 토폴로지 패턴의 제2 서브세트와는 서로 다르게 상기 모음 내 활동의 토폴로지 패턴의 제1 서브세트를 취급하는 거리 메트릭을 사용하여 결정되는, 방법.
  6. 제5항에 있어서,
    상기 취급은 토폴로지 패턴의 제2 서브세트보다 거리를 더 강력하게 나타내는 것으로서 토폴로지 패턴의 제1 서브세트를 가중시키는, 방법.
  7. 제2항에 있어서,
    상기 제1 데이터 및 상기 제2 데이터는 입력 데이터의 다중 클래스를 포함하고,
    토폴로지 패턴의 제1 서브세트에는 입력 데이터의 단일 클래스에 의해 주로 섭동되는 순환 인공 신경망의 영역에서 발생하게 되는 토폴로지 패턴만이 포함되는, 방법.
  8. 제7항에 있어서,
    입력 데이터의 다중 클래스 각각은 서로 다른 센서로부터 발생하게 되며,
    입력 데이터의 단일 클래스는 서로 다른 센서 중 제1 센서로부터만 발생하게 되는, 방법.
  9. 제5항에 있어서,
    상기 순환 인공 신경망은 트레이닝되고,
    토폴로지 패턴의 제2 서브세트는 트레이닝을 반영하는 순환 인공 신경망의 영역에서 발생하게 되는 토폴로지 패턴만을 포함하는, 방법.
  10. 제1항에 있어서,
    상기 순환 인공 신경망은 트레이닝되지 않은, 방법.
  11. 제5항에 있어서,
    토폴로지 패턴의 제2 서브세트 내 토폴로지 패턴의 복잡도는 상기 제1 서브세트 내 토폴로지 패턴의 복잡도보다 높은, 방법.
  12. 제5항에 있어서,
    상기 제1 서브세트 내 토폴로지 패턴 중 적어도 일부는 상기 제2 서브세트 내 토폴로지 패턴에 포함되는, 방법.
  13. 제1항에 있어서,
    상기 방법은,
    상기 순환 인공 신경망에 데이터를 입력함에 응답하여 상기 순환 인공 신경망에서 상기 모음 내 활동의 토폴로지 패턴이 발생하게 되는 지의 여부를 반복적으로 결정하는 단계; 및
    상기 데이터 간 거리에 기초하여 상기 입력 데이터를 클러스터링하는 단계 - 상기 거리는 상기 데이터의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 대응하는 토폴로지 패턴을 비교함으로써 결정되는, 방법.
  14. 제1항에 있어서,
    활동의 토폴로지 패턴이 발생하게 되는 지의 여부를 결정하는 단계는 활동의 심플렉스 패턴이 발생하게 되는 지의 여부를 결정하는 단계를 포함하는, 방법.
  15. 제14항에 있어서,
    상기 심플렉스 패턴은 공동(cavity)을 에워싸는, 방법.
  16. 제1항에 있어서,
    활동의 토폴로지 패턴이 발생하게 되는 지의 여부를 결정하는 단계는,
    상기 입력에 응답하는 다른 활동과는 구별 가능한 복잡도를 갖는 활동의 타이밍을 결정하는 단계; 및
    상기 식별 가능한 복잡도를 갖는 활동의 타이밍에 기반하여 상기 토폴로지 구조를 식별하는 단계;
    를 포함하는, 방법.
  17. 방법에 있어서,
    상기 방법은,
    순환 인공 신경망에 복수의 서로 다른 요소를 입력함에 응답하여 상기 순환 인공 신경망 내 활동의 토폴로지 패턴의 발생을 식별하는 정보를 수신하는 단계;
    활동의 토폴로지 패턴의 발생에 기초하여 서로 다른 요소 간 거리를 계산하는 단계; 및
    상기 거리를 늘리거나 줄이기 위해 상기 순환 인공 신경망의 하나 이상의 특성을 조정하는 단계;
    를 포함하는, 방법.
  18. 제17항에 있어서,
    상기 방법은,
    상기 복수의 서로 다른 요소 중 제1 요소의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴을 상기 복수의 서로 다른 요소 중 제2 요소의 입력에 응답하여 발생하게 되는 것으로 결정되는 활동의 토폴로지 패턴과 비교함으로써 상기 제1 요소 및 상기 제2 요소 간 거리를 결정하는 단계;
    를 포함하는, 방법.
  19. 제17항에 있어서,
    상기 거리는 상기 모음 내 활동의 토폴로지 패턴의 제2 서브세트와는 서로 다르게 상기 모음 내 활동의 토폴로지 패턴의 제1 서브세트를 취급하는 거리 메트릭을 사용하여 계산되는, 방법.
  20. 제19항에 있어서,
    상기 거리 계산은 토폴로지 패턴의 제2 서브세트보다 거리를 더 강력하게 나타내는 것으로서 토폴로지 패턴의 제1 서브세트를 가중시키는, 방법.
  21. 제19항에 있어서,
    토폴로지 패턴의 제2 서브세트 내 토폴로지 패턴의 복잡도는 제1 서브세트 내 토폴로지 패턴의 복잡도보다 낮은, 방법.
  22. 제17항에 있어서,
    활동의 토폴로지 패턴의 발생을 식별하는 정보는 제1 요소에 대한 제1 2진 벡터 및 제2 요소에 대한 제2 2진 벡터를 포함하고,
    거리를 계산하는 단계는 상기 2진 벡터 간 거리를 계산하는 단계를 포함하는, 방법.
  23. 제17항에 있어서,
    상기 순환 인공 신경망은 훈련되지 않은, 방법.
KR1020227023874A 2019-12-11 2020-12-10 순환 신경망에서의 거리 메트릭 및 클러스터링 KR20220107302A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/710,176 US11580401B2 (en) 2019-12-11 2019-12-11 Distance metrics and clustering in recurrent neural networks
US16/710,176 2019-12-11
PCT/EP2020/085434 WO2021116250A1 (en) 2019-12-11 2020-12-10 Distance metrics and clustering in recurrent neural networks

Publications (1)

Publication Number Publication Date
KR20220107302A true KR20220107302A (ko) 2022-08-02

Family

ID=73839030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023874A KR20220107302A (ko) 2019-12-11 2020-12-10 순환 신경망에서의 거리 메트릭 및 클러스터링

Country Status (6)

Country Link
US (2) US11580401B2 (ko)
EP (1) EP4073711A1 (ko)
KR (1) KR20220107302A (ko)
CN (1) CN115087989A (ko)
TW (1) TWI776310B (ko)
WO (1) WO2021116250A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information
US11663478B2 (en) 2018-06-11 2023-05-30 Inait Sa Characterizing activity in a recurrent artificial neural network
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
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
US11651210B2 (en) 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US20220388162A1 (en) * 2021-06-08 2022-12-08 Fanuc Corporation Grasp learning using modularized neural networks
US11809521B2 (en) * 2021-06-08 2023-11-07 Fanuc Corporation Network modularization to learn high dimensional robot tasks
CN116467610B (zh) * 2023-03-13 2023-10-10 深圳市壹通道科技有限公司 基于5g消息的数据拓扑分析方法、装置、设备及存储介质

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822742A (en) 1989-05-17 1998-10-13 The United States Of America As Represented By The Secretary Of Health & Human Services Dynamically stable associative learning neural network system
US7321882B2 (en) 2000-10-13 2008-01-22 Fraunhofer-Gesellschaft Zur Foederung Der Angewandten Forschung E.V. Method for supervised teaching of a recurrent artificial neural network
DE10139682B4 (de) 2001-08-11 2004-08-05 Deneg Gmbh Verfahren zum Generieren von neuronalen Netzen
MY138544A (en) 2003-06-26 2009-06-30 Neuramatix Sdn Bhd Neural networks with learning and expression capability
US20060112028A1 (en) 2004-11-24 2006-05-25 Weimin Xiao Neural Network and Method of Training
JP4639784B2 (ja) 2004-12-06 2011-02-23 ソニー株式会社 学習装置および学習方法、並びにプログラム
WO2007049282A2 (en) 2005-10-26 2007-05-03 Cortica Ltd. A computing device, a system and a method for parallel processing of data streams
US20140156901A1 (en) 2005-10-26 2014-06-05 Cortica Ltd. Computing device, a system and a method for parallel processing of data streams
GB2453263A (en) 2006-05-16 2009-04-01 Douglas S Greer System and method for modeling the neocortex and uses therefor
US8224759B2 (en) 2007-05-01 2012-07-17 Evolved Machines, Inc. Regulating activation threshold levels in a simulated neural circuit
US8818923B1 (en) 2011-06-27 2014-08-26 Hrl Laboratories, Llc Neural network device with engineered delays for pattern storage and matching
EP2531959B1 (en) 2010-02-05 2017-07-26 Ecole Polytechnique Fédérale de Lausanne (EPFL) Organizing neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
CN104335219B (zh) 2012-03-30 2018-06-05 爱迪德技术有限公司 使用变量相关编码来保护可访问的系统
TWI546759B (zh) 2013-03-28 2016-08-21 國立臺灣大學 遠距環境資料分類系統及其方法
US9292554B2 (en) 2013-08-20 2016-03-22 Pivotal Software, Inc. Thin database indexing
AR097974A1 (es) 2013-10-11 2016-04-20 Element Inc Sistema y método para autenticación biométrica en conexión con dispositivos equipados con cámara
US9558442B2 (en) 2014-01-23 2017-01-31 Qualcomm Incorporated Monitoring neural networks with shadow networks
US9202178B2 (en) 2014-03-11 2015-12-01 Sas Institute Inc. Computerized cluster analysis framework for decorrelated cluster identification in datasets
US9425952B2 (en) 2014-03-27 2016-08-23 Samsung Israel Research Corporation Algebraic manipulation detection codes from algebraic curves
US9195903B2 (en) 2014-04-29 2015-11-24 International Business Machines Corporation Extracting salient features from video using a neurosynaptic system
US9373058B2 (en) 2014-05-29 2016-06-21 International Business Machines Corporation Scene understanding using a neurosynaptic system
US10019506B1 (en) 2014-06-26 2018-07-10 Google Llc Identifying objects in images
CN104318304A (zh) 2014-10-20 2015-01-28 上海电机学院 一种用于模式识别的基于样本学习的bp网络结构设计方法
US9946970B2 (en) 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10650047B2 (en) 2015-03-12 2020-05-12 International Business Machines Corporation Dense subgraph identification
KR102130162B1 (ko) 2015-03-20 2020-07-06 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인공 신경망들에 대한 관련성 스코어 할당
EP3314541A1 (en) 2015-06-26 2018-05-02 Sentiance NV Deriving movement behaviour from sensor data
US11094058B2 (en) 2015-08-14 2021-08-17 Elucid Bioimaging Inc. Systems and method for computer-aided phenotyping (CAP) using radiologic images
US20220012877A1 (en) 2015-08-14 2022-01-13 Elucid Bioimaging Inc. Quantitative imaging for detecting histopathologically defined plaque fissure non-invasively
CN106650923B (zh) 2015-10-08 2019-04-09 上海兆芯集成电路有限公司 具有神经存储器与神经处理单元与定序器的神经网络单元
JP6636630B2 (ja) 2015-10-28 2020-01-29 グーグル エルエルシー 計算グラフの修正
KR102433254B1 (ko) 2015-10-28 2022-08-18 구글 엘엘씨 계산 그래프들 프로세싱
EP4202782A1 (en) 2015-11-09 2023-06-28 Google LLC Training neural networks represented as computational graphs
US20170139759A1 (en) 2015-11-13 2017-05-18 Ca, Inc. Pattern analytics for real-time detection of known significant pattern signatures
TWI745321B (zh) 2016-01-08 2021-11-11 馬來西亞商雲頂圖爾斯診斷中心有限公司 決定網路連結之方法及系統
US10586173B2 (en) 2016-01-27 2020-03-10 Bonsai AI, Inc. Searchable database of trained artificial intelligence objects that can be reused, reconfigured, and recomposed, into one or more subsequent artificial intelligence models
US10157629B2 (en) 2016-02-05 2018-12-18 Brainchip Inc. Low power neuromorphic voice activation system and method
US10204286B2 (en) 2016-02-29 2019-02-12 Emersys, Inc. Self-organizing discrete recurrent network digital image codec
US11774944B2 (en) 2016-05-09 2023-10-03 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
US11468337B2 (en) 2016-05-13 2022-10-11 The Trustees Of Princeton University System and methods for facilitating pattern recognition
US20220269346A1 (en) 2016-07-25 2022-08-25 Facebook Technologies, Llc Methods and apparatuses for low latency body state prediction based on neuromuscular data
EP3494520A1 (en) 2016-08-04 2019-06-12 Google LLC Encoding and reconstructing inputs using neural networks
US11120353B2 (en) 2016-08-16 2021-09-14 Toyota Jidosha Kabushiki Kaisha Efficient driver action prediction system based on temporal fusion of sensor data using deep (bidirectional) recurrent neural network
US10565493B2 (en) 2016-09-22 2020-02-18 Salesforce.Com, Inc. Pointer sentinel mixture architecture
US10157045B2 (en) 2016-11-17 2018-12-18 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
KR101997975B1 (ko) 2016-12-01 2019-07-08 한국과학기술원 신경망 시스템을 이용한 정보의 장기, 단기, 및 하이브리드 기억을 위한 방법
US11429854B2 (en) 2016-12-04 2022-08-30 Technion Research & Development Foundation Limited Method and device for a computerized mechanical device
US10515302B2 (en) 2016-12-08 2019-12-24 Via Alliance Semiconductor Co., Ltd. Neural network unit with mixed data and weight size computation capability
CN106778856A (zh) 2016-12-08 2017-05-31 深圳大学 一种物体识别方法及装置
US10885425B2 (en) 2016-12-20 2021-01-05 Intel Corporation Network traversal using neuromorphic instantiations of spike-time-dependent plasticity
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11625569B2 (en) 2017-03-23 2023-04-11 Chicago Mercantile Exchange Inc. Deep learning for credit controls
US9785886B1 (en) 2017-04-17 2017-10-10 SparkCognition, Inc. Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US11501139B2 (en) 2017-05-03 2022-11-15 Intel Corporation Scaling half-precision floating point tensors for training deep neural networks
US20180336453A1 (en) 2017-05-19 2018-11-22 Salesforce.Com, Inc. Domain specific language for generation of recurrent neural network architectures
CN116957055A (zh) 2017-06-05 2023-10-27 渊慧科技有限公司 使用多模态输入选择动作
US11049018B2 (en) 2017-06-23 2021-06-29 Nvidia Corporation Transforming convolutional neural networks for visual sequence learning
US10402687B2 (en) 2017-07-05 2019-09-03 Perceptive Automata, Inc. System and method of predicting human interaction with vehicles
US20210182604A1 (en) 2017-07-05 2021-06-17 Perceptive Automata, Inc. System and method of predicting human interaction with vehicles
WO2019027992A1 (en) 2017-08-03 2019-02-07 Telepathy Labs, Inc. PROACTIVE, INTELLIGENT AND OMNICANAL VIRTUAL AGENT
WO2019035862A1 (en) 2017-08-14 2019-02-21 Sisense Ltd. SYSTEM AND METHOD FOR INCREASING THE PRECISION OF APPROXIMATION OF INTERROGATION RESULTS USING NEURAL NETWORKS
US20190122140A1 (en) 2017-10-20 2019-04-25 STATGRAF Research LLP. Data analysis and rendering
US10410111B2 (en) 2017-10-25 2019-09-10 SparkCognition, Inc. Automated evaluation of neural networks using trained classifier
US10628486B2 (en) 2017-11-15 2020-04-21 Google Llc Partitioning videos
KR20240053667A (ko) 2017-12-22 2024-04-24 레스메드 센서 테크놀로지스 리미티드 건강 및 의료 감지를 위한 장치, 시스템, 및 방법
TWI640933B (zh) 2017-12-26 2018-11-11 中華電信股份有限公司 基於類神經網路之兩段式特徵抽取系統及其方法
WO2019147329A1 (en) 2018-01-23 2019-08-01 Hrl Laboratories, Llc A method and system for distributed coding and learning in neuromorphic networks for pattern recognition
US11278413B1 (en) 2018-02-06 2022-03-22 Philipp K. Lang Devices, systems, techniques and methods for determining the fit, size and/or shape of orthopedic implants using computer systems, artificial neural networks and artificial intelligence
US20190251447A1 (en) 2018-02-09 2019-08-15 Htc Corporation Device and Method of Training a Fully-Connected Neural Network
EP3766009A4 (en) 2018-03-13 2021-12-01 HRL Laboratories, LLC SPARE ASSOCIATIVE MEMORY FOR IDENTIFYING OBJECTS
US20190354832A1 (en) 2018-05-17 2019-11-21 Università della Svizzera italiana Method and system for learning on geometric domains using local operators
US20190304568A1 (en) 2018-03-30 2019-10-03 Board Of Trustees Of Michigan State University System and methods for machine learning for drug design and discovery
US10771488B2 (en) 2018-04-10 2020-09-08 Cisco Technology, Inc. Spatio-temporal anomaly detection in computer networks using graph convolutional recurrent neural networks (GCRNNs)
DE102018109392A1 (de) 2018-04-19 2019-10-24 Beckhoff Automation Gmbh Verfahren zum erfassen optischer codes, automatisierungssystem und computerprogrammprodukt zum durchführen des verfahrens
US11501138B1 (en) 2018-04-20 2022-11-15 Perceive Corporation Control circuits for neural network inference circuit
EP3561727A1 (en) 2018-04-23 2019-10-30 Aptiv Technologies Limited A device and a method for extracting dynamic information on a scene using a convolutional neural network
US20190335192A1 (en) 2018-04-27 2019-10-31 Neulion, Inc. Systems and Methods for Learning Video Encoders
US11663478B2 (en) 2018-06-11 2023-05-30 Inait Sa Characterizing activity in a recurrent artificial neural network
US20190378007A1 (en) 2018-06-11 2019-12-12 Inait Sa Characterizing activity in a recurrent artificial neural network
US20190378000A1 (en) 2018-06-11 2019-12-12 Inait Sa Characterizing activity in a recurrent artificial neural network
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information
WO2019238483A1 (en) 2018-06-11 2019-12-19 Inait Sa Characterizing activity in a recurrent artificial neural network and encoding and decoding information
US10417558B1 (en) 2018-09-28 2019-09-17 Deep Insight Solutions, Inc. Methods and systems for artificial neural network optimistic event processing
US11823038B2 (en) 2018-06-22 2023-11-21 International Business Machines Corporation Managing datasets of a cognitive storage system with a spiking neural network
US11218498B2 (en) 2018-09-05 2022-01-04 Oracle International Corporation Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks
US11068942B2 (en) 2018-10-19 2021-07-20 Cerebri AI Inc. Customer journey management engine
WO2020088739A1 (en) 2018-10-29 2020-05-07 Hexagon Technology Center Gmbh Facility surveillance systems and methods
US11270072B2 (en) 2018-10-31 2022-03-08 Royal Bank Of Canada System and method for cross-domain transferable neural coherence model
US20210398621A1 (en) 2018-11-07 2021-12-23 Kuano Ltd. A quantum circuit based system configured to model physical or chemical systems
US11120111B2 (en) 2018-12-11 2021-09-14 Advanced New Technologies Co., Ltd. Authentication based on correlation of multiple pulse signals
US20190370647A1 (en) 2019-01-24 2019-12-05 Intel Corporation Artificial intelligence analysis and explanation utilizing hardware measures of attention
WO2020163355A1 (en) 2019-02-05 2020-08-13 Smith & Nephew, Inc. Methods for improving robotic surgical systems and devices thereof
US11544535B2 (en) 2019-03-08 2023-01-03 Adobe Inc. Graph convolutional networks with motif-based attention
US11652603B2 (en) 2019-03-18 2023-05-16 Inait Sa Homomorphic encryption
US11569978B2 (en) 2019-03-18 2023-01-31 Inait Sa Encrypting and decrypting information
US11347965B2 (en) 2019-03-21 2022-05-31 Illumina, Inc. Training data generation for artificial intelligence-based sequencing
US11210554B2 (en) 2019-03-21 2021-12-28 Illumina, Inc. Artificial intelligence-based generation of sequencing metadata
US10996664B2 (en) 2019-03-29 2021-05-04 Mitsubishi Electric Research Laboratories, Inc. Predictive classification of future operations
EP3948402B1 (en) 2019-04-01 2023-12-06 Evolution Optiks Limited Pupil tracking system and method, and digital display device and digital image rendering system and method using same
US20200380335A1 (en) 2019-05-30 2020-12-03 AVAST Software s.r.o. Anomaly detection in business intelligence time series
US20200402497A1 (en) 2019-06-24 2020-12-24 Replicant Solutions, Inc. Systems and Methods for Speech Generation
WO2021010509A1 (ko) 2019-07-15 2021-01-21 엘지전자 주식회사 인공지능 조리 기기
US11763155B2 (en) 2019-08-12 2023-09-19 Advanced Micro Devices, Inc. Using sub-networks created from neural networks for processing color images
US11064108B2 (en) 2019-08-21 2021-07-13 Sony Corporation Frame rate control for media capture based on rendered object speed
US20210097578A1 (en) 2019-10-01 2021-04-01 JJG Development, LLC, DBA Smart Pickle Marketing automation platform
US20220187847A1 (en) 2019-11-05 2022-06-16 Strong Force Vcn Portfolio 2019, Llc Robot Fleet Management for Value Chain Networks
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
US20230028511A1 (en) 2019-12-11 2023-01-26 Inait Sa Constructing and operating an artificial recurrent neural network
US20210182655A1 (en) 2019-12-11 2021-06-17 Inait Sa Robust recurrent artificial neural networks
US11651210B2 (en) 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US10885020B1 (en) 2020-01-03 2021-01-05 Sas Institute Inc. Splitting incorrectly resolved entities using minimum cut
US20220157436A1 (en) 2020-08-10 2022-05-19 Zeriscope, Inc. Method and system for distributed management of transdiagnostic behavior therapy
AU2021401816A1 (en) 2020-12-18 2023-06-22 Strong Force Vcn Portfolio 2019, Llc Robot fleet management and additive manufacturing for value chain networks
US20220261593A1 (en) 2021-02-16 2022-08-18 Nvidia Corporation Using neural networks to perform object detection, instance segmentation, and semantic correspondence from bounding box supervision

Also Published As

Publication number Publication date
US20210182681A1 (en) 2021-06-17
US11580401B2 (en) 2023-02-14
EP4073711A1 (en) 2022-10-19
TWI776310B (zh) 2022-09-01
US20230351196A1 (en) 2023-11-02
CN115087989A (zh) 2022-09-20
WO2021116250A1 (en) 2021-06-17
TW202137068A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
KR20220107302A (ko) 순환 신경망에서의 거리 메트릭 및 클러스터링
TWI789654B (zh) 循環人工神經網路系統
TWI786483B (zh) 處理感測資料的方法、神經網路系統及建構循環神經網路系統的方法
US11651210B2 (en) Interpreting and improving the processing results of recurrent neural networks
US20240046077A1 (en) Input into a neural network
Nair et al. Covariate shift: A review and analysis on classifiers
Hartvigsen et al. Recurrent halting chain for early multi-label classification
US20220269718A1 (en) Method And Apparatus For Tracking Object
Chakraborti et al. Evidential reasoning based digital twins for performance optimization of complex systems
CN117396900A (zh) 具有自训练分类的无监督异常检测
US20220164659A1 (en) Deep Learning Error Minimizing System for Real-Time Generation of Big Data Analysis Models for Mobile App Users and Controlling Method for the Same
Panda et al. Ensemble methods for improving classifier performance
Mustapha et al. Introduction to machine learning and artificial intelligence