KR20200009044A - 이분 멤리스티브 네트워크의 심층 학습 - Google Patents

이분 멤리스티브 네트워크의 심층 학습 Download PDF

Info

Publication number
KR20200009044A
KR20200009044A KR1020197037028A KR20197037028A KR20200009044A KR 20200009044 A KR20200009044 A KR 20200009044A KR 1020197037028 A KR1020197037028 A KR 1020197037028A KR 20197037028 A KR20197037028 A KR 20197037028A KR 20200009044 A KR20200009044 A KR 20200009044A
Authority
KR
South Korea
Prior art keywords
current
voltage
error delta
input
output
Prior art date
Application number
KR1020197037028A
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 KR20200009044A publication Critical patent/KR20200009044A/ko

Links

Images

Classifications

    • G06N3/0635
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0073Write using bi-directional cell biasing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Micromachines (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Measurement Of Resistance Or Impedance (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Control Of Voltage And Current In General (AREA)

Abstract

이분 멤리스티브 네트워크 및 그러한 네트워크를 교시하는 방법이 본원에서 설명된다. 하나의 예시적인 경우에, 멤리스티브 네트워크는 다수의 나노파이버를 포함할 수 있는데, 각각의 나노파이버는 금속성 코어 및 멤리스티브 쉘을 포함한다. 멤리스티브 네트워크는 또한 나노파이버 상에 퇴적되는 다수의 전극을 포함할 수 있다. 다수의 전극의 제1 세트는 멤리스티브 네트워크에서의 입력 전극을 포함할 수 있고, 다수의 전극의 제2 세트는 멤리스티브 네트워크에서의 출력 전극을 포함할 수 있다. 멤리스티브 네트워크는 이분 멤리스티브 네트워크로서 구현될 수 있고 본원에서 설명되는 교시 방법에 따라 트레이닝될 수 있다.

Description

이분 멤리스티브 네트워크의 심층 학습
관련 출원에 대한 교차 참조
본 출원은 2017년 5월 22일자로 출원된 미국 가출원 제62/509,423호의 이익을 주장하는데, 상기 가출원의 전체 내용은 참조에 의해 본원에 통합된다.
멤리스터(memristor)는 수동의 비선형 2 단자 전기 컴포넌트이다. 멤리스터에서, 디바이스의 전기 저항은 그것을 통해 이전에 흘렀던 전류(또는 디바이스 양단에 인가되었던 전압)의 이력에 의존한다. 따라서, 멤리스터의 저항은, 멤리스터의 양단에 전압차(voltage differential) 또는 전압 강하를 가하는 것에 의해 점차적으로 변경될 수 있다. 이 전압 강하가 제거되면, 멤리스터는 자신의 현재의 저항 값을 유지한다. 전압 강하의 극성이 반대로 되면, 저항은 반대 방향으로 변경될 것이다.
소정의 회로 구성에서, 멤리스터는, 자신의 컨덕턴스와 동등한 가중치(weight)를 갖는 인공 시냅스로서 작용할 수 있다. 가중치의 강도는 멤리스터 양단의 전압 강하를 제어하는 것에 의해 시간 경과에 따라 수정될 수 있다. 멤리스터는 통상적으로 임계 전압 강하를 가지며, 그 미만에서는 컨덕턴스에서 어떠한 변화도 발생하지 않을 것이다.
시냅스 네트워크(synaptic network)를 위한 멤리스터의 사용은, 뉴로모픽 회로(neuromorphic circuit) 개발의 분야에서 유망한 접근법으로서 제안되어 왔다. 멤리스터는, 시냅스전(presynaptic) 및 시냅스후(postsynaptic) 전압 제어를 위한 상보형 금속 산화물 반도체(Complementary Metal Oxide Semiconductor; CMOS) 기반의 회로부(circuitry)를 갖는 크로스바 시냅스 네트워크(crossbar synapse network)로 통합되었다. 그들 회로는 CMOS 기반의 전압 및 전류 제어가 사용되어 멤리스터의 저항 또는 임피던스(예를 들면, 메모리)에서의 변화를 생성할 수 있다는 것을 보여준다.
멤리스티브 신경망(memristive neural network)에서, 입력은 멤리스터의 네트워크 내의 전극의 세트에 대한 전압으로서 제시될 수 있다. 네트워크 내의 전극의 별개의 세트에서, 전압 또는 전류가 판독된다. 이들은 신경망의 출력으로 간주된다. 그러한 멤리스티브 신경망에서의 학습의 목표는, 어떤 비용 함수(cost function) 또는 에러 함수(error function)를 최소화하기 위해 멤리스터의 컨덕턴스를 변경하는 것이다.
하나의 예시적인 실시형태는, 다수의 입력 노드 및 다수의 출력 노드를 구비하는 멤리스티브 네트워크를 트레이닝시키기 위한 방법을 포함한다. 멤리스티브 네트워크는 이분 멤리스티브 네트워크(bipartite memristive network)를 포함할 수 있고, 방법은 멤리스티브 네트워크를 트레이닝시키기 위한 역전파 알고리즘(backpropagation algorithm)을 재생성할 수 있다.
하나의 예에서, 방법은, 다수의 입력 노드 중 한 입력 노드에 입력 전압 또는 전류를 인가하는 것, 다수의 출력 노드 중 한 출력 노드를 접지시키는 것, 출력 노드에서 출력 전류 또는 전압을 측정하는 것, 출력 전류 또는 전압을 목표 전류 또는 전압에 비교하여 에러 델타(error delta)를 결정하는 것, 및 에러 델타의 크기에 비례하는 시간 기간 동안 출력 노드에 임계 전압 또는 전류를 인가하는 것을 포함한다.
에러 델타가 음의 값인(negative) 경우, 방법은 또한, 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압 또는 전류를 인가하는 것, 및 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압 또는 전류를 인가하는 것을 포함할 수 있다. 에러 델타가 양의 값인(positive) 경우, 방법은, 입력 노드에 인가되는 입력 전압 또는 전류의 극성을 반전시키는 것, 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압 또는 전류를 인가하는 것, 및 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압 또는 전류를 인가하는 것을 포함할 수 있다.
다른 양태에서, 방법은, 에러 델타를 에러 델타 전압 또는 전류로 변환하는 것, 에러 델타 전압 또는 전류를 출력 노드에 인가하는 것, 및 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 임계 전압 또는 전류를 인가하는 것을 더 포함할 수 있다.
입력 노드에 인가된 입력 전압 또는 전류가 양의 값이었던 경우, 방법은, 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 양의 임계 전압 또는 전류를 인가하는 것, 및 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 음의 임계 전압 또는 전류를 인가하는 것을 포함할 수 있다. 입력 노드에 인가된 입력 전압 또는 전류가 음의 값이었던 경우, 방법은, 출력 노드에 인가되는 에러 델타 전압 또는 전류의 극성을 반전시키는 것, 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 양의 임계 전압 또는 전류를 인가하는 것, 에러 델타 전압의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 음의 임계 전압 또는 전류를 인가하는 것을 더 포함할 수 있다.
다른 실시형태에서, 멤리스티브 네트워크는 다수의 나노파이버(nanofiber) - 각각의 나노파이버는 금속성 코어(metallic core) 및 멤리스티브 쉘(memristive shell)을 포함함 - , 나노파이버 상에 퇴적되는 다수의 전극 - 다수의 전극은 다수의 입력 노드 및 다수의 출력 노드를 포함함 - , 및 트레이닝 프로세서를 포함한다.
트레이닝 프로세서는, 다수의 입력 노드 중 한 입력 노드에 입력 전압 또는 전류를 인가하도록, 다수의 출력 노드 중 한 출력 노드를 접지하도록, 출력 노드에서 출력 전류 또는 전압을 측정하도록, 출력 전류 또는 전압을 목표 전류 또는 전압에 비교하여 에러 델타를 결정하도록, 그리고 에러 델타의 크기에 비례하는 시간 기간 동안 출력 노드에 임계 전압 또는 전류를 인가하도록 구성될 수 있다.
본 개시의 많은 양태는 다음 도면을 참조하여 더 잘 이해될 수 있다. 도면에서의 컴포넌트는 반드시 일정한 비율로 묘화되는 것은 아니며, 대신, 본 개시의 원리를 명확하게 예시하는 것에 강조가 이루어진다. 도면에서, 같은 참조 번호는 여러 도면 전체에 걸쳐 대응하는 부분을 가리킨다.
도 1a는 본원에서 설명되는 다양한 실시형태에 따른 멤리스티브 나노파이버 신경망의 예시적인 네트워크 아키텍쳐를 예시한다.
도 1b는 본원에서 설명되는 다양한 실시형태에 따른 도 1a에서 도시되는 신경망에서의 입력 및 출력 전극과 멤리스티브 나노파이버 사이의 예시적인 연결을 예시한다.
도 1c는 본원에서 설명되는 다양한 실시형태에 따른 도 1a에서 도시되는 신경망의 일부의 예시적인 등가 회로를 예시한다.
도 2는 본원에서 설명되는 다양한 실시형태에 따른 입력 및 출력이 분리된 예시적인 이분 멤리스티브 네트워크 및 이분 멤리스티브 네트워크의 대안적인 피드포워드 형태를 예시한다.
도 3은 본원에서 설명되는 다양한 실시형태에 따른 임계치 VT를 갖는 멤리스터의 예시적인 선형 모델을 예시한다.
도 4는 본원에서 설명되는 다양한 실시형태에 따른 도 2에서 도시되는 피드포워드 네트워크(feedforward network)를 트레이닝시키기 위한 예시적인 트레이닝 프로세서를 예시한다.
도 5a는 본원에서 설명되는 다양한 실시형태에 따른 예시적인 멤리스티브 네트워크 트레이닝 프로세스를 예시한다.
도 5b는 본원에서 설명되는 다양한 실시형태에 따른 도 5a에서 도시되는 예시적인 멤리스티브 네트워크 트레이닝 프로세스를 추가로 예시한다.
도 5c는 본원에서 설명되는 다양한 실시형태에 따른 도 5a에서 도시되는 예시적인 멤리스티브 네트워크 트레이닝 프로세스를 추가로 예시한다.
상기에서 언급되는 바와 같이, 멤리스터는, 자신의 컨덕턴스와 동등한 가중치를 갖는 인공 시냅스로서 작용할 수 있다. 가중치의 강도는 멤리스터 양단의 전압 강하를 제어하는 것에 의해 시간 경과에 따라 수정될 수 있다. 멤리스터는 통상적으로 임계 전압 강하를 가지며, 그 미만에서는 컨덕턴스에서 어떠한 변화도 발생하지 않을 것이다.
멤리스티브 신경망에서, 입력은 멤리스터의 네트워크 내의 전극의 세트에 대한 전압으로서 제시될 수 있다. 네트워크 내의 전극의 별개의 세트에서, 전압 또는 전류가 판독된다. 이들은 신경망의 출력으로 간주된다. 그러한 멤리스티브 신경망에서의 학습의 목표는, 어떤 비용 함수 또는 에러 함수를 최소화하기 위해 멤리스터의 컨덕턴스를 변경하는 것이다.
본원에서 설명되는 개념은 이분 멤리스티브 네트워크 및 그러한 네트워크를 교시하는 방법에 관한 것이다. 하나의 예시적인 경우에서, 멤리스티브 네트워크는 다수의 나노파이버를 포함할 수 있는데, 각각의 나노파이버는 전도성 또는 금속성 코어 및 멤리스티브 쉘을 포함한다. 멤리스티브 네트워크는 또한 나노파이버 상에 퇴적되는 다수의 전극을 포함할 수 있다. 다수의 전극의 제1 세트는 멤리스티브 네트워크에서의 입력 전극을 포함할 수 있고, 다수의 전극의 제2 세트는 멤리스티브 네트워크에서의 출력 전극을 포함할 수 있다. 멤리스티브 네트워크는 이분 멤리스티브 네트워크로서 구현될 수 있고 본원에서 설명되는 교시 방법에 따라 트레이닝될 수 있다. 본원에서 설명되는 개념은 (예를 들면, 나노파이버를 사용하는 것 이외의) 이분 멤리스티브 네트워크의 다른 형태 및 구조에 적용 가능하다. 또한, 도면이 다수의 예시적인 네트워크, 전극, 등등을 예시하지만, 본원에서 설명되는 개념은 다른 형태, 구조, 및 사이즈의 이분형 네트워크에 적용될 수 있다.
도 1a는 본원에서 설명되는 다양한 실시형태에 따른 멤리스티브 나노파이버 신경망(10)의 예시적인 네트워크 아키텍쳐를 예시한다. 하기에서 더 상세히 설명되는 바와 같이, 신경망(10)은 이분 멤리스티브 네트워크의 형태를 취한다. 신경망(10)에서, 다수의 기억 나노파이버(12)("나노파이버들(12)" 또는 "나노파이버(12)")가 기판 상에 랜덤하게 정렬되고, 한 세트의 입력/출력 전극(14)이 나노파이버(12)의 상부 상에 퇴적된다.
도 1b는 도 1a에서 도시되는 신경망(10)에서 입력/출력 전극(14)과 멤리스티브 나노파이버(12) 사이의 예시적인 연결을 예시한다. 도 1b에서 도시되는 바와 같이, 나노파이버(12)의 각각은 전도성 또는 금속성 코어(12A) 및 멤리스티브 쉘(12B)을 포함한다. 게다가, 전극(14)과 나노파이버(12) 사이의 각각의 접합부에는, 멤리스티브 시냅스(memristive synapse)(16)가 형성된다.
신경망(10)은 발명의 명칭이 ""MEMRISTIVE NANOFIBER NEURAL NETWORKS"인 미국 특허 가출원 제15/383,527호에서 설명되는 방법과 같은 임의의 적절한 방식으로 형성될 수 있는데, 그 가출원의 전체 내용은 참조에 의해 본원에 통합된다. 예를 들면, 나노파이버(12)의 전도성 코어(12A)는 티타늄 이소프로폭사이드(titanium isopropoxide), 티타늄 부톡사이드(titanium butoxide)의 프리커서, 또는 다른 적절한 프리커서를 사용하여, 도핑된 이산화티타늄(TiO2)으로부터 형성될 수 있다. 멤리스티브 쉘(12B)은, 전도성 코어(12A)의 외부 쉘을 멤리스티브 재료로 전기 방사하는(electrospinning) 것에 의해 전도성 금속성 코어(12A) 주위에 형성될 수 있다.
도 1c는 도 1a에서 도시되는 신경망(10)의 일부의 예시적인 등가 회로를 예시한다. 신경망(10)에서 서로 중첩하여 접촉할 때 두 개의 나노파이버(12) 사이의 계면 저항은 전극(14)과 나노파이버(12) 사이의 저항보다 훨씬 더 높을 수 있다. 이것은 두 개의 나노파이버(12) 사이의 접촉 면적이 통상적으로 매우 작고, 접촉 지점이 두 개의 절연성 멤리스티브 쉘(12B) 사이에 있기 때문이다. 대조적으로, 각각의 전극(14)은 각각의 나노파이버(12)의 멤리스티브 쉘(12B)의 더 긴 길이 또는 섹션과 접촉하고, 전압 강하는, 두 개의 나노파이버(12) 사이의 두 개의 멤리스티브 쉘(12B)이 아닌, 단일의 멤리스티브 쉘(12B) 양단에서만 있다.
도 2는 예시적인 이분 멤리스티브 네트워크(20) 및 이분 멤리스티브 네트워크(20)의 대안적인 피드포워드 형태(30)를 예시한다. 도 2에서 외부 전극으로 지칭되는 도 1a의 전극(14)은 멤리스티브 쉘(12B)을 통해 나노파이버(12)의 전도성 금속성 코어(12A)에 연결된다. 전극(14)은 서로 직접적으로 연결되지는 않는다. 내부 전극으로 지칭되는 나노파이버(12)의 전도성 금속성 코어(12A)는 멤리스티브 쉘(12B)을 통해 외부 전극(14)에 연결된다.
이분 멤리스티브 네트워크(20)의 대안적인 피드포워드 형태(30)에서, 전극(14)은 다수의 입력 전극(14A) 및 출력 전극(14B)으로 분리된다. 나노파이버(12)가 서로 전기적으로 효과적으로 절연되거나 또는 격리된다는 것이 가정되면, 이분 멤리스티브 네트워크(20)의 피드포워드 형태(30)는 도시되는 바와 같이 이분 그래프 형태를 취할 것이다.
따라서, 외부 전극(14)이 입력 전극(14A) 및 출력 전극(14B)으로 분할 또는 분리되면, 이분 멤리스티브 네트워크(20)의 대안적 피드포워드 형태(30)는 3 계층 피드포워드 신경망으로서 동작될 수 있고, 더 많은 계층이 필요로 되면, 여러 개의 그러한 네트워크(예를 들면, 피드포워드 형태(30)와 유사함)가 서로 링크될 수 있다. 이분 멤리스티브 네트워크(20)의 대안적인 피드포워드 형태(30)(또한 "피드포워드 네트워크(30)")를 교시하는 접근법이 하기에서 더 상세하게 설명된다.
피드포워드 네트워크(30)가 거동하는 방법을 결정하기 위해, 키르히호프(Kirchoff)의 법칙이 사용되어 멤리스티브 쉘(12B)(또는 하기에서 설명되는 바와 같이 간단히 "멤리스터") 양단의 전압 강하를 결정할 수 있다. 일단 피드포워드 네트워크(30)를 통한 전류 및 전압 강하가 식별되면, 적절한 멤리스터 모델이 적용되어 시간 경과에 따른 이들 멤리스터의 컨덕턴스를 변경하는 방법을 결정할 수 있다.
먼저, 출력의 컨덕턴스를 내부 노드 가중치로 변경하기 위한 프로시져가 개발될 수 있다. 피드포워드 네트워크(30)에 대한 입력 전압이
Figure pct00001
Figure pct00002
사이의 전압으로서 제시되면, 임의의 멤리스터 양단의 최대 전압 강하가 VT를 초과할 수 없기 때문에 임의의 멤리스터 컨덕턴스의 변화를 방지한다. 다음으로, 피드포워드 네트워크(30)의 출력은, 전압이 접지 상태로 유지되는 출력 노드에서 전류로서 판독된다는 것이 가정될 수 있다.
임의의 내부 노드로의 총 전류는 합계가 0으로 되어야 하기 때문에(즉, 키르히호프의 전류 법칙에 따름), 다음의 식을 얻는데:
Figure pct00003
여기서 Gij는 외부 노드(i)를 내부 노드(j)에 연결하는 멤리스터의 순간 컨덕턴스이며, 합계는 모든 외부 노드(즉, 입력 및 출력 노드)에 걸쳐 계속된다.
수학식 (1)은 하기에서 도시되는 바와 같이 내부 노드(j)에서의 전압을 구하도록 배열될 수 있다. 합이 선형적이고 Vj는 i에 의해 색인화되지 않기 때문에:
Figure pct00004
이다.
수학식 (5)에서, 정규화 인자
Figure pct00005
는 전압 또는 전류의 순간 값에 의존하지 않는다. 정규화 인자 Gj는 피드포워드 네트워크(30)의 동작에 큰 영향을 끼치지 않는다. 모든 출력 노드가 접지 상태로 남아 있는 경우(즉, Vi = 0), 합계에 대한 기여는 입력 노드의 기여뿐이다. 따라서, 내부 노드에서의 전압은 정규화 인자로 나누어지는 컨덕턴스 매트릭스에 의한 입력의 선형 변환으로 간주될 수 있다.
유사하게, 출력 노드 k에서의 전류는 내부 노드에서의 전압을 사용하여 구해질 수 있다. 출력 노드가 모두 접지되어 있으므로, 전류는 다음에 의해 주어진다:
Figure pct00006
이것은 컨덕턴스 매트릭스에 의한 숨겨진 노드의 선형 변환이다. 이 전류가 외부 회로에 의해 액세스 가능하기 때문에, 이 합계에 대해 추가적인 비선형 변환이 발생하여, 네트워크가 비선형 출력 계층을 가지는 것을 허용할 수 있다. 그러나, 학습 알고리즘을 유도함에 있어서의 간략화를 위해, 모든 계층은 선형인 것으로 가정될 수 있다.
피드포워드 네트워크(30)에서 멤리스티브 연결을 갖는 예시적인 3 계층 신경망이 설명되고 도시되었으므로, 그러한 네트워크를 트레이닝시키기 위해 적절한 알고리즘이 필요하다. 이 목적을 위해, 네트워크 트레이닝에 적절한 역전파 알고리즘에 대한 근사가 설명된다.
도 3은 본원에서 설명되는 다양한 실시형태에 따른 임계치 VT를 갖는 멤리스터의 예시적인 선형 모델을 예시한다. 시작하기 위해, 내부 및 출력 노드 사이의 가중치가 고려되는데, 이들 가중치가 학습을 위한 델타 규칙만을 필요로 하기 때문이다. 이 네트워크에서의 선형 뉴런의 경우, 델타 규칙은 다음과 같이 주어지는데:
Figure pct00007
여기서 Tk는 소망되는 출력 전류이고, Ik는 측정된 출력 전류이고, Vj는 내부 노드(j)에서의 인가 전압이며, α는 학습률이다.
직관적으로, 에러 델타(Tk-Ik)가 양의 값이면, 현재의 Ik를 더 큰 양의 값으로 만들고, 따라서, 에러를 감소시키는 것이 바람직할 것이다. 이것은, 양의 값인 내부 노드에 대한 연결을 보강하는 것, 및 음 값인 내부 노드에 대한 연결을 약화시키는 것에 의해 수행될 수 있다. 에러 델타가 음의 값이면, 반대 현상이 발생한다. 델타 규칙의 형태는, 그것이 에러 델타와 내부 노드의 활성화 둘 모두에서 선형이도록 하는 그러한 것이다. 임계치 VT를 갖는 선형 뉴런이 가정되면, 다음의 수학식은 컨덕턴스 변화의 형태를 갖는다:
Figure pct00008
수학식 (8)에서, α는 학습률과 유사하고, ΔV는 멤리스터 양단의 전압 강하이고, t는 인가된 전압의 지속 기간이다. 지속 기간을 포함하지 않는 상기 수학식의 그래프가 도 3에서 주어진다. 수학식 (8)은 임계치를 갖는 멤리스터의 간단한 모델이고, 따라서 그것은 학습 알고리즘을 유도함에 있어서 사용될 수 있다. 그러나, 노이즈를 갖는 모델을 비롯한, 다른 멤리스터 모델도 또한 유도된 알고리즘과 함께 작동한다.
에러 델타(Tk-Ik)가 외부 회로에 의한 측정에 이용 가능하기 때문에, 지속 기간 t는 이 에러 델타의 크기에 비례하도록 설정될 수 있다. 멤리스터(Gkj)의 컨덕턴스에서의 결과적으로 나타나는 변화는, 하기에서 설명되는 바와 같이, 내부 노드 j에서의 전압 Vj에 비례하도록 또한 만들어질 수 있다.
내부 노드(예를 들면, 전도성 코어(12A))에서의 전압은 직접적으로 변경될 수 없고 알려지지 않을 수도 있다. 그러나, 입력 및/또는 출력에서의 전압 및/또는 전류는 직접적으로 측정될 수 있다. 출력은 모두 초기에 접지되어 있으므로, 단일의 출력 상의 전압을 변경하는 것은 내부 노드에서의 전압을 교란할 것이다. 그러나, 많은 입력 및 출력이 존재한다면, 이것은 작은 교란으로만 나타날 것이다.
출력 노드가 선택되고 전압이 VT와 동일하게 설정되면, 양의 전압(+Vj)을 갖는 모든 내부 노드에 대한 연결은, Vj가 양의 값이기 때문에 그들의 전압 강하(VT-Vj)가, 정의상, VT보다 더 적을 것이기 때문에, 그들의 컨덕턴스를 변경하지 않을 것이다. 이것은, 전압 강하가 VT보다 더 클 음의 Vj를 갖는 내부 노드를 분리한다. 또한, 각각의 음의 내부 노드 양단의 전압 강하는 이제 다음과 같다:
Figure pct00009
.
따라서, 컨덕턴스 변화를 구동하는 양
Figure pct00010
는 Vj에 비례한다. 에러 델타가 음의 값이면, 전류는 더 큰 음의 값이어야 한다. 따라서, 음의 전압을 갖는 내부 노드에 대한 연결을 보강하는 것이 바람직할 것이다. 상기의 경우, ΔV > VT이기 때문에, 출력 노드에 대한 VT의 인가는, 각각의 노드의 Vj에 비례하는 양만큼 모든 음의 내부 노드에 대한 컨덕턴스를 증가시킬 것이다. 이 전압이 이 출력 노드 상의 에러 델타에 비례하는 시간 기간 t 동안 인가된다는 것이 가정되면, 델타 규칙
Figure pct00011
는 이 연결 세트에 대해 재구성될 수 있다.
이것은, 시간 t 동안 +VT의 인가 이후 전압 -VT를 인가하는 것에 의해, 이 출력 노드에 연결되는 양의 내부 노드로 확장될 수 있다. 이제, 음의 전압을 갖는 모든 내부 노드 양단의 전압 강하(-VT - Vj)는 컨덕턴스 변화에 대한 임계치 아래에 있을 것이고, 따라서, 양의 Vj를 갖는 내부 노드를 효과적으로 분리할 것이다. 유사한 이유 때문에, 이들 양의 내부 노드 양단의 컨덕턴스 변화의 크기는, 컨덕턴스를, 증가시키기 보다는, 감소시키는 방향에서 각각의 내부 노드에서의 전압에 또한 비례한다. 다시, 이것은 음의 에러 델타를 갖는 출력 노드에 필요한 것이다.
양의 에러 델타를 갖는 출력을 설명하기 위해, 이들 컨덕턴스 변화의 방향은 반전될 수 있다. 구체적으로, 음의 내부 노드에 대한 연결은 약화될 수 있고 양의 내부 노드에 대한 연결은 보강될 수 있다. 이것은 모든 입력의 전압 극성을 반전시키고(따라서 모든 내부 노드의 부호를 뒤집음), 상기에서 설명되는 동일한 프로시져를 후속시키는 것에 의해 달성될 수 있다. 이것은, 각각의 경우에 각각의 멤리스터 양단의 전압 강하의 방향을 뒤집을 것이다.
다음으로, 입력의 컨덕턴스를 내부 노드 가중치로 변경하기 위한 프로시져가 개발될 수 있다. 입력 전압이
Figure pct00012
Figure pct00013
사이로 제한되기 때문에, 이들 가중치는 , 입력 노드로부터 내부 노드로의 최대 전압 강하가 VT를 초과할 수 없기 때문에, 출력 가중치의 트레이닝 동안 변경될 수 없다.
역전파 알고리즘의 역전파 단계는 다음의 식에 의해 주어진다:
Figure pct00014
중심 항이 에러 델타에 비례하는 대신, 그것은, 이제, 에러 델타의 가중된 합과 동일하다. 이것은 내부 노드(j)의 "에러에 대한 기여"이다. 우측의 항은, 측정을 위해 액세스 가능한 입력에서의 전압이다. 지속 기간 t는 이 입력 Vi의 절대 값에 비례하게 만들어질 수 있다.
이제, 상기의 가중된 합은 내부 노드(j) 상의 전압으로서 재생성될 수 있고, 이 전압에 비례하게 컨덕턴스를 변경하기 위해 상기에서 설명되는 동일한 방법이 적용될 수 있다.
에러 델타(Tk-Ik)가 취해지고 전압으로 변환되면, 이 가중된 합은, 입력 노드를 접지시키는 동안 이들 전압을 출력 노드 상에 위치시키는 것에 의해 달성될 수 있다. 각각의 내부 노드 상의 에러에 대한 결과적으로 나타나는 기여는 정규화 인자 Gj까지 정확한데, 이것도 역시 학습 프로세스에 큰 영향을 끼치지 않는다.
양의 입력을 갖는 입력 노드에 전압 VT를 인가하는 것에 의해, 음의 전압을 갖는 노드에 연결되는 모든 노드에 대한 컨덕턴스를 선택적으로 보강하여, 에러에 대한 이들 내부 노드의 기여를 감소시키는 것이 가능하다. 마찬가지로, 전압 -VT를 인가하는 것은 양의 전압을 갖는 모든 노드에 대한 컨덕턴스를 선택적으로 약화시켜, 에러에 대한 이들 노드의 기여를 다시 감소시킬 것이다. 모든 에러 델타의 부호를 뒤집으면, 음의 입력을 갖는 입력 노드는 동일한 방식으로 핸들링될 수 있다.
도 4는 본원에서 설명되는 다양한 실시형태에 따른 도 2에서 도시되는 피드포워드 네트워크(30)를 트레이닝시키기 위한 예시적인 트레이닝 프로세서(110)를 예시한다. 트레이닝 프로세서(110)는 데이터 저장소(120), 인터페이스 모듈(130), 측정 모듈(140), 및 트레이닝 모듈(150)을 포함한다. 데이터 저장소(120)는, 트레이닝 데이터(122) 및 네트워크 데이터(124)를 비롯한 다양한 타입의 데이터를 저장한다. 트레이닝 데이터(122)는, 피드포워드 네트워크(30)를 트레이닝시키기 위해 트레이닝 모듈(150)에 의해 의존될 수 있다. 예를 들면, 트레이닝 데이터(122)는, 피드포워드 네트워크(30) 내의 내부 노드(예를 들면, 전도성 금속성 코어(12A))와 출력 노드(예를 들면, 입력 전극(14A) 및/또는 출력 전극(14B)) 사이의 목표 가중치를 정의하는 데이터를 포함할 수 있다. 따라서, 트레이닝 데이터(122)는 피드포워드 네트워크(30)에서 멤리스티브 쉘(12B)의 각각으로 프로그래밍될 컨덕턴스의 목표 레벨 또는 값을 정의할 수 있다. 트레이닝 데이터(122)는, 네트워크를 트레이닝시키는 임의의 목적을 위해, 트레이닝을 위한 임의의 적절한 모델에 기초할 수 있다.
네트워크 데이터(124)는, 전도성 금속성 코어(12A), 입력 전극(14A), 및 출력 전극(14B) 사이의 연결과 같은, 피드포워드 네트워크(30)의 네트워크 구조를 정의하는 데이터를 포함할 수 있다. 따라서, 네트워크 데이터(124)는 도 4에서 도시되는 전도성 금속성 코어(12A), 입력 전극(14A), 및 출력 전극(14B) 사이의 멤리스티브 쉘(12B)에 의해 형성되는 멤리스터 연결을 정의할 수 있다. 트레이닝 모듈(150)은 피드포워드 네트워크(30)를 트레이닝시키기 위해 사용할 단계의 적절한 시퀀스를 결정하기 위해 네트워크 데이터(124)를 참조할 수 있다.
인터페이스 모듈(130)은 입력 전극(14A) 및 출력 전극(14B)과의 전기적 인터페이스를 제공하기 위한 하나 이상의 회로를 포함할 수 있다. 예를 들면, 인터페이스 모듈(130)은 입력 전극(14A) 및/또는 출력 전극(14B) 중 하나 이상에 입력 전압 및/또는 전류를 제공할 수 있는 회로부를 포함할 수 있다. 인터페이스 모듈(130)은 입력 전극(14A) 및/또는 출력 전극(14B) 중 하나 이상을 접지시킬 수 있는 회로부를 포함할 수 있다. 인터페이스 모듈(130)은 또한 입력 전극(14A) 및/또는 출력 전극(14B) 중 하나 이상에서 전압 및/또는 전류를 판독할 수 있는 회로부를 포함할 수 있다.
측정 모듈(140)은 입력 전극(14A) 및/또는 출력 전극(14B) 중 하나 이상에서 측정을 행하기 위한 하나 이상의 회로부를 포함할 수 있다. 예를 들면, 측정 모듈(140)은 입력 전극(14A) 및/또는 출력 전극(14B) 중 하나 이상에서 전압 및/또는 전류를 측정할 수 있다. 측정 모듈(140)은 또한 측정된 값과 목표 값 사이의 차이를 결정하기 위해 다양한 전압, 전류, 등등 사이의 차이를 계산할 수 있다. 인터페이스 모듈(130) 및 측정 모듈(140) 둘 모두는, 메모리를 갖는, 증폭기, 필터, 및 프로세싱 회로부를 비롯한, 아날로그 및/또는 디지털 회로부의 임의의 적절한 네트워크로서 구현될 수 있다.
트레이닝 모듈(150)은 도 5a, 도 5b 및 도 5c에서 도시되는 멤리스티브 네트워크 트레이닝 프로세스를 수행할 수 있는 프로세싱 회로부로서 구현될 수 있다. 그 맥락에서, 트레이닝 모듈(150)은, 내부 노드의 전도성 코어(12A)와 입력 전극(14A) 사이의 컨덕턴스 또는 가중치를 트레이닝시킬 것을 인터페이스 모듈(130)에게 지시할 수 있다. 트레이닝 모듈(150)은 또한, 내부 노드의 전도성 코어(12A)와 출력 전극(14B) 사이의 컨덕턴스 또는 가중치를 트레이닝시킬 것을 인터페이스 모듈(130)에게 지시할 수 있다.
실질적인 의미에서, 피드포워드 네트워크(30)의 내부 구조(예를 들면, 입력 전극(14A), 출력 전극(14B), 및 전도성 코어(12A) 사이의 멤리스티브 쉘(12B) 연결의 개개의 연결 및/또는 컨덕턴스)는 알려지지 않을 수도 있다. 따라서, 트레이닝 모듈(150)에 의해 수행되는 알고리즘은 트레이닝 프로세스를 암시적으로 수행하도록 설계된다. 피드포워드 네트워크(30)를 트레이닝시키는 것을 통해, 트레이닝 모듈(150)은 입력 전극(14A)과 전도성 코어(12A) 사이의, 그리고 출력 전극(14B)과 전도성 코어(12A) 사이의 통로의 세트를 효과적으로 자체 편제한다(self-organizing). 통로는 입력 전극(14A), 출력 전극(14B), 및 전도성 코어(12A) 사이의 멤리스티브 쉘(12B)의 컨덕턴스를 조정하는 것을 통해 정의되거나 또는 편제된다. 몇몇 경우에, 트레이닝을 위해 목표 가중치의 세트를 사용하는 대신, 트레이닝 모듈(150)은 출력 전극(14B)에서 목표 전류의 세트를 가지고 시작할 수 있다.
도 5a 내지 도 5c는 본원에서 설명되는 다양한 실시형태에 따른 피드포워드 네트워크를 트레이닝시키기 위한 예시적인 멤리스티브 네트워크 트레이닝 프로세스를 예시한다. 트레이닝 프로세스는 도 4에서 도시되는 트레이닝 프로세서(110) 및 피드포워드 네트워크(30)와 관련하여 설명된다. 따라서, 트레이닝 프로세서(110)는 도 5a 내지 도 5c에서 도시되는 프로세스를 수행하도록 구성된다. 그러나, 도 5a 내지 도 5c에서 도시되는 프로세스를 사용하여 다른 트레이닝 프로세서에 의해 다른 피드포워드 네트워크가 트레이닝될 수 있다. 게다가, 비록 프로세스 다이어그램이 동작 또는 실행 순서를 나타내지만, 순서는 도시되는 것과는 상이할 수 있다. 예를 들면, 두 개 이상의 프로세스 단계의 실행의 순서는, 도시되는 순서와 관련하여 또는 하기에서 설명되는 바와 같이 전환될 수 있다. 또한, 연속적으로 도시되는 두 개 이상의 프로세스 단계는 동시에 또는 부분적인 동시성을 가지고 실행될 수 있다. 게다가, 몇몇 예에서, 프로세스 다이어그램에서 도시되는 프로세스 단계 중 하나 이상은 스킵 또는 생략될 수 있다.
도 5a를 참조하면, 트레이닝 모듈(150)은, 먼저, 피드포워드 네트워크(30) 내의 출력 전극(14B)과 내부 노드의 전도성 코어(12A) 사이의 컨덕턴스 또는 가중치(예를 들면, 멤리스터의 컨덕턴스)를 트레이닝시킬 수 있다. 그를 위해, 단계 202에서, 프로세스는 피드포워드 네트워크의 하나 이상의 입력 노드에서 입력 전력을 인가하는 것을 포함한다. 예를 들면, 트레이닝 모듈(150)은, 피드포워드 네트워크(30)의 입력 전극(14A) 중 하나 이상에
Figure pct00015
Figure pct00016
사이의 전압을 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 몇몇 경우에, 트레이닝 모듈(150)은 입력 전극(14A)의 각각에
Figure pct00017
Figure pct00018
사이의 전압을 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 전압의 인가에 대한 대안으로서, 트레이닝 모듈(150)은 입력 전극(14A) 중 하나 이상에 소정의 레벨의 전류를 인가 또는 구동할 것을 인터페이스 모듈(130)에게 지시할 수 있다.
단계 204에서, 프로세스는 피드포워드 네트워크의 하나 이상의 출력 노드를 접지시키는 것을 포함할 수 있다. 예를 들면, 트레이닝 모듈(150)은 피드포워드 네트워크(30)의 출력 전극(14B) 중 하나 이상을 접지시킬 것을 인터페이스 모듈(130)에게 지시할 수 있다. 몇몇 경우에, 트레이닝 모듈(150)은 출력 전극(14B)의 각각을 접지시킬 것을 인터페이스 모듈(130)에게 지시할 수 있다.
상기에서 언급되는 바와 같이, 수학식 (5)에서, 정규화 인자
Figure pct00019
는 전압 또는 전류의 순간 값에 의존하지 않는다. 정규화 인자 Gj는 피드포워드 네트워크(30)의 동작에 큰 영향을 끼치지 않는다. 모든 출력 노드가 접지 상태로 남아 있는 경우(즉, Vi = 0), 합계에 대한 기여는 입력 노드의 기여뿐이다. 따라서, 내부 노드에서의 전압은 정규화 인자로 나누어지는 컨덕턴스 매트릭스에 의한 입력의 선형 변환으로 간주될 수 있다.
유사하게, 출력 전극(14B)에서의 전류는 트레이닝 모듈(150)에 의해 구해질 수 있다. 출력 전극(14B)이 단계 204에서 모두 접지되기 때문에, 전류는 수학식 (6)에 의해 주어질 수 있다. 상기에서 언급되는 바와 같이, 이것은 컨덕턴스의 매트릭스에 의한 숨겨진 노드의 선형 변환이다. 동시에, 출력 전극(14B)에서의 실제 전류는 측정 모듈(140)에 의한 측정을 위해 인터페이스 모듈(130)에 의해 액세스 가능하다.
단계 208에서, 프로세스는, 측정 모듈(140)이 출력 전극(14B) 중 하나 이상에서 출력 전류를 측정하는 것을 포함할 수 있다. 측정 모듈(140)은 출력 전극(14B)의 각각의 출력 전류를 차례로 측정할 수 있고, 이어서, 그들 값을 추가적인 프로세싱을 위해 데이터 저장소(120)에 저장할 수 있다. 전류 외에, 측정 모듈(140)은 몇몇 경우에 단계 106에서 출력 전극(14B) 중 하나 이상에서 출력 전압을 또한 측정할 수 있다.
단계 208에서, 프로세스는, 트레이닝 모듈(150)이, 단계 206에서 측정되는 바와 같은, 출력 전극(14B) 중 하나 이상에서의 출력 전류(또는 전압)를, 목표 또는 소망되는 출력 전류(또는 전압)와 비교하여 제1 에러 델타를 결정하는 것을 포함할 수 있다. 단계 208은 출력 전극(14B)의 각각에 대해, 순차적으로, 수행될 수 있고, 제1 에러 델타가 출력 전극(14B)의 각각에 대해 결정될 수 있다. 에러 델타는 추가적인 프로세싱을 위해 데이터 저장소(120)에 저장될 수 있다.
단계 208는 상기의 수학식 (7)에 따른 델타 규칙의 적용으로부터 계속된다. 에러 델타(예를 들면, 수학식 (7)에서의 (Tk-Ik))가 양의 값이면, 단계 206에서 측정되는 전류 또는 전류들을 더 크게 만들고, 따라서, 에러를 감소시키는 것이 바람직할 것이다. 이것은, 양의 값인 내부 노드에 대한 연결을 보강하는 것, 및 음 값인 내부 노드에 대한 연결을 약화시키는 것에 의해 수행될 수 있다. 에러 델타가 음의 값이면, 단계 206에서 측정되는 전류 또는 전류를 더 작게 만들어 에러를 감소시키는 것이 바람직할 것이다.
단계 210에서, 프로세스는, 트레이닝 모듈(150)이 단계 208에서 결정되는 제1 에러 델타의 크기에 비례하는 시간 기간 동안 출력 전극(14B) 중 하나 이상에 임계 전압 또는 전류를 인가하는 것을 포함할 수 있다. 예를 들면, 단계 208에서 출력 전극(14B) 중 제1 출력 전극에 대한 제1 에러 델타가 결정될 수 있다. 그 다음, 단계 210에서, 트레이닝 모듈(150)은, 단계 208에서 출력 전극(14B) 중 제1 출력 전극에 대해 결정되는 제1 에러 델타의 크기에 비례하는 시간 기간 동안 출력 전극(14B) 중 제1 출력 전극에 양의 임계 전압 VT 또는 음의 임계 전압 -VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 나머지 출력 전극(14B)(즉, 제1 출력 전극 이외의 것)은 접지된 상태로 유지될 수 있다. 단계 210은 출력 전극(14B)의 각각에 걸쳐 차례로 반복될 수 있다.
단계 210에서 임계 전압을 인가하는 프로시져는 도 5b에서 더욱 상세하게 도시되어 있다. 도 5b의 단계 302에서, 프로세스는, 트레이닝 모듈(150)이 출력 전극(14B) 중 제1 출력 전극에 대한 단계 208로부터의 에러 델타(예를 들면, 수학식 7의 (Tk-Ik))가 음의 값인지의 여부를 결정하는 것을 포함한다. 에러 델타가 음의 값이면, 그 다음, 프로세스는 단계 304로 진행한다. 에러 델타가 양의 값이면, 그 다음, 프로세스는 단계 308로 진행한다.
단계 304에서, 프로세스는, 트레이닝 모듈(150)이 에러 델타에 비례하는 시간 기간 동안 출력 노드 중 하나 이상에 양의 임계 전압 또는 전류를 인가하는 것을 포함한다. 예를 들면, 단계 208에서 출력 전극(14B) 중 제1 출력 전극에 대해 에러 델타가 결정될 수 있다. 그 다음, 단계 304에서, 트레이닝 모듈(150)은, 단계 208에서 결정되는 에러 델타의 크기에 비례하는 시간 기간 동안 출력 전극(14B) 중 제1 출력 전극에 양의 임계 전압 VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 나머지 출력 전극(14B)(즉, 제1 출력 전극 이외의 것)은 단계 304에서 접지된 상태로 유지될 수 있다.
상기에서 언급되는 바와 같이, 단계 304에서 출력 전극(14B) 중 제1 출력 전극이 선택되고 전압이 VT와 동일하게 설정되면, 양의 전압(+Vj)을 갖는 모든 내부 노드에 대한 연결은, Vj가 양의 값이기 때문에 그들의 전압 강하(VT-Vj)가, 정의상, VT보다 더 적을 것이기 때문에, 그들의 컨덕턴스를 변경하지 않을 것이다. 이것은, 전압 강하가 VT보다 더 클 음의 Vj를 갖는 내부 노드를 분리한다. 또한, 각각의 음의 내부 노드 양단의 전압 강하는 이제 수학식 (9) 및 (10)에서의 관계와 동일하다.
게다가, 컨덕턴스 변화를 구동하는 양
Figure pct00020
는, 따라서, Vj에 비례한다. 에러 델타가 음의 값인 경우(즉, 도 5b의 단계 302로부터의 "예(Yes)" 분기), 전류는 더 큰 음의 값이어야 한다. 따라서, 음의 전압을 갖는 내부 노드에 대한 연결을 보강하는 것이 바람직할 것이다. 상기의 경우에서, ΔV > VT이기 때문에, 단계 304에서의 출력 전극(14B) 중 제1 출력 전극에 대한 VT의 인가는 각각의 노드의 Vj에 비례하는 양만큼 모든 음의 내부 노드에 대한 컨덕턴스를 증가시킬 수 있다. 이 전압이 이 출력 노드 상의 에러 델타에 비례하는 시간 기간 t 동안 인가된다는 것이 가정되면, 그러면, 이 연결 세트에 대해 역전파 알고리즘
Figure pct00021
가 재구성될 수 있다.
이것은, 시간 t 동안 +VT를 인가한 이후 전압 -VT를 인가하는 것에 의해 출력 전극(14B) 중 제1 출력 전극에 연결되는 양의 내부 노드로 확장될 수 있다. 따라서, 단계 306에서, 프로세스는 또한 에러 델타에 비례하는 시간 기간 동안 출력 노드 중 하나 이상에 음의 임계 전압 또는 전류를 인가하는 것을 포함할 수 있다. 예를 들면, 단계 306에서, 트레이닝 모듈(150)은, 단계 208에서 결정되는 에러 델타의 크기에 비례하는 시간 기간 t 동안 출력 전극(14B) 중 제1 출력 전극에 음의 임계 전압 -VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 나머지 출력 전극(14B)(즉, 제1 출력 전극 이외의 것)은 단계 306에서 접지된 상태로 유지될 수 있다.
단계 306에 기인하여, 음의 전압을 갖는 모든 내부 노드 양단의 전압 강하(-VT - Vj)는 컨덕턴스 변화에 대한 임계치 아래에 있을 것이고, 따라서, 양의 Vj를 갖는 내부 노드를 효과적으로 분리할 것이다. 유사한 이유 때문에, 이들 양의 내부 노드 양단의 컨덕턴스 변화의 크기는, 컨덕턴스를, 증가시키기 보다는, 감소시키는 방향에서 각각의 내부 노드에서의 전압에 또한 비례한다. 다시, 이것은 음의 에러 델타를 갖는 출력 노드에 필요한 것이다{즉, 도 5b에서의 단계 302로부터의 "예" 분기}. 단계 304 및 308은 음의 에러 델타를 갖는 모든 출력 전극(14B)에 대해 발생할 수 있다.
양의 에러 델타를 갖는 출력(즉, 도 5b에서의 단계 302로부터의 "아니오" 분기)을 설명하기 위해, 이들 컨덕턴스 변화의 방향은 반전될 수 있다. 구체적으로, 음의 내부 노드에 대한 연결은 약화될 수 있고 양의 내부 노드에 대한 연결은 보강될 수 있다. 이것은 단계 308에서 모든 입력의 전압 극성을 반전시키는 것(따라서 모든 내부 노드의 부호를 뒤집음)에 의해 달성될 수 있다. 단계 308에서, 프로세스는, 트레이닝 모듈(150)이 입력 전극(14A)에 인가되는 입력 전압 또는 전류의 극성을 반전시키는 것을 포함한다. 이것은 단계 202에서 입력 전극(14A)에 인가되는 전압 또는 전류의 극성의 반전일 수 있다. 게다가, 단계 310 및 312에서, 프로세스는 단계 304 및 306과 각각 유사한 단계를 포함한다. 단계 308, 310, 및 312는 양의 에러 델타를 갖는 모든 출력 전극(14B)에 대해 발생할 수 있다. 프로세스는 도 5b로부터 도 5a의 단계 212로 복귀할 수 있다.
도 5a로 돌아가서, 트레이닝 모듈(150)은, 이제, 내부 노드의 전도성 코어(12A)와 입력 전극(14A) 사이의 컨덕턴스 또는 가중치를 트레이닝시킬 수 있다. 단계 202, 204, 206, 208 및 210 중에서 입력 전극(14A)에 인가되는 전압이
Figure pct00022
Figure pct00023
사이로 제한되었기 때문에, 내부 노드의 전도성 코어(12A)와 입력 전극(14A) 사이의 가중치는, 입력 노드로부터 내부 노드로의 최대 전압 강하가 VT를 초과할 수 없기 때문에, 출력 가중치의 트레이닝 동안 변경될 수 없었다.
단계 212에서, 프로세스는, 트레이닝 모듈(150)이, 출력 전극(14B) 중 하나 이상에 대해, 단계 208에서 결정되는 출력 전극(14B)의 제1 에러 델타를 출력 전극(14B)에 대한 제2 에러 델타로 변환하는 것을 포함할 수 있다. 하나의 예로서, 트레이닝 모듈(150)은, 출력 전극(14B) 중 제1 출력 전극에 대한 제1 에러 델타 전류(예를 들면, 수학식 (7)에서의(Tk-Ik))를, 전압일 수도 있는 제2 에러 델타로 변환할 수 있다. 제2 에러 델타는 제1 에러 델타에 비례할 수 있지만, 그러나, 예를 들면, 전류로부터 전압으로, 또는 전압으로부터 전류로 변환될 수 있다. 단계 212는, 데이터 저장소(120)에 저장된 단계 208로부터의 제1 에러 델타를 참조하여 출력 전극(14B)의 각각에 대해 수행될 수 있다.
단계 214에서, 프로세스는 피드포워드 네트워크의 하나 이상의 입력 노드를 접지시키는 것을 포함할 수 있다. 예를 들면, 트레이닝 모듈(150)은 피드포워드 네트워크(30)의 입력 전극(14A) 중 하나 이상을 접지시킬 것을 인터페이스 모듈(130)에게 지시할 수 있다. 몇몇 경우에, 트레이닝 모듈(150)은 입력 전극(14A)의 각각을 접지시킬 것을 인터페이스 모듈(130)에게 지시할 수 있다.
단계 216에서, 프로세스는, 출력 전극(14B)의 각각에 대해, 단계 212에서 결정되는 제2 에러 델타를 출력 전극(14B)에 적용하는 것을 포함할 수 있다. 예를 들면, 상기에서 설명되는 바와 같이 출력 전극(14B)의 각각에 대해, 전압일 수 있는 제2 에러 델타가 단계 212에서 결정될 수 있다. 트레이닝 모듈(150)은, 출력 전극(14B)의 각각에 대한 제2 에러 델타 전압을 출력 전극(14B)에 각각 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 단계 216는 또한, 제2 에러 델타의 절대 값에 비례하는 제2 시간 기간 동안, 입력 전극(14A)에, 차례로, 임계 전압 또는 전류를 인가하는 것을 포함할 수 있다.
단계 216의 프로시져는 도 5c에서 더욱 상세하게 도시되어 있다. 도 5c의 단계 320에서, 트레이닝 모듈(150)은, 출력 전극(14B)의 각각에 대해 단계 212에서 결정되는 제2 에러 델타 전압을 출력 전극(14B)에 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다.
도 5c의 단계 322에서, 프로세스는, 트레이닝 모듈(150)이 도 5a의 단계 202에서 입력 전극(14A) 중 하나에 인가된 원래의 입력이 음의 값인지의 여부를 결정하는 것을 포함한다. 원래의 입력이 음의 값인 경우, 그 다음, 프로세스는 단계 324로 진행한다. 원래의 입력이 양의 값이면, 그 다음, 프로세스는 단계 328로 진행한다.
단계 324에서, 프로세스는, 트레이닝 모듈(150)이 제2 에러 델타에 비례하는 시간 기간 동안 입력 노드 중 하나 이상에 양의 임계 전압 또는 전류를 인가하는 것을 포함한다. 예를 들면, 트레이닝 모듈(150)은, 도 5a의 단계 212에서 결정되는 제2 에러 델타의 절대 값에 비례하는 제2 시간 기간 동안 입력 전극(14A) 중 하나에 양의 임계 전압 VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 게다가, 단계 326에서, 트레이닝 모듈(150)은 제2 시간 기간 동안 입력 전극(14A) 중 제1 입력 전극에 음의 임계 전압 -VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 나머지 입력 전극(14A)(즉, 제1 입력 전극 이외의 것)은 단계 324 및 326에서 접지된 상태로 유지될 수 있다.
도 5c의 단계 328에서, 프로세스는, 트레이닝 모듈(150)이 단계 320에서 출력 전극(14B)에 인가되는 제2 에러 델타 전압의 극성을 반전시키는 것을 포함한다. 단계 3330에서, 프로세스는, 트레이닝 모듈(150)이 제2 에러 델타에 비례하는 시간 기간 동안 입력 노드 중 하나 이상에 양의 임계 전압 또는 전류를 인가하는 것을 포함한다. 예를 들면, 트레이닝 모듈(150)은, 도 5a의 단계 212에서 결정되는 제2 에러 델타의 절대 값에 비례하는 제2 시간 기간 동안 입력 전극(14A) 중 하나에 양의 임계 전압 VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 게다가, 단계 332에서, 트레이닝 모듈(150)은 제2 시간 기간 동안 입력 전극(14A) 중 제1 입력 전극에 음의 임계 전압 -VT를 인가할 것을 인터페이스 모듈(130)에게 지시할 수 있다. 나머지 입력 전극(14A)(즉, 제1 입력 전극 이외의 것)은 단계 324 및 328에서 접지된 상태로 유지될 수 있다.
도 5a 내지 도 5c에서 제시되는 알고리즘은 이분 멤리스티브 네트워크에서 역전파 알고리즘을 재생성한다. 비록 도 5a 내지 도 5c에서 하나의 예시적인 순서 또는 시퀀스로 제시되었지만, 알고리즘은, 몇몇 경우에, 대안적인 시퀀스에서 적용 또는 사용될 수 있다. 추가적으로, 알고리즘에서 소정의 전압 및 전류가 적용 및/또는 측정되는 것으로 설명되지만, 전압의 측정 또는 인가는 전류의 것에 의해 대체될 수 있다는 것이 인식되어야 한다. 유사하게, 전류의 측정 또는 인가는 전압의 것에 의해 대체될 수 있다. 알고리즘이 트레이닝 예마다 각각의 외부 노드에 걸쳐 한 번씩만 반복하기 때문에, 노드의 수와 관련하여 그것은 시간적으로 1 차이다. 이것은, 시간적으로 2 차인 역전파 알고리즘의 표준 구현과는 대조적이다.
인터페이스 모듈(130), 측정 모듈(140), 및 트레이닝 모듈(150)을 비롯한, 본원에서 설명되는 컴포넌트는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 각각의 엘리먼트는 명시된 로직 기능(들)을 구현하기 위한 프로그램 명령어를 포함하는 모듈 또는 코드의 그룹을 나타낼 수 있다. 프로그램 명령어는, 예를 들면, 프로그래밍 언어로 작성되는 사람이 읽을 수 있는 선언문(statement)을 포함하는 소스 코드 또는 컴퓨터 시스템 또는 다른 시스템의 프로세서와 같은 적절한 실행 시스템에 의해 인식 가능한 머신 명령어를 포함하는 머신 코드의 형태로 구현될 수 있고, 하드웨어로 구현되는 경우, 각각의 엘리먼트는, 명시된 논리적 기능(들)을 구현하는 다수의 인터커넥트된 회로 또는 회로를 나타낼 수 있다.
트레이닝 프로세서(110)는 적어도 하나의 프로세싱 회로를 포함할 수 있다. 그러한 프로세싱 회로는, 예를 들면, 로컬 인터페이스에 커플링되는 하나 이상의 스토리지 또는 메모리 디바이스 및 하나 이상의 프로세서를 포함할 수 있다. 로컬 인터페이스는, 예를 들면, 수반되는 어드레스/제어 버스를 갖는 데이터 버스 또는 임의의 다른 적절한 버스 구조체를 포함할 수 있다. 스토리지 또는 메모리 디바이스는 프로세싱 회로의 프로세서에 의해 실행 가능한 데이터 또는 컴포넌트를 저장할 수 있다. 예를 들면, 트레이닝 모듈(150) 및/또는 다른 컴포넌트는 하나 이상의 스토리지 디바이스에 저장될 수 있고 트레이닝 프로세서(110) 내의 하나 이상의 프로세서에 의해 실행 가능할 수 있다.
본원에서 설명되는 트레이닝 모듈(150) 및 다른 컴포넌트는, 하드웨어의 형태로, 하드웨어에 의해 실행 가능한 소프트웨어 컴포넌트로서, 또는 소프트웨어와 하드웨어의 조합으로서 구현될 수 있다. 하드웨어로 구현되는 경우, 본원에서 설명되는 컴포넌트는 임의의 적절한 하드웨어 기술을 활용하는 회로 또는 상태 머신으로서 구현될 수 있다. 하드웨어 기술은, 예를 들면, 하나 이상의 마이크로프로세서, 하나 이상의 데이터 신호의 인가시 다양한 로직 기능을 구현하기 위한 로직 게이트를 갖는 이산 로직 회로, 적절한 로직 게이트를 갖는 주문형 집적 회로(Application Specific Integrated Circuit; ASIC), 프로그래머블 로직 디바이스(예를 들면, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA)), 및 복합 프로그래머블 로직 디바이스(complex programmable logic device; CPLD)를 포함할 수 있다.
또한, 소프트웨어 또는 프로그램 명령어를 포함하는 본원에서 설명되는 컴포넌트 중 하나 이상은, 컴퓨터 시스템 또는 다른 시스템에서의 프로세서와 같은 명령어 실행 시스템에 의해 또는 그와 관련하여 사용하기 위한 임의의 비일시적 컴퓨터 판독 가능 매체에서 구현될 수 있다. 컴퓨터 판독 가능 매체는, 명령어 실행 시스템에 의해 또는 그와 관련하여 사용하기 위한 소프트웨어 또는 프로그램 명령어를 포함, 저장, 및/또는 유지할 수 있다.
컴퓨터 판독 가능 매체는, 자기, 광학, 반도체, 및/또는 다른 적절한 매체와 같은 물리적 매체를 포함할 수 있다. 적절한 컴퓨터 판독 가능 매체의 예는, 솔리드 스테이트 드라이브, 자기 드라이브, 또는 플래시 메모리를 포함하지만, 그러나 이들로 제한되는 것은 아니다. 게다가, 본원에서 설명되는 임의의 로직 또는 컴포넌트는 다양한 방식으로 구현 및 구성될 수 있다. 예를 들면, 설명되는 하나 이상의 컴포넌트는 단일의 애플리케이션의 모듈 또는 컴포넌트로서 구현될 수 있다. 게다가, 본원에서 설명되는 하나 이상의 컴포넌트는 하나의 컴퓨팅 디바이스에서 또는 다수의 컴퓨팅 디바이스를 사용하는 것에 의해 실행될 수 있다.
본 개시의 상기에서 설명된 예는 본 개시의 원리의 명확한 이해를 위해 기술되는 구현예의 가능한 예에 불과하다. 본 개시의 취지 및 원리로부터 실질적으로 벗어나지 않으면서 많은 변형 및 수정이 이루어질 수 있다. 모든 그러한 수정 및 변형은, 본 개시의 범위 내에서 본원에 포함되도록 그리고 다음의 청구범위에 의해 보호되도록 의도된다.
본원에서 설명되는 실시형태 중 하나 이상에 지원은 또한 다음의 조항(clause) 중 하나 이상에서 발견될 수 있다:
조항 1: 다수의 입력 노드 및 다수의 출력 노드를 포함하는 멤리스티브 네트워크를 트레이닝시키는 방법으로서, 방법은 다음의 것을 포함한다: 다수의 입력 노드 중 한 입력 노드에 입력 전압 또는 전류를 인가하는 것; 다수의 출력 노드 중 한 출력 노드를 접지시키는 것; 출력 노드에서 출력 전류 또는 전압을 측정하는 것; 출력 전류 또는 전압을 목표 전류 또는 전압에 비교하여 에러 델타를 결정하는 것; 및 에러 델타의 크기에 비례하는 시간 기간 동안 출력 노드에 임계 전압 또는 전류를 인가하는 것.
조항 2: 조항 1의 방법으로서, 에러 델타가 음의 값인 경우, 출력 노드에 임계 전압 또는 전류를 인가하는 것은 다음의 것 포함한다: 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압 또는 전류를 인가하는 것; 및 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압 또는 전류를 인가하는 것.
조항 3: 조항 1의 방법으로서, 에러 델타가 양의 값인 경우, 출력 노드에 임계 전압 또는 전류를 인가하는 것은 다음의 것을 포함한다: 입력 노드에 인가되는 입력 전압 또는 전류의 극성을 반전시키는 것; 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압 또는 전류를 인가하는 것; 및 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압 또는 전류를 인가하는 것.
조항 4: 조항 1의 방법으로서, 다음의 것을 더 포함한다: 에러 델타를 에러 델타 전압 또는 전류로 변환하는 것; 에러 델타 전압 또는 전류를 출력 노드에 인가하는 것; 및 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 임계 전압 또는 전류를 인가하는 것.
조항 5: 조항 4의 방법으로서, 입력 노드에 인가된 입력 전압 또는 전류가 양의 값이었던 경우, 입력 노드에 임계 전압 또는 전류를 인가하는 것은 다음의 것을 포함한다: 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 양의 임계 전압 또는 전류를 인가하는 것; 및 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 음의 임계 전압 또는 전류를 인가하는 것.
조항 6: 조항 4의 방법으로서, 입력 노드에 인가된 입력 전압 또는 전류가 음의 값이었던 경우, 입력 노드에 임계 전압 또는 전류를 인가하는 것은 다음의 것을 포함한다: 출력 노드에 인가되는 에러 델타 전압 또는 전류의 극성을 반전시키는 것; 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 양의 임계 전압 또는 전류를 인가하는 것; 및 에러 델타 전압의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 음의 임계 전압 또는 전류를 인가하는 것.
조항 7: 조항 1의 방법으로서, 멤리스티브 네트워크는 이분 멤리스티브 네트워크를 포함한다.
조항 8: 조항 1의 방법으로서, 방법은 멤리스티브 네트워크를 트레이닝시키기 위한 역전파 알고리즘을 재생성한다.
조항 9: 멤리스티브 네트워크로서, 멤리스티브 네트워크는 다음의 것을 포함한다: 다수의 나노파이버 - 각각의 나노파이버는 금속성 코어 및 멤리스티브 쉘을 포함함 - ; 나노파이버 상에 퇴적되는 다수의 전극 - 다수의 전극은 다수의 입력 노드 및 다수의 출력 노드를 포함함 - ; 및 다수의 입력 노드 중 한 입력 노드에 입력 전압 또는 전류를 인가하도록; 다수의 출력 노드 중 한 출력 노드를 접지시키도록; 출력 노드에서 출력 전류 또는 전압을 측정하도록; 출력 전류 또는 전압을 목표 전류 또는 전압에 비교하여 에러 델타를 결정하도록; 그리고 에러 델타의 크기에 비례하는 시간 기간 동안 출력 노드에 임계 전압 또는 전류를 인가하도록: 구성되는 트레이닝 프로세서.
조항 10: 조항 9에 따른 멤리스티브 네트워크로서, 에러 델타가 음의 값인 경우,트레이닝 프로세서는 또한: 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압 또는 전류를 인가하도록 구성된다.
조항 11: 조항 9에 따른 멤리스티브 네트워크로서, 에러 델타가 양의 값인 경우, 트레이닝 프로세서는 또한: 입력 노드에 인가되는 입력 전압 또는 전류의 극성을 반전시키도록; 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압 또는 전류를 인가하도록 구성된다.
조항 12: 조항 9에 따른 멤리스티브 네트워크로서, 트레이닝 프로세서는 또한: 에러 델타를 에러 델타 전압 또는 전류로 변환하도록; 에러 델타 전압 또는 전류를 출력 노드에 인가하도록; 그리고 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 임계 전압 또는 전류를 인가하도록 구성된다.
조항 13: 조항 12에 따른 멤리스티브 네트워크로서, 입력 노드에 인가된 입력 전압 또는 전류가 양의 값이었던 경우, 트레이닝 프로세서는 또한: 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 음의 임계 전압 또는 전류를 인가하도록 구성된다.
조항 14: 조항 12에 따른 멤리스티브 네트워크로서, 입력 노드에 인가된 입력 전압 또는 전류가 음의 값이었던 경우, 트레이닝 프로세서는 또한: 출력 노드에 인가되는 에러 델타 전압 또는 전류의 극성을 반전시키도록; 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고 에러 델타 전압의 절대 값에 비례하는 제2 시간 기간 동안 입력 노드에 음의 임계 전압 또는 전류를 인가하도록 구성된다.
조항 15: 조항 9에 따른 멤리스티브 네트워크로서, 네트워크는 이분 멤리스티브 네트워크를 포함한다.
조항 16: 다수의 입력 노드 및 다수의 출력 노드를 포함하는 멤리스티브 네트워크를 트레이닝시키기 위한 방법으로서, 방법은 다음의 것을 포함한다: 다수의 입력 노드 중 한 입력 노드에 입력 전압을 인가하는 것; 다수의 출력 노드 중 한 출력 노드를 접지시키는 것; 출력 노드에서 출력 전류를 측정하는 것; 출력 전류를 목표 전류에 비교하여 에러 델타를 결정하는 것; 및 에러 델타의 크기에 비례하는 시간 기간 동안 출력 노드에 임계 전압을 인가하는 것.
조항 17: 조항 16의 방법으로서, 에러 델타가 음의 값인 경우, 출력 노드에 임계 전압을 인가하는 것은 다음의 것을 포함한다: 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압을 인가하는 것; 및 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압을 인가하는 것.
조항 18: 조항 16의 방법으로서, 에러 델타가 양의 값인 경우, 출력 노드에 임계 전압을 인가하는 것은 다음의 것을 포함한다: 입력 노드에 인가되는 입력 전압의 극성을 반전시키는 것; 에러 델타에 비례하는 시간 기간 동안 출력 노드에 양의 임계 전압을 인가하는 것; 및 에러 델타에 비례하는 시간 기간 동안 출력 노드에 음의 임계 전압을 인가하는 것.
조항 19: 조항 16의 방법으로서, 멤리스티브 네트워크는 이분 멤리스티브 네트워크를 포함한다.
조항 20: 조항 16의 방법으로서, 방법은 멤리스티브 네트워크를 트레이닝시키기 위한 역전파 알고리즘을 재생성한다.

Claims (15)

  1. 다수의 입력 노드 및 다수의 출력 노드를 포함하는 멤리스티브 네트워크(memristive network)를 트레이닝시키기 위한 방법으로서,
    상기 다수의 입력 노드 중 한 입력 노드에 입력 전압 또는 전류를 인가하는 단계;
    상기 다수의 출력 노드 중 한 출력 노드를 접지시키는 단계;
    상기 출력 노드에서 출력 전류 또는 전압을 측정하는 단계;
    상기 출력 전류 또는 전압을 목표 전류 또는 전압에 비교하여 에러 델타(error delta)를 결정하는 단계; 및
    상기 에러 델타의 크기에 비례하는 시간 기간 동안 상기 출력 노드에 임계 전압 또는 전류를 인가하는 단계
    를 포함하는, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  2. 제1항에 있어서,
    상기 에러 델타가 음의 값인(negative) 경우, 상기 임계 전압 또는 전류를 상기 출력 노드에 인가하는 단계는:
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 양의 임계 전압 또는 전류를 인가하는 단계; 및
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 음의 임계 전압 또는 전류를 인가하는 단계
    를 포함하는 것인, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  3. 제1항에 있어서,
    상기 에러 델타가 양의 값인(positive) 경우, 상기 출력 노드에 상기 임계 전압 또는 전류를 인가하는 단계는:
    상기 입력 노드에 인가되는 상기 입력 전압 또는 전류의 극성을 반전시키는 단계;
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 양의 임계 전압 또는 전류를 인가하는 단계; 및
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 음의 임계 전압 또는 전류를 인가하는 단계
    를 포함하는 것인, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  4. 제1항에 있어서,
    상기 에러 델타를 에러 델타 전압 또는 전류로 변환하는 단계;
    상기 에러 델타 전압 또는 전류를 상기 출력 노드에 인가하는 단계; 및
    상기 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 상기 입력 노드에 상기 임계 전압 또는 전류를 인가하는 단계
    를 더 포함하는, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  5. 제4항에 있어서,
    상기 입력 노드에 인가된 상기 입력 전압 또는 전류가 양의 값이었던 경우, 상기 입력 노드에 상기 임계 전압 또는 전류를 인가하는 단계는:
    상기 에러 델타 전압 또는 전류의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 양의 임계 전압 또는 전류를 인가하는 단계; 및
    상기 에러 델타 전압 또는 전류의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 음의 임계 전압 또는 전류를 인가하는 단계
    를 포함하는 것인, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  6. 제4항에 있어서,
    상기 입력 노드에 인가된 상기 입력 전압 또는 전류가 음의 값이었던 경우, 상기 입력 노드에 상기 임계 전압 또는 전류를 인가하는 단계는:
    상기 출력 노드에 인가되는 상기 에러 델타 전압 또는 전류의 극성을 반전시키는 단계;
    상기 에러 델타 전압 또는 전류의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 양의 임계 전압 또는 전류를 인가하는 단계; 및
    상기 에러 델타 전압의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 음의 임계 전압 또는 전류를 인가하는 단계
    를 포함하는 것인, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  7. 제1항에 있어서,
    상기 멤리스티브 네트워크는 이분 멤리스티브 네트워크(bipartite memristive network)를 포함하는 것인, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  8. 제1항에 있어서,
    상기 방법은, 상기 멤리스티브 네트워크를 트레이닝시키기 위한 역전파 알고리즘(backpropagation algorithm)을 재생성하는(reproduce) 것인, 멤리스티브 네트워크를 트레이닝시키기 위한 방법.
  9. 멤리스티브 네트워크로서,
    다수의 나노파이버(nanofiber) - 각각의 나노파이버는 금속성 코어 및 멤리스티브 쉘을 포함함 - ;
    상기 나노파이버 상에 퇴적되는 다수의 전극 - 상기 다수의 전극은 다수의 입력 노드 및 다수의 출력 노드를 포함함 - ; 및
    트레이닝 프로세서를 포함하되, 상기 트레이닝 프로세서는:
    상기 다수의 입력 노드 중 한 입력 노드에 입력 전압 또는 전류를 인가하도록;
    상기 다수의 출력 노드 중 한 출력 노드를 접지시키도록;
    상기 출력 노드에서 출력 전류 또는 전압을 측정하도록;
    상기 출력 전류 또는 전압을 목표 전류 또는 전압에 비교하여 에러 델타를 결정하도록; 그리고
    상기 에러 델타의 크기에 비례하는 시간 기간 동안 상기 출력 노드에 임계 전압 또는 전류를 인가하도록
    구성되는 것인, 멤리스티브 네트워크.
  10. 제9항에 있어서,
    상기 에러 델타가 음의 값인 경우, 상기 트레이닝 프로세서는 또한:
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 음의 임계 전압 또는 전류를 인가하도록
    구성되는 것인, 멤리스티브 네트워크.
  11. 제9항에 있어서,
    상기 에러 델타가 양의 값인 경우, 상기 트레이닝 프로세서는 또한:
    상기 입력 노드에 인가되는 상기 입력 전압 또는 전류의 극성을 반전시키도록;
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고
    상기 에러 델타에 비례하는 상기 시간 기간 동안 상기 출력 노드에 음의 임계 전압 또는 전류를 인가하도록
    구성되는 것인, 멤리스티브 네트워크.
  12. 제9항에 있어서,
    상기 트레이닝 프로세서는 또한:
    상기 에러 델타를 에러 델타 전압 또는 전류로 변환하도록;
    상기 에러 델타 전압 또는 전류를 상기 출력 노드에 인가하도록; 그리고
    상기 에러 델타 전압 또는 전류의 절대 값에 비례하는 제2 시간 기간 동안 상기 입력 노드에 상기 임계 전압 또는 전류를 인가하도록
    구성되는 것인, 멤리스티브 네트워크.
  13. 제12항에 있어서,
    상기 입력 노드에 인가된 상기 입력 전압 또는 전류가 양의 값이었던 경우, 상기 트레이닝 프로세서는 또한:
    상기 에러 델타 전압 또는 전류의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고
    상기 에러 델타 전압 또는 전류의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 음의 임계 전압 또는 전류를 인가하도록
    구성되는 것인, 멤리스티브 네트워크.
  14. 제12항에 있어서,
    상기 입력 노드에 인가된 상기 입력 전압 또는 전류가 음의 값이었던 경우, 상기 트레이닝 프로세서는 또한:
    상기 출력 노드에 인가되는 상기 에러 델타 전압 또는 전류의 극성을 반전시키도록;
    상기 에러 델타 전압 또는 전류의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 양의 임계 전압 또는 전류를 인가하도록; 그리고
    상기 에러 델타 전압의 상기 절대 값에 비례하는 상기 제2 시간 기간 동안 상기 입력 노드에 음의 임계 전압 또는 전류를 인가하도록
    구성되는 것인, 멤리스티브 네트워크.
  15. 제9항에 있어서,
    상기 멤리스티브 네트워크는 이분 멤리스티브 네트워크를 포함하는 것인, 멤리스티브 네트워크.
KR1020197037028A 2017-05-22 2018-05-21 이분 멤리스티브 네트워크의 심층 학습 KR20200009044A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762509423P 2017-05-22 2017-05-22
US62/509,423 2017-05-22
PCT/US2018/033669 WO2018217632A1 (en) 2017-05-22 2018-05-21 Deep learning in bipartite memristive networks

Publications (1)

Publication Number Publication Date
KR20200009044A true KR20200009044A (ko) 2020-01-29

Family

ID=64271828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197037028A KR20200009044A (ko) 2017-05-22 2018-05-21 이분 멤리스티브 네트워크의 심층 학습

Country Status (7)

Country Link
US (2) US20180336470A1 (ko)
EP (1) EP3631800A4 (ko)
JP (1) JP2020521248A (ko)
KR (1) KR20200009044A (ko)
CN (1) CN110651330A (ko)
AU (1) AU2018273847A1 (ko)
WO (1) WO2018217632A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019195660A1 (en) 2018-04-05 2019-10-10 Rain Neuromorphics Inc. Systems and methods for efficient matrix multiplication
US20210049504A1 (en) * 2019-08-14 2021-02-18 Rain Neuromorphics Inc. Analog system using equilibrium propagation for learning
US11450712B2 (en) 2020-02-18 2022-09-20 Rain Neuromorphics Inc. Memristive device
CN111555357A (zh) * 2020-06-04 2020-08-18 西华大学 一种光伏发电优化控制的方法
WO2023032158A1 (ja) * 2021-09-03 2023-03-09 日本電気株式会社 演算装置、ニューラルネットワークシステム、ニューロンモデル装置、演算方法および学習済みモデル生成方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366412B2 (en) * 2002-11-08 2008-04-29 Nortel Networks Limited Hybrid fine-coarse carrier switching
US8416604B2 (en) * 2010-01-26 2013-04-09 Industrial Cooperation Foundation Chonbuk National University Method of implementing memristor-based multilevel memory using reference resistor array
WO2015195365A1 (en) * 2014-06-19 2015-12-23 The University Of Florida Research Foundation, Inc. Memristive nanofiber neural netwoks
US10198691B2 (en) * 2014-06-19 2019-02-05 University Of Florida Research Foundation, Inc. Memristive nanofiber neural networks
US9971965B2 (en) * 2015-03-18 2018-05-15 International Business Machines Corporation Implementing a neural network algorithm on a neurosynaptic substrate based on metadata associated with the neural network algorithm
US10170180B2 (en) * 2015-04-30 2019-01-01 Hewlett-Packard Development Company, L.P. Memory including bi-polar memristor
CN104779950B (zh) * 2015-05-05 2017-08-08 西南大学 基于忆阻交叉架构的图片均值学习电路
US10332004B2 (en) * 2015-07-13 2019-06-25 Denso Corporation Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit
US10074050B2 (en) * 2015-07-13 2018-09-11 Denso Corporation Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit
CN105160401B (zh) * 2015-08-27 2017-08-11 电子科技大学 一种基于忆阻器阵列的wta神经网络及其应用
EP3378066A4 (en) * 2016-01-27 2019-07-31 Hewlett-Packard Enterprise Development LP MEMRISTOR MATRIX WITH PARALLEL RESET CONTROL DEVICES
US9691479B1 (en) * 2016-04-29 2017-06-27 Hewlett Packard Enterprise Development Lp Method of operating and apparatus of memristor arrays with diagonal lines interconnect between memristor cells
US9847132B1 (en) * 2016-07-28 2017-12-19 Hewlett Packard Enterprise Development Lp Ternary content addressable memories
US9646243B1 (en) 2016-09-12 2017-05-09 International Business Machines Corporation Convolutional neural networks using resistive processing unit array

Also Published As

Publication number Publication date
AU2018273847A1 (en) 2019-11-14
EP3631800A4 (en) 2021-04-07
CN110651330A (zh) 2020-01-03
US20180336470A1 (en) 2018-11-22
JP2020521248A (ja) 2020-07-16
WO2018217632A1 (en) 2018-11-29
EP3631800A1 (en) 2020-04-08
US20230297839A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
KR20200009044A (ko) 이분 멤리스티브 네트워크의 심층 학습
JP7228320B2 (ja) ニューロモーフィック・チップ、ニューロモーフィック・システム、ニューロモーフィック・チップ内のシナプス重みを更新するための方法およびコンピュータ・プログラム
US10248907B2 (en) Resistive processing unit
US9715656B1 (en) Killing asymmetric resistive processing units for neural network training
US11188825B2 (en) Mixed-precision deep-learning with multi-memristive devices
CN110945535B (zh) 一种在人工神经网络ann中实现的方法
US20130117209A1 (en) Method and apparatus for using memory in probabilistic manner to store synaptic weights of neural network
WO2015053889A2 (en) Shared memory architecture for a neural simulator
CN103282919A (zh) 强化学习的电子突触
US9959499B2 (en) Methods and apparatus for implementation of group tags for neural models
US9672464B2 (en) Method and apparatus for efficient implementation of common neuron models
CN113837371A (zh) 用于实现神经网络的神经形态装置和方法
EP3654250B1 (en) Machine learning accelerator
US20200219550A1 (en) Circuit methodology for differential weight reading in resistive processing unit devices
US10002658B1 (en) Dynamic random-access memory with embedded artificial neural network functionality
US11868893B2 (en) Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
US20200380349A1 (en) Auto Weight Scaling for RPUs
WO2014197175A2 (en) Efficient implementation of neural population diversity in neural system
Pescianschi et al. Analog and digital modeling of a scalable neural network
US20230053948A1 (en) Apparatus and method with in-memory computing
JP2023505178A (ja) 容量性処理ユニット
CN117610636A (zh) 一种存内计算存储器人工神经网络的片上训练方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application