Академический Документы
Профессиональный Документы
Культура Документы
1
6 Ec. 1
donde los K
fi
son los pesos y 6
i
es un bias o
desplazamiento. Los pesos representan la Iuerza de
una sinapsis o conexion entre la neurona f (Iuente) y
la neurona i (destinataria) ; un peso positivo
corresponde a una sinapsis excitante, mientras que un
peso negativo representa una sinapsis inhibitoria.
Fig. 3: Correspondencia entre una neurona humana y el
modelo de neurona M-P.
2. Aplica a la salida una funcion de activacion a(f)
que puede tomar distintas Iormas; por ejemplo puede
usarse una Iuncion de paso, de la Iorma
a f si f
a f en otro caso
( )
( )
= >
=
1 0
0
Este tipo de Iuncion provoca una salida solamente si
se supera cierto umbral de excitacion. Tambien es
muy comun -y es la que se ha usado en el presente
trabajo - una Iuncion mas 'suave como la funcion
sigmoide .
a f
e
f
( ) =
+
1
1
Ec. 2
que toma la Iorma mostrada en la Figura 4 para
distintos valores de i.
Fig. 4: Funcion sigmoide unipolar para distintos valores de
lambda.
La Iuncion de activacion tiene un segundo
proposito muy importante: normalizar la salida de la
neurona, ya que la sumatoria de entrada puede llegar a
entregar un valor elevado, sobre todo si existen capas
ocultas. Se puede observar que para valores de i
altos, la Iuncion sigmoide se asemeja a la Iuncion de
paso, y para valores muy bajos realiza solamente una
normalizacion.
El modelo completo de red neuronal usado se
muestra en la Figura 5.
Se trata de una red neuronal de tipo Ieed Iorward,
que consta de cuatro neuronas de entrada que recogen
la inIormacion de los sensores de conductividad y
caudal de aire, tres neuronas en su capa oculta a las
que se le agrega un bias y una neurona de salida que
entrega el valor estimado de la proIundidad de
espuma.
La Iuncion de normalizacion sigmoide se ha
aplicado solo a la salida de la capa oculta, con i0.5.
Fig. 5: Red neuronal.
A los Iines de tener una notacion matematica
simple, se incluyen todos los pesos en matrices de
peso - tambien llamadas matrices de conexion -. La
matriz de peso que incluye los pesos entre la capa de
entrada y la capa oculta es
K
Keo Keo Keo
Keo Keo Keo
Keo Keo Keo
Keo Keo Keo
eo
=
11 12 13
21 22 23
31 32 33
41 42 43
La matriz que contiene los pesos entre la capa
oculta y la capa de salida y el vector de bias son
ambos de dimension 3 x 1:
K
Kos
Kos
Kos
os
=
1
2
3
bias
b
b
b
=
1
2
3
Para calcular la salida de la red neuronal se ha
escrito una simple Iuncion en MATLAB denominada
reurel.r, que se ejecuta en el espacio de trabajo como
[Y| = reurel(Keo,Kos,o|as,E)
donde Keo y Kos son las matrices de peso entrada -
oculta y oculta salida, y E es un vector de entrada.
4. Entrenamiento de la red neuronal con un
algoritmo gentico.
Entre los distintos metodos de aprendizaje
parametrico de una red neuronal se ha utilizado en
este caso un algoritmo genetico (Meech, 1998,
Holland, 1992, Lin y Lee,1996), que si bien tarda
mucho mas en lograr la convergencia que otros
algoritmos especiIicos de las redes neuronales como
backpropagation, presenta una gran Ilexibilidad.
4.1 Algoritmo genetico
La Iuncion principal que ejecuta el algoritmo
genetico tiene por nombre ger_r|r.r , y su linea de
llamado es
[xopl,slals,opl|ors,oesll,lger,|ger| =
ger_r|r(lur,x0,opl|ors,v|o,vuo,o|ls,P1,P2,P3,P1,
P5,P,PZP,P8,P9,P10)
Esta Iuncion usa el concepto de un algoritmo
genetico simple para encontrar el minimo de una
Iuncion de costo fun (usualmente un archivo M:
Iun.m). El usuario puede deIinir toda o una parte de
una poblacion inicial xo, o como se hace usualmente
- usar un argumento vacio |], en cuyo caso la
poblacion inicial es elegida aleatoriamente entre los
limites inIerior y superior vlb y vub.
El vector options permite deIinir parametros del
algoritmo como el tamao de la poblacion, la
probabilidad de mutacion y el maximo numero de
generaciones producidas. Algunos de los elementos de
este vector no son usados, y el signiIicado general
proviene del vector foptions usado por MATLAB para
algoritmos de optimizacion.
El algoritmo base usa un tamao de poblacion
Iijo, options(11). Las tres operaciones geneticas
basicas: reproduccion, cru:amiento y mutacion se
eIectuan en la procreacion, llamando a las respectivas
Iunciones repro1.r, rale.r y xover.r y rulale.r.
La probabilidad de que un individuo de la
poblacion se reproduzca es mayor cuanto menor es su
Iuncion de ajuste. Los individuos elegidos para
reproducirse son cruzados al azar. La probabilidad de
cruzamiento es Pc options(12) y el indice de
cruzamiento es tambien elegido al azar. La
probabilidad de mutacion es Pm options(13). Las
opciones por deIecto son options(11.13) |30 1 0], y
el maximo numero de generaciones por deIecto es
options(14) 100.
La Iuncion permite pasar hasta diez argumentos,
P1, P2, ... , P10 a la Iuncion de ajuste fun : l =
lur(x,P1,P2, ...).
4.2 Uso del algoritmo genetico para el entrenamiento
de la red.
Entrenar la red signiIica encontrar los pesos
optimos que hacen que la red responda correctamente
sometida en sus entradas a datos conocidos de
entrenamiento. En la Tabla 1 puede observarse un
conjunto de datos conocidos de conductividad y
caudal de gas con su respectiva altura de interIase que
han sido usados para el aprendizaje de la red.
4.2.1 Funcion de costo
La clave para que el algoritmo genetico pueda
encontrar los pesos optimos es proveerle una Iuncion
de costo que le permita medir cuan bueno es un cierto
individuo de una determinada generacion.
Este elemento, que es llamado individuo desde el
punto de vista del algoritmo genetico, es un vector Iila
K de 18 elementos de la Iorma
K = [Keo(1,1) Keo(1,2) Keo(1,3) Keo(2,1) Keo(2,2) Keo(2,3)
... Keo(3,1) Keo(3,2) Keo(3,3) Keo(1,1) Keo(1,2) Keo(1,3) ...
Kos(1) Kos(2) Kos(3) o|as(1) o|as(2) o|as(3)|
que contiene la inIormacion de las matrices de peso
K
eo
,K
os
y bias que se desea optimizar, y los datos de
aprendizaje estan incluidos en una matriz A que en sus
cuatro primeras Iilas contiene los datos de entrada y
en la ultima la salida.
Tao|a 1 : 0alos de erlrerar|erlo de |a red
Dato N C1 C2 C3 Qa[cm/s] Hf(medida)
1 0.5 0 0 0 0.9
2 0.44 0 0 0.95 0.95
3 0.34 0 0 1.1 0.9
4 0.3 0 0 1.7 0.9
5 0.7 0.2 0 0 0.8
6 0.59 0.17 0 0.95 0.8
7 0.48 0.14 0 1.1 0.78
8 0.4 0.12 0 1.7 0.8
9 1 0.5 0 0 0.7
10 0.83 0.425 0 0.95 0.72
11 0.68 0.35 0 1.1 0.7
12 0.6 0.3 0 1.7 0.7
13 1 0.7 0.3 0 0.55
14 0.84 0.59 0.255 0.95 0.55
15 0.67 0.5 0.21 1.1 0.55
16 0.58 0.42 0.18 1.7 0.57
17 1 1 0.45 0 0.4
18 0.82 0.85 0.383 0.95 0.38
19 0.65 0.7 0.315 1.1 0.4
20 0.58 0.6 0.27 1.7 0.4
21 1 1 0.7 0 0.3
22 0.82 0.83 0.595 0.95 0.3
23 0.65 0.7 0.49 1.1 0.3
24 0.57 0.6 0.42 1.7 0.3
25 1 1 1 0 0.2
26 0.8 0.82 0.85 0.95 0.2
27 0.65 0.65 0.7 1.1 0.2
28 0.53 0.56 0.6 1.7 0.2
La Iorma de evaluacion que ejecuta la Iuncion
diseada, que ha recibido el nombre de lurco|u.r, es,
valiendose del vector de parametros propuesto K,
calcular la salida de la red Y
K
con cada uno de los
napr para el caso, 28- datos de entrenamiento, y
luego calcular una distancia cuadratica respecto de los
valores correctos de salida (valores de aprendizaje)
Y
apr
que deberian obtenerse. Esa distancia es la
evaluacion que entrega la Iuncion de ese individuo en
particular, y sera mejor cuanto menor sea ese valor.
Asi, la Iuncion de evaluacion de un cierto individuo K
es
f Y f Y f
K K apr
f
napr
=
=
( ( ) ( ))
1
2
Ec. 3
4.3 Busqueda orientada con el algoritmo genetico
La ejecucion del algoritmo genetico con 150
generaciones entrega un vector de parametros de peso
con un valor de la Iuncion de ajuste fun que esta en el
orden de un digito.
Para mejorar este valor de ajuste se recurre a un
algoritmo de busqueda orientada que, a partir de un
primer valor obtenido en un ciclo de n generaciones -
con n grande y tambien una alta probabilidad de
mutacion para que el algoritmo haga una primera
exploracion extensiva del universo de discurso- , se
repite el algoritmo genetico una cierta cantidad de
ciclos adicionales -tipicamente entre 50 y 100- , cada
uno con menos generaciones y con la particularidad
de que en cada nuevo ciclo se especializa la busqueda
con dos tecnicas :
a. Reduciendo el rango inicial de busqueda (vlb vub)
alrededor del valor optimo obtenido en el ciclo.
b. Disminuyendo la probabilidad de mutacion, para
permitir que el algoritmo especialice cada vez mas
la busqueda alrededor de un valor que considera
cada vez mejor.
Con este criterio se han obtenido soluciones
optimas con Iuncion de costo en el orden de 0.5 10
-1
.
En la Figura 6 se muestra la convergencia del
algoritmo partiendo con una probabilidad de mutacion
del 60% .
5. Resultados
Debe notarse que por la componente aleatoria que
tiene el algoritmo, cada vez que se ejecuta el mismo se
obtienen vectores de pesos distintos, cada uno optimo
en la medida de la Iuncion Iun; de hecho, ensayando
repetidas veces el algoritmo se puede observar que no
hay un minimo absoluto de la Iuncion de ajuste sino
una variedad de los mismos, al menos para la Iuncion
de costo propuesta.
En calidad de ejemplo, se muestran los resultados
relacionados con la curva de convergencia mostrada
en la Figura 6, que dio un valor Iinal de la Iuncion de
ajuste 0.081.
Las matrices de peso obtenidas son
K
eo
=
58 439
6 37
0 91
.
.
.
;
bias =
46176
2559
9 77
.
.
.
Figura 6: Convergencia en 80 iteraciones del algoritmo
genetico.
La salida de la red comparada con los datos de
entrenamiento se muestran en la Tabla 2, y
graIicamente en la Figura 7.
Tao|a 2 : 3a||da de |a red corparada cor |os dalos de
erlrerar|erlo.
Dato N Hf(medida) Red
1 0.9 0.893
2 0.95 0.863
3 0.9 0.864
4 0.9 0.826
5 0.8 0.869
6 0.8 0.82
7 0.78 0.828
8 0.8 0.782
9 0.7 0.784
10 0.72 0.69
11 0.7 0.735
12 0.7 0.665
13 0.55 0.595
14 0.55 0.494
15 0.55 0.596
16 0.57 0.536
17 0.4 0.368
18 0.38 0.309
19 0.4 0.453
20 0.4 0.398
21 0.3 0.253
22 0.3 0.227
23 0.3 0.364
24 0.3 0.328
25 0.2 0.149
26 0.2 0.151
27 0.2 0.288
28 0.2 0.28
El error absoluto promedio con medicion del caudal
de aire es 4.88 cm, lo que esta dentro de lo habitual (5
cm) y es relativamente pequeo para una columna de
varios metros de altura.
Fig. 7: Comparacion entre los datos de entrenamiento
(asterisco) y la salida de la red (triangulo).
Debe hacerse notar que se han obtenido Iunciones
de ajuste mucho mas pequeas, del orden de 1e-3,
cuando el caudal de aire es constante, lo que hace
pensar en utilizar, como alternativa, una red cuyas
entradas sean solamente las medidas de
conductividad, y corregir la salida por caudal de aire
con una Iuncion no lineal.
La red ha sido probada con un conjunto de datos
no utilizados en el entrenamiento, produciendo un
error del mismo orden del citado arriba.
6. Conclusiones
Si bien no se conocen todavia aplicaciones en
escala industrial, los resultados obtenidos y un
creciente interes por esta tecnologia en diversos
centros de investigacion hacen prever su proxima
incorporacion.
El algoritmo genetico como metodo de
entrenamiento de la red presenta, con respecto a
metodos tradicionales, la ventaja de analizar todo el
rango posible de valores con una componente
aleatoria, evitando asi la posibilidad de caer en
minimos locales. Admite asimismo una gran
Ilexibilidad, ya que permite introducir con Iacilidad
dentro de la parametros a ajustar algunos que
normalmente se tratan como Iijos, como el parametro
i de la Iuncion sigmoide. Como contrapartida, tiene
un tiempo de calculo mayor que otros metodos,
aunque esto no es en si un problema ya que se trata de
un procedimiento Iuera de linea. Una buena
alternativa puede ser utilizar el algoritmo genetico
para encontrar la zona en la que se encuentra el
minimo que se esta buscando y luego conmutar a un
algoritmo backpropagation, que por su naturaleza se
acercara al optimo con rapidez.
En cuanto a los inconvenientes practicos
observados, existen problemas operativos debidos a
suciedad sobre los electrodos, requiriendo por lo tanto
un mantenimiento adecuado.
Comparandolo con el sistema de medicion
tradicional por diIerencia de presiones, la medicion
por conductividad no requiere, como el primero, de
una calibracion habitual de los sensores. Si se ve
como prudente, una veriIicacion periodica de los
datos de aprendizaje utilizados.
Referencias
Bergh, Luis G., Yianatos, Juan. B. 'Alternativas de control
de columnas de Ilotacion. Column Flotation91 SME
Annual Meeting 549-568 (1991).
Chuk, O. Daniel, Ciribeni, V., Gutierrez, L., Vallecillo, A.
'IdentiIicacion del modelo de una columna de Ilotacion
de laboratorio.` J Jornadas Argentinas de Tratamiento
de Minerales. 161 165 (1980).
Del Villar, R., Perez, R., Gomez, P. O., Finch, J. A. 'Use oI
a neural network algorithm Ior level sensing in Ilotation
columns IJ Meeting of the Southern Hemisphere on
Mineral Technologv 85-99 (1994).
Finch, J. A., Dobby, G.S. 'Column Flotation. Pergamon
Press. Londres. (1989).
Holland, J. 'Genetic Algorithms ScientiIic American, july
1992.
Kitzinger, F, Rosenblum, F., Spira, P. 'Continuos
monitoring and control oI Iroth level and pulp density
Mining Engineering, 390-394 (Abril 1979).
Kosick, G. A. and Dobby, G. S. 'Advanced control Ior
column Ilotation. Canadian Mineral Processors
Annual Operators Conference. Onatrio, Canada
(1990).
Lin, Chin-Teng ; George Lee, C.S. : 'Neural Fuzzy
Systems Prentice Hall, 1996.
Meech, John : Apuntes del curso 'Supervision experta de
Plantas de Procesamiento de Minerales, Universidad
de Chile, 1998.
Meissl, Roberto 'Apuntes de curso de posgrado sobre
columnas de Ilotacion. Facultad de Ingenieria UNSJ.
(1996).
Whitley, D. 'A Genetic Algorithm Tutorial. Departament
oI Computer Science, Colorado State University, 1993.