Вы находитесь на странице: 1из 6

DETECCION DE LA ALTURA DE INTERFASE DE UNA

COLUMNA DE FLOTACION MEDIANTE UNA RED NEURONAL


ENTRENADA CON UN ALGORITMO GENTICO.
OSCAR DANIEL CHUK
Instituto de Investigaciones Mineras, Facultad de Ingenieria,
Universidad Nacional de San Juan.
Av. Libertador San Martin 1109 oeste-
5400 San Juan, Argentina.
Email. dchukunsf.edu.ar
Palabras Clave: Altura de InterIase, Flotacion, Red neuronal, Algoritmo genetico.
Resumen:
El objetivo de este trabajo es detectar la Altura de InterIase en una columna de Ilotacion por medio de
tres sensores de conductividad ubicados a alturas conocidas de la columna. La inIormacion de los sensores es
analizada por una red neuronal, y para el entrenamiento de la misma se ha utilizado un algoritmo genetico,
donde el elemento a optimizar (individuo) es un vector que contiene las ganancias asociadas a cada neurona.
La red ha Iuncionado satisIactoriamente y el algoritmo genetico, si bien mas lento que otros metodos
de ajuste de ganancia como backpropagation, muestra eIiciencia y Ilexibiliad.
1. Introduccin
La columna de Ilotacion es un dispositivo que
permite extraer de una mena el mineral valioso por
medio de la Ilotacion de particulas. Consta de un
cilindro alargado vertical lleno parcialmente de agua,
en el que se introduce aire a presion por su extremo
inIerior, Iormando asi una corriente ascendente de
burbujas; por medio de aditivos se logra que las
particulas del mineral buscado se adhieran a las
burbujas Ilotando desde esta seccion donde hay agua
denominada :ona de coleccion- hacia otra llamada
:ona de espuma.
Fig. 1: InterIase entre la zona de coleccion y la zona de
espuma en una columna de Ilotacion.
La distancia H
I
entre el tope de la columna y la
interIase se denomina Altura de InterIase o
ProIundidad de Espuma, y es un parametro
Iundamental para el control de la columna (Chuk et
al., 1998).
2. Medicin de la Altura de Interfase por perfil de
conductividad.
La medicion de la altura de interIase es un
problema complejo, precisamente por tratarse de una
Iranja mas que de una clara division de zonas(Meissl,
1996). El metodo de deteccion mas comun es la
medicion de presiones a distintas alturas de la
columna (Finch y Dobby, 1989), pero se estan
estudiando soluciones basadas en perIiles de
temperatura de la columna y tambien en la medicion
de conductividad (Meissl, 1996; Kosick y Dobby,
1990). Utilizando este ultimo concepto, las primeras
tecnicas se limitaban a detectar, de una cierta cantidad
de sensores ubicados a distintas alturas, cuantos
estaban cubiertos por espuma, procesandose seales
de tipo logico (Kitzinger et al., 1979). Mas adelante,
se ha utilizado la inIormacion continua de varios
sensores, existiendo antecedentes del uso de redes
neuronales utilizadas para este Iin (Del Villar et al.,
1994).
A diIerencia de otros intentos reportados en la
bibliograIia, en donde la conductividad es detectada
por una sonda en movimiento, se parte de la
inIormacion de tres sensores de conductividad C1, C2
y C3 ubicados a alturas Iijas, que entregan seales
normalizadas entre 0 (cuando no hay materia humeda
en el medio) hasta 1 (totalmente mojado y sin caudal
de aire), tal como lo muestra la Fig. 1. Los sensores
estan ubicados respectivamente a H1 0.75m, H2
0.5m y H3 0.25m.
Un inconveniente que tiene la medicion por
conductividad es su alta dependencia del caudal de
aire Q
a
que asciende por la columna (Bergh y
Yianatos, 1991). En la Fig.2 puede observarse la
variacion de conductividad alrededor de la zona de
interIase para cuatro caudales de aire distintos: 0.95
cm/s, 1.12 cm/s, 1.4 cm/s y 1.68 cm/s, medidos como
velocidad superIicial. Para salvar este obstaculo se
incluye la inIormacion del sensor de caudal de aire en
una cuarta variable de entrada.
Fig. 2: Variacion de la medicion de continuidad con el
caudal de aire.
3. Solucin por medio de una red neuronal
Para analizar la inIormacion de los tres sensores de
conductividad y el de caudal de aire, en lugar de
sintetizar una compleja Iuncion de cuatro variables, se
propone una red neuronal donde cada elemento se
representa siguiendo el modelo de la neurona
biologica propuesta por McCulloch y Pitts,
usualmente llamada la neurona M-P , segun se
observa en la Figura 3.
En este modelo el elemento de procesamiento
(neurona) i realiza dos Iunciones :
1. Produce una suma ponderada de todos los
elementos de entrada, siguiendo la expresion
f K x
i fi f
f
m
i
=
=

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
=

33.4890 2.8641 - 4.0055


- 10.4694 - 65.6092 - 4.5182
- 1.0910 53.3062 - 4.5213
- 20.7847 - 9.8194 - 2.3697
K
os
=

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.

Вам также может понравиться