La memoria distribuida dispersa ( SDM ) es un modelo matemático de la memoria humana a largo plazo introducido por Pentti Kanerva en 1988 mientras estaba en el Centro de Investigación Ames de la NASA . Es una memoria de acceso aleatorio (RAM) generalizada para palabras binarias largas (por ejemplo, 1000 bits). Estas palabras sirven como direcciones y datos para la memoria. El principal atributo de la memoria es la sensibilidad a la similitud, lo que significa que una palabra se puede leer no solo dando la dirección de escritura original, sino también dando una cercana, medida por el número de bits no coincidentes (es decir, la distancia de Hamming entre direcciones de memoria ). [1]
SDM implementa la transformación del espacio lógico al espacio físico utilizando la representación y el almacenamiento de datos distribuidos, de manera similar a los procesos de codificación en la memoria humana. [2] Un valor correspondiente a una dirección lógica se almacena en muchas direcciones físicas. Esta forma de almacenamiento es robusta y no determinista. Una celda de memoria no se direcciona directamente. Si los datos de entrada (direcciones lógicas) están parcialmente dañados, aún podemos obtener datos de salida correctos. [3]
La teoría de la memoria es matemáticamente completa [1] y ha sido verificada mediante simulación por computadora . Surgió de la observación de que las distancias entre puntos de un espacio de alta dimensión se asemejan a las relaciones de proximidad entre conceptos en la memoria humana. La teoría también es práctica en el sentido de que las memorias basadas en ella se pueden implementar con elementos de memoria de acceso aleatorio convencionales . [4]
Definición
La memoria humana tiene una tendencia a congregar recuerdos basados en similitudes entre ellos (aunque pueden no estar relacionados), como "los camiones de bomberos son rojos y las manzanas son rojas". [5] La memoria distribuida dispersa es una representación matemática de la memoria humana y utiliza un espacio de alta dimensión para ayudar a modelar las grandes cantidades de memoria que imita la de la red neuronal humana. [6] [7] Una propiedad importante de estos espacios dimensionales altos es que dos vectores elegidos al azar están relativamente lejos uno del otro, lo que significa que no están correlacionados. [8] SDM puede considerarse una realización de hash sensible a la localidad .
La idea subyacente detrás de un SDM es el mapeo de una gran memoria binaria en un conjunto más pequeño de ubicaciones físicas, las llamadas ubicaciones fijas . Como pauta general, esas ubicaciones difíciles deben distribuirse uniformemente en el espacio virtual, para imitar la existencia del espacio virtual más grande con la mayor precisión posible. Cada dato se almacena distribuido por un conjunto de ubicaciones fijas y se recupera promediando esas ubicaciones. Por lo tanto, la recuperación puede no ser perfecta, la precisión depende de la saturación de la memoria.
La propuesta de Kanerva se basa en cuatro ideas básicas: [9]
- 1. El espacio booleano , o puntos en dimensiones, exhibe propiedades que son similares a las nociones intuitivas de relaciones entre los conceptos de los humanos. Esto significa que tiene sentido almacenar datos como puntos del espacio mencionado donde cada elemento de memoria se almacena como un vector de n bits.
- 2. Las neuronas con n entradas se pueden utilizar como decodificadores de direcciones de una memoria de acceso aleatorio.
- 3. Principio unificador: los datos almacenados en la memoria se pueden utilizar como direcciones en la misma memoria. La distancia entre dos puntos es una medida de similitud entre dos elementos de memoria. Cuanto más cercanos estén los puntos, más similares serán los vectores almacenados.
- 4. El tiempo se puede rastrear en la memoria en función de dónde se almacenan los datos, si los datos están organizados como secuencias de eventos.
El espacio binario N
El SDM trabaja con vectores n-dimensionales con componentes binarios. Dependiendo del contexto, los vectores se denominan puntos, patrones, direcciones, palabras, elementos de memoria, datos o eventos. Esta sección trata principalmente sobre las propiedades del espacio vectorial N =. Sea n el número de dimensiones del espacio. El número de puntos, o posibles elementos de memoria, se. Denotaremos este número por N y usaremos N ypara representar también el espacio mismo. [3]
Conceptos relacionados con el espacio N: [3]
- Origen , 0: El punto con todas las coordenadas 0 se llama origen, 0 = 000 ... 00.
- Complemento , 'x: El complemento, u opuesto, del punto x es la n-tupla que tiene unos donde x tiene ceros y viceversa.
- Norma , | x |: La norma del punto x es el número de unos en su representación binaria.
- Diferencia , x - y: La diferencia de dos puntos xey es la n-tupla que tiene unos donde xey difieren y ceros en el resto. Es el ' exclusivo o ' bit a bit : x - y = x ⊕ y. La diferencia conmuta: x - y = y - x.
- Distancia , d (x, y) La distancia entre dos puntos xey es el número de dimensiones en las que xey difieren. Se llama distancia de Hamming (su raíz cuadrada es la distancia euclidiana ) y se expresa en bits. La distancia es la norma de la diferencia: d (x, y) = | x - y |
- Intermediación , x: y: z: El punto y está entre los puntos x y z si y solo si la distancia de xay es la suma de las distancias de xay y de y a z; es decir, x: y: z ⇔ d (x, z) = d (x, y) + d (y, z). Se ve fácilmente que cada bit de un punto intermedio es una copia del bit correspondiente de un punto final.
- Ortogonalidad , x ⊥ y: El punto x es ortogonal al punto y, o los dos son perpendiculares o indiferentes, si y solo si la distancia entre los dos es la mitad del número de dimensiones: x ⊥ y ⇔ d (x, y) = n / 2. La distancia n / 2 se llama distancia de indiferencia del espacio N. Si x es ortogonal ay, también es ortogonal a su complemento 'y (x está a medio camino entre y e' y).
- Círculo , O (r, x) Un círculo con radio r y centro x es el conjunto de puntos que tienen como máximo r bits de x: O (r, x) = {y | d (x, y) ≤ r}.
Propiedades del espacio N: [1] [3]
El espacio N se puede representar mediante los vértices del cubo unitario en el espacio euclidiano n-dimensional . Los vértices se encuentran en la superficie de una esfera n-dimensional con radio (métrico euclidiano). Esto da lugar a la analogía de la esfera . Llamaremos esférico a un espacio si
- 1. cualquier punto x tiene un único opuesto 'x,
- 2. todo el espacio está entre cualquier punto x y su opuesto 'x, y
- 3. todos los puntos son "iguales" (lo que significa que para dos puntos cualesquiera xey hay una distancia que preserva el automorfismo del espacio que mapea xay, de modo que desde cualquiera de sus puntos el espacio "parece" igual).
La superficie de una esfera (en el espacio 3d euclidiano) es claramente esférica. Según la definición, N también es esférico, ya que y ⊕ x ⊕ (…) es un automorfismo que mapea xay. Debido a que N es esférico, es útil pensar en él como la superficie de una esfera con circunferencia 2n. Todos los puntos de N están igualmente calificados como puntos de origen, y un punto y su complemento son como dos polos a una distancia n entre sí, con todo el espacio entre ellos. Los puntos a medio camino entre los polos y perpendiculares a ellos son como el ecuador.
- Distribución del espacio N
El número de puntos que son exactamente d bits forman un punto arbitrario x (digamos, desde el punto 0) es el número de formas de elegir d coordenadas de un total de n coordenadas y, por lo tanto, viene dado por el coeficiente binomial :
Por tanto, la distribución de N es la distribución binomial con los parámetros n y p, donde p = 1/2. La media de la distribución binomial es n / 2 y la varianza es n / 4. Esta función de distribución se indicará con N (d). La distribución normal F con media n / 2 y desviación estándar es una buena aproximación: N (d) = Pr {d (x, y) ≤ d} ≅ F {(d - n / 2) / }
- Tendencia a la ortogonalidad
Una propiedad sobresaliente de N es que la mayor parte se encuentra aproximadamente a la distancia media (indiferencia) n / 2 de un punto (y su complemento). En otras palabras, la mayor parte del espacio es casi ortogonal a cualquier punto dado, y cuanto más grande es n, más pronunciado es este efecto.
Como red neuronal
El SDM puede considerarse como una extensión direccionable por contenido de una memoria de acceso aleatorio (RAM) clásica o como un tipo especial de red neuronal de alimentación de tres capas . Las principales alteraciones de SDM en la RAM son: [10]
- El SDM calcula las distancias de Hamming entre la dirección de referencia y la dirección de cada ubicación. Para cada distancia que sea menor o igual al radio dado, se selecciona la ubicación correspondiente.
- La memoria está representada por contadores (donde n es el número de ubicaciones y m es la longitud de los datos de entrada) en lugar de elementos de almacenamiento de un solo bit.
- Escribir en la memoria, en lugar de sobrescribir, es el siguiente:
- si el i-bit de los datos de entrada es 1, los contadores correspondientes (contadores en las ubicaciones seleccionadas (filas) y en las i-ésimas columnas) se incrementan,
- si el bit i de los datos de entrada es 0, los contadores correspondientes se reducen.
- Leer (o recordar) de la memoria es similar:
- El contenido de las ubicaciones seleccionadas se suma en columnas.
- Cada suma tiene un umbral. Si la suma es mayor o igual que el valor de umbral, el bit de salida correspondiente se establece en 1, en el caso contrario, se borra. Tenga en cuenta que los umbrales pueden ser cero, si los vectores de entrada de entrenamiento están cerrados a los ortogonales.
Modelo de neurona
Una descripción idealizada de neurona es la siguiente: una neurona tiene un cuerpo celular con dos tipos de ramas: dendritas y axón . Recibe señales de entrada de otras neuronas a través de dendritas, las integra (suma) y genera su propia señal de salida (eléctrica) que se envía a las neuronas externas a través del axón. Los puntos de contacto eléctrico entre neuronas se denominan sinapsis .
Cuando una neurona genera una señal, está disparando y, después de disparar, debe recuperarse antes de volver a disparar . La importancia relativa de una sinapsis para el disparo de una neurona se llama peso sináptico (o coeficiente de entrada ). Hay dos tipos de sinapsis: excitatorio que se disparan las neuronas de fuego y inhibitoria que dificultan la cocción. La neurona es excitadora o inhibidora según los tipos de sinapsis que produce su axón. [11]
Una neurona se activa cuando la suma de las entradas excede un umbral específico . Cuanto más alto es el umbral, más importante es que las sinapsis excitadoras tengan entrada, mientras que las inhibitorias no. [12] El hecho de que una neurona recuperada se active realmente depende de si recibió suficiente entrada excitadora (más allá del umbral) y no demasiada entrada inhibitoria dentro de un período determinado.
El modelo formal de neurona hace suposiciones que simplifican aún más. [13] Una neurona de entrada n se modela mediante una función de umbral lineal como sigue :
Para donde n es el número de entradas, sea ser la salida en el tiempo t :, y deja ser la i -ésima entrada en el tiempo t :. Dejarsea el peso de la i -ésima entrada y sea ser el umbral.
La suma ponderada de las entradas en el tiempo t está definida por
La salida de la neurona en el tiempo t se define entonces como una función booleana :
Donde F t = 1 significa que la neurona dispara en el tiempo ty F t = 0 que no lo hace, es decir, para que la neurona dispare, la suma ponderada debe alcanzar o superar el umbral. Las entradas excitadoras aumentan la suma y las entradas inhibitorias la disminuyen.
Neuron como decodificador de direcciones
Tesis clave de Kanerva [1] es que ciertas neuronas podrían tener sus coeficientes de entrada y umbrales fijos durante toda la vida de un organismo y utilizados como decodificadores de dirección, donde n tupla de coeficientes de entrada (el patrón a la que las neuronas responden más fácilmente) determina el n -dirección de memoria de bits, y el umbral controla el tamaño de la región de patrones de direcciones similares a los que responde la neurona.
Este mecanismo es complementario a las sinapsis ajustables o pesos ajustables en una red neuronal ( aprendizaje de convergencia del perceptrón ), ya que este mecanismo de acceso fijo sería un marco de referencia permanente que permite seleccionar las sinapsis en las que se almacena la información y de las que se recupera. en un conjunto dado de circunstancias. Además, una codificación de la circunstancia actual serviría como dirección.
La dirección a de una neurona con coeficientes de entrada w dondese define como un patrón de entrada de n bits que maximiza la suma ponderada. El máximo ocurre cuando las entradas inhibitorias son ceros y las entradas excitadoras son unos. El i -ésimo bit de dirección es:
(asumiendo que los pesos son distintos de cero)
La suma ponderada máxima es entonces la suma de todos los coeficientes positivos:
Y la suma mínima ponderada correspondería a un punto opuesto a la dirección de la neurona a`:
Cuando el umbral c está dentro del rango la salida de la neurona es 0 para algunas direcciones (patrones de entrada) y 1 para otras. Si el umbral está por encima de S, la salida es siempre 0, si está por debajo de s, la salida es siempre 1. Por lo tanto, mediante una elección adecuada del umbral, una neurona responde solo a una sola dirección. Cuando el umbral es S (el máximo para la suma ponderada), la neurona responde solo a su propia dirección y actúa como un decodificador de direcciones de una memoria de acceso aleatorio convencional .
Ubicación de la memoria
SDM está diseñado para hacer frente a patrones de direcciones que abarcan un enorme espacio de direcciones (orden de ). SDM asume que los patrones de dirección que realmente describen situaciones físicas de interés están escasamente dispersos por todo el espacio de entrada. Es imposible reservar una ubicación física separada correspondiente a cada entrada posible; Implementos SDM sólo un número limitado de físicos o duras lugares. La ubicación física se denomina ubicación de memoria (o rígida ). [4]
Cada ubicación física tiene asociados dos elementos:
- una dirección fija fija, que es la dirección de N bits de la ubicación
- una porción de contenido que tiene un ancho de M bits y que puede acumular múltiples patrones de datos de M bits escritos en la ubicación. La porción de contenido no es fija; es modificado por patrones de datos escritos en la memoria.
En SDM, una palabra podría almacenarse en la memoria escribiéndola en una ubicación de almacenamiento libre y al mismo tiempo proporcionando la ubicación con el decodificador de dirección apropiado. Una neurona como decodificador de direcciones seleccionaría una ubicación basándose en la similitud de la dirección de la ubicación con la señal de recuperación. A diferencia de las máquinas de Turing convencionales , SDM aprovecha la computación en paralelo mediante los decodificadores de direcciones . El mero acceso a la memoria se considera computación, cuya cantidad aumenta con el tamaño de la memoria. [1]
Patrón de dirección
Un vector de N bits que se utiliza para escribir y leer en la memoria. El patrón de dirección es una descripción codificada de un estado ambiental. (por ejemplo, N = 256.)
Patrón de datos
Un vector de M bits que es el objeto de las operaciones de escritura y lectura. Al igual que el patrón de dirección, es una descripción codificada de un estado ambiental. (por ejemplo, M = 256.)
Escritura
La escritura es la operación de almacenar un patrón de datos en la memoria usando un patrón de dirección particular. Durante una escritura, la entrada a la memoria consiste en un patrón de dirección y un patrón de datos. El patrón de dirección se usa para seleccionar ubicaciones de memoria rígida cuyas direcciones rígidas están dentro de una cierta distancia de corte del patrón de dirección. El patrón de datos se almacena en cada una de las ubicaciones seleccionadas.
Leer
La lectura es la operación de recuperar un patrón de datos de la memoria usando un patrón de dirección particular. Durante una lectura, un patrón de dirección se utiliza para seleccionar un cierto número de duras posiciones de memoria (al igual que durante una escritura). Los contenidos de las ubicaciones seleccionadas se suman bit a bit y se establecen umbrales para derivar un patrón de datos de M bits. Esto sirve como salida leída de la memoria.
Cadenas de puntero
Todos los elementos están vinculados en una sola lista (o matriz) de punteros a ubicaciones de memoria y se almacenan en la RAM. Cada dirección en una matriz apunta a una línea individual en la memoria. Luego, esa línea se devuelve si es similar a otras líneas. Las neuronas se utilizan como decodificadores y codificadores de direcciones, de forma similar a como funcionan las neuronas en el cerebro, y devuelven elementos de la matriz que coinciden o son similares.
Distancia critica
El modelo de memoria de Kanerva tiene el concepto de un punto crítico : antes de este punto, un elemento previamente almacenado se puede recuperar fácilmente; pero más allá de este punto, no se puede recuperar un elemento. Kanerva ha calculado metódicamente este punto para un conjunto particular de parámetros (fijos). La distancia crítica correspondiente de una memoria distribuida dispersa se puede evaluar aproximadamente minimizando la siguiente ecuación con la restricción y . La prueba se puede encontrar en, [14] [15]
Dónde:
- : es la distancia al objetivo;
- : es el número de ubicaciones fijas activadas durante las operaciones de lectura y escritura (este valor depende de los valores del radio de acceso);
- : es el número total de cadenas de bits almacenadas en la memoria;
- : es el número de ubicaciones fijas en la memoria;
- : es el número de veces que se escribió la cadena de bits de destino en la memoria;
- : es el total de cadenas de bits aleatorias en todas ubicaciones fijas activadas por una operación de lectura;
- : es el número medio de ubicaciones compartidas activadas por dos cadenas de bits bits uno del otro. Se pueden encontrar algunos valores para un SDM de 1000 dimensiones en el libro de Kanerva, Tabla 7.1, p. 63, o las ecuaciones para calcular a cualquier SDM en el Apéndice B, p. 125 del mismo libro.
Interpretación probabilística
Un sistema de memoria asociativa que utiliza representaciones dispersas y distribuidas puede reinterpretarse como un muestreador de importancia , un método de Monte Carlo para aproximar la inferencia bayesiana . [16] El SDM puede considerarse una aproximación de Monte Carlo a una integral de probabilidad condicional multidimensional . El SDM producirá respuestas aceptables de un conjunto de entrenamiento cuando esta aproximación sea válida, es decir, cuando el conjunto de entrenamiento contenga datos suficientes para proporcionar buenas estimaciones de las probabilidades conjuntas subyacentes y haya suficientes muestras de Monte Carlo para obtener una estimación precisa de la integral. . [17]
Plausibilidad biológica
La codificación dispersa puede ser una estrategia general de los sistemas neuronales para aumentar la capacidad de memoria. Para adaptarse a su entorno, los animales deben aprender qué estímulos se asocian con recompensas o castigos y distinguir estos estímulos reforzados de otros similares pero irrelevantes. Tal tarea requiere implementar memorias asociativas específicas de estímulo en las que solo unas pocas neuronas de una población responden a cualquier estímulo dado y cada neurona responde solo a unos pocos estímulos de todos los estímulos posibles.
El trabajo teórico de Kanerva sobre SDM ha sugerido que la codificación dispersa aumenta la capacidad de la memoria asociativa al reducir la superposición entre representaciones. Experimentalmente, se han observado escasas representaciones de información sensorial en muchos sistemas, incluidos la visión, [18] audición, [19] tacto, [20] y olfato. [21] Sin embargo, a pesar de la evidencia acumulada de una codificación dispersa generalizada y de argumentos teóricos sobre su importancia, hasta hace poco faltaba una demostración de que la codificación escasa mejora la especificidad del estímulo de la memoria asociativa.
En 2014 , el laboratorio de Gero Miesenböck de la Universidad de Oxford ha realizado algunos avances en el análisis del sistema olfativo de Drosophila . [22] En Drosophila, se cree que la codificación de olores dispersos por las células de Kenyon del cuerpo del hongo genera una gran cantidad de ubicaciones direccionables con precisión para el almacenamiento de recuerdos específicos de olores. Lin y col. [23] demostró que la escasez está controlada por un circuito de retroalimentación negativa entre las células de Kenyon y la neurona lateral anterior apareada (APL) GABAérgica . La activación y el bloqueo sistemáticos de cada tramo de este circuito de retroalimentación muestran que las células de Kenyon activan la APL y la APL inhibe las células de Kenyon. La interrupción del ciclo de retroalimentación de células de Kenyon-APL disminuye la escasez de respuestas de olor de las células de Kenyon, aumenta las correlaciones entre olores y evita que las moscas aprendan a discriminar olores similares, pero no diferentes. Estos resultados sugieren que la inhibición por retroalimentación suprime la actividad de las células de Kenyon para mantener una codificación de olor escasa y descorrelacionada y, por tanto, la especificidad de olor de los recuerdos. Una publicación de 2017 en Science [24] mostró que el circuito olfativo de mosca implementa una versión mejorada del hash sensible a la localidad binaria a través de proyecciones aleatorias dispersas.
Interpretación mecánica cuántica
La superposición cuántica establece que cualquier sistema físico existe simultáneamente en todos sus estados posibles , cuyo número es exponencial en el número de entidades que componen el sistema. La fuerza de presencia de cada estado posible en la superposición, es decir, la probabilidad con la que se observaría si se midiera, está representada por su coeficiente de amplitud de probabilidad . La suposición de que estos coeficientes deben representarse físicamente de manera disjunta entre sí, es decir, localísticamente, es casi universal en la literatura sobre teoría cuántica / computación cuántica . Alternativamente, como sugirió recientemente Gerard Rinkus en la Universidad de Brandeis , [25] estos coeficientes se pueden representar usando representaciones distribuidas dispersas (SDR) en línea con el diseño SDM de Kanerva, donde cada coeficiente está representado por un pequeño subconjunto de una población total de unidades representativas y los subconjuntos pueden superponerse.
Específicamente, si consideramos un modelo SDR en el que la población general consta de Q conglomerados, cada uno de los cuales tiene K unidades binarias, de modo que cada coeficiente está representado por un conjunto de Q unidades, uno por conglomerado. Entonces podemos considerar que el estado del mundo particular, X, cuya representación del coeficiente, R (X), es el conjunto de Q unidades activas en el tiempo t para tener la probabilidad máxima y las probabilidades de todos los demás estados, Y, para corresponder al tamaño de la intersección de R (Y) y R (X). Por tanto, R (X) sirve simultáneamente como representación del estado particular, X, y como distribución de probabilidad sobre todos los estados. Cuando cualquier código dado, por ejemplo, R (A), está activo, todos los demás códigos almacenados en el modelo también están físicamente activos en proporción a su intersección con R (A). Por lo tanto, SDR proporciona una realización clásica de superposición cuántica en la que las amplitudes de probabilidad se representan directa e implícitamente por tamaños de intersecciones de conjuntos . Si existen algoritmos para los cuales el tiempo que lleva almacenar (aprender) nuevas representaciones y encontrar la representación almacenada más cercana ( inferencia probabilística ) permanece constante a medida que se almacenan representaciones adicionales, esto cumpliría el criterio de la computación cuántica . [25] (Ver también cognición cuántica y memoria asociativa cuántica )
Aplicaciones
En aplicaciones de la memoria, las palabras son patrones de características. Algunas características son producidas por un sistema sensorial, otras controlan un sistema motor. Hay un patrón actual (de, por ejemplo, 1000 bits), que es el contenido actual del foco del sistema . Los sensores alimentan el foco, los motores se controlan desde el foco y se accede a la memoria a través del foco.
Lo que sucede en el mundo, la experiencia "subjetiva" del sistema, está representado internamente por una secuencia de patrones en el foco. La memoria almacena esta secuencia y puede recrearla más adelante en el foco si se aborda con un patrón similar al encontrado en el pasado. Así, la memoria aprende a predecir lo que está a punto de suceder. Las aplicaciones amplias de la memoria estarían en sistemas que manejan información del mundo real en tiempo real.
Las aplicaciones incluyen visión - detección e identificación de objetos en una escena y anticipación de escenas posteriores - robótica , detección y verificación de señales , y aprendizaje y control adaptativo . En el aspecto teórico, el funcionamiento de la memoria puede ayudarnos a comprender la memoria y el aprendizaje en humanos y animales. [4] [26]
La mejor búsqueda de coincidencias
El SDM se puede aplicar al problema de encontrar la mejor coincidencia con una palabra de prueba en un conjunto de datos de palabras almacenadas. [1] [27] o, en otras palabras, el problema de búsqueda del vecino más cercano .
Considere una memoria con N ubicaciones donde . Deje que cada ubicación tenga la capacidad para una palabra de n bits (por ejemplo, N = 2 100 palabras de 100 bits), y deje que la decodificación de direcciones se realice mediante N neuronas decodificadoras de direcciones. Establezca el umbral de cada neurona x en su máxima suma ponderaday utilice un parámetro común d para ajustar todos los umbrales al acceder a la memoria. El umbral efectivo de la neurona x será entonceslo que significa que la ubicación x es accesible cada vez que la dirección x está dentro de d bits de la dirección presentada a la memoria (es decir, la dirección contenida en el registro de direcciones). Contenemos una memoria de acceso aleatorio convencional . Suponga además que cada ubicación tiene un bit especial de ubicación ocupada al que se puede acceder de la misma manera que los bits de referencia regulares. Escribir una palabra en una ubicación establece este bit de ubicación ocupada . Suponga que solo se puede leer la ubicación ocupada.
Para archivar los datos en la memoria, comience por configurar y emitir un comando para borrar el bit de ubicación ocupada . Esta única operación marca toda la memoria como desocupada independientemente de los valores del registro de direcciones. Entonces establecey escriba cada palabra y del conjunto de datos con y como dirección. Observe que cada operación de escritura afecta solo a una ubicación: la ubicación y . Por tanto, el tiempo de presentación es proporcional al número de palabras del conjunto de datos.
Encontrar la mejor coincidencia para una palabra de prueba z implica colocar z en el registro de direcciones y encontrar la distancia mínima d para la que hay una ubicación ocupada. Podemos comenzar la búsqueda configurandoe incrementando d sucesivamente hasta encontrar una ubicación ocupada. Este método proporciona tiempos de búsqueda promedio que son proporcionales al número de bits de dirección o un poco menos de[1] porque se puede esperar que la ubicación ocupada más cercana esté justo debajobits de z (con búsqueda binaria en d, esto sería O (log (n)).
Con palabras de 100 bits se necesitarían 2 100 ubicaciones, es decir, una memoria enormemente grande. Sin embargo, si construimos la memoria a medida que almacenamos las palabras del conjunto de datos , solo necesitamos una ubicación (y un decodificador de dirección) para cada palabra del conjunto de datos. Ninguna de las ubicaciones desocupadas necesita estar presente. Esto representa el aspecto de escasez en SDM.
Reconocimiento de voz
El SDM se puede aplicar en la transcripción del habla , y el entrenamiento consiste en "escuchar" un gran corpus de lenguaje hablado . Dos problemas difíciles del habla natural son cómo detectar los límites de las palabras y cómo adaptarse a diferentes hablantes. La memoria debería poder manejar ambos. Primero, almacena secuencias de patrones como cadenas de punteros. En el entrenamiento, en la escucha del habla, construirá una estructura probabilística con la mayor incidencia de ramificaciones en los límites de las palabras. Al transcribir el habla, estos puntos de ramificación se detectan y tienden a dividir el flujo en segmentos que corresponden a palabras. En segundo lugar, la sensibilidad de la memoria a la similitud es su mecanismo para adaptarse a diferentes hablantes y a las variaciones en la voz del mismo hablante. [4]
"Darse cuenta de olvidar"
En la Universidad de Memphis, Uma Ramamurthy, Sidney K. D'Mello y Stan Franklin crearon una versión modificada del sistema de memoria dispersa distribuida que representa "darse cuenta del olvido". Utiliza una ecuación de decaimiento para mostrar mejor la interferencia en los datos. El sistema de memoria distribuida dispersa distribuye cada patrón en aproximadamente una centésima parte de las ubicaciones, [ aclaración necesaria ] por lo que la interferencia puede tener resultados perjudiciales. [28]
Se presentan dos posibles ejemplos de deterioro de esta memoria distribuida dispersa modificada
Mecanismo de desintegración exponencial:
Mecanismo de desintegración sigmoidea traducida negada:
En la función de disminución exponencial, se acerca a cero más rápidamente a medida que x aumenta, y a es una constante (generalmente entre 3-9) yc es un contador. Para la función sigmoide negada- traducida , la desintegración es similar a la función de desintegración exponencial cuando a es mayor que 4. [28]
A medida que el gráfico se acerca a 0, representa cómo se olvida la memoria mediante mecanismos de degradación.
Memoria distribuida escasa genética
Ashraf Anwar, Stan Franklin y Dipankar Dasgupta en la Universidad de Memphis; propuso un modelo para la inicialización de SDM utilizando algoritmos genéticos y programación genética (1999).
La memoria genética utiliza un algoritmo genético y una memoria distribuida escasa como una red neuronal pseudo artificial. Se ha considerado su uso en la creación de vida artificial. [29]
Predicción estadística
El SDM se ha aplicado a la predicción estadística , la tarea de asociar vectores de estado de percepción extremadamente grandes con eventos futuros. En condiciones de casi o sobrecapacidad, donde el comportamiento de la memoria asociativa del modelo se rompe, el procesamiento realizado por el modelo puede interpretarse como el de un predictor estadístico y cada contador de datos en un SDM puede verse como una estimación independiente. de la probabilidad condicional de que una función binaria f sea igual al conjunto de activación definido por la ubicación de memoria del contador. [30]
Inteligencia artificial general
- LIDA utiliza una memoria distribuida escasa para ayudar a modelar la cognición en los sistemas biológicos. La escasa memoria distribuida coloca al espacio recordando o reconociendo el objeto que tiene en relación con otros objetos. Fue desarrollado por Stan Franklin, el creador del sistema de memoria distribuida dispersa modificado "darse cuenta del olvido". [31] Las memorias transitorias episódicas y declarativas han distribuido representaciones en LIDA (basadas en la versión modificada de SDM [32] ), hay evidencia de que este también es el caso en el sistema nervioso. [33]
- CMatie es un agente de software "consciente" desarrollado para gestionar anuncios de seminarios en el Departamento de Ciencias Matemáticas de la Universidad de Memphis . Se basa en SDM aumentado con el uso de algoritmos genéticos como memoria asociativa . [34]
- La memoria temporal jerárquica utiliza SDM para almacenar representaciones distribuidas dispersas de los datos.
(Consulte también Arquitectura cognitiva e inteligencia artificial general para obtener una lista de proyectos relacionados con SDM)
Aprendizaje reforzado
Los SDM proporcionan un esquema de aproximación de función local lineal, diseñado para funcionar cuando un espacio de entrada (dirección) muy grande / de alta dimensión debe mapearse en una memoria física mucho más pequeña . En general, las arquitecturas locales, incluidos los SDM, pueden estar sujetas a la maldición de la dimensionalidad , ya que algunas funciones de destino pueden requerir, en el peor de los casos, una aproximación precisa de un número exponencial de unidades locales en todo el espacio de entrada. Sin embargo, se cree ampliamente que la mayoría de los sistemas de toma de decisiones necesitan una alta precisión solo alrededor de las variedades de baja dimensión del espacio estatal o "carreteras" estatales importantes. [35] El trabajo de Ratitch et al. [36] combinó el modelo de memoria SDM con las ideas del aprendizaje basado en la memoria , lo que proporciona un aproximador que puede adaptar dinámicamente su estructura y resolución para ubicar regiones del espacio de estados que son "más interesantes" [37] y asignar proporcionalmente más recursos de memoria para modelarlos con precisión.
Indexación de objetos en visión artificial
El laboratorio de Dana H. Ballard [38] demostró una técnica de indexación de objetos de propósito general para la visión por computadora que combina las virtudes del análisis de componentes principales con las propiedades de coincidencia favorables de los espacios de alta dimensión para lograr un reconocimiento de alta precisión. El algoritmo de indexación utiliza un sistema de visión activa junto con una forma modificada de SDM y proporciona una plataforma para aprender la asociación entre la apariencia de un objeto y su identidad.
Extensiones
Se han propuesto muchas extensiones y mejoras al SDM, por ejemplo:
- Espacio de memoria ternaria: permite utilizar la memoria como una memoria episódica transitoria (TEM) en agentes de software cognitivo . TEM es una memoria con alta especificidad y baja retención, que se utiliza para eventos que tienen características de un tiempo y lugar en particular. [39] [40]
- SDM de enteros que utiliza vectores enteros aritméticos modulares en lugar de vectores binarios. Esta extensión mejora las capacidades de representación de la memoria y es más robusta sobre la normalización. También se puede ampliar para admitir el olvido y el almacenamiento de secuencias fiable. [8]
- Uso de vectores de palabras de mayor tamaño que los vectores de direcciones: esta extensión conserva muchas de las propiedades deseables del SDM original: autoasociabilidad, direccionabilidad de contenido, almacenamiento distribuido y robustez sobre entradas ruidosas. Además, agrega nueva funcionalidad, permitiendo un almacenamiento autoasociativo eficiente de secuencias de vectores, así como de otras estructuras de datos como árboles. [41]
- Construcción de SDM a partir de Spiking Neurons : a pesar de la semejanza biológica de SDM, la mayor parte del trabajo realizado para demostrar sus capacidades hasta la fecha ha utilizado modelos de neuronas altamente artificiales que abstraen el comportamiento real de las neuronas en el cerebro . Un trabajo reciente del laboratorio de Steve Furber en la Universidad de Manchester [42] [43] [44] propuso adaptaciones al SDM, por ejemplo, incorporando códigos de rango N-de-M [45] [46] en cómo las poblaciones de neuronas pueden codificar información, que puede hacer posible construir una variante de SDM a partir de componentes biológicamente plausibles. Este trabajo se ha incorporado a SpiNNaker (Spiking Neural Network Architecture) que se está utilizando como la Plataforma de Computación Neuromórfica para el Proyecto del Cerebro Humano . [47]
- Distribución no aleatoria de ubicaciones: [48] [49] Aunque las ubicaciones de almacenamiento se distribuyen inicialmente de forma aleatoria en el espacio de direcciones N binario, la distribución final de ubicaciones depende de los patrones de entrada presentados y puede ser no aleatoria, lo que permite una mayor flexibilidad y generalización . El patrón de datos se almacena primero en las ubicaciones más cercanas a la dirección de entrada. La señal (es decir, el patrón de datos) se propaga a través de la memoria y un pequeño porcentaje de la intensidad de la señal (por ejemplo, el 5%) se pierde en cada ubicación subsiguiente encontrada. Distribuir la señal de esta manera elimina la necesidad de un radio de lectura / escritura seleccionado, una de las características problemáticas del SDM original. Todas las ubicaciones seleccionadas en una operación de escritura ahora no reciben una copia del patrón binario original con la misma fuerza. En su lugar, reciben una copia del patrón ponderado con un valor real de 1.0-> 0.05 para almacenar en contadores de valor real (en lugar de contadores binarios en el SDM de Kanerva). Esto recompensa las ubicaciones más cercanas con una mayor intensidad de señal y utiliza la arquitectura natural del SDM para atenuar la intensidad de la señal. De manera similar, en la lectura de la memoria, la salida de las ubicaciones más cercanas recibe un peso mayor que la de las ubicaciones más distantes. El nuevo método de señal permite que la fuerza total de la señal recibida por una ubicación se utilice como una medida de la aptitud de una ubicación y es flexible a entrada variable (ya que el factor de pérdida no tiene que cambiarse para patrones de entrada de diferentes longitudes).
- SDMSCue (memoria distribuida dispersa para señales pequeñas): Ashraf Anwar y Stan Franklin de la Universidad de Memphis, introdujeron una variante de SDM capaz de manejar señales pequeñas; a saber, SDMSCue en 2002. La idea clave es utilizar múltiples lecturas / escrituras y proyecciones espaciales para alcanzar una señal sucesivamente más larga. [50]
Patentes relacionadas
- Método y aparato para un sistema de memoria dispersa distribuida US 5113507 A, Universities Space Research Association , 1992 [51]
- Método y dispositivo para almacenar y recuperar información implementando un sistema de memoria kanerva US 5829009 A, Texas Instruments , 1998 [52]
- Memoria digital, Furber, Stephen. US 7512572 B2, 2009 [53]
- Memoria temporal con representación distribuida dispersa US 20110225108 A1 Numenta , 2011 [54]
Implementación
- C Símbolos vectoriales binarios (CBVS): incluye la implementación SDM en C como parte de la arquitectura simbólica vectorial [55] desarrollada por EISLAB en la Universidad Tecnológica de Luleå : http://pendicular.net/cbvs.php [56]
- CommonSense ToolKit (CSTK) para el procesamiento de datos de sensores en tiempo real desarrollado en la Universidad de Lancaster incluye la implementación de SDM en C ++ : http://cstk.sourceforge.net/ [57]
- Implementación de Julia por Brian Hayes : https://github.com/bit-player/sdm-julia [58]
- Learning Intelligent Distribution Agent (LIDA) desarrollado por el laboratorio de Stan Franklin en la Universidad de Memphis incluye la implementación de SDM en Java : http://ccrg.cs.memphis.edu/framework.html
- Implementación de Python : https://github.com/msbrogli/sdm [59]
- Implementación de Python y OpenCL : https://github.com/msbrogli/sdm-framework [59]
- Implementación de APL [60]
- Implementación de LISP para la máquina de conexión [61]
- Implementación de FPGA [62]
- La implementación de hardware original desarrollada por la NASA [4]
- Una implementación en C realizada en el Instituto de Investigación para Ciencias de la Computación Avanzada en NASA Ames [63]
Modelos relacionados
- Búsqueda aproximada de vecino más cercano [64]
- Memorias neuronales asociativas [65]
- Memoria autoasociativa
- Códigos binarios de salpicaduras [66]
- Modelos de memoria asociativa del cerebelo
- Memoria direccionable por contenido
- Memorias de matriz de correlación [67]
- Aprendizaje profundo § Redes de memoria
- Redes de memoria dinámica [68]
- Red neuronal feedforward
- Memoria temporal jerárquica
- Memoria asociativa holográfica
- Representación holográfica reducida [69] [70]
- Código de verificación de paridad de baja densidad
- Hash sensible a la localidad
- Redes de memoria [71]
- Marco de predicción de memoria
- Redes de punteros [72] [73]
- Memoria de acceso aleatorio (como un caso especial de SDM) [6]
- Indexación aleatoria [74]
- Memoria autoasociativa recursiva (RAAM) [75]
- Mapa autoorganizado
- Plegado semántico [76]
- Hash semántico [77]
- Memoria semántica
- Red semántica
- Arquitectura de puntero semántico [78]
- Memoria de secuencia [79]
- Codificación escasa [80]
- Representaciones distribuidas dispersas
- Máquina de Turing neuronal [81]
- Autocodificadores apilados [82]
- Arquitectura simbólica vectorial [83]
- Modelo de espacio vectorial
- Memoria virtual
Referencias
- ↑ a b c d e f g Kanerva, Pentti (1988). Memoria distribuida escasa . La prensa del MIT. ISBN 978-0-262-11132-4.
- ^ Rissman, Jesse; Wagner, Anthony D. (2012). "Representaciones distribuidas en la memoria: conocimientos de imágenes cerebrales funcionales" . Revisión anual de psicología . 63 : 101-28. doi : 10.1146 / annurev-psych-120710-100344 . PMC 4533899 . PMID 21943171 .
- ↑ a b c d Grebeníček, František. "Memoria distribuida dispersa - Análisis de datos de patrones. URL: http://www.fit.vutbr.cz/~grebenic/Publikace/mosis2000.pdf "
- ↑ a b c d e Flynn, Michael J., Pentti Kanerva y Neil Bhadkamkar. "Prototipo de memoria dispersa distribuida: principios y funcionamiento". (1989).
- ^ C. George Boeree (2002). "Psicología general" . Universidad de Shippensburg.
- ^ a b Pentti Kanerva (1993). "Memoria distribuida escasa y modelos relacionados". Universidad Estatal de Pensilvania: 50–76. CiteSeerX 10.1.1.2.8403 . Cite journal requiere
|journal=
( ayuda ) - ^ MJ Flynn; P. Kanerva y N. Bhadkamkar (diciembre de 1989). "Memoria distribuida escasa: principios y funcionamiento" (PDF) . Universidad de Stanford . Consultado el 1 de noviembre de 2011 .[ enlace muerto permanente ]
- ^ a b Snaider, Javier y Stan Franklin. " Memoria distribuida dispersa de números enteros ". Vigésimo quinto congreso internacional de flairs. 2012.
- ^ Mendes, Mateus Daniel Almeida. "Navegación de robot inteligente que utiliza una memoria distribuida escasa". Tesis doctoral, (2010). URL: https://eg.sib.uc.pt/handle/10316/17781
- ^ Grebenıcek, František. Redes neuronales como memorias asociativas. Diss. Universidad de Tecnología de Brno, 2001. URL: http://www.vutium.vutbr.cz/tituly/pdf/ukazka/80-214-1914-8.pdf
- ^ Kandel, Eric R., James H. Schwartz y Thomas M. Jessell, eds. Principios de la ciencia neuronal. Vol. 4. Nueva York: McGraw-Hill, 2000.
- ^ Eccles, John G. "Bajo el hechizo de la sinapsis". Las neurociencias: caminos de descubrimiento, I. Birkhäuser Boston, 1992. 159-179.
- ^ McCulloch, Warren S .; Pitts, Walter (1943). "Un cálculo lógico de las ideas inmanentes en la actividad nerviosa". Boletín de Biofísica Matemática . 5 (4): 115-133. doi : 10.1007 / bf02478259 .
- ^ Brogliato, Marcelo Salhab (2012). Comprensión de la distancia crítica en la memoria distribuida escasa (tesis). hdl : 10438/13095 .
- ^ Brogliato, Marcelo Salhab; Chada, Daniel de Magalhães; Linhares, Alexandre (2014). "Memoria distribuida dispersa: comprensión de la velocidad y robustez de la memoria experta" . Fronteras en neurociencia humana . 8 (222): 222. doi : 10.3389 / fnhum.2014.00222 . PMC 4009432 . PMID 24808842 .
- ^ Abbott, Joshua T., Jessica B. Hamrick y Thomas L. Griffiths. " Aproximación a la inferencia bayesiana con un sistema de memoria distribuida escasa ". Actas de la 35ª conferencia anual de la sociedad de la ciencia cognitiva. 2013.
- ^ Anderson (1989). "Una interpretación de probabilidad condicional de la memoria distribuida escasa de Kanerva". Conferencia conjunta internacional sobre redes neuronales . 1 . págs. 415–417. doi : 10.1109 / ijcnn.1989.118597 . S2CID 13935339 .
- ^ Vinje, WE; Gallant, JL (2000). "Codificación escasa y decorrelación en la corteza visual primaria durante la visión natural" (PDF) . Ciencia . 287 (5456): 1273–1276. Código Bibliográfico : 2000Sci ... 287.1273V . CiteSeerX 10.1.1.456.2467 . doi : 10.1126 / science.287.5456.1273 . PMID 10678835 . S2CID 13307465 . Archivado desde el original (PDF) el 11 de septiembre de 2017.
- ^ Hromádka, T; Deweese, MR; Zador, AM (2008). "Representación escasa de sonidos en la corteza auditiva no anestesiada" . PLOS Biol . 6 (1): e16. doi : 10.1371 / journal.pbio.0060016 . PMC 2214813 . PMID 18232737 .
- ^ Crochet, S; Poulet, JFA; Kremer, Y; Petersen, CCH (2011). "Mecanismos sinápticos subyacentes a la codificación escasa del tacto activo". Neurona . 69 (6): 1160-1175. doi : 10.1016 / j.neuron.2011.02.022 . PMID 21435560 . S2CID 18528092 .
- ^ De mi a mi; Ong, RCY; Raman, B; Stopfer, M (2008). "Representación escasa de olores y aprendizaje olfativo" . Nat Neurosci . 11 (10): 1177–1184. doi : 10.1038 / nn.2192 . PMC 3124899 . PMID 18794840 .
- ^ Una memoria escasa es una memoria precisa. Blog de ciencia de Oxford. 28 de febrero de 2014. http://www.ox.ac.uk/news/science-blog/sparse-memory-precise-memory
- ^ Lin, Andrew C .; et al. (2014). "La codificación de olores escasa y descorrelacionada en el cuerpo del hongo mejora la discriminación de olores aprendida" . Neurociencia de la naturaleza . 17 (4): 559–568. doi : 10.1038 / nn.3660 . PMC 4000970 . PMID 24561998 .
- ^ Dasgupta, Sanjoy; Stevens, Charles F .; Navlakha, Saket (2017). "Un algoritmo neuronal para un problema informático fundamental" . Ciencia . 358 (6364): 793–796. Código bibliográfico : 2017Sci ... 358..793D . doi : 10.1126 / science.aam9868 . PMID 29123069 .
- ^ a b Rinkus, Gerard J. (2012). "Computación cuántica a través de representación distribuida escasa". NeuroCantología . 10 (2). arXiv : 1707.05660 . doi : 10.14704 / nq.2012.10.2.507 . S2CID 9754194 .
- ^ Denning, Peter J. Memoria distribuida escasa. Instituto de Investigación para Ciencias Informáticas Avanzadas [Centro de Investigación Ames de la NASA], 1989.
- ^ Minsky, Marvin y Papert Seymour. "Perceptrones". (1969). "Tiempo frente a memoria para una mejor correspondencia: un problema abierto" p. 222–225
- ^ a b Uma Ramamurthy; Sidney K. D'Mello; Stan Franklin. "Darse cuenta del olvido en un sistema de memoria distribuida dispersa modificado" . Departamento de Ciencias de la Computación e Instituto de Sistemas Inteligentes . La Universidad de Memphis. págs. 1992-1997. Archivado desde el original (PDF) en 2006 . Consultado el 1 de noviembre de 2011 .
- ^ Rocha LM, Hordijk W (2005). "Representaciones materiales: del código genético a la evolución de los autómatas celulares" . Vida artificial . 11 (1–2): 189–214. CiteSeerX 10.1.1.115.6605 . doi : 10.1162 / 1064546053278964 . PMID 15811227 . S2CID 5742197 .
- ^ Rogers, David. "Predicción estadística con la escasa memoria distribuida de Kanerva". Avances en sistemas de procesamiento de información neuronal. 1989.
- ^ Rao, RPN; Fuentes, O. (1998). "Aprendizaje jerárquico de comportamientos de navegación en un robot autónomo utilizando una memoria distribuida dispersa predictiva" (PDF) . Aprendizaje automático . 31 : 87-113. doi : 10.1023 / a: 1007492624519 . S2CID 8305178 .
- ^ Franklin, Stan y col. " El papel de la conciencia en la memoria ". Cerebros, mentes y medios 1.1 (2005): 38.
- ^ Shastri, Lokendra (2002). "Memoria episódica e interacciones cortico-hipocampal" (PDF) . Tendencias en ciencias cognitivas . 6 (4): 162-168. doi : 10.1016 / s1364-6613 (02) 01868-5 . PMID 11912039 . S2CID 15022802 .
- ^ Anwar, Ashraf; Franklin, Stan (2003). "Memoria distribuida escasa para agentes de software 'conscientes'". Investigación de sistemas cognitivos . 4 (4): 339–354. doi : 10.1016 / s1389-0417 (03) 00015-9 . S2CID 13380583 .
- ^ Ratitch, Bohdana, Swaminathan Mahadevan y Doina Precup . "Recuerdos distribuidos escasos en el aprendizaje por refuerzo: estudios de casos". Proc. del Taller de Aprendizaje y Planificación en Procesos de Markov: Avances y Desafíos. 2004.
- ^ Ratitch, Bohdana y Doina Precup. " Escasas memorias distribuidas para el aprendizaje reforzado basado en valores en línea ". Aprendizaje automático: ECML 2004. Springer Berlin Heidelberg, 2004. 347-358.
- ↑ Bouchard-Côté, Alexandre. " Detección de estructuras de memoria dispersas ". (2004).
- ^ Rao, Rajesh PN y Dana H. Ballard. " Indexación de objetos utilizando una icónica memoria distribuida escasa ". Computer Vision, 1995. Proceedings., Quinta Conferencia Internacional sobre. IEEE, 1995.
- ^ D'Mello, Sidney K., Ramamurthy, U. y Franklin, S. 2005. Eficiencia de codificación y recuperación de datos episódicos en un sistema de memoria distribuida dispersa modificada . En Actas de la 27ª Reunión Anual de la Sociedad de Ciencias Cognitivas. Stresa, Ital
- ^ Ramamaurthy, U., Sidney K. D'Mello y Stan Franklin. " Memoria distribuida dispersa modificada como memoria episódica transitoria para agentes de software cognitivo ". Systems, Man and Cybernetics, 2004 IEEE International Conference on. Vol. 6. IEEE, 2004.
- ^ Snaider, Javier; Franklin, Stan (2012). "Memoria distribuida escasa extendida y almacenamiento de secuencias" . Computación cognitiva . 4 (2): 172–180. doi : 10.1007 / s12559-012-9125-8 . S2CID 14319722 .
- ^ Furber, Steve B .; et al. (2004). "Escasa memoria distribuida utilizando códigos N-de-M". Redes neuronales . 17 (10): 1437-1451. doi : 10.1016 / j.neunet.2004.07.003 . PMID 15541946 .
- ^ Sharp, Thomas: " Aplicación de la memoria distribuida escasa al problema del péndulo invertido ". Diss. Universidad de Manchester, 2009. URL: http://studentnet.cs.manchester.ac.uk/resources/library/thesis_abstracts/MSc09/FullText/SharpThomas.pdf
- ^ Bose, alegría. Ingeniería de una máquina de secuencia a través de neuronas en punta que emplean códigos de orden de rango . Diss. Universidad de Manchester, 2007.
- ^ Simon Thorpe y Jacques Gautrais. Codificación de orden de rango. En Computational Neuroscience: Trends in research, páginas 113-118. Plenum Press, 1998.
- ^ Furber, Stephen B .; et al. (2007). "Memoria distribuida escasa utilizando códigos neuronales de orden de rango". Transacciones IEEE en redes neuronales . 18 (3): 648–659. CiteSeerX 10.1.1.686.6196 . doi : 10.1109 / tnn.2006.890804 . PMID 17526333 . S2CID 14256161 .
- ^ Calimera, A; Macii, E; Poncino, M (2013). "El proyecto del cerebro humano y la computación neuromórfica" . Neurología funcional . 28 (3): 191–6. PMC 3812737 . PMID 24139655 .
- ^ Hola, Tim; Willshaw, David J .; Hayes, Gillian M. (1997). "Un nuevo enfoque de la escasa memoria distribuida de Kanerva" . Transacciones IEEE en redes neuronales . 8 (3): 791–794. doi : 10.1109 / 72.572115 . PMID 18255679 . S2CID 18628649 .
- ^ Caraig, Lou Marvin. " Un nuevo algoritmo de entrenamiento para la escasa memoria distribuida de Kanerva ". preimpresión de arXiv arXiv: 1207.5774 (2012).
- ^ Anwar, Ashraf; Franklin, Stan (1 de enero de 2005). Ng, Michael K .; Doncescu, Andrei; Yang, Laurence T .; Leng, Tau (eds.). Una memoria distribuida escasa capaz de manejar señales pequeñas, SDMSCue . IFIP - Federación Internacional para el Procesamiento de la Información. Springer EE. UU. págs. 23–38. doi : 10.1007 / 0-387-24049-7_2 . ISBN 978-0-387-24048-0.
- ^ Método y aparato para un sistema de memoria dispersa distribuida US 5113507 A, por Louis A. Jaeckel, Universities Space Research Association, 1992, URL: http://www.google.com/patents/US5113507
- ^ Método y dispositivo para almacenar y recuperar información implementando un sistema de memoria kanerva US 5829009 A, por Gary A. Frazier, Texas Instruments Incorporated, 1998, URL: https://www.google.com/patents/US5829009
- ^ Furber, Stephen B. "Memoria digital". Patente de Estados Unidos Nº 7.512.572. 31 de marzo de 2009 URL: https://www.google.com/patents/US7512572
- ^ Memoria temporal con representación distribuida dispersa US 20110225108 A1, por Jeffrey C. Hawkins, Marianetti II Ronald, Anosh Raj, Subutai Ahmad, Numenta, Inc, 2011, URL: http://www.google.com/patents/US20110225108
- ^ Emruli, Blerim; Sandin, Fredrik; Delsing, Jerker (2015). "Arquitectura de espacio vectorial para la interoperabilidad emergente de sistemas aprendiendo de la demostración". Arquitecturas cognitivas de inspiración biológica . 11 : 53–64. doi : 10.1016 / j.bica.2014.11.015 .
- ^ Emruli, Blerim; Sandin, Fredrik (2014). "Mapeo analógico con escasa memoria distribuida: un modelo simple que aprende a generalizar a partir de ejemplos" . Computación cognitiva . 6 (1): 74–88. doi : 10.1007 / s12559-013-9206-3 . S2CID 12139021 .
- ^ Berchtold, Martin. "Procesamiento de datos de sensores con Common Sense Toolkit (CSTK)". * (2005).
- ^ La mente deambula por B. Hayes, 2018. url: http://bit-player.org/2018/the-mind-wanders
- ^ a b Brogliato, Marcelo S .; Chada, Daniel M .; Linhares, Alexandre (2014). "Memoria distribuida escasa: comprensión de la velocidad y robustez de la memoria experta" . Fronteras en neurociencia humana . 8 : 222. doi : 10.3389 / fnhum.2014.00222 . PMC 4009432 . PMID 24808842 .
- ^ Surkan, Alvin J. (1992). "WSDM: prototipo de memoria distribuida escasa ponderada expresada en APL". ACM SIGAPL APL Quote Quote . 23 : 235–242. doi : 10.1145 / 144052.144142 .
- ^ Turk, Andreas y Günther Görz. "La escasa memoria distribuida de Kanerva: una implementación orientada a objetos en la máquina de conexión". IJCAI. 1995.
- ^ Silva; Tadeu Pinheiro, Marcus; Pádua Braga, Antônio; Soares Lacerda, Wilian (2004). "Coprocesador reconfigurable para la escasa memoria distribuida de kanerva" (PDF) . Microprocesadores y Microsistemas . 28 (3): 127-134. doi : 10.1016 / j.micpro.2004.01.003 .
- ^ Brown, Robert L. (junio de 1987). "Dos demostradores y un simulador para una escasa memoria distribuida" (PDF) . Archivo de informes técnicos de la NASA .
- ^ Muja, Marius. " Métodos escalables del vecino más cercano para datos de alta dimensión ". (2013).
- ^ Hassoun, Mohamad H. Memorias neuronales asociativas. Oxford University Press, Inc., 1993.
- ^ Kanerva, Pentti. "Codificación binaria de salpicaduras de tuplas K ordenadas". Redes neuronales artificiales — ICANN 96. Springer Berlin Heidelberg, 1996. 869-873.
- ^ Kohonen, Teuvo. " Memorias de matriz de correlación ". Computadoras, transacciones IEEE en 100.4 (1972): 353-359.
- ^ Ankit Kumar, Ozan Irsoy, Jonathan Su, James Bradbury, Robert English, Brian Pierce, Peter Ondruska, Ishaan Gulrajani, Richard Socher. " Pregúntame cualquier cosa: redes de memoria dinámica para el procesamiento del lenguaje natural ". preimpresión de arXiv arXiv: 1506.07285 (2015).
- ^ Placa, Tony A. "Representación reducida holográfica: representación distribuida de estructuras cognitivas". (2003).
- ^ Kanerva, Pentti. " Computación con palabras de 10,000 bits ". Proc. 52ª Conferencia Anual de Allerton sobre comunicación, control e informática. 2014.
- ^ Weston, Jason, Sumit Chopra y Antoine Bordes. "Redes de memoria". preimpresión de arXiv arXiv: 1410.3916 (2014).
- ^ Vinyals, Oriol, Meire Fortunato y Navdeep Jaitly. "Redes de punteros". preimpresión de arXiv arXiv: 1506.03134 (2015).
- ^ Kurach, Karol, Andrychowicz, Marcin y Sutskever, Ilya. " Máquinas neuronales de acceso aleatorio ". preimpresión de arXiv arXiv: 1511.06392 (2015).
- ^ Joshi, Aditya, Johan Halseth y Pentti Kanerva. "Reconocimiento de idiomas mediante indexación aleatoria". preimpresión de arXiv arXiv: 1412.7026 (2014). https://arxiv.org/abs/1412.7026
- ^ Pollack, Jordan B (1990). "Representaciones distribuidas recursivas". Inteligencia artificial . 46 (1): 77-105. doi : 10.1016 / 0004-3702 (90) 90005-k .
- ^ De Sousa Webber, Francisco (2015). "Teoría del plegado semántico y su aplicación en huellas semánticas". arXiv : 1511.08855 [ cs.AI ].
- ^ Salakhutdinov, Ruslan y Geoffrey Hinton. " Hash semántico ". RBM 500,3 (2007): 500.
- ^ Eliasmith, Chris y col. " Un modelo a gran escala del funcionamiento del cerebro ". ciencia 338.6111 (2012): 1202-1205.
- ^ Hawkins, Jeff; George, Dileep; Niemasik, Jamie (2009). "Memoria secuencial para predicción, inferencia y comportamiento" . Transacciones filosóficas de la Royal Society B: Ciencias biológicas . 364 (1521): 1203–1209. doi : 10.1098 / rstb.2008.0322 . PMC 2666719 . PMID 19528001 .
- ^ Lee, Honglak y col. " Algoritmos de codificación dispersos eficientes ". Avances en sistemas de procesamiento de información neuronal. 2006.
- ^ Graves, Alex, Greg Wayne e Ivo Danihelka. "Máquinas neurales de Turing". preimpresión de arXiv arXiv: 1410.5401 (2014).
- ^ Vincent, Pascal; et al. (2010). "Autoencoders de eliminación de ruido apilados: aprendizaje de representaciones útiles en una red profunda con un criterio de eliminación de ruido local" (PDF) . The Journal of Machine Learning Research . 11 : 3371–3408.
- ^ Rachkovskij, Dmitri A .; Kussul, Ernst M. (2001). "Enlace y normalización de representaciones binarias distribuidas dispersas por adelgazamiento dependiente del contexto" (PDF) . Computación neuronal . 13 (2): 411–452. doi : 10.1162 / 089976601300014592 . S2CID 585366 .