KR20120123698A - 신경망의 조직화 - Google Patents

신경망의 조직화 Download PDF

Info

Publication number
KR20120123698A
KR20120123698A KR1020127023174A KR20127023174A KR20120123698A KR 20120123698 A KR20120123698 A KR 20120123698A KR 1020127023174 A KR1020127023174 A KR 1020127023174A KR 20127023174 A KR20127023174 A KR 20127023174A KR 20120123698 A KR20120123698 A KR 20120123698A
Authority
KR
South Korea
Prior art keywords
nodes
node
links
assembly
neural network
Prior art date
Application number
KR1020127023174A
Other languages
English (en)
Other versions
KR101816329B1 (ko
Inventor
헨리 마크람
로드리고 데 캄포스 페린
토마스 케이. 베르게르
Original Assignee
에꼴 뽈리떼끄닉 뻬데랄 드 로잔느 (으뻬에프엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에꼴 뽈리떼끄닉 뻬데랄 드 로잔느 (으뻬에프엘) filed Critical 에꼴 뽈리떼끄닉 뻬데랄 드 로잔느 (으뻬에프엘)
Publication of KR20120123698A publication Critical patent/KR20120123698A/ko
Application granted granted Critical
Publication of KR101816329B1 publication Critical patent/KR101816329B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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

Landscapes

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

Abstract

트레이닝된 및 비트레이닝된 신경망을 조직화하는 방법, 시스템 및 장치(컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함함). 한 측면에서, 신경망 장치는 어셈블리간 링크(between-assembly link)에 의해 상호연결된 노드 어셈블리(node assembly)의 집합체를 포함하고, 각각의 노드 어셈블리 자체는 복수의 어셈블리내 링크(within-assembly link)에 의해 상호연결된 노드들의 네트워크를 포함하며, 어셈블리간 링크 및 어셈블리내 링크 각각은 연관된 가중치를 갖고, 각각의 가중치는 연관된 링크에 의해 결합된 노드들 사이의 연결의 강도를 구현하며, 각각의 어셈블리 내의 노드는 다른 노드 어셈블리 내의 노드에 연결되는 것보다 그 어셈블리 내의 다른 노드에 연결될 가능성이 더 높다.

Description

신경망의 조직화{ORGANIZING NEURAL NETWORKS}
관련 출원의 상호 참조
본 출원은 미국 특허법 제119조 (e) 하에서 2010년 2월 5일자로 출원된 미국 특허 출원 제61/301,781호(그 내용이 참조 문헌으로서 본 명세서에 포함됨)를 기초로 우선권을 주장한다.
본 명세서는 트레이닝된 및 비트레이닝된 신경망을 조직화하는 방식 및 신경망을 조직화하는 방법에 관한 것이다.
신경망은 생물학적 뉴런의 네트워크의 구조 및 기능적 측면에 의해 영감을 받은 소자이다. 특히, 신경망은 "노드"라고 하는 상호연결된 구성체의 시스템을 사용하여 생물학적 뉴런의 네트워크의 정보 인코딩 및 기타 처리 기능을 모방하고 있다. 신경망에서 노드들 사이의 연결의 배열 및 강도는 신경망에 의한 정보 처리 또는 정보 저장의 결과를 결정한다.
신경망은 네트워크 내에서 원하는 신호 흐름을 생성하고 원하는 정보 처리 또는 정보 저장 결과를 달성하도록 "트레이닝"될 수 있다. 일반적으로, 신경망을 트레이닝시키는 것은 학습 단계 동안 노드들 사이의 연결의 배열 및/또는 강도를 변경할 것이다. 주어진 입력 세트에 대해 신경망에 의해 충분히 적절한 처리 결과가 달성될 때 신경망은 "트레이닝된" 것으로 간주될 수 있다.
신경망은 비선형 데이터 처리 및 분석을 수행하기 위해 다양한 상이한 소자에서 사용될 수 있다. 비선형 데이터 처리는 중첩 원리를 만족시키지 않는다 - 즉, 결정되어야 하는 변수가 독립 성분의 선형 합으로서 쓰여질 수 없다 -. 비선형 데이터 처리가 유용한 상황의 일례는 패턴 및 시퀀스 인식, 이상 탐지(novelty detection) 및 순차적 의사 결정, 복합 시스템 모델링, 그리고 다양한 다른 상황에서의 시스템 및 기법을 포함한다.
본 명세서는 트레이닝된 및 비트레이닝된 신경망을 조직화하는 방식 및 신경망을 조직화하는 방법을 기술하고 있다. 쥐의 신피질에서의 생물학적 뉴런의 조직화에 대한 연구는 신경망에서의 노드가 어떻게 유익하게 구성될 수 있는지에 관한 실마리를 제공하였다. 쥐의 신피질에서의 생물학적 뉴런의 조직화를 모방하는 상호연결을 갖는 신경망이 개선된 정보 처리 및/또는 정보 저장을 달성하도록 트레이닝될 수 있다.
본 명세서에 기술된 발명 대상의 제1 측면에서, 신경망 장치는 하드웨어로, 소프트웨어로, 또는 이들의 조합으로 구현된다. 신경망 장치는 어셈블리간 링크(between-assembly link)에 의해 상호연결된 노드 어셈블리(node assembly)의 집합체를 포함하고, 각각의 노드 어셈블리 자체는 복수의 어셈블리내 링크(within-assembly link)에 의해 상호연결된 노드들의 네트워크를 포함하며, 어셈블리간 링크 및 어셈블리내 링크 각각은 연관된 가중치를 갖고, 각각의 가중치는 연관된 링크에 의해 결합된 노드들 사이의 연결의 강도를 구현하며, 각각의 어셈블리 내의 노드는 다른 노드 어셈블리 내의 노드에 연결되는 것보다 그 어셈블리 내의 다른 노드에 연결될 가능성이 더 높다.
본 명세서에 기술된 발명 대상의 제2 측면에서, 신경망 장치를 형성하는 머신-구현 방법은 하드웨어로, 소프트웨어로, 또는 이들의 조합으로 구현되는 노드들의 네트워크를 형성하는 단계, 및 노드에 의해 공유되는 공통 이웃의 수를 구현하는 확률로 노드를 연결 또는 분리시킴으로써 네트워크의 노드들 간의 링크를 할당 또는 재할당하는 단계를 포함한다.
이들 및 기타 측면은 다음과 같은 특징들 중 하나 이상을 포함할 수 있다. 어셈블리간 링크와 연관된 가중치가 특정의 목적을 위해 신경 소자를 트레이닝시키는 것을 구현할 수 있다. 어셈블리내 링크는 어셈블리간 링크보다 적은 정도로 특정의 목적을 위해 신경 소자를 트레이닝시키는 것을 구현할 수 있다. 쌍별 연결 프로파일(pairwise connectivity profile)에 따라 노드들이 연결될 수 있고 노드 어셈블리가 형성될 수 있다. 각각의 노드 어셈블리 내에서의 평균 가중치의 분산이 보다 많은 수의 링크를 갖는 노드 어셈블리에 대해 일반적으로 감소될 수 있다. 각자의 노드 어셈블리 내의 링크의 수가 각자의 노드 어셈블리 내의 노드의 수를 초과함에 따라 각자의 노드 어셈블리 각각과의 상호연결의 평균 강도가 각자의 한계에 점근적으로 접근할 수 있다. 예를 들어, 각자의 한계가 실질적으로 동일할 수 있다. 동일한 노드 어셈블리 내의 노드의 수보다 작은 수의 어셈블리내 링크를 갖는 노드 어셈블리의 경우, 어셈블리내 링크의 가중치의 크기가 일련의 레벨 중 구별가능한 개별 레벨과 연관될 수 있다. 예를 들어, 각각의 개별 레벨은 어셈블리 내의 상이한 수의 노드와 연관될 수 있다. 신경망 장치는 각각의 어셈블리내 링크의 어셈블리 내의 다른 노드의 수에 기초하여 어셈블리내 링크의 각각의 가중치의 크기를 변경하도록 구성되어 있는 어댑터 구성요소를 포함할 수 있다. 예를 들어, 어댑터 구성요소는 신경망 장치가 트레이닝되기 전에 각각의 가중치의 크기를 변경하도록 구성되어 있을 수 있다. 이러한 신경망 장치는 트레이닝되어 있지 않을 수 있다. 신경망 장치는 노드 어셈블리 내의 노드들의 수에 기초하여 각각의 노드 어셈블리 내의 노드들 사이의 연결의 확률을 변경하도록 구성되어 있는 어댑터 구성요소를 포함할 수 있다. 예를 들어, 어댑터 구성요소는 신경망 장치가 트레이닝되기 전에 각각의 가중치의 크기를 변경하도록 구성되어 있을 수 있다. 링크는 상호 링크(reciprocal link) 및 비상호 링크(non-reciprocal link)를 포함할 수 있다. 비상호 링크는 상호 링크보다 약 2배 흔할 수 있다. 어셈블리 내의 노드는 다른 노드 어셈블리 내의 노드에 연결되는 것보다 그 어셈블리 내의 다른 노드에 연결될 가능성이 약 2배일 수 있다. 10개 내지 100개의 노드를 갖는 노드 어셈블리의 수는 10개 미만 100개 초과의 노드를 갖는 노드 어셈블리의 수보다 클 수 있다. 신경망 장치는 10개 내지 100개의 노드 어셈블리를 가질 수 있다. 준정상 상태에 도달할 때까지 할당 또는 재할당이 반복될 수 있다. 쌍별 연결 프로파일에 따라 노드들이 연결될 수 있다. 노드들의 어셈블리는, 예를 들어, 노드 어셈블리 내의 링크의 가중치를 비교적 변경되지 않은 채로 두면서 트레이닝을 구현하기 위해 비교적 안정된 가중치를 갖는 노드 어셈블리 내의 링크를 가중하고 노드 어셈블리 간의 링크를 가중하는 것에 의해 트레이닝될 수 있다. 제1 노드 및 제2 노드 둘 다에 공통으로 연결된 노드의 수에 기초하여, 가중치가 제1 노드와 제2 노드 사이의 각각의 링크에 할당될 수 있다. 랜덤한 할당 프로세스 또는 2개의 노드가 링크될 확률에 따라 링크 할당이 행해지는 프로세스에 따라 초기 링크 세트가 할당될 수 있다. 비트레이닝된 신경망 장치가 이 방법에 의해 형성될 수 있다. 각자의 노드 어셈블리 각각 내의 링크의 수가 그 각자의 노드 어셈블리 내의 노드의 수를 초과할 때까지 할당 또는 재할당이 반복될 수 있다. 각자의 노드 어셈블리 내의 링크는 링크의 수가 노드의 수를 초과함에 따라 한계에 접근하는 가중치로 가중될 수 있다. 상이한 크기의 노드 어셈블리에 대한 한계는 실질적으로 동일할 수 있다.
본 명세서에 기술된 발명 대상의 하나 이상의 실시예의 상세가 첨부 도면 및 이하의 설명에 기술되어 있다. 발명 대상의 다른 특징, 측면 및 이점이 이 설명, 도면 및 특허청구범위로부터 명백하게 될 것이다.
도 1은 신경망 장치를 개략적으로 나타낸 도면.
도 2a 내지 도 2f는 상이한 수의 링크가 상이한 수의 노드의 그룹 내에 나타날 수 있는 빈도수의 예시적인 일례를 나타낸 그래프.
도 3a 내지 도 3f는 도 2a 내지 도 2f에서 링크가 그룹 내에 나타날 수 있는 빈도수와 연결이 랜덤하게 할당되는 경우 링크가 나타날 것으로 예상되는 빈도수 간의 차이의 예시적인 일례를 나타낸 그래프.
도 4a 및 도 4b는 상이한 수의 공통 이웃을 공유하는 주어진 노드 쌍 자체가 링크될 가능성을 구현하는 상이한 확률의 예시적인 일례를 나타낸 그래프.
도 5a 및 도 5b는 6개의 노드의 그룹 또는 어셈블리 내의 노드들 간의 상호연결의 상이한 평균 강도의 예시적인 일례를 나타낸 그래프.
도 6은 상이한 수의 상호연결을 갖는 노드들 간의 상호연결의 강도의 상이한 확률 밀도 분포의 예시적인 일례를 나타낸 그래프.
도 7a 및 도 7b는 6개의 노드의 그룹 또는 어셈블리 내의 노드들 간의 상호연결의 평균 강도의 상이한 분산의 예시적인 일례를 나타낸 그래프.
도 8은 노드 어셈블리 내의 노드 쌍과 2개의 상이한 노드 어셈블리 내의 노드 쌍이 링크될 확률의 예시적인 일례를 나타낸 그래프.
도 9a 및 도 9b는 트레이닝된 또는 비트레이닝된 신경망 장치에서의 상이한 노드 어셈블리 크기 분포의 예시적인 일례를 나타낸 그래프.
도 10은 노드 어셈블리 연결(node assembly connectivity)을 포함하는 신경망 장치에 대한 클러스링 계수(clustering coefficient)의 예시적인 일례를 나타낸 그래프.
도 11은 노드 어셈블리 연결을 포함하는 신경망 장치에 대한 착신 연결(incoming connection)의 누적 분포의 예시적인 플롯(1105)을 나타낸 그래프(1100).
도 12는 노드 어셈블리 연결을 포함하는 신경망 장치에 대한 노드 쌍에 의해 공유되는 공통 이웃의 수의 확률 밀도 분포의 플롯의 예시적인 일례를 나타낸 그래프.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 구성요소를 나타낸다.
도 1은 신경망 장치(100)를 개략적으로 나타낸 것이다. 신경망 장치(100)는 상호연결된 노드들의 시스템을 사용하여 생물학적 뉴런의 네트워크의 정보 인코딩 및 기타 처리 기능을 모방하고 있는 소자이다. 신경망 장치(100)는 하드웨어로, 소프트웨어로, 또는 그 조합으로 구현될 수 있다.
신경망 장치(100)는 복수의 링크(110)에 의해 상호연결되어 있는 복수의 노드(105)를 포함하고 있다. 노드(105)는 생물학적 네트워크에서의 뉴런과 유사한 개별적인 정보 처리 구성체이다. 노드(105)는 일반적으로 하나 이상의 링크(110)를 통해 수신된 하나 이상의 입력 신호를 처리하여, 하나 이상의 링크(110)를 통해 출력되는 하나 이상의 출력 신호를 생성한다. 예를 들어, 일부 구현예에서, 노드(105)는 다수의 입력 신호를 가중 및 합산하고, 합을 하나 이상의 비선형 활성화 함수를 통해 전달하며, 하나 이상의 출력 신호를 출력하는 인공 뉴런일 수 있다.
신경망 장치(100) 내의 노드(105)는 복수의 노드 어셈블리(115, 120, 125, 130)로 구성된다. 각각의 노드 어셈블리(115, 120, 125, 130)는 노드들의 집합체이다. 각자의 노드 어셈블리(115, 120, 125, 130) 각각 내의 노드(105)는 다른 노드 어셈블리(115, 120, 125, 130) 내의 노드보다 동일한 각자의 노드 어셈블리(115, 120, 125, 130) 내의 다른 노드와 링크(110)를 설정할 가능성이 더 높다. 예를 들어, 일부 구현예에서, 각각의 노드 어셈블리(115, 120, 125, 130) 내의 노드(105)는 다른 노드 어셈블리(115, 120, 125, 130) 내의 노드보다 동일한 각자의 노드 어셈블리(115, 120, 125, 130) 내의 다른 노드와 링크(110)를 설정할 가능성이 1.5배 초과 또는 2배 초과만큼 높다.
상이한 노드 어셈블리(115, 120, 125, 130) 내에서 상이한 수의 노드(105)가 발견될 수 있다. 예를 들어, 예시된 구현예에서, 노드 어셈블리(115, 120) 각각은 6개의 노드(105)를 포함하는 반면, 노드 어셈블리(125)는 7개의 노드(105)를 포함하고 노드 어셈블리(130)는 4개의 노드(105)를 포함하고 있다. 노드 어셈블리(115, 120, 125, 130)가 간명함을 위해 개별적인 2차원 경계에 의해 분리되어 있는 것으로 도시되어 있지만, 다중-레벨의 상호연결된 노드들(105)의 네트워크도 역시 노드 어셈블리로 구성될 수 있다. 이하에서 더 기술하는 바와 같이, 노드 어셈블리(115, 120, 125, 130) - 및 노드(105)와 노드 어셈블리(115, 120, 125, 130) 내부에 있는 노드와 외부에 있는 노드 모두 사이의 연결 - 가 생물학적 뉴런의 클러스터의 특징을 모방하는 하나 이상의 특징을 가질 수 있다.
링크(110)는 노드들(105) 사이의 연결이고, 생물학적 네트워크에서의 뉴런 사이의 시냅스 및 기타 연결과 유사하다. 링크(110)는, 예컨대, 피드포워드 링크, 피드백 링크, 반복 링크, 또는 그 조합을 포함할 수 있다. 링크(110)는 단방향(예컨대, 착신 또는 발신)이거나 양방향(즉, 상호)일 수 있다. 링크(110)는 링크(110)에 의해 연결된 노드들(105) 간의 관계에 따라 분류될 수 있다. 예를 들어, 어떤 링크(110) - 즉, 어셈블리내 링크(145) - 는 단일 노드 어셈블리(115, 120, 125, 130) 내에 있는 노드들(105)을 연결시킨다. 다른 링크(110) - 즉, 어셈블리간 링크(150) - 는 상이한 노드 어셈블리(115, 120, 125, 130)에 있는 노드들(105)을 연결시킨다. 상이한 노드 어셈블리(115, 120, 125, 130) 내에서 상이한 수의 어셈블리내 링크(145)가 발견될 수 있다. 예를 들어, 예시된 구현예에서, 노드 어셈블리(115)는 6개의 어셈블리내 링크(145)를 포함하고 있다. 노드 어셈블리(120)는 7개의 어셈블리내 링크(145)를 포함하고 있다. 노드 어셈블리(125)는 8개의 어셈블리내 링크(145)를 포함하고 있다. 노드 어셈블리(130)는 5개의 어셈블리내 링크(145)를 포함하고 있다. 따라서, 동일한 수의 노드(110)를 포함하는 노드 어셈블리[예컨대, 노드 어셈블리(115, 120)]라도 상이한 수의 어셈블리내 링크(145)를 포함하고 있다.
신경망 장치(100)도 노드 어셈블리(115, 120, 125, 130)도 허브 노드를 포함하지 않는다는 점에서, 신경망 장치(100)는 허브가 없다(hub-free). 허브 노드란 네트워크 또는 네트워크 어셈블리 내의 다른 노드보다 눈에 띌 정도로 더 많은 수의 링크를 갖는 노드를 말한다. 예를 들어, 바퀴형 네트워크(wheel network) 내의 중심 노드(central node)(즉, 다른 노드들 모두가 3개의 링크를 갖는 네트워크에서 n-1개의 링크를 갖는 노드)는 허브 노드의 일례이다. 허브 노드의 다른 일례는 노드 어셈블리 내의 노드마다 링크의 전체 분포 패턴 밖에 있는 다수의 링크를 갖는 그 노드 어셈블리 내의 노드를 포함한다. 이러한 노드 어셈블리 내의 노드는 따라서 똑같이 3개의 링크를 갖는 것으로 제약되지 않고 오히려, 예컨대, 이하에서 더 기술하는 바와 같이, 분포될 수 있다. 일부 구현예에서, 노드 어셈블리의 그룹 내의 노드[예컨대, 신경망 장치(100) 내의 모든 노드 등]는 모두가 동일한 계층구조를 가질 수 있다.
각각의 링크(110)는 링크된 노드들(105) 사이의 연결의 강도를 특징지우는 연관된 가중치를 가질 수 있다. 가중치는 생물학적 네트워크에서의 뉴런들 사이의 스냅스 및 기타 연결의 강도와 유사하다.
이하에서 더 기술하는 바와 같이, 일부 구현예에서, 단일 노드 어셈블리(115, 120, 125, 130) 내의 어셈블리내 링크(145)는 노드 어셈블리 내의 노드(105)의 수 및/또는 어셈블리내 링크(145)의 수를 구현하는 가중치를 가질 수 있다. 일부 구현예에서, 어셈블리내 링크(145)의 가중치의 크기는 비교적 낮은 분산을 가질 수 있다. 분산이 - 주어진 수의 노드(105)를 가지는 노드 어셈블리(115, 120, 125, 130) 내의 적어도 어떤 수의 어셈블리내 링크(145)에 대해 - 비교적 작은 수의 어셈블리내 링크(145)를 갖는 노드 어셈블리 내의 어셈블리내 링크 가중치의 크기가 일련의 구별가능한 개별 레벨 중 하나의 레벨과 연관되도록 충분히 낮을 수 있다.
신경망 장치(100)가 트레이닝될 때, 가중치가 원하는 신호 흐름을 생성하고 원하는 정보 처리 또는 정보 저장 결과를 달성하도록 조정된다. 일부 구현예에서, 어셈블리내 링크 가중치의 크기는 신경망 장치(100)의 임의의 트레이닝에 대해 비교적 독립적일 수 있다. 일부 구현예에서, 트레이닝이 주로 또는 심지어 배타적으로 어셈블리간 링크(150)의 가중치에 구현된다.
도 2 내지 도 12는 트레이닝된 및 비트레이닝된 신경망 장치 모두가 갖도록 구성될 수 있는 특징의 예시적인 일례를 나타낸 것이다. 이들 특징 중 하나 이상의 특징은 정보 처리 및/또는 저장을 용이하게 해줄 수 있다. 예를 들어, 도 2a 내지 도 2f는 12개의 노드를 갖는 트레이닝된 또는 비트레이닝된 신경망 장치의 구현에서 상이한 수의 노드의 그룹 내에서 상이한 수의 링크가 나타날 수 있는 빈도수의 예시적인 일례를 나타낸 그래프이다. 특히, 도 2a는 3개의 노드의 그룹 내에 0 내지 6개의 링크가 나타나는 빈도수의 예시적인 일례를 나타낸 그래프(205)이다. 도 2b는 4개의 노드의 그룹 내에 0 내지 9개의 링크가 나타나는 빈도수의 예시적인 일례를 나타낸 그래프(210)이다. 도 2c는 5개의 노드의 그룹 내에 0 내지 11개의 링크가 나타나는 빈도수의 예시적인 일례를 나타낸 그래프(215)이다. 도 2d는 6개의 노드의 그룹 내에 0 내지 15개의 링크가 나타나는 빈도수의 예시적인 일례를 나타낸 그래프(220)이다. 도 2e는 7개의 노드의 그룹 내에 0 내지 19개의 링크가 나타나는 빈도수의 예시적인 일례를 나타낸 그래프(225)이다. 도 2f는 8개의 노드의 그룹 내에 0 내지 22개의 링크가 나타나는 빈도수의 예시적인 일례를 나타낸 그래프(230)이다.
도 2a 내지 도 2f에서의 노드의 그룹이 반드시 노드 어셈블리를 형성하는 노드일 필요는 없다. 오히려, 이들 그룹은 어쩌면 신경망 장치 내의 가능한 랜덤한 노드의 그룹을 나타낼 수 있다. 따라서, 어떤 이러한 노드의 그룹이 그룹 내의 노드들 사이에 0개의 링크를 갖는 것이 가능하다.
3개 초과의 노드를 갖는 그룹의 경우, 하나의 링크가 그룹 내에 나타나는 빈도수는 0개의 링크가 그룹 내에 나타나는 빈도수보다 높다. 게다가, 4개 이상의 노드를 갖는 그룹의 경우, 그룹 내에 나타나는 링크의 수가 그룹 내의 노드의 수와 동일한 빈도수는 대략 10-1이다. 4개 이상의 노드를 갖는 이들 그룹의 경우, 그룹 내에 나타나는 링크의 수가 그 그룹 내의 노드의 수를 초과하는 빈도수는 대략 10-1 미만이다.
도 2a 내지 도 2f에서 링크가 이들 그룹 내에 나타나는 빈도수는 연결이 랜덤하게 할당된 경우 링크가 나타날 것으로 예상되는 빈도수와 다르다. 도 3a 내지 도 3f는 이러한 차이, 즉 도 2a 내지 도 2f에서 링크가 그룹 내에 나타날 수 있는 빈도수와 연결이 랜덤하게 할당되는 경우 링크가 나타날 것으로 예상되는 빈도수 간의 차이의 예시적인 일례를 나타낸 그래프이다. 본 출원에서 나오는 이들 및 기타 예시적인 일례에서, 전체 연결 확률은 0.15였다. 트레이닝된 및 비트레이닝된 신경망 장치가 다른 전체 연결 확률에서 대응하는 특징을 갖도록 구성될 수 있다.
도 2a 내지 도 2f에서의 이들 차이는 예상을 초과한 링크의 존재(즉, 파라미터의 플러스 값으로 되어 있음)는 물론, 예상된 링크의 부존재(즉, 파라미터의 마이너스 값으로 되어 있음)를 구현하는 정규화된 파라미터로 제시된다. 예시된 구현예에서, 이 정규화된 파라미터는 특정의 그룹 내에 링크가 나타나는 실제 빈도수와 연결이 랜덤하게 할당된 경우 링크가 나타날 것으로 예상되는 빈도수 간의 차이를 계산함으로써 도출된다. 계산된 차이는 이어서 연결이 랜덤하게 할당된 경우 링크가 나타날 것으로 예상되는 빈도수에 의해 정규화된다.
특히, 도 3a는 3개의 노드의 그룹 내에 0 내지 6개의 링크가 나타날 빈도수의 예상과의 편차의 예시적인 일례를 나타낸 그래프(305)이다. 도 3b는 4개의 노드의 그룹 내에 0 내지 9개의 링크가 나타날 빈도수의 예상과의 편차의 예시적인 일례를 나타낸 그래프(310)이다. 도 3c는 5개의 노드의 그룹 내에 0 내지 11개의 링크가 나타날 빈도수의 예상과의 편차의 예시적인 일례를 나타낸 그래프(315)이다. 도 3d는 6개의 노드의 그룹 내에 0 내지 15개의 링크가 나타날 빈도수의 예상과의 편차의 예시적인 일례를 나타낸 그래프(320)이다. 도 3e는 7개의 노드의 그룹 내에 0 내지 19개의 링크가 나타날 빈도수의 예상과의 편차의 예시적인 일례를 나타낸 그래프(325)이다. 도 3f는 8개의 노드의 그룹 내에 0 내지 22개의 링크가 나타날 빈도수의 예상과의 편차의 예시적인 일례를 나타낸 그래프(330)이다. 도 3a 내지 도 3f에서의 노드의 그룹이 반드시 노드 어셈블리를 형성하는 노드일 필요는 없다. 오히려, 이들 노드의 그룹은 신경망 장치 내의 가능한 랜덤한 노드의 그룹을 나타낸다.
모든 크기의 그룹에 대해, 비교적 더 많은 수의 링크가 연결이 랜덤하게 할당된 경우에 예상되는 것보다 랜덤한 노드의 그룹 내에서 더 빈번하다. 예상과의 이들 편차는 일반적으로 랜덤한 그룹 내에서 노드의 수를 초과하는 링크의 수에서 상당하게 된다. 예를 들어, 그래프(310)는 4개의 노드의 랜덤한 그룹이 연결이 랜덤하게 할당되는 경우 예상되는 것보다 5개 이상의 링크를 가질 가능성이 더 많다는 것을 보여준다. 다른 일례로서, 그래프(315)는 5개의 노드의 랜덤한 그룹이 연결이 랜덤하게 할당되는 경우 예상되는 것보다 6개 이상의 링크를 가질 가능성이 더 많다는 것을 보여준다. 또 다른 일례로서, 그래프(320)는 6개의 노드의 랜덤한 그룹이 연결이 랜덤하게 할당되는 경우 예상되는 것보다 7개 이상의 링크를 가질 가능성이 더 많다는 것을 보여준다.
예를 들어, 6개 이상의 노드의 그룹에서, 중간 수의 링크가 연결이 랜덤하게 할당된 경우에 예상되는 것보다 랜덤한 노드의 그룹 내에서 덜 빈번하다. 이들 예상과의 편차는 일반적으로 랜덤한 그룹 내의 노드의 수보다 작지만 랜덤한 그룹 내의 노드의 수의 약 1/2보다 크거나 같은 링크의 수에서 상당하다. 예를 들어, 그래프(320)는 6개의 노드의 랜덤한 그룹이 연결이 랜덤하게 할당되는 경우 예상되는 것보다 3개, 4개 또는 5개의 링크를 가질 가능성이 더 적다는 것을 보여준다. 다른 일례로서, 그래프(325)는 7개의 노드의 랜덤한 그룹이 연결이 랜덤하게 할당되는 경우 예상되는 것보다 4개, 5개 또는 6개의 링크를 가질 가능성이 더 적다는 것을 보여준다. 또 다른 일례로서, 그래프(330)는 8개의 노드의 랜덤한 그룹이 연결이 랜덤하게 할당되는 경우 예상되는 것보다 4개, 5개, 6개 또는 7개(또한 8개 또는 9개)의 링크를 가질 가능성이 더 적다는 것을 보여준다.
신경망 장치의 구현에서의 노드의 연결이 생물학적 뉴런의 클러스터의 특징을 모방하는 하나 이상의 특징을 가질 수 있는 다른 방식은 공통 이웃을 공유하는 임의의 2개의 노드 자체가 링크되어 있을 확률에서이다. 도 4a 및 도 4b는 트레이닝된 또는 비트레이닝된 신경망 장치의 구현에서, 상이한 수의 공통 이웃을 공유하는 주어진 노드 쌍 자체가 링크될 가능성을 구현하는 상이한 확률의 예시적인 일례를 나타낸 그래프이다. 공통 이웃은 노드 쌍 각각에 링크되어 있는 제3 노드이다.
도 4a에서, 그래프(405)는 12개의 노드를 갖는 신경망 장치의 구현에서 0개, 1개, 2개, 3개 및 4개의 공통 이웃을 공유하는 신경망 장치 내의 주어진 노드 쌍 자체가 링크될 예시적인 확률의 한 예시적인 세트를 나타낸 것이다. 도시된 바와 같이, 노드 쌍에 의해 공유되는 공통 이웃의 수가 증가함에 따라, 노드 쌍 자체가 링크될 확률이 증가한다. 따라서, 노드 쌍 사이의 연결의 가능성은 쌍 내의 노드들에 의해 공유되는 공통 이웃의 수와 양의 상관관계를 가진다(positively correlated). 비교해 보면, 노드 쌍이 링크되는 확률이 쌍에 의해 공유되는 공통 이웃의 수에 독립적인 경우, 쌍에 있는 노드에 의해 공유되는 공통 이웃의 수에 따라 연결 확률이 증가하지 않고 일정한 채로 있다.
도 4b에서, 그래프(410)는 12개의 노드를 갖는 신경망 장치의 구현에서 0개, 1개, 2개, 3개 및 4개의 공통 이웃을 공유하는 주어진 노드 쌍 자체가 링크될 선형 증가 확률 세트의 예시적인 일례를 나타낸 것이다. 도시된 바와 같이, 노드 쌍에 의해 공유되는 공통 이웃의 수가 증가함에 따라, 노드 쌍 자체가 링크될 확률이 선형적으로 증가한다. 따라서, 노드 쌍 사이의 연결의 가능성은 쌍 내의 노드들에 의해 공유되는 공통 이웃의 수와 양의 상관관계를 가진다. 예를 들어, 4개의 공통 이웃을 공유하는 노드 쌍은 어떤 공통 이웃도 공유하지 않는 노드 쌍보다 연결될 가능성이 거의 3배이다.
그래프(405, 410)가 12개의 노드를 갖는 신경망 장치에서 공통 이웃을 공유하는 노드 쌍 자체가 링크될 예시적인 확률을 나타내고 있지만, 대응하는 특성이 다른 크기의 신경망 장치에서 구현될 수 있다.
트레이닝된 또는 비트레이닝된 신경망 장치의 일부 구현예에서, 노드가 연결될 확률은 또한 공통 이웃과의 링크의 유형을 구현한다. 예를 들어, 일부 구현예에서, 동일한 공통 이웃으로부터 입력을 수신하는 노드 쌍은 동일한 공통 이웃으로 출력하는 노드 쌍이 연결되는 것보다 연결될 가능성이 더 많다.
일부 구현예에서, 임의의 2개의 노드 자체가 링크될 확률이 공통 이웃의 수를 구현할 뿐만 아니라, 그 2개의 노드 사이의 상호연결의 강도도 역시 공유된 공통 이웃의 수를 구현한다. 특히, 공유된 공통 이웃의 수가 증가함에 따라, 2개의 노드 사이의 상호연결의 강도가 증가한다.
공통 이웃을 공유하는 주어진 노드 쌍 자체가 링크될 가능성의 증가는, 특정의 노드 어셈블리 내의 노드가 다른 노드 어셈블리 내의 노드보다 그 동일한 어셈블리 내의 다른 노드와 링크될 가능성이 더 많은 노드 어셈블리를 포함하는 트레이닝된 및 비트레이닝된 신경망 장치를 형성하는 데 사용될 수 있다. 이러한 노드 어셈블리의 일례는 노드 어셈블리(115, 120, 125, 130)(도 1)이다. 특히, 노드들 사이의 링크가 존재할 확률에 따라 비트레이닝된 신경망 장치에서도 링크가 형성될 수 있다.
이러한 신경망 장치를 형성하기 위해 각종의 상이한 방식이 사용될 수 있다. 예를 들어, 일부 구현예에서, 랜덤 할당 프로세스 및, 예컨대, 2개의 생물학적 뉴런이 링크될 거리-의존적 확률을 모방하는 확률 공간에 따라 링크 할당이 행해지는 프로세스를 비롯한 각종의 상이한 프로세스 중 임의의 프로세스에 따라 초기 링크 세트가 노드의 세트에 할당될 수 있다. 이러한 초기 링크 세트의 할당 후에, 네트워크가 원하는 링크 확률 또는 기타 특성을 구현할 때까지 신경망을 재조직화하기 위해 링크 재할당 프로세스가 사용될 수 있다. 예를 들어, 링크 재할당은 노드들 사이의 링크를 제거하고 이어서 공유된 공통 이웃의 수 및/또는 그 공통 이웃과의 링크의 유형을 구현하는 확률에 따라 제거된 노드를 새로운 노드에 재할당하는 반복적 프로세스를 포함할 수 있다. 따라서, 링크 재할당 프로세스는 트레이닝이 시작되기 전이라도 원하는 특성을 갖도록 신경망 장치를 조직화하는 데 사용될 수 있다.
다른 실시예에서, 초기 링크 세트의 할당은 또한 원하는 링크 확률 또는기타 특성을 구현한다. 환언하면, 모든 링크 할당은 원하는 특성을 구현할 수 있다. 이러한 구현예에서, 노드의 세트에의 초기 링크 할당은 링크 할당에 그다지 영향을 주지 않을 수 있는데, 그 이유는 링크가 희박하고 상이한 링크가 존재할 확률이 대략 같기 때문이다. 그렇지만, 링크 밀도가 증가하고 노드가 공통 이웃을 공유하기 시작함에 따라, 공통 이웃을 갖는 노드 자체가 링크될 확률이 증가한다. 더 많은 링크 할당이 행해짐에 따라, 노드는 노드가 다른 노드 어셈블리 내의 노드보다 한 노드 어셈블리 내의 다른 노드에 링크될 가능성이 더 많은 노드 어셈블리로 그룹화되는 경향이 있을 것이다.
일부 구현예에서, 이러한 링크 할당 프로세스는 노드들 사이의 링크를 제거하고 이어서 새로운 노드 사이에 링크가 존재할 확률에 따라 링크를 새로운 노드에 재할당하는 반복적 프로세스를 포함할 수 있다. 이러한 재할당 프로세스는 심지어 비트레이닝된 신경망 장치를 조직화하는 데 사용될 수 있다. 환언하면, 따라서 노드 어셈블리가 트레이닝 이전에 형성될 수 있고, 신경망 장치가 트레이닝되기 전에 링크 할당(링크 재할당이 있거나 링크 재할당이 없음)이 행해질 수 있다. 기존의 노드 어셈블리에서는, 신경망 장치 트레이닝이 노드 어셈블리의 사전 존재에 따라 조직화되는 신경망(및 신경망 내의 노드 어셈블리)에서 원하는 정보 처리 또는 정보 저장 결과를 달성하는 신경망 장치를 생성할 수 있다.
일부 구현예에서, 신경망 장치가 트레이닝될 때 이러한 링크 할당(링크 재할당이 있거나 링크 재할당이 없음)이 행해질 수 있다. 예를 들어, 신경망 장치에서 트레이닝이 시작될 수 있다. 트레이닝이 진행함에 따라, 신경망 장치가 트레이닝되고 있는 정보 처리 또는 정보 저장에 그다지 중요하지 않은 링크(즉, 낮은 가중치를 갖는 링크)가 우선적으로 제거되고 새로운 노드 사이에 링크가 존재할 확률에 따라 새로운 노드에 재할당될 수 있다. 때때로, 재할당된 링크는 신경망 장치가 트레이닝되고 있는 정보 처리 또는 정보 저장에 중요할 수 있고, 신경망 장치는 재할당에 적응하기 위해 부가의 트레이닝을 필요로 할 것이다. 실제로, 신경망 장치가 트레이닝되고 있는 정보 처리 또는 정보 저장에 이전에 관련되어 있었던 링크가 관련성이 적어질 수 있고 그에 따라 재할당될 수 있다. 이것에서, 신경망 장치가 시간에 따라 재조직화할 때 신경망 장치는 생물학적 유연성(biological plasticity)을 모방할 수 있다.
할당 및/또는 재할당 프로세스는 하드웨어로, 소프트웨어로, 또는 그 조합으로 구현되는 어댑터 구성요소에 의해 원하는 특성을 갖는 신경망 장치를 달성하도록 구현될 수 있다. 예를 들어, 일부 구현예에서, 이러한 어댑터 구성요소는 비트레이닝된 신경망 장치에서 가중치를 할당 및/또는 변경하는 컴퓨터 시스템의 일부일 수 있다. 다른 구현예에서, 이러한 어댑터 구성요소는 원하는 신호 흐름을 생성하기 위해 신경망을 트레이닝시키는 신경망 장치 트레이너와 함께 동작할 수 있거나 그의 일부일 수 있다.
신경망 장치의 구현에서의 노드의 연결이 생물학적 뉴런의 클러스터의 특징을 모방하는 하나 이상의 특징을 가질 수 있는 다른 방식은 노드들 사이의 상호연결의 강도(즉, 링크의 가중치)에 있다. 도 5a 및 도 5b는 12개의 노드를 갖는 트레이닝된 또는 비트레이닝된 신경망 장치의 구현에서 6개의 노드의 그룹 또는 어셈블리 내의 노드들 간의 상호연결의 상이한 평균 강도의 예시적인 일례를 나타낸 그래프이다. 노드의 그룹이 반드시 단일 노드 어셈블리를 형성하는 노드일 필요는 없다. 오히려, 이들 노드의 그룹은 신경망 장치 내의 가능한 랜덤한 노드의 그룹이다. 그렇지만, 신경망 장치 내의 노드의 수가 비교적 적정하기 때문에(즉, 12개의 노드), 랜덤하게 선택된 노드가 실제로 단일 노드 어셈블리의 일부일 가능성이 비교적 높다. 따라서, 이들 노드의 그룹의 특성이 노드 어셈블리로 외삽될 수 있다.
이러한 상호연결의 강도가 하드웨어로, 소프트웨어로 또는 그 조합으로 구현되는 어댑터 구성요소에 의해 할당 및/또는 변경될 수 있다. 예를 들어, 일부 구현예에서, 이러한 어댑터 구성요소는 비트레이닝된 신경망 장치에서 가중치를 할당 및/또는 변경하는 컴퓨터 시스템의 일부일 수 있다. 다른 구현예에서, 이러한 어댑터 구성요소는 원하는 신호 흐름을 생성하기 위해 신경망을 트레이닝시키는 신경망 장치 트레이너와 함께 동작할 수 있거나 그의 일부일 수 있다.
도 5a의 그래프(505)에서, 적어도 그룹 또는 어셈블리 내의 노드의 수보다 작거나 같은 링크의 수에 대해 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 그룹 또는 어셈블리 내의 노드들 간의 상호연결의 강도의 예시적인 일례를 나타낸 가중치가 증가한다. 특히, 예시적인 그래픽 표현에서, 적어도 링크의 수가 증가함에 따라 6개 이하의 링크를 갖는 (12개의 노드를 갖는 신경망 장치 내의) 6개의 노드의 그룹 또는 어셈블리에 대해 평균 상호연결 강도가 증가한다. 게다가, 그룹 또는 어셈블리 내의 링크의 수가 그 그룹 또는 어셈블리 내의 노드의 수를 넘어 증가함에 따라 그룹 또는 어셈블리 내의 노드들 사이의 상호연결의 강도의 예시적인 일례를 나타낸 가중치가 구별가능하지 않게 되는 경향이 있다. 특히, 예시적인 그래픽 표현에서, 7개 이상의 링크를 갖는 (12개의 노드를 갖는 신경망 장치 내의) 6개의 노드의 그룹 또는 어셈블리에 대해 평균 상호연결 강도가 구별가능하지 않은 경향이 있다.
게다가, 상호연결의 강도의 크기는 그룹 또는 어셈블리 내의 노드의 수와 작거나 같은 링크의 수에 대해 구별가능한 개별 레벨과 연관되어 있다. 특히, 하나의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(510)를 가진다. 2개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(515)를 가진다. 3개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(520)를 가진다. 4개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(525)를 가진다. 5개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(530)를 가진다. 6개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(535)를 가진다. 7개 이상의 링크를 갖는 6개 노드의 그룹 또는 어셈블리에 대해 평균 상호연결 강도(585)가 구별가능하지 않게 될 수 있다.
도 5b의 그래프(550)에서, 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 신경망 장치의 일부 구현예에서 노드 어셈블리 내의 노드들 사이의 상호연결의 강도의 예시적인 일례를 나타낸 가중치가 증가한다. 특히, 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 감소하는 부가의 링크마다 평균 상호연결 강도가 상호연결의 강도의 증가의 크기에 비선형적으로 증가한다. 제시된 예시적인 일례에서, 그룹 또는 어셈블리 내의 링크의 수가 그룹 또는 어셈블리 내의 노드의 수를 초과함에 따라 평균 상호연결 강도가 점근적으로 한계에 접근한다. 일부 구현예에서, 평균 상호연결 강도에 대한 이 한계는 생물학적 뉴런들 사이의 가장 강한 상호연결을 나타내는 포화 레벨과 비슷하다. 예를 들어, 평균 상호연결 강도에 대한 한계는 그룹 또는 어셈블리 내의 노드의 수에 독립적일 수 있고, 상이한 크기의 그룹 또는 어셈블리에 대해 실질적으로 동일할 수 있다.
게다가, 링크의 상호연결의 강도의 크기가 적어도 어떤 수의 링크에 대해 구별가능한 개별 레벨과 연관되어 있다. 예를 들어, 하나의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(555)를 가진다. 2개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(560)를 가진다. 3개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(565)를 가진다. 4개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(570)를 가진다. 5개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(575)를 가진다. 6개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리는 평균 상호연결 강도(580)를 가진다. 12개 이상의 링크를 갖는 6개 노드의 그룹 또는 어셈블리까지 평균 상호연결 강도가 계속 증가한다.
그래프(505, 550)가 단지 12개의 노드를 갖는 신경망 장치에서 6개 노드를 갖는 그룹 또는 어셈블리에 대한 예시적인 일례를 나타내고 있지만, 다른 크기의 그룹 또는 어셈블리 내의 노드들 사이의 상호연결의 평균 강도가 다른 크기의 신경망 장치에서 구현될 수 있는 비슷한 특성을 가질 수 있다.
노드의 그룹 또는 어셈블리 내의 노드들 사이의 상호연결의 평균 강도가 그 그룹 또는 어셈블리 내의 링크의 수를 구현하는 경우, 그룹 또는 노드 어셈블리 내의 링크의 가중치가 반드시 신경망 장치의 트레이닝을 구현할 필요는 없다. 이와 관련하여, 가중치는 트레이닝 동안 원하는 신호 흐름을 생성하고 원하는 정보 처리 또는 정보 저장 결과를 달성하도록 조정된다. 고도로 상호연결된 그룹 또는 어셈블리(예컨대, 그룹 또는 어셈블리 내의 링크의 수가 그룹 또는 어셈블리 내의 노드의 수를 초과하는 그룹)는 노드가 다른 그룹 또는 노드 어셈블리 내의 노드보다 그룹 또는 노드 어셈블리 내의 다른 노드에 연결될 가능성이 더 많은 그룹 또는 노드 어셈블리일 가능성이 있다. 그렇지만, 고도로 연결된 그룹 또는 어셈블리의 가중치가 구별가능하지 않게 되고 어쩌면 심지어 한계에 점근적으로 접근하는 경우, 특정의 트레이닝을 구현하는 가중치는 주로 또는 심지어 배타적으로 상이한 그룹 또는 어셈블리 내의 노드들 사이의 링크의 가중치에 구현된다.
일부 구현예에서,
- 트레이닝된 또는 비트레이닝된 신경망 장치의 노드의 그룹 내에서의 평균 상호연결 강도가 각각의 그룹 내의 링크의 수를 구현하고,
- 임의의 노드 쌍이 연결될 확률이 그 노드에 의해 공유되는 공통 이웃의 수를 구현하는 경우,
노드 쌍 사이의 평균 상호연결 강도는 또한 그 노드에 의해 공유되는 공통 이웃의 수를 구현할 수 있다. 이와 관련하여, 랜덤하게 선택된 노드의 그룹이 다수의 공통 이웃을 갖는 노드 쌍을 포함할 때, 노드 쌍이 연결될 확률이 더 높다. 따라서, 이러한 랜덤하게 선택된 노드의 그룹(즉, 다수의 공통 이웃을 갖는 노드 쌍을 갖는 그룹)이 보다 적은 공통 이웃을 갖는 노드 쌍을 갖는 노드의 그룹보다 더 많은 링크를 가질 가능성이 있다. 그룹 내의 링크의 수가 증가함에 따라 평균 상호연결 강도가 증가하기 때문에, 더 많은 수의 공통 이웃을 갖는 노드 쌍을 포함하는 랜덤하게 선택된 그룹이 더 높은 평균 상호연결 강도를 가질 가능성이 있다.
일부 구현예에서, 트레이닝된 또는 비트레이닝된 신경망 장치 내의 노드가 그룹 또는 어셈블리 내의 그 노드에 의해 공유되는 공통 이웃의 수를 구현하는 평균 상호연결 강도를 가질 수 있다. 이러한 상호연결 강도가 하드웨어로, 소프트웨어로 또는 그 조합으로 구현되는 어댑터 구성요소에 의해 할당 및/또는 변경될 수 있다. 예를 들어, 일부 구현예에서, 이러한 어댑터 구성요소는 비트레이닝된 신경망 장치에서 가중치를 할당 및/또는 변경하는 컴퓨터 시스템의 일부일 수 있다. 다른 구현예에서, 이러한 어댑터 구성요소는 원하는 신호 흐름을 생성하기 위해 신경망을 트레이닝시키는 신경망 장치 트레이너와 관련하여 동작할 수 있거나 그의 일부일 수 있다.
도 6은 12개의 노드를 갖는 트레이닝된 또는 비트레이닝된 신경망 장치의 구현에서 상이한 수의 상호연결을 갖는 노드들 사이의 상호연결 강도의 상이한 확률 밀도 분포의 예시적인 일례를 나타낸 그래프(600)이다. 특히, 플롯(605)은 0개의 공통 이웃을 갖는 노드들 사이의 링크가 특정의 상호연결 강도를 가질 확률의 예시적인 일례를 나타낸 것이다. 플롯(610)은 1개의 공통 이웃을 갖는 노드들 사이의 링크가 특정의 상호연결 강도를 가질 확률의 예시적인 일례를 나타낸 것이다. 플롯(615)은 2개의 공통 이웃을 갖는 노드들 사이의 링크가 특정의 상호연결 강도를 가질 확률의 예시적인 일례를 나타낸 것이다. 플롯(620)은 3개의 공통 이웃을 갖는 노드들 사이의 링크가 특정의 상호연결 강도를 가질 확률의 예시적인 일례를 나타낸 것이다.
도시된 바와 같이, 공통 이웃의 수가 증가함에 따라, 노드들 사이의 상호연결의 평균 강도가 증가한다. 게다가, 플롯(605, 610, 615, 620)에 의해 제시된 예시적인 확률 분포가 플러스 왜곡된다(positively skewed). 일부 구현예에서, (도시된 바와 같이) 공통 이웃의 수가 증가함에 따라 플러스 왜곡(positive skewness)이 증가한다.
그래프(600)가 12개의 노드를 갖는 신경망 장치에서 상호연결 강도의 예시적인 확률 밀도 분포를 나타내고 있지만, 대응하는 특성이 다른 크기의 신경망 장치에서 구현될 수 있다.
신경망 장치의 일부 구현예에서, 랜덤하게 선택된 노드의 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 상호연결 강도의 분산이 감소하는 경향이 있다.
도 7a 및 도 7b는 트레이닝된 또는 비트레이닝된 신경망 장치의 구현에서 6개의 노드의 그룹 또는 어셈블리 내의 노드들 간의 상호연결의 평균 강도의 상이한 분산의 예시적인 일례를 나타낸 그래프이다. 노드의 그룹이 반드시 단일 노드 어셈블리를 형성하는 노드일 필요는 없다. 오히려, 이들 노드의 그룹은 어쩌면 신경망 장치 내의 가능한 랜덤한 노드의 그룹이다. 그렇지만, 신경망 장치 내의 노드의 수가 비교적 적정하기 때문에(즉, 12개의노드), 랜덤하게 선택된 노드가 실제로 단일 노드 어셈블리의 일부일 가능성이 비교적 높다. 따라서, 이들 노드의 그룹의 특성이 노드 어셈블리로 외삽될 수 있다.
상호연결 평균 강도의 이러한 분산이 하드웨어로, 소프트웨어로 또는 그 조합으로 구현되는 어댑터 구성요소에 의해 달성될 수 있다. 예를 들어, 일부 구현예에서, 이러한 어댑터 구성요소는 비트레이닝된 신경망 장치에서 가중치를 할당 및/또는 변경하는 컴퓨터 시스템의 일부일 수 있다. 다른 구현예에서, 이러한 어댑터 구성요소는 원하는 신호 흐름을 생성하기 위해 신경망을 트레이닝시키는 신경망 장치 트레이너와 함께 동작할 수 있거나 그의 일부일 수 있다.
도 7a의 그래프(705)에서, 6개 노드의 다양한 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 상호연결 강도를 나타내는 가중치의 분산이 감소하는 경향이 있다. 환언하면, 다양한 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 평균 상호연결 강도가 더 균일해지는 경향이 있다. 예시적인 그래픽 표현에서, 분산의 감소가 매끄럽지 않다. 예를 들어, 4개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리에 대한 평균 상호연결 강도의 분산이 3개의 링크를 갖는 6개 노드의 그룹 또는 어셈블리에 대한 평균 상호연결 강도의 분산보다 더 높다.
도 7b의 그래프(710)에서, 6개 노드의 다양한 그룹 또는 어셈블리 내의 링크의 수가 증가함에 따라 상호연결 강도를 나타내는 가중치의 분산도 역시 감소한다. 예시적인 그래픽 표현에서, 분산의 감소가 매끄럽다. 예시적인 표현에서, 부가의 링크마다의 감소율이 노드의 수의 1/2 이하인 링크의 수를 갖는 그룹 또는 어셈블리(즉, 6개 노드의 예시적인 그룹 또는 어셈블리에 대해 3개 이하의 링크를 갖는 그룹 또는 어셈블리)에 대해 가장 높다. 노드의 수와 대략 동일한 수의 링크를 갖는 그룹 또는 어셈블리에 대해 부가의 링크마다의 감소율이 감소하고, 노드의 수의 2개 이상인 수의 링크를 갖는 그룹 또는 어셈블리에 대해 부가의 링크마다의 감소율이 증가한다. 다른 구현예에서, 부가의 링크마다의 감소율이 일정하다.
그래프(705, 710)가 단지 6개 노드를 갖는 그룹 또는 어셈블리를 나타내고 있지만, 다른 크기의 그룹 또는 어셈블리 내의 노드들 간의 상호연결의 평균 강도의 분산이 비슷한 특성을 가질 수 있다.
앞서 기술한 바와 같이, 트레이닝된 및 비트레이닝된 신경망 장치의 일부 구현예에서, 노드 어셈블리 내의 노드가 다른 노드 어셈블리 내의 노드보다 그 노드 어셈블리 내의 다른 노드와 링크될 가능성이 더 많다. 예를 들어, 일부 구현예에서, 노드 어셈블리 내의 노드가 다른 노드 어셈블리 내의 노드보다 그 노드 어셈블리 내의 다른 노드와 링크될 가능성이 1.5배 초과 또는 2배 초과이다.
도 8은 노드 어셈블리 내의 노드 쌍과 2개의 상이한 노드 어셈블리 내의 노드 쌍이 링크될 확률의 예시적인 일례를 나타낸 그래프(800)이다. 도시된 예시적인 구현예에서, 단일 노드 어셈블리 내의 노드는 상이한 노드 어셈블리 내의 노드보다 링크될 가능성이 대략 2배이다. 특히, 단일 노드 어셈블리 내의 노드 쌍에 대한 평균 연결 확률이 0.14 ±0.02이고, 이는 상이한 노드 어셈블리에 속하는 노드 쌍에 대한 확률 0.07 ±0.005의 대략 2배이다.
트레이닝된 또는 비트레이닝된 신경망 장치의 일부 구현예에서, 노드 어셈블리 내의 노드의 평균 수는 10개 내지 100개 노드이다. 일부 구현예에서, 트레이닝된 또는 비트레이닝된 신경망 장치는 10개 내지 100개의 이러한 노드 어셈블리 유닛을 포함할 수 있다.
도 9a 및 도 9b는 트레이닝된 또는 비트레이닝된 신경망 장치에서의 노드 어셈블리 크기의 상이한 분포의 예시적인 일례를 나타낸 그래프이다.
도 9a의 그래프(905)에서, 10개 내지 100개의 노드를 갖는 노드 어셈블리의 수가 10개 미만 및 100개 초과의 노드를 갖는 어셈블리의 수보다 크다. 실제로, 100개 초과의 노드를 갖는 노드 어셈블리는, 일부 구현예에서, 상호연결할 충분한 링크를 공유하고 어셈블리의 어셈블리가 되는 개별 노드 어셈블리에 의해 형성될 수 있다. 게다가, 노드 어셈블리의 예시적인 분포는 플러스 왜곡된다.
도 9b의 그래프(910)에서, 10개 내지 100개의 노드를 갖는 노드 어셈블리의 수가 10개 미만 및 100개 초과의 노드를 갖는 어셈블리의 수보다 크다. 예시적인 분포에서, 노드 어셈블리 크기가 매끄럽게 변하고 어셈블리당 20개 내지 30개 노드의 최대값에 도달한다. 100개 초과의 노드를 갖는 노드 어셈블리는, 일부 구현예에서, 상호연결할 충분한 링크를 공유하고 어셈블리의 어셈블리가 되는 개별 노드 어셈블리에 의해 형성될 수 있다. 게다가, 노드 어셈블리의 예시적인 분포는 플러스 왜곡된다.
노드 어셈블리 내의 노드가 상이한 노드 어셈블리 내의 노드보다 링크될 가능성이 더 많은 트레이닝된 및 비트레이닝된 신경망 장치의 일부 구현예에서, 신경망 장치에 대한 클러스링 계수가 더 높다. 클러스링 계수는 신경망 장치 내의 노드가 서로 클러스터링하는 경향의 정도의 척도이다. 본 명세서에서 사용되는 바와 같이, 꼭짓점에 대한 클러스링 계수는 그의 이웃 내의 꼭짓점들 간의 링크를 어쩌면 꼭짓점들 사이에 존재할 수 있는 링크의 수로 나눈 비율이다(즉, 소위 "로컬 클러스링 계수" 또는 "Strogatz 클러스터링 계수").
도 10은 노드 어셈블리 연결을 포함하는, 트레이닝된 및 비트레이닝된 신경망 장치에 대한 클러스링 계수(1005) 및 동일한 쌍별 연결 확률로 랜덤한 연결을 갖는 네트워크에 대한 클러스터링 계수(1010)(비교를 위한 것임)의 예시적인 일례를 나타낸 그래프(1000)이다. 알 수 있는 바와 같이, 노드 어셈블리 연결을 갖는 클러스링 계수는 랜덤한 연결을 갖는 클러스링 계수보다 눈에 띌 정도로 더 크다.
노드 어셈블리 내의 노드가 상이한 노드 어셈블리 내의 노드보다 링크될 가능성이 더 많은 트레이닝된 및 비트레이닝된 신경망 장치의 일부 구현예에서, 노드마다의 착신 연결의 수가 멱함수 법칙 척도없는(power law scale-free) 네트워크에서보다 더 빠르게 감소한다.
도 11은 노드 어셈블리 연결을 포함하는 트레이닝된 및 비트레이닝된 신경망 장치에 대한 착신 연결의 누적 분포의 예시적인 플롯(1105) 및 멱함수 법칙 척도없는 네트워크에서의 착신 연결의 누적 분포의 플롯(1110)(비교를 위한 것임)을 나타낸 그래프(1100)이다. 도시된 바와 같이, 이러한 척도없는 네트워크에서, 로그-로그 플롯에서 감소 기울기의 직선으로 멱함수 법칙이 구현된다. 한편, 플롯(1105)에 도시된 착신 연결의 누적 분포가 비교적 일정하지만, 이어서 로그-로그 스케일로 더욱 빠르게 감소한다. 이러한 더욱 빠른 감소는 생물학적 뉴런에서의 착신 연결에 대한 형태학상의 및 기타 제약조건을 모방하고 있다. 이러한 제약조건의 일례는 수상돌기 분지(dendritic arborization) 및 생물학적 뉴런에서의 연결을 형성하는 데 이용가능한 척추의 수를 포함한다. 이러한 제약조건을 구현하는 신경망은 노드가 훨씬 더 많은 수의 상호연결을 자유롭게 형성하고 노드당 연결의 수가 훨씬 더 넓은 분포를 갖는 척도없는 네트워크와 대조를 이루고 있다.
노드 어셈블리 내의 노드가 상이한 노드 어셈블리 내의 노드보다 링크될 가능성이 더 많은 트레이닝된 및 비트레이닝된 신경망 장치의 일부 구현예에서, 많은 공통 이웃을 갖는 노드 쌍의 수 및 적은 공통 이웃을 갖는 노드 쌍의 수 둘 다가 랜덤한 네트워크에서보다 더 크다.
도 12는 노드 어셈블리 연결을 포함하는 트레이닝된 및 비트레이닝된 신경망 장치에 대한 노드 쌍에 의해 공유되는 공통 이웃의 수의 확률 밀도 분포의 플롯(1205) 및 랜덤한 연결을 갖는 네트워크에서의 노드 쌍에 의해 공유되는 공통 이웃의 수의 플롯(1210)(비교를 위한 것임)의 예시적인 일례를 나타낸 그래프(1200)이다. 알 수 있는 바와 같이, 많은 공통 이웃을 갖는 노드 쌍의 수 및 적은 공통 이웃을 갖는 노드 쌍의 수가 랜덤한 네트워크에서보다 더 크다.
신경망 장치가 앞서 기술한 특징들 중 하나 이상의 특징을 갖도록 조직화될 수 있다. 예를 들어, 도 13은 신경망 장치를 조직화하는 데 사용될 수 있는 프로세스(1300)의 플로우차트이다. 프로세스(1300)는 하나 이상의 기계-판독가능 명령어 세트의 논리에 따라 동작을 수행하는 하나 이상의 데이터 처리 장치의 시스템에 의해 수행될 수 있다. 예를 들어, 프로세스(1300)는 트레이닝 이전에 또는 트레이닝 동안에 신경망 장치를 조직화하는 소프트웨어를 실행하는 하나 이상의 컴퓨터의 시스템에 의해 수행될 수 있다.
시스템 수행 프로세스(1300)는, 1305에서, 노드의 집합체 중에서 노드 쌍을 선택한다. 노드 쌍이 랜덤하게 또는 노드 선택을 위한 구성 방식에 따라, 예컨대, 다차원 노드 어레이를 가로지르는 것에 의해 선택될 수 있다. 일부 구현예에서, 쌍이 선택되는 노드의 집합체가, 예컨대, 임의의 노드 쌍이 연결될 가능성을 구현하는 확률 공간에서 배열된다. 따라서, 확률 공간은 뉴런이 연결될 확률이 뉴런들 사이의 분리 거리의 함수인 생물학적 뉴런의 시스템을 모방할 수 있다. 일부 구현예에서, 노드는 확률 공간 내에서 주기적으로 배열되지 않는다. 예를 들어, 일부 구현예에서, 확률 공간에서 그렇지 않으면 주기적이었을 위치에 관한 비교적 작은 교란을 갖는 상이한 노드가 제공될 수 있다. 다른 구현예에서, 노드가 확률 공간에서의 위치에 랜덤하게 할당될 수 있다.
시스템 수행 프로세스(1300)는, 1310에서, 선택된 노드 쌍에 의해 공유되는 공통 이웃의 수를 결정한다. 공통 이웃의 수는 노드의 집합체 내에 이미 존재하는 링크의 기록으로부터 결정될 수 있다.
시스템 수행 프로세스(1300)는 또한, 1315에서, 선택된 노드 쌍이 링크될 확률을 결정한다. 결정된 확률은 공통 이웃의 수를 구현한다. 예를 들어, 일부 구현예에서, 확률은 그래프(405, 410)(도 4a, 도 4b)에 제공된 예시적인 연결 확률에 따라 결정된다. 노드가 임의의 노드 쌍이 연결될 가능성을 구현하는 확률 공간에서 배열되는 구현예에서, 공통 이웃의 수는 확률 공간의 "원시" 확률을 수정한다.
선택된 노드 쌍이 링크될 결정된 확률을 사용하여, 시스템 수행 프로세스(1300)는 또한, 결정(1320)에서, 선택된 노드가 링크되어야 하는지를 판정한다. 예를 들어, 랜덤하게 선택된 수가 선택된 노드 쌍이 링크될 확률과 비교될 수 있고, 랜덤하게 선택된 수가 확률 내에 속하는 경우, 시스템은 노드가 링크되어야 하는 것으로 판정한다.
선택된 노드가 링크되어야 하는 것으로 판정한 것에 응답하여, 시스템 수행 프로세스(1300)는, 1325에서 선택된 노드들 사이에 링크를 형성하고, 1305로 되돌아가서 다른 노드 쌍을 선택한다. 예컨대, 새로운 링크의 표시를 노드의 집합체 내에 존재하는 링크의 기록에 기록하는 것에 의해, 링크가 형성될 수 있다. 기록이 하나 이상의 데이터 저장 장치에 저장될 수 있다. 선택된 노드가 링크되어야 하지 않는 것으로 판정한 것에 응답하여, 시스템 수행 프로세스(1300)는 1305로 되돌아가서 다른 노드 쌍을 선택한다. 어떤 지점에서, 충분한 밀도의 링크에 도달한 후에, 시스템은 프로세스(1300)를 종료한다(도시 생략).
일부 구현예에서, 시스템 수행 프로세스(1300)는, 1315에서, 상이한 종류의 링크에 대해 노드가 링크되는 상이한 확률을 결정한다. 예를 들어, 시스템은 노드가 상호 관계로 링크되는 제1 확률 및 노드가 비상호 관계로 링크되는 제1 확률을 결정할 수 있다. 일부 구현예에서, 비상호 관계는 상호 관계보다 약 2배 흔하다. 1320에서 선택된 노드가 링크되어야 하는지를 판정할 시에 이러한 상이한 확률이 사용될 수 있다. 1325에서 형성된 링크의 종류는 따라서 결과를 구현할 수 있다. 프로세스(1300)와 같은 프로세스의 한 예시적인 구현예가 이제부터 MATLAB 코드로서 제시된다.
function [cells,conn,dist,p,pr,pnr]=RP_AssembleNet(d,nx,ny,nz,pair)
%'d'는 인접한 셀 사이의 평균 거리임(보통 36임)
%'nx'는 행의 수임(보통 10임)
%'ny'는 열의 수임(보통 10임)
%'nz'는 층의 수임(보통 10임)
%'pair'는 쌍별 패턴의 관련성(0-아니오, 1-예)
acc=1; %카운터 변수를 초기화함
nc=nx*ny*nz; %셀의 총수를 계산함
pr=0; %상호 연결 확률을 초기화함
pnr=0; %비상호 연결 확률을 초기화함
cells=zeros(nc,6); %정보 행렬의 셀을 초기화함
for(i=1:nx) %각각의 행에 대해
for(j=1:ny) %각각의 열에 대해
for(k=1:nz) %각각의 층에 대해
cells(acc,1)=i*d; %기준 x 위치를 정의함
cells(acc,2)=j*d; %기준 y 위치를 정의함
cells(acc,3)=k*d; %기준 z 위치를 정의함
acc=acc+1; %다음 셀에 대해 카운터를 증가시킴
end
end
end
r=rand(nc,3)*30; %범위 0-30에서 랜덤한 행렬을 생성함
cells(:,1:3)=cells(:,1:3)+r; %x, y 및 z의 셀 위치에 지터를 부가함
r=rand(nc)+eye(nc); %대각선에 1을 갖는 랜덤한 행렬을 정의함
% (자기 시냅스(autapses)를 무시하기 위한 것임)
dist=zeros(nc,nc); %거리 행렬을 초기화함
for(i=1:nc)
for(j=i+1:nc) %모든 가능한 쌍에 대해
dx=cells(i,1)-cells(j,1); %dx를 계산함
dy=cells(i,2)-cells(j,2); %dy를 계산함
dz=cells(i,3)-cells(j,3); %dz를 계산함
dist(i,j)=sqrt(dx*dx+dy*dy+dz*dz); %거리를 계산함
dist(j,i)=dist(i,j); %거리가 대칭임
end
end
pr=RP_DistprobPair(dist,2); %상호 연결 확률 행렬
pnr=RP_DistprobPair(dist,1)/2; %0.5*비상호 연결 행렬 행렬
p=pnr+pr; %연결 확률 행렬
if(pair==0) %쌍별 연결이 관련성이 없는 경우
conn=r<p; %연결이 p에 의해 정의됨
else %쌍별 관계가 관련성이 있는 경우
r=triu(r,1)+tril(ones(nc)); %랜덤한 상부 삼각 행렬을 정의함
cr=r<pr; %상호 연결을 정의함
cnr1=(r<(pr+pnr)).*(r>=(pr)); %한 방식으로 비상호를 정의함
cnr2=(r<(pr+2*pnr).*(r>=(pr+pnr))); %다른 방식으로 비상호를 정의함
conn=cr+cr'+cnr1+cnr2'; %최종 연결
end
전술한 바와 같이, 일부 구현예에서, 재할당 프로세스도 역시 사용될 수 있다. 예를 들어, 도 14는 링크를 재할당하고 신경망 장치를 조직화하는 데 사용될 수 있는 프로세스(1400)의 플로우차트이다. 프로세스(1400)는 하나 이상의 기계-판독가능 명령어 세트의 논리에 따라 동작을 수행하는 하나 이상의 데이터 처리 장치의 시스템에 의해 수행될 수 있다. 예를 들어, 프로세스(1400)는 트레이닝 이전에 또는 트레이닝 동안에 신경망 장치를 조직화하는 소프트웨어를 실행하는 하나 이상의 컴퓨터의 시스템에 의해 수행될 수 있다. 프로세스(1400)는 다른 활동과 분리되어 또는 그와 결합하여 수행될 수 있다. 예를 들어, 일부 구현예에서, 프로세스(1400)는 프로세스(1300)(도 13)와 함께 수행될 수 있다.
시스템 수행 프로세스(1400)는, 1405에서, 노드에 할당된 링크를 갖는 신경망의 특성에 액세스한다. 링크는 네트워크 내에서 초기 밀도를 가질 수 있다. 일부 구현예에서, 액세스된 네트워크는 전혀 트레이닝되어 있지 않다. 다른 구현예에서, 액세스된 네트워크는 적절한 처리 결과를 달성하기 위해 부분적으로 트레이닝되어 있거나 충분히 잘 트레이닝되어 있다.
시스템 수행 프로세스(1400)는, 1410에서, 신경망 내의 링크의 서브셋을 선택한다. 일부 구현예에서, 예컨대, 신경망의 나머지가 변하지 않은 채로 있는 경우, 새로운 링크가 그 2개의 노드 사이에 형성될 가능성을 비교함으로써 하나 이상의 링크가 선택된다. 이러한 구현예에서, 새로 형성될 가능성이 가장 낮은 링크가 우선적으로 선택될 수 있다. 일부 구현예에서, 정보 처리 또는 정보 저장(신경망이 이를 위해 부분적으로 또는 완전히 트레이닝되어 있음)에 대한 링크의 기여를 판정함으로써 하나 이상의 링크가 선택된다. 이러한 구현예에서, 정보 처리 또는 정보 저장에 가장 작은 기여를 하는(예컨대, 가장 낮은 가중치를 갖는) 링크가 우선적으로 선택될 수 있다. 일부 구현예에서, 링크가 새로 형성될 가능성 및 정보 처리 또는 정보 저장에 대한 링크의 기여 둘 다에 기초하여, 하나 이상의 링크가 우선적으로 선택된다.
시스템 수행 프로세스(1400)는, 1415에서, 신경망으로부터 링크의 선택된 서브셋을 제거한다. 예를 들어, 링크가 신경망 내의 링크의 기록으로부터 제거될 수 있다. 이러한 기록이 하나 이상의 데이터 저장 장치에 저장될 수 있다. 시스템 수행 프로세스(1400)는, 1420에서, 하나 이상의 새로운 링크를 신경망에 추가한다. 예를 들어, 일부 구현예에서, 시스템은 선택된 노드 쌍이 링크되어 하나 이상의 새로운 링크를 형성해야 하는지를 판정하기 위해 프로세스(1300)와 같은 프로세스를 사용할 수 있다. 일부 구현예에서, 신경망 내의 전체 링크 밀도가 보존되도록, 신경망에 추가된 새로운 링크의 수는 신경망으로부터 제거된 링크의 수와 균형을 이룬다.
일부 구현예에서, 시스템 수행 프로세스(1400)는, 신경망이, 예컨대, 클러스링 계수 또는 연결 구조에서 준정상 상태에 도달할 때까지, 반복하여 링크를 선택, 제거 및 추가한다. 예를 들어, 일부 구현예에서, 1410에서 제거를 위해 선택되는 노드는 새로 형성될 가능성이 1420에서 추가되는 새로운 노드의 가능성과 비슷하거나 그보다 크다. 다른 일례로서, 일부 구현예에서, 1410에서 제거를 위해 선택되는 노드는 추가의 트레이닝 후에 1420에서 추가된 새로운 노드에 의해 행해지는 정보 처리 또는 저장에 대한 기여와 비슷하거나 그보다 큰 정보 처리 또는 저장에 대한 기여를 한다.
프로세스(1400)와 같은 프로세스의 한 예시적인 구현예가 이제부터 MATLAB 코드로서 제시된다.
네트워크 구성 함수의 MATLAB 코드는 공통 이웃의 효과를 모델링하는 데 사용된다.
function conn2=Reorganize(conn,iter,r,m,p,pr,pnr,dist)
% 'conn'은 초기 이진 연결 행렬(nxn)임
% 'iter'은 수행할 반복 횟수(스칼라)
% 'r'은 재조직화 행렬에 주어진 멱수(스칼라)
% 'm'은 멱수를 적용하기 전의 평균 가중치 인자임(스칼라)
% 'p'는 각각의 쌍에 적용되는 거리의 함수인 연결의 확률(nxn)
% 'pr'은 각각의 쌍에 적용되는 거리의 함수인 상호 연결 확률(nxn)
% 'pnr'은 각각의 쌍에 적용되는 거리의 함수인 비상호 연결 확률(nxn)
% 'dist'는 각각의 쌍에서의 노드들 간의 거리임(nxn)
n=length(conn); %셀의 수
ins=sum(conn); %셀당 입력의 수를 결정할
%열 합의 어레이
pc=n*(n-1); %가능한 연결의 수
nc=sum(sum(conn)); %실제 연결의 수
conn0=conn; %초기 연결을 저장함
conn2=conn; %최종 연결을 할당함
pp=p; %p를 저장함
for(i=1:iter)
conn=double(conn2); %마지막 반복의 결과를 처리함
cn=getNCN(conn); %공통 이웃을 획득함
for(j=1:n)
cn(:,j)=cn(:,j)/(m*mean(cn(:,j))); %공통 이웃을
%가중 평균으로 나눔
cn(:,j)=cn(:,j).^r; %멱수를 적용함
cn(:,j)=cn(:,j).*pp(:,j); %거리 관계를 유지함
cn(:,j)=cn(:,j)./sum(cn(:,j)); %1로 정규화함
cn(:,j)=cn(:,j)*ins(j); %총 입력을 일정하게 유지함
end
pi=(cn+cn')/2; %각각의 쌍에서 연결 확률 가중치를 추출함
cpnr=pnr./p.*pi; %비상호 연결 확률을 정의함
cpr=pr./p.*pi; %상호 연결 확률을 정의함
rnd=rand(n); %랜덤한 행렬을 정의함
rnd=triu(rnd,1)+tril(ones(n)); %상부 삼각으로 만듦
cr=rnd<cpr; %상호 연결
cnr1=(rnd<(cpr+cpnr)).*(rnd>=(cpr)); %한 방식의 비상호
cnr2=(rnd<(cpr+2*cpnr).*(rnd>=(cpr+cpnr))); %다른 방식의 비상호
conn2=cr+cr'+cnr1+cnr2'; %최종 연결
end
프로세스(1300, 1400) 중 어느 하나 또는 둘 다를 사용하여 조직화되는 신경망 장치도 역시 트레이닝될 수 있다. 트레이닝은 원하는 정보 처리 또는 정보 저장 결과를 달성하기 위해 노드들 사이의 링크의 가중치를 조정한다. 일부 구현예에서, 이러한 트레이닝은 노드 어셈블리 내의 링크의 가중치보다 노드 어셈블리들 간의 링크의 가중치를 더 많이 조정한다.
도 15는 신경망 장치를 형성하는 프로세스(1500)의 플로우차트이다. 프로세스(1500)는 하나 이상의 기계-판독가능 명령어 세트의 논리에 따라 동작을 수행하는 하나 이상의 데이터 처리 장치의 시스템에 의해 수행될 수 있다. 예를 들어, 프로세스(1500)는 트레이닝 이전에 또는 트레이닝 동안에 신경망 장치를 조직화하는 소프트웨어를 실행하는 하나 이상의 컴퓨터의 시스템에 의해 수행될 수 있다. 프로세스(1500)는 다른 활동과 분리되어 또는 그와 함께 수행될 수 있다. 예를 들어, 일부 구현예에서, 프로세스(1500)는 프로세스(1300, 1400)(도 13, 도 14) 중 하나 또는 둘 다와 관련하여 수행될 수 있다.
시스템 수행 프로세스(1500)는, 1505에서, 정의된 내부 특성을 갖는 노드 어셈블리의 그룹을 형성한다. 노드 어셈블리의 내부 특성은 노드 어셈블리 내의 노드 및 링크의 특성이고, 예컨대, 상이한 노드 어셈블리 사이의 링크의 배열 및 가중치를 포함하지 않는다.
일부 구현예에서, 상이한 노드 어셈블리는 비교적 안정되고 재현가능한 내부 특성을 갖도록 정의될 수 있다. 내부 특성은 이러한 노드 어셈블리로 형성된 신경망 장치를 트레이닝시키는 것이 개별 노드 어셈블리 내의 링크의 배열 및 가중치에 비교적 적은 영향을 미친다는 점에서 안정적일 수 있다. 내부 특성은 노드 어셈블리의 구성 및 가중이 상이한 설계 규칙을 일관적으로 구현할 수 있다는 점에서 재현가능할 수 있다. 이러한 특성에 도달하기 위한 설계 규칙의 일례는 도 2 내지 도 12에 제시되고 이상에서 기술한 예시적인 일례들 중 하나 이상의 일례를 포함한다. 새로운 링크 형성 및 재할당을 포함하는 프로세스에 의해 노드 어셈블리의 그룹이 형성될 수 있다. 예를 들어, 프로세스(1300)(도 13), 프로세스(1400)(도 14), 또는 프로세스(1300)(도 13) 및 프로세스(1400)(도 14)의 조합을 사용하여 노드 어셈블리의 그룹이 형성될 수 있다.
정의될 수 있는 내부 특성의 한 일례는 각각의 노드 어셈블리에서의 활동의 레벨이다. 각자의 노드 어셈블리 각각의 활동의 레벨은, 예컨대, 그 노드 어셈블리 내의 노드의 수, 그 노드 어셈블리 내의 링크의 수, 그 노드 어셈블리 내의 링크의 가중치, 또는 이들 특징 중 2개 이상의 특징의 조합을 구현하도록 정의될 수 있다. 예를 들어, 일부 구현예에서, 주어진 수의 노드 및 어셈블리내 링크에 대해, 어셈블리내 링크의 가중치가 신경망 장치에 대한 상한(또는 포화 레벨)에 접근하는 노드 어셈블리가 형성될 수 있다.
도 16은 예시적인 노드 어셈블리의 그룹(1600)을 개략적으로 나타낸 것이다. 그룹(1600)은 노드 어셈블리(1605, 1610, 1615, 1620, 1625)를 포함한다. 노드 어셈블리(1605, 1610, 1615, 1620, 1625)는 비교적 안정되고 재현가능한 내부 특성(예컨대, 앞서 기술되고, 예컨대, 도 2 내지 도 12에 제시된 특성의 예시적인 일례를 포함함)을 가질 수 있다. 예를 들어, 일부 구현예에서, 모든 노드 어셈블리(1605, 1610, 1615, 1620, 1625) 내의 어셈블리내 링크의 가중치는 신경망 장치에 대한 상한(또는 포화 레벨)에 접근한다.
도 15로 돌아가면, 시스템 수행 프로세스(1500)는, 1510에서, 원하는 정보 처리 또는 정보 저장 결과를 달성하기 위해 노드 어셈블리 간의 링크를 할당 및 가중한다. 따라서, 할당 및 가중은 신경망 장치를 트레이닝시킨다. 노드 어셈블리 내의 링크(비교적 더 안정적임)에서보다는 노드 어셈블리 간의 링크에서 트레이닝이 우선적으로 구현된다. 일부 구현예에서, 할당 및 가중은 새로운 어셈블리간 링크 형성, 어셈블리간 링크의 재할당, 또는 어셈블리간 링크의 형성 및 재할당 둘 다를 포함할 수 있다.
도 17은 이러한 어셈블리간 링크(1705)가 노드 어셈블리(1605, 1610, 1615, 1620, 1625) 사이에 형성된 예시적인 신경망 장치(1700)를 개략적으로 나타낸 것이다. 어셈블리간 링크(1705)의 배열 및 가중치는 원하는 정보 처리 또는 정보 저장 결과를 달성하기 위해 신경망 장치(1700)를 조정하는 트레이닝을 구현할 수 있다.
본 명세서에 기술되어 있는 발명 대상 및 동작의 실시예가 디지털 전자 회로로, 또는 본 명세서에 개시된 구조 및 그의 구조적 등가물을 비롯한 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 발명 대상의 실시예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의해 또는 데이터 처리 장치의 동작을 제어하기 위해 실행되는 컴퓨터 저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램 명령어 모듈로서 구현될 수 있다. 다른 대안으로서 또는 그에 부가하여, 프로그램 명령어가 인위적으로 발생된 전파 신호(예컨대, 데이터 처리 장치에서 실행하기 위해 적당한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 발생되는 기계-발생 전기, 광, 또는 전자기 신호)에 인코딩될 수 있다. 컴퓨터 저장 매체가 컴퓨터 판독가능 저장 장치, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나, 이들에 포함될 수 있다. 게다가, 컴퓨터 저장 매체가 전파 신호가 아닌 반면, 컴퓨터 저장 매체가 인공적으로 발생된 전파 신호에 인코딩된 컴퓨터 프로그램 명령어의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체가 또한 하나 이상의 개별적인 물리적 구성요소 또는 매체(예컨대, 다수의 CD, 디스크, 또는 기타 저장 장치)일 수 있거나, 이들에 포함될 수 있다.
본 명세서에 기술된 동작은 하나 이상의 컴퓨터 판독가능 저장 장치에 저장되어 있거나 다른 소스로부터 수신되는 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작으로서 구현될 수 있다.
"데이터 처리 장치"라는 용어는, 일례로서, 프로그램가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 다수의 이들 또는 상기한 것들의 조합을 비롯한, 데이터를 처리하는 모든 종류의 장치, 디바이스, 및 기계를 포괄한다. 장치는 특수 목적 논리 회로, 예컨대, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)을 포함할 수 있다. 장치는 또한, 하드웨어에 부가하여, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 기계, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 다양한 여러 컴퓨팅 모델 인프라(웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라 등)를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)이 컴파일된 또는 인터프리트된 언어, 선언적 또는 절차적 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있고, 독립형 프로그램 또는 모듈, 컴포넌트, 서브루틴, 객체, 또는 컴퓨팅 환경에서 사용하기에 적당한 기타 유닛을 비롯한 임의의 형태로 배포(deploy)될 수 있다. 컴퓨터 프로그램이 파일 시스템에서의 파일에 대응할 수 있지만, 꼭 그럴 필요는 없다. 프로그램이 다른 프로그램들 또는 데이터를 보유하는 파일의 일부분에(예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트), 문제의 프로그램에 특수 목적의된 하나의 파일에, 또는 다수의 협조 파일(coordinated file)(예를 들어, 하나 이상의 모듈, 서브프로그램, 또는 코드의 일부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램이 하나의 컴퓨터 상에서 또는 하나의 사이트에 위치하거나 다수의 사이트에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되어 있는 다수의 컴퓨터 상에서 실행되기 위해 배포될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름이 입력 데이터를 처리하여 출력을 발생함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름이 또한 특수 목적의 논리 회로[예를 들어, FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)]에 의해 수행될 수 있고, 장치가 또한 그 특수 목적의 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램을 실행하기에 적당한 프로세서로는, 일례로서, 범용 마이크로프로세서 및 특수 목적의 마이크로프로세서 둘 다와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서가 있다. 일반적으로, 프로세서는 판독 특수 목적의 메모리 또는 랜덤 액세스 메모리 또는 그 둘 다로부터 명령어 및 데이터를 수신한다. 컴퓨터의 필수적인 요소는 명령어에 따라 동작을 수행하는 프로세서와 명령어 및 데이터를 저장하는 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하는 하나 이상의 대용량 저장 장치(예를 들어, 자기 디스크, 광자기 디스크, 또는 광 디스크)를 포함하거나, 이 대용량 저장 장치로부터 데이터를 수신하거나 그에게로 데이터를 전송하기 위해 연결되어 동작하거나, 그 둘다이다. 그렇지만, 컴퓨터가 이러한 장치를 가질 필요는 없다. 게다가, 컴퓨터가 다른 장치[예컨대, 몇가지 열거하면, 휴대폰, PDA(personal digital assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 장치(예컨대, USB(universal serial bus) 플래시 드라이브)]에 내장될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적당한 장치로는, 일례로서, 반도체 메모리 장치(예를 들어, EPROM, EEPROM 및 플래시 메모리 장치), 자기 디스크(예를 들어, 내장형 하드 디스크 또는 이동식 디스크), 광자기 디스크, 그리고 CD-ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치가 있다. 프로세서 및 메모리는 특수 목적의 논리 회로에 의해 대체되거나, 특수 목적의 논리 회로에 포함될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 기술된 발명 대상의 실시예가 사용자에게 정보를 디스플레이하는 디스플레이 장치[예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터]와, 키보드 및 포인팅 장치[예를 들어, 마우스 또는 트랙볼](이들에 의해 사용자가 컴퓨터에 입력을 제공할 수 있음)를 갖는 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 장치도 사용될 수 있고, 예를 들어, 사용자에게 제공되는 피드백이 임의의 형태의 감지 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고, 사용자로부터의 입력이 임의의 형태(음향, 음성 또는 촉각 입력을 포함함)로 수신될 수 있다. 그에 부가하여, 컴퓨터는 사용자에 의해 사용되는 장치로 문서를 송신하고 그로부터 문서를 수신함으로써 - 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 장치 상의 웹 브라우저로 웹 페이지를 송신함으로써 - 사용자와 상호작용할 수 있다.
본 명세서가 많은 구체적인 구현 상세를 포함하고 있지만, 이들이 임의의 발명의 범위 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안되고 특정의 발명의 특정의 실시예에 특유한 특징에 대한 설명으로서 해석되어야 한다. 개별적인 실시예와 관련하여 본 명세서에서 기술되는 어떤 특징이 또한 하나의 실시예에서 결합되어 구현될 수 있다. 이와 반대로, 하나의 실시예와 관련하여 기술되는 다양한 특징이 또한 다수의 실시예에서 개별적으로 또는 임의의 적당한 서브컴비네이션으로 구현될 수 있다. 게다가, 특징이 어떤 조합으로 작용하는 것으로 이상에서 기술되어 있고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 어떤 경우에 그 조합으로부터 삭제될 수 있고, 청구된 조합이 서브컴비네이션 또는 서브컴비네이션의 변형에 관한 것일 수 있다.
이와 유사하게, 동작이 도면에서 특정의 순서로 도시되어 있지만, 바람직한 결과를 달성하기 위해, 이러한 동작이 도시된 특정의 순서로 또는 순차적인 순서로 수행되어야 하는 것으로 또는 모든 예시된 동작이 수행되어야 하는 것으로 이해되어서는 안된다. 어떤 상황에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 게다가, 이상에서 기술한 실시예에서 다양한 시스템 컴포넌트가 분리되어 있는 것이 모든 실시예에서 이러한 분리를 필요로 하는 것으로 이해되어서는 안되고, 기술된 프로그램 컴포넌트 및 시스템이 일반적으로 하나의 소프트웨어 제품에 함께 통합될 수 있거나 다수의 소프트웨어 제품에 패키징되어 있을 수 있다는 것을 잘 알 것이다.
따라서, 발명 대상의 특정 실시예가 기술되어 있다. 다른 실시예가 이하의 특허청구범위의 범위 내에 속한다. 어떤 경우에, 특허청구범위에 기술된 동작이 다른 순서로 수행되어도 여전히 바람직한 결과를 달성할 수 있다. 그에 부가하여, 첨부 도면에 도시된 프로세스가 바람직한 결과를 달성하기 위해 반드시 도시된 특정의 순서 또는 순차적인 순서를 필요로 하는 것은 아니다. 어떤 구현예에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (31)

  1. 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현되는 신경망 장치로서,
    어셈블리간 링크들에 의해 상호연결된 노드 어셈블리들의 집합체
    를 포함하고,
    각각의 노드 어셈블리 자체는 복수의 어셈블리내 링크(within-assembly link)들에 의해 상호연결된 노드들의 네트워크를 포함하며, 상기 어셈블리간 링크들 및 상기 어셈블리내 링크들의 각각은 연관된 가중치를 갖고, 각각의 가중치는 상기 연관된 링크에 의해 결합된 노드들 사이의 연결의 강도를 구현(embodying)하며, 각각의 어셈블리 내의 노드들은 다른 노드 어셈블리들 내의 노드들에 연결되는 것보다 상기 어셈블리 내의 다른 노드들에 연결될 가능성이 더 높은 신경망 장치.
  2. 제1항에 있어서, 상기 어셈블리간 링크들과 연관된 가중치들은 상기 신경망 소자의 특정 목적을 위한 트레이닝(training)을 구현하는 신경망 장치.
  3. 제2항에 있어서, 상기 어셈블리내 링크들은 상기 신경망 소자의 특정 목적을 위한 트레이닝을 상기 어셈블리간 링크들보다 적은 정도로 구현하는 신경망 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 쌍별 연결 프로파일(pairwise connectivity profile)들에 따라 상기 노드들이 연결되고 상기 노드 어셈블리들이 형성되는 신경망 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 노드 어셈블리들의 각각 내에서의 평균 가중치의 분산은 보다 많은 수의 링크를 갖는 노드 어셈블리들에 대해 일반적으로 감소되는 신경망 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 각자의 노드 어셈블리 내의 링크들의 수가 상기 각자의 노드 어셈블리 내의 노드들의 수를 초과함에 따라 상기 각자의 노드 어셈블리 각각과의 상호연결의 평균 강도가 각자의 한계에 점근적(asymptotically)으로 접근하는 신경망 장치.
  7. 제6항에 있어서, 상기 각자의 한계들은 실질적으로 동일한 신경망 장치.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 동일한 노드 어셈블리 내의 노드의 수보다 적은 수의 어셈블리내 링크들을 갖는 노드 어셈블리들의 경우, 상기 어셈블리내 링크들의 가중치들의 크기들이 한 세트의 레벨들 중 구별가능한 개별 레벨들과 연관되는 신경망 장치.
  9. 제8항에 있어서, 각각의 개별 레벨은 상기 어셈블리 내의 상이한 수의 노드들과 연관되는 신경망 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 각각의 어셈블리내 링크의 어셈블리 내의 다른 노드들의 수에 기초하여 상기 어셈블리내 링크들의 각각의 가중치의 크기를 변경하도록 구성된 어댑터 구성요소를 더 포함하는 신경망 장치.
  11. 제10항에 있어서, 상기 어댑터 구성요소는, 상기 신경망 장치가 트레이닝되기 전에, 각각의 가중치의 크기를 변경하도록 구성되어 있는 신경망 장치.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 신경망 장치는 트레이닝되어 있지 않은 신경망 장치.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 노드 어셈블리 내의 노드들의 수에 기초하여 각각의 노드 어셈블리 내의 노드들 사이의 연결의 확률을 변경하도록 구성된 어댑터 구성요소를 더 포함하는 신경망 장치.
  14. 제13항에 있어서, 상기 어댑터 구성요소는, 상기 신경망 장치가 트레이닝되기 전에, 각각의 가중치의 크기를 변경하도록 구성되어 있는 신경망 장치.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 링크들은 상호(reciprocal) 링크들 및 비상호 링크들을 포함하는 신경망 장치.
  16. 제15항에 있어서, 상기 비상호 링크들은 상기 상호 링크들보다 약 2배 흔한 신경망 장치.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 각각의 어셈블리 내의 노드들은 다른 노드 어셈블리들 내의 노드들에 연결되는 것보다 상기 어셈블리 내의 다른 노드들에 연결될 가능성이 약 2배인 신경망 장치.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서, 10개 내지 100개의 노드를 갖는 노드 어셈블리들의 수가 10개 미만 및 100개 초과의 노드를 갖는 노드 어셈블리들의 수보다 큰 신경망 장치.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 10개 내지 100개의 노드 어셈블리가 있는 신경망 장치.
  20. 신경망 장치를 형성하는 머신-구현 방법으로서,
    하드웨어, 소프트웨어, 또는 이들의 조합으로 구현되는 노드들의 네트워크를 형성하는 단계; 및
    상기 노드들에 의해 공유되는 공통 이웃들의 수를 구현하는 확률로 노드들을 연결 또는 분리시킴으로써 상기 네트워크의 노드들 간의 링크를 할당 또는 재할당하는 단계
    를 포함하는 방법.
  21. 제20항에 있어서, 준정상 상태(quasi steady-state)에 도달할 때까지 상기 할당 또는 재할당하는 단계를 반복하는 단계를 더 포함하는 방법.
  22. 제21항에 있어서, 상기 준정상 상태는 제1항 내지 제19항 중 어느 한 항에 따른 신경망 장치를 포함하는 방법.
  23. 제20항 내지 제22항 중 어느 한 항에 있어서, 상기 노드들은 쌍별 연결 프로파일들에 따라 연결되는 방법.
  24. 제20항 내지 제23항 중 어느 한 항에 있어서, 노드들의 네트워크를 트레이닝하는 단계를 더 포함하는 방법.
  25. 제24항에 있어서, 상기 노드들의 네트워크를 트레이닝하는 단계는,
    노드 어셈블리들 내의 링크들을 비교적 안정된 가중치들로 가중하는 단계; 및
    상기 노드 어셈블리들 내의 링크들의 가중치들을 상대적으로 변하지 않은 채로 두면서 상기 트레이닝을 구현하기 위해 노드 어셈블리들 간의 링크들을 가중시키는 단계를 포함하는 방법.
  26. 제20항 내지 제25항 중 어느 한 항에 있어서, 제1 노드 및 제2 노드 둘 다에 공통으로 연결된 노드들의 수에 기초하여, 상기 제1 노드와 상기 제2 노드 사이의 각각의 링크에 가중치들을 할당하는 단계를 더 포함하는 방법.
  27. 제20항 내지 제26항 중 어느 한 항에 있어서, 랜덤 할당 프로세스 또는 2개의 노드가 링크될 확률에 따라 링크 할당들이 행해지는 프로세스에 따라 링크들의 초기 세트를 할당하는 단계를 더 포함하는 방법.
  28. 제20항 내지 제27항 중 어느 한 항에 있어서, 상기 방법은 비트레이닝된 신경망 장치를 형성하는 방법.
  29. 제20항 내지 제28항 중 어느 한 항에 있어서, 각자의 노드 어셈블리 각각 내의 링크들의 수가 각자의 노드 어셈블리 내의 노드들의 수를 초과할 때까지 상기 할당 또는 재할당하는 단계를 반복하는 단계를 더 포함하는 방법.
  30. 제29항에 있어서, 상기 각자의 노드 어셈블리 각각 내의 링크들을, 링크들의 수가 노드들의 수를 초과함에 따라 한계들에 접근하는 가중치들로 가중하는 단계를 더 포함하는 방법.
  31. 제30항에 있어서, 상이한 크기의 노드 어셈블리들에 대한 한계들은 실질적으로 동일한 방법.
KR1020127023174A 2010-02-05 2011-02-04 신경망의 조직화 KR101816329B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US30178110P 2010-02-05 2010-02-05
US61/301,781 2010-02-05
PCT/EP2011/000515 WO2011095342A1 (en) 2010-02-05 2011-02-04 Organizing neural networks

Publications (2)

Publication Number Publication Date
KR20120123698A true KR20120123698A (ko) 2012-11-09
KR101816329B1 KR101816329B1 (ko) 2018-01-08

Family

ID=43824497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127023174A KR101816329B1 (ko) 2010-02-05 2011-02-04 신경망의 조직화

Country Status (7)

Country Link
US (4) US10387767B2 (ko)
EP (1) EP2531959B1 (ko)
JP (1) JP5844286B2 (ko)
KR (1) KR101816329B1 (ko)
CN (1) CN102859538B (ko)
DK (1) DK2531959T3 (ko)
WO (1) WO2011095342A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210008417A (ko) * 2018-06-11 2021-01-21 이나이트 에스아 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
US12020157B2 (en) 2019-12-11 2024-06-25 Inait Sa Interpreting and improving the processing results of recurrent neural networks

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891967B2 (en) * 2011-08-25 2014-11-18 Mitsubishi Electric Research Laboratories, Inc. Method for energy efficient reoptimization of optical networks
US9336774B1 (en) 2012-04-20 2016-05-10 Google Inc. Pattern recognizing engine
US9378455B2 (en) * 2012-05-10 2016-06-28 Yan M. Yufik Systems and methods for a computer understanding multi modal data streams
US9015096B2 (en) * 2012-05-30 2015-04-21 Qualcomm Incorporated Continuous time spiking neural network event-based simulation that schedules co-pending events using an indexable list of nodes
US20140025418A1 (en) * 2012-07-19 2014-01-23 International Business Machines Corporation Clustering Based Resource Planning, Work Assignment, and Cross-Skill Training Planning in Services Management
US8983885B1 (en) 2012-09-10 2015-03-17 FEM, Inc. Prospective media content generation using neural network modeling
CN107690663B (zh) * 2015-06-05 2022-04-12 渊慧科技有限公司 白化神经网络层
US9948543B2 (en) * 2015-12-30 2018-04-17 International Business Machines Corporation Mechanism to extend the remote get to do async rectangle broadcast on a rectangle with wild cards in the packet header
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
EP3607495A4 (en) 2017-04-07 2020-11-25 Intel Corporation METHODS AND SYSTEMS USING IMPROVED TRAINING AND LEARNING FOR DEEP NEURAL NETWORKS
EP3701431A1 (en) * 2017-10-27 2020-09-02 Google LLC Increasing security of neural networks by discretizing neural network inputs
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
US11625614B2 (en) * 2018-10-23 2023-04-11 The Regents Of The University Of California Small-world nets for fast neural network training and execution
US10909443B2 (en) 2019-02-25 2021-02-02 Globalfoundries Inc. Neuromorphic circuit structure and method to form same
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
US11120221B2 (en) * 2019-03-26 2021-09-14 Tata Consultancy Services Limited Method and system to resolve ambiguities in regulations
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US20210182655A1 (en) * 2019-12-11 2021-06-17 Inait Sa Robust recurrent artificial neural networks
US11580401B2 (en) 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
CN113626721B (zh) * 2021-10-12 2022-01-25 中国科学院自动化研究所 基于遗憾探索的推荐方法、装置、电子设备与存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3640003C2 (de) 1986-11-22 1996-07-25 Schunk Produktionsgesellschaft Verfahren und Vorrichtung zur Informationsübertragung, insbesondere für mobile Informationsträgersysteme
JPH03121625A (ja) 1989-10-04 1991-05-23 Seiko Epson Corp 通信装置
US5214747A (en) * 1990-12-24 1993-05-25 Eastman Kodak Company Segmented neural network with daisy chain control
JPH06110862A (ja) * 1992-09-30 1994-04-22 Hitachi Ltd 自己成長型ニューラルネットワーク
JPH08315141A (ja) 1995-05-15 1996-11-29 Mitsubishi Electric Corp 画像認識装置
US5712959A (en) * 1995-07-07 1998-01-27 Streit; Roy L. Neural network architecture for non-Gaussian components of a mixture density function
IL149242A0 (en) 1999-10-28 2002-11-10 Univ Singapore Method and apparatus for generating pulses from analog waveforms
KR100370223B1 (ko) 2001-02-05 2003-02-05 삼성전자 주식회사 데이터 기록/재생 장치 및 그 방법과 데이터 부호화 방법
MY138544A (en) 2003-06-26 2009-06-30 Neuramatix Sdn Bhd Neural networks with learning and expression capability

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210008417A (ko) * 2018-06-11 2021-01-21 이나이트 에스아 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
KR20210008418A (ko) * 2018-06-11 2021-01-21 이나이트 에스아 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
KR20210008419A (ko) * 2018-06-11 2021-01-21 이나이트 에스아 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
KR20210008858A (ko) * 2018-06-11 2021-01-25 이나이트 에스아 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
KR20210010894A (ko) * 2018-06-11 2021-01-28 이나이트 에스아 순환 인공 신경 네트워크 내 활동 특성화 그리고 정보 인코딩 및 디코딩
US12020157B2 (en) 2019-12-11 2024-06-25 Inait Sa Interpreting and improving the processing results of recurrent neural networks

Also Published As

Publication number Publication date
US11900237B2 (en) 2024-02-13
US20150363689A1 (en) 2015-12-17
CN102859538A (zh) 2013-01-02
US20190354841A1 (en) 2019-11-21
DK2531959T3 (en) 2017-10-30
US20230394280A9 (en) 2023-12-07
US10373048B2 (en) 2019-08-06
JP5844286B2 (ja) 2016-01-13
US20220121907A1 (en) 2022-04-21
JP2013519140A (ja) 2013-05-23
EP2531959A1 (en) 2012-12-12
CN102859538B (zh) 2016-05-25
WO2011095342A1 (en) 2011-08-11
US20120323833A1 (en) 2012-12-20
EP2531959B1 (en) 2017-07-26
US11126911B2 (en) 2021-09-21
KR101816329B1 (ko) 2018-01-08
US10387767B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
US11126911B2 (en) Organizing neural networks
CN109788489B (zh) 一种基站规划方法及装置
US20220004880A1 (en) Method and apparatus for predicting adiabatic evolution path, device, and storage medium
CN110136015B (zh) 一种在线社交网络中节点相似性与凝聚力并重的信息传播方法
CN110738362A (zh) 一种基于改进的多元宇宙算法构建预测模型的方法
Du et al. Structural balance in fully signed networks
CN103810388A (zh) 基于面向映射的分块技术的大规模本体映射方法
CN113269652A (zh) 基于从众心理的超图影响力传播方法及影响力最大化方法
EP3053311A1 (en) Systems and methods for distance approximation in graphs
CN114490618B (zh) 基于蚁狮算法的数据填补方法、装置、设备及存储介质
Irfan et al. Optimization of K-means clustering using genetic algorithm
Hornby et al. Accelerating human-computer collaborative search through learning comparative and predictive user models
CN116094941A (zh) 基于共识合作超网络模型的共识方法、系统、介质、电子设备
Badami et al. An enriched game-theoretic framework for multi-objective clustering
KR101210380B1 (ko) 유한 상태 자동기계를 동정화하기에 알맞은 새로운 회귀 신경망
Skrodzki et al. Turing-like patterns revisited: A peek into the third dimension
Komosinski et al. Tournament-based convection selection in evolutionary algorithms
Ghorbanian et al. A genetic algorithm for modularity density optimization in community detection
Fang et al. Three types of network complexity pyramid
CN111882424B (zh) 基于遗传算法的信贷证券化组包方法及装置
Pathak et al. Improved wisdom of crowds heuristic for solving sudoku puzzles
Wang et al. A community detection method based on multi-objective optimization method
Ullah et al. On Neuroevolution of Multi-Input Compositional Pattern Producing Networks: A Case of Entertainment Computing, Edge Devices, and Smart Cities
CN116663666A (zh) 一种确定传播现象发生全局崩溃的条件的方法及相关设备
Khouzani et al. Computer and Information Sciences

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant