“modelo no-lineal de memristores - vlsilab cinvestav€¦ · bloque 1: memristor 4z respuesta del...
TRANSCRIPT
Ciudad de México, Diciembre 2016
VLSI
v3.2
“Modelo no-lineal de Memristores
basado en red neuronal artificial”
Presenta:
Ing. Mario Alberto Gutiérrez Mondragón
Directores de Tesis:
Dr. J. Antonio Moreno Cadenas
Dr. Felipe Gómez Castañeda
Presentación final de Tesis
2:05 p. m.
• Objetivos
• Bloque 1: El Memristor.
▫ Aspectos teóricos
▫ Modelos
▫ Sistema de Memristor en Simulink®
▫ Aplicación
• Bloque 2: Redes Neuronales Artificiales.
▫ Modelo de Neurona Básico
▫ Arquitectura de Red
▫ Entrenamiento a través de Matlab®
▫ Representación mediante Simulink®
• Bloque 3: Implementación Digital en FPGA.
▫ Diagrama esquemático general
▫ Unidades de procesamiento
▫ Resultados
• Conclusiones
• Trabajo Futuro
Contenido
2
3
• Objetivos Específicos:
• Objetivo General:Desarrollo de una metodología de modelado de memristores haciendo uso de redes neuronales
artificiales.
Estudio del Memristor
Base de Datos
Implementación Digital
Arquitectura de red
ModelosSistema a bloques
AplicaciónPruebaRepresentación
Reproducción
Metodología
Aprox.
No-Lineal
Revisión
Objetivos
El Memristor Bloque 1
2:05 p. m.
• Relación constitutiva del Memristor:
𝜑 = 𝜑(𝑞)
𝑞 = 𝑞(𝜑)
𝑑𝑞
𝑑𝑡=
)𝑑 𝑞(𝜑
𝑑𝜑
𝑑𝜑
𝑑𝑡
▫ Controlado por corriente:
𝑅𝑀 𝑞 ≜)𝑑 𝜑(𝑞
𝑑𝑞
𝑣 = 𝑀(𝑞)𝑖
𝑑𝜑
𝑑𝑡=
)𝑑 𝜑(𝑞
𝑑𝑞
𝑑𝑞
𝑑𝑡
▫ Controlado por voltaje:
𝐺(𝜑) ≜)𝑑 𝑞(𝜑
𝑑𝜑
𝑖 = 𝐺(𝜑)𝑣
C(q,v)=0
v i
φq
Resistor
Inductor
Memristor
Capacitor
Coulomb Weber
Volts Amperes
L(φ,i)=0
M(φ,q)=0
R(v,i)=0𝑣
𝑖
7
f(q)φ
q
g(φ)q
φInv.
( ( ))
GM(φ)
q
φ
𝑑( )
𝑑𝜑 ( ) 𝑑𝜑 ( ) 𝑑𝑞
𝑑( )
𝑑𝑞
RM(q)
q
φ
Relaciones Constitutivas
Co
ntr
ola
do
po
r Flu
jo
Co
ntr
ola
do
po
r C
arg
a
RM(q)
GM(φ)
RM(q) GM(φ)
Expresión analítica de la variable de salida
i 𝑡 = 𝐺𝑀( 𝑣𝑑𝑡)𝑣(𝑡)
Entrada
i(t)
Entrada
v(t)
Salida Salida
Memristencia Memductancia
v 𝑡 = 𝑅𝑀( 𝑖𝑑𝑡)𝑖(𝑡)
φ q
Operadores
𝜑 ≜ −∞
𝑡
𝑣 𝜏 𝑑𝜏 = −∞
𝑡
𝑅 (𝑞(𝜏))𝑖(𝜏)𝑑𝜏
= −∞
𝑡
𝑅 𝑞 𝜏𝑑𝑞 𝜏
𝑑𝜏𝑑𝜏
= 𝑞(−∞)
𝑞(𝑡)
𝑅 𝑞 𝜏 𝑑𝑞(𝜏)
= 𝑞(−∞)
𝑞(𝑡)
𝑅 𝑞 𝑑𝑞
= 𝜑(𝑞)
▫ Demostración:
6
Bloque 1: Memristor
• Sistemas Memristivos:
▫ Controlado por corriente:
𝑣 = 𝑅 𝑥, 𝑖, 𝑡 𝑖
𝑑𝑥
𝑑𝑡= 𝑓(𝑥, 𝑖, 𝑡)
▫ Controlado por voltaje:
𝑖 = 𝐺 𝑥, 𝑣, 𝑡 𝑣
𝑑𝑥
𝑑𝑡= 𝑓(𝑥, 𝑣, 𝑡)
v
i
ω1
ω2
ω ∞
7
𝑖(𝑡) = 𝐼𝑐𝑜𝑠𝜔𝑡
TiO2
TiO2-x
Modelos• Memristor de HP®:
D
w(t)
8
-
TiO2
TiO2-x
• Funcionamiento:
Roff
Ron
Voltaje:
𝑣 𝑡 = 𝑅𝑂𝑁𝑤 𝑡
𝐷+ 𝑅𝑂𝐹𝐹 −
𝑤 𝑡
𝐷𝑖 𝑡
Ecuación de estado:
𝑑𝑤(𝑡)
𝑑𝑡= 𝜇𝑉
𝑅𝑂𝑁
𝐷𝑖(𝑡)
Memristencia:
𝑀(𝑞) = 𝑅𝑂𝐹𝐹 −𝜇𝑉𝑅𝑂𝑁
𝐷2 𝑞 𝑡
• Modelo Matemático:
9
Ap
lica
cio
ne
s d
el
me
mrist
or
Dispositivos
Discretos
Arreglos de barras
transversales (crossbar)
Analógico
Digital
Analógico
Digital
▫ Redes Neuromorficas
▫ Matriz de campo analógica Programable
▫ Memorias de contenido direccionable
▫ Memorias no-volátiles
▫ Circuitos Lógicos
▫ Circuitos Caóticos
▫ Disparador de Schmitt
▫Amplificadores de ganancia variable
▫ Comparador de diferencia
▫ Redes Neuronales Celulares
▫Osciladores
▫ Operaciones Lógicas
▫ Compuertas Digitales
▫ Circuitos Lógicos Configurables
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5
-1
-0.5
0
0.5
1
1.5x 10
-4
Voltaje(V)
Corr
ien
te(A
)
1
2
4
Bloque 1: Memristor
Respuesta del modelo de HP:
10
Aplicaciones:
• Aproximaciones mediante funciones de ventana:
Strukov/HP:
𝑓 𝑤 =)𝑤(𝑡)(𝐷 − 𝑤(𝑡)
𝐷2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.05
0.1
0.15
0.2
0.25
x
f(x)
f(x) = x - x2
Joglekar:
𝑓 𝑥 = − 2𝑥 − 2𝑝
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
f(x)
p = 8
p = 4
p = 2
p = 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.05
0.1
0.15
0.2
0.25
x
f(x)
f(x) = x - x2
11
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.05
0.1
0.15
0.2
0.25
x
f(x)
f(x) = x - x2
Biolek:
𝑓 𝑥 = − 𝑥 − 𝑠𝑔𝑛(−𝑖) 2𝑝
𝑠𝑔𝑛 𝑖 → 𝑖 ≥ 00 → 𝑖 < 0
Prodromakis:
𝑓 𝑥 = − 𝑥 − 0.5 2 + 0.75 𝑝
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
f(x)
p = 4
p = 8
p = 40
p = 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
f(x)
p = 1
p = 2
p = 6
i >= 0 i < 0
12
• Corriente en el memristor:
𝒊 𝒕 =𝒗(𝒕)
𝑹𝑴𝑬𝑴→ 𝑅𝑀𝐸𝑀 = 𝑅𝑂𝐹𝐹 − 𝑥 𝑅𝑂𝐹𝐹 − 𝑅𝑂𝑁
• Ecuación de Estado:
𝒅𝒙(𝒕)
𝒅𝒕= 𝒌 𝒊 𝒕 𝒇 𝒙 →
𝑘 =𝜇𝑣𝑅𝑂𝑁
𝐷2
𝑓 𝑥 = 𝐹𝑢𝑛𝑐. 𝑉𝑒𝑛𝑡𝑎𝑛𝑎
▫ Integrando:
𝑥(𝑡) = 0
𝑡
𝑘𝑓 𝑥 𝑖 𝑡
Sistema de Memristor en Simulink
∫t
v
i
k
f(x)
𝑥 x
Rmem
Bloque 1: Memristor 13
Bloque 1: Memristor
• Subsistema electrónico/matemático:
14
• Sistema para la aproximación del memristor:
Bloque 1: Memristor
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1.5
-1
-0.5
0
0.5
1
1.5x 10
-4
Voltaje(V)
Corr
ien
te(A
)
• Respuesta corriente−voltaje:
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1
-0.5
0
0.5
1
t(s)
Volt
aje
(V)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2
-1
0
1
2x 10
-4
t(s)
Corr
ien
te(A
)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0.4
0.5
0.6
0.7
0.8
t(s)
x
15
Aplicación:
• Oscilador Resistor-Memristor sin Reactancia
▫ Voltaje en el Memristor:
𝑉𝑀 𝑡 = (𝑉𝑜 𝑡 − 𝑉𝑟𝑒𝑓)𝑅𝑀𝐸𝑀
𝑅𝑀𝐸𝑀 + 𝑅𝑎
▫ Resistencia:
𝑅𝑚𝑝 = 𝑅𝑎
𝑉𝑝 − 𝑉𝑟𝑒𝑓
𝑉𝑜ℎ − 𝑉𝑝→ 𝑅 𝑒𝑛 𝑒𝑠𝑡𝑎𝑑𝑜 𝑎𝑙𝑡𝑜
𝑅𝑚𝑛 = 𝑅𝑎
𝑉𝑛 − 𝑉𝑟𝑒𝑓
𝑉𝑜𝑙 − 𝑉𝑛→ 𝑅 𝑒𝑛 𝑒𝑠𝑡𝑎𝑑𝑜 𝑏𝑎𝑗𝑜
▫ Ecuación de estado:
𝑑𝑥
𝑑𝑡=
𝑘(𝑉𝑂(𝑡) − 𝑉𝑟𝑒𝑓)(4𝑥( − 𝑥))
𝑅𝑎 + 𝑅𝑂𝐹𝐹 − 𝑥 𝑅𝑂𝐹𝐹 − 𝑅𝑂𝑁
Bloque 1: Memristor 16
0 2000 4000 6000 8000 10000 1200010
-1
100
101
102
Ra ()
Fre
cu
en
cia
(H
z)
Fo(Teorica) Fo(S imulacion)
Resultados:
Bloque 1: Memristor 17▫Duración de los semiciclos de la señal:
𝑇𝐻 =
𝑅𝑎 + 𝑅𝑜𝑓𝑓 ln𝑅𝑀𝑛 − 𝑅𝑜𝑓𝑓
𝑅𝑀𝑝 − 𝑅𝑜𝑓𝑓+ 𝑅𝑜𝑛 + 𝑅𝑎 ln
𝑅𝑜𝑛 − 𝑅𝑀𝑝
𝑅𝑜𝑛 − 𝑅𝑀𝑛
4𝑘(𝑉𝑂𝐻 − 𝑉𝑟𝑒𝑓)
𝑇𝐿 =
𝑅𝑎 + 𝑅𝑜𝑓𝑓 ln𝑅𝑀𝑝 − 𝑅𝑜𝑓𝑓
𝑅𝑀𝑛 − 𝑅𝑜𝑓𝑓+ 𝑅𝑜𝑛 + 𝑅𝑎 ln
𝑅𝑜𝑛 − 𝑅𝑀𝑛𝑅𝑜𝑛 − 𝑅𝑀𝑝
4𝑘(𝑉𝑂𝐿 − 𝑉𝑟𝑒𝑓
▫Frecuencia de oscilación:
𝑓 =
𝑇𝐻 + 𝑇𝐿
Redes Neuronales Artificiales Bloque 2
2:05 p. m.
fpw n
b
1
a
entrada neurona básica
a = f(wp + b)
Dendritas
Axón
• Neurona biológica:
Cuerpo
Celular
Bloque 2: Redes Neuronales Artificiales 19
Modelo de neurona
básico
• Modelo de
Neurona de una
sola entradaSinapsis
• Tipología NARX(Nonlinear Autoregressive Network with Exogenous Inputs):
𝑦 𝑡 = 𝑓(𝑦 𝑡 − , 𝑦 𝑡 − 2 ,… , 𝑦 𝑡 − 𝑛𝑦 , 𝑢 𝑡 − , 𝑢 𝑡 − 2 ,… , 𝑢(𝑡 − 𝑛𝑢)
Bloque 2: Redes Neuronales Artificiales 20
Arquitectura de red
Re
tard
o
IW1,1
b1
Re
tard
o
LW1,3
+
LW2,1
b2
+
Capa1 Capa2Entradas
p1(t)
1
11
1 1
S11
S11
S11
n1(t) a1(t)
S1 111
1S1S11
n2(t)
S21
a2(t)
11
y(t)
u(t)
Pre-procesamiento
Inicialización de los pesos
Algoritmo de entrenamiento
Criterios de detención
Evaluación
Bloque 2: Redes Neuronales Artificiales 21
Entrenamiento
Re
tard
o
Feed
Forward
Network
Re
tard
o
ŷ(t)
u(t)
Arquitectura
en Lazo Cerrado
y(t)
u(t)
Re
tard
oFeed
Forward
Network
Re
tard
oŷ(t)
Arquitectura
Lazo Abierto
Bloque 2: Redes Neuronales Artificiales
• Evaluación de la red
0 5 10 15 20 25 3010
-6
10-5
10-4
10-3
10-2
10-1
100
101
Best Training Performance is 1.3654e-06 at epoch 30
Me
an
Sq
ua
red
Err
or
(m
se
)
30 Epochs
Train
Best
-1 -0.5 0 0.5-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Target
Ou
tpu
t ~
= 1
*Tar
get
+ -
0.0
001
1
Training: R=0.99998
Data
Fit
Y = T
▫Gráfica de rendimiento:
▫Gráfica de regresión:
22
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1Response of Output Element 1 for Time-Series 1
Ou
tpu
t an
d T
arg
et
50 100 150 200 250 300 350 400 450-4
-2
0
2
4x 10
-3
Err
or
Time
Training Targets
Training Outputs
Errors
Response
Targets - Outputs
▫Respuesta en Series de Tiempo
• Respuesta de la Red:
Bloque 2: Redes Neuronales Artificiales 23
0 100 200 300 400 500-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Muestra
Cor
rien
te
R. Esperado
R. Obtenido
-1 -0.5 0 0.5 1-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Voltaje
Cor
rien
te
R. Obtenido
R. Esperado
24
Representación mediante Simulink
• Sistema para la simulaciónde la arquitectura de red:
n1,1
3
n1,2
n1,3
n2,1
Bloque 2: Redes Neuronales Artificiales
× ∑
25
• Subsistema de neurona digital:
Bloque 2: Redes Neuronales Artificiales
26
• Respuesta del sistema:
Bloque 2: Redes Neuronales Artificiales
Implementación digital en FPGA Bloque 3
2:05 p. m.
28
ENTRADA
PROCESO
SALIDA
we
rst
push
clk
tx
push
rst
we
clk
clk_div enable etx
CONTROL
push rst clk
rst
clk
push
rst
enable clk_1 clk_2
we
tx
ent_u y_sal I
Esquemático
General
Bloque 3: Implementación Digital en FPGA
32
• Módulo de Entrada:
ENTRADA
V1
rst
push
Señal de
excitación
clk_div clk
pushrst
Memoria
Lectura
Tratamiento
de los datos
en Matlab® ent_u
18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
SgnParte
Entera
Parte
Fraccionaria
MSB LSB
29Bloque 3: Implementación Digital en FPGA
Unidades de
procesamiento
30
• Módulo de Procesamiento:
Bloque 3: Implementación Digital en FPGA
31Bloque 3: Implementación Digital en FPGA
▫Unidad del modelo de neurona:
▫Aproximación de la función(Modelsim):
▫Tangente Sigmoidal:
𝑓(𝑥) = − 𝑒−𝑥
+ 𝑒−𝑥
32
Tratamiento
de los datos
en Matlab®
• Módulo de Salida:
Módulo de
recepción de
datos
Respuesta
de la red
Bloque 3: Implementación Digital en FPGA
push
SALIDA
push
clk_1
rst Memoria
rst
we
etx
Serial
Iwr
enable
clk_2 clk
we
I tx
push
sal_y Ipv
tx
MSBLSB
Bit de
Arranque
Bits de
parada
b0 b1 b2 b3 b4 b5 b6 b7 P
Paridad
(Opcional)
33
• Módulo de control:
Bloque 3: Implementación Digital en FPGA
34
Resultados• Simulación en Modelsim:
Slice Logic Utilization Used Available Utilization
Number of Slice Registers 259 54,576 1%
Number of Slice LUTs 629 27,288 2%
Number of occupied Slices 222 6,822 3%
Number of bonded IOBs 5 218 2%
Number of RAMB8BWERs 1 232 1%
Number of DSP48A1s 22 58 37%
• Resumen de recursos empleados:
Bloque 3: Implementación Digital en FPGA
35Bloque 3: Implementación Digital en FPGA
• Resultados de la implementación
AnálisisTransmisión
Implementación
36
• Evaluación de los resultados:
𝑀𝑆𝐸 =
𝑁
𝑖=1
𝑁
𝑡𝑖 − 𝑎𝑖2 → 𝑀𝑆𝐸 = 9. 399 × 10−4
𝑅 = 𝑞=1𝑄
𝑡𝑞 − 𝑡)(𝑎𝑞 − 𝑎
𝑄 − )𝑠𝑡𝑠𝑎⟶ 𝑅 = 0.9996
Bloque 3: Implementación Digital en FPGA
37
Conclusiones:• Se efectuó el análisis del modelo brindado por Hewlett Packard basado en la
teoría de Chua.
• Fue posible la realización de un modelo a bloques capaz de reproducir las
expresiones y comprobar su funcionamiento en un sistema mas robusto.
• Basados en datos numéricos se llevó a cabo la descripción de la metodologíapara la construcción de una red capaz de aproximar la respuesta del
memristor.
• A diferencia de lo reportado, se realizó la implementación en tecnología FPGAde la arquitectura de red.
Conclusiones – Trabajo Futuro
38
• Considerar el desarrollo del modelo en red neuronal en función
de la relación constitutiva carga-flujo.
• Es posible realizar un estudio particular de los mecanismos que
definen el comportamiento del dispositivo. De esta manera, es
posible mejorar la respuesta del modelo en red neuronal para la
aproximación del comportamiento del Memristor.
• En función de un mejor ajuste en la respuesta de predicción de la
red, es posible, efectuar la modificación de los parámetros de
enteramiento.
• Con base en la modificación de los parámetros de la
arquitectura de red, es necesario considerar la adecuación de la
implementación en el FPGA.
Conclusiones – Trabajo Futuro
Trabajo Futuro:
v3.2
Gracias
Dr. Felipe Gómez Castañeda
Dr. J. Antonio Moreno Cadenas
Dr. Oliverio Arellano Cárdenas
M. en C. Luis Martin Flores Nava
M en C. Gerardo Tornez Xavier
VLSI
2:05 p. m.