Anda di halaman 1dari 9

CLASIFICACIN DE FIRMAS CORTAS UTILIZANDO EL

ALGORITMO BACKPROPAGATION PARA


ENTENAMIENTO DE REDES NEURONALES
Betania Beltrn L.
Universidad Nacional Experimental de Guayana, Puerto Ordaz, Bolvar, Venezuela.
bbelran681@e.uneg,edu.ve

Resumen neuronales multicapa, por lo que los


estudios en dicha esta rea de la
El propsito de este artculo es
inteligencia artificial estuvieron detenidos
proporcionar una explicacin del
y no se tuvo mucho inters en ella hasta el
algoritmo backpropagation, usado para el
desarrollo del algoritmo backpropagation.
entrenamiento de redes neuronales
Dicho algoritmo, se popularizo por
multicapa en numerosos problemas hoy
su gran potencial para entrenar redes
en da.
multicapa y fue presentado por Paul
Como caso de estudio para demostrar
Werbos en 1974 y reinventado por David
la utilidad del algoritmo se ha escogido el
Parker en 1982.
reconocimiento de 2 firmas cortas. Este
De manera general,
ejemplo es muy interesante ya que puede
Backpropagation, trabaja propagando el
ser desarrollado a mayor detalle para dar
estimulo de la entrada de la red desde la
solucin a problemas de identificacin de
primera capa hasta generar una salida la
falsificaciones en entidades bancarias, por
cual se compara con los resultados
ejemplo. Como herramienta de apoyo
deseados y se calcula el error para las
para realizar la simulacin se ha usado
salidas, entonces, en error se propaga
MATLAB.
hacia atrs a todas las neuronas de la capa
Palabras claves: Redes neuronales,
oculta que se conectan a la salida.
entrenamiento, reconocimiento de
Sobre el funcionamiento del
patrones, backpropagation, firmas.
algoritmo se profundizar ms adelante
en este articulo que est compuesto por
I. INTRODUCCIN
varias secciones, en las cuales se explica
Durante varios aos no se tuvo un poco de las redes neuronales, y el caso
solucin al problema de las redes de estudio planteado, el cual se basa en la
clasificacin de 2 firmas, la arquitectura III. ALGORITMO
utilizada para dar solucin al problema y BACKPROPAGATIN
los resultados obtenidos.
Cuando se utilizan redes neuronales
.
con alimentacin hacia adelante, es
II. REDES NEURONALES
necesario algn mecanismo para entrenar
FEED FORWARD
las capas ocultas, ya que las mismas no
Una red neuronal artificial pueden conocer el valor deseado para
feedforward es aquella donde las cada salida por lo que no se puede ajustar
conexiones entre las neuronas no forman el peso de las neuronas, una solucin a
un ciclo, por lo que la informacin va este problema es el algoritmo
siempre hacia adelante, es decir que son backpropagation.
diferentes de las redes neuronales
Para empezar, es necesario saber que
recurrentes. El Perceptrn multicapa
la arquitectura de una red
pertenece a esta topologa.
backpropagation est compuesta por una
unidad procesadora bsica, la cual se
caracteriza por realizar una suma
ponderada de las entradas llamada Sj,
presentar una salida aj y tener un valor j
asociado que se utilizar en el proceso de
ajuste de los pesos. El peso asociado a la
conexin desde la unidad i a la unidad j se
Estructura de una red feed feedforward
representa por wji, y es modificado
Con esta red se pretender establecer una durante el proceso de aprendizaje.[2]
correspondencia entre un conjunto de Backpropagation est basado en el
entrada y un conjunto de salidas deseadas, aprendizaje supervisado y consta de 2
de manera que la red pueda ser usada etapas principales, la propagacin hacia
como un aproximador general de adelante y la propagacin hacia atrs.
cualquier funcin. [1] a) Propagacin hacia adelante: en
esta etapa, se toman las entradas dadas en
los conjuntos de entrenamiento y se
aplican en la red. Posteriormente se Supongamos que se conoce la
calcula el nivel de salida de la primera anterior arquitectura de una red
capa, luego las dems capas realizarn la backpropagation. Entonces, para la
fase de propagacin hacia adelante que actualizacin de los pesos entre las
determina el nivel de activacin de las capas ocultas se calcula propagando
otras capas. hacia atrs desde la capa de salida,
b) Propagacin hacia atrs: repitiendo los siguientes clculos en las
se calcula el error entre la salida deseada capas ocultas [3]:
y la obtenida y contina hacia las capas
anteriores hasta llegar a la capa de
entrada.
El ajuste de los pesos puede ser Y luego:
sencillo porque a ese nivel se conoce el
valor deseado para todas las neuronas se
puede calcular el error usando por
ejemplo, regla Delta y las constantes de
aprendizaje. IV. CASO DE ESTUDIO
El mayor problema est en las capas El reconocimiento de firmas es un
ocultas ya que como se ha mencionado caso donde se puede aplicar el algoritmo
estas no conocen los valores deseados backpropagation, ya que el mismo se
de la red. puede aplicar al reconocimiento de
patrones.
En la actualidad son muchos los
procesos bancarios, legales o
profesionales donde se requiere una firma
para validar que no se realicen
falsificaciones. Para guardar los datos se
utilizan muchas veces tcnicas
cuantitativas en las cuales se puede perder
parte de las caractersticas del patrn.
Evidentemente, reconocer una firma 1 2 3 4 5 6 7 8 9 10 11 12 13 14

15 16 17 18 19 20 21 22 23 24 25 26 27 28
es un trabajo que conlleva un alto grado
29 30 31 32 33 34 35 36 37 38 39 40 41 42

de detalle, ya que muchos factores 43 44 45 46 47 48 49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64 65 66 67 68 69 70
inciden como el tamao de la firma o la
71 72 73 74 75 76 77 78 79 80 81 82 83 84

cantidad de marcas o smbolos que 85 86 87 88 89 90 91 92 93 94 95 96 97 98

99 100 101 102 103 104 105 106 107 108 109 110 111 112
contenga la misma.
113 114 115 116 117 118 119 120 121 122 123 124 125 126

Dado que lo que se busca en este 127 128 129 130 131 132 133 134 135 136 137 138 139 140

141 142 143 144 145 146 147 148 149 150 151 152 153 154
artculo es demostrar la utilidad del
155 156 157 158 159 160 161 162 163 164 165 166 167 168

algoritmo backpropagation se utilizan 2 169 170 171 172 173 174 175 176 177 178 179 180 181 182

183 184 185 186 187 188 189 190 191 192 193 194 195 196
firmas cortas de las cuales se proporciona
3 ejemplos.
La primera firma, llmese firma A, 1 2 3 4 5 6 7 8 9 10 11 12 13 14

15 16 17 18 19 20 21 22 23 24 25 26 27 28

es la siguiente: 29 30 31 32 33 34 35 36 37 38 39 40 41 42

43 44 45 46 47 48 49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64 65 66 67 68 69 70

71 72 73 74 75 76 77 78 79 80 81 82 83 84

85 86 87 88 89 90 91 92 93 94 95 96 97 98

99 100 101 102 103 104 105 106 107 108 109 110 111 112

113 114 115 116 117 118 119 120 121 122 123 124 125 126

127 128 129 130 131 132 133 134 135 136 137 138 139 140

141 142 143 144 145 146 147 148 149 150 151 152 153 154

155 156 157 158 159 160 161 162 163 164 165 166 167 168
La cual fue utilizada por Rob
169 170 171 172 173 174 175 176 177 178 179 180 181 182

Dickerson para describir cmo funciona 183 184 185 186 187 188 189 190 191 192 193 194 195 196

la aplicacin mvil Square [5].


De la primera firma se han resulto 3 1 2 3 4 5 6 7 8 9 10 11 12 13 14

ejemplos en una matriz de 14x14, el 15 16 17 18 19 20 21 22 23 24 25 26 27 28

29 30 31 32 33 34 35 36 37 38 39 40 41 42
primero bastante similar a la imagen, 43 44 45 46 47 48 49 50 51 52 53 54 55 56

luego uno ms angosto y con diferencias 57 58 59 60 61 62 63 64 65 66 67 68 69 70

71 72 73 74 75 76 77 78 79 80 81 82 83 84
en las curvas y finalmente uno ms 85 86 87 88 89 90 91 92 93 94 95 96 97 98
10 10 10 10 10 10 10 11
alargado: 99
11
0
11
1
11
2
11
103 4
11
5
11
6
12
107 108 9
12
110 1
12
112

3 4 5 6 117 8 9 0 121 122 3 124 5 126


12 12 12 13 13 13 13 13 13
7 8 9 0 131 2 3 4 135 136 7 138 9 140
14 14 14 14 14 14 14 15 15
1 2 3 4 145 6 7 8 149 150 1 152 3 154
15 15 15 15 16 16 16 16 16
5 6 7 8 159 0 1 2 163 164 5 166 7 168
16 17 17 17 17 17 17 17 18
9 0 1 2 173 4 5 6 177 178 9 180 1 182
18 18 18 18 18 18 19 19 19
3 4 5 6 187 8 9 0 191 192 3 194 5 196
A continuacin se presenta una
La segunda firma a decodificar es: firma ms abierta, con las curvas
inferiores mas cerradas y omitiendo el
punto final.

1 2 3 4 5 6 7 8 9 10 11 12 13 14

15 16 17 18 19 20 21 22 23 24 25 26 27 28

29 30 31 32 33 34 35 36 37 38 39 40 41 42

43 44 45 46 47 48 49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64 65 66 67 68 69 70
Llmese firma B, pertenece al 71 72 73 74 75 76 77 78 79 80 81 82 83 84

85 86 87 88 89 90 91 92 93 94 95 96 97 98
bloggero Nathan Barry, y fue obtenida de 10 10 10 10 10 10 10 10 10 10 11 11 11
99 0 1 2 3 4 5 6 7 8 9 0 1 2
su sitio web[4]. 11
3
11
4
11
5
11
6
11
7
11
8
11
9
12
0
12
1
12
2
12
3
12
4
12
5
12
6
12 12 12 13 13 13 13 13 13 13 13 13 13 14
De la firma B, establecer esta firma 7 8 9 0 1 2 3 4 5 6 7 8 9 0
14 14 14 14 14 14 14 14 14 15 15 15 15 15
1 2 3 4 5 6 7 8 9 0 1 2 3 4
en una matriz resulta ser un poco ms 15 15 15 15 15 16 16 16 16 16 16 16 16 16
5 6 7 8 9 0 1 2 3 4 5 6 7 8
complejo que la anterior debido a la 16
9
17
0
17
1
17
2
17
3
17
4
17
5
17
6
17
7
17
8
17
9
18
0
18
1
18
2
18 18 18 18 18 18 18 19 19 19 19 19 19 19
cantidad de curvas de la misma, por lo 3 4 5 6 7 8 9 0 1 2 3 4 5 6

que se sugiere en estudios posteriores


Como 3er ejemplo se proporciona
utilizar una matriz de mayor dimensin,
la siguiente matriz de entradas:
De cualquier forma, se han tomado como
ejemplos en esta oportunidad las 1 2 3 4 5 6 7 8 9 10 11 12 13 14

15 16 17 18 19 20 21 22 23 24 25 26 27 28
siguientes variantes que se toman como
29 30 31 32 33 34 35 36 37 38 39 40 41 42

ejemplos para el entrenamiento de la red: 43 44 45 46 47 48 49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64 65 66 67 68 69 70

1 2 3 4 5 6 7 8 9 10 11 12 13 14 71 72 73 74 75 76 77 78 79 80 81 82 83 84

15 16 17 18 19 20 21 22 23 24 25 26 27 28 85 86 87 88 89 90 91 92 93 94 95 96 97 98

29 30 31 32 33 34 35 36 37 38 39 40 41 42 99 100 101 102 103 104 105 106 107 108 109 110 111 112

43 44 45 46 47 48 49 50 51 52 53 54 55 56 113 114 115 116 117 118 119 120 121 122 123 124 125 126

57 58 59 60 61 62 63 64 65 66 67 68 69 70 127 128 129 130 131 132 133 134 135 136 137 138 139 140

71 72 73 74 75 76 77 78 79 80 81 82 83 84 141 142 143 144 145 146 147 148 149 150 151 152 153 154

85 86 87 88 89 90 91 92 93 94 95 96 97 98 155 156 157 158 159 160 161 162 163 164 165 166 167 168

99 100 101 102 103 104 105 106 107 108 109 110 111 112 169 170 171 172 173 174 175 176 177 178 179 180 181 182

113 114 115 116 117 118 119 120 121 122 123 124 125 126 183 184 185 186 187 188 189 190 191 192 193 194 195 196

127 128 129 130 131 132 133 134 135 136 137 138 139 140

141 142 143 144 145 146 147 148 149 150 151 152 153 154

155 156 157 158 159 160 161 162 163 164 165 166 167 168

169 170 171 172 173 174 175 176 177 178 179 180 181 182

183 184 185 186 187 188 189 190 191 192 193 194 195 196
V. ARQUITECTURA DE LA P=[
RED 0 0 0 0 0 0;
Dado que los ejemplos fueron 0 0 0 0 0 0;
presentados en una matriz 14x14 se .
proporcionan para la red 196 entradas, .
con una capa oculta, en la cual en primer ]
lugar se emplearon 14 neuronas, pero el Posteriormente se han definido las
no era capaz de reconocer la primera salidas:
firma, por lo que se ha aumentado a 25 T = [0 0 0 1 1 1];
neuronas en la capa oculta.
Se ha construido de esta manera dato
La salida de la red ser 1 si es la
que son 6 ejemplos, entonces si el patrn
firma A o 0 si es la firma B.
corresponde a los primeros 3 ejemplos
resultara 0, dado la forma como est
formado el vector de entradas estos
correspondieran a la firma de B. Por el
contrario resultara 1 que es la firma A.

Luego se procede a crear la red

net = newff(minmax (P),[25


1],{'logsig','logsig'},'traingd');
Arquitectura de la red
Se ha indicado que son 25 neuronas
Para la implementacin en Matlab,
en la capa oculta y se utiliza la funcin
se ha definido una matriz P de 6
logsig por lo cual los valores posibles se
columnas X 196 filas para representar las
encuentran entre 0 y 1.
entradas, cada columna representa un
ejemplo en este caso 6 porque hay 3 Una vez que se han creado las
ejemplos para los 2 patrones. Las 196 variables necesarias se procede a entrenar
filas se deben a la cantidad de entradas la red con el siguiente comando:

[net,tr]=train(net,P,T);
:
Ahora, se procede a simular la red:
round(sim(net, P)) El vector de entradas seria:
p29=[
El comando sim, sirve para simular
0;0;0;0;0;0;1;0;0;0;0;0;0;0;
la red y round para redondear los
0;0;0;0;0;1;0;1;0;0;0;0;0;0;
resultados. Si al redondear la salida se 0;0;0;0;0;1;0;0;1;0;0;0;0;0;
obtiene la salida esperada entonces la red 0;0;0;0;0;1;0;0;1;0;0;0;0;0;
ha sido correctamente entrenada. En este 0;0;0;0;0;1;0;0;1;0;0;0;0;0;
caso el vector fue el deseado: 0;0;0;0;0;1;0;0;1;0;0;0;0;0;
0;0;0;0;0;1;1;1;1;1;0;0;0;0;
0;0;0;0;1;0;0;0;1;0;0;0;0;0;
0;0;0;1;0;0;0;1;0;0;0;0;0;0;
0;0;1;0;0;0;1;0;0;0;0;0;0;0;
0;0;1;0;0;1;0;0;0;0;0;0;0;0;
0;0;1;1;1;0;0;0;0;0;0;0;0;0;
0;0;0;0;0;0;0;0;0;0;0;0;0;0;
0;0;0;0;0;0;0;0;0;0;0;0;0;0];
VI. RESULTADOS
Para verificar el correcto
La salida obtenida fue 1 como se
funcionamiento de la red, se han probado
esperaba:
varios patrones que no son idnticos a
ningn ejemplo, a continuacin se
muestra una prueba de cada patrn:
Patrn A:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 Del mismo modo con el patrn B se


15 16 17 18 19 20 21 22 23 24 25 26 27 28

29 30 31 32 33 34 35 36 37 38 39 40 41 42
han realizado las pruebas
43 44 45 46 47 48 49 50 51 52 53 54 55 56 correspondientes, como la que se muestra
57 58 59 60 61 62 63 64 65 66 67 68 69 70

71 72 73 74 75 76 77 78 79 80 81 82 83 84
a continuacin
85 86 87 88 89 90 91 92 93 94 95 96 97 98 :
99 100 101 102 103 104 105 106 107 108 109 110 111 112

113 114 115 116 117 118 119 120 121 122 123 124 125 126

127 128 129 130 131 132 133 134 135 136 137 138 139 140

141 142 143 144 145 146 147 148 149 150 151 152 153 154

155 156 157 158 159 160 161 162 163 164 165 166 167 168

169 170 171 172 173 174 175 176 177 178 179 180 181 182

183 184 185 186 187 188 189 190 191 192 193 194 195 196
1 2 3 4 5 6 7 8 9 10 11 12 13 14

15 16 17 18 19 20 21 22 23 24 25 26 27 28

29 30 31 32 33 34 35 36 37 38 39 40 41 42

43 44 45 46 47 48 49 50 51 52 53 54 55 56

57 58 59 60 61 62 63 64 65 66 67 68 69 70

71 72 73 74 75 76 77 78 79 80 81 82 83 84

85 86 87 88 89 90 91 92 93 94 95 96 97 98

99 100 101 102 103 104 105 106 107 108 109 110 111 112
VII. CONCLUSIONES
113 114 115 116 117 118 119 120 121 122 123 124 125 126

127 128 129 130 131 132 133 134 135 136 137 138 139 140
En conclusin, el algoritmo
141 142 143 144 145 146 147 148 149 150 151 152 153 backpropagation
154 ha demostrado su
155 156 157 158 159 160 161 162 163 164 165 166 167 168
utilidad y ha ganado popularidad en los
169 170 171 172 173 174 175 176 177 178 179 180 181 182

183 184 185 186 187 188 189 190 191 192 193 194 195
ltimos aos, siendo una de las tcnicas
196

ms utilizadas, el mismo se basa en 2


El vector de entrada es para esa etapas para ajustar los pesos inicialmente
prueba ha sido: en la cada de salida y propagarlo hacia las
p25=[ capas ocultas. En esta ocasin se ha
0;0;0;0;0;0;0;0;0;0;0;0;0;0;
utilizado para clasificar 2 firmas
0;0;0;0;1;1;1;0;0;0;0;0;0;0;
obteniendo resultados positivos, aunque
0;0;0;1;0;0;0;1;0;0;0;0;0;0;
este caso de estudio ha sido muy sencillo,
0;0;0;1;0;0;0;1;0;0;10;0;0;
sin duda puede explotarse para hacer
0;0;0;1;0;0;0;1;0;0;1;0;0;0;
aplicaciones de mayor utilidad basadas en
0;0;0;1;0;0;0;1;0;0;1;0;0;0;
0;0;0;1;0;0;0;1;0;0;1;0;0;0; redes neuronales artificiales.
0;0;0;1;0;0;0;1;0;0;1;0;0;0; VIII. REFERENCIAS
0;0;1;1;1;1;1;1;0;0;1;0;0;0;
[1] Acquatella P, ., S/F, back-
0;1;0;1;0;0;0;0;1;0;1;0;0;0; propagation:
1;0;0;1;0;0;0;0;1;0;1;0;0;0; un algoritmo de entrenamiento para
redes neuronales, Caracas, Venezuela
1;0;0;1;0;0;0;0;1;0;1;0;0;0;
1;0;1;0;0;0;0;0;1;0;1;0;0;0; [2] Basogain X, ., S/F, Redes neuronales
0;1;0;0;0;0;0;0;0;1;0;0;0;0 artificiales y sus aplicaciones , Bilbao,
Espaa.
];
La salida obtenida fue 0 lo cual [3] Colmenares G, ., S/F, TLU(s)
Multicapa , Disponible en:
corresponde al patrn B como se esperaba
http://webdelprofesor.ula.ve/economia/gc
olmen/programa/economia/backpropagati
on_rna.pdf. Consultado: 26-02-17
[4] Nathan Barry
http://nathanbarry.com/about/.
Consultado: 23-02-17

[5] Dickerson R, ., S/F, Smoother


Signatures , Disponible en:
https://medium.com/square-corner-
blog/smoother-signatures-
be64515adb33#.s3gi7o6oy
. Consultado: 23-02-17

[Cdigo implementado en Matlab]

Anda mungkin juga menyukai