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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19107—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification 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
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.
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).
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.
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.
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.
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:
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:
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:
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.
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.
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:
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.
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:
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:
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.
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},
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.
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.
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.
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.
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.
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)
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)
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 |
-
1992
- 1992-06-19 US US07/901,429 patent/US5438629A/en not_active Expired - Lifetime
-
1993
- 1993-06-18 AT AT01125304T patent/ATE250250T1/de not_active IP Right Cessation
- 1993-06-18 DE DE69331867T patent/DE69331867T2/de not_active Expired - Lifetime
- 1993-06-18 DE DE69333247T patent/DE69333247T2/de not_active Expired - Lifetime
- 1993-06-18 EP EP01125305A patent/EP1197914B1/en not_active Expired - Lifetime
- 1993-06-18 EP EP93109762A patent/EP0574936B1/en not_active Expired - Lifetime
- 1993-06-18 ES ES01125304T patent/ES2207584T3/es not_active Expired - Lifetime
- 1993-06-18 AT AT01125305T patent/ATE251781T1/de not_active IP Right Cessation
- 1993-06-18 DE DE69333215T patent/DE69333215T2/de not_active Expired - Lifetime
- 1993-06-18 EP EP01125304A patent/EP1197913B1/en not_active Expired - Lifetime
- 1993-06-18 ES ES01125305T patent/ES2208511T3/es not_active Expired - Lifetime
- 1993-06-21 JP JP5174751A patent/JP2925434B2/ja not_active Expired - Fee Related
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 |