ES2208511T3 - Metodo y aparato de entrenamiento para crear una nueva neurona. - Google Patents

Metodo y aparato de entrenamiento para crear una nueva neurona.

Info

Publication number
ES2208511T3
ES2208511T3 ES01125305T ES01125305T ES2208511T3 ES 2208511 T3 ES2208511 T3 ES 2208511T3 ES 01125305 T ES01125305 T ES 01125305T ES 01125305 T ES01125305 T ES 01125305T ES 2208511 T3 ES2208511 T3 ES 2208511T3
Authority
ES
Spain
Prior art keywords
neuron
training
neurons
temporal
vector
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.)
Expired - Lifetime
Application number
ES01125305T
Other languages
English (en)
Inventor
Michael C. Moed
Chih-Ping c/o United Parcel Serv.America Inc Lee
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.)
United Parcel Service of America Inc
United Parcel Service Inc
Original Assignee
United Parcel Service of America Inc
United Parcel Service Inc
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 United Parcel Service of America Inc, United Parcel Service Inc filed Critical United Parcel Service of America Inc
Application granted granted Critical
Publication of ES2208511T3 publication Critical patent/ES2208511T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19107Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)
  • Finger-Pressure Massage (AREA)
  • Electrotherapy Devices (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

Un método de entrenamiento para crear una neurona nueva en un espacio de características que tiene al menos una neurona existente, incluyendo los pasos de: (a) generar un vector de características (504) representativo de una entrada de entrenamiento donde dicha entrada de entrenamiento corresponde a una de una pluralidad de salidas posibles; y (b) si ninguna neurona existente correspondiente a dicha entrada de entrenamiento abarca dicho vector de características (512), crear dicha neurona nueva; caracterizado porque dicha neurona nueva incluye un límite definido por dos o más ejes de neurona de longitud diferente; dicho espacio de características incluye un vector de características existente; y el paso (b) incluye además los pasos de: (i) crear (514) una neurona temporal incluyendo un límite definido por dos o más ejes de neuronas temporales; y (ii) si dicha neurona temporal abarca dicho vector de características existente (508) y dicho vector de características existente no corresponde a dicha entrada de entrenamiento (506), ajustar espacialmente dicha neurona temporal para crear dicha neurona nueva, y porque el paso (b) (ii) incluye los pasos de: (1) seleccionar al menos uno de dichos ejes de neuronas temporales; (2) calcular las distancias a lo largo de cada uno de dichos ejes seleccionados de neuronas temporales desde el centro de dicha neurona temporal a dicho vector de características existente; y (3) reducir (510) dichos ejes seleccionados de neuronas temporales en cantidades proporcionales a dichas distancias y las longitudes de dichos ejes seleccionados de neuronas temporales para crear dicha neurona nueva.

Description

Método y aparato de entrenamiento para crear una nueva neurona
Antecedentes de la invención 1. Campo de la invención
La presente invención se refiere a métodos y sistemas de clasificación, y, en particular, a métodos y sistemas para clasificar imágenes de caracteres adquiridas ópticamente y a métodos y sistemas para entrenarlos.
2. Exposición de la técnica relacionada
En el documento de YOSHIKAZU MIYANAGA Y COLABORADORES: "PARALLEL AND ADAPTIVE CLUSTERING METHOD SUITABLE FOR A VLSI SYSTEM" SIGNAL IMAGE AND VIDEO PROCESSING. SINGAPUR, JUNE 11-14 1991, PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, NEW YORK, IEEE, US, vol. 1 SYMP. 24, 11 de junio de 1991 (11-06-1991), páginas 356-359, XP000384785 ISBN: 0-7803-0050-5, se propone una red bifuncional en la que se implementan métodos adaptativos para reconocimiento y agrupación sofisticados. En la primera red secundaria, se realiza agrupación autoorganizada. La agrupación se basa en la distancia de Mahalanobis. El resultado de la primera red secundaria es un vector de valores de semejanza entre una forma de entrada dada y todas las formas de los nodos de grupo. La segunda red secundaria determina la marca óptima de la red de semejanza. La segunda red consta de nodos asociados con marcas específicas. Todas las conexiones entre los nodos de marca de la segunda red funcional y los nodos de grupo de la primera red funcional se determinan por aprendizaje supervisado. Cada cálculo se ejecuta en paralelo y en forma de viaducto. La figura 3 muestra el diagrama de bloques del flujo de control. Se alimenta una forma de entrada a todos los nodos de la primera red secundaria en cada caso. En el primer paso, se calculan los valores de semejanza de todos los nodos. Si se debe crear un nuevo nodo, se asigna una forma de entrada al nuevo nodo. Si no es necesario crear un nodo nuevo, se selecciona el nodo óptimo a partir de los valores de semejanza.
En el campo de envío de paquetes, los paquetes se dirigen desde orígenes a destinos a todo el mundo según direcciones de destino mecanografiadas en etiquetas de envío aplicadas a estos paquetes. Para enrutar paquetes, es deseable utilizar sistemas automáticos de clasificación de caracteres ópticos que pueden leer las direcciones. Tal sistema de clasificación debe ser capaz de clasificar caracteres lo más rápidamente posible. Los sistemas convencionales de clasificación de caracteres ópticos usando neuronas esféricas, tal como los descritos en la Patente de Estados Unidos número 4.326.259 (Cooper y otros), pueden ser incapaces de ejecutar los requisitos de procesado presentados por algunas aplicaciones sin una inversión sustancial en hardware.
En el documento KELLY P METAL Y OTROS: "An adaptative algorithm for modifying hyperellipsoidal decision surfaces" PROCEEDINGS OF THE INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS. (IJCNN). BALTOMIRE, JUNIO 7-11, 1992, NEW YORK, IEEE, US, vol. 3, 7 junio 1992 (7-6-1992), páginas 196-201, XP010060109 ISBN: 0-7803-0559-0, se ha desarrollado un algoritmo de aprendizaje para un clasificador de distancia que manipula límites de grupos hiperelipsoidales. Regiones del espacio de características de entrada son encerradas primero por límites elipsoidales, y después estos límites se modifican iterativamente para reducir el error de clasificación en áreas de solapamiento conocido entre clases diferentes. Durante la adaptación, cada elipsoide en el clasificador mantendrá su orientación original, aunque se modificará su posición y forma. El algoritmo usado se denomina algoritmo LVQ-MM (LVQ con la métrica de distancia Mahalanobis).
Resumen de la invención
La presente invención cubre un método y aparato de entrenamiento para ajustar una neurona. La invención genera un vector de características representativo de una entrada de entrenamiento, donde la entrada de entrenamiento corresponde a una de una pluralidad de salidas posibles. Si la neurona abarca el vector de características y si la neurona no corresponde a la entrada de entrenamiento, la invención ajusta espacialmente la neurona, donde la neurona ajustada incluye un límite definido por dos o más ejes de neurona ajustada de longitud diferente.
Breve descripción de los dibujos
Las figuras 1(a), 1(b), 1(c) y 1(d) son representaciones en mapa de bits de una letra nominal "O", una letra degradada "O", un número nominal "7", y una letra degradada "7", respectivamente.
La figura 2 es una ilustración gráfica de un espacio de características bidimensionales poblado con 8 neuronas elípticas que pueden ser empleadas por el sistema de clasificación de la presente invención para clasificar imágenes de las letras A, B y C.
La figura 3 es un diagrama de flujo de proceso para clasificar entradas según una realización preferida de la presente invención.
La figura 4 es un diagrama esquemático de parte del sistema de clasificación de la figura 3.
La figura 5 es un diagrama de flujo de proceso para generar neuronas usadas por el sistema de clasificación de la figura 3.
Y la figura 6 es un diagrama esquemático de un sistema de clasificación que usa clasificadores de grupo para clasificar entradas según una realización preferida de la presente invención.
Descripción detallada de la invención
La presente invención incluye un sistema para reconocimiento óptico de caracteres, pero, más en general, la invención cubre un sistema de clasificación para clasificar una entrada como una de un conjunto definido de salidas posibles. Por ejemplo, donde la entrada es una imagen adquirida ópticamente que representa una de las 26 letras mayúsculas del alfabeto inglés, el sistema de clasificación de la presente invención se puede usar para seleccionar como una salida la letra mayúscula que está asociada con la imagen introducida. El sistema de clasificación de la presente invención se explica a continuación en conexión con las figuras 1(a), 2, 3 y 4.
La presente invención también incluye un sistema para "entrenar" el sistema de clasificación de la presente invención. Este sistema de entrenamiento se pone en funcionamiento preferiblemente fuera de línea antes del despliegue del sistema de clasificación. En el ejemplo de reconocimiento de caracteres, el sistema de entrenamiento acepta imágenes introducidas representativas de caracteres conocidos para "aprender" acerca del conjunto de salidas posibles en las que se clasificarán eventualmente las imágenes desconocidas. El sistema de entrenamiento de la presente invención se explica a continuación en conexión con la figura 5.
La presente invención también incluye un sistema para entrenar el sistema de clasificación de la presente invención basado en ordenar las entradas de entrenamiento según la calidad relativa de las entradas de entrenamiento. Este sistema de entrenamiento se explica a continuación en conexión con las figuras 1(a), 1(b), 1(c) y 1(d).
La presente invención también incluye un sistema para ajustar las posiciones y formas de neuronas generadas durante los sistemas de entrenamiento de la presente invención.
La presente invención también incluye un sistema de clasificación que emplea una red jerárquica de clasificadores de grupo de nivel superior y de nivel inferior. El clasificador de nivel superior clasifica entradas a uno de una pluralidad de grupos de salida, donde cada grupo de salida está asociado con un subconjunto del conjunto de salidas posibles. Un clasificador de grupos, asociado con el grupo de salida identificado por el clasificador de nivel superior, clasifica después la entrada como correspondiente a una de las salidas posibles. Este sistema de clasificación se explica a continuación en conexión con la figura 1(a), 1(b), 1(c) y 1(d).
La presente invención también incluye un sistema neural de clasificar entradas que combina dos subsistemas. Un subsistema recuenta el número de neuronas que abarcan un vector de características que representa una entrada particular para cada una de las salidas posibles. Si una de las salidas posibles tiene más neuronas que abarcan el vector de características que cualquier otra salida posible, el sistema selecciona esa salida posible como correspondiente a esa entrada. De otro modo, el segundo subsistema halla la neurona que tiene el valor más pequeño para una medida de distancia particular para dicho vector de características. Si dicho valor es inferior a un umbral especificado, el sistema selecciona la salida asociada con dicha neurona como correspondiente a la entrada. Este sistema neural se explica a continuación en conexión con las figuras 1(a), 2, 3 y 4.
Sistema de clasificación
Con referencia ahora a la figura 1(a), se muestra una representación en mapa de bits de una letra nominal "O". Cuando el sistema de clasificación de la presente invención clasifica imágenes de caracteres adquiridas ópticamente, cada imagen de carácter a clasificar se puede representar por un mapa de bits de entrada, una matriz de imagen (m x n) de valores binarios como se representa en la figura 1(a). En una realización preferida, el sistema de clasificación de la presente invención genera un vector en un espacio de características k-dimensionales a partir de la información contenida en cada mapa de bits de entrada. Cada vector de características F tiene elementos de características f_{j}, donde 0 \leq j \leq k-1. La dimensión del espacio de características, k, puede ser cualquier entero mayor que uno. Cada elemento de característica f_{j}es un valor real correspondiente a una de k características derivadas del mapa de bits de entrada.
Las características k se pueden derivar del mapa de bits de entrada usando funciones convencionales de extracción de características, tal como, por ejemplo, la función de extracción de características de Grid o Hadamard. El vector de características F representa un punto en el espacio de características k-dimensionales. Los elementos de características f_{j} son los componentes de vector de características F a lo largo de los ejes de espacio de características del espacio de características k-dimensionales. A efectos de esta memoria descriptiva, el término "vector de características" se refiere a un punto en el espacio de características.
En una realización preferida, se puede aplicar una transformada de análisis discriminante a vectores de características basados en Grid o basados en Hadamard para definir el espacio de características. En esta realización, la separación entre salidas posibles se puede incrementar y la dimensionalidad del vector de características se puede reducir realizando este análisis discriminante en el que solamente se retienen los vectores propios más significativos de la transformación discriminante.
El sistema de clasificación de la presente invención compara un vector de características F, que representa una imagen de entrada particular, con un conjunto de neuronas en el espacio de características, donde cada neurona es una región k-dimensional cerrada o "hiper-volumen" en el espacio de características k-dimensionales. Por ejemplo, cuando (k = 2), cada neurona es un área en un espacio de características bidimensionales, y cuando (k = 3), cada neurona es un volumen en un espacio de características tridimensionales. La figura 2 muestra una ilustración gráfica de un espacio ejemplar de características bidimensionales poblado con ocho neuronas bidimensionales.
En un sistema de clasificación preferido según la presente invención, el límite de al menos una de las neuronas que pueblan un espacio de características k-dimensionales se define por al menos dos ejes que tienen longitudes diferentes. Algunas de estas neuronas se pueden representar en general matemáticamente como:
(1)\sum\limits_{j=0}^{k-1}\frac{|c_{j}-g_{j}|^{m}}{(b_{j})^{m}} \leq A,
donde c_{j} define el punto central de la neurona, b_{j} son las longitudes de los ejes de neurona, y m y A son constantes reales positivas. En una realización preferida, al menos dos de los ejes de neurona son de longitud diferente. Los valores g_{j} que cumplen la ecuación (1) definen los puntos en el espacio de características que están dentro de o en el límite de la neurona. Los expertos en la materia entenderán que otras neuronas dentro del alcance de esta invención se pueden representar por otras expresiones matemáticas. Por ejemplo, una neurona se puede definir por la expresión:
1
donde la función "MAX" calcula el valor máximo de la relación cuando j va de 0 a k-1. Las neuronas definidas por la ecuación (2) son hiper-rectángulos.
En una realización preferida de la presente invención, las neuronas son hiper-elipses en el espacio de características k-dimensionales. Una hiper-elipse es cualquier hiper-volumen definido por la ecuación (1), donde (m=2) y (A=1). Más en concreto, una hiper-elipse se define por la función:
(3)\sum\limits_{j=0}^{k-1}\frac{(c_{j}-g_{j})^{2}}{(b_{j})^{2}} \leq 1,
donde c_{j} define el punto central de hiper-elipse, b_{j} son las longitudes de eje de hiper-elipse, y los valores g_{j} que cumplen la ecuación (3) definen los puntos que están dentro de o en el límite de la hiper-elipse. Cuando todos los ejes son de la misma longitud, la hiper-elipse es una hiper-esfera. En una realización preferida de la presente invención, en al menos una de las neuronas, al menos dos de los ejes son de longitud diferente. A modo de ejemplo, se muestra en la figura 2 la neurona elíptica 1, que tiene el punto central (c_{0}^{1}, c_{1}^{1}), y eje (b_{0}^{1}, b_{1}^{1}) de longitud diferente. En una realización preferida, los ejes de las neuronas están alineados con los ejes de coordenadas del espacio de características. Los expertos en la materia entenderán que otras neuronas que tienen ejes que no se alinean con los ejes de espacio de características caen dentro del alcance de la invención.
Según la presente invención, cada neurona está asociada con una salida particular posible. Por ejemplo, cada neurona puede corresponder a una de las 26 letras mayúsculas. Cada neurona está asociada solamente con una de las salidas posibles (por ejemplo, letras), pero cada salida posible puede tener una o varias neuronas asociadas. Además, las neuronas se pueden solapar entre sí en el espacio de características. Por ejemplo, como se representa en la figura 2, las neuronas 0, 1 y 7 corresponden al carácter "A", las neuronas 2, 3, 5 y 6 corresponden al carácter "B", y la neurona 4 corresponde al carácter "C". Las neuronas 1 y 7 se solapan, lo mismo que las neuronas 2, 3 y 6 y las neuronas 3, 5 y 6. En una realización alternativa (no representada), se pueden solapar neuronas correspondientes a salidas posibles diferentes. El sistema de clasificación de la presente invención puede emplear las neuronas de la figura 2 para clasificar imágenes de entrada representativas de las letras A, B y C.
Con referencia ahora a la figura 3, se muestra un diagrama de flujo del proceso de sistema de clasificación 300 para clasificar una entrada (por ejemplo, un mapa de bits de una imagen de carácter adquirida ópticamente) como una de un conjunto de salidas posibles (por ejemplo, caracteres) según una realización preferida de la presente invención. En la realización preferida representada en la figura 3, las neuronas en el sistema de clasificación 300 son procesadas en paralelo. En una realización alternativa (no representada), las neuronas del sistema de clasificación 300 se pueden procesar en serie. Se ha previsto medios 302 para recibir un mapa de bits de imagen introducida y generar un vector de características que representa información contenida en dicho mapa de bits. Se han previsto medios 304 y 306 para comparar el vector de características generado por el medio 302 con un conjunto de neuronas, de las que al menos una tiene dos o más ejes de longitud diferente. EL sistema de clasificación 300 selecciona una de las salidas posibles En base a dicha comparación.
En una realización preferida de la presente invención, el sistema de clasificación 300 clasifica mapas de bits de caracteres adquiridos ópticamente usando una red de neuronas hiper-elípticas. Unos medios 302 del sistema de clasificación 300 reciben como entrada el mapa de bits de una imagen de carácter adquirida ópticamente a clasificar y generan un vector de características correspondiente F. Unos medios 304 determinan después una "distancia elíptica" r_{x} en función del centro y ejes de cada una de las E_{num} neuronas hiper-elípticas x en la red y el vector de características F, donde:
(4)r_{x} = \sum\limits_{j=0}^{k-1}\frac{(f_{j}- c_{j}^{x})^{2}}{(b_{j}^{x})^{2}}, -
En la ecuación (4), _{c}j^{x} y b_{j}^{x} definen el punto central y las longitudes de eje, respectivamente, de la neurona x, donde x es de 0 a E_{num}-1, y f_{j} son los elementos del vector de características F. Los expertos en la materia reconocerán que también se puede usar medidas de distancia diferentes de la de la ecuación (4).
Unos medios 306 determinan cuáles, si las hay, de las E_{num} neuronas abarcan el vector de características F. Una neurona abarca un vector de características -y se puede denominar como una "neurona circundante"- si el vector de características está dentro del límite que define la neurona en el espacio de características. Para hiper-elipses, la neurona x abarca el vector de características F, si (r_{x} < 1). Si (r_{x} = 1), el vector de características F está en el límite de la neurona x, y si (r_{x} > 1), el vector de características F está fuera de la neurona x. Dado que las neuronas se pueden solapar en el espacio de características, un vector de característica particular puede ser abarcado por más de una neurona. En la figura 2, el vector de características F_{g}, correspondiente a una imagen de entrada particular, es abarcado por las neuronas 2 y 6. Alternativamente, un vector de características puede estar dentro de ninguna neurona, como en el caso de vector de características F_{h} de la figura 2, que corresponde a una imagen de entrada diferente.
Unos medios 308 hallan la neurona "más próxima" para cada salida posible. Como se ha descrito anteriormente, cada neurona está asociada con una y solamente una salida posible, pero cada salida posible puede tener una o varias neuronas asociadas con ella. Unos medios 308 analizan todas las neuronas asociadas con cada salida posible y determinan la neurona "más próxima" al vector de características F para dicha salida. La neurona "más próxima" será la que tenga el valor de medición de distancia más pequeño r_{x}. En el ejemplo del vector de características F_{g} de la figura 2, unos medios 308 seleccionarán una neurona 1 como la neurona "más próxima" al vector de características F_{g} para el carácter "A". También seleccionarán la neurona 2 como la neurona "más próxima" para el carácter "B" y la neurona 4 para el carácter "C".
Unos medios 310 en la figura 3 cuentan votos para cada salida posible. En una primera realización preferida, cada neurona que abarca el vector de características F es tratada por medios 310 como un solo "voto" para la salida asociada con dicha neurona. En una realización preferida alternativa explicada con mayor detalle con respecto a la ecuación (7) a continuación, cada neurona que abarca el vector de características F es tratada por los medios 310 como que representa un "voto ponderado" para la salida asociada con dicha neurona, donde el peso asociado con cualquier neurona particular es una función del número de vectores de características de entrada de entrenamiento abarcados por dicha neurona. En una realización preferida, los medios 310 implementan votación proporcional, donde el voto ponderado para una neurona particular es igual al número de vectores de características abarcado por dicha neurona. Para cada salida posible, los medios 310 cuentan todos los votos para todas las neuronas que abarcan el vector de características F. Hay tres tipos potenciales de resultados de la votación: (1) un carácter de salida recibe más votos que cualquier otro carácter de salida, (2) dos o más caracteres de salida empatan al mayor número de votos, o (3) los caracteres de salida no reciben votos, indicando la situación en la que ninguna neurona abarca el vector de características F. En la figura 2, el vector de características F_{g} puede dar lugar al primer tipo de resultado de votación: el carácter "B" puede recibir 2 votos correspondientes a las neuronas circundantes 2 y 6, mientras que los caracteres "A" y "C" no reciben votos. El vector de características F_{h} de la figura 2 da lugar al tercer tipo de resultado de votación, no recibiendo votos cada carácter.
Unos medios 312 determinan si el primer tipo de resultado de votación resultó de la aplicación de los medios 310 al vector de características F. Si solamente uno de los caracteres de salida posibles recibió el mayor número de votos, los medios 312 dirigen el procesado del sistema de clasificación 300 a los medios 314, que seleccionan dicho carácter de salida como correspondiente al mapa de bits de caracteres de entrada. De otro modo, el procesado continúa a los medios 316. Para el vector de características F_{g} en la figura 2, los medios 312 determinan que el carácter "B" tiene más votos que cualquier otro carácter y dirigen los medios 314 a seleccionar "B" como el carácter correspondiente al vector de características F_{g}. Para el vector de características F_{h} en la figura 2, los medios 312 determinan que ningún carácter único recibió el mayor número de votos y dirige el procesado a los medios 316.
Unos medios 316 hacen de un desempatador para el segundo y tercer resultado potencial de la votación en el que no existe ningún líder de votos claro, a causa de un empate o porque el vector de características no está dentro de ninguna neurona. Para romper el empate, los medios 316 seleccionan la neurona x que está "más próxima" en distancia elíptica al vector de características F y compara r_{x} con un valor umbral especificado \theta^{m}. Si (r_{x} \leq \theta^{m}), los medios 318 seleccionan el carácter de salida asociado con la neurona x como correspondiente al mapa de bits de caracteres de entrada. De otro modo, el empate no está roto y el sistema de clasificación 300 no selecciona ningún carácter para la imagen introducida. Un resultado de "ningún carácter seleccionado" es una de las salidas posibles del sistema de clasificación 300. Por ejemplo, si el sistema de clasificación 300 está diseñado para reconocer letras mayúsculas y la imagen introducida corresponde al número "7", un resultado de ningún carácter seleccionado es una salida apropiada.
El valor umbral \theta^{m} puede ser cualquier número mayor que 1 y es preferiblemente aproximadamente 1,25. Como se ha descrito anteriormente, cuando el vector de características F está dentro de la neurona x, (r_{x} < 1), y cuando el vector de características F está fuera de la neurona x, (r_{x} > 1). Si el resultado de la votación de los medios 310 es un empate para el mayor número de votos no cero, los medios 316 seleccionarán el carácter de salida asociado con la neurona circundante que tiene un centro que esté "más próximo" en "distancia" elíptica al vector de características F. Alternativamente, sino hay neuronas circundantes, los medios 316 todavía pueden clasificar el mapa de bits de entrada como correspondiente al carácter de salida asociado con la neurona "más próxima" X, si (r_{x} < \theta^{m}). El uso de un valor umbral \theta^{m} de aproximadamente 1,25 establece una región que rodea cada neurona usada por los medios 316 para desempate. En la figura 2, el vector de características Fh se clasificará como carácter "C" si la medición de "distancia" r_{4} es inferior al valor umbral \theta^{m}; de otro modo, no se selecciona ningún carácter.
Con referencia ahora a la figura 4, se muestra un diagrama esquemático del sistema de clasificación 400 de la presente invención para clasificar entradas como correspondientes a un conjunto de s salidas posibles. El sistema de clasificación 400 puede realizar parte del procesado realizado por el sistema de clasificación 300 de la figura 3. El sistema de clasificación 400 acepta el vector de característica F, representado por los elementos de características (f_{0}, f_{1}, ..., f_{k-1}), y genera valores q^{t} y q^{m} que hacen de indicadores y/o señalizadores para indicar la salida posible a seleccionar. El sistema de clasificación 400 incluye cuatro niveles de subsistema: nivel de entrada 402, nivel de procesado 404, nivel de salida 406, y nivel de postprocesado 408.
El nivel de entrada 402 incluye el conjunto I de k unidades de procesado de entrada i_{j}, donde j es de 0 a k-1. Cada unidad de procesado de entrada i_{j} recibe como entrada un y solamente un elemento f_{j} del vector de características F y envía este valor al nivel de procesado 404. El nivel de entrada 402 funciona como un conjunto de elementos de envío de paso.
El nivel de procesado 404 incluye el conjunto E de E_{num} unidades elípticas de procesado e_{x}, donde x es de 0 a E_{num}-1.
Cada unidad elíptica de procesado e_{x} está conectada y recibe entrada de la salida de cada unidad de procesado de entrada i_{j} del nivel de entrada 402. La unidad elíptica de procesado e_{x} implementa la ecuación (4) para la neurona x del sistema de clasificación 300 de la figura 3. Como la neurona x del sistema de clasificación 300, cada unidad elíptica de procesado e_{x} se define por dos vectores de parámetros internos: B^{x} y C^{x}. Los elementos de vector B^{x} son las longitudes de los ejes de neurona x, donde:
(5)B^{x}=(b_{0}{}^{x}, b_{1}{}^{x}, ..., b^{x}{}_{k-1})^{T},
y los elementos de vector C^{x} son las coordenadas del punto central de la neurona x, donde:
(6)C^{x}= (c_{0}{}^{x}, c_{1}{}^{x}, ..., c^{x}{}_{k-1})^{T},
Cada unidad elíptica de procesado e_{x} del nivel de procesado 404 calcula la medición de distancia r_{x} del vector de características F al centro de la neurona x. El nivel de procesado 404 está asociado con los medios 304 del sistema de clasificación 300. Si (r_{x} < 1), la unidad elíptica de procesado e_{x} se dice que está activada; de otro modo, la unidad elíptica de procesado e_{x} no está activada. En otros términos, una unidad elíptica de procesado e_{x} se activa cuando la neurona x abarca el vector de características F. Cada unidad elíptica de procesado e_{x} envía la medición de distancia calculada r_{x} solamente a dos unidades de procesado de salida del nivel de salida 406.
El nivel de salida 406 incluye dos partes: una parte de salida total 410 y una parte de salida minimizada 412. La parte de salida total 410 contiene el conjunto O^{t} de s unidades de procesado de salida O_{n}^{t}, y la parte de salida minimizada 412 contiene el conjunto O^{m} de s unidades de procesado de salida O_{n}^{m}, donde n es de 0 a s-1, donde s es también el número de salidas posibles para las que el sistema de clasificación 400 ha sido entrenado. Por ejemplo, al clasificar letras mayúsculas, s=26. Cada par de unidades de proceso (O_{n}^{t}, O_{n}^{m}) está asociado solamente con una salida posible y viceversa.
Cada unidad elíptica de procesado e_{x} del nivel de procesado 404 está conectada y proporciona salida a solamente una unidad de procesado de salida O_{n}^{t} de la parte de salida total 410 y a solamente una unidad de procesado de salida O_{n}^{m} de la parte de salida minimizada 412. Sin embargo, cada unidad de procesado de salida O_{n}^{t} y cada unidad de procesado de salida O_{n}^{m} se puede conectar y recibir entrada de una o varias unidades elípticas de procesado e_{x} del nivel de procesado 404. Estas relaciones se representan por matrices de conexión W^{t} y W^{m}, que son de dimensión (s x E_{num}). En una realización preferida, si hay una conexión entre la unidad elíptica de procesado e_{x} del nivel de procesado 400 y la unidad de procesado de salida O_{n}^{t} de parte de salida total 410 del nivel de salida 406, una entrada W_{nx}^{t} en la matriz de conexión W^{t} tendrá un valor que es igual al número de vectores de características de entrada de entrenamiento abarcado por la neurona x; de otro modo, tiene el valor 0. En otra realización preferida, la entrada W_{nx}^{t} tiene un valor 1 si hay una conexión entre la unidad elíptica de procesado e_{x} y la unidad de procesado de salida O_{n}^{t}.
La matriz de conexión W_{m} representa las conexiones entre el nivel de procesado 404 y la parte de salida minimizada 412 del nivel de salida 406 y se está relacionada con la matriz de conexión W_{t}. Una entrada W_{nx}^{m} en la matriz de conexión W_{m} tendrá un valor de 1 para cada entrada _{Wnx}^{t} en la matriz de conexión W_{t} que no es cero. De otro modo, la entrada W_{nx}^{m} tendrá un valor de 0.
Cada unidad de procesado de salida O_{nt} en la parte de salida total 410 calcula un valor de salida O_{nt}, donde:
(7)0_{n}^{t} = \sum\limits_{ x=0}^{E_{num}-1} W_{nx}^{t}T(r_{x}),
donde la función T(r_{x}) devuelve el valor 0 si (r_{x} > 1); de otro modo, devuelve el valor 1. En otros términos, la función T(r_{x}) devuelve el valor 1 si la unidad elíptica de procesado e_{x} del nivel de procesado 404 está activada. La unidad de procesado de salida O_{nt} cuenta los votos para la salida posible con la que está asociada y envía el total. La parte de salida total 410 del nivel de salida 406 está asociada con los medios 306 y los medios 310 del sistema de clasificación 300.
Igualmente, cada unidad de procesado de salida O_{n}^{m} en la parte de salida minimizada 412 calcula un valor de salida O_{n}^{t}, donde:
2
donde la función "MIN" devuelve el valor mínimo de (W_{nx}^{m}r_{x}) sobre todas las unidades elípticas de procesado e_{x}. Por lo tanto, cada unidad de procesado de salida O_{n}^{m} examina cada una de las unidades elípticas de procesado e_{x} a la que está conectada y envía un valor real igual al valor de salida mínimo de estas unidades elípticas de procesado. La parte de salida minimizada 412 del nivel de salida 406 está asociada con los medios 308 del sistema de clasificación 300.
El nivel de postprocesado 408 incluye dos unidades de postprocesado p^{t} y p^{m}. La unidad de postprocesado p^{t} está conectada y recibe entrada de cada unidad de procesado de salida O_{nt} de la parte de salida total 410 del nivel de salida 406. La unidad de postprocesado p^{t} halla la unidad de procesado de salida O_{n}^{t} que tiene el valor de salida máximo y genera el valor q^{t}. Si la unidad de procesado de salida O_{nt} de la parte de salida total 410 tiene un valor de salida mayor que los de todas las otras unidades de procesado de salida de la parte de salida total 410, el valor q^{t} se establece a n -el índice para dicha unidad de procesado de salida. Por ejemplo, al clasificar letras mayúsculas n puede ser 0 para "A" y 1 para "B", etc. De otro modo, el valor q^{t} se establece a -1 para indicar que la parte de salida total 410 del nivel de salida 406 no clasificó la entrada. La unidad de postprocesado p^{t} de nivel de postprocesado 408 está asociada con los medios 312 del sistema de clasificación 300.
Igualmente, la unidad de postprocesado p^{m} -la otra unidad de postprocesado en el nivel de postprocesado 408- está conectada y recibe entrada de cada unidad de procesado de salida O_{n}^{m} de la parte de salida minimizada 412 del nivel de salida 406. La unidad de postprocesado p^{m} halla la unidad de procesado de salida O_{n}^{m} que tiene el valor de salida mínimo y genera el valor q^{m}. Si la unidad de procesado de salida O_{n}^{m} de la parte de salida minimizada 412 tiene un valor de salida inferior a un umbral especificado \theta^{m}, el valor q^{m} se establece al índice correspondiente n. De otro modo, el valor q^{m} se establece a -1 para indicar que la parte de salida minimizada 412 del nivel de salida 406 no clasificó la entrada, porque el vector de características F está fuera de la región umbral que rodea la neurona x para todas las neuronas x. El umbral \theta^{m} puede ser el mismo umbral \theta^{m} utilizado en el sistema de clasificación 300 de la figura 3. La unidad de postprocesado p^{m} del nivel de postprocesado 408 está asociada con los medios 316 del sistema de clasificación 300.
La clasificación de la entrada se termina analizando los valores q^{t} y q^{m}. Si (q^{t} \neq -1), la entrada se clasifica como salida posible q^{t} del conjunto de s salidas posibles. Si (q^{t}= -1) y (q^{m} \neq - 1), la entrada se clasifica como salida posible q^{m} del conjunto de s salidas posibles. De otro modo, si ambos valores son -1, la entrada no se clasifica como ninguna de las s salidas posibles.
Sistema de entrenamiento
Una red neural se debe entrenar antes de que se pueda usar para clasificar entradas. El sistema de entrenamiento de la presente invención realiza este entrenamiento requerido generando al menos una neurona no esférica en el espacio de características k-dimensionales. El sistema de entrenamiento se implementa preferiblemente fuera de línea antes del despliegue de un sistema de clasificación.
El sistema de entrenamiento de la presente invención genera neuronas basadas en un conjunto de entradas de entrenamiento, donde cada entrada de entrenamiento es conocida por corresponder a una de las salidas posibles en el conjunto de clasificación. Continuando con el ejemplo de las letras mayúsculas usadas para describir un sistema de clasificación 300, cada entrada de entrenamiento puede ser un mapa de bits correspondiente a uno de los caracteres de "A" a "Z". Cada carácter se debe representar por al menos una entrada de entrenamiento, aunque se utilizan típicamente de 250 a 750 entradas de entrenamiento para cada carácter.
Con referencia ahora a la figura 5, se muestra un diagrama de flujo del proceso de sistema de entrenamiento 500 para generar neuronas en el espacio de características k-dimensionales que se puede usar en el sistema de clasificación 300 de la figura 3 o en el sistema de clasificación 400 de la figura 4. Por ejemplo, al entrenar para clasificación de salida, el sistema de entrenamiento 500 procesa secuencialmente un conjunto de entradas de entrenamiento de mapa de bits correspondientes a las salidas conocidas. En un punto particular del entrenamiento, habrá un conjunto de vectores de características existentes que corresponden a las entradas de entrenamiento previamente tratadas y un conjunto de neuronas existentes que se han generado a partir de los vectores de características existentes. Para cada entrada de entrenamiento, el sistema de entrenamiento 500 genera un vector de características en un espacio de características que representa información contenida en dicha entrada de entrenamiento.
El sistema de entrenamiento 500 aplica dos reglas al procesar cada entrada de entrenamiento. La primera regla de entrenamiento es que si el vector de características, correspondiente a la entrada de entrenamiento actualmente tratada, es abarcado por cualesquiera neuronas existentes que están asociadas con una salida conocida diferente, los límites de las neuronas existentes se ajustan espacialmente para excluir dicho vector de características -es decir, para garantizar que dicho vector de características no está dentro del límite de las neuronas existentes. De otro modo, las neuronas no están ajustadas espacialmente. Por ejemplo, si la entrada de entrenamiento corriente corresponde al carácter "R" y el vector de características correspondiente a dicha entrada de entrenamiento es abarcado por dos neuronas "P" existentes y una neurona "B" existente, los límites de estas tres neuronas existentes se ajustan espacialmente para garantizar que no abarquen el vector de características corriente.
La segunda regla de entrenamiento es que si el vector de características corriente no es abarcado por al menos una neurona existente que está asociada con la misma salida conocida, se crea una neurona nueva. De otro modo, no se crea ninguna neurona nueva para el vector de características corriente. Por ejemplo, si la entrada de entrenamiento corriente corresponde al carácter "W" y el vector de características correspondiente a dicha entrada de entrenamiento no es abarcado por ninguna neurona existente que está asociada con el carácter "W", se crea una neurona "W" nueva para abarcar dicho vector de características corriente. En una realización preferida, se crea una neurona nueva generando una neurona hiper-esférica temporal y ajustando después espacialmente dicha neurona temporal para crear la neurona nueva. En una realización preferida alternativa, la neurona temporal puede ser una hiper-elipse no esférica.
En una realización preferida de la presente invención, el sistema de entrenamiento 500 genera neuronas hiper-elípticas a partir de un conjunto de entradas de entrenamiento de mapa de bits correspondientes a caracteres conocidos. El sistema de entrenamiento 500 comienza sin vectores de características existentes y sin neuronas existentes. El procesado del sistema de entrenamiento 500 comienza con medios 502 que seleccionan como la entrada de entrenamiento corriente una primera entrada de entrenamiento de un conjunto de entradas de entrenamiento. Unos medios 504 generan el vector de características F que corresponde a la entrada de entrenamiento corriente.
Cuando la primera entrada de entrenamiento es la entrada de entrenamiento corriente, no hay neuronas existentes y por lo tanto no hay neuronas existentes que abarquen el vector de características F. En ese caso, el procesado del sistema de entrenamiento 500 fluye a los medios 514 que crean una neurona nueva centrada en el vector de características F. La neurona nueva se define preferiblemente por la ecuación (3), donde todos los nuevos ejes de neurona se ponen a la misma longitud, es decir, (b_{j} = \lambda) para todo j. Dado que los nuevos ejes de neurona son de la misma longitud, la neurona nueva es una hiper-esfera en el espacio de características de radio \lambda. En una realización preferida, el valor de la constante \lambda puede ser dos veces el elemento de característica más grande f_{j} de todos los vectores de características F para todo el conjunto de entradas de entrenamiento. Dado que no hay vectores de características existentes al procesar la primera entrada de entrenamiento, el sistema de entrenamiento 500 fluye después a los medios 528, punto desde el que el procesado del sistema de entrenamiento 500 se puede describir más en general.
Unos medios 528 determinan si la entrada de entrenamiento corriente es la última entrada de entrenamiento en el conjunto de entradas de entrenamiento. Sino, los medios 528 dirigen el procesado del sistema de entrenamiento 500 a los medios 530 que seleccionan la entrada de entrenamiento siguiente como la entrada de entrenamiento corriente. Unos medios 504 generan después el vector de características F correspondiente a la entrada de entrenamiento corriente.
Unos medios 506 y 508 determinan que, si las hay, las neuronas existentes han de ser ajustadas espacialmente para evitar que abarquen el vector de características F. En una realización preferida, los medios 510 ajustan una neurona existente si dicha neurona no está asociada con el mismo carácter conocido que la entrada de entrenamiento corriente (determinado por el medio 506) y si abarca el vector de características F (determinado por los medios 508). Unos medios 508 determinan si una neurona existente abarca el vector de características F calculando y verificando la medición de "distancia" r_{x} de la ecuación (4) y verificando si (r_{x} < 1) como se ha descrito anteriormente.
En una realización preferida, los medios 510 ajustan espacialmente una neurona existente encogiéndola óptimamente a lo largo de solamente un eje. En otra realización preferida, los medios 510 encogen una neurona existente proporcionalmente a lo largo de uno o varios ejes. Estos métodos de encogimiento se explican con más detalle más adelante en esta memoria descriptiva. Después del procesado por los medios 510, el vector de características corriente no es abarcado por ninguna neurona existente que esté asociada con un carácter que difiera del carácter asociado con la entrada de entrenamiento. Por lo tanto, el vector de características corriente está fuera o en los límites de tales neuronas existentes.
El sistema de entrenamiento 500 también determina si se ha de crear una neurona nueva y, si es así, crea dicha neurona nueva. Se crea una neurona nueva (por los medios 514) si el vector de características F no es abarcado por ninguna neurona existente asociada con el mismo carácter que la entrada de entrenamiento (determinado por los medios 512). Como se ha descrito anteriormente, los medios 514 crean una neurona nueva que es, preferiblemente, una hiper-esfera de radio \lambda.
El sistema de entrenamiento 500 verifica después y, si es necesario, ajusta espacialmente cada neurona nueva creada por los medios 514 para garantizar que no abarque vectores de características existentes que estén asociados con un carácter que difiera del carácter asociado con la entrada de entrenamiento. Unos medios 516, 524 y 526 controlan la secuencia de comprobar una neurona nueva contra cada uno de los vectores de características existentes seleccionando uno de los vectores de características existentes cada vez. Si una neurona nueva está asociada con un carácter diferente del vector de característica existente actualmente seleccionado (determinado por los medios 518) y si la neurona nueva abarca dicho vector de característica existente seleccionado (determinado por los medios 520 usando la ecuación (4)), los medios 524 ajustan espacialmente la neurona nueva por uno de los mismos algoritmos de encogimiento empleados por los medios 510. El sistema de entrenamiento 500 sigue verificando y ajustando una neurona nueva hasta que todos los vectores de características existentes hayan sido tratados. Dado que la neurona hiper-esférica creada por los medios 514 se ajusta por los medios 522, dicha neurona hiper-esférica es una neurona temporal con ejes de neuronas temporales de igual longitud. El procesado del sistema de entrenamiento 500 continúa después a los medios 528 para controlar la selección de la entrada de entrenamiento siguiente.
En una realización preferida, los pasos de (1) encoger neuronas existentes para una entrada dada, y (2) crear y encoger una neurona nueva creada para esa misma entrada se pueden realizar en paralelo. Los expertos en la materia entenderán que estos dos pasos también se pueden realizar secuencialmente en cualquier orden.
En una realización preferida, después de que todas las entradas de entrenamiento en el conjunto de entradas de entrenamiento han sido tratadas secuencialmente, los medios 528 dirigen el procesado del sistema de entrenamiento 500 a los medios 532. Después de procesar un conjunto de entradas de entrenamiento con sus vectores de características correspondientes, el espacio de características se puebla con vectores de características y neuronas. Después de procesar el conjunto de entradas de entrenamiento una vez, algunos vectores de características pueden no ser abarcados por neuronas. Esto se produce cuando los vectores de características, que estaban, en algún punto en el proceso de entrenamiento, abarcado por neurona(s) del mismo carácter, quedan excluidos de las neuronas cuando las neuronas se encogieron para evitar vectores de características siguientes asociados con un carácter diferente. En tal situación, los medios 532 dirigen el procesado de modo que vuelva a los medios 502 para repetir el procesado de todo el conjunto de entradas de entrenamiento. Al repetir este procesado, se retienen las neuronas previamente creadas. Repitiendo de forma iterativa este proceso de entrenamiento, se crean neuronas nuevas con cada iteración hasta que eventualmente todo y cada vector de características es abarcado por una o varias neuronas que están asociadas con la salida apropiada y ningún vector de características es abarcado por neuronas asociadas con salidas posibles diferentes. Además, se garantiza que este entrenamiento iterativo converja en un período finito de tiempo, siendo el número máximo de iteraciones igual al número total de entradas de entrenamiento.
Después de que el sistema de entrenamiento 500 completa su procesado, el espacio de características se puebla con neuronas que después pueden ser utilizadas por el sistema de caracterización 300 o el sistema de caracterización 400 para clasificar una entrada desconocida a una de una pluralidad de salidas posibles.
Encogimiento óptimo de eje único
Como se ha mencionado anteriormente, en una realización preferida, el sistema de entrenamiento 500 ajusta espacialmente el límite de una neurona hiper-elíptica para excluir un vector de característica particular por encogimiento óptimo a lo largo de un eje. Unos medios 510 y 522 del sistema de entrenamiento 500 pueden realizar este encogimiento de eje único por (1) identificando el eje a encoger, y (2) calculando la nueva longitud para dicho eje.
El sistema de entrenamiento 500 identifica el eje n a encoger por la fórmula:
3
donde la función "argmax" devuelve el valor de i que maximiza la expresión en los corchetes para cualquier i de 0 a
k-1; c_{j} y b_{j} definen el punto central y las longitudes de eje, respectivamente, de la neurona a ajustar; y f_{j} define el vector de características a excluir por dicha neurona.
El sistema de entrenamiento 500 calcula después la nueva longitud b_{n} para el eje n por la ecuación:
4
En encogimiento de eje único, todos los otros ejes retienen sus longitudes originales b_{j}.
El encogimiento de eje único de una neurona hiper-elíptica original según las ecuaciones (9) y (10) da lugar a una neurona ajustada con el mayor hiper-volumen V que cumple los cuatro criterios siguientes:
(1)
La neurona ajustada es una hiper-elipse;
(2)
El punto central de la neurona original es el mismo que el punto central de la neurona ajustada;
(3)
El vector de características a excluir está en el límite de la neurona ajustada; y
(4)
Todos los puntos dentro o en el límite de la neurona ajustada están dentro o en el límite de la neurona original.
El hiper-volumen V se define por:
5
donde C_{k} es un constante que depende del valor de k, donde k es la dimensión del espacio de características, y b_{j} son las longitudes de los ejes que definen la neurona ajustada. Por lo tanto, el encogimiento de eje único proporciona un primer método para ajustar óptimamente neuronas según la presente invención.
Algoritmo de encogimiento proporcional
En una realización preferida alternativa, el sistema de entrenamiento 500 ajusta espacialmente el límite de una neurona hiper-elíptica para excluir un vector de característica particular por encogimiento proporcional a lo largo de uno o varios ejes. Unos medios 510 y 522 del sistema de entrenamiento 500 pueden realizar encogimiento proporcional calculando el vector \DeltaB de los cambios de longitud de eje \Deltab_{j}, donde:
(12)\Delta B = -\alpha\left[\frac{|F-C|^{T}}{|F-C|}\right]\cdot(B^{T}B-[F- C]^{t}[F-C])-\Gamma,
donde:
(13)\Delta B =(\Delta b_{0}, \Delta b_{1}, ..., \Delta b_{k-1}),
(14)\frac{|F-C|^{T}}{|F-C|}= Vector \ of \ Cosines,
(15)|F-C|^{T}= (|f_{0}-c_{0}|, |f_{1}-c_{1}|, ..., |f_{k-1}-c_{k-1}|),
(16)F = (f_{0}, f_{1}, ..., f_{k-1})^{T},
6
7
8
donde |f_{0}-C_{0}| es el valor absoluto de (f_{0}-c_{0}); ||F-C|| es la magnitud de la diferencia vectorial entre F y C; c_{j} y b_{j} definen el punto central y las longitudes de eje, respectivamente, de la neurona a ajustar; f_{j} son los elementos del vector de características a excluir de dicha neurona; y \alpha y \gamma_{j} pueden ser constantes. Las nuevas longitudes de eje bj' para la neurona ajustada se calculan por:
(22)b_{j}' = b_{j} + \Delta b_{j}
para j de 0 a k-1.
En encogimiento proporcional, el sistema de entrenamiento 500 determina las proyecciones de un vector sobre los ejes de la neurona a ajustar, donde el vector apunta desde el centro de dicha neurona al vector de características a excluir. Estas proyecciones se representan por el vector de cosenos de la ecuación (14). El sistema de entrenamiento 500 determina después cuánto encoger cada eje de neurona en base a la relación entre la longitud del eje y la longitud de la proyección sobre dicho eje.
En una realización preferida, la constante \alpha en la ecuación (12) se selecciona de manera que sea inferior a 1. En este caso, el sistema de entrenamiento 500 puede realizar encogimiento iterativo, donde la neurona se ajusta lentamente en los pasos de encogimiento de ejes múltiples hasta que se determina que el vector de características a excluir está fuera de la neurona ajustada. En una realización preferida, el parámetro \gamma_{j} se puede establecer a un valor positivo que es aproximadamente 0,001 veces el tamaño del eje j para garantizar que el encogimiento proporcional pone eventualmente el vector de características fuera de la neurona. En una realización preferida alternativa, los parámetros \gammaj pueden ser funciones de error basadas en la distancia del vector de características al límite de la neurona lentamente ajustada. En tal caso, el sistema de entrenamiento 500 puede operar como un controlador integral proporcional para ajustar neuronas.
Ordenación de entradas de entrenamiento
En una realización preferida de la presente invención, el conjunto de entradas de entrenamiento, usado secuencialmente por el sistema de entrenamiento para generar neuronas, se puede ordenar según la calidad de la entrada. Las entradas de entrenamiento se puede ordenar para entrenar, con la entrada de calidad más alta antes de pasar a las de menor calidad. Esta ordenación por calidad de entradas de entrenamiento garantiza que las neuronas se centren en torno a vectores de características que corresponden a entradas de calidad más alta. Tal entrenamiento ordenado puede mejorar la eficiencia de funcionamiento de un sistema de clasificación reduciendo los números de neuronas necesarias para definir el sistema de clasificación. Tal ordenación también puede reducir los números de malas clasificaciones y no clasificaciones realizadas por el sistema de clasificación. Una mala clasificación es cuando un sistema de clasificación selecciona una salida posible cuando, en realidad, la entrada corresponde a una salida posible diferente. Una no clasificación es cuando un sistema de clasificación no logra seleccionar una de las salidas conocidas y en cambio envía un resultado de salida no seleccionada.
Con referencia ahora a las figuras 1(a), 1(b), 1(c) y 1(d), se muestran representaciones de mapa de bits de una letra nominal "O", una letra degradada "O", un número nominal "7", y una letra degradada "7", respectivamente. Una entrada nominal es una entrada ideal sin ruido asociado con ella. Una entrada degradada es una en la que el ruido ha creado desviaciones de la entrada nominal. Las entradas degradadas pueden resultar de ruido controlado o ruido real impredecible.
En una realización preferida, el sistema de entrenamiento de la presente invención puede entrenar con entradas de entrenamiento de tres niveles de calidad diferentes. El primer nivel de entradas de entrenamiento son entradas nominales como las presentadas en las figuras 1(a) y 1(c). El segundo nivel de entradas de entrenamiento son entradas de ruido controladas, un tipo de entrada degradada creada aplicando funciones de ruido definidas o señales con características diferentes, independientemente o en combinación, a entradas nominales. El tercer nivel de entradas de entrenamiento son entradas de ruido reales, un segundo tipo de entradas degradadas que, en el caso de caracteres, pueden ser imágenes adquiridas ópticamente de caracteres conocidos. Tales entradas degradadas tienen ruido real impredecible. Las figuras 1(b)y 1(d) presentan representaciones de posibles entradas de ruido controlado y entradas de ruido real. En una realización preferida, las entradas nominales tienen la mejor calidad, con las entradas de ruido controladas y las entradas de ruido real de menor calidad decreciente. Dependiendo de las funciones de ruido controlado y las señales aplicadas, una entrada particular de ruido controlado puede ser de mayor o menor calidad que una entrada de ruido real particular.
La calidad de una entrada degradada particular -de la variedad de ruido controlado o de ruido real- se puede determinar comparando la entrada degradada con una entrada nominal correspondiente al mismo carácter conocido. En una realización preferida, una medida de calidad se puede basar en el número de pixels que difieren entre las dos entradas. En otra realización preferida, la medida de calidad puede estar basada en medidas de características convencionales tal como características Grid o Hadamard.
En una realización preferida, los sistemas de entrenamiento de la presente invención entrenan primero con las entradas nominales y después con entradas degradadas de ruido controlado y de ruido real. En esta realización preferida, el entrenamiento con entradas correspondientes a las figuras 1(a) y 1(c) precedería al entrenamiento con las de las figuras 1(b)y 1(d). En otra realización preferida, el sistema de entrenamiento entrena con todas las entradas del mismo carácter conocido antes de pasar al carácter conocido siguiente, y las entradas de entrenamiento de cada carácter conocido se organizan internamente por calidad. En esta realización preferida, el entrenamiento con la figura 1(a) prosigue con el de la figura 1(b), y el entrenamiento con la figura 1(c) prosigue con el la figura 1(d). Los expertos en la materia entenderán que la secuencia general exacta de entrenar con todas las entradas es de menor importancia que la ordenación de entradas por calidad para cada carácter conocido diferente.
Refinamiento de neuronas
Después de que el sistema de entrenamiento de la presente invención ha terminado el entrenamiento, el espacio de características se puebla con neuronas que abarcan vectores de características, correspondiendo un vector de características a cada entrada de entrenamiento distinta. Cada neurona puede abarcar uno o varios vectores de características -el del centro de la neurona que se utilizó para crear la neurona y posiblemente otros vectores de características correspondientes a entradas asociadas con el mismo carácter conocido.
Dependiendo de la ordenación por calidad de las entradas de entrenamiento usadas en el entrenamiento secuencial, una neurona particular puede abarcar los vectores de características de manera más o menos eficiente. Por ejemplo, si el vector de características usado para crear una neurona particular corresponde a una entrada altamente degradada, dicho vector de características estará en el centro de dicha neurona. Esa misma neurona también puede abarcar otros vectores de características correspondientes a entradas nominales y entradas de menor degradación. Tal neurona puede no ser la neurona más eficiente para abarcar dicho conjunto de vectores de características. Un sistema de clasificación que usa tal neurona puede hacer más clasificaciones malas y no clasificaciones que otro que use una neurona más eficiente.
Un sistema de refinamiento de la presente invención ajusta espacialmente neuronas, creadas durante el entrenamiento, para crear neuronas más eficientes. Este sistema de refinamiento puede caracterizar la distribución espacial de vectores de características abarcados por una neurona particular y ajustar después espacialmente dicha neurona. Tal ajuste espacial puede implicar trasladar la neurona desde su punto central corriente hacia la media de la distribución espacial de dichos vectores de características. Después de trasladar la neurona, las longitudes de eje se pueden ajustar para garantizar que los vectores de características del mismo carácter de salida sean abarcados por la neurona y para garantizar que los vectores de características de carácter de salida diferente se excluyan.
En una realización alternativa, el sistema de refinamiento puede ajustar espacialmente dos o más neuronas del mismo carácter para crear una o varias neuronas que abarcan más eficientemente los mismos vectores de características, donde un vector de características de una neurona original puede ser abarcado por una neurona diferente más eficiente. Por ejemplo, antes del refinamiento, una primera neurona puede abarcar vectores de características F_{1}, F_{2}, y F_{3}, y una segunda neurona puede abarcar vectores de características F_{4}, F_{5}, F_{6} y F_{7}. Después del refinamiento, los vectores de características F_{1}, F_{2}, F_{3} y F_{4} pueden ser abarcados por una tercera neurona, y los vectores de características F_{5}, F_{6} y F_{7} pueden ser abarcados por una cuarta neurona, donde los centros y las longitudes de eje de las neuronas tercera y cuarta son diferentes de las de las neuronas primera y segunda.
Sistemas de clasificación con clasificadores de grupo
En una primera realización preferida de la presente invención, un sistema de clasificación clasifica las entradas en uno de un conjunto de salidas posibles comparando el vector de características, para cada entrada a clasificar, con cada neurona en el espacio de características. Tales sistemas de clasificación se presentan en las figuras 3 y 4.
Con referencia ahora a la figura 6, se muestra un sistema de clasificación 600 -una segunda realización preferida de la presente invención- en el que las entradas se clasifican en uno de un conjunto de salidas posibles usando neuronas y clasificadores de grupos. El sistema de clasificación 600 incluye el clasificador de nivel superior 602 y dos o más clasificadores de grupos 604, 606, ..., 608. El clasificador de nivel superior 602 clasifica entradas en grupos apropiados de entradas. Por ejemplo, donde el sistema de clasificación 600 clasifica caracteres, el clasificador de nivel superior 602 puede clasificar mapas de bits de entrada correspondientes a caracteres adquiridos ópticamente en grupos de caracteres.
Los caracteres agrupados juntos pueden ser los representados por mapas de bits similares, o, en otros términos, los caracteres asociados con vectores de características uno cerca de otro en el espacio de características. Por ejemplo, un primer grupo de caracteres puede corresponder a los caracteres "D", "P", "R" y "B". Un segundo grupo de caracteres puede corresponder a los caracteres "O", "C", "D", "U", y "Q". Un tercer grupo puede corresponder solamente a un carácter tal como el carácter "Z". Un carácter particular puede estar en más de un grupo de caracteres. En este ejemplo, el carácter "D" está en los grupos de caracteres primero y segundo, porque su mapas de bits son similares a los de ambos grupos.
En una realización preferida, antes del entrenamiento, los caracteres se agrupan en base a una matriz de confusión. La matriz de confusión representa la probabilidad de que un carácter se confunda con otro carácter para cada par posible de caracteres. En general, cuanto más próximos están los vectores de características de un carácter a los de otro carácter, más alta es la probabilidad de que los dos caracteres se puedan confundir. Por ejemplo, el carácter "D" puede tener una probabilidad de confusión más alta con respecto a la "O" que a "M", si los vectores de características para "D" están más próximos a los vectores de características para "O" que a los de "M".
En una realización preferida, el agrupamiento de caracteres se basa en un algoritmo convencional de agrupamiento de medios K, en el que se especifica un conjunto de plantillas para cada carácter, donde cada plantilla es un punto en el espacio de características. El algoritmo de agrupamiento de medios K determina en qué lugar en el espacio de características localizar las plantillas para un carácter particular analizando las posiciones de los vectores de características para todas las entradas de entrenamiento correspondientes a dicho carácter. Las plantillas se colocan preferiblemente cerca de los medios aritméticos de grupos de vectores de características asociados.
En una realización preferida, se puede usar cuatro plantillas para cada carácter y el número de caracteres por grupo puede ser aproximadamente igual. Por ejemplo, al clasificar los 64 caracteres correspondientes a las 26 letras mayúsculas y las 26 minúsculas, los 10 dígitos, y los símbolos "&" y "#", se puede usar 4x64 ó 256 plantillas para definir 7 grupos diferentes de números aproximadamente equivalentes de caracteres.
Agrupando caracteres, el clasificador de nivel superior 602 puede implementar un algoritmo de clasificación que determina rápidamente y con exactitud el grupo apropiado para cada entrada. En una realización preferida, el clasificador de nivel superior 602 implementa un algoritmo de clasificación a base de neurona. En otra realización preferida, el clasificador de nivel superior 602 puede realizar otros algoritmos convencionales de clasificación no neural. El clasificador de nivel superior 602 selecciona el grupo apropiado para una entrada particular y dirige el procesado de manera que continúe al clasificador de grupos apropiado 604, 606, ..., 608. Cada clasificador de grupos está asociado con un y solamente un grupo de caracteres, y viceversa.
En una realización preferida, cada clasificador de grupos puede implementar un algoritmo de clasificación único para dicho grupo de caracteres, o compartido solamente por un subconjunto del número total de grupos de caracteres. Por lo tanto, cada clasificador de grupos puede emplear neuronas que existen en un espacio de características único para dicho grupo de caracteres. Por ejemplo, el entrenamiento para el grupo de "P", "R", "B" puede emplear un conjunto particular de características Grid, mientras que el entrenamiento para el grupo de "O", "C", "D", "U", "Q" puede emplear un grupo diferente de características Hadamard. En ese caso, se realizan diferentes procedimientos de entrenamiento para cada clasificador de grupos diferente, donde solamente se utilizan entradas correspondientes a las de caracteres del grupo asociado para cada procedimiento de entrenamiento diferente.
En una tercera realización preferida de la presente invención, un sistema de clasificación según la figura 6 puede clasificar entradas en una de un conjunto de salidas posibles usando neuronas y clasificadores de grupos. En esta tercera realización, el clasificador de nivel superior 602 identifica la plantilla en el espacio de características más próximo al vector de características para la entrada corriente a clasificar. La plantilla identificada está asociada con un carácter particular que pertenece a uno o varios grupos de caracteres. El clasificador de nivel superior 602 dirige el procesado solamente a los clasificadores de grupos 604, 606, ..., 608 asociados con los grupos de caracteres de la plantilla más próxima. Dado que un carácter particular puede estar en más de un grupo de caracteres, más de un clasificador de grupos puede ser seleccionado por el clasificador de nivel superior 602 para procesado.
En una cuarta realización preferida, cada clasificador de grupos puede tener un árbol de decisión que identifica las neuronas que se deberán procesar para una entrada dada. Antes de clasificar, el espacio de vector de características para un clasificador de grupos particular se puede dividir en regiones según la distribución de vectores de características y/o neuronas en el espacio de características. Cada región contiene una o varias neuronas, cada neurona puede pertenecer a más de una región, y dos o más regiones se pueden solapar. El clasificador de nivel superior 602 puede determinar en qué región (o regiones) del espacio de características está el vector de características para la entrada corriente y puede dirigir los clasificadores de grupos seleccionados para procesar solamente las neuronas asociadas con la región (o las regiones).
Los expertos en la técnica entenderán que algunos sistemas de clasificación de la presente invención pueden usar árboles de decisión sin clasificadores de grupos, algunos pueden usar clasificadores de grupo sin árboles de decisión, algunos pueden usar ambos, y otros pueden no usar ninguno. Los expertos en la materia entenderán además que los árboles de decisión y los clasificadores de grupos pueden aumentar la eficiencia de los sistemas de clasificación de la presente invención reduciendo el tiempo de procesado.
Realizaciones preferidas y preferidas alternativas
Los expertos en la técnica entenderán que los sistemas clasificadores de la presente invención se pueden disponer en serie o paralelo. Por ejemplo, en una realización preferida, un primer clasificador de caracteres basado en características Grid se puede disponer en serie con un segundo clasificador de caracteres basado en características Hadamard. En tal caso, el primer clasificador clasifica una entrada de mapa de bits particular como uno de los caracteres conocidos o no logra clasificar dicha entrada. Si no logra clasificar, el segundo clasificador intenta clasificar dicha entrada.
En una realización alternativa, se puede disponer dos o más clasificadores diferentes en paralelo. En tal caso, se puede emplear un esquema de votación para seleccionar la salida apropiada comparando las salidas de cada clasificador diferente.
En una realización preferida, los sistemas de clasificación y los sistemas de entrenamiento de la presente invención realizan procesado en paralelo, donde cada unidad elíptica de procesado se puede ejecutar en un procesador de ordenador separado durante la clasificación, aunque los expertos en la materia entenderán que estos sistemas también pueden realizar procesado en serie. En una realización preferida, los sistemas de clasificación y los sistemas de entrenamiento pueden residir en un procesador de conjunto reducido de instrucciones (RISC) tal como un procesador SPARC 2 que funciona en una SPARCstation 2 comercializada por Sun Microsystems.
Los expertos en la técnica entenderán que se puede clasificar entradas distintas de imágenes de caracteres con los sistemas de clasificación de la presente invención. En general, cualquier entrada se puede clasificar como una de un conjunto de dos o más salidas posibles, donde un resultado de no-selección es una de las salidas posibles. Por ejemplo, los sistemas de clasificación de la presente invención se pueden usar para identificar personas en base a imágenes de sus caras, huellas digitales, o incluso los lóbulos de las orejas. Otros sistemas de clasificación de la presente invención se pueden usar para identificar personas a partir de grabaciones de sus voces.
Se entenderá además que los expertos en la materia pueden hacer varios cambios en los detalles, materiales, y disposiciones de las partes descritas e ilustradas para explicar la naturaleza de esta invención, sin apartarse del principio y alcance de la invención expresados en las reivindicaciones siguientes.

Claims (16)

1. Un método de entrenamiento para crear una neurona nueva en un espacio de características que tiene al menos una neurona existente, incluyendo los pasos de:
(a) generar un vector de características (504) representativo de una entrada de entrenamiento donde dicha entrada de entrenamiento corresponde a una de una pluralidad de salidas posibles; y
(b) si ninguna neurona existente correspondiente a dicha entrada de entrenamiento abarca dicho vector de características (512), crear dicha neurona nueva;
caracterizado porque dicha neurona nueva incluye un límite definido por dos o más ejes de neurona de longitud diferente;
dicho espacio de características incluye un vector de características existente; y
el paso (b) incluye además los pasos de:
(i) crear (514) una neurona temporal incluyendo un límite definido por dos o más ejes de neuronas temporales; y
(ii) si dicha neurona temporal abarca dicho vector de características existente (508) y dicho vector de características existente no corresponde a dicha entrada de entrenamiento (506), ajustar espacialmente dicha neurona temporal para crear dicha neurona nueva, y porque el paso (b) (ii) incluye los pasos de:
(1) seleccionar al menos uno de dichos ejes de neuronas temporales;
(2) calcular las distancias a lo largo de cada uno de dichos ejes seleccionados de neuronas temporales desde el centro de dicha neurona temporal a dicho vector de características existente; y
(3) reducir (510) dichos ejes seleccionados de neuronas temporales en cantidades proporcionales a dichas distancias y las longitudes de dichos ejes seleccionados de neuronas temporales para crear dicha neurona nueva.
2. El método de la reivindicación 1, donde el paso (b)(ii)(1) incluye el paso de seleccionar todos dichos ejes de neuronas temporales.
3. El método de la reivindicación 1, donde en el paso (b)(ii):
(1) solamente se selecciona uno de dichos ejes de neuronas temporales; y
(2) se calcula una distancia según dicho eje de neurona temporal seleccionado y dicho vector de características existente; y
(3) dicho eje de neurona temporal seleccionado se reduce dicha distancia para crear dicha neurona nueva.
4. El método de una de las reivindicaciones 1 ó 3, donde dicha entrada de entrenamiento es representativa de un carácter.
5. El método de una de las reivindicaciones 1 ó 3, donde dicha información representativa de dicha entrada incluye un vector de características.
6. El método de la reivindicación 5, donde dicho vector de características incluye un elemento de característica, donde dicho elemento de característica es un elemento de característica Grid o un elemento de característica Hadamard.
7. El método de una de las reivindicaciones 1 ó 3, donde dicha neurona es una hiperelipse o un hiperrectángulo en un espacio de características k dimensional, donde k es mayor o igual a dos.
8. un aparato de entrenamiento para crear una neurona nueva en un espacio de características que tiene al menos una neurona existente, incluyendo:
medios generadores (504) para generar un vector de características representativo de una entrada de entrenamiento, donde dicha entrada de entrenamiento corresponde a una de una pluralidad de salidas posibles; y
medios creadores (514) para crear dicha neurona nueva, si ninguna neurona existente (506) correspondiente a dicha entrada de entrenamiento abarca dicho vector de características;
caracterizado porque dicha neurona nueva incluye un límite definido por dos o más ejes de neurona de longitud diferente;
dicho espacio de características incluye un vector de características existente;
dichos medios creadores crean una neurona temporal incluyendo un límite definido por dos o más ejes de neuronas temporales; y
si dicha neurona temporal abarca dicho vector de características existente (508) y dicho vector de características existente no corresponde a dicha entrada de entrenamiento, dichos medios creadores ajustan espacialmente dicha neurona temporal para crear dicha neurona nueva; y porque dichos medios creadores
(1) seleccionan al menos uno de dichos ejes de neuronas temporales;
(2) calculan las distancias a lo largo de cada uno de dichos ejes seleccionados de neuronas temporales desde el centro de dicha neurona temporal a dicho vector de características existente; y
(3) reducir dichos ejes seleccionados de neuronas temporales en cantidades proporcionales a dichas distancias y las longitudes de dichos ejes seleccionados de neuronas temporales para crear dicha neurona nueva.
9. El aparato de la reivindicación 8, donde dichos medios creadores seleccionan todos dichos ejes de neuronas temporales para dicha reducción.
10. El aparato de la reivindicación 8, donde dichos medios creadores seleccionan solamente uno de dichos ejes de neuronas temporales, dichos medios creadores calculan una distancia según dicho eje de neurona temporal seleccionado y dicho vector de características existente, y dichos medios creadores reducen dicho eje de neurona temporal seleccionado en dicha distancia para crear dicha neurona nueva.
11. El aparato de la reivindicación 8, donde dicha entrada de entrenamiento es representativa de un carácter.
12. El aparato de la reivindicación 8, donde dicha información representativa de dicha entrada incluye un vector de características.
13. El aparato de la reivindicación 12, donde dicho vector de características incluye un elemento de característica, donde dicho elemento de característica es un elemento de característica Grid o un elemento de característica Hadamard.
14. El aparato de la reivindicación 12, donde dichos medios comparadores determinan si dicha neurona abarca dicho vector de características.
15. El aparato de la reivindicación 12, donde dichos medios comparadores determinan una medida de distancia de dicho vector de características a dicha neurona.
16. El aparato de la reivindicación 8, donde dicha neurona es una hiperelipse o un hiperrectángulo en espacio de características k dimensional, donde k es mayor o igual a dos.
ES01125305T 1992-06-19 1993-06-18 Metodo y aparato de entrenamiento para crear una nueva neurona. Expired - Lifetime ES2208511T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/901,429 US5438629A (en) 1992-06-19 1992-06-19 Method and apparatus for input classification using non-spherical neurons
US901429 1992-06-19

Publications (1)

Publication Number Publication Date
ES2208511T3 true ES2208511T3 (es) 2004-06-16

Family

ID=25414169

Family Applications (2)

Application Number Title Priority Date Filing Date
ES01125304T Expired - Lifetime ES2207584T3 (es) 1992-06-19 1993-06-18 Metodo de entrenamiento y aparato para ajustar una neurona.
ES01125305T Expired - Lifetime ES2208511T3 (es) 1992-06-19 1993-06-18 Metodo y aparato de entrenamiento para crear una nueva neurona.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES01125304T Expired - Lifetime ES2207584T3 (es) 1992-06-19 1993-06-18 Metodo de entrenamiento y aparato para ajustar una neurona.

Country Status (6)

Country Link
US (1) US5438629A (es)
EP (3) EP1197914B1 (es)
JP (1) JP2925434B2 (es)
AT (2) ATE250250T1 (es)
DE (3) DE69331867T2 (es)
ES (2) ES2207584T3 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69314293T2 (de) * 1992-12-16 1998-04-02 Koninkl Philips Electronics Nv Neuronalanlage und -Bauverfahren
DE69331518T2 (de) * 1993-02-19 2002-09-12 Ibm Neuronales Netz zum Vergleich von Merkmalen von Bildmustern
US5835901A (en) * 1994-01-25 1998-11-10 Martin Marietta Corporation Perceptive system including a neural network
US6466926B1 (en) * 1996-03-06 2002-10-15 Hewlett-Packard Company Method for optimizing a recognition dictionary to distinguish between patterns that are difficult to distinguish
US6049793A (en) * 1996-11-15 2000-04-11 Tomita; Kenichi System for building an artificial neural network
US6336109B2 (en) * 1997-04-15 2002-01-01 Cerebrus Solutions Limited Method and apparatus for inducing rules from data classifiers
US6647341B1 (en) * 1999-04-09 2003-11-11 Whitehead Institute For Biomedical Research Methods for classifying samples and ascertaining previously unknown classes
US7324926B2 (en) * 1999-04-09 2008-01-29 Whitehead Institute For Biomedical Research Methods for predicting chemosensitivity or chemoresistance
US6694301B1 (en) * 2000-03-31 2004-02-17 Microsoft Corporation Goal-oriented clustering
US7062498B2 (en) * 2001-11-02 2006-06-13 Thomson Legal Regulatory Global Ag Systems, methods, and software for classifying text from judicial opinions and other documents
KR100473598B1 (ko) * 2002-11-04 2005-03-11 삼성전자주식회사 가려진 얼굴영상을 판단하는 시스템 및 방법
MY138544A (en) 2003-06-26 2009-06-30 Neuramatix Sdn Bhd Neural networks with learning and expression capability
AR047363A1 (es) * 2003-12-31 2006-01-18 Thomson Global Resources Ag Sistemas, metodos, software e interfases para la integracion de jurisprudencia en presentaciones judiciales, escritos judiciales y/u otros documentos de apoyo a las presentaciones judiciales
CN108733003B (zh) * 2017-04-20 2020-11-13 南京理工大学 基于kmeans聚类算法的回转类零件工序工时预测方法及系统
US11657270B2 (en) 2017-09-28 2023-05-23 Agency For Science, Technology And Research Self-assessing deep representational units
CN108631817B (zh) * 2018-05-10 2020-05-19 东北大学 一种基于时频分析和径向神经网络进行跳频信号频段预测的方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5035379B1 (es) * 1970-05-25 1975-11-15
US3950733A (en) * 1974-06-06 1976-04-13 Nestor Associates Information processing system
US4044243A (en) * 1976-07-23 1977-08-23 Nestor Associates Information processing system
US4326259A (en) * 1980-03-27 1982-04-20 Nestor Associates Self organizing general pattern class separator and identifier
JPH0638276B2 (ja) * 1983-12-14 1994-05-18 株式会社日立製作所 パターン識別装置
US4599693A (en) * 1984-01-16 1986-07-08 Itt Corporation Probabilistic learning system
US5054093A (en) * 1985-09-12 1991-10-01 Cooper Leon N Parallel, multi-unit, adaptive, nonlinear pattern class separator and identifier
JPS62133589A (ja) * 1985-12-05 1987-06-16 Mitsubishi Heavy Ind Ltd パタ−ン記憶識別装置
JPH0233687A (ja) * 1988-07-22 1990-02-02 Nec Corp マルチフォント文字認識用ニューラルネットワーク学習方法
JPH0735591B2 (ja) * 1988-07-27 1995-04-19 三菱重工業株式会社 酸洗前処理装置
JPH0242392A (ja) * 1988-08-03 1990-02-13 Central Res Inst Of Electric Power Ind 原子炉容器の耐震支持構造
US5010512A (en) * 1989-01-12 1991-04-23 International Business Machines Corp. Neural network having an associative memory that learns by example
US4954963A (en) * 1989-03-02 1990-09-04 Texas Instruments Incorporated Neural network and system
JPH0738186B2 (ja) * 1989-03-13 1995-04-26 シャープ株式会社 自己拡張形ニユーラル・ネットワーク
JPH0821065B2 (ja) * 1989-03-13 1996-03-04 シャープ株式会社 文字認識装置
JP2680419B2 (ja) * 1989-05-15 1997-11-19 株式会社東芝 文字認識装置
JP2940933B2 (ja) * 1989-05-20 1999-08-25 株式会社リコー パターン認識方式
US5086479A (en) * 1989-06-30 1992-02-04 Hitachi, Ltd. Information processing system using neural network learning function
US5067164A (en) * 1989-11-30 1991-11-19 At&T Bell Laboratories Hierarchical constrained automatic learning neural network for character recognition
FR2658337A1 (fr) * 1990-02-09 1991-08-16 Philips Electronique Lab Procede d'apprentissage d'un reseau de neurones hierarchise et reseau de neurones hierarchise.
JPH07113943B2 (ja) * 1990-04-16 1995-12-06 シャープ株式会社 ニューラルネットワークの学習方法
US5245697A (en) * 1990-04-24 1993-09-14 Kabushiki Kaisha Toshiba Neural network processing apparatus for identifying an unknown image pattern as one of a plurality of instruction image patterns
US5058180A (en) * 1990-04-30 1991-10-15 National Semiconductor Corporation Neural network apparatus and method for pattern recognition
US5265192A (en) * 1990-09-20 1993-11-23 Atlantic Richfield Company Method for the automated editing of seismic traces using an adaptive network
US5181171A (en) * 1990-09-20 1993-01-19 Atlantic Richfield Company Adaptive network for automated first break picking of seismic refraction events and method of operating the same
US5214744A (en) * 1990-12-14 1993-05-25 Westinghouse Electric Corp. Method and apparatus for automatically identifying targets in sonar images
DE4100500A1 (de) * 1991-01-10 1992-07-16 Bodenseewerk Geraetetech Signalverarbeitungsanordnung zur klassifizierung von objekten aufgrund der signale von sensoren
US5214715A (en) * 1991-01-31 1993-05-25 Trustees Of Boston University Predictive self-organizing neural network
US5239594A (en) * 1991-02-12 1993-08-24 Mitsubishi Denki Kabushiki Kaisha Self-organizing pattern classification neural network system
US5260871A (en) * 1991-07-31 1993-11-09 Mayo Foundation For Medical Education And Research Method and apparatus for diagnosis of breast tumors

Also Published As

Publication number Publication date
EP0574936A3 (en) 1994-07-20
DE69331867D1 (de) 2002-06-06
DE69333215D1 (de) 2003-10-23
US5438629A (en) 1995-08-01
ATE250250T1 (de) 2003-10-15
DE69333247D1 (de) 2003-11-13
DE69333247T2 (de) 2004-08-05
EP1197913B1 (en) 2003-09-17
EP0574936A2 (en) 1993-12-22
DE69331867T2 (de) 2002-11-14
JPH06176160A (ja) 1994-06-24
ATE251781T1 (de) 2003-10-15
ES2207584T3 (es) 2004-06-01
EP1197914B1 (en) 2003-10-08
EP0574936B1 (en) 2002-05-02
EP1197914A1 (en) 2002-04-17
DE69333215T2 (de) 2004-07-01
JP2925434B2 (ja) 1999-07-28
EP1197913A1 (en) 2002-04-17

Similar Documents

Publication Publication Date Title
ES2208511T3 (es) Metodo y aparato de entrenamiento para crear una nueva neurona.
EP0944021B1 (en) Method and apparatus for training for generating and for adjusting a neuron
Stilla Map-aided structural analysis of aerial images
CN105894046A (zh) 卷积神经网络训练及图像处理的方法和系统、计算机设备
CN105930834A (zh) 基于球哈希二值编码的人脸识别方法及装置
Sevik et al. Font and Turkish letter recognition in images with deep learning
Mitrakis et al. Decision fusion of GA self-organizing neuro-fuzzy multilayered classifiers for land cover classification using textural and spectral features
Tan et al. Face recognition using the weighted fractal neighbor distance
EP1480167A1 (en) Pattern feature selection method, classification method, judgment method, program, and device
Zeng et al. Learning a wafer feature with one training sample
Durnyak et al. Applying the neuronetchic methodology to text images for their recognition
Chui et al. Capsule networks and face recognition
Zhang et al. Wasserstein generative recurrent adversarial networks for image generating
Konar et al. Fuzzy image matching based posture recognition in ballet dance
Podduturi Data augmentation for supervised learning with generative adversarial networks
Niharmine et al. Tifinagh handwritten character recognition using genetic algorithms
Webber Self-organization of symmetry networks: Transformation invariance from the spontaneous symmetry-breaking mechanism
Saradagi Evolutionary Algorithm based Encoder Decoder Network Design for Semantic Inpainting and Noise Vector Mapping in Generative Adversarial Network
Yao et al. Detection of 3D symmetry axis from fragments of a broken pottery bowl
Jóźwik Nonparametric methods of supervised classification
Voz et al. Application of suboptimal Bayesian classification to handwritten numerals recognition
Valafar et al. PNS modules for the synthesis of parallel self-organizing hierarchical neural networks
Cortijo et al. Image classification using adaptative-learning techniques. Automatic estimation of the LVQ-1 parameters
Minneman Pattern recognition employing topology, cross correlation and decision theory
Akinin et al. NEURAL NETWORK ALGORITHM OF IMPROVEMENT OF VECTOR TOPOGRAPHICAL MAPS ACCORDING TO THE DATA FROM EARTH REMOTE SENSING