ES2429214T3 - Método para seleccionar información - Google Patents

Método para seleccionar información Download PDF

Info

Publication number
ES2429214T3
ES2429214T3 ES08718501T ES08718501T ES2429214T3 ES 2429214 T3 ES2429214 T3 ES 2429214T3 ES 08718501 T ES08718501 T ES 08718501T ES 08718501 T ES08718501 T ES 08718501T ES 2429214 T3 ES2429214 T3 ES 2429214T3
Authority
ES
Spain
Prior art keywords
information
input
context
characteristic information
parameters
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES08718501T
Other languages
English (en)
Inventor
Harri Valpola
Antti Yli-Krekola
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zenrobotics Oy
Original Assignee
Zenrobotics Oy
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 Zenrobotics Oy filed Critical Zenrobotics Oy
Application granted granted Critical
Publication of ES2429214T3 publication Critical patent/ES2429214T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)

Abstract

Método implementado por ordenador para seleccionar información de características con el fin de producir unaseñal de control para un robot, y procesándose información de entrada en dicho método con la intención de hallarinformación útil con vistas a la tarea de producir la señal de control, consistiendo dicha información de entrada, enunas entradas primarias y en un contexto que representa información general relacionada con la tarea que se va allevar a cabo, con lo cual la entrada primaria consiste en datos sensoriales y el contexto consiste en una señal decontrol para el robot, con lo cual la información de características que se va a seleccionar se forma a partir de lainformación de entrada como preactivaciones en forma de valores numéricos, procesándose además los valores dela información de características sobre la base de su utilidad, caracterizado porque a) se forma una predicción sobre la información de características final para producir la señal de control, a partirde un primer contexto de un conjunto de información de entrada por medio de unos primeros parámetros yuna función parametrizada para la señal de control, b) se forman preactivaciones de la información de características para producir la señal de control, en forma devalores numéricos a partir de la primera entrada primaria del conjunto de información de entrada por mediode unos segundos parámetros y una función parametrizada para la señal de control, c) se forma la información de características a partir de las preactivaciones combinando la predicción con laspreactivaciones, de manera que la información de características que se estima que tiene una utilidadsuperior se refuerza y otra información de características se debilita, con lo cual se considera que lainformación de características tiene una utilidad superior si se predice en la etapa a), d) los segundos parámetros se modifican de tal manera que, la función parametrizada de la etapa b), usada conlos segundos parámetros modificados, forma la información de características formada en la etapa c), e) las etapas a) a d) se repiten para cada elemento del conjunto de información de entrada.

Description

Método para seleccionar información
Campo técnico
El objetivo de la invención es un método adecuado, por ejemplo, para el control, el reconocimiento de patrones o la predicción, usándose dicho método para la integración y la selección de información y el aprendizaje de su representación.
Antecedentes de la invención
La información incluida en señales de entrada o datos de observación se debe gestionar en muchas aplicaciones, como la visión computarizada o el control de un robot autónomo, y con este fin se han desarrollado varios tipos diferentes de métodos.
Por ejemplo, varios de estos métodos se han presentado en el aprendizaje automático y en el análisis estadístico, los cuales se pueden usar para el aprendizaje de la representación de información, en otras palabras, parámetros que definen la representación de información se adaptan sobre la base de datos de observación. Normalmente, la finalidad de la adaptación es encontrar dichas características útiles a partir de observaciones, que se pueden usar, por ejemplo, para el reconocimiento de patrones, control o acciones correspondientes. Por ejemplo, el análisis de componentes independientes se usa para hallar características descriptivas de señales de entrada a partir de datos de observación. Es común para muchos de estos métodos que, sobre la base de vectores de entrada, una unidad de procesado de información forme vectores de características, los cuales describen propiedades de vectores de entrada, y el significado de los elementos de los vectores de características, en otras palabras, las características, cambian como resultado de la adaptación. En la medida en la que un vector de estado de un filtro de Kalman se puede considerar como un vector de características, el vector de estado describe información incluida en vectores de entrada.
Muchos de estos métodos antes descritos se pueden interpretar considerando la estadística bayesiana, en donde las probabilidades describen un grado de creencia, y la regla de Bayes especifica cómo integrar información de fuentes diferentes. Por ejemplo, cuando se calcula un valor de un vector de estado en el caso de un filtro de Kalman, se combina la información obtenida a partir de señales de observación y valores previos de vectores de estado. En términos de estadística bayesiana: una distribución a priori, que se calcula usando vectores de estado previos, y una verosimilitud, que se calcula sobre la base de señales de observación, se combinan en una distribución a posteriori del vector de estado, la cual describe las probabilidades de diferentes valores del vector de estado. La distribución a posteriori sigue la distribución gaussiana en el caso del filtro de Kalman y se representa por medio de una covarianza y una media a posteriori. En algunos otros métodos, la incertidumbre a posteriori no se representa en absoluto, aunque sin embargo estos métodos se pueden interpretar como aproximaciones del método bayesiano.
Merece la pena indicar en los métodos que el valor de un vector de características describe una señal de observación, aunque la información se integra también a partir de información a priori.
El reconocimiento de patrones es una parte del aprendizaje automático basado en información que pretende desarrollar modelos o sistemas que reconozcan patrones. El reconocimiento de patrones se aplica, por ejemplo, en la tecnología de la información y en robótica, aunque también en la tecnología médica y en la investigación de la interacción hombre-ordenador. Un sistema de reconocimiento de patrones se define como un proceso con cuatro etapas - medición, preprocesado, extracción de características y clasificación.
En la primera etapa, se adquieren los datos necesarios, principalmente midiendo variables físicas y convirtiendo datos analógicos obtenidos, en formato digital. En la segunda etapa, se preprocesan datos, frecuentemente usando diferentes tipos de métodos de procesado de señal digital, como el filtrado o un análisis de componentes principales. En la tercera etapa, se establecen correspondencias de datos de medición preprocesados en el espacio de características. En esta etapa, los datos se pueden interpretar como convertidos en información. En la cuarta etapa, las muestras de las cuales se ha establecido una correspondencia en el espacio de características, se clasifican en dos o más categorías usando un clasificador.
En tareas de reconocimiento de patrones exigentes, como el reconocimiento de caracteres escritos a mano, con frecuencia el procesado de vectores de características se organiza jerárquicamente, de tal manera que en cada nivel existen varias unidades de procesado y las mismas obtienen vectores de características como entrada proveniente de una parte de las unidades de niveles inferiores de jerarquía. En tales sistemas, las unidades de procesado, como contexto, pueden obtener características de unidades superiores y posiblemente también de unidades del mismo nivel. Una ventaja del uso de la jerarquía es que el número de conexiones permanece bajo, aunque, de todos modos, es posible integrar información a partir de una gran cantidad de señales de entrada. Un ejemplo clásico de un modelo jerárquico de este tipo es Neocognitron de Fukushima (Fukushima, 1980).
En muchas aplicaciones, se afronta una situación en la que los datos de observación contienen más estructura estadística de la que puede representar la unidad de procesado usada. En un caso de este tipo, resulta necesario seleccionar información que sea útil para la tarea. Con frecuencia es necesario adaptar el modelo de tal modo que las características que el mismo representa describan información útil para la tarea.
En algunos casos, un aprendizaje supervisado, el cual constituye un método de aprendizaje automático, resulta adecuado para una selección controlada de características útiles. El aprendizaje controlado se corresponde con la regresión en estadística. El objetivo de la regresión es hallar una correspondencia de un vector de entrada con otro, denominado vector objetivo. Si el establecimiento de correspondencias de vectores de entrada con vectores objetivo se realiza en varias etapas, los resultados intermedios se pueden interpretar como vectores de características especialmente si la estructura del modelo se selecciona de tal manera que la dimensión del resultado intermedio es menor que la de los vectores de entrada y objetivo (Hecht-Nielsen, 1993). En el caso más sencillo, se pueden usar dos correspondencias lineales secuenciales, siendo el resultado esencialmente el mismo que en el análisis de correlación canónica. El vector de entrada se puede interpretar como una entrada primaria y el vector objetivo como un contexto, puesto que el vector de características, en el cual se utilizan métodos de aprendizaje supervisado descritos anteriormente, depende inmediatamente del vector de entrada, aunque durante la instrucción, la representación se modifica de tal manera que las características contienen tanta información del vector objetivo como sea posible.
Un problema con estos métodos es que es necesaria una cantidad enorme de datos de observación para el aprendizaje supervisado del establecimiento de correspondencias de múltiples etapas, haciendo que el aprendizaje de muchos problemas cotidianos resulte lento hasta niveles poco prácticos o imposible cuando faltan datos de observación adecuados. Típicamente, el problema se intenta resolver usando algún método de aprendizaje supervisado como preprocesado, por ejemplo, el análisis antes mencionado de componentes independientes. En una solución de este tipo, el problema es que el aprendizaje supervisado únicamente pretende describir los datos de observación, pero no intenta seleccionar información útil para la tarea. Una solución presentada es, por ejemplo, hallar características invariantes en el tiempo. No obstante, con mucha frecuencia esto no limita en grado suficiente el conjunto de características potencialmente útiles y, por otro lado, se puede perder información útil, que resulte no ser invariante en el tiempo.
Básicamente, el problema es que los métodos basados en la inferencia estadística bayesiana (como la memoria temporal jerárquica descrita en las publicaciones W02006063291 y US2007005531) pueden representar el grado de creencia y los fenómenos subrayan las observaciones, pero la selección de información útil es por naturaleza un problema teórico de decisión. Además del grado de creencia, es importante considerar la utilidad, tal como se denomina en la teoría de la decisión. La probabilidad de la característica responde a la pregunta, si la característica está presente en las observaciones, pero también es necesario considerar la utilidad, que se obtiene si la característica existente está presente.
Los métodos que meramente usan inferencia estadística resultan especialmente inadecuados para situaciones en las que se debe seleccionar dinámicamente información útil. En muchos problemas cotidianos - por ejemplo, en el control de agarre por manos robóticas - resulta importante poder seleccionar información relevante para la tarea actual, y el problema de control es significativamente más sencillo si se representa únicamente información útil (por ejemplo, la posición de la mano, el lugar y la forma del objeto buscado y posibles obstáculos entre la mano y el objeto) en lugar de toda la información proporcionada por los sensores (cámaras, micrófonos y otros).
El córtex de los seres humanos y otros mamíferos puede resolver los tipos de problemas antes descritos. El córtex puede integrar cantidades enormes de información proporcionada por los sentidos, seleccionar las partes esenciales para la tarea (atención selectiva, selección dinámica) y modificar sus representaciones en una dirección útil para diferentes tipos de tareas (aprendizaje, modificación de parámetros). El desarrollo de muchos métodos que recuerdan a los descritos en esta publicación se ha inspirado por lo tanto en la función del córtex de seres humanos y otros mamíferos.
Se ha demostrado que la atención selectiva surge de sistemas que consisten en varias unidades de procesado de información, si cada unidad selecciona la información que representa sobre la base de qué información le transmiten otras unidades como contexto (por ejemplo, Usher y Niebur, 1996). La atención selectiva surge si las unidades tienen como objetivo seleccionar, a partir de su propia entrada primaria, la información que encaje en el contexto. Puesto que en su mayor parte es útil para alternar el objetivo de la atención, también es necesario un mecanismo tal que evite el foco de atención sobre lo mismo durante demasiado tiempo. Existen muchos métodos dedicados a esta finalidad (por ejemplo, Lankheet, 2006).
Se sabe que la atención selectiva en humanos juega un papel central para el aprendizaje de asociaciones entre características (Kruschke, 2001) y también para la supervisión del aprendizaje de presentaciones. No obstante, en modelos previos, esto o bien no se ha implementado en absoluto o bien los objetivos de la atención se han determinado de alguna manera de antemano. Walther y Koch (2006) usaron este último método. Su modelo es incapaz de adaptarse a tipos nuevos de objetos, en su lugar la atención y el aprendizaje únicamente funcionan para objetos que cumplen aquellos criterios de los denominados proto-objetos que se fijan de antemano.
La finalidad del denominado Análisis de Componentes Principales (PCA) es hallar aquellos componentes por medio de los cuales se pueden representar los datos multidimensionales de características centrales sin perder elementos importantes. El análisis de componentes principales ordena los componentes de los datos de entrada según sus autovalores.
Después del análisis de componentes principales, es necesario seleccionar cuáles se pueden descartar como menos importantes, puesto que el método no descarta automáticamente ningún componente, únicamente fija los componentes encontrados en un orden de magnitud. Es uno de los métodos fundamentales en el reconocimiento de patrones y el procesado de señales.
En el método presentado en el artículo: “A neurodynamical cortical model of visual attention and invariant object recognition”, Vision Research 44 (2004) 621-642, de Deco y Rolls (2004), la selección dinámica tiene lugar sobre la base del contexto. Se calculan pre-activaciones para las características meramente sobre la base de la “entrada primaria”. Después de esto, las pre-activaciones de las características, predichas a partir del contexto, se refuerzan. Finalmente se seleccionan las activaciones más fuertes. De este modo, el contexto influye en qué características se seleccionarán para la representación. No obstante, se usó un método aparte para la adaptación de los parámetros presentada por Wallis, Rolls y Földiák. En este método no se usa ningún contexto real. (G. Wallis, E. T. Rolls y P. Földiák, “Learning invariant responses to the natural transformations of objects”. International Joint Conference on Neural Networks, 2:1087-1090, 1993). Así, en el artículo de Rolls y Deco, se usó un método en el que los parámetros en primer lugar se adaptaban por medio de un método, y a continuación los parámetros obtenidos se usaban en la selección dinámica de información de características sobre la base de predicciones realizadas a partir del contexto.
El análisis de correlación canónica tiene en cuenta el contexto en la adaptación de los parámetros, aunque no se selecciona dinámicamente información.
Las siguientes publicaciones se presentan en calidad de técnica anterior, además de las mencionadas anteriormente.
K. Fukushima, “Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position”. Biological Cybernetics, 36:193-202, 1980.
R. Hecht-Nielsen, “Replicator neural networks for universal optimal source coding”. Science, 269:1860-1863, 1995.
J. K. Kruschke, “Toward a unified model of attention in associative learning”. Journal of Mathematical Psychology 45:812-863, 2001.
M. J. M. Lahkheet, “Unraveling adaptation and mutual inhibition in perceptual rivalry”. Journal of Vision, 6:304-310, 2006.
M. Usher y E. Niebur, “Modeling the temporal dynamics of IT neurons in visual search: A mechanism for top-down selective attention”. Journal of cognitive neuroscience, 8:311-327, 1996.
G. Wallis, E. T. Rolls y P Földiák, “Learning invariant responses to the natural transformations of objects”. International Join Conference on Neural Networks, 2:1087-1090, 1993. Wallis, Rolls y Földiák adaptan parámetros, pero usan la oportuna invariancia de características producidas, como criterio para la adaptación. Por lo tanto, no se usa contexto en absoluto.
D. Walter y C. Koch, “Modeling attention to salient proto-objects”. Neural Networks, 19:1395-1407, 2006.
El documento de HARRI VALPOLA: “Behaviourally meaningful representations from normalization and contextguided denoising” AI LAB TECHNICAL REPORT, UNIVERSITY OF ZÜRICH, 14 de mayo de 2004 (), páginas 1 a 8, XP002493664, Zürich, CH, Recuperado de Internet: URLhttp//cogprints.org!3633!lltrO4a.pdf, describe un método implementado por ordenador para seleccionar información de características con el fin de producir una señal de control para un robot, y procesándose información de entrada en dicho método con la intención de hallar información útil teniendo en cuenta la tarea de producir la señal de control, consistiendo dicha información de entrada, en unas entradas primarias y en un contexto que representa información general relacionada con la tarea a realizar, con lo cual la entrada primaria consta de datos sensoriales y el contexto consisten en una señal de control para el robot, con lo cual la información de características que se va a seleccionar se forma a partir de la información de entrada como preactivaciones en forma de valores numéricos, procesándose además los valores de la información de características sobre la base de su utilidad.
Debido a que el aprendizaje de las características y su selección dinámica son procesos independientes, la información que se obtiene por atención selectiva no se puede utilizar en el aprendizaje.
El objetivo del método de esta solicitud es combinar la adaptación de parámetros que definen las características con la selección dinámica de información de características, de tal manera que el método tanto aprende como selecciona características útiles para la tarea.
Sumario de la invención
El método de procesado de información de la invención está caracterizado principalmente por la parte caracterizadora de la reivindicación 1.
En el método de la invención, se selecciona información en una unidad de procesado. El resultado final a alcanzar consiste en la información de características final que se va a usar para llevar a cabo una tarea. En el método, se procesa información de entrada de una unidad de procesado con el fin de hallar información útil para la tarea, a partir de información de entrada. La información de entrada consta de entradas primarias y de contexto que representa información general para llevar a cabo una tarea. A partir de la información de entrada se forma información de características que presenta propiedades de la información de entrada. Los valores de la información de características se procesan adicionalmente sobre la base de su utilidad. El método se caracteriza principalmente porque se forma una predicción preliminar sobre el resultado final a partir de un contexto de un primer conjunto de información de entrada por medio de primeros parámetros, y porque la primera entrada primaria del conjunto de información de entrada se pre-procesa formando resultados de cálculo sobre la base de segundos parámetros. La utilidad de la información obtenida en las etapas anteriores se estima combinando la predicción obtenida y los resultados de cálculo de tal manera que se seleccionan características útiles a partir de los resultados de cálculo sobre la base de la predicción, es decir, se forma información de características enfatizando propiedades útiles y debilitando otras propiedades. A continuación, los segundos parámetros se modifican de manera que la etapa en la que se preprocesó la entrada primaria hubiera dado, desde el mismo principio, resultados de cálculo que se corresponden con la información de características obtenida en la etapa de estimación. Después de eso, se toman el contexto y la entrada primaria siguientes del conjunto de información de entrada y la entrada primaria con vistas al tratamiento, y las etapas antes presentadas se repiten para cada miembro del conjunto de información de entrada con el fin de obtener la información de características final.
Las formas de realización preferibles de la invención se presentan en las reivindicaciones secundarias.
En una de estas formas de realización, los primeros parámetros también se modifican de tal manera que habrían dado los resultados de cálculo correspondientes a la información de características.
En lo sucesivo, se explican algunos términos de las reivindicaciones y el texto para facilitar la comprensión de las reivindicaciones.
En esta publicación, la entrada primaria es la información que describen principalmente las características, y el contexto consta de otra información auxiliar, la cual se usa de otras maneras para supervisar la formación del vector de características.
En la invención, se considera principalmente que la información de características se presenta como valores numéricos o escalares, es decir, como números mayores o menores. El término activación es un sinónimo del valor numérico de la característica. La expresión función de activación se usa en redes neuronales. Explica cómo se calcula el valor de la característica a partir de los vectores de entrada y los parámetros. El uso del término activación incluye, en general, como en este texto, la suposición de que el nivel cero es el valor por defecto que significa que el fenómeno descrito por una característica no está presente en el vector de entrada. Un valor que difiere de cero expresa que el fenómeno descrito por una característica está presente en un vector de entrada, cuanto más fuerte o, más probablemente, mayor sea el valor numérico de la característica. La información de características se selecciona sobre la base de la utilidad en esta invención. La selección de información se implementa cambiando un valor de una característica más próximo al nivel cero si el método considera la utilidad de presentar la característica como pequeña.
Un conjunto de información de entrada consiste en varias informaciones de entrada (por ejemplo, varias imágenes de cámara sucesivas y datos sensoriales), las cuales a su vez constan de varios valores numéricos. Un miembro de un conjunto significa un elemento en el conjunto.
Correlación es un término usado en cálculo de probabilidades y estadística. Describe la dependencia entre dos variables. De forma más precisa, es una medida numérica de la dependencia lineal de dos variables aleatorias. No existe ninguna correlación entre dos variables independientes. La correlación entre dos vectores es una matriz de correlación, cuyos elementos describen las correlaciones entre los elementos de los vectores. En estadística, una correlación, así como un valor medio, se define siempre con respecto a algún grupo. En este texto, la correlación se calcula con respecto a un conjunto de información de entrada o con respecto a los resultados calculados a partir de la misma.
La decorrelación es una etapa de cálculo, en la que un vector se multiplica por una matriz de parámetros tal que los
elementos del vector a obtener como resultado final presentan las menos correlaciones mutuas posibles. La matriz de parámetros usada en la decorrelación se modifica durante el procesado de vectores nuevos sobre la base de las correlaciones observadas de tal manera que la correlación ya no existiría en los vectores a procesar posteriormente.
Un nivel de activación promedio es en la práctica la misma cosa que un valor medio. En la descripción detallada de la invención, el término pre-activación se usa, en la implementación presentada posteriormente, para un vector producido por un pre-procesador adaptativo tal que no es todavía el vector de características final (información de características).
El hecho de que la atención enfatice el aprendizaje no solamente cambia los objetivos de aprendizaje sino que también hace que el propio aprendizaje sea más eficiente. Cuando los otros objetos se pueden descartar por la atención, es posible aprender propiedades del objeto buscado a partir de la restante información. El modelo de Walter y Koch se basa en el mismo fenómeno aún cuando la atención no es adaptativa de la misma manera que en el método de esta solicitud. En su modelo, la misma funciona meramente como una etapa de pre-procesado. Aunque la selección de objetos no puede funcionar perfectamente antes de que se hayan aprendido los propios objetos, el aprendizaje ya puede presentar un sesgo con información incompleta. No obstante, por norma general, el sesgo va en la dirección correcta.
La combinación de aprendizaje y atención acelera el aprendizaje, ya que el aprendizaje se altera por objetos que aparecen juntos. En sistemas existentes, es necesaria una cantidad considerable de trabajo humano para la preselección de los objetos de los datos de observación usados en la etapa de instrucción.
El método de la aplicación automatiza esta etapa, lo cual no solamente reduce la necesidad de trabajo humano sino que también permite el aprendizaje autónomo del método y, de esta manera, permite el uso del método en, por ejemplo, un robot autónomo. El fundamento de la reivindicación principal es que tiene en cuenta el contexto tanto en la selección dinámica de información útil como en la adaptación de parámetros. Previamente, se han presentado métodos en los cuales la información de entrada consiste en dos tipos de entradas, una entrada primaria y un contexto, aunque en los mismos, el contexto no se utiliza eficientemente.
El análisis de correlación canónica tiene en cuenta el contexto cuando se adaptan parámetros, pero no selecciona características dinámicamente sobre la base del contexto. Wallis, Rolls y Földiák a su vez adaptan parámetros, pero no usan en absoluto el contexto. (G. Wallis, E. T. Rolls y F. Földiák, “Learning invariant responses to the natural transformations of objects”. International Joint Conference on Neural Networks, 2:1087-1090, 1993). El denominado Análisis de Componentes Principales conocido previamente adapta meramente valores de la entrada primaria, mientras que en el método presentado por Deco y Rolls (2004) en el artículo “A neurodynamical cortical model of visual attention and invariant object recognition”, Vision Research 44 (2004) 621-642, la selección dinámica en concreto se realiza sobre la base del contexto, aunque en el artículo, se presenta un método en el cual primero tiene lugar la adaptación de los parámetros usando un método y los parámetros obtenidos se usan para la selección dinámica de la información de características sobre la base de la predicción obtenida a partir del contexto. En primer lugar, se calculan preactivaciones para las características, basándose en la entrada primaria. A continuación se refuerzan las preactivaciones de las características predichas a partir del contexto. Finalmente, se seleccionan las activaciones más fuertes. De este modo, el contexto influye en qué características se seleccionan para la representación pero no para la adaptación de los parámetros.
En el método de la invención se efectúa tanto una selección dinámica basada en el contexto como una adaptación de los parámetros basada en el contexto.
El método de la invención se puede llevar a cabo o bien en una o bien en varias unidades de procesado. En este último caso, las mismas están conectadas entre sí de manera que comparten la información de características que producen, con cada una de ellas mutuamente como contexto.
Las unidades de procesado o bien puedan funcionar conjuntamente o bien pueden funcionar solas, y se pueden conectar en paralelo o jerárquicamente entre sí. Cuando las unidades se conectan entre sí de tal manera que sus vectores de características están mediados con las otras unidades como contexto, y cada una de estas unidades tiene como objetivo presentar aquella información que es coherente con el contexto, en el sistema surge un proceso de selección de información dinámica, correspondiéndose dicho proceso con la atención selectiva. Además de la coherencia, la utilidad de las características se puede estimar de acuerdo con el valor de novedad: una característica que no se puede predecir a partir del estado previo o a partir del contexto de la unidad, es más valiosa que una característica que se puede predecir. Si una activación duradera de la característica reduce la utilidad, el objetivo de la atención varía aún cuando la entrada no cambie.
En ciertos tipos de estructuras jerárquicas, una parte de la información de contexto puede ser tan buena en la predicción de las entradas primarias, que esta parte dominaría totalmente sin una división forzada en varios grupos. En la medida en la que los parámetros se adaptan de tal manera que la información de características podría predecir contexto, la información de características se seleccionaría de tal manera que sería buena en la predicción de únicamente esta parte de la información de contexto. No obstante, existen situaciones frecuentes en las que la
predicción de cierta información de contexto es notablemente importante. Por ejemplo, en un caso de un robot, las señales de control de los motores son información importante tal que, sin embargo, la misma resulta bastante mala en la predicción de las características vistas en una imagen de cámara. Dividiendo la información de contexto en grupos y obligando a cada grupo a predecir información de entrada primaria, se puede garantizar que se puede hallar la información que describe cada grupo de información de contexto, no solamente aquella cuyo contenido de información es más próximo a la entrada primaria.
Especialmente en el aprendizaje, es decir, cuando se modifican los parámetros, una estimación de la utilidad de una característica no predicha se puede incrementar cuando la activación no predicha (un número diferente de cero) de esta característica ayuda a predecir el contexto.
La atención se centra momentáneamente en la información que presenta la utilidad más alta, y consecuentemente, la representación de la información se adapta en una dirección tal que se enfatizan cosas esenciales o las mismas a la larga presentan una mejor resolución.
Una estimación del progreso del funcionamiento del sistema (5 y 6) se puede incluir en el contexto en el cual se basa la estimación de la utilidad. En la medida en la que las unidades del procesado toman decisiones sobre las activaciones de los vectores de características controlados por la utilidad, las activaciones se pueden usar no solo indirectamente como entradas de algún sistema de control sino también directamente para proporcionar órdenes y señales de control, por ejemplo, a los motores que controlan un robot autónomo. Una estructura de este tipo recuerda el córtex de un ser humano, cuyas activaciones directamente controlan motoneuronas de la médula espinal.
En lo sucesivo, se presentan ejemplos de algunas formas de realización diferentes de los métodos, su comportamiento y aplicación. Estos ejemplos se ofrecen para facilitar la comprensión del método, pero no constituyen formas necesarias de implementar el mismo. Las siguientes figuras se usan como ayuda en la explicación de los ejemplos.
Figuras
Las figuras 1 y 2 ilustran la idea de la invención en términos teóricos.
La figura 3 ilustra una forma de realización en la cual varias unidades de procesado se han usado para llevar a cabo el método de la invención.
La figura 4 ilustra una forma de realización en la cual las unidades de procesado están conectadas jerárquicamente.
La figura 5 ilustra una forma de realización de ejemplo en la cual se da contexto fuera del sistema.
La figura 6 ilustra una aplicación de ejemplo en la cual se da contexto también dentro del sistema.
La figura 7 ilustra una forma de realización de ejemplo de una unidad de procesado.
La figura 8 ilustra un esquema de flujo de un algoritmo, que dispersa (sparsifies) las activaciones de un vector de una manera computacionalmente eficiente.
La figura 9 ilustra resultados de simulación de la integración y selección de información.
La figura 10 ilustra resultados de simulación del aprendizaje de invariancias.
La figura 11 ilustra resultados de simulación del cambio de selección.
Descripción detallada
En un método de la invención, a una unidad de procesado se le instruye para seleccionar, a partir de información de entrada existente, la información mediante cuyo uso se obtiene el mejor resultado final posible para una cierta tarea, por ejemplo, para controlar un robot o para diagnosticar una enfermedad. La información correcta será seleccionada a partir de la información de entrada cuando se ha maximizado la utilidad, es decir, se ha realizado una cierta tarea de la mejor manera posible.
La idea básica de la invención consiste en tener en cuenta no solamente la probabilidad de que una característica esté presente en la observación, sino también la utilidad de presentar una característica presente cuando se calculen las activaciones (valores numéricos) de las características que describen entradas primarias y cuando se modifican los parámetros. El fundamento básico se ilustra en las figuras 1 y 2. Se puede interpretar que cada una de las unidades de procesado usadas en el método estima la probabilidad (1 y 3) y la utilidad (2 y 4) de características.
Según la teoría de la decisión, la utilidad de la presentación de una característica se logra multiplicando las mismas. La figura 1 se corresponde con la etapa c de la reivindicación principal y la figura 2 con la etapa de la reivindicación principal.
De este modo, la idea básica del método de la invención se presenta como un esquema teórico en las figuras 1 y 2 ilustrando el uso de información estadística y utilidad. Las mismas se pueden usar de maneras diferentes en los dos procesos de decisión, en la selección de una presentación (activaciones) y en la adaptación de parámetros.
Cuando se usan varias unidades en el método, la forma en la que se interconectan las unidades de procesado influye en cómo funciona la invención. Si las mismas se fijan para proporcionar contexto una a otra (reivindicación 16), como en la figura 3, hallan de manera eficiente conexiones entre sus entradas primarias usando el método de la invención.
En el método, en el que las unidades se conectan jerárquicamente (reivindicaciones 15 y 17), tal como se muestra en la figura 4, las unidades por otra parte, pueden hallar, en los niveles superiores, características abstractas a partir de las entradas de la red. Adicionalmente, las unidades de procesado se pueden proporcionar contexto a sí mismas a partir de momentos pasados. De esta manera, también se puede hallar una dinámica interna, por ejemplo, lenta, de las propias características de la unidad de procesado, por ejemplo, características que varían lentamente.
Cuando se usa un sistema con muchas unidades de procesado, es preferible seguir los siguientes principios: si se usan unidades de procesado jerárquicas, es preferible usar una arquitectura en la que las unidades de procesado reciben entradas de un área más amplia, cuanto más arriba en la jerarquía se encuentren. De este modo, se pueden desarrollar características globales en los niveles superiores, las cuales no solamente describen una pequeña porción de la entrada de la red. También, para conseguir que las características sean invariantes, es preferible usar reducción de la dimensión en algunas unidades de procesado. Eso provoca invariancia puesto que se filtra una parte de la información. La reducción de la dimensión se puede implementar o bien en unidades de procesado independientes o bien incluyendo algún tipo de un pre-procesador en las unidades de procesado, que puede incluir, además de otro procesado, esta reducción de la dimensión.
El aprendizaje de características diferentes y útiles es más rápido y se simplifica si las entradas primarias se blanquean antes de que se alimenten hacia una unidad de procesado (reivindicación 13). En este caso, blanqueo significa la decorrelación y normalización de las variancias de todos los elementos. La normalización y decorrelación se logran multiplicando las entradas primarias por una matriz de blanqueo adecuada. Es preferible usar el blanqueo por lo menos para las entradas primarias del nivel más bajo del sistema completo.
La figura 7 ilustra una forma de realización de ejemplo de una unidad de procesado. Cuando una red está funcionando, es preferible llevar a cabo las etapas de adaptación mostradas en la figura 7, en instantes de tiempo en los que se puede considerar que las activaciones de la red han convergido sustancialmente en un estado en el que la información ha tenido tiempo para integrarse desde todas las partes de la red. Esto significa que todas las unidades de procesado de la red en la práctica experimentan una iteración de unos pocos ciclos en cierto orden y, después de ello, las unidades de procesado se adaptan mediante los vectores resultantes. El orden de actualización puede ser tal que, por ejemplo, las unidades de procesado se hagan funcionar en un orden que siga los niveles de la jerarquía. Dentro de cada nivel se usa un orden aleatorio. Este tipo de adaptación mejora la capacidad de discriminación de características diferentes y el aprendizaje de características relacionadas con el contexto. Si la adaptación se realizase después de cada actualización, no habría tiempo suficiente para integrar información de contexto y la atención global no dispondría de tiempo suficiente para surgir de forma tan adecuada, motivo por el cual en las activaciones se mezclarían tipos diferentes de características. En la forma de realización de la figura 7, el proceso para seleccionar la representación de características y el proceso de adaptación de características usan modelos de utilidad diferentes que en la figura 1. En otras palabras, las características disponen de utilidad de adaptación únicamente cuando son coherentes con la atención global.
En cambio, la utilidad de presentación también existe, por otro lado, con la finalidad de obtener coherencia. Por otra parte, también los modelos de probabilidad pueden ser distintos. En una representación instantánea de información, se puede usar solamente información presente y pasada. En cambio, cuando se adaptan parámetros, también se puede usar información futura, ya que no es tan crucial ni siquiera si la adaptación se realizase un poco después que en tiempo real.
La figura 7 ilustra una posible forma de realización de una unidad de procesado, habiéndose usado dicha forma de realización en los ejemplos descritos en este texto. Las flechas de línea discontinua, que se han dibujado sobre algún módulo, significan enseñar los parámetros de este módulo por medio de información contenida en la flecha, que en este caso es siempre un vector de características (44), es decir, información de características. En esta forma de realización, la probabilidad y la utilidad de las características no se gestionan explícitamente de forma individual, sino que ambas se mezclan tanto en las pre-activaciones (15) y la predicción (16). La entrada primaria (8) va dirigida a un pre-procesador adaptativo (10) según la etapa a) de la reivindicación principal. Se establece una correspondencia de esto en las pre-activaciones (15), las cuales son un vector de la misma dimensión que el vector de características final (44). En los ejemplos presentados en este texto, el pre-procesador adaptativo (10) es una Wx
de establecimiento de correspondencias lineales (reivindicación 4), en la que W es una matriz de parámetros denominada matriz de pesos y el vector columna x es la entrada primaria (8). Los parámetros W del pre-procesador adaptativo (10) se enseñan (adaptan, modifican, etapa d) de la reivindicación principal) usando el aprendizaje de Hebbish (Hebbish learning) del vector de características final (44) de manera que la modificación de la matriz de pesos W es directamente proporcional al producto yx’, en el cual el vector columna y es un vector de características
(44) y x’ es la transposición del vector x. Es preferible normalizar las filas de la matriz de pesos W de vuelta a vectores unidad siempre después de una modificación. Por otra parte, es preferible usar una propiedad de sensibilización en el pre-procesador adaptativo (10). Esto significa que cada elemento en las pre-activaciones (15) se multiplica por algún parámetro de sensibilización g_i, cuya finalidad es conseguir que el promedio de cada vector de características (44) sea constante sobre el conjunto de información de entrada. La notación g_i significa el elemento iésimo del vector g. El pre-procesador adaptativo (10) mide este nivel de activación, e incrementa o decrementa lentamente los valores g_i de manera que todos los niveles de activación promedio se llevan al mismo nivel (reivindicación 14). Esto hace que aumente la capacidad de presentación de información de la red completa. Se están usando todas las características, y se evita una situación en la que todos los elementos del vector de características estarían casi siempre inactivos (próximos a cero).
El predictor (11) calcula una predicción (16) en la etapa a) de la reivindicación principal sobre la base del contexto (9). Los parámetros del predictor (11) se modifican de tal manera que la predicción (16) calculada sobre la base de la entrada de contexto (9) del predictor es más próxima a las pre-activaciones (15) que anteriormente, según se menciona en la reivindicación 2. El predictor puede ser cualquier tipo de método que use un aprendizaje supervisado, como un predictor lineal, el cual ha sido usado en este caso (reivindicación 4), o un perceptrón multicapa.
La combinación de las predicciones con las activaciones (12) se lleva a cabo de la siguiente manera (etapa c) de la reivindicación principal). En primer lugar, todos los elementos negativos de las pre-activaciones (15) y de la predicción (16), en caso de que existan, se fijan al valor cero. Después de esto, se garantiza que todos los miembros del vector de predicción sean como mucho uno. Si algún valor es mayor, el vector de predicción se divide por este número. Esto evita que dos unidades de procesado, que se proporcionen contexto entre sí, refuercen activaciones mutuas sin límites.
Después de esto, la combinación (47) se obtiene por medio de la fórmula y_comb = y_pre * m(1 + y_pred), donde y_comb es la combinación (47), y_pre es las pre-activaciones (15), m es un factor de modulación, por ejemplo, m = 1, e y_pred es la predicción (16). Esta fórmula provoca que la predicción (16) dada por el contexto no pueda crear activaciones, pero puede reforzar elementos activos de las pre-activaciones (15).
Por la presente, las características presentadas por la red, es decir, características, cuyos valores difieren de cero, están siempre presentes en la entrada primaria (8).
Decorrelación de características (13) significa la reducción de aquellas activaciones que correlacionan entre sí y están activas al mismo tiempo en un momento particular (reivindicación 5). La misma tiene dos efectos. Por un lado, reduce el riesgo de que el pre-procesador adaptativo (10) caiga en una situación en la que todos los elementos describen las mismas características. Por otro lado, la selección de las características decorreladas es más sencilla y el procesado resulta más sencillo en el siguiente nivel de unidades de procesado, si las características se alimentan hacia dicho nivel. Cuando activaciones comunes se restan de características en correlación, después de esto resulta más sencillo ver qué características están realmente presentes en la entrada primaria. La de-correlación se implementa con la fórmula y = x - Ax, en todas las formas de realización usadas en este texto, en donde y es el vector de activación decorrelado (48), x es la combinación (47) y A es una matriz de decorrelación. La matriz A está adaptada, por ejemplo, por medio del vector de características final (44). Los elementos diagonales de A se mantienen a cero, de manera que los elementos del vector no se inhiban entre sí. Los otros elementos A_ij de A son correlaciones estimadas de los elementos i a j del vector de características (44).
La dispersión (sparsification) (14) de la reivindicación 6 recorta características activas de tal manera que solamente unos pocos elementos del vector de características difieren de cero. En las formas de realización presentadas en este texto, la dispersión (sparsification) se realiza con el algoritmo de la figura 8. Para el vector de características y (vector columna), se usa la medición de la dispersión (sparsification) s = - SUM(y) / SQRT(N *y’ y), en la cual SUM es la suma de los elementos del vector, SQRT es la raíz cuadrada, N es el número de elementos del vector y * significa multiplicación. De este modo, la medida de la dispersión (sparsification) de los vectores de longitudes diferentes resulta comparable. Por otra parte, el escalado de todos los elementos del vector como una constante no hace que cambie la medida de la dispersión (sparsification). El vector a dispersar (sparsified) se actualiza de manera iterativa siempre que la medida de la dispersión (sparsification) supere un umbral prefijado. Este umbral es una constante, la cual se ha determinado en la fase de definición de la red. En las formas de realización descritas en este texto, este límite se logra formando un vector, que el definidor considere suficientemente disperso (sparse), y calculando una medida de la dispersión (sparsification) para este vector. En las formas de realización de este texto se usa un vector, en el cual el 5 % de los elementos tiene valor uno, presentando valor cero el resto de los mismos. La regla de actualización del vector x a dispersar (sparsified) es la siguiente. En primer lugar se calcula x <- x -a*MAX(x), en donde <- significa la operación de asignación, m es alguna constante en el intervalo [0, 1] y MAX
devuelve el valor más alto del vector. Después de esto, todos los valores inferiores a cero se convierten a cero. Cuando el vector es suficientemente disperso (sparse), se multiplica por el número MAX(el vector original) / MAX(el vector nuevo), si contiene elementos diferentes a cero. Finalmente, el vector obtenido se fija de manera que sea el vector de características (44).
En el caso de la figura 7, la utilidad se estima de manera implícita (reivindicaciones 9 y 11). En la forma de realización, la utilidad se define de tal manera que la capacidad de predecir el contexto con ayuda de información de características es útil. La figura 7 muestra una implementación en la que se realiza una predicción a partir del contexto, combinándose dicha predicción con las preactivaciones calculadas a partir de la entrada primaria. Las etapas mostradas en la figura 7 (11)-(14) se refieren a la estimación de la utilidad.
Resultados de prueba
La figura 9 presenta un resultado de la simulación correspondiente a la integración y la selección de información usando el método de la invención. En este ejemplo particular, se usó una red que incluía unidades de procesado de la forma de realización de la figura 7, en una jerarquía de dos niveles (reivindicación 17). El primer nivel tenía 12 unidades de procesado de 30 características. Las mismas se dividieron en dos áreas sin ninguna conexión de contexto directa entre ellas. El resultado de estas áreas se alimentó, como entrada primaria, al segundo nivel (reivindicación 15), que tenía 4 unidades de procesado de 30 características. En el segundo nivel, todas las unidades de procesado obtuvieron contexto a partir de la totalidad del resto de unidades, y, por otra parte, alimentaron contexto a todas las unidades de procesado en el nivel inferior (reivindicación 16). A la red se le instruyó con 30 vectores de entrada de manera que la entrada siempre constaba de un vector de entrada sin ruido. De este modo, cada unidad de procesado tenía su propio conjunto de información de entrada, cuyos miembros (las informaciones de entrada) constaban de una entrada primaria y un contexto. La entrada primaria a las unidades de procesado del primer nivel constaba de dichos 30 vectores de entrada y la entrada primaria a las unidades de procesado de la segunda capa constaba de los vectores de características producidos por el primer nivel. El contexto para todas las unidades de procesado constaba de los vectores de características producidos por el segundo nivel.
Antes de instruir a la red, los parámetros de los establecimientos de correspondencias lineales se inicializan aleatoriamente. A medida que avanza la instrucción, las etapas a)-e) de la reivindicación principal, se repiten para cada miembro del conjunto de información de entrada. El resultado final de la instrucción es que los parámetros han cambiado de tal manera que la red puede seleccionar información coherente.
Después de la instrucción, se estudió cómo funciona la red cuando la entrada dada es una combinación de dos vectores de entrada originales. Se añadieron entradas nuevas al conjunto de información de entrada y, sobre la base de las mismas, se calcularon nuevos valores de información de características. En este momento se nombran diferentes áreas de la red. Dos áreas diferentes en el primer nivel de la red son Y11 e Y12, y el segundo nivel es Y2. Selecciónense aleatoriamente dos vectores de entrada de entre los vectores de entrada originales y nómbrense A y
B. En la red se forma un nuevo vector de entrada a alimentar, de manera que la parte del vector que se va a alimentar hacia el área Y11 es una parte correspondiente del vector 0,5*A + 0,5*B.
La otra mitad del vector, que se alimenta al área Y12, es una parte correspondiente del vector a*A + (1-a)*B. En este caso, la proporción de mezcla “a” se modifica continuamente desde el valor 0 al valor 1. Este tipo de entrada da como resultado que la red no represente todo sobre sus entradas, sino que selecciona las características de tal manera que las mismas únicamente describen algún objeto en el vector de entrada. Cuando “a” es casi cero, principalmente se selecciona simplemente B para la presentación en el área Y11 incluso si la entrada contiene tanto de A como de B.
Esto se puede observar a partir de las gráficas de la figura 9. Estas tres gráficas diferentes se corresponden con las tres áreas diferentes de la red. Todas las curvas representan productos escalares de vectores de características o vectores de entrada con vectores modelo correspondientes en valores diferentes de la proporción de mezcla “a”. La coordenada x tiene “a” y la coordenada y tiene un valor del producto escalar normalizado al intervalo [-1, 1] en todas las gráficas. Los números de referencia 17 y 18 son productos escalares del vector de entrada del área Y11 con las partes correspondientes de los vectores de entrada A y B. Los mismos son constantes, puesto que la relación de mezcla no tiene ningún efecto sobre esta entrada. Los números de referencia 21 y 22 son de manera correspondiente productos escalares de la entrada del área Y12 con partes correspondientes de los vectores de entrada A y B. Las curvas restantes son productos escalares de vectores de características de áreas diferentes con vectores de características modelo. Por ejemplo, los vectores de características modelo correspondientes al vector de entrada A, significan aquellos vectores de características que se han seleccionado en áreas diferentes, siendo el vector de entrada A la entrada a la red. Los números de referencia 19 y 20 son productos escalares de los vectores de características del área Y11 con los vectores modelo correspondientes a A y B. Los números de referencia 23 y 24 son productos escalares correspondientes del área Y12. Los números de referencia 25 y 26 son productos escalares correspondientes del área Y2.
Estas gráficas muestran la capacidad de la red tanto para integrar información como para seleccionar información.
Obsérvese la gráfica del área Y12. Los vectores de características cambian más rápido que los vectores de entrada, cuando se incrementa la proporción de mezcla “a”. Estas curvas son primero bastante horizontales, pero cuando “a” se aproxima al valor 0,5, se giran bruscamente. Esto ocurre cuando tiene lugar la selección. Ya no se representa B, en su lugar comienza la representación de A. La unidad de procesado funciona de manera no lineal. Este fenómeno es todavía más intenso cuando se estudia el área superior Y2. Esta recibe sus entradas primarias de las áreas inferiores, en donde ya ha tenido lugar alguna selección no lineal. El área Y2 refuerza esta selección todavía más, lo cual puede verse como una subida y caída más bruscas de las curvas (25 y 26) cuando el valor de “a” está en torno a 0,5. La propiedad de integración de información puede observarse en la gráfica del área Y11. Esta área recibía una entrada primaria constante todo el tiempo, aunque su contexto proveniente del área Y2 cambia. Como resultado de esto, toma una decisión diferente sobre la representación de las características con valores diferentes de a, tal como las otras áreas. Con valores pequeños de a, el área Y11 toma una decisión de presentar B y, con valores mayores, presenta A.
Este ejemplo muestra que se puede lograr una coherencia momentánea entre partes de la red que procesan tipos diferentes de entradas. A esto se le puede denominar también atención global. Por ejemplo, en la aplicación de la figura 6, se hace que entre en cooperación un procesado visual y de motores de un robot. Cuando un robot lleva a cabo cierto control de motores, la parte visual de la red procesa exactamente las características de la imagen de vídeo que son útiles para el control. En la medida en la que hay más información en las entradas de la red que en los vectores de características presentados por la red, la red toma decisiones activas sobre la utilidad de representar información. Por ejemplo, cuando en la simulación previa la proporción de mezcla “a” estaba próxima al valor 0,5, la red enfatiza uno de los objetos A y B y debilita el otro. Aunque las unidades de procesado no tienen explícitamente el concepto de utilidad de representación de información en esta forma de realización, el mismo se representa de manera implícita en la función de red. Resulta más útil para las unidades de procesado individuales presentar las mismas características que se presentan en su contexto, de manera que se formaría una representación coherente para la red completa.
La figura 10 presenta resultados de simulación sobre la capacidad de aprender invariancias en una red usando el método en orden. Se proporcionaron vectores de 204 dimensiones como entrada a la red y los mismos se concatenaron a partir de 9 elementos independientes. Por otra parte, se habían definido 5 objetos diferentes de tal manera que cada uno de ellos tenía sus propios elementos característicos con los cuales se componían los objetos completos. Cada objeto tenía un grupo grande de vectores modelo aleatorios para cada elemento, y se seleccionaba siempre cierta combinación de estos elementos para representar un objeto. Un objeto tenía en total cientos de miles de diferentes instanciaciones cuando se tienen en cuenta todas las combinaciones. Como entrada a la red se proporcionó siempre una suma ponderada de algunos vectores instanciados de dos objetos aleatorios. El peso de uno de los objetos era uno y el peso del otro era una variable aleatoria distribuida uniformemente en el intervalo [0, 1]. Si la red puede ponderar el aprendizaje y la selección de las unidades de procesado sobre la base del contexto, tiene la posibilidad de aprender diferentes clases de objetos a partir de dichos datos independientemente sin ninguna señal de instrucción externa.
La red usada en este caso tenía seis capas de manera que una de cada dos capas era una capa de reducción de dimensión y la otra era una capa de convergencia. Con esto último se pretende significar una capa de unidades de procesado tales que reciben entradas desde más de una unidad de procesado de capa inferior. Las clases aprendidas por la red se sometieron a prueba estudiando los vectores de características de la capa más alta, en otras palabras, la capa sexta, cuando a la red se le proporcionaron, como entrada, 20 tipos diferentes de instanciaciones de todas las clases. A partir de estos vectores de características de la sexta capa se formó un vector de características combinado, alimentándose dicho vector de características combinado a cinco clasificadores lineales correspondientes a clases diferentes. Estos vectores se normalizaron en vectores unidad y, después de ello, se calculó un producto escalar con un vector de características aleatorio correspondiente de cada una de estas cinco clases.
La figura 10 presenta estos productos escalares. El valor del producto escalar está en la coordenada y, y cada valor en la coordenada x describe un vector de entrada alimentado a la red. Los 20 primeros son instanciaciones aleatorias de la clase 1, del 21 al 40 son de manera correspondiente de la clase 2, del 41 al 60 de la clase 3, del 61 al 80 de la clase 4, y del 81 al 100 de la clase 5. La curva (35) presenta los productos escalares de la totalidad de los 100 vectores de características combinados, con el vector de características combinado correspondiente al vector de entrada 1. Las curvas (36, 37, 38 y 39) son de manera correspondiente los productos escalares de la totalidad de los 100 vectores de características combinados con un vector de características combinado correspondiente a cada una de las clases 2, 3, 4 y 5, respectivamente. La invariancia se presenta a sí misma en estos resultados de tal manera que, a partir de todas las instanciaciones, se produjeron aproximadamente los mismos vectores de características. La clase 3 ha sido la peor que se ha aprendido, puesto que solo aproximadamente la mitad de las diferentes instanciaciones provocaron vectores de características similares que las instanciaciones de comparación. Los productos escalares de los vectores de características originales entre sí, por norma general eran próximos a cero, debido al vector modelo formado de manera aleatoria y a la extensa cantidad de instanciaciones correspondientes a cada clase.
Estos resultados de simulación muestran que una red que usa nuestro método de manera eficiente aprende a
clasificar instanciaciones totalmente diferentes del mismo objeto juntas. De esta manera, la red puede aprender una representación invariante para un objeto del que se han formado imágenes desde diferentes ángulos de visión, o cuando se controla un robot multi-articular, a partir de diferentes señales de control, con lo cual se logra el mismo resultado final en diferentes posiciones de los accionadores.
La figura 11 presenta resultados de simulación sobre el cambio del objetivo de atención. En este caso, se usó la misma red que en la simulación de la figura 10, aunque, a todos los predictores de contexto, se añadió adicionalmente una propiedad de fatiga, lo cual redujo la predicción si la misma ya había estado activada durante un tiempo prolongado y el contexto no había cambiado. De forma más precisa, valores más pequeños que cero se sustituyeron por cero y el resultado se sometió a un filtrado pasoalto. Esto se corresponde implícitamente con la reducción de la utilidad de representación a partir de características que han estado activas en un pasado cercano (reivindicación 18). En las curvas mostradas en la figura 11, la coordenada x tiene un número de iteración y la coordenada y tiene una activación de cinco clasificadores diferentes en el momento de tiempo particular. Los clasificadores son clasificadores lineales óptimos desde la sexta capa de la red para 5 clases diferentes. En la gráfica superior, como entrada se ha proporcionado la suma del vector instanciado de las clases 1 y 2.
Las instanciaciones se seleccionaron de manera que recordasen en el mayor grado posible las características típicas de la clase 3. Las curvas (55, 56, 27, 28 y 29) son en orden las activaciones de los clasificadores de las clases 1, 3, 2, 4 y 5, respectivamente.
La gráfica muestra que la red presenta siempre un objeto durante un rato, hasta que la atención se transfiere a otro objeto. Si la red procesase imágenes, esto se correspondería con una situación en la que la atención variaría entre objetivos diferentes. Por otra parte, la atención puede variar entre objetos completos y partes de objetos. El objetivo de la atención global de la red podría ser por ejemplo en primera instancia una silla, y, después de eso, se desplazaría a una de sus patas.
La imagen inferior de la figura 11 tiene la misma red que cuando la entrada constaba del vector de instanciación del objeto 1 (las características de nivel bajo de clases diferentes están, sin embargo, parcialmente solapadas entre sí, de manera que no se puede decir que la entrada únicamente constase del objeto 1). Las curvas (30, 31, 32, 33 y 34) están en el orden de las activaciones correspondientes a las activaciones del clasificador de las clases 1, 3, 2, 4 y 5, respectivamente. En este caso, la atención se centra casi todo el tiempo en el objeto 1, aparte de un salto corto al objeto 3. Si la fatiga de las predicciones se hubiese hecho más intensa, dichos saltos aparentemente se realizarían con mayor frecuencia. Esto es análogo a la situación en la que la red pretende interpretar las entradas a partir de tantos aspectos como sea posible. Este ejemplo muestra también cómo la red trata implícitamente la utilidad de representar información. Cuando algún objeto se ha representado durante suficiente tiempo, su representación probablemente ya no es tan útil como en el principio, y la red modifica el objetivo de atención.
Las simulaciones antes descritas muestran que una red que usa nuestro método puede aprender clases invariantes a partir de datos multidimensionales, incluso si estas clases no se habían nombrado explícitamente en la situación de la instrucción y las instanciaciones de clases diferentes no se habían proporcionado como entrada por separado. Por otra parte, la red puede tomar decisiones globales sobre el objetivo de atención. Para esta decisión, la misma integra información de todas sus entradas.
Ejemplos de forma de realización 1 y 2
Incluso un sistema con una única unidad de procesado puede resultar útil en una aplicación práctica. En la figura 5 se describe un sistema de este tipo. El sistema intenta hallar aquellas características de datos de medición y síntomas de pacientes, a partir de las cuales se podría predecir de la forma más sencilla posible la evolución de enfermedades dadas (reivindicación 8). Por otro lado, con este método también se pueden hallar aquellas características en las que se podría influir y, por lo tanto, podría resultar posible influir en la evolución de las propias enfermedades. La unidad de procesado 7 obtiene datos de paciente como su entrada primaria 8. Estos datos pueden constar de, por ejemplo, valores sanguíneos y otros parámetros medidos, y de síntomas descritos por el paciente y descubiertos por el doctor. La información sobre enfermedades observada en el paciente anteriormente se proporciona como contexto 9.
La unidad de procesado 8 no solamente produce información estática sobre diferentes características. Adicionalmente, aprende a seleccionar aquellas características, en cada instante de tiempo, que se relacionan mejor con las enfermedades del paciente.
El segundo ejemplo de forma de realización para nuestro método es un sistema de control de un robot (reivindicación 7).
Esta forma de realización se representa en la figura 6. La entrada principal 8 al sistema consta de imágenes de vídeo y el contexto consta de una señal de control para sus motores. Esta señal de control es producida por algún módulo externo usando vectores de características 44 de un sistema visual 53 como sus entradas. La jerarquía 53 de las unidades de procesado es del mismo tipo que en la figura 4 aunque tiene más unidades de procesado. En el
ejemplo se usan cuatro niveles, la mitad de los cuales son niveles de reducción de dimensiones.
El sistema visual 53 se proporciona contexto a sí mismo internamente, tal como la red de la figura 4. De esta manera, la red aprende totalidades coherentes continuas a partir de la imagen de vídeo. Además, se presta atención a las totalidades que se encuentran en la misma. En la medida en la que el sistema visual 53 obtiene señales de control 9 como su contexto, aprende a representar aquellas características visuales que están relacionadas con el ajuste del robot. Por ejemplo, los objetos distantes se filtran, y se representan los correspondientes que se encuentran en las proximidades de los accionadores del robot. De acuerdo con la reivindicación 19, en el sistema visual 53 se representa únicamente información nueva. Cuando, por ejemplo, el robot mueve algunos de sus accionadores, es posible predecir que en la imagen de vídeo 8 se puede ver un accionador en movimiento y, por tanto, ya no es necesario representar el mismo en el sistema visual 53. En su lugar, en el mismo se representa alguna otra información con más utilidad.
Además, se usa una característica de la reivindicación 20 que provoca que el sistema visual represente objetivos que son importantes teniendo en cuenta instantes de tiempo posteriores para el control. Si, por ejemplo, el accionador del robot se está moviendo contra una pared, el sistema visual 53 puede predecir las acciones de freno y otras acciones de ajuste venideras. La pared y el accionador en movimiento son en este momento aquellos factores que predicen el ajuste a realizar de la mejor manera, y se seleccionan para representarse en el sistema visual 53. A continuación, el controlador externo ya puede reaccionar antes de una colisión.
La característica de la reivindicación 21 añade un módulo externo al sistema, a partir del cual se obtiene una evaluación general 54 sobre el éxito del funcionamiento del sistema completo. Esta evaluación escalar se usa para incrementar el aprendizaje del sistema visual 53 cuando el sistema se comporta bien y para decrementar el aprendizaje cuando el rendimiento es malo. De esta manera, el sistema aprende a representar aquellas características todavía más fuertes, cuya representación conduce a un gran rendimiento.
Ejemplo de realización 1 más detalladamente
Sistema auxiliar para diagnóstico de pacientes
En este ejemplo, a partir de datos de pacientes se seleccionan aquellas características que facilitan el diagnóstico.
La entrada primaria contenida en los datos de entrada consta de los resultados de medición del paciente y de los síntomas observados en el paciente.
Los resultados de mediciones contienen valores sanguíneos (cientos) y actividades de expresión génica (miles) medidas con un chip genético. Los valores sanguíneos contienen concentraciones de sustancias naturales en sangre, indicadores de inmunología y sustancias externas. Los síntomas se describen con los valores cero y uno. Si el paciente tiene un síntoma dado, el elemento correspondiente al mismo se fija al valor uno, cuando, de otro modo, habría sido cero.
En la aplicación se usa una unidad de procesado. A la unidad de procesado no se le permite efectuar un diagnóstico directamente a partir de la entrada primaria, ya que la misma se entrena con un conjunto de entrenamiento, es decir, sus parámetros se modifican, antes de ponerse en uso como un medio auxiliar para el diagnóstico.
Como conjunto de datos de entrenamiento se usan las entradas antes descritas de datos de pacientes y el contexto de un grupo de pacientes. Cuantos más datos de entrenamiento haya, mejor se podrá entrenar la unidad de procesado. Habitualmente son necesarios datos de por lo menos diez pacientes, aunque también se pueden usar datos de miles de pacientes.
Antes de que comience el entrenamiento, los parámetros de la unidad de procesado se inicializan con valores aleatorios. Como resultado del entrenamiento, los parámetros de la unidad de procesado se modifican de tal manera que la unidad de procesado produce información de características útil teniendo en cuenta el diagnóstico a partir de datos de paciente. Después del entrenamiento, la invención se puede usar a continuación, por ejemplo, como ayuda para doctores en centros de salud.
Si no se indica lo contrario, la unidad de procesado funciona tal como en la simulación de la figura 9. Cuando se proporcionan los datos de entrada de un paciente para la unidad de procesado, se llevan a cabo las siguientes etapas, que se describen a continuación más detalladamente:
1. Preprocesado de la entrada primaria (etapa b de la reivindicación principal).
A partir de los datos de entrada se calculan las preactivaciones de aquellas características que facilitan el diagnóstico. Esto se lleva a cabo con una función parametrizada, cuyos parámetros son constantes durante la ejecución de un diagnóstico, aunque se modifican (mejoran) siempre en relación con un diagnóstico nuevo. Por medio de los parámetros, a partir de la entrada primaria se forma más información útil. Los parámetros se modifican
después de cada diagnóstico de manera que sean parámetros por medio de los cuales esta función (preactivación) ya habría proporcionado originalmente información de características de un tipo que se obtuvo al final (etapa d de la reivindicación principal). A continuación, las características representadas por la unidad de procesado cambiarán gradualmente para resultar lo más útiles posibles.
2.
A partir del contexto se forma una predicción preliminar sobre las activaciones de características finales (etapa a) de la reivindicación principal).
A partir del contexto se calcula una predicción de las preactivaciones. (En este caso la predicción no se refiere a una predicción sobre el futuro sino a una regresión). Esto se lleva a cabo con una función parametrizada, cuyos parámetros son constantes durante la ejecución de un diagnóstico, aunque se modifican (mejoran) siempre en relación con un diagnóstico nuevo.
3.
La predicción se combina con las preactivaciones de manera que las características predichas se refuerzan y las otras se debilitan (Etapa c de la reivindicación principal).
4.
En esta fase, las características preferentemente se decorrelacionan, en otras palabras, las diferencias de las características se enfatizan y sus similitudes se debilitan (reivindicación 5). Las activaciones de características finales, es decir, la información de características finales, se obtiene seleccionando las características más activas después de la etapa anterior (reivindicación 6).
En primer lugar, a partir del contexto se calcula una predicción de las preactivaciones. Existen 1.000 preactivaciones, tal como se dijo anteriormente, y la longitud del vector de contexto es 500. La función parametrizada que se usó para el cálculo de y_pred de la predicción es una multiplicación de matriz, en donde todos los elementos de una matriz W_pred del tamaño 1.000 x 500 son parámetros modificables. La predicción se calcula como y_pred = W_pred * z, en donde z es un vector de contexto. Incluso si los niveles sanguíneos reales del paciente no se pueden predecir de forma precisa a partir del historial de enfermedades diagnosticadas del paciente, esta es una etapa esencial, cuando en la selección de la característica se desea usar una utilidad dependiente de la tarea. No obstante, es posible predecir, a partir del historial de enfermedades del paciente, que algunos valores sanguíneos son probablemente mayores que otros. Con esta predicción, es posible guiar la selección de las características a partir de los valores sanguíneos.
De forma más detallada, el preprocesado de la información de entrada tiene lugar de la siguiente manera. La información de entrada es un vector con una longitud de 4.000. Se lleva a cabo una expansión no lineal para el mismo por medio de proyecciones aleatorias de manera que se obtiene un vector de una longitud de 20.000. Esto significa que, en la fase de creación de la unidad de procesado, se ha formado aleatoriamente una matriz A_rp de un tamaño de 20.000 x 4.000, y un vector b de una longitud de 20.000. Se calcula una expansión no lineal x_nl a partir del vector de información de entrada de una longitud de 4.000 con la ecuación x_nl = tanh(A_rp * x + b), en donde tanh es una tangente hiperbólica y “*” significa multiplicación. Una consecuencia de este preprocesado es que, como componentes de característica reales, se pueden usar componentes lineales, que sin embargo se corresponden con características no lineales versátiles en el espacio dimensional de 4.000. Esto hace que el hallazgo de características útiles resulte más eficiente. Además, la estructura de correlación del nuevo vector x_nl se hace esférica, lo cual significa que hay tan pocas correlaciones entre sus elementos como es posible, y las variancias de los elementos son próximas al valor uno. Esto se implementa multiplicándolo desde el lado izquierdo con la matriz de blanqueo A_wh. Los miembros de esta matriz se fijan antes de que comience el entrenamiento real. La matriz de blanqueo se fija mediante blanqueo con análisis de componentes principales, un método ampliamente usado. Esta esferonización de la estructura de correlación es útil por el motivo de que, cuando se usa, las magnitudes de activación de las entradas no determinan el tipo de características que se aprenderán, pudiéndose aprender en cambio características útiles.
A continuación, a partir de la información de entrada se calculan las preactivaciones de características que facilitan el diagnóstico. En este momento, existen 20.000 elementos en la información de entrada y se usan 1.000 elementos de características. De este modo, se están calculando activaciones para 1.000 características diferentes. Se usa multiplicación de matriz como función parametrizada, en donde todos los miembros de una matriz W del tamaño de
1.000 x 20.000 son parámetros modificables. Las preactivaciones y_pre se obtienen calculando y_pre = W * x_wh, en donde x_wh es x_nl cuya estructura de correlación se ha esferonizado.
Después de esto, la predicción se combina con las preactivaciones de manera que las características predichas se refuerzan y las otras se debilitan. Se calcula la combinación y_comb = y_pre * (1 + y_pred), en donde la multiplicación entre los vectores se lleva a cabo por elementos. El resultado de esta forma de combinación es que se refuerzan aquellas características que se corresponden con el contexto. No obstante, la predicción sola no puede formar activaciones nuevas, únicamente puede reforzar preactivaciones existentes.
La decorrelación se efectúa con el fin de hacer que todas las características representen cosas diferentes sobre los datos de los pacientes. La decorrelación se efectúa multiplicando y_comb desde el lado izquierdo con la matriz A_dec. Los miembros de esta matriz se modifican en la misma etapa que los otros parámetros modificables.
Dispersión (sparsification)
Las activaciones de características finales y se obtienen seleccionando las características más activas después de la etapa anterior. Esto se lleva a cabo de una manera descrita en relación con la descripción de la figura 8. El valor de umbral de la dispersión (sparsification) necesario en este caso se fija a un valor constante en el comienzo antes de dar inicio al entrenamiento de la unidad de procesado. Esto se lleva a cabo de manera que la medida de la dispersión (sparseness) se calcula para un vector modelo disperso (sparse) tras la descripción de la figura 8. Este vector modelo tiene las mismas dimensiones que el vector de características de la unidad de procesado y un 5 % de los elementos (por redondeo por exceso) del vector modelo se han fijado al valor uno, mientras que el valor de los otros elementos es cero. Esta dispersión (sparseness) modelo se fija de manera que sea el valor de umbral para la dispersión (sparseness).
Cuando se han calculado las características finales, se entrena la unidad de procesado, es decir, se modifican los parámetros W, W_pred y A_dec.
Los parámetros W de la función para formar las preactivaciones se modifican de manera que esta función ya originalmente habría producido activaciones de características más próximas a los valores obtenidos al final. De esta manera, las características representadas por la unidad de procesado se modifican de manera que resulten lo más útiles posibles. Los parámetros se modifican de manera que a la matriz W se le adiciona a * y * x_wh^T en donde “a” es la velocidad de aprendizaje y ^T significa transposición. La velocidad de aprendizaje a = 0,00001. Finalmente, las filas de la matriz W se normalizan para presentar una longitud unidad.
Los parámetros de la función que predice preactivaciones a partir del contexto se modifican de manera que ya originalmente habrían predicho mejor las preactivaciones de las características de este paciente. Los parámetros se modifican de manera que a_pred * y_pre * z^T se adiciona en la matriz W_pred, en donde la velocidad de aprendizaje a_pred = 0,001. Los parámetros de decorrelación se modifican de manera que a_dec * (-y*y^T - A_dec) se adiciona en la matriz, tras lo cual los miembros de la diagonal de la matriz se fijan de manera que sean uno. La velocidad de aprendizaje a_dec = 0,01.
Después de esto, se tratan los datos de paciente correspondientes al siguiente paciente en los datos de entrenamiento y se forma la información de entrada correspondiente. El método se repite desde la etapa 1 hasta que se han tratado los datos de entrenamiento completos. Después de esto, la unidad de procesado está preparada para ser usada con el fin de analizar datos de paciente nuevos. El análisis de datos de paciente nuevos se lleva a cabo siguiendo las mismas etapas que cuando se procesan los datos de entrenamiento. No obstante, la modificación se puede evitar, si es necesario, ya que no es seguro si los datos de paciente a tratar en el centro de salud son tan fiables como el material seleccionado para ser usado como datos de entrenamiento.
El resultado del procesado es que el sistema procesa los resultados de medición del paciente de manera que se encuentran en un formato práctico para el diagnóstico. Además, selecciona aquellas características, a partir de esta cantidad extensa de datos, que son las más esenciales teniendo en cuenta el historial de enfermedades del paciente. A continuación, las mismas son con una gran probabilidad también las más esenciales considerando una enfermedad nueva a diagnosticar. Cuando la unidad de procesado combina la predicción proporcionada por el contexto con las preactivaciones de las características, se tiene en consideración la utilidad de la representación de características diferentes teniendo en cuenta la utilidad final cuando se seleccionan características.
Ejemplo de forma de realización 2 más detalladamente
Sistema visual para robot
En este ejemplo, una unidad de procesado se entrena para seleccionar aquellas características de datos de cámaras de vídeo de un robot que posibilitan un control apropiado de los motores del robot.
Cuando un robot trabaja en un entorno complejo, el sistema visual debe identificar aquellos obstáculos, a partir de una imagen de cámara, que debería evitar el robot, formas del terreno que afecten al movimiento del robot, así como objetos y posiciones de objetos a manipular por el robot.
Para ello, se usan muchas unidades de procesado en una jerarquía. Las unidades del primer nivel reciben partes diferentes de la imagen de videocámara (entrada primaria) como información de entrada. Reciben señales de control y características desde otras unidades de procesado de la jerarquía como contexto. Las unidades de procesado de los niveles superiores obtienen el mismo contexto, aunque los datos de entrada primarios que obtienen constan de características seleccionadas por las unidades de procesado de los niveles inferiores. Los niveles inferiores seleccionan características que se corresponden con formas locales simples en la imagen de la cámara. Las características seleccionadas por los niveles superiores se corresponden con objetos complejos y otras estructuras en la imagen de la cámara.
Las características no son solamente estáticas sino que describen también los movimientos de los objetos y las interacciones entre ellos. Esto por un lado se logra proporcionando una entrada primaria desde tres instantes de tiempo subsiguientes a la capa más baja, y, por otro lado, proporcionando contexto tanto desde el tiempo actual como desde dos segundos previos y dos segundos futuros. El contexto actual se usa de la misma manera que en la aplicación de datos de paciente. El contexto del pasado próximo se usa a su vez de una manera de acuerdo con la reivindicación 19. Si el contexto pasado puede predecir características actuales, se reduce la utilidad de representarlas. El contexto de futuro próximo se usa de una manera de acuerdo con la reivindicación 20. Este contexto no se usa cuando la unidad de procesado calcula sus características sino que se usa en la etapa b de la reivindicación principal. Si el contexto del futuro puede predecir dos características actuales, las mismas se ponderan en la etapa de modificación de parámetros más que otras.
La implementación de un sistema de control de un robot es en la práctica posible por medio de dichas características, a diferencia de directamente por medio de una imagen de cámara no tratada. El cálculo de la utilidad de acuerdo con las reivindicaciones 19 y 20 provoca que el sistema intente representar información novedosa todo el tiempo. Además, sobre la base de dicha información, es posible predecir señales de control futuras para los motores del robot. Dichas características son útiles en tareas en las que se seleccionan señales de control.
En este ejemplo de forma de realización, se usa un robot sobre ruedas que tiene una mano destinada a manipular objetos. La mano tiene dos articulaciones y un accionador capaz de agarrar cerrando la mano. Las dos articulaciones tienen dos motores y la garra tiene un motor. Adicionalmente, ambas ruedas tienen un motor. La videocámara está situada delante, en el cuerpo del robot. No se mueve junto con los movimientos de la mano. A partir de la videocámara se obtiene una imagen de un tamaño de 100 X 100, es decir, 10.000 píxeles. La frecuencia de cuadro es 10 imágenes por segundo. Las señales de control del robot se producen en una unidad de control aparte, la cual recibe la información de características producida por las unidades de procesado del nivel superior de la jerarquía y otra información requerida (posiciones de las articulaciones y la mano de agarre, las fuerzas que actúan sobre ellas y el objetivo de la acción) como su entrada. La unidad de control aprende a partir de la realimentación que obtiene (se ha usado el aprendizaje SARSA, el cual es un método usado comúnmente), y a través de reflejos predefinidos (usando el denominado aprendizaje cerebelar). Considerando la invención es esencial que la unidad de control pueda producir señales de control que son prácticas para llevar a cabo la tarea sobre la base de la información recibida. Todas las señales de control de los motores se proporcionan como contexto a todas las unidades de procesado.
Existen cuatro niveles con unidades de procesado. El primero de ellos obtiene cuadros de imágenes fijas a partir de tres instantes de tiempo sucesivos. De esta manera aprende características dinámicas. El primer nivel tiene 10 x 10 unidades de procesado, cada una de las cuales obtiene una parte con un tamaño de 10 x 10 píxeles de la imagen original como información de entrada. Cada unidad obtiene naturalmente una parte diferente de la imagen. Las unidades del primer nivel calculan 800 características. El segundo nivel tiene también 10 x 10 unidades, cada una de las cuales obtiene las características calculadas por una unidad de un nivel inferior como su información de entrada. Cada unidad de la segunda capa calcula 150 características. La tercera capa tiene 5 x 5 unidades, cada una de las cuales obtiene características a partir de cuatro unidades de la segunda capa como su información de entrada. Cada unidad en el tercer nivel calcula 1.000 características. El cuarto nivel tiene también 5 x 5 unidades, cada una de las cuales obtiene las características a partir de una unidad en el nivel inferior como su información de entrada. Cada unidad en el cuarto nivel calcula 100 características.
El segundo y el cuarto niveles calculan un número menor de características a partir de un número elevado de características. De este modo, llevan a cabo una reducción de dimensión. Esto es útil en la medida en la que obliga a estas unidades a generalizar. Las características que son irrelevantes para el control de motores se filtran y las características restantes son útiles y generalizantes.
Antes de que el sistema se use como una parte de un sistema de control para un robot, el mismo se entrena, es decir, sus parámetros se modifican, con un conjunto de entrenamiento. En primer lugar, todos los parámetros se inicializan aleatoriamente. Los valores de umbral de la dispersión (sparsification) se inicializan por medio de un vector modelo disperso (sparse), de la misma manera que en la aplicación de diagnóstico de pacientes. Se obtienen datos de entrenamiento controlando el robot manualmente, sin ningún sistema de control automático, y controlándolo mediante una serie de control automática simple. De esta manera, los datos de entrenamiento obtenidos constan tanto de imágenes de cámara captadas por el robot como de señales de control simultáneas para los motores. Cuando el sistema se usa como una parte de un sistema de control para un robot, se continúa con esta modificación de parámetros.
Cada unidad de procesado trabaja individualmente como en el sistema auxiliar para diagnóstico de pacientes, excepto para el preprocesado y el uso del contexto de acuerdo con las reivindicaciones 18 a 21. Evidentemente, los datos tratados son diferentes pero el mecanismo de funcionamiento es el mismo salvo excepciones que se mencionan específicamente.
Como en esta aplicación se usan muchas unidad de procesado, las características (información de características) producidas por cada una de ellas se calculan muchas veces para cada tripleta de cuadros de imágenes fijas, y la
modificación de los parámetros no se lleva a cabo hasta el final cuando el sistema completo ha calculado todas las características. Esta iteración se lleva a cabo de la siguiente manera. En primer lugar, las unidades de procesado en el nivel más bajo de la jerarquía calculan sus características (información de características). A continuación, el cálculo prosigue nivel a nivel hasta la parte superior de la jerarquía. Después de esto, los cálculos prosiguen en orden inverso desde la parte superior a la parte inferior. Esta iteración es necesaria puesto que cuando las unidades de procesado individuales seleccionan características, la información de entrada y de contexto de las otras unidades cambia. Esta iteración en sentido ascendente y de vuelta en sentido descendente en la jerarquía se lleva a cabo dos veces para cada tripleta de cuadros de imágenes fijas. A continuación, todas las unidades de procesado tienen tiempo para modificar las características que han calculado de manera que se correspondan con sus contextos.
Una unidad de procesado individual calcula las características de la siguiente manera:
1.
Se preprocesa la información de entrada primaria (etapa b de la reivindicación principal)
La información de entrada del primer nivel se blanquea, tal como se realizó también en la aplicación del diagnóstico de pacientes. No obstante, no es necesario blanquear las entradas de las capas superiores ya que la decorrelación de las características hace que las mismas estén suficientemente fuera de correlación. Las preactivaciones de las características se calculan a partir de la entrada primaria. Esto se lleva a cabo por medio de una función parametrizada, cuyos parámetros son constantes durante el procesado de una tripleta de imágenes de cámara. Como en la aplicación de diagnóstico de pacientes, aquí se usa también una multiplicación de matriz. En el primer nivel, se usan matrices de características de tamaño 800x100, en el segundo nivel un tamaño de 150x800, en el tercer nivel un tamaño de 1.000x600, y en el cuarto nivel un tamaño de 100x1.000.
2.
A partir del contexto se forma una predicción preliminar sobre las activaciones de características finales (etapa a de la reivindicación principal)
A partir del contexto se calculan tres predicciones diferentes sobre las preactivaciones. y_pred1 se calcula a partir del contexto pasado, y_pred2 a partir del contexto actual e y_pred3 a partir del contexto futuro. El último de ellos no se calcula hasta más tarde, y se usa en la etapa de modificación de los parámetros. Cuando una unidad calcula sus características momentáneamente, se usan solamente las dos primeras predicciones. Las predicciones se calculan con una función parametrizada, cuyos parámetros son constantes durante el procesado de una tripleta de imágenes de cámara pero se modifican (mejoran) siempre en relación con cada tripleta de imágenes nueva. Como en el ejemplo del diagnóstico de pacientes, en este caso se usa también la regresión lineal, es decir, las predicciones se obtienen multiplicando los vectores de contexto con las matrices W_pred1, W_pred2 y W_pred3. Al comienzo, los vectores de contexto z1, z2 y z3 tienen las características representadas por todas las unidades del mismo nivel. Seguidamente, están las características de aquella unidad de procesado del nivel superior a la cual esta unidad proporcionó sus características y finalmente, hay siete señales de control para los motores. En el contexto z2 del tiempo presente, las mismas se producen una vez, mientras que se producen 20 veces en los contextos z1 y z3 de dos segundos (10 imágenes por segundo durante dos segundos). Por lo tanto, el tamaño de la matriz W_pred2 en el nivel más bajo es 800x79.357, el tamaño de la correspondiente del segundo nivel 150x15.857, el tamaño de la correspondiente del tercer nivel 1.000x24.107, y el tamaño de la correspondiente del cuarto nivel 100x2.407. En las matrices correspondientes W_pred1 y W_pred3, hay 20 veces más columnas, aunque por otro lado tienen la misma forma.
3.
La predicción se combina con las preactivaciones de manera que las características predichas se refuerzan y otras características se debilitan (etapa c de la reivindicación principal). Cuando en el ejemplo del diagnóstico de pacientes, se habría usado la ecuación y_comb = y_pre * (1 + y_pred2), en esta aplicación se debe incluir la predicción y_pred1 realizada sobre la base del contexto antiguo con el fin de reducir la utilidad de representación de las características predecibles. Con este fin, se usa la ecuación y_comb = y_pre * (1 + y_pred2 - 0,2 * y_pred1).
4.
En esta etapa preferentemente se decorrelacionan las características, es decir, se enfatizan las diferencias entre las características y se debilitan sus similitudes (reivindicación 5). Las activaciones de características finales, es decir, la información de características final se obtiene seleccionando las características más activas después de la etapa anterior (reivindicación 6)
Al final de la iteración, antes de que comience el procesado de la siguiente tripleta de imágenes (etapa e de la reivindicación principal), se modifican los parámetros de todas las unidades mediante las activaciones de características actuales (etapa d de la reivindicación principal). Por otro lado, esto tiene lugar, para cada unidad, de la misma manera que en la aplicación del diagnóstico de pacientes, aunque en el cálculo de las preactivaciones se tiene en cuenta la predicción proporcionada por el contexto futuro en la modificación de los parámetros a usar. Cuando en la aplicación del diagnóstico de pacientes, en la matriz W se habría añadido la matriz a * y * x^T, en esta aplicación se añade la matriz a * (y + 0,2 * y_pred3) * x^T.
El efecto de la reivindicación 21 se obtiene modificando la velocidad de aprendizaje “a” usada por las unidades de procesado de la jerarquía superior sobre la base de la señal de retroalimentación usada por la unidad de control. De este modo, la señal de retroalimentación es la misma que la denominada señal TD (señal de diferencia temporal) usada por el método SARSA. En el método usado, la señal de retroalimentación está siempre entre 0 y 1. La velocidad de aprendizaje usada en el nivel más alto de la jerarquía es el valor (1+d)*0,00001 en lugar de 0,00001.
Un resultado de todo este procesado es que, en la jerarquía, se desarrollan características tales que, desde el nivel
5 más bajo al nivel superior, son gradualmente más complejas y más útiles con respecto a la tarea de control del robot. Cada unidad de procesado tiene en cuenta la utilidad, cuando combina sus datos de contexto con sus activaciones de características y la selección de las características.
Alternativas de las formas de realización
10 Además de las formas de realización antes descritas, la idea básica de la invención se puede llevar a cabo de diferentes maneras alternativas. En las formas de realización antes descritas, las unidades de procesado eran independientes y la selección de la representación y la decorrelación de las características se llevaban a cabo únicamente dentro de las unidades de procesado. Alternativamente, los límites de las unidades de procesado
15 podrían ser más flexibles. La decorrelación se podría llevar a cabo, por ejemplo, de manera que se defina una vecindad de un valor continuo para cada elemento de característica. Los elementos de característica más próximos obtendrían un peso de vecindad elevado y aquellos algo más distantes obtendrían un valor inferior, y los más distantes no pertenecerían a la vecindad en absoluto. Además, la selección de las características de representación y de las características de adaptación se podría llevar a cabo con un algoritmo tal que permita dinámicamente una
20 selección más local o más extensa en función de la situación.
Las unidades de procesado se pueden llevar a cabo o bien con un programa o bien, por ejemplo, como un procesador especializado en el método. De este modo, la forma de realización no se limita a ninguna realización física. Además, las activaciones de las características se pueden representar de otras maneras que no sean con
25 números. Se podrían representar, por ejemplo, con una serie de circuitos especializados, analógicamente con valores de voltaje.
En especial, los criterios de la utilidad a obtener a partir de las representaciones de las características dependen considerablemente de la aplicación. Se usan bastante comúnmente novedad, coherencia y relevancia para el
30 contexto, y las mismas se han presentado en esta publicación. Además, se podrían usar métodos tales en los que se usa contexto de dos maneras diferentes: por un lado, estadísticamente, para mejorar la estimación sobre qué características se encuentran en la entrada primaria y, por otro lado, para la estimación de qué características resulta útil representar.

Claims (19)

  1. REIVINDICACIONES
    1. Método implementado por ordenador para seleccionar información de características con el fin de producir una señal de control para un robot, y procesándose información de entrada en dicho método con la intención de hallar información útil con vistas a la tarea de producir la señal de control, consistiendo dicha información de entrada, en unas entradas primarias y en un contexto que representa información general relacionada con la tarea que se va a llevar a cabo, con lo cual la entrada primaria consiste en datos sensoriales y el contexto consiste en una señal de control para el robot, con lo cual la información de características que se va a seleccionar se forma a partir de la información de entrada como preactivaciones en forma de valores numéricos, procesándose además los valores de la información de características sobre la base de su utilidad, caracterizado porque
    a) se forma una predicción sobre la información de características final para producir la señal de control, a partir de un primer contexto de un conjunto de información de entrada por medio de unos primeros parámetros y una función parametrizada para la señal de control,
    b) se forman preactivaciones de la información de características para producir la señal de control, en forma de valores numéricos a partir de la primera entrada primaria del conjunto de información de entrada por medio de unos segundos parámetros y una función parametrizada para la señal de control,
    c) se forma la información de características a partir de las preactivaciones combinando la predicción con las preactivaciones, de manera que la información de características que se estima que tiene una utilidad superior se refuerza y otra información de características se debilita, con lo cual se considera que la información de características tiene una utilidad superior si se predice en la etapa a),
    d) los segundos parámetros se modifican de tal manera que, la función parametrizada de la etapa b), usada con los segundos parámetros modificados, forma la información de características formada en la etapa c),
    e) las etapas a) a d) se repiten para cada elemento del conjunto de información de entrada.
  2. 2.
    Método según la reivindicación 1, caracterizado porque en la etapa d), los primeros parámetros se modifican también, de tal manera que la función parametrizada de la etapa a), usada con los primeros parámetros modificados, forma la preactivación de la etapa b) o la información de características de la etapa c).
  3. 3.
    Método según cualquiera de las reivindicaciones 1 a 2, caracterizado porque los resultados de cálculo calculados sobre la base de los parámetros de las etapas a) y/o b) son promedios ponderados con los parámetros.
  4. 4.
    Método según cualquiera de las reivindicaciones 1 a 3, caracterizado porque la información de características obtenida en la etapa c) se decorrelaciona eliminando correlaciones de los valores de la información de características con el fin de enfatizar las diferencias de los valores que constituyen la información para lograr información de características mejorada.
  5. 5.
    Método según cualquiera de las reivindicaciones 1 a 4, caracterizado porque la información de características obtenida en la etapa c) o la información de características según la reivindicación anterior se dispersa (sparsified) seleccionando los números más altos de la información con el fin de mejorar adicionalmente la información de características.
  6. 6.
    Método según cualquiera de las reivindicaciones 1 a 5, caracterizado porque la información de características se usa para producir una señal de control para un robot, con lo cual la entrada primaria consiste en información sobre el entorno y el estado del robot medida por los sensores del robot, y el contexto consiste en señales inmediatamente relacionadas con el control del robot, tales como señales de control de los motores del robot.
  7. 7.
    Método según cualquiera de las reivindicaciones 1 a 6, caracterizado porque la utilidad que se va a obtener a partir de la representación de características se estima en la etapa c) implícitamente.
  8. 8.
    Método según cualquiera de las reivindicaciones 1 a 7, caracterizado porque la utilidad que se va a obtener a partir de la representación de características se estima en la etapa c) explícitamente.
  9. 9.
    Método según cualquiera de las reivindicaciones 1 a 8, caracterizado porque la utilidad de la modificación de parámetros se estima implícitamente en la etapa d).
  10. 10.
    Método según cualquiera de las reivindicaciones 1 a 9, caracterizado porque la utilidad de la modificación de parámetros se estima explícitamente en la etapa d).
  11. 11.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque uno o más tipos de entrada se blanquean parcial o completamente.
  12. 12.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque los números de la información de características se sensibilizan de manera que el promedio de cada número que describe un carácter correspondiente con respecto a un conjunto de información de entrada es aproximadamente el mismo.
  13. 13.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque se lleva a cabo en varias unidades de procesado conectando entre sí las unidades de procesado, de tal manera que las mismas se entregan mutuamente la información de características que han formado, como su entrada primaria.
  14. 14.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque se lleva a cabo en varias unidades de procesado conectando entre sí las unidades de procesado, de tal manera que se entregan mutuamente la información de características que han formado, como contexto.
  15. 15.
    Método según la reivindicación 14, caracterizado porque las unidades de procesado se conectan entre sí de una manera jerárquica.
  16. 16.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque, cuando se estima la utilidad de cada característica en la etapa c), un hecho que reduce la utilidad y que se tiene en consideración es que el valor de un elemento del vector de características en cuestión ha sido diferente de cero para los miembros del conjunto anterior de información de entrada.
  17. 17.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque, cuando se estima la utilidad de cada característica en la etapa c), un hecho que reduce la utilidad y que se tiene en consideración es que se ha predicho que el valor de un elemento de un vector de características en cuestión difiere de cero sobre la base de los contextos del conjunto anterior de información de entrada.
  18. 18.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque la modificación de los segundos parámetros en la etapa d) se lleva a cabo cuando la unidad de procesado ha procesado miembros nuevos del conjunto de información de entrada, y la información de características producida por la etapa c) que es el fundamento para la modificación se calcula nuevamente de tal manera que, cuando se estima la utilidad de cada característica en la etapa c), se tiene en cuenta como un factor que hace que aumenta la utilidad un hecho tal que el valor del elemento del vector de características en cuestión se estima que difiere de cero, sobre la base de contextos nuevos del conjunto de información de entrada.
  19. 19.
    Método según cualquiera de las reivindicaciones anteriores, caracterizado porque, cuando se estima la utilidad de las características de la unidad de procesado completa en la etapa c), se tiene en cuenta como contexto una evaluación, proporcionada por un módulo externo, sobre la utilidad de las características representadas por la unidad de procesado.
ES08718501T 2007-02-23 2008-02-22 Método para seleccionar información Active ES2429214T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20070159 2007-02-23
FI20070159A FI20070159A0 (fi) 2007-02-23 2007-02-23 Menetelmä informaation integrointiin, valintaan ja esityksen oppimiseen
PCT/FI2008/000031 WO2008102052A2 (en) 2007-02-23 2008-02-22 Method for selecting information

Publications (1)

Publication Number Publication Date
ES2429214T3 true ES2429214T3 (es) 2013-11-13

Family

ID=37832204

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08718501T Active ES2429214T3 (es) 2007-02-23 2008-02-22 Método para seleccionar información

Country Status (9)

Country Link
US (1) US8332336B2 (es)
EP (1) EP2126801B1 (es)
JP (1) JP5256215B2 (es)
DK (1) DK2126801T3 (es)
ES (1) ES2429214T3 (es)
FI (1) FI20070159A0 (es)
PL (1) PL2126801T3 (es)
PT (1) PT2126801E (es)
WO (1) WO2008102052A2 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011085819A1 (en) * 2010-01-15 2011-07-21 Zenrobotics Ltd. A machine-learning system and a method for determining different operating points in such a system
FR2962823B1 (fr) * 2010-07-13 2012-08-17 Ensuite Inf Processeur d'analyse situationnelle
US8838147B2 (en) * 2011-08-31 2014-09-16 Nokia Corporation Method and apparatus for determining environmental context utilizing features obtained by multiple radio receivers
US9367811B2 (en) * 2013-03-15 2016-06-14 Qualcomm Incorporated Context aware localization, mapping, and tracking
US10469398B2 (en) 2014-03-04 2019-11-05 International Business Machines Corporation Selecting forecasting model complexity using eigenvalues
US11720795B2 (en) 2014-11-26 2023-08-08 Canary Capital Llc Neural network structure and a method thereto
JP6280997B1 (ja) * 2016-10-31 2018-02-14 株式会社Preferred Networks 疾患の罹患判定装置、疾患の罹患判定方法、疾患の特徴抽出装置及び疾患の特徴抽出方法
CN106780662B (zh) * 2016-11-16 2020-09-18 北京旷视科技有限公司 人脸图像生成方法、装置及设备
CN106780658B (zh) 2016-11-16 2021-03-09 北京旷视科技有限公司 人脸特征添加方法、装置及设备
US10645100B1 (en) * 2016-11-21 2020-05-05 Alert Logic, Inc. Systems and methods for attacker temporal behavior fingerprinting and grouping with spectrum interpretation and deep learning
SE543130C2 (en) 2018-04-22 2020-10-13 Zenrobotics Oy A waste sorting robot gripper
SE543177C2 (en) 2018-04-22 2020-10-20 Zenrobotics Oy Waste sorting gantry robot comprising an integrated chute and maintenance door
SE544741C2 (en) 2018-05-11 2022-11-01 Genie Ind Bv Waste Sorting Gantry Robot and associated method
CN110135427B (zh) * 2019-04-11 2021-07-27 北京百度网讯科技有限公司 用于识别图像中的字符的方法、装置、设备和介质
SE2030325A1 (en) * 2020-10-28 2021-12-21 Zenrobotics Oy Waste sorting robot and method for detecting faults
SE544457C2 (en) * 2020-10-28 2022-06-07 Zenrobotics Oy Waste sorting robot and method for cleaning a waste sorting robot
SE2130289A1 (en) 2021-10-26 2023-04-27 Mp Zenrobotics Oy Waste Sorting Robot
SE2130349A1 (en) 2021-12-09 2023-06-10 Mp Zenrobotics Oy Waste sorting robot and external cleaning apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002061678A2 (en) * 2001-01-31 2002-08-08 Prediction Dynamics Limited Feature selection for neural networks
EP1359481A4 (en) * 2001-02-05 2006-04-12 Honda Motor Co Ltd AGENT LEARNING DEVICE, METHOD AND PROGRAM
US6963870B2 (en) 2002-05-14 2005-11-08 Microsoft Corporation System and method for processing a large data set using a prediction model having a feature selection capability
JP4442119B2 (ja) * 2003-06-06 2010-03-31 オムロン株式会社 画像認識装置および画像認識方法、並びに、画像認識装置のティーチング装置およびティーチング方法
US20060224532A1 (en) 2005-03-09 2006-10-05 Case Western Reserve University Iterative feature weighting with neural networks

Also Published As

Publication number Publication date
PT2126801E (pt) 2013-07-10
WO2008102052A2 (en) 2008-08-28
PL2126801T3 (pl) 2013-11-29
JP5256215B2 (ja) 2013-08-07
US20100088259A1 (en) 2010-04-08
EP2126801B1 (en) 2013-04-03
FI20070159A0 (fi) 2007-02-23
WO2008102052B1 (en) 2008-12-24
DK2126801T3 (da) 2013-06-24
JP2010519642A (ja) 2010-06-03
US8332336B2 (en) 2012-12-11
WO2008102052A3 (en) 2008-10-30
EP2126801A2 (en) 2009-12-02

Similar Documents

Publication Publication Date Title
ES2429214T3 (es) Método para seleccionar información
Kriegeskorte et al. Cognitive computational neuroscience
Van Gerven Computational foundations of natural intelligence
Prieto et al. Neural networks: An overview of early research, current frameworks and new challenges
Sancaktar et al. End-to-end pixel-based deep active inference for body perception and action
Pourpanah et al. A hybrid model of fuzzy ARTMAP and genetic algorithm for data classification and rule extraction
Ge et al. A spiking neural network model for obstacle avoidance in simulated prosthetic vision
Prieto et al. Advances in artificial neural networks and machine learning
Rezende et al. Causally correct partial models for reinforcement learning
Berezsky et al. Hybrid intelligent information technology for biomedical image processing
Fagg et al. Rapid reinforcement learning for reactive control policy design in autonomous robots
Kamthan et al. Hierarchical fuzzy deep learning system for various classes of images
Mainzer From embodied mind to embodied robotics: Humanities and system theoretical aspects
Wieser et al. EO-MTRNN: evolutionary optimization of hyperparameters for a neuro-inspired computational model of spatiotemporal learning
Witchuda et al. Reservoir computing model for human hand locomotion signal classification
Peschl The development of scientific concepts and their embodiment in the representational activities of cognitive systems: Neural representation spaces, theory spaces, and paradigmatic shifts
McCall et al. Cortical learning algorithms with predictive coding for a systems-level cognitive architecture
Baxter et al. Memory-based cognitive framework: a low-level association approach to cognitive architectures
Amezcua et al. New classification method based on modular neural networks with the LVQ algorithm and type-2 fuzzy logic
Ikram A benchmark for evaluating Deep Learning based Image Analytics
Heikkonen et al. Self-organization and autonomous robots
Morasso et al. Coordinate-free sensorimotor processing: computing with population codes
Parra et al. Computational framework of the visual sensory system based on neuroscientific evidence of the ventral pathway
Wolansky A deep dive into the basics of deep learning
Seelen et al. Principles of Neural Information Processing