Universidad de Guadalajara Programa Académico de...

152
Universidad de Guadalajara Programa Académico de Posgrado Predicción de la actividad enzimática en tiempo real usando redes neuronales TESIS PARA OBTENER EL GRADO DE DOCTOR EN CIENCIAS EN TECNOLOGÍAS DE INFORMACIÓN Presenta: M. EN C. LUIS FRANCISCO BARBOSA SANTILLÁN Director: Dra. Liliana Ibeth Barbosa Santillán Co-Director: Dra. María de los Angeles Calixto Romo Guadalajara, Jalisco, México, Diciembre 2018.

Transcript of Universidad de Guadalajara Programa Académico de...

Page 1: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Universidad de Guadalajara

Programa Académico de Posgrado

Predicción de la actividad enzimática en tiempo

real usando redes neuronales

TESIS PARA OBTENER EL GRADO DE DOCTOR EN

CIENCIAS EN TECNOLOGÍAS DE INFORMACIÓN

Presenta:

M. EN C. LUIS FRANCISCO BARBOSA SANTILLÁN

Director: Dra. Liliana Ibeth Barbosa SantillánCo-Director: Dra. María de los Angeles Calixto Romo

Guadalajara, Jalisco, México, Diciembre 2018.

Page 2: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

El presente trabajo fue realizado en el Centro Universitario de Ciencias

Económico-Administrativas de la Universidad de Guadalajara, ubicada en Periférico Norte

Número 799, Núcleo Universitario Los Belenes, Zapopan, Jalisco, México. // CP 45100.

Apoyo del CONACYT, Beca No. 49306, Programa de Doctorado perteneciente al Programa

Nacional de Posgrados de Calidad (PNPC-CONACYT)

Page 3: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Universidad de Guadalajara

Predicción de la actividad enzimática en tiempo real

usando redes neuronales

Tesis realizada por:

M. EN C. LUIS FRANCISCO BARBOSA SANTILLÁN

Aprobada el 14 diciembre, 2018.

Profesor (Firma)

Dra. Liliana Ibeth Barbosa Santillán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dra. María de los Angeles Calixto Romo .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dra. Lorena Amaya Delgado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dra. María Elena Meda Campana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dr. Cuauhtémoc López Martín . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Guadalajara, Jalisco, México, Diciembre 2018.

Page 4: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada
Page 5: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Universidad de Guadalajara

Copyright c� – All rights reserved. Universidad de Guadalajara, 2018.

Copyright statement

(Firma)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .M. en C. Luis FranciscoBarbosa Santillán

Page 6: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

6

Page 7: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

ResumenResumen

Un método común utilizado para la detección masiva de microorganismos celulolíticosse basa en la formación de halos en un medio sólido. Sin embargo, este es un método sub-jetivo y el monitoreo en tiempo real no es posible. El objetivo de este trabajo fue desarrollarun método de análisis computacional de los patrones visuales creados por la actividadcelulolítica a través de la descripción de redes neuronales artificiales. El método aprendemediante un modelo de predicción adaptativa y determina automáticamente cuándo ocu-rre la actividad enzimática en un indicador cromogénico como el halo de hidrólisis. Paralograr este objetivo, se generó una biblioteca de datos con lecturas de absorbancia y valo-res RGB de hidrólisis enzimática, obtenidos por espectrofotometría y un equipo prototipobasado en cámara de video (Enzyme Vision), respectivamente. Se uso la primera parte dela biblioteca para generar un modelo de regresión lineal, que fue capaz de predecir lasabsorbancias teóricas utilizando los patrones de color RGB, que coincidieron con los valo-res obtenidos por espectrofotometría. La segunda parte se utilizó para entrenar, validar yprobar el modelo de red neuronal para predecir la actividad celulolítica basada en patro-nes de color. Como resultado del modelo, se establecieron seis nuevos descriptores útilespara la predicción de la actividad enzimática en tiempo real. El modelo fue evaluado sobrehalos de microorganismos celulolíticos, logrando la clasificación regional del halo. Final-mente, como el modelo fue implementado en un microprocesador FPGA paralelo diseñadoa la medida y dado que se logro una aceleración suficiente para capturar y analizar las 24imágenes por segundo, generadas durante una agravación en vídeo de la evolución de laactividad enzimática, se concluye que este enfoque puede ser una alternativa viable paralos ensayos masivos que se presentan en pruebas del tipo High-Throughput Screening(HTS).

7

Page 8: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Resumen

Keywords

Aprendizaje de maquina, redes neuronales, análisis de imágenes, actividad enzimáti-ca, predicción.

8

Page 9: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

AgradecimientosAgradecimientos

A mi Directora de Tesis Dra. Liliana Ibeth Barbosa, por su orientación dedicación yapoyo.

Al Centro Universitario de Ciencias Económico Administrativas (CUCEA) pertenecien-te a la Universidad de Guadalajara, y al CONACYT, por el solorte en infraestructura yrecursos otorgados.

Al Dr. Antonio Pareja Lora de la Universidad Complutense de Madrid, por darme laoportunidad de conocer personalmente la manera en que se trabaja en su universidad,al facilitarme un lugar en ella y brindarme de todo el apoyo que necesite estando ahí. Sinduda, sus consejos y asesorías fueron muy importantes en la realización del trabajo detesis.

A la Dra. Lorena Amaya Delgado por facilitar sus laboratorios para realizar experi-mentos. A los Doctores Maria Elena Meda Campana y Cuauhtémoc López Martín por suconstante estímulo y enseñanza.

Y finalmente quiero agradecer a mi esposa, por toda la paciencia, apoyo y cariño queme demuestra continuamente en cada uno de mis proyectos.

M. en C. Luis Francisco Barbosa Santillán

9

Page 10: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Agradecimientos

10

Page 11: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

ContenidoContenido

Abstract 7

Agradecimientos 9

I Planteamiento del problema de investigación 19

1. Introducción 21

1.1. Pregunta de investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.2.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.2.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.3. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.4. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2. Marco Teórico 23

2.1. Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2. Redes neuronales artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.2.1. Métodos de evaluación tipo Validación cruzada de modelos neuronales 272.3. Visión por computadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.4. Opciones de procesamiento paralelo . . . . . . . . . . . . . . . . . . . . . . 35

2.4.1. Field programmable gate array (FPGAs) . . . . . . . . . . . . . . . . . 352.4.2. Unidades paralelas de procesamiento gráfico (GPU) . . . . . . . . . . 38

2.5. Revisión de la Literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.5.2. Revisión de artículos . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.5.3. Revisión de patentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje

supervisado 45

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.2. Adquisición y limpieza de datos . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.2.1. Dataset de n periodos con m placas de elisa . . . . . . . . . . . . . . 473.2.2. Adquisición de enzimas digitalizadas . . . . . . . . . . . . . . . . . . 473.2.3. Calibración del offset . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2.4. Compensación de la distribución irregular de la luz . . . . . . . . . . 493.2.5. Segmentación de la degradación cromática . . . . . . . . . . . . . . . 503.2.6. Cálculo de cromaticidad . . . . . . . . . . . . . . . . . . . . . . . . . 523.2.7. Base de conocimiento de cromaticidad . . . . . . . . . . . . . . . . . 52

3.3. Construcción de descriptores de enzimas . . . . . . . . . . . . . . . . . . . 533.3.1. Extracción de anomalías . . . . . . . . . . . . . . . . . . . . . . . . . 533.3.2. Agrupación con el algoritmo de KMeans . . . . . . . . . . . . . . . . 53

11

Page 12: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

CONTENIDO

3.4. Entrenamiento del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.5. Predicción de Actividad enzimática en tiempo real . . . . . . . . . . . . . . 62

4. Experimentos 77

4.1. Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.1.1. Construcción de descriptores de Enzimas . . . . . . . . . . . . . . . 774.1.2. Entrenamiento del modelo . . . . . . . . . . . . . . . . . . . . . . . 834.1.3. Pruebas para evaluar el comportamiento funcional y temporal de la

red neuronal implementada en FPGA . . . . . . . . . . . . . . . . . . 86

5. Resultados 95

5.1. Validación de los patrones cromáticos del modelo . . . . . . . . . . . . . . . 985.2. Reporte de la eficiencia de clasificación de la red neuronal . . . . . . . . . . 1025.3. Estadísticas del desempeño en GPU . . . . . . . . . . . . . . . . . . . . . . 1045.4. Caso de estudio: Predicción de la actividad enzimática de microorganismos

con presencia de halos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.4.1. Adquisición y limpieza de datos . . . . . . . . . . . . . . . . . . . . . 1115.4.2. Construcción de descriptores de Enzimas . . . . . . . . . . . . . . . 1125.4.3. Entrenamiento del modelo . . . . . . . . . . . . . . . . . . . . . . . . 1135.4.4. Predicción de la actividad enzimática en tiempo real . . . . . . . . . . 113

6. Conclusiones 117

6.1. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.2. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Bibliografía 128

Appendices 129

12

Page 13: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Lista de FigurasLista de Figuras

2.1. Proceso de aprendizaje automático [7] . . . . . . . . . . . . . . . . . . . . . 25

2.2. Estructura general de una red neuronal artificial . . . . . . . . . . . . . . 26

2.3. Representación matemática de una imagen. a) Representación visual mo-nocromática b) Representación en función de su intensidad luminosa c)Ejemplo de la representación para una imagen monocromática d) Ejemplode la representación para imagen a color . . . . . . . . . . . . . . . . . . . 29

2.4. Componentes de un sistema de visión por computadora. . . . . . . . . . . 30

2.5. Proceso de generación de patrones con una DNN. . . . . . . . . . . . . . . 34

2.6. Arreglo de compuertas And, OR y Not, junto con sus canales de intercone-xión reconfigurable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1. Diagrama de flujo que muestra las etapas de adquisición-limpieza de datosy construcción de descriptores de enzimas. . . . . . . . . . . . . . . . . . . 46

3.2. Prototipo Enzime-Vision. A: Cámara; B: Domo de aislamiento de luz exterior;C: Tranluminador; D: Fuente de luz circular; E: Charola porta placas; F:Ducto para conexión con el sistema de procesamiento de datos en tiemporeal; G: Guías para fijar la posición de la placa. . . . . . . . . . . . . . . . 48

3.3. Diagrama a bloques de los dos preprocesos que se ocupan para eliminar elruido de la imagen. a) ruido proveniente del instrumento b) ruido asociadoa la fuente de iluminación. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4. Diagrama que muestra los pasos realizados durante el proceso de segmen-tación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.5. Porcentajes típicos asignados en la distribución de los datos sobre cada unode los grupos de entrenamiento, validación y prueba. . . . . . . . . . . . . 52

3.6. Proceso de entrenamiento y selección de la arquitectura neuronal optima. . 55

3.7. Función de activación sigmoidea. La función se mantiene asintóticamentecercana a cero para valores inferiores a -6 y a uno para valores superiores a 6 57

3.8. Modelo neuronal tipo perceptron multicapa totalmente conectado. Tres neu-ronas en la capa de entrada, doce en la oculta y seis en la de salida. . . . . 60

3.9. Diagrama que muestra la descripción funcional de la arquitectura en hard-ware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.10. Diagrama RTL del producto escalar realizado en el primer elemento proce-sador del módulo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.11. Diagrama RTL del producto vectorial realizado por seis elementos procesa-dores pertenecientes al módulo 1 . . . . . . . . . . . . . . . . . . . . . . . 64

3.12. Diagrama RTL de la etapa para la selección de la neurona ganadora . . . . 67

3.13. Estructura Mealy. Las señales de salida dependen tanto del estado en quese encuentra el sistema, como de la entrada que se aplica en determinadomomento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.14. Control de la arquitectura coordinado con una máquina de estados. . . . . 68

13

Page 14: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

LISTA DE FIGURAS

3.15. Diagrama del algoritmo secuencial que emula el funcionamiento de la redneuronal 3-12-6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3.16. Diagrama paralelo que emula el funcionamiento de la red neuronal 3-12-6. 74

4.1. a) Histograma patrón 1, µ = 167,32; Σ = 11,84; b) Histograma patrón 2,µ = 12,41; Σ = 6,29; c) Histograma patrón 3, µ = 22,69; Σ = 9,35 . . . . . . 77

4.2. Valores de la densidad probabilística de cada ejemplo (grupo 1). . . . . . . 79

4.3. Zonas de densidad probalilística del periodo 6. . . . . . . . . . . . . . . . . 79

4.4. Valores de la densidad probabilística para cada ejemplo de 4 grupos in-dicando su valor épsilon correspondiente a) ϸ = 7,090153e − 04 b) ϸ =

0,000721362127485656 c) ϸ = 0,000367675927979642 d) ϸ = 0,000875024921869681. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.5. Evolución de la agrupación del dataset. El eje vertical representa la croma-ticidad roja y el eje horizontal la cromaticidad azul, la cromaticidad verdeno se muestra. a) división del dataset usando tres semillas. b) división deldataset usando cuatro semillas. . . . . . . . . . . . . . . . . . . . . . . . . 81

4.6. Evolución del dataset repartido en cinco (a) y seis (b) clusters. Los centroidesse representan por cruces y su evolución se muestra con líneas. . . . . . . 81

4.7. Evolución del dataset repartido en siete (a) y ocho (b) clusters. Los centroidesse representan por cruces y su evolución se muestra con líneas. . . . . . . 82

4.8. Método del codo para selección del número de clusters. La flecha verdeindica el punto de inflexión de la curva, el cual se asocia al número declusters óptimo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.9. Evolución del dataset sobre el centroide para una (a), dos (b) y tres (c)iteracciones. El trayecto que sigue cada centroide de grupo se indica conuna línea continua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

4.10. Arquitectura con una capa oculta con el mejor desempeño (89.8 por cientode exactitud). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.11. Arquitectura con dos capas ocultas (accuracy alcanzado del 87 por ciento) 86

4.12. Arquitectura con tres capas ocultas (accuracy alcanzado del 83 por ciento). 86

4.13. Simulación funcional de los bloques que conforman una neurona en lacapa oculta. a) Dependiendo del resultado del producto punto calculado enla neurona se genera una dirección de memoria (dir_oc1) en este caso ladirección es 12. b) Al extraer el contenido de ésta dirección (12) en la lut, seobtiene el valor de la función sigmoide aproximado (993). c) diagrama RTLde los bloques con sus respectivas señales, para cálculo de la activación dela neurona número 1 de la capa oculta. . . . . . . . . . . . . . . . . . . . . 89

4.14. Implementación sobre FPGA del producto escalar y ruta crítica marcada enazul, para el calculo del periodo. . . . . . . . . . . . . . . . . . . . . . . . . 91

4.15. Numero de ciclos de reloj necesarios para clasificar un patrón. . . . . . . . 93

5.1. Gráfico de degradacion de tonalidades RC. . . . . . . . . . . . . . . . . . . 99

5.2. Relación entre el dato medido y el obtenido matemáticamente. . . . . . . . 101

14

Page 15: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

LISTA DE FIGURAS

5.3. Residuos inusuales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.4. Utilización de la unidad de funcional. . . . . . . . . . . . . . . . . . . . . . 1045.5. Instrucciones ejecutadas por el kernel. . . . . . . . . . . . . . . . . . . . . 1055.6. Porcentaje de operaciones de coma flotante ejecutadas por el kernel. . . . . 1055.7. Ocupación de SM, warps, registros y memoria compartida. . . . . . . . . . 1065.8. Utilización del multiprocesador. . . . . . . . . . . . . . . . . . . . . . . . . 1065.9. Fallas que impiden la ejecución de los warps. . . . . . . . . . . . . . . . . 1075.10. Memorias del núcleo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085.11. Utilizacion de memoria y computo sobre el Kernel. . . . . . . . . . . . . . . 1085.12. Tiempos de procesamiento usando proceso paralelos en GPU vs un proce-

sador serial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.13. Tiempos de procesamiento usando proceso paralelos en GPU vs un proce-

sador paralelo diseñado a la medida de la aplicación con FPGA. . . . . . . 1105.14. Arquitectura FPGA propuesta. . . . . . . . . . . . . . . . . . . . . . . . . . 1145.15. Enzimas digitalizadas. La imagen se obtuvo bajo condiciones controladas

en la reflexión de la luz, además se garantiza invarianza en la escala de laplaca de elisa y en los parámetros de ajuste del sensor óptico de la cámara 115

5.16. Preproceso para quitar ruido de la imagen digital de la placa de Elisa y ob-tener la imagen sin ruido. (a) Imagen obtenida con el “enzyme vision equip-ment”; (b) Imagen de la cámara sin estímulos luminosos; (c) Variaciones enla intensidad luminosa sobre la placa; (d) Imagen verdadera . . . . . . . . 115

5.17. Proceso de segmentación de las regiones cromogénicas. (a) imagen de laplaca sin ruido; (b) capa verde de la imagen de la placa; (c) resultado deaplicar el segmentado con el algoritmo Otsu, seguido por el operador deerosión; (d) selección de los 25 objetos según su área; (e) Etiquetado deobjetos, representado con colores . . . . . . . . . . . . . . . . . . . . . . . 115

5.18. Regiones de interés indicada con cuadros sobre cada pozo. . . . . . . . . . 1155.19. Descriptores de Enzimas. A: Gráfica donde se observa el traslape de datos.

B: Gráfica que muestra seis regiones de actividad enzimática. . . . . . . . 1165.20. Asignación de clases de acuerdo a la cinética enzimática. (a) Representación

de la cinética enzimática mediante el modelo (0, rojo;1 h, verde; 3 H, azul;5 h cyan) de las clases de actividad enzimática; (b) lecturas de absorbanciaa 510 nm para la cinética enzimática por espectrofotometría a diferentestiempos (réplicas del A1 a A5) . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.21. Halo de hidrólisis con mayor actividad. a) selección de la region de interés;b) Niveles de actividad enzimática usando el modelo NNADEN; (amarillo):6nivel; (verde claro):5o nivel; (verde oscuro):4o nivel; (cian):3er nivel; (azul):2onivel; (rosa):1er nivel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

1. Plano de construcción del equipo de medición Enzime-Vision (Parte 1) . . . 1312. Plano de construcción del equipo de medición Enzime-Vision (Parte 2) . . . 1323. Plano de construcción del equipo de medición Enzime-Vision (Parte 3) . . . 1334. Ensamble en perspectiva isométrica del equipo de medición Enzime-Vision 134

15

Page 16: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

LISTA DE FIGURAS

5. Gráficas que muestran las posibles agrupaciones de hilos y sus registros,asociados con los warps que se activan. Abajo se muestra la linea de tiempodel kernel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

6. Gráficos de pastel y barras que muestran los niveles de eficiencia alcanzadospor el kernel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

7. Cantidad de instrucciones por pulso de reloj - warp alcanzados por el kernely porcentaje de actividad - warps lanzados por cada SM. . . . . . . . . . . 137

8. Graficos de la cantidad de warps que se ejecutan simultáneamente en unmultiprocesador entre la cantidad máxima de warps que pueden ejecutarsesimultáneamente en el sistema concurrente desarrollado . . . . . . . . . . 138

9. Diagrama RTL interno del modulo comparador . . . . . . . . . . . . . . . . 13910. Diagrama RTL interno del modulo NNoc1 . . . . . . . . . . . . . . . . . . . 14011. Diagrama RTL interno del modulo de control . . . . . . . . . . . . . . . . 14112. Diagrama RTL de la memoria interna tipo RAM . . . . . . . . . . . . . . . 14213. Esquemático de interconexión del modulo que calcula seis productos esca-

lares (NNout z) y el modulo que proporciona el nivel de activación sigmoideacorrespondiente para cada uno (lut out1). . . . . . . . . . . . . . . . . . . 143

14. Esquemático de interconexión de un producto escalar (NNoutc1 z1) y unmodulo que proporciona el nivel de activación sigmoidea correspondiente(lut s1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

15. Diagrama RTL de un solo producto escalar resuelto con componentes hard-ware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

16. Esquema RTL de la arquitectura FPGA tipo red neuronal . . . . . . . . . . 146

16

Page 17: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Lista de TablasLista de Tablas

2.1. Listado de características comunes de artículos relacionados . . . . . . . . 41

3.1. Coeficiente de velocidad α que marca la taza de aprendizaje de la red . . . 59

3.2. Matriz de confusión con las posibles combinaciones entre la predicciones yla condición real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3. Pesos asociados a la capa oculta. Las columnas representan las neuronasde entrada y los renglones representan a las neuronas ocultas. . . . . . . . 61

3.4. Pesos asociados a la capa de salida. Las columnas representan las neuronasde la capa oculta y los renglones representan a las neuronas de la capa desalida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.5. LUT para calcular la función sigmoidea . . . . . . . . . . . . . . . . . . . . 65

3.6. Conjunto de banderas para controlar la evolución de la máquina de estados.Cada entrada representa a su vez un conjunto de entradas, por ejemplo, laentrada flag_oc_zs representa las 12 señales de fin de cálculo del productovectorial previo a la activación de las neuronas ocultas. El valor 1 dentro dela tabla, representa que todas y cada una de estas señales fueron activadas. 69

3.7. Salidas generadas por la máquina de estados. Las columnas representadasen las salidas, son señales de habilitación, en donde por ejemplo la señalen_oc_s representa la señal para habilitar el módulo que calcula la funciónsigmoidea. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.1. Vista parcial del Cross validation set pertenecientes al muestreo uno . . . 78

4.2. Listado de umbrales evaluados para la distinción de ejemplos anómalosutilizando el CV set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4.3. Selección de arquitecturas neuronales con una capa oculta, variando pará-metros como el factor de regularización para evitar el sobre aprendizaje . . 84

4.4. Selección de arquitecturas neuronales con 2 capas, variando parámetroscomo el factor de regularización para evitar el sobre aprendizaje . . . . . . 85

4.5. Tabla de Análisis temporal del hardware implementado para un productopunto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

5.1. Comparación entre las absorbancias obtenidas por espectrofotometría, elmodelo de regresión lineal (ColAbs) y un modelo reducido con solo la variablemás esencial (obtenida mediante el procedimiento stepwise). . . . . . . . . 98

5.2. Valor y estadísticas de los coeficientes del modelo matemático. . . . . . . . 100

5.3. La tabla de residuales inusuales enumera todas las observaciones que tie-nen residuales de más que 2 en valor absoluto. . . . . . . . . . . . . . . . 101

5.4. Exactitud con el conjunto de entrenamiento para la NNEv. . . . . . . . . . 102

5.5. Exactitud del conjunto de validación para la red neuronal NNEv. . . . . . . 102

5.6. Tabla de clasificación de la red neuronal NNEv (hecha con un subconjuntotomado aleatoreamente de los ejemplos disponibles para la prueba). . . . . 103

17

Page 18: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

LISTA DE TABLAS

5.7. Pesos de la capa oculta de la NNEv. . . . . . . . . . . . . . . . . . . . . . . 1035.8. Pesos de la capa de salida de la NNEv. . . . . . . . . . . . . . . . . . . . . 1035.9. Tabla de comparación de tiempos de respuesta entre la versión secuencial,

FPGA y GPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.10. Vista parcial de la base de conocimientos de cromaticidad . . . . . . . . . 112

18

Page 19: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

I

Planteamiento del problema de investigación

Page 20: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada
Page 21: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

IntroducciónCapítulo 1: Introducción

Una enzima es una molécula que actúa como un catalizador, es decir, ayuda a que unareacción química se produzca a una mayor velocidad, conocida como actividad enzimática.El uso de las enzimas en la industria de producción de energía representa un ejemplode su utilidad. Dada la creciente demanda de nuevas formas de energía provenientes derecursos renovables, que permiten sustituir el uso de combustibles fósiles [22] [23] . Paraque dichos recursos puedan ser convertidos en combustibles como el bioetanol, deben sersometidos a una degradación enzimática. Sin embargo, debido a que el material orgánicoocupado(biomasa) proviene de diferentes fuentes vegetales, su composición química varía,generando como consecuencia que la eficiencia de degradación de las enzimas disponiblesse vea afectada. Por tal motivo, es necesaria la búsqueda de nuevas enzimas con altosniveles de actividad que sean capaces de degradar de manera eficiente la biomasa [95].

Adicionalmente, otras industrias como la farmacéutica, textil, peletera, química, ali-mentaria, papelera, tequilera, cervecera, ocupan enzimas en sus procesos. Por ejemplo, enla industria farmacéutica se utilizan las enzimas para la producción de antinflamatoriosy antibióticos, en la industria peletera para suavizar la piel, en la industria textil para darun pre-tratamiento a las telas y así mejorar sus propiedades, facilitando su fabricación.

Diseñar nuevos modelos que sean capaces de encontrar enzimas con mayores tasasde actividad enzimática tiene un notable interés en el sector industrial [9] [94], debidoa que impacta directamente en la velocidad de producción de mercancías, y por endegenera mayores utilidades.

Actualmente, para realizar la descripción de la actividad de las enzimas se han em-pleado los siguientes métodos: Espectrofotometría [26]; radioactividad, separaciones elec-troforéticas, cromatografía, reactividad inmunológica, calorimetría [27] y finalmente me-diante la inspección de patrones visuales en reacciones colorimétricas como zimogramasy generación de halos de hidrólisis.

De los métodos anteriores, la manera más rápida para determinar la actividad enzi-mática, ha sido la generación de halos de hidrólisis, debido a que se puede ejecutar unnúmero masivo de ensayos (del orden de 1x109) de forma simultánea. También, es la máseconómica porque no ocupa un equipo adicional para la generación y medición del halo[5] [95].

Problema de investigación

La medición de actividad enzimática mediante la generación de halos de hidrólisisno hace una distinción homogénea de las muestras de acuerdo a su grado de actividadenzimática. Está depende del laboratorio y experto por lo que los resultados varían y noson repetibles. Además, se genera un conocimiento sesgado del ensayo dado que se limitaa realizar una sola medición hasta el final. Descartando la cuantificación de la evoluciónde la muestra en tiempo real.

21

Page 22: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 1. Introducción

1.1. Pregunta de investigación

¿Cómo predecir en tiempo real la actividad enzimática presente en la evolución de losensayos cromáticos del tipo halo de hidrólisis?

1.2. Objetivos

El objetivo que persigue esta tesis, se define como objetivo general, ademas se desglosaen partes u objetivos específicos por conveniencia como se indica en seguida.

1.2.1. Objetivo general

Predecir cuantitativamente la Actividad Enzimática en tiempo real.

1.2.2. Objetivos específicos

Identificar patrones descriptivos de la Actividad Enzimática.

Cuantificar patrones numéricamente.

Clasificar los patrones

Construir un modelo hardware-software para predecir la Actividad Enzimática

Acelerar el tiempo de respuesta del modelo.

1.3. Justificación

Las enzimas son útiles en numerosas industrias, destacándose actualmente la deproducción de bioetanol [94] . Existe una necesidad real de apoyar la caracterizaciónde las enzimas de muchas muestras ambientales con nuevos métodos tecnológicos, afin de encontrar la más eficiente para reducir el tiempo empleado en la fabricación debiocombustibles, y por ende hacer competitiva esta importante opción energética[9].

1.4. Hipótesis

Si se puede extraer y clasificar los tonos de color R, G, B del halo en tiempo real, enton-ces se puede cuantificar la actividad enzimática del halo durante su evolución. (Hipótesiscondicional)

En esta tesis la organización es, primero se aborda el marco teórico, después la meto-dología propuesta, en seguida los experimentos realizados, a continuación los resultadosobtenidos, y finalmente presento las conclusiones, junto con discusión y trabajo futuro.

22

Page 23: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Marco TeóricoCapítulo 2: Marco Teórico

En este capítulo haré una explicación general de las técnicas que se ocuparon paradesarrollar el modelo propuesto, junto con su terminología y nomenclatura. Para iniciar,hago una descripción de los estilos de aprendizaje automático y su clasificación. Después,describo el funcionamiento de una red neuronal artificial, la técnica que se sigue para elreconocimiento de objetos dentro de imágenes digitales, luego muestro un nuevo enfoquepara el reconocimiento de objetos utilizando redes neuronales profundas. Finalmente,describo las bases para programar un FPGA y un grupo de procesadores gráficos tipoGPU.

Ademas, se presentan los resultados de la revisión de la literatura del tema de estatesis en diversos artículos de investigación y patentes, para demostrar su originalidad.

2.1. Machine Learning

El aprendizaje automático es una rama de la Inteligencia Artificial (IA) la cual da a lascomputadoras la habilidad de mejorar su experiencia y hacer predicciones basándose endatos [7].Arthur Samuel la describe como el campo de estudios que da a las computadoras la habili-dad de aprender sin ser programadas explícitamente para ello. El aprendizaje automáticotiene tres estilos de aprendizaje:

Aprendizaje supervisado

Se basa en un programa que aprende de ejemplos anteriores definidos de formaexplícita. Un modelo con parámetros específicos recibe entradas y hace una predic-ción basada en la estimación de su función de costo. Esta predicción se comparacon el resultado real, y se obtiene su similitud, luego se reajustan los parámetrosdel modelo de acuerdo a estas actualizaciones. [14].

Aprendizaje no supervisado

Los datos de entrada no tienen etiqueta conocida y no tienen un resultado conocido.Un sistema de aprendizaje automático no supervisado procesa una gran cantidadde datos, encuentra patrones en los datos y aprende las características que hacenque los puntos de datos sean más o menos similares entre sí.[14].

Aprendizaje reforzado

El aprendizaje reforzado enfatiza el aprendizaje por ensayo y error, usando recom-pensas o castigos por éxito o fracaso en una tarea como medio para descubrir formasexitosas de comportarse en entornos complejos. [14]

Dependiendo del estilo seleccionado, hay muchos tipos de algoritmos de aprendizajeautomático.

Otra manera de clasificar los algoritmos de aprendizaje automático es usando comobase el tipo de problema que resuelven. A continuación, doy una breve descripción decada uno de ellos.

23

Page 24: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

1. Problema de clasificación.La clasificación implica recopilar datos y asignarlos a una de varias categorías. Latarea en cuestión es predecir las etiquetas de clase de forma discretas a partir de losdatos de entrada después de que un modelo ha sido entrenado en datos etiquetados.Las aplicaciones de clasificación incluyen reconocimiento facial, reconocimiento deimágenes, y diagnóstico médico. Los métodos típicos para tales tareas incluyen laregresión logística, máquinas de vectores de soporte, redes neuronales y clasifica-dores de procesos Gaussianos.

2. Problema de regresión.Los análisis de regresión intentan predecir cantidades continuas a partir de datosde entrada. Los métodos típicos para abordar esta tarea incluyen la regresión lineal,redes neuronales y procesos Gaussianos.

3. Problema de agrupaciónLa agrupación en clústeres se utiliza para el análisis en el que hay una gran cantidadde datos que deben organizarse en forma de crear clústeres, donde los puntossimilares se agrupan. Esto se usa en bioinformática, estudios de expresión génica,astronomía, modelado de documentos y modelado de redes. Los métodos típicosincluyen k-medias y mezclas gaussianas.

4. Problema de reducción de dimensionalidadLa reducción de dimensionalidad se usa en aplicaciones donde los datos brutostienen un alto número de dimensiones. Estos enfoques asignan datos de alta di-mensión a dimensiones bajas, mientras preservan la información relevante. Tienenuna gama de aplicaciones, por ejemplo, en minería de datos, análisis científico y re-conocimiento de imágenes. Los métodos típicos incluyen: análisis de componentesprincipales, análisis factorial, escalamiento multidimensional, IsoMAP.

5. Problema de Aprendizaje semi-supervisadoEl aprendizaje semi-supervisado se usa en el análisis donde una gran cantidad dedatos no etiquetados está disponible, junto con algunos puntos de datos que hansido etiquetados. Este enfoque es particularmente útil en aplicaciones donde eti-quetar los datos es caro. Los métodos incluyen modelos probabilísticos, aprendizajesemi-supervisado basado en gráficos y máquinas vectoriales de soporte transducti-vo.

6. Problema de Aprendizaje de refuerzoEl aprendizaje de refuerzo aborda tareas donde un agente o un programa de compu-tadora necesita aprender a interactuar con su entorno, recibiendo entradas y to-mando decisiones secuenciales a fin de maximizar las recompensas futuras. Porlo tanto, se relaciona con el control adaptativo y la toma de decisiones secuencialbajo incertidumbre. Los agentes que utilizan el aprendizaje de refuerzo pueden serfísicos o virtuales, y las aplicaciones se encuentran en robótica, juegos, comercio ysistemas de diálogo.[14]

24

Page 25: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.1 Machine Learning

El campo del aprendizaje automático continúa avanzando a un ritmo rápido comoresultado de la mejora de recursos computacionales, algoritmos y herramientas. Ademásde una creciente disponibilidad de datos para entrenar a los sistemas.

En general los procesos de aprendizaje cuentan con los siguientes elementos: (verfigura 2.1)[7].

Conjunto de entrenamiento.- Consiste en un conjunto de imágenes, texto, soni-dos, documentos, datos o cualquier información que deba ser clasificada.

Extracción de patrones.- Implica el reducir la cantidad de información original-mente disponible para obtener un subconjunto más pequeño que conserve la esen-cia necesaria para describir el objeto a clasificar.

Etiquetado.- Depende del estilo usado, los vectores de características pueden seretiquetados o no.

Algoritmo de aprendizaje automático.- Es el conjunto ordenado de operacionesque realizan los cálculos con el fin de obtener el modelo predictivo.

Modelo predictivo.- Usa medidas estadísticas para predecir los resultados, basán-dose en entrenamientos previos. Si se comparan nuevos vectores que representenun objeto usando el modelo predictivo, este será capaz de determinar que objeto es.

Figura 2.1: Proceso de aprendizaje automático [7]

25

Page 26: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

2.2. Redes neuronales artificiales

Una red neuronal artificial es un modelo de computación inspirado en la estructurade redes neuronales en el cerebro humano. Las ANN recogen sus conocimientos al de-tectar los patrones y las relaciones en los datos y aprenden a través de la experiencia,no de la programación. Una ANN se forma a partir de cientos de unidades individualesde neuronas artificiales o elementos de procesamiento (PE), conectados con coeficientes(pesos), que constituyen la estructura neuronal y se organizan en capas. Cada PE tieneentradas ponderadas, función de transferencia y una salida. El comportamiento de unared neuronal está determinado por las funciones de transferencia de sus neuronas, porla regla de aprendizaje y por la propia arquitectura. Los pesos son los parámetros ajusta-bles y en ese sentido, una red neuronal es un sistema parametrizado. La suma ponderadade las entradas constituye la activación de la neurona. La señal de activación se pasa através de la función de transferencia para producir una única salida de la neurona. Lafunción de transferencia introduce no linealidad en la red. Durante el entrenamiento, lasconexiones entre unidades se optimizan hasta que el error en las predicciones se mini-miza y la red alcanza el nivel de precisión especificado. Una vez que la red se entrena yprueba, se le puede dar nueva información de entrada para predecir la salida. Ya se handiseñado muchos tipos de redes neuronales y se inventan nuevas constantemente, perotodas pueden describirse por las funciones de transferencia de sus neuronas, por la reglade aprendizaje y por la fórmula de conexión. [16] (figura 2.2).

El entrenamiento exitoso resulta en una red que realiza tareas tales como predicción(Y). [15].

Figura 2.2: Estructura general de una red neuronal artificial

Su atractivo radica en su habilidad de particionar el espacio de características usandolímites no lineales para las clases. Estos límites son obtenidos mediante un entrenamientode la red. Durante la fase de entrenamiento, muchas instancias de objetos a ser reconoci-dos son tomadas. Si el conjunto de entrenamiento es cuidadosamente seleccionado para

26

Page 27: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.2 Redes neuronales artificiales

que represente todos los objetos que se pueda encontrar más tarde, durante la fase dereconocimiento, entonces la red puede aprender los límites de clasificación en su espaciode características.

2.2.1. Métodos de evaluación tipo Validación cruzada de modelos neurona-

les

En el método de validación cruzada, algunos de los datos disponibles se eliminanantes de que comience el entrenamiento. Luego, cuando se realiza el entrenamiento, losdatos que se eliminaron se pueden usar para probar el rendimiento del modelo aprendido.Esta es la idea básica para toda una clase de métodos de evaluación de modelos llamadosvalidación cruzada.

Los principales métodos de validación son: hold-out, k-fold cross validation, leave-one-out cross validation, a continuación hago una descripción de cada uno de ellos [11].

1. El método hold-out.- es el tipo más simple de validación cruzada. El conjunto dedatos se divide en dos conjuntos, llamado conjunto de entrenamiento y conjuntode pruebas. El aproximador de funciones se ajusta a una función utilizando soloel conjunto de entrenamiento. Luego, se le pide a la función de aproximación queprediga los valores de salida para los datos en el conjunto de prueba (nunca anteshabía visto estos valores de salida). Los errores que comete se acumulan para dar elerror absoluto medio del conjunto de prueba, que se utiliza para evaluar el modelo.La ventaja de este método es que no requiere más procesamiento. Sin embargo, suevaluación puede tener una alta varianza. La evaluación puede depender en granmedida de los puntos de datos que determinan en el conjunto de entrenamiento ylos que determinan en el conjunto de prueba, y por lo tanto la evaluación puede sersignificativamente diferente dependiendo de cómo se realice la división..

2. El método k-fold cross validation.- es una forma de mejorar el método hold-out. Elconjunto de datos se divide en k subconjuntos, y el método de retención se repitek veces. Cada vez, uno de los k subconjuntos se utiliza como conjunto de pruebay los otros subconjuntos k-1 se juntan para formar un conjunto de entrenamiento.Luego se calcula el error promedio en todos los k ensayos. La ventaja de este métodoes que importa menos cómo se dividen los datos. Cada punto de datos llega a estaren un conjunto de pruebas exactamente una vez, y llega a estar en un conjuntode entrenamiento k-1 veces. La varianza de la estimación resultante se reduce amedida que aumenta k. La desventaja de este método es que el algoritmo de en-trenamiento debe ejecutarse desde cero k veces, lo que significa que se necesitak veces más cálculo para realizar una evaluación. Una variante de este método esdividir aleatoriamente los datos en una prueba y conjunto de entrenamiento k vecesdiferentes. La ventaja de hacer esto es que puede elegir de forma independiente quétan grande es cada conjunto de pruebas y con cuántas pruebas promedia.

3. El método Leave-one-out cross validation.- es la validación cruzada K-fold llevada asu extremo lógico, con K igual a N, el número de puntos de datos en el conjunto. Eso

27

Page 28: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

significa que N veces separadas, la función aproximadora se entrena en todos losdatos excepto en un punto y se hace una predicción para ese punto. Como antes,el error promedio se calcula y se usa para evaluar el modelo. La evaluación dadapor el error de validación cruzada de dejar uno fuera (LOO-XVE) es buena, pero ala primera pasada parece muy costoso de calcular.

2.3. Visión por computadora

La visión artificial o visión por computadora es una disciplina científica que incluyemétodos para adquirir, procesar, analizar y comprender las imágenes del mundo real conel fin de producir información numérica o simbólica para que pueda ser tratada por unacomputadora. Tal y como los humanos usamos nuestros ojos y cerebros para comprenderel mundo que nos rodea, la visión por computadora trata de producir el mismo efecto paraque las computadoras puedan percibir y comprender una imagen o secuencia de imágenesy actuar según convenga en una determinada situación.

Una imagen digital se puede representar como una función de la intensidad luminosabidimensional f(x,y), donde el valor f(x,y) nos da la intensidad luminosa de la imagen enel punto (x,y), ver figura 2.3 inciso a) y b) .

La imagen percibida procede de la luz reflejada por los objetos que la componen. Laintensidad luminosa f(x,y) se puede caracterizar por dos componentes: a) La cantidad deluz incidente en la escena visualizada (iluminación), que se representa con i(x,y) este com-ponente viene determinado por la fuente luminosa. Por ejemplo, el nivel de iluminaciónen una oficina comercial es de unas 100 candelas-pies. b) La cantidad de luz reflejada porlos objetos de la escena (capacidad reflectora), representada por r(x,y), donde el valor 0representa absorción total y el valor 1 reflexión total. Este componente viene determinadopor las características de los objetos de la escena. Por ejemplo, el acero tiene 0.65 y lanieve 0.93.

Para procesar una imagen por computadora se debe discretizar (digitalizar) tanto es-pacialmente como en intensidad luminosa. La digitalización de la coordenada espacial(x,y) se llama muestreo de la imagen y la digitalización de la intensidad luminosa se llamacuantificación del tono de gris. Se Llama tono o nivel de gris de una imagen monocromáti-ca en el punto (x,y) a la intensidad luminosa de la misma en el punto (x,y). El nivel de grisestará comprendido entre un valor mínimo Lmin y un valor máximo Lmax. Al intervalo[Lmin, Lmax] enmarca la escala de grises [13] [12].

Las imágenes a color están compuestas de tres componentes cromáticos y por lo tantopara su representación se requiere de tres funciones o matrices, como se observa en la(figura 2.3 inciso d).

Componentes de un sistema de visión por computadora.

1. Módulo de adquisición de imágenes.

28

Page 29: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.3 Visión por computadora

Figura 2.3: Representación matemática de una imagen. a) Representación visual mono-cromática b) Representación en función de su intensidad luminosa c) Ejemplo de la repre-sentación para una imagen monocromática d) Ejemplo de la representación para imagen acolor

2. Módulo de preprocesado.

3. Módulo de segmentación.

4. Módulo extractor de patrones.

5. Módulo clasificador.

Se muestran las interacciones entre ellos en la figura 2.4 y a continuación se describecon mas detalle cada uno de estos componentes.

1. Adquisición de imagen.La imagen debe obtenerse utilizando alguna fuente de energía que en interaccióncon el objeto de análisis brinde información sobre su estado. Dependiendo del tipode análisis que se desea hacer del objeto de estudio, se debe escoger la energíanecesaria para poder tomar una imagen de él. Los tipos de energía utilizados son: luzvisible para la fotografía, rayos X para la radiografía, ultrasonido para la geografía,campos magnéticos para la resonancia magnética, calor para la termografía, etc. El

29

Page 30: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

Figura 2.4: Componentes de un sistema de visión por computadora.

sensor debe ser sensible a la energía utilizada. Si es luz por ejemplo será necesarioutilizar algún tipo de elemento fotosensible que transforme los fotones reflejadospor el objeto de estudio a alguna señal eléctrica.

A través de un conversor análogo-digital se convierte la señal eléctrica a un códi-go binario que puede ser interpretado por una computadora para conformar unaimagen digital del objeto de estudio.

La formación de una imagen resulta de proyectar la información visual contenidao reflejada por los objetos que constituyen un medio ambiente sobre un plano bi-dimensional, de esta manera se puede considerar a una imagen como un arreglobidimensional de muestras de energía.

2. Preprocesado.El módulo de preprocesado tiene como objetivo mejorar la calidad de la imagen parafuturos tratamientos. El objetivo es permitir que etapas posteriores del análisistengan mejores posibilidades de éxito. Aplica filtros u otros métodos para reducir lainfluencia del ruido u otras distorsiones, muchas veces presentes en la imagen.

El ruido puede provenir de fuentes tan diversas como:

a) La óptica y electrónica asociadas al sistema de adquisición.

b) Las condiciones de iluminación.

c) Las sombras creadas entre objetos.

d) Las condiciones atmosféricas.

e) Etcétera.

El ruido en una imagen, es todo aquello que tienda a entorpecer en cualquiera desus etapas, el desempeño del sistema de visión.

Un tipo de ruido normalmente presente en una imagen es el debido al proceso deadquisición. Al tomar varias imágenes de una misma escena a través del mismo

30

Page 31: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.3 Visión por computadora

captor en las mismas condiciones de iluminación, uno puede darse cuenta que elvalor de un píxel a lo largo de la secuencia de imágenes no es siempre el mismo.Estas fluctuaciones pueden introducir errores en procesamientos posteriores. Esimportante por tanto estimarlas. Una forma de lograr esto es considerar a dichasvariaciones como variables aleatorias y tratar de caracterizar su comportamientoestadístico. Para esto se adquieren n imágenes f 1, f 2...fn de la misma escena en lasmismas condiciones de iluminación calculando para cada x, y = 1...N :

f̄ (x, y) =1n

n∑k=1

fk(x, y) 2.1

σ(x, y) = [1

n − 1

n∑k=1

(f̄ (x, y) − fk(x, y))2]12 2.2

La cantidad σ(x, y) da el estimado de la desviación estándar del ruido de adquisiciónen cada píxel. El promedio de σ(x, y) sobre la imagen es un estimado del ruidopromedio, mientras que max(x,y)[σ(x, y)] es un estimado del peor caso.

Operaciones aritméticas sobre imágenes para eliminar el ruido. El uso principalde la operación de adición es el promediado de imágenes con miras a reducir lainfluencia del ruido.

3. La Segmentación.

Formalmente la segmentación de imágenes es el proceso mediante el cual una ima-gen es subdivida en unidades significativas, y permite clasificar los pixeles comopertenecientes a una categoría en concreto. Algunos de los atributos que son toma-dos en cuenta para segmentar una imagen son: la luminancia (o brillo) en imágenesen niveles de gris, los componentes de color en imágenes de color, los bordes, lastexturas etc.

Los objetivos que persiguen los procesos de segmentación son: encontrar agrupa-ciones uniformes y homogéneas, diferenciar regiones adyacentes de las escenas yencontrar bordes sencillos. La segmentación se basa en tres propiedades: similitud,discontinuidad y conectividad. La similitud se refiere a que cada uno de los píxelesde un objeto presentan propiedades parecidas, por otro lado, la discontinuidad esque los pixeles a su vez resaltan de su entorno y por tanto tienen bordes bien de-finidos; finalmente la conectividad indica que los píxeles pertenecientes al mismoobjeto tienen que ser contiguos, es decir, estar agrupados. Algunas de las técnicasutilizadas para la segmentación son:

a) Segmentación en amplitud.- Se basan en los umbrales de las imágenes binariaso de color y se emplea en imágenes en donde el fondo se diferencia en formasimple de los objetos.

31

Page 32: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

b) Segmentación basada en clustering.- Basada en la clasificación de las caracte-rísticas de los píxeles de una imagen, así las regiones se clasifican en funcióndel grado de pertenencia de los patrones, respecto a las diversas regiones.

c) Segmentación por regiones.- Utilizan propiedades espaciales de las regionespara segmentarlas. Se tiene por ejemplo, la técnica de crecimiento de regionesen la que se van agrupando las que presentan características o propiedadessimilares. Esta técnica parte de un conjunto de píxeles llamados semillas apartir de los cuales se hacen crecer las regiones añadiendo píxeles a las semi-llas, provenientes de sus vecinos que poseen propiedades similares, hasta quese cubre el total de píxeles de la imagen.

d) Segmentación por detección de bordes y contornos.- Existe una gran diversidadde métodos para extraer bordes de una imagen. La mayoría de ellos utilizanmáscaras, las cuales son desplazadas sobre toda la imagen para obtener elcontorno, encontrar esquinas, etc. Entre ellos están los métodos de gradiente,la aproximación de Roberts, la de Prewitt, Sobel, etc.

e) Segmentación basada en texturas.- Una textura es la repetición de patronesde elementos situados según reglas específicas. La segmentación por texturasutiliza características locales de la región para separarlas del resto.

4. Extracción de características.

El extractor de características aplica operadores sobre una imagen segmentada per-mitiendo identificar posiciones de rasgos que ayudarán en la formación de hipótesissobre la presencia de un tipo de objeto. Los rasgos usados por el sistema, dependendel tipo de objetos a ser reconocidos, así como de la estructura del banco de modelosutilizada.

La mayoría de los enfoques para el reconocimiento de objetos en dos dimensionesestán basados en las características de la imagen del objeto, y tratan de dividir unaimagen en varias características locales y entonces representan el objeto con estascaracterísticas y sus relaciones entre ellas [13] .

Tipos de características:

a) Características globales.- Las características globales son características deregiones en imágenes tales como áreas, perímetros, descriptores de Fouriery momentos. Las características globales pueden ser obtenidas por regiones,considerando en todos los puntos, sus ubicaciones, intensidades y relacionesespaciales.

b) Características locales.- Las características locales están generalmente en elborde de un objeto, representan una pequeña área de una región. La curvaturay propiedades relacionadas son comúnmente utilizadas como característicaslocales. La curvatura puede ser la de un contorno o la de una superficie.Los puntos en donde existen curvaturas pronunciadas son llamados esquinas

32

Page 33: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.3 Visión por computadora

y juegan un papel importante en el reconocimiento de objetos. Algunas delas características locales más comunes son: las curvaturas, segmentos decontornos y las esquinas.

c) Características relacionales.- Las características relacionales están basadas enlas posiciones relativas de diferentes entidades, regiones y características loca-les. Estas características incluyen distancias entre características y medicio-nes de orientación relativa entre ellas. En la mayoría de los casos, la posiciónrelativa entre las entidades es lo que define el tipo de objeto representado.Exactamente las mismas características con pequeñas variaciones entre ellas,pueden representar objetos completamente distintos.

Una vez extraídas las características de los objetos, estos pueden ser representadosen el espacio n-dimensional de características en donde los objetos son presentadoscomo puntos en ese espacio. Ahora bien, es posible que diferentes característicastengan diferentes grados de importancia y que sus unidades sean diferentes, estoconlleva algunas dificultades para su representación en el espacio de características,pero son normalmente resueltos asignando diferentes pesos a las características ynormalizándolas.

Con la extracción de patrones se mapean todos los pixeles de la imagen a un con-junto menor de valores conocido como vector de características (figura 2.3)

5. Módulo Clasificador.La Clasificación es el proceso de etiquetar una región de píxeles como pertenecientea un modelo, mediante un algoritmo que aprende automáticamente y puede sersupervisado (entrenado explícitamente con el banco de modelos disponible) o deaprendizaje no supervisado.

Existen una gran diversidad de clasificadores entre los más importantes destacan:

a) Los basados en métricas.

b) Los basados en redes neuronales.

c) Los basados en métodos probabilísticos.

Deep learning

Una alternativa que recientemente está tomando auge es el emplear redes neuronalescon multitud de neuronas y capas, debido a que están demostrando su utilidad parareconocer y clasificar objetos, sin tener que usar el método tradicional descrito anterior-mente.

Descubrir por cuenta propia la función que mapea el conjunto de píxeles a la clasede objeto que le corresponde, resulta muy complicado. Por esto el interés reciente en elDeep learning, gracias a que es capaz de resolver este problema, mediante una serie demapeos simples y anidados, cada uno descrito por una distinta capa del modelo. La en-trada en forma de píxeles es presentada en la capa visible ver (figura 2.5). Después lascapas subsecuentes generan características más complejas, tomando como partida las

33

Page 34: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

proporcionadas por su capa inmediata anterior. Estas capas son llamadas capas ocultasdebido a que sus valores de entrada no son obtenidos de los datos, en cambio el modelodebe determinar cuáles conceptos son útiles para explicar las relaciones con los datosobservados. Las imágenes mostradas en cada capa son visualizaciones de las caracte-rísticas representadas por cada unidad oculta. Dado un conjunto de píxeles, la primeracapa puede fácilmente identificar bordes, comparando los niveles de intensidad con susrespectivos píxeles vecinos. Dada la primera descripción de bordes, la segunda capa pue-de encontrar una característica más completa, como son los contornos y esquinas. Ahoratomando las características de las capas uno y dos, se puede describir partes enteras deobjetos específicos, encontrando colecciones de bordes, contornos y esquinas asociados acada uno. Finalmente con una gama de partes de objetos generados por la red neuronal(característica discriminante encontrada automáticamente) y no con solo los píxeles deentrada, se procede a asignar la clase de objeto que le corresponda.

Esta técnica consigue que la extracción de patrones se realice de forma gradual yaumentando en complejidad a medida que se avanzan los datos dentro de la arquitecturaprofunda de la red neuronal [15].

Figura 2.5: Proceso de generación de patrones con una DNN.

34

Page 35: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.4 Opciones de procesamiento paralelo

2.4. Opciones de procesamiento paralelo

Como los recursos computacionales necesarios para la implementación de algoritmosde visión exceden la capacidad de la mayoría de las actuales arquitecturas basadas enun solo procesador, y a pesar de que la capacidad de cómputo, continúa desarrollándosea una velocidad impresionante, no hay razones para esperar que los requerimientos enel procesamiento de imágenes sean satisfechas con solo un procesador coordinado porun reloj de cada vez mas alta velocidad, debido a que existe un límite práctico en suaumento, originado por los retardos en la propagación de las compuertas en los circuitosintegrados, que se están acercando a la velocidad de la electricidad a través de un cable.

De aquí es que surge un cambio de paradigma, es decir, si no se tiene la capacidadde hacer que un procesador trabaje más rápido, se puede optar por distribuir el trabajosobre un conjunto de procesadores, e incrementar la velocidad como resultado de estetrabajo en conjunto.

Los multiprocesadores que están comercialmente disponibles utilizan sólo unos pocosprocesadores (entre dos y doce).

Desde hace años, hay interés en el desarrollo de multiprocesadores con un númeroelevado de procesadores, cientos, miles, ó incluso decenas de miles. Tales sistemas gene-ralmente se denominan sistemas de procesadores paralelos ó, en el caso de sistemas conmiles de procesadores, sistemas de procesadores masivamente paralelos.

Por otro lado, muchos esfuerzos han ido encaminados a la creación de una arqui-tectura paralela general, la cual pueda dar solución a una diversidad de aplicaciones,como lo hacen las unidades de procesamiento gráfico, otros han optado por el desarrollode hardware diseñado especialmente para cada aplicación empleando circuitos lógicosreconfigurables como lo son los FPGAs.

2.4.1. Field programmable gate array (FPGAs)

Los diseñadores lógicos tienen una gama muy amplia de circuitos integrados (CI)disponibles con numerosas funciones lógicas y arreglos de circuitos sobre el mismo CI.Además, estos CI son ofrecidos por varios fabricantes y con un costo razonablementebajo. Por estas razones, los diseñadores han interconectado CI estándares para construiruna variedad casi sin límite de circuitos y sistemas diferentes.

Sin embargo, existen algunos problemas con los diseños de circuitos y sistemas queutilizan solo CI estándares. Algunos diseños pueden requerir de cientos o miles de estosCI. A su vez, este gran número de CI requiere de una tarjeta de circuito impreso de tamañoconsiderable y de mucho tiempo y esfuerzo para colocar, soldar y probar todos los CI. Porotro lado, los fabricantes de equipo deben mantener inventarios muy grandes para todoslos CI utilizados en el diseño.

El desarrollo reciente de los FPGAs, ofrece a los diseñadores lógicos una manerade remplazar varios CI estándares con un solo CI. Un FPGA es un CI que contiene unnúmero muy grande de compuertas, Flip Flops (FF), y registros que están conectadosentre sí dentro del CI. Sin embargo, muchas de las conexiones son del tipo fusible.

35

Page 36: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

Se dice que el CI es programable porque la función específica que este realice en unadeterminada aplicación, está determinada por la interrupción selectiva de algunas de lasconexiones, mientras que al mismo tiempo se dejan otras intactas. El proceso recibe elnombre de síntesis porque produce el patrón de interconexión de circuito deseado entrelas compuertas, FF, registros y otros elementos.

La figura 2.6 ilustra la idea básica utilizada por todos los FPGAs. Esta muestra unarreglo de compuertas AND y otro de compuertas OR que se pueden conectar entre sípara generar cuatro salidas, cada una de las cuales pueden ser cualquier función lógicade las cuatro variables de entrada A, B, C y D. Cada una de las cuatro salidas O1, O2,O3 y O4 se puede programar para obtener cualquier función de A, B, C y D mediante lainterrupción de las conexiones fusibles apropiadas. Una vez que se han programado todaslas salidas, el dispositivo generará de manera permanente las funciones seleccionadas.

Figura 2.6: Arreglo de compuertas And, OR y Not, junto con sus canales de interconexiónreconfigurable.

Programación de los FPGA.

Cuando los FPGA fueron introducidos, el diseñador lógico tenía que desarrollar unmapa de conexiones fusibles que mostraba las conexiones que debían quemarse y lo en-viaba al fabricante del FPGA. El fabricante entonces programaba el dispositivo de acuerdocon el mapa de conexiones, probaba su funcionamiento y lo enviaba de vuelta con el di-señador. En años recientes, la disponibilidad de equipos de programación de relativo bajocosto ha vuelto conveniente que los usuarios programen sus propios FPGAs. Actualmenteexisten herramientas de programación y síntesis que los fabricantes de FPGA proporcio-nan de forma gratuita a través de la red Internet. Un ejemplo es Vivado de Xilinx, el cualtrabaja con base en lenguajes de descripción de hardware tal como VHDL. Al utilizar estaprogramación, el usuario introduce en la computadora una descripción escrita de alto ni-vel del comportamiento que se desea presente el dispositivo; entonces el programa generael mapa de conexiones fusibles y los datos de prueba en una forma en que pueda enviarse

36

Page 37: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.4 Opciones de procesamiento paralelo

sobre un cable hacia la memoria del programador del FPGA. Una vez que el programadortiene los datos, procede a programar y probar el dispositivo [37] [38] .

Very High Speed Integrated Circuit Hardware Description Language (VHDL).

Los primeros lenguajes de descripción de hardware hacían uso de sentencias simplesy con ellas lograban describir completamente un circuito. A estos lenguajes se les llamóNetlist, puesto que eran simplemente eso, un conjunto de instrucciones que indicaban elínter conectado entre los componentes de un diseño, es decir, se trataba de una lista deconexiones. A partir de estos lenguajes simples, se descubrió el interés que podría tenerel describir los circuitos directamente utilizando un lenguaje en vez de usar esquemas.

Existía la necesidad de poder describir un circuito, pero no desde el punto de vista desus componentes, sino desde el punto de vista de cómo funcionaba. Este nivel de abs-tracción se había alcanzado ya con las herramientas de simulación. Para poder simularpartes de un circuito era necesario disponer de un modelo que describiera el funciona-miento de ese circuito, o componente. Estos lenguajes estaban sobre todo orientados a lasimulación, por lo que, poco importaba que el nivel de abstracción fuera tan alto, que nofuera sencillo una realización o síntesis a partir de dicho modelo.

Con la aparición de técnicas para la síntesis de circuitos a partir de un lenguaje dealto nivel, se utilizaron como lenguajes de descripción precisamente estos lenguajes desimulación.

VHDL, viene de VHSIC (Very High Speed Integrated Circuit) hardware DescriptionLanguage. VHDL es un lenguaje de descripción y modelado diseñado para describir enuna forma en que los humanos y las máquinas puedan entender la funcionalidad y laorganización de sistemas de hardware digitales.

Uno de los objetivos del lenguaje VHDL es el modelado, que es el desarrollo de unmodelo para simulación de un circuito o sistema previamente implementado, cuyo com-portamiento por tanto se conoce. El objetivo del modelado es la simulación. Otro de losusos de este lenguaje es la síntesis automática de circuitos. En el proceso de síntesis, separte de una especificación de entrada con un determinado nivel de abstracción y se llegaa una implementación más detallada. La síntesis es una tarea vertical entre niveles deabstracción, del nivel más alto de la jerarquía se va hacia el nivel más bajo.

Algunas ventajas del uso de VHDL para la descripción de hardware son:

1. VHDL permite diseñar, modelar, y comprobar un sistema desde un alto nivel deabstracción bajando hasta el nivel de definición estructural de puertas.

2. Al estar basado en un estándar (IEEE Std 1076-1987) los ingenieros de toda laindustria de diseño pueden usar este lenguaje para minimizar errores de comuni-cación y problemas de compatibilidad.

3. VHDL permite diseño Top-Down, esto es, permite describir el comportamiento de losbloques de alto nivel, analizándolos, y refina la funcionalidad de alto nivel requeridaantes de llegar a niveles más bajos de abstracción de la implementación del diseño.

37

Page 38: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

4. Modularidad: VHDL permite dividir o descomponer un diseño en hardware y sudescripción VHDL en unidades más pequeñas.

Existen dos formas de describir un circuito. Por un lado, se puede describir un cir-cuito indicando los diferentes componentes que lo conforman y su interconexión, de estamanera se tiene especificado completamente un circuito y se sabe su funcionamiento. Lasegunda forma consiste en describir un circuito indicando lo que hace o cómo funcio-na, es decir describiendo su comportamiento. Naturalmente esta forma de describir uncircuito es mucho mejor para un diseñador, puesto que lo que realmente interesa es elfuncionamiento del circuito, más que sus componentes. VHDL permite los dos tipos dedescripciones [44] [45].

VHDL se basa en dos unidades básicas de diseño, que se mencionan a continuación.

1. Entidad. La entidad en VHDL es una sección de código en donde se definen lasentradas y salidas que tendrá el circuito y este se verá como una caja negra endonde se desconoce cómo las entradas son manipuladas para provocar las salidas.

2. Arquitectura. Es en esta sección de código es donde se define de forma explícita elcomportamiento que se desea tengan las salidas.

2.4.2. Unidades paralelas de procesamiento gráfico (GPU)

Tradicionalmente la solución a los problemas empleando una computadora se haabordado con algoritmos que describen un problema mediante una serie de pasos or-denados y lógicos en forma análoga al pensamiento humano, por lo que la mayoría delos lenguajes de programación, así como el hardware fueron diseñados en un principiopara trabajar con tareas secuenciales. La tendencia actual de programas y aplicacionesque requieren un mayor número de instrucciones, para su funcionamiento, así como detiempos de respuesta cada vez menores, se había estado basando en incrementar la fre-cuencia del reloj del procesador, la cual tiene un límite que ya ha sido alcanzado, ademásde serios problemas de calentamiento, por estas razones ha sido necesario un cambio deparadigma de programación basado en la resolución de tareas de manera paralela, queimplica un mayor esfuerzo y complejidad en su concepción, así como nuevo hardwareque disponga de recursos físicos paralelos en los cuales se pueda implementar el progra-ma, siendo las tarjetas Graphic Processor Unity (GPUs) el hardware con mayor éxito paraaplicaciones paralelizadas. La programación paralela permite acelerar la ejecución de unatarea mediante el uso de varios procesadores que en conjunto trabajan en una porcióndel problema, siendo el programador el encargado de definir y asignar las tareas a cadaprocesador, así como los datos a los que tendrán acceso. Uno de los retos que se pre-senta al utilizar este enfoque, es el uso adecuado y gestión de recursos entre la multitudde procesadores que demandan el acceso a los datos para poder llevar a cabo su tarea.Las tarjetas GPUs fueron concebidas inicialmente con propósitos de aceleración de video,utilizándose en su mayoría en la industria de los videojuegos, aunque posteriormente seencontró que eran arquitecturas adecuadas para implementar algoritmos paralelos enmultitud de aplicaciones con requerimientos de respuesta en tiempo real [53] [52] .

38

Page 39: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.5 Revisión de la Literatura

2.5. Revisión de la Literatura

Con el objetivo de averiguar si el tema planteado por la presente tesis doctoral: Predic-ción de la actividad enzimática en tiempo real usando redes neuronales, ha sido planteadoo resuelto anteriormente, se realizó su búsqueda tanto en los artículos de revista disponi-bles actualmente como en las patentes registradas. Primeramente, menciono los artículosencontrados que presentaron alguna relación con el tema y después las patentes.

2.5.1. Introducción

Investigadores alrededor del mundo están analizando masivamente muestras extraí-das de diversos ecosistemas, intentando descubrir enzimas nativas con altos niveles dedegradación de celulosa para usar a las mejores en la obtención de productos como bio-etanol [22], [23]. El método comúnmente usado para la detección masiva de actividadcelulolítica está basado en la generación de zonas claras llamadas halos de hidrólisis,los cuales se forman sobre medios de agar como producto de la acción enzimática demicroorganismos sembrados en placa. Este método es popular debido a que gran númerode microorganismos pueden ser cultivados y preseleccionados en paralelo, además deser pruebas económicas y que facilitan la identificación rápida de microorganismos conactividad [24]. Sin embargo, la medición es cualitativa (presencia o ausencia de halos dehidrólisis) y subjetiva (la identificación del halo depende de la capacidad visual de cadapersona) propiciando así escasa e imprecisa información (solo existencia de halo y sudiámetro aproximado en el mejor de los casos) para su caracterización, así como la im-posibilidad de monitoreo en tiempo real [25], [24]. Usando la metodología actual resultaimposible cuantificar los cambios que experimentan los halos de hidrólisis a través deltiempo. Además, de que la selección de microorganismos mediante la generación de ha-los es la primera etapa del proceso encaminado a obtener una medición cuantitativa deactividad siendo necesario un análisis espectrofotométrico adicional [42]. Debido a esto,existe una necesidad actual de apoyar tecnológicamente esta búsqueda masiva con nue-vos procedimientos bioquímicos que se complementen con áreas como machine learningy análisis de imágenes [43], que asistan la tarea del investigador, al reducir el tiempo deensayo y facilitar la categorización a través del uso de patrones clave para la detección defenotipos de interés.

2.5.2. Revisión de artículos

Para la búsqueda de artículos relacionados con el tema de investigación de esta tesisdoctoral se usaron las siguientes librerías digitales: ACM, IEEE Xplore, Scopus y Pubmed.En cada una de estas librerías se formularon cadenas de búsqueda usando diversas com-binaciones mediante lógica booleana sobre las siguientes palabras: enzyme activity, colorquantification, image analysis, machine learning, neural networks, prediction, hydrolysishalo. La búsqueda se realizo en los títulos, el resumen y en palabras clave. No se limitóla búsqueda con algún periodo de publicación o tipo de documento.

Los trabajos de investigación encontrados que utilizan técnicas cromogénicas para

39

Page 40: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

cuantificar AE, destacan las descritas por [9] quienes desarrollaron un protocolo de me-dición de actividad celulolítica, empleando CMC solidificado y teñido con Yoduro de Gram.Su técnica es capaz de mostrar cualitativamente cambios de tinción y relacionarlos con laactividad enzimática. Los autores recomiendan su enfoque para HTS, sin embargo, en ladescripción de su método es necesario realizar una serie de pasos que dificultan el mues-treo masivo, como inundación del sustrato para realizar la tinción con yoduro, seguidopor un tiempo de espera (20 min) y un lavado doble con etanol para que finalmente lamuestra pueda ser leída en el espectrofotómetro para su cuantificación.

En otro estudio, Julia Schückel et. al [8], desarrollan un kit de sustratos cromogénicosinsolubles, que al ser degradados por la acción enzimática los pigmentos son solubilizadosy filtrados para ser cuantificados mediante espectrofotometría, y de esta manera medir laactividad de las enzimas.El inconveniente de estos dos trabajos es la cantidad de pasos que necesariamente unlaboratorista debe ejecutar para acompañar cada prueba, además de que no logran se-parar sus protocolos del uso del espectrofotómetro, implicando pruebas destructivas ycon varios pasos, que al multiplicarlos por el número de ensayos masivos que implica elHigh-throughput screening (HTS) se convierten en un problema. Siendo estos ensayos de-pendientes del color, resulta factible ocupar análisis de imágenes sobre ellos como lo hanhecho múltiples aplicaciones en el campo de la biotecnología [4]. En el área de cuantifi-cación de actividad enzimática empleando análisis de imágenes aparecen estudios dondeanalizan imágenes en tonos de grises [3]. Otros trabajos analizan la fluorescencia, acti-vada por enzimas [6] (Aishan Hana, et. al., 2006) teniendo el inconveniente de la pérdidade fluorescencia debida al paso del tiempo. En el campo de la medicina [10] usan unsistema Camera Phone-Based para el análisis cuantitativo de una proteína C-reactiva dealta sensibilidad sobre enzyme-linked immunosorbent assay (ELISA) esto con la finalidadde acercar el análisis de la actividad enzimática de esta proteína a los hogares de lospacientes con enfermedades inflamatorias. Ellos se basan en el análisis colorimétrico delas muestras, tomando únicamente la componente azul del sistema RGB.

Los análisis de imágenes empleados en los artículos mencionados no utilizan de mane-ra integral toda la información que una imagen a color puede proporcionar, debido a quese trata de aplicaciones para microscopía fluorescente o a la facilidad de análisis que pre-sentan las imágenes en tonos de grises y con una sola componente de color. Con prácticascomo estas, se pierde información capaz de describir de mejor manera el comportamientodel sistema al despreciar los 6,000,000 de colores potenciales que un sistema RGB dis-pone. Además les resulta imposible brindar un registro y seguimiento continuo durantetodo el tiempo que se ocupa para realizar el ensayo, perdiéndose también informaciónvaliosa de la dinámica del sistema biológico.

En la tabla se muestran las características comunes de los trabajos mencionados.

40

Page 41: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.5 Revisión de la Literatura

Tabla 2.1: Listado de características comunes de artículos relacionados

Autores - Título Técnica utilizada

¿Usaelespectro-fotometro?

¿El métodode mediciónes cuantificable?

¿Se puede usarla técnicapara medirAE en pruebasmasivas HTS?

¿Es posibleAcelerarel tiempode respuesta?

Desventajas- ventajas ¿Cuantifican AE?

Diaz de Quijano Et. al.

Medicion de AE analizandoimagenes en grises deorganismos fluorecentes

Análisis categorizandotonos de grises deimágenes fluorescentes

no si no noVariación descontroladade fluorescencia a travésdel tiempo.

si

Johnsen, Hanneand Krause

Protocolo de medición deAE empleando CMCsolidificado y teñido conYoduro de Gram

Inundación del sustrato(CMC solidificado) pararealizar la tinción con yoduro,seguido por un tiempo deespera (20 min) y unlavado doble con etanolpara que finalmente lamuestra pueda ser leídaen el espectrofotómetropara su cuantificación.

si si no noProcedimiento queimplica múltiples ytardados pasos

si

Schückel, Et. al.

High-throughput Screeningof Carbohydrate-degradingEnzymes Using NovelInsoluble ChromogenicSubstrate Assay Kits

Kit de sustratoscromogénicosinsolubles, que alser degradadospor la acción enzimáticalos pigmentos sonsolubilizados, despuésfiltrados paraser cuantificados medianteespectrofotometría

si si no noImplica pruebasdestructivas si

C. M. McGeough Et. al.

Camera Phone-BasedQuantitative Analysisof C-Reactive ProteinELISA

Análisis colorimétricode las muestras, empleandola componente azul delsistema RGB

no si no si

Resultados variablesdebido a que no secuenta con un estándarpara el sistema de capturade la imagen.

si

Farrow Et. al.

High throughput screeningof fungal endoglucanase activityin Escherichia coli

Protocolo mejorado de losmétodos de lavado existentespara la actividad de la celulasa:las células cultivadas en placasde agar CMC se eliminan antesde la tinción CR.

no no si no

Reduce significativamente lacontaminación cruzada yes altamente escalable,lo que permite la detecciónrápida de miles de clones.

Solo puede identificartres clases de halos:inactivo, débilmente activoy altamente activo

si

2.5.3. Revisión de patentes

Las bases de datos empleadas en esta búsqueda contienen información desde noviem-bre de 1971 hasta octubre de 2017 para patentes concedidas, desde diciembre de 1991hasta octubre de 2017 para solicitudes de patente publicadas y desde marzo de 1992hasta octubre 2017 para registros de modelo de utilidad, todas estas bases incluyendohasta la última gaceta oficial del Instituto Mexicano de la Propiedad Industrial (IMPI) quese encuentre disponible. Adicionalmente, las búsquedas fueron verificadas en el sistemaconocido como SIGA (Sistema de Información de la Gaceta de la Propiedad Industrial) ad-ministrado por el IMPI, que almacena los datos bibliográficos de las patentes y registrosde modelo de utilidad desde 1890, y a partir de diciembre de 1991 para solicitudes depatente publicadas y registros de modelo de utilidad, cubriendo en todos los casos hastala última gaceta oficial del IMPI.

Además, se realizaron búsquedas en bases de datos de documentos internacionalescomo Questel Orbit, que incluye bases de datos ampliamente reconocidas como INPADOCy DERWENT, así como corroborarlas con otras bases de datos como la de la Oficina dePatentes y Marcas de los EUA, la Oficina Europea de Patentes y la Gaceta Electrónica delTratado de Cooperación en Materia de Patentes, entre otras.

Parámetros de la búsqueda.

La identificación y selección de los documentos relevantes relacionados, se realizó uti-lizando las siguientes palabras clave: Hydrolysis, enzyme, peptidase, chromogen, monitor,growth, observe, simple, scan, camera, photo, lens, screen, transilluminate.

41

Page 42: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

Adicionalmente, se consideraron las siguientes clases internacionales: G01N 15/14Investigación por medios electroópticos G12Q 01/00 Procesos de medida, investigación oanálisis en los que intervienen enzimas o microorganismos G12Q 01/06 Determinacióncuantitativa enzimática.

A continuación se muestran las patentes identificadas como relevantes, en la búsque-da en estas bases de datos.

1. En la patente [40] se describe un método para analizar muestras biológicas en elque se coloca una muestra en un substrato transparente con un agente que cambiede color si la concentración de los organismos aumenta. La muestra es expuesta ailuminación desde abajo y los rayos de luz pasan a través de esta para llegar a unfotodetector que captura la imagen de la muestra y la transmite a un sistema dondese estima la concentración de la especie en el medio de cultivo. Se especifica queel sistema fotodetector no tiene lente, y que esto hace que sea más fácil detectarlos cambios en las muestras. No se indica que lo que se esté cuantificando sea lahidrólisis enzimática. Tampoco se especifica que se use un transiluminador, pero sise describe que la fuente de luz debe ser de luz banca y que debe estar adaptada paratener una dispersión equitativa tal como la que se logra con los transiluminadores.

2. En la patente [39] se describe un método y equipo para analizar muestras. No seespecifica que dichas muestras sean enzimas y se analice su hidrólisis, sin embar-go, si se analizan muestras biológicas. El sistema consiste en tomar imágenes de lamuestra, analizarlas y posteriormente aislar secciones de la muestra. La muestrapuede tener un sustrato cromogénico para facilitar el análisis. También, se espe-cifica que la muestra es iluminada por un haz de luz que puede llegar a excitarla muestra para facilitar el análisis. No se especifica que la iluminación sea desdeabajo con un equipo de transiluminación.

3. En la patente [41] se describe un sistema para identificar y cuantificar coloniasbacterianas y el equipo para hacerlo. El equipo tiene una cámara de alta definicióncolocada en la parte superior, un sistema de iluminación de fondo que puede cam-biar de color para mejorar la calidad de las imágenes y la detección de bacterias,también cuenta con una puerta automática. Aunque no se especifica que el sistemade iluminación sea empleando un transiluminador, el concepto de iluminación esmuy similar. Tampoco se especifica que el sistema mida la hidrólisis enzimática ylas propiedades específicas de la cámara y del sistema de iluminación son diferentesa las del sistema analizado.

4. En la patente [21] se describe un sistema para fotografiar muestras biológicas parasu posterior análisis. El equipo tiene una cámara en la parte superior y un sistemade iluminación complejo, así como soportes para las muestras a ser fotografiadas. Elsistema de iluminación tiene un anillo de luz alrededor de la muestra y luz desde laparte de debajo de la muestra. Todas las fuentes de luz cuentan con difusores paralograr una iluminación pareja. El sistema se puede programar para proporcionaruna iluminación específica y tomar cinco fotos de la muestra a lo largo del tiempo

42

Page 43: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

2.5 Revisión de la Literatura

para observar cambios en la misma. No se describe que el sistema efectúe análisis nique mida hidrólisis enzimática. Tampoco se describen las propiedades de la cámarani se especifica que la iluminación sea a través de un transiluminador.

5. En la patente [20] se describe una máquina que cuenta células digitalmente em-pleando una cámara de alta definición y un sistema de iluminación, mismo quepuede ser un sistema de transiluminación. La máquina que se describe se ajustaautomáticamente para enfocar la imagen y cuenta las células detectadas en la ima-gen ampliada de la muestra. No se especifica que emplee sustrato cromogénico nique mida hidrólisis de enzimas.

6. Este dispositivo patente [19], es una carcasa dentro de la cual cabe una muestrabacteriana la cual es fotografiada desde la parte superior del dispositivo. El equipocuenta con iluminación por debajo de la muestra y también lateral. Las imágenesobtenidas pueden emplearse para realizar análisis cuantitativos por computadora.No se especifica que se mida la hidrólisis enzimática ya que se enfoca más bien enconteo bacteriano.

7. En la patente [18], la invención se trata de una cámara de contraste para realzarcolonias bacterianas respecto a la base de cultivo de las mismas. Por medio de estesistema se facilita el conteo de bacterias. El sistema permite introducir automáti-camente las muestras. Para lograr el contraste de las colonias bacterianas evitandoreflejos, se ilumina la caja petri por diversos ángulos, manteniendo la parte superiorcubierta por una superficie opaca. El conteo se realiza desde abajo de la muestra.

8. En la invención patente [17], se describe un método de análisis para contar partí-culas biológicas que consiste en analizar la densidad óptica de una muestra. Lasmuestras son analizadas por un microscopio y también en una computadora seanalizan las imágenes de la muestra obtenidas por una cámara.

Como conclusión se tiene que no se encontró algún dispositivo patentado que midaactividad enzimática por medio de dispositivos que utilicen el análisis de imágenes porcomputadora.

43

Page 44: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 2. Marco Teórico

44

Page 45: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Predicción de la actividad enzimática en tiempo real basado

en aprendizaje supervisado

Capítulo 3: Predicción de la actividad enzimática en tiemporeal basado en aprendizaje supervisado

3.1. Introducción

En esta sección abordaré primeramente la adquisición y limpieza de datos, enseguida,la manera en que construí los descriptores de enzimas. Después, el modelo de aprendizajepropuesto en su fase de entrenamiento y predicción. Finalmente, describiré la arquitec-tura propuesta de forma serial y paralela para la predicción de la actividad enzimática entiempo real.

La metodología propuesta consiste de 4 etapas que son:

1. Adquisición y limpieza de datos

2. Construcción de descriptores de Enzimas

3. Entrenamiento del modelo

4. Predicción de Actividad Enzimática en tiempo real

Adquisición y limpieza de datos Consiste en la toma de muestras de las enzimas delmundo real para generar datos que puedan ser manipulados por una computadora,seguido de un proceso de eliminación de registros de datos erróneos debidos alproceso de digitalización.

Construcción de descriptores de Enzimas Se refiere a la extracción de descriptores es-pecíficos que representen las características visuales de las enzimas dispuestas enimágenes o en vídeos, mediante un puntaje o valor cuantificable.

Entrenamiento del modelo Se refiere a una serie de pasos iterativos que conducen aque la salida del modelo se acerque a la salida real o esperada. La manera en quese lleva a cabo esta tarea es mediante continuos ajustes de los pesos asociados a laactivación de cada una de las neuronas que componen la red, siendo guiados estosajustes por el gradiente o derivada del error.

Predicción de actividad enzimática en tiempo real La predicción de actividad enzimá-tica, hace una generalización para asignar a un nuevo ejemplo un grado de actividadtomando como base el conocimiento aprendido durante el entrenamiento. El cali-ficativo de en tiempo real se refiere a que se diseña la predicción de la actividadenzimática utilizando hardware especializado para acelerar los procesos de predic-ción, logrando que se pueda obtener la respuesta a una velocidad mayor de la quese capturan las imágenes en vídeo (34 cuadros por segundo).

A continuación, describiré a detalle en que consiste cada uno de ellos y como fueronimplementados.

45

Page 46: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

3.2. Adquisición y limpieza de datos

En esta sección describiré como se realizó un conjunto de ensayos en el laboratoriopara obtener muestras físicas las cuales nombre como el "Dataset de n periodos con mplacas de elisa", posteriormente se describe como fueron digitalizadas las enzimas presen-tes en estas muestras físicas, después muestro dos preprocesos que ocupe para eliminarel ruido proveniente del equipo EV (Siglas de Enzyme Vision que es el equipo que se diseñóy utilizó para la digitalización), que son la calibración del offset y la compensación de ladistribución irregular de la luz, a continuación presento las etapas de segmentación de ladegradación cromática, y finalmente el cálculo de cromaticidades, que generaran en suconjunto, la base de conocimientos de cromaticidad del sistema (ver diagrama 3.1).

Figura 3.1: Diagrama de flujo que muestra las etapas de adquisición-limpieza de datos yconstrucción de descriptores de enzimas.

46

Page 47: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.2 Adquisición y limpieza de datos

3.2.1. Dataset de n periodos con m placas de elisa

Debido a que, para este estudio altamente especializado, no existe una base de da-tos disponible, tuve que crearla. En el laboratorio de biotecnología industrial del CIATEJtuve que hacer un conjunto de ensayos bioquímicos los cuales consistieron en mezclaCMC como sustrato y rojo Congo como pigmento, sobre diez placas (m=10) tipo Elisa con96 pozos, se le adicionó la enzima (cTec from Novozyme) durante veinticuatro períodos(1,2,3...24 horas) a cada pozo. Dando un total de 10 x 24 x 96 = 23,040 muestras indivi-duales. Estas muestras se agitaron e incubaron a 30 grados centígrados durante todo elexperimento.

3.2.2. Adquisición de enzimas digitalizadas

Para que las 23,040 muestras individuales puedan ser procesadas matemáticamente,tuve que diseñar un equipo llamado Enzime-Vision (EV) capaz de digitalizar las muestras(ver la sección de appendices donde se muestran los detalles de construccion que se uti-lizaron para cada una de las partes que componen el prototipo, figuras 1, 2 , 3, junto consu ensamble figura 4). Este equipo debe cubrir una serie de requisitos para que puedaevidenciar los fenómenos físico-químicos que ocurren en el ensayo sin introducir ruidoadicional en el proceso de captura. Es decir, se tiene que garantizar que las variacionesregistradas, provengan exclusivamente de la dinámica enzimática.

Los principales componentes y restricciones físicas del equipo son:

La cámara usada fue un modelo SM-G531H marca Samsung, con una resoluciónde 2048 x 1152 píxeles de 24 bits.

La cámara y la placa con las muestras se fijaron a una base rígida y se mantuvierona una distancia fija de 200 mm de altura entre ellas. Esto con la intención deeliminar las variaciones de tamaño que se presentan al acercar o alejar un objeto alsensor óptico.

El sistema cámara-objeto fue aislado empleando paredes y techo opacas. Existenmúltiples fuentes de luz exterior que pueden contaminar e ingresar ruido a el mues-treo. Entre las principales fuentes está la luz del sol, lámparas de la calle o cualquierfuente de luz dentro del laboratorio. La única fuente de luz permitida es la que sedetalla en el siguiente punto.

La iluminación tipo bright field que se transmitió a través de la mezcla enzimáticaproviene de un trasluminator con una lámpara fluorescente circular de 32 W, 1900lm, con una temperatura de color de 6500 K, y un diámetro del bulbo de 11-9-64pulgadas.

Adicionalmente, los parámetros de la cámara fueron ajustados con los siguientesvalores: abertura de diafragma f/2.2, tiempo de exposición de 1/120 segundos,sensibilidad del sensor ISO-50, longitud focal de 3 mm, el balance de blancos secompensó con la temperatura de la lámpara.

47

Page 48: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

Es importante ajustarse a estas condiciones en el proceso de captura, para garantizarla repetibilidad y reproducibilidad en el equipo.

La figura 3.2 muestra un bosquejo de como se ve el prototipo físicamente.

Figura 3.2: Prototipo Enzime-Vision. A: Cámara; B: Domo de aislamiento de luz exterior; C:Tranluminador; D: Fuente de luz circular; E: Charola porta placas; F: Ducto para conexióncon el sistema de procesamiento de datos en tiempo real; G: Guías para fijar la posición dela placa.

Ahora bien, a pesar de cumplir todas las restricciones anteriores, cuando se trata dedeterminar el valor de una magnitud con cualquier instrumento de medición, incluidoeste, el número que se obtiene como resultado de las medidas no es el valor exacto dedicha magnitud, sino que estará afectado por un cierto error, en este caso, debido a quelas imágenes vienen contaminadas con dos tipos de ruido. El primero es inherente alsensor óptico empleado (compensado mediante la calibración del offset) y el segundo serelaciona con la fuente de iluminación.

El manejo y tratamiento de estos dos ruidos constituyen la fase de pre-procesamiento,la cual ocupa filtros que recibe como entrada la imagen cruda proveniente del equipo EVy produce a la salida una matriz limpia o imagen verdadera (ver esquema 3.3).

48

Page 49: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.2 Adquisición y limpieza de datos

Figura 3.3: Diagrama a bloques de los dos preprocesos que se ocupan para eliminar elruido de la imagen. a) ruido proveniente del instrumento b) ruido asociado a la fuente deiluminación.

3.2.3. Calibración del offset

El offset se define como el error inicial del instrumento de medición o el error que tienela cámara de fábrica, es decir cuando la cámara a pesar de no tener estímulos luminosos,marca valores diferentes a cero en ciertas regiones de la imagen. Así por ejemplo, pordefectos de ajuste, una medida que debiera resultar nula (aparato en vacío), da distintode cero. Algunos instrumentos poseen un dispositivo de ajuste de cero, para estos casos,con el cual se puede corregir fácilmente este error, como es el caso de las básculas cuandoson taradas a cero. Pero en el caso de una cámara, para eliminar este error, se efectúa lalectura del aparato en vacío y se corrigen las medidas que se realicen restándoles (errorpor exceso) o sumándoles (error por defecto) la desviación del cero.

Procedimiento a seguir para hacer esta corrección:1. Obstruir completamente el lente de la cámara y capturar 5 imágenes en esta con-

dición.2. Descomponer la imagen en sus matrices cromáticas, es decir la matriz con intensi-

dades rojas, la matriz con intensidades verdes y la matriz con intensidades en azul.3. Promediar los 5 canales de color rojo.4. Promediar los 5 canales de color verde.5. Promediar los 5 canales de color azul.6. Construir con estos promedios resultantes una imagen que represente el offset,

conocida como imagen obscura (Idark).7. Restar esta imagen obscura a la imagen cruda (Iraw) que proviene del equipo

Enzime-Vision, para obtener finalmente la imagen sin error de offset (CIns) (ver formula(3.1).

CIns = Iraw(y,x) − Idark(y,x) 3.1

3.2.4. Compensación de la distribución irregular de la luz

La iluminación con frecuencia conduce a situaciones en las que la imagen muestra unsombreado significativo en todo el campo de visión. En algunos casos, la imagen puedeser brillante en el centro y disminuir el brillo a medida que uno va al borde del campo

49

Page 50: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

de visión. En otros casos, la imagen puede ser más oscura en el lado izquierdo y másclara en el lado derecho. El sombreado puede ser causado por iluminación no uniforme,sensibilidad de cámara no uniforme o incluso suciedad y polvo en las superficies decristal (lente). En general, este efecto de sombreado no es deseable. La eliminación de estoes frecuentemente necesaria para el procesamiento posterior y especialmente cuando elobjetivo final es el análisis de imágenes.

El procedimiento para tratar este problema es:1. Capturar 5 imágenes en blanco, es decir solo con la iluminación encendida y sin algúnobjeto presente.2. Promediar estas 5 imágenes en sus canales rojo, verde y azul respectivamente.3. Normalizar esta imagen en cada uno de sus canales, para que los valores que repre-sentan a cada matriz de color, oscilen de cero a uno (no de 0 a 255 como es costumbrerepresentarlos).4. Usar esta imagen normalizada como divisor de la imagen con este tipo de ruido.La razón de dividir con una imagen normalizada, es debido a que si la imagen en unadeterminada zona presentó iluminación correcta es decir con una intensidad de 255 (estevalor se corresponde a 1 al normalizar) y al dividir entre uno no se hace ningún cambio.Pero si la iluminación fuera del 50 por ciento en otra zona, es decir, de 128 (lo que secorresponde a 0.5 normalizado), y al dividir esta región entre 0.5 sucede que se esta mul-tiplicando por 2 o dicho de otra manera compensando con un peso del doble lo que estáahí (128) llevándolo a 255, logrando así emparejar artificialmente los errores de ilumina-ción en esta zona. Este razonamiento (ver formula 3.2) funciona para cualquier valor nouniforme que pudiera estar presente.

Itrue(y,x) =CIns

IshadingN(y,x)3.2

3.2.5. Segmentación de la degradación cromática

Una vez eliminados el ruido inherente al equipo EV, sigue el proceso de localizar lascoordenadas espaciales en donde se ubican las zonas o regiones de interés, ROI (Regionof Interest) por sus siglas en inglés, es decir, etiquetar la posición y dimensión de cadauna de las submatrices que contengan información de la degradación cromática.

El diagrama de flujo muestra los pasos que se realizan en esta etapa (ver diagrama3.4).

Figura 3.4: Diagrama que muestra los pasos realizados durante el proceso de segmenta-ción.

Cada uno de estos bloques es descrito a continuación:

50

Page 51: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.2 Adquisición y limpieza de datos

Selección del canal cromático Los algoritmos de segmentación trabajan con un solocanal monocromático, así que se divide la imagen a color, se despliega cada uno de loscanales de color en imágenes distintas, se selecciona a simple vista la que mejor contrasteofrezca entre los objetos de interés y el fondo de la imagen.

Segmentado 1. Descartar el fondo de la imagen mediante el algoritmo de Otsu

El algoritmo Otsu para segmentado, es un procedimiento no paramétrico que selec-ciona el umbral óptimo maximizando la varianza entre clases mediante una búsquedaexhaustiva.

Procedimiento:

Se Parte de una imagen en niveles de gris con N píxeles y L posibles niveles diferentes.

La probabilidad de ocurrencia del nivel de gris i en la imagen está dado por:

p1 =f1N

3.3

fi es la frecuencia de repetición del nivel de gris i-ésimo con i = 1,2,. . . ,L.

Para la umbralización en dos niveles (el fondo y los objetos), los píxeles se dividen endos clases C1 y C2, con niveles de gris [1,2,. . . ,t] y [t+1,t+2,. . . ,L] respectivamente.

Las medias para cada una de las clases se definen como:

µ1 =

l∑i=1

i · p1

ω1(t); µ2 =

L∑i=t+1

i · p1

ω2(t)3.4

La intensidad media total de la imagen se define:

µT = ω1 · µ1 + ω2 · µ2 3.5

Se define la varianza entre clases de una imagen umbralada como:

σ2b = ω1 · (µ1 − µT )2 + ω2 · (µ2 − µT )2 3.6

Se busca encontrar con la siguiente formula, el umbral t∗, que maximice la varianza:

t∗ = Maxt[σ2b (t)] 3.7

donde l <= t <= L

Una vez definido este umbral t∗, se descartan los elementos de la imagen superioresa este valor, por corresponderse con el fondo de la imagen y se conservan los inferiores oiguales, los cuales corresponden a posibles objetos de interés, etiquetándolos con ceros yunos respectivamente, obteniéndose así una imagen binaria al final de este proceso.

Segmentado 2. El segundo segmentado consiste en detallar las zonas útiles medianteel operador morfológico de erosión. Este operador trabaja con imágenes binarias y consisteen pasar a través de la imagen un elemento estructurante (matriz de unos de 5x5), quea su paso deja una marca sobre las zonas en donde éste encaja completamente sobre

51

Page 52: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

los objetos presentes (generándose así la nueva imagen erosionada). De esta forma, laperiferia irregular de los objetos resulta erosionada al no poder contener completamenteel elemento estructurante.

Segmentado 3. El tercer segmentado sirve para identificar subimágenes con objetosde interés ocupando el criterio de tomar solo los objetos con un área identificada y cono-cida.

Al finalizar el proceso de segmentación se procede a etiquetar las zonas detectadas,las cuales ya presentan la degradación cromática.

3.2.6. Cálculo de cromaticidad

Se procede a calcular los valores de color para cada subimagen etiquetada como sigue:Los valores de color fueron seleccionados tomando una región central de 100 X 100 píxelesen el centro de cada subimagen resultante de la segmentación.

Promediar los valores de esta zona y sacar un valor representativo en los canales rojo,verde y azul.

Nota: esto es válido en este muestreo bioquímico, debido a que el volumen en cadapozo es constante, y la mezcla se mantiene homogénea por agitación.

3.2.7. Base de conocimiento de cromaticidad

El conjunto de datos generado en la sección anterior fue dividido como lo indica lafigura 3.5, cubriendo las necesidades de ejemplos para efectuar el entrenamiento, lavalidación y la prueba del modelo.

Figura 3.5: Porcentajes típicos asignados en la distribución de los datos sobre cada uno delos grupos de entrenamiento, validación y prueba.

52

Page 53: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.3 Construcción de descriptores de enzimas

3.3. Construcción de descriptores de enzimas

La metodología para construir los descriptores, consiste en dos fases, en la primerase procede a eliminar mediante el proceso de detección de anomalías los ejemplos atípi-cos. Posteriormente se delimitan las fronteras entre cada descriptor, al implementar elalgoritmo kmeans sobre los datos restantes.

3.3.1. Extracción de anomalías

Algoritmo detector de anomalíasProcedimiento:1. Determinar la media de cada patrón y la matriz de covarianza como sigue, fórmulas

(3.8)(3.9) :

µ =1m

m∑i=1

x i 3.8

Σ =1m

m∑i=1

(x i − µ)((x i − µ)−T 3.9

2. Con los parámetros anteriores µ,Σ, se construye el modelo probabilístico, fórmula(3.10)

p(x; µ; Σ) =1

(2π)n2 |Σ|

12exp(−

12

(x − µ)TΣ−1(x − µ)) 3.10

3. Dado un nuevo ejemplo x, se determina no anómalo siempre y cuando cumpla laecuación (3.11)

p(x) =< ϸ 3.11

Nota: El ϸ se obtiene del mejor score F1, tomado de ejemplos anómalos conocidosusando en CV set.

3.3.2. Agrupación con el algoritmo de KMeans

Procedimiento1. Inicializa aleatoriamente n puntos en el conjunto de datos llamados centroides del gru-po.2. Asignación de clúster: asigne todos los ejemplos en uno de los n grupos según el cen-troide de clúster más cercano al ejemplo.3. Mover centroide: calcular los promedios para todos los puntos dentro de cada uno delos n grupos de centroides de grupo, luego mover los puntos de centroide del grupo a esospromedios.4. Vuelva a ejecutar (2) y (3) hasta que sean encontrados los clusters.

Para elegir el número de clusters use el método del codo.

53

Page 54: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

En el método del codo se gráfica el costo J (fórmula 3.12) y el número de clústeres K.La función de costo debe reducirse a medida que se aumenta el número de clústeres yluego se aplana.Elija K en el punto donde la función de costo comienza a aplanarse.

J =1m

m∑i=1|| x i − µc(i) ||

2 3.12

Nota 1: J siempre disminuirá a medida que se aumenta K. La única excepción es sik-means se queda atascado en un mal local óptimo.

Nota 2: Otra forma de elegir K es observar qué tan bien se desempeña k-means en unpropósito posterior. En otras palabras, elige K que resulta ser más útil para algún objetivoque se está tratando de lograr, con el uso de estos clústeres.

Una vez obtenido el número de clústeres óptimo, se asigna cada clúster a un descrip-tor de enzima; es decir el primer descriptor estará asociado a la distribución espacial quepresente el primer clúster. A esta primera zona la defino como zona con nivel de actividad1. De manera análoga se procede con los subsecuentes n descriptores.

Llamare los miembros de los clusters ejemplos, y descriptor a la región especial queocupa cada cluster; debido a que serán empleados para el entrenamiento de la red neu-ronal en la siguiente sección.

3.4. Entrenamiento del modelo

Para entrenar este sistema se requiere de un banco de datos previamente etiquetadospor un experto (dado que es un sistema supervisado), para que con ellos se le indiqueexplícitamente que tipo de comportamiento se le está solicitando.

En la etapa de entrenamiento se hace la selección de una de 100 diferentes arquitec-turas con base en el desempeño alcanzado al clasificar el grupo de datos del subconjuntovalidación, figura 3.4, (los 100 modelos son generados al acumular el número de neuro-nas de la capa de entrada en diez ocasiones sobre la capa oculta, y dentro de cada ocasiónevaluar el desempeño diez veces con un parámetro lambda diferente, figura3.6).

Es decir, en el método planteado, el conjunto de validación se usa únicamente paraescoger el valor de los parámetros lambda y el número de neuronas que la NN tendrá ensu capa oculta.

Una vez obtenidos los valores de estos dos parámetros, la NN es entrenada usando elconjunto de entrenamiento, para finalmente ser evaluada usando solamente el conjuntode prueba.

La técnica usada con el conjunto de datos de entrenamiento, validación y pruebafue del tipo hold-out la cual reduce el costo computacional asociado. Para evitar que laevaluación usando la técnica hold-out presente variaciones debidas a la forma en que sehace la división entre los conjuntos, se realiza para la conformación de cada uno de estosconjuntos una selección aleatoria.

54

Page 55: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.4 Entrenamiento del modelo

El conocimiento aprendido por la red neuronal se almacena en matrices, (como lamostrada en seguida, que representa los pesos de la capa oculta, para una arquitecturacon 3 neuronas en la entrada y 6 neuronas en la capa intermedia), para encontrar el valorde cada uno de sus elementos, primero deben ser inicializados con valores aleatorios e iránsiendo ajustados iteración tras iteración hasta encontrar el mínimo global del sistema.

θ1 =

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣

θ10 θ11 θ12 θ13

θ20 θ21 θ22 θ13

θ30 θ31 θ32 θ33

θ40 θ41 θ42 θ43

θ50 θ51 θ52 θ53

θ60 θ61 θ62 θ63

∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣.

Ahora se muestra el procedimiento en forma de diagrama indicado en la figura 3.6, conla intención de encontrar la cantidad de neuronas óptimas para la arquitectura neuronal.

Figura 3.6: Proceso de entrenamiento y selección de la arquitectura neuronal optima.

Primero defino algunas variables que se necesitan usar:L = número total de capas en la redsl = número de unidades en la capa lx (i) = vector columna de todos los patrones de entrada del ith ejemplo de entrenamienton =

∣∣∣x (i)∣∣∣ ; (número de patrones)

m = número de muestras para entrenamientoK = número de neuronas en la capa de salida

Por otro lado permita que X = Sea el conjunto de .Ejemplos"mencionados en la sección

55

Page 56: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

anterior y represente la primera parte del conjunto de entrenamiento, donde cada miem-bro se ordene vectorialmente como sigue:x (i)j = valor de patron j del ith ejemplo de entrenamiento. (De modo que x (i)

1 = cromaR, x(i)2 =

cromaG, x(i)3 = croma(i)

B ).

La segunda parte del conjunto de entrenamiento está dada por una nxm matriz di-mensional 2"que contiene las etiquetas de los descriptores.

De manera que el conjunto de entrenamiento este dado por: (x (1), y(1)), (x (2), y(2)), ..., (x (m), y(m))donde cada elemento de y tiene la forma yϸRm .

Algoritmo para determinar el número de neuronas en capa oculta

En esta sección se establece el número de neuronas que mejor desempeño ofrezcapara predecir el mayor número de ejemplos correctamente, y así construir el modelo conel número de neuronas óptimo como sigue:

Permita que la variable neuron_ocu establezca el número de neuronas que la arqui-tectura neuronal poseerá, sin contar el número de neuronas de la capa de entrada n, nide salida (K), por ser estas fijadas previamente al entrenamiento.

Permita que la variable lambda_i sea asociada con el parámetro de regularización parael aprendizaje de la red.

Dicho lo anterior procedo a definir los pasos que se ejecutan para el entrenamiento:

1. Inicialice la variable neuron_ocu con tantas neuronas como las definidas en la capade entrada del modelo.

2. Inicie con un valor para lambda_i de cero.

3. Entrene el modelo con estos valores de parámetros, siguiendo la subrutina 1.

4. Mida la exactitud de acuerdo con la fórmula: (3.9)

5. Incremente en 0.1 el factor lambda_i

6. Regrese al paso 3 hasta alcanzar lambda_i = 1

7. Incremente el número de neuronas para la capa oculta, acorde con: neuron_ocu =

neuron_ocu + n

8. Regrese al paso 1 hasta alcanzar neuron_ocu = 10 ∗ n

Subrutina 1

1. Inicializar los pesos

Inicializar todos los pesos con el mismo valor, no es adecuado para el entrenamiento de lared debido a que cuando se realice la propagación del error hacia atrás, todas las neuronasserán actualizadas con el mismo valor repetitivo. Es por esto que se debe inicializar cadapeso Θ

(l)ij a un valor aleatorio entre [−ϸ, ϸ] conforme a (3.13).

ϸ =

√6√

Loutput + Linput3.13

2. Forward propagation

56

Page 57: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.4 Entrenamiento del modelo

Una vez inicializadas se propaga la información desde la capa de entrada hacia lade salida para calcular a(l) para l=2,3,. . . ,L. A esto se le conoce como propagación haciaadelante.

Para obtener la salida de la red, primero se debe que encontrar los valores de cadauna de las neuronas de la primera capa oculta. Básicamente se realiza el producto escalarentre los valores de las neuronas de entrada contra los valores de las neuronas de lainmediata siguiente capa, y después se calcula que tanto se activa cada neurona acorde,con la función sigmoidea (3.14) y 3.7.

y = hθ(x) =1

1 + e−θT x3.14

Figura 3.7: Función de activación sigmoidea. La función se mantiene asintóticamente cer-cana a cero para valores inferiores a -6 y a uno para valores superiores a 6

Se Procede de forma análoga para calcular la activación de cada una de las siguientescapas ocultas.

Muestro como ejemplo de propagación hacia adelante de una arquitectura 3-6-4 paraencontrar los valores de activación de cada una de sus neuronas.

a21 = 1/(1 + e−(θ1

10x0+θ111x1+θ1

12x2+θ113x3))

a22 = 1/(1 + e−(θ1

20x0+θ121x1+θ1

22x2+θ123x3))

a23 = 1/(1 + e−(θ1

30x0+θ131x1+θ1

32x2+θ133x3))

a24 = 1/(1 + e−(θ1

40x0+θ141x1+θ1

42x2+θ143x3))

a25 = 1/(1 + e−(θ1

50x0+θ151x1+θ1

52x2+θ153x3))

a26 = 1/(1 + e−(θ1

60x0+θ161x1+θ1

62x2+θ163x3))

Y con ellas obtener los valores de la capa siguiente como sigue:

a31 = 1/(1 + e−(θ2

10a0+θ211a1+θ2

12a2+θ213a3+θ2

13a4+θ213a5+θ2

13a6))

a32 = 1/(1 + e−(θ2

20a0+θ221a1+θ2

22a2+θ223a3+θ2

23a4+θ223a5+θ2

23a6))

a33 = 1/(1 + e−(θ2

30a0+θ231a1+θ2

32a2+θ233a3+θ2

33a4+θ233a5+θ2

33a6))

a34 = 1/(1 + e−(θ2

40a0+θ241a1+θ2

42a2+θ243a3+θ2

43a4+θ243a5+θ2

43a6))

57

Page 58: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

3. Back propagation

El objetivo de este algoritmo es encontrar la derivada de la función de costo (3.15)para ocuparla como la guía de ajuste de pesos en el algoritmo de gradiente descendiente

J(Θ) = −1m

m∑i=1

K∑k=1

[y(i)k log((hΘ(x (i)))k) + (1 − y(i)

k ) log(1 − (hΘ(x (i)))k)]+λ

2m

L−1∑l=1

sl∑i=1

sl+1∑j=1

(Θ(l)j,i )

2

3.15Algoritmo back propagation

Dado el conjunto de entrenamiento {(x (1), y(1)) · · · (x (m), y(m))}

• Inicialice ∆(l)i,j = 0 para todos los (l,i,j)

Para el conjunto de entrenamiento t =1 to m:

• Establezca a(1) := x (t)

• Usando y(t) , calcule δ(L) = a(L) − y(t)

• Obtenga δ(L−1), δ(L−2), . . . , δ(2)

• Usando δ(l) = ((Θ(l))Tδ(l+1)) . ∗ a(l) . ∗ (1 − a(l))

•∆(l)i,j := ∆

(l)i,j + a(l)

j δ(l+1)i

•D(l)i,j :=

1m

(∆

(l)i,j + λΘ

(l)i,j

)si j <> 0

•D(l)i,j :=

1m

∆(l)i,j si j = 0

Nota: La matriz D(l)i,j representa la solución de la derivada de la función de costo. Así

que, se obtiene de forma indirecta (3.16)

D(l)i,j =

∂J(Θ)

∂Θ(l)i,j

3.16

4. Algoritmo Gradiente descendiente

Una vez calculada la derivada del costo con la técnica de back propagation, se usagradiente descendiente para minimizar el costo y obtener los valores finales de los pesos.La forma general del gradiente decendiente dice:

repetir {

θj = θj − α∂

∂θjJ(θ)

} hasta que converja

Nota: Se debe actualizar simultáneamente todos los pesos theta después de cadaiteración.

Fin de subrutina1

58

Page 59: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.4 Entrenamiento del modelo

Tabla 3.1: Coeficiente de velocidad α que marca la taza de aprendizaje de la red

Parámetro configurable αTipo de variable Valor sugerido Rango de valoresFlotante 0.0001 0 a 1

Tabla 3.2: Matriz de confusión con las posibles combinaciones entre la predicciones y lacondición real.

Condición verdaderaPoblación total Condición positiva Condición negativa

PredicciónCondición positiva True positive False positiveCondición negativa False negative True negative

El coeficiente α influye directamente en la velocidad de aprendizaje, un valor cercano ala unidad provoca que se den pasos grandes para acercarse al mínimo global del sistema,pero con el riesgo de nunca poder alcanzarlo, y ciclarse en brincos tan grandes que siem-pre lo pasen de un lado al otro. Por otro lado, un valor pequeño hará que se ocupen grancantidad de iteraciones en el algoritmo, pero se garantiza que, con estas múltiples repeti-ciones de pasos pequeños, se alcance al mínimo global. A fin de minimizar la función decosto y por ende el error del modelo. La siguiente tabla 3.1 muestra el valor recomendadopara este coeficiente.

Selección de arqi .lambai con el mejor desempeño o error mínimo

La exactitud y score F1 son los indicadores que muestran cual de entre todas lasarquitecturas generadas es la que obtiene el mejor desempeño, ahora describo cómo semanejan.

Primero se define un experimento de P instancias positivas y N instancias negati-vas para alguna condición. Los cuatro resultados se pueden formular en una matriz deconfusión, como se muestra en tabla 3.2

Nota: Los términos positivo y negativo se refieren a la predicción del clasificador, y lostérminos verdadero y falso se refieren a si esa predicción corresponde a la observación.

Dicho lo anterior ahora se puede definir qué tan verdadera es la predicción del modelocon la medición de la exactitud, conforme a (3.17).

Accuracy =tp + tn

tp + tn + fp + fn3.17

Los índices como la precisión, Recall y F1score también dan una buena medición sobreel desempeño.

Precisión. Se refiere a la dispersión del conjunto de valores obtenidos de medicio-nes repetidas de una magnitud. Cuanto menor es la dispersión mayor la precisión. Enproblemas de predicción se calcula con (3.18).

Precision =tp

tp + fp3.18

Recall. Es el número de verdaderos positivos dividido por el resultado de sumar el

59

Page 60: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

número de verdaderos positivos y el número de falsos negativos. Los verdaderos positivosson puntos de datos clasificados como positivos por el modelo que en realidad son positi-vos (lo que significa que son correctos), y los falsos negativos son puntos de datos que elmodelo identifica como negativos que en realidad son positivos (incorrectos) (3.19).

Recall =tp

tp + fn3.19

Ahora bien, como las mediciones de precisión y recall, no reflejan en todos los casosel desempeño real del clasificador (como el caso en que se tengan baja probabilidad deocurrencia en alguna clase o dicho de otra manera cuando se tienen muchos más ejemplosde una clase que de otra), se opta por usar un puntaje conocido como F1 score el cualresulta en una medición más confiable del desempeño (3.20).

F1score =2

1Recall + 1

Precision

3.20

De modo que, selecciona el clasificador arq_i.lamba_i con el valor de score F1 y accu-racy mas alto.

Una vez realizado lo anterior, el modelo neuronal resultante para la predicción deactividad enzimática consiste en una red neuronal artificial del tipo preceptrón multicapatotalmente conectado (3-9-6) como se aprecia en la figura 3.8.

Figura 3.8: Modelo neuronal tipo perceptron multicapa totalmente conectado. Tres neuronasen la capa de entrada, doce en la oculta y seis en la de salida.

En las tablas 3.3 y 3.4 se muestran los pesos para la capa oculta y la capa de salidarespectivamente.

60

Page 61: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.4 Entrenamiento del modelo

Tabla 3.3: Pesos asociados a la capa oculta. Las columnas representan las neuronas deentrada y los renglones representan a las neuronas ocultas.

θ1i,j 1 2 3 41 -2.2089 0.2382 -1.1804 -0.83012 -17.1192 0.1919 -2.3289 0.82613 -126.7710 0.9469 -1.0319 -0.26094 194.9079 -1.2528 -0.7722 1.11915 27.0460 0.1615 -1.0285 -1.16556 -46.4516 0.6253 -0.1026 -2.66837 53.4724 0.2169 -1.1539 -2.07518 -55.3633 -0.0025 0.7477 1.48049 -12.2109 0.2096 -1.5297 0.2501

Tabla 3.4: Pesos asociados a la capa de salida. Las columnas representan las neuronasde la capa oculta y los renglones representan a las neuronas de la capa de salida.

θ2i,j 1 2 3 4 5 61 -0.2796 -3.2589 -3.8564 -2.1022 -6.9202 -3.71382 -0.2922 -0.4007 -1.6530 -2.3255 -0.1550 0.98033 -0.4551 -1.0207 -0.7729 -2.1650 2.5559 1.07034 -3.7869 1.6285 1.1380 2.0140 0.6126 0.03015 2.3684 -2.1758 -1.2428 0.8538 2.7505 -2.13396 -0.6906 -1.2184 1.3751 -0.4632 0.6062 1.37357 -0.0975 -0.1184 -0.4356 -0.6252 -2.9088 2.84698 -0.8497 1.8873 -1.3795 -0.4933 0.9801 0.70199 0.5211 2.0251 1.4814 -1.6093 -0.1843 -1.480510 -1.5815 -1.8630 1.8973 1.1779 0.8907 0.5489

61

Page 62: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

3.5. Predicción de Actividad enzimática en tiempo real

Con el propósito de acelerar la respuesta del modelo, para que la predicción resulte entiempo real, voy a emplear las dos opciones de aceleración que se disponen actualmentey contrastarlas. La primera consiste en crear un microprocesador a la medida empleandotecnología FPGA. La segunda es utilizar la unidad de procesamiento gráfico (GPU) y coor-dinar el procesamiento en paralelo de tantos procesadores como enzimas se tengan en lamatriz de enzimas.

La forma en que se implementa cada uno de estos enfoques se describe a continuación:

Opción 1. Uso de FPGA para la implementación en tiempo real del modelo

La implementación del modelo neuronal se realizó dentro del FPGA Spartan-7 númeroxc7s50csga324-1 empleando como plataforma de desarrollo la versión de Vivado 2017.2y VHDL como lenguaje para la descripción del hardware.

Para implementar el modelo 3.8 en hardware y pueda operar en tiempo real, utilizoun método de diseño jerárquico, con el cual se analice el comportamiento funcional ytemporal de cada elemento de la red por separado y después se integren mediante unalgoritmo de alto nivel.

Se procede a descomponer el modelo 3.8 en 7 bloques individuales implementablesen hardware como sigue:

1. Módulo que ejecuta el producto punto paralelo para las 12 neuronas de la capaintermedia.

2. Módulo que ejecuta la función de activación sigmoidea para la capa oculta (x12).

3. Módulo que ejecuta el producto punto paralelo para las 6 neuronas de la capa desalida.

4. Módulo que ejecuta la función de activación sigmoidea para la capa de salida (x6).

5. Selector de descriptor de enzima.

6. Módulo de control general.

7. Módulo que alimenta la matriz de enzimas.

La figura 3.9 muestra de forma gráfica el contenido de los módulos junto con susinteracciones entre ellos.

62

Page 63: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

Figura 3.9: Diagrama que muestra la descripción funcional de la arquitectura en hardware.

Diseño y programación de cada componenteMódulo 1.

En este módulo se ejecuta el producto punto de cada una de las 12 neuronas de lacapa intermedia de forma concurrente.

El producto escalar o producto punto se realiza acorde con la ecuación (3.21)

z = ΘTx 3.21

Es suficiente, como muestra el producto de la primer neurona:z_1 := (1 ∗wb1) + (R ∗w11) + (G ∗w21) + (B ∗w31)

dónde:z_1: es la variable que almacena el resultado del producto escalar (siendo del tipo enterocon un rango de valores posibles desde -99999 hasta 99999).wb1: es una constante que almacena el peso aprendido en θ1

1,1

w11: es una constante que almacena el peso aprendido en θ11,2

w21: es una constante que almacena el peso aprendido en θ11,3

w31: es una constante que almacena el peso aprendido en θ11,4

R: es la variable entera con rango de 0 a 255 que almacena temporalmente la cromatici-dad roja.G: es la variable entera con rango de 0 a 255 que almacena temporalmente la cromatici-dad verde.

63

Page 64: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

B: es la variable entera con rango de 0 a 255 que almacena temporalmente la cromatici-dad azul.

La figura 3.10 muestra el diagrama RTL asociado a esta descripción.

Figura 3.10: Diagrama RTL del producto escalar realizado en el primer elemento procesadordel módulo 1

Así mismo, al describir dentro de este módulo, otros operadores como este pero asocia-dos con los valores correspondientes de las restantes 11 neuronas, servirá para obtenerel diseño de hardware concurrente que se requiere.

Es suficiente, como muestra el diagrama 3.11 donde se ve el diseño concurrente paraefectuar 6 productos escalares de forma paralela.

Figura 3.11: Diagrama RTL del producto vectorial realizado por seis elementos procesadorespertenecientes al módulo 1

64

Page 65: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

Tabla 3.5: LUT para calcular la función sigmoidea

dir 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15z -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8

f(z) 0 2 6 18 47 119 268 500 731 880 952 982 993 999 999 999

En segunda instancia y antes de ser convertido el producto escalar en una señal desalida, su valor ha de ser mapeado con una dirección de memoria, según se indica en latabla (3.5).

Con la intención de describir en hardware este mapeo, definí tres posibles casos:1. Si el valor de z es menor a -7; se asigna con cero la dirección de memoria.2. Si el valor de z es mayor a 7; se procede a fijar con 15 la dirección de memoria.3. Si el valor de z esta entre -7 y 7; se calcula la dirección según la formula (3.22):

dir_oc1 <= 7 + z 3.22

Nota: Esta dirección de memoria se maneja con la adición de un offset de 7 con laintensión de no usar (por conveniencia en esta arquitectura) el paso de cantidades consigno entre entidades distintas de hardware.

Ahora muestro tres de las consideraciones tomadas para el manejo de señales conpunto flotante en este diseño:

1. Se hicieron pruebas de la afectación en la precisión del clasificador al tomar solola parte entera de "z". Resultando en una pérdida de precisión del 0.02 por ciento,cantidad que resulta despreciable para el funcionamiento global del sistema (esdecir de una precisión de 96.16 se movió a 94.07 por ciento).

2. Se hicieron pruebas sobre la afectación que tiene el número de decimales tomadospara "s"(3.14) sobre la precisión del clasificador, resultando que no hay afectacióntomando de 3 cifras significativas en adelante.

3. Debido a que no se puede pasar una cantidad con punto flotante entre entidadesde hardware distintas. Se efectuaron las operaciones pertinentes para escalar todoslos coeficientes flotantes a enteros, antes de ser emitidos como señales de salida(Después de ingresados en la entidad destino, son reestructurados en formato flo-tante).

Módulo 2.

En este módulo se ejecuta la función de activación sigmoidea para la capa oculta(x12). En primer lugar, me gustaría dejar claro que, debido a que la función de Euler noestá definida en VHDL, resulta imposible describir el hardware usando directamente laformula (3.23).

Con la intención de subsanar este problema, el segundo módulo recibe una direcciónde memoria, en lugar del valor del producto vectorial "z", la cual utiliza sobre una memoria

65

Page 66: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

LUT para extraer la respuesta de la función sigmoidea (3.23) de forma indirecta.Los valores del dominio almacenado en la lut fluctúan desde [−7,+7], Considerandoinnecesario el almacenamiento para valores menores a -7 debido a que la función sigmoidetiene un valor muy cercano a cero en todos los casos, y para valores mayores a +7 unvalor muy cercano a 1, según se puede apreciar en figura 3.7.

s = f (z) =1

1 + ez3.23

Dicho brevemente, el módulo 2 está compuesto por un banco con memorias LUTcomo la mostrada en la tabla (3.5), donde cada LUT es asociada a una neurona de la capaoculta, con el propósito de obtener su respectivo valor de activación de forma concurrentecon las demás neuronas.

Módulo 3.

En este módulo se ejecuta el producto punto en paralelo para las 6 neuronas de lacapa de salida. El proceso es acorde con el especificado en el módulo 1, pero tomando losdatos de entrada de los niveles de activación de las neuronas de la capa oculta.

Módulo 4.

En este módulo, se ejecuta la función de activación sigmoidea para la capa de sa-lida (x6), de forma análoga a como se hace con el módulo 2, pero tomando los datoscorrespondientes en esta capa.

Módulo 5.

El módulo 5, realiza la función de selección del descriptor de enzima que le correspon-da al patron ingresado a la red. Es decir, este módulo compara el valor de las neuronasde salida, en busca de la que con más ímpetu indique la pertenencia a su categoría, Enotras palabras, la que más alto valor presente.

El siguiente esquema muestra cómo se interconectan los comparadores que se ocupanpara realizar esta función 3.12.

66

Page 67: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

Figura 3.12: Diagrama RTL de la etapa para la selección de la neurona ganadora

67

Page 68: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

Módulo 6.

El módulo 6 representa a el control general. Con el propósito de coordinar el funciona-miento de cada uno de los módulos que componen el cuerpo de la arquitectura, de modoque puedan realizar su trabajo adecuadamente, he diseñado este módulo basándose enla estructura Mealy, empleando un sistema secuencial marcado por pulsos de reloj. 3.13.

Figura 3.13: Estructura Mealy. Las señales de salida dependen tanto del estado en que seencuentra el sistema, como de la entrada que se aplica en determinado momento.

Las órdenes de control y sincronización de la arquitectura, proceden de la máquina deestado Mealy 3.14. Esta fue configurada con las instrucciones que marcan la transiciónque sigue cada uno de los estados, y las condiciones que controlan este movimiento.

Figura 3.14: Control de la arquitectura coordinado con una máquina de estados.

Este diagrama se puede codificar mediante una descripción de alto nivel en VHDL,estando compuesta por dos procesos; uno asíncrono y otro síncrono.

La información que reciben los estados, están indicados en la tabla 3.6. Así por ejem-plo, para que la primer bandera flag_oc_zs se active, tiene que recibir de cada uno de loselementos procesadores que componen el módulo 1 (ver figura 3.9), todas las señales res-pectivas de fin de proceso. De forma análoga, pero tomando los elementos procesadores

68

Page 69: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

Tabla 3.6: Conjunto de banderas para controlar la evolución de la máquina de estados.Cada entrada representa a su vez un conjunto de entradas, por ejemplo, la entrada flag_-oc_zs representa las 12 señales de fin de cálculo del producto vectorial previo a la activaciónde las neuronas ocultas. El valor 1 dentro de la tabla, representa que todas y cada una deestas señales fueron activadas.

Estado Entrada Estadopresente start flag_oc_zs flag_oc_ss flag_out_zs flag_out_ss flag_comp dir_r1 futuroini 0 0 proc1proc1 1 proc2proc2 proc3proc3 1 0 0 0 0 proc4proc4 1 1 0 0 0 proc5proc5 1 1 1 0 0 proc6proc6 1 1 1 1 0 proc7proc7 1 1 1 1 1 proc8

proc8 1 1 1 1 1EOF finNot EOF proc1

fin 1 1 1 1 1

correspondientes a cada módulo, se activan las subsecuentes banderas representadas enesta tabla.

El proceso síncrono

La transición entre estados se realiza por medio del proceso síncrono. La forma deactivar este proceso es mediante su lista de sensitividad, en donde se coloca a la señal dereloj junto con una señal de tipo enumerado (NS) que almacene el estado al que se muevela máquina.

Observe la forma en que se listan los identificadores de los estados de máquina, asícomo las señales utilizadas para el estado actual (PS) y siguiente (NS):

type state_type is (ini, proc1, proc2, proc3, proc4, proc5, proc6, proc7, proc8, fin);signal PS, NS: state_type;Finalmente se agregan la señal de reinicio (reset) y comienzo (start) al final de la lista

de sensitividad del proceso síncrono mencionado anteriormente. Así, cuando se habilitealguna de estas dos señales, la máquina de estados se moverá a su primer estado (ini).

Se observa la descripción genérica de hardware en VHDL del proceso síncrono.

sync\_proc: process (clk, NS, reset, start)

begin

if (reset=’1’ or start =’1’ ) then

PS <= ini;

Además, cuando la señal de reloj tome su flanco ascendente se produce la actualiza-ción del estado actual tomando el nuevo estado almacenado en la señal NS.

elsif (clk’event and clk = ’1’) then

69

Page 70: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

PS <= NS;

end if;

end process sync\_proc;

Proceso asíncrono.

El proceso combinatorio asíncrono se evalúa cuando el proceso síncrono realiza uncambio de estado (PS) o cuando algún elemento procesador(PE) que compone la arquitec-tura, indica el fin de su proceso.

A continuación, describo las funciones específicas que se realizan en cada uno de losestados de la máquina.

En el estado inicial (ini), después de recibir una señal de reset o start, el punterode la memoria se actualiza con la dirección de cero, con el propósito de apuntar alprimer elemento de la matriz de enzimas, almacenado en memoria RAM del módulo7.

En el estado 2 y 3 (proc1, proc2), se prepara el comienzo de la secuencia de ejecu-ción, mediante el reseteo de todos los elementos procesadores, con la finalidad deapagar las señales que recibe el control general de ellos.

En el estado 4 (proc3), se manda la habilitación de los elementos procesadores delmódulo 1, a fin de que calculen en paralelo todas las salidas "z"de la capa oculta (zse refiere a la salida después de realizar el producto punto o producto escalar).

En el estado 5 (proc4), se manda la habilitación para que trabajen en paralelo todoslos elementos procesadores del módulo 2.

El estado 6, se manda la habilitación de los PE del módulo 3 que calculan en para-lelo la función z de la capa de salida.

En el estado 7, manda la habilitación del módulo 4.

El estado 8, habilita el módulo selector de enzimas para comparar y seleccionar laneurona ganadora.

El estado 9, genera la secuencia de lectura que se sigue sobre la memoria que al-macena la matriz de enzimas a clasificar.Si la dirección generada es la última de la RAM, manda al estado final, sino regresaal estado 2, para resetear todos los módulos y procesar un patrón nuevo.

70

Page 71: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

Tabla 3.7: Salidas generadas por la máquina de estados. Las columnas representadas enlas salidas, son señales de habilitación, en donde por ejemplo la señal en_oc_s representala señal para habilitar el módulo que calcula la función sigmoidea.

Estado Salidapresente dir_r1 flag_done resets en_oc_z en_oc_s en_out_z en_out_s en_comp

ini 0 0proc1 1 0 0 0 0 0proc2 0proc3 1 0 0 0 0proc4 0 1 0 0 0proc5 0 0 1 0 0proc6 0 0 0 1 0proc7 0 0 0 0 1proc8 dir_r1+1

fin 1

El estado 10 (fin), es el estado final y solo manda la señal de conclusión total deltrabajo.

La tabla 3.7 muestra de forma compacta las salidas generadas en cada estado.

Módulo 7.

Este módulo se refiere a la creación de una memoria de acceso aleatorio, en la que sepuedan almacenar físicamente la matriz de enzimas a ser clasificada. Para el diseño deesta memoria se debe tomar en cuenta el ancho de bus (restricción física) y el númerode veces que se tenga que recurrir a efectuar una lectura (principal cuello de botella delsistema).

Para acelerar el procesamiento de la matriz de enzimas, se optó por construir unamemoria capaz de almacenar 24 bits en cada una de sus direcciones. La razón de ello, espara tomar juntas las cromaticidades de cada enzima (8 bits por cada una), y en un solociclo de reloj, enviarlas a ser procesadas.

Evaluación del desempeño FPGA

En cada uno de los componentes de la arquitectura se prueba su desempeño tantotemporal como funcionalmente empleando las herramientas de análisis que el softwarepara síntesis y simulación de hardware Vivado proporciona.

Adicionalmente, existen otras formas para medir el desempeño de una arquitecturaparalela como esta, la más obvia consiste en contar el tiempo total, junto con el númerode procesadores utilizados para realizar la tarea.

También se puede hacer una comparación entre el tiempo que le toma a un algoritmosecuencial contra un algoritmo paralelo realizar la misma tarea.

En particular, en una implementación de n elementos procesadores, se define el incre-mento en la taza de procesamiento (speedup) como la relación entre el tiempo que le toma

71

Page 72: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

al más rápido algoritmo secuencial ejecutar una tarea, en comparación con el tiempo quele toma a un sistema multiprocesador, acorde con (3.25).

Speedup =Tiempo con 1 procesador

Tiempo con n procesadores3.24

Otra medida en el desempeño del procesamiento paralelo, es el trabajo. El trabajoes definido como el producto del tiempo y el número de procesadores en una aplicaciónW = TP.

La noción de trabajo también puede ser usada para obtener la eficiencia del algoritmo.Específicamente, la eficiencia (E) de un algoritmo paralelo es definida como la relaciónentre el tiempo del mejor algoritmo secuencial(T) y el trabajo efectuado por el algoritmoparalelo (W).

E = T/W )

Opción 2. Uso de GPU para la implementación en tiempo real del modelo

El diagrama 3.15, muestra los pasos a seguir para implementar el modelo de predic-ción utilizando un solo elemento procesador de forma secuencial.

Por el contrario, el diagrama 3.16, muestra los pasos a seguir para implementar elmodelo de predicción paralela, utilizando un conjunto masivo de procesadores gráficos,disponibles en la tarjeta GPU. La diferencia entre ellos, se evidencia en el bloque 20del diagrama 3.15, que representa un ciclo para repetir m x n veces el proceso sobreun nuevo patrón de enzimas; mientras que en el diagrama 3.16, el trabajo es realizadoconcurrentemente por m x n elementos procesadores.

Para implementar este proceso, se empleó a CUDA SDK V7, algunas librerías deOpenCV para manipular las imágenes, la interfaz de programación Nsight y finalmentefue implementado en una tarjeta gráfica de NVIDIA GeForce GTX 780 con las siguientescaracterísticas:Dispositivo CUDA No. 0Numero de revisión mayoritario: 3Numero de revisión minoritario:5Nombre: GeForce GTX 780Total de memoria global:3220897792Total de memoria compartida por bloque: 49152Total de registros por bloque:65536Tamaño del warp:32Pitch maximo de memoria:2147483647Hilos maximos por bloque:1024Dimensión maxima 0 de bloque:1024Dimension maxima 1 de bloque: 1024

72

Page 73: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

Dimension maxima 2 de bloque: 64Dimension maxima 0 de grid: 2147483647Dimension maxima 1 de grid: 65535Dimension maxima 2 de grid: 65535Velocidad del reloj: 901500Memoria constante total: 65536Alineamiento de textura: 512Copiado y ejecución concurrente: SiNumero de multiprocesadores: 12Time out de ejecución del Kernel: Si

Figura 3.15: Diagrama del algoritmo secuencial que emula el funcionamiento de la redneuronal 3-12-6.

Descripción del algoritmo paralelo.

El proceso mostrado en el diagrama 3.16, se inicia separando las cromaticidades roja,verde y azul de cada una de las enzimas que integran la matriz en vectores fila. El pasode parámetros de los hilos en CUDA se hace referenciando la dirección de memoria endonde se inicia el almacenamiento del vector debido a que la figura de matriz no existeen el lenguaje C que ocupa CUDA para su sintaxis.

Después se reserva una cantidad de memoria en el dispositivo (tarjeta gráfica) suficien-te para contener los vectores cromáticos de las enzimas. Se declaran registros internospara asistir el proceso de activación neuronal y los pesos neuronales se envían a cons-tantes manejadas de acuerdo al hilo correspondiente. Esta declaración presenta ventajasobre la realizada en memoria global y memoria compartida en cuanto a la velocidad de

73

Page 74: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

Figura 3.16: Diagrama paralelo que emula el funcionamiento de la red neuronal 3-12-6.

acceso a los datos. Por lo expuesto, en registros internos se guardan las cromaticidades,productos y activaciones por ser ocupados con frecuencia durante la tarea de predicción.

Considerando las especificaciones de la tarjeta gráfica, los procesadores fueron orga-nizados en 680 bloques con 1024 elementos procesadores cada uno.

La dimensión del grid de bloques se obtiene a partir de las ecuaciones (3.25 y 3.26)tomando en cuenta el ANCHO y ALTO de la matriz de enzimas para obtener la dimensióndel grid de bloques. En el caso de la matriz de 1024 x 680 enzimas, se obtiene un grid.x =

1, grid.y = 680, cubriéndose por completo todas las enzimas con un hilo asociado.

grid.x = (ANCHO + BLOCK_X − 1)/BLOCK_X ; 3.25

grid.y = (ALTO + BLOCK_Y − 1)/BLOCK_Y ; 3.26

Las tareas de lectura e impresión de resultados se efectúan en el procesador principal(host). Las tareas repetitivas se efectúan en la tarjeta gráfica (device). Una vez leídos losvalores cromáticos en el host, estos son enviados hacia el device (envío de patrones ycontenedor de clases a la memoria global del kernel).

La manera de lograr que la tarea de predicción de m x n enzimas se realice en tiemporeal, implica repartir una parte del trabajo total a cada procesador. En esta labor, se debecuidar la asignación de tareas, de modo que no se presenten conflictos entre procesadorespares que compitan por un mismo recurso o trabajo. Se sigue la fórmula para asignar elalcance de cada procesador (3.27).

74

Page 75: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

3.5 Predicción de Actividad enzimática en tiempo real

l = i + j ∗ ANCHO 3.27

donde: l : es un identificador que etiqueta de forma única a cada diferente procesador.ANCHO: es el número de columnas de la matriz de enzimas i = blockDim.x ∗ blockIdx.x +

threadIdx.x j = blockDim.y ∗ blockIdx.y + threadIdx.y

Antes de hacer una predicción de algún elemento de la matriz de enzimas se debecomprobar su pertenencia a la clase enzimática, debido a que algunas regiones en lamatriz no corresponden con los atributos de una enzima y han sido identificados parano ser confundidos. De no pertenecer, el hilo asociado suspende su labor. Caso contrariose calcula de forma secuencial la activación de cada neurona incluida en la capa oculta.Empezando por el número 1 hasta terminar con el número 12.

Después de haber calculado cada hilo la activación de las neuronas ocultas, evalúala activación de sus neuronas de salida, empezando por la primera y avanzando secuen-cialmente hasta terminar la última.

Una vez estando disponibles los valores de activación de las neuronas de salida, sebusca la neurona ganadora (la cual corresponde con la activación más alta).

Nota: Estas activaciones para la obtención de la neurona ganadora se efectúan m x nveces de forma concurrente al disponer de m x n elementos procesadores.

Sin embargo, a pesar de que todos los elementos procesadores que trabajan en lapredicción se lanzan o inician al mismo tiempo, no necesariamente terminan juntos, asíque para prevenir el utilizar información que no esté completamente finalizada, se marcauna pausa que garantiza el término de todos y cada uno de los elementos procesadores,Antes de ser enviada la variable que almacena la salida hacia el procesador anfitrión(host) para el despliegue e impresión de resultados.

Finalmente, se liberan los recursos de memoria utilizados tanto en el host como en eldevice.

75

Page 76: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 3. Predicción de la actividad enzimática en tiempo real basado en aprendizaje supervisado

76

Page 77: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

ExperimentosCapítulo 4: Experimentos

4.1. Experimentos

En esta sección presento los experimentos para la detección de anomalías, además deobtener los descriptores usando el algoritmo k-means. Por otro lado, presento las arqui-tecturas neuronales probadas junto con sus tablas de desempeño. Finalmente presentolas pruebas para evaluar el comportamiento funcional y temporal de la red neuronalimplementada en múltiples procesadores paralelos.

4.1.1. Construcción de descriptores de Enzimas

Detección de ejemplos anómalos.

En cada uno de los 24 muestreos se tiene un grupo de ejemplos anómalos identificadosa priori y otros que obtengo aquí, experimentando con el algoritmo descrito en el capítulode metodología.

Se Inicia seleccionando el valor del umbral épsilon para cada grupo.Como ejemplo, se toman los elementos del grupo de validación 1 mostrados en la

tabla 4.1, y se calcula para un rango de valores potenciales para epsilon (ver tabla 4.2)los valores de precisión, recall y F1.

Para obtener el épsilon ganador, se evalúa cual de los casos presenta el mejor desem-peño sobre el indicador F1 (para este caso se corresponde con el segundo ϸ = 2,478709615957345e−04).

En segundo lugar, se calcula las medias y varianzas de cada grupo.Como ejemplo se muestran los histogramas (figura 4.1) del grupo 1, junto con sus

medidas de tendencia central correspondientes.

Figura 4.1: a) Histograma patrón 1, µ = 167,32; Σ = 11,84; b) Histograma patrón 2, µ =

12,41; Σ = 6,29; c) Histograma patrón 3, µ = 22,69; Σ = 9,35 .

Se Calcula según la formula 4.1 la densidad probabilística de cada muestra y segrafica su valor obtenido contrastándolo con el umbral épsilon obtenido.

p(x; µ; Σ) =1

(2π)n2 |Σ|

12exp(−

12

(x − µ)TΣ−1(x − µ)) 4.1

77

Page 78: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

Tabla 4.1: Vista parcial del Cross validation set pertenecientes al muestreo uno

croma roja croma verde croma azul estatus (1= anomalía)171 16 27 1166 10 20 0168 11 21 0168 13 24 0170 16 26 1168 12 22 0165 9 20 0168 11 22 0168 18 29 1167 13 21 0164 10 19 0164 9 20 0172 12 26 0164 9 20 0163 11 20 0

Tabla 4.2: Listado de umbrales evaluados para la distinción de ejemplos anómalos utili-zando el CV set

EpsilonCV Predicción

Precisión Recall F1tp fp fn

2.360803333321342e-05 0 0 3 NaN 0 NaN2.478709615957345e-04 2 0 1 1 0.666667 0.800004.721338898582555e-04 3 3 0 0.500000000000000 1 0.6666666666666676.963968181207766e-04 3 6 0 0.333333333333333 1 0.5000000000000009.206597463832976e-04 3 6 0 0.333333333333333 1 0.5000000000000000.001144922674646 3 7 0 0.300000000000000 1 0.4615384615384620.001369185602908 3 7 0 0.300000000000000 1 0.4615384615384620.001593448531171 3 7 0 0.300000000000000 1 0.4615384615384620.001817711459433 3 8 0 0.272727272727273 1 0.4285714285714290.002041974387696 3 10 0 0.230769230769231 1 0.3750000000000000.002266237315958 3 11 0 0.214285714285714 1 0.352941176470588

78

Page 79: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Mediante una línea horizontal se marca el umbral épsilon. Si la densidad probabilísticade cada muestra, pasa por arriba del valor de épsilon, se considera no anómalo, en casocontrario el ejemplo se toma como anómalo (ver figura 4.2).

Figura 4.2: Valores de la densidad probabilística de cada ejemplo (grupo 1).

Las zonas de densidad probabilística para el grupo 1, se indican con círculos con-céntricos en azul. Los ejemplos anómalos detectados se enmarcan en círculos rojos (verfigura 4.3).

Figura 4.3: Zonas de densidad probalilística del periodo 6.

Se repite el experimento 23 veces más para cubrir todos los grupos disponibles.Se grafican los resultados obtenidos (por efectos de claridad visual solo se muestran

4 grupos en 4.4).

79

Page 80: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

Figura 4.4: Valores de la densidad probabilística para cada ejemplo de 4 grupos indicandosu valor épsilon correspondiente a) ϸ = 7,090153e − 04 b) ϸ = 0,000721362127485656 c)ϸ = 0,000367675927979642 d) ϸ = 0,000875024921869681

Finalmente, todos los ejemplos anómalos marcados en cada grupo por el algoritmodetector de anomalías, no participan en el posterior ensayo con el algoritmo no supervi-sado kmeans.

Algoritmo Kmeans para obtener descriptores de enzimas

A continuación, se muestra gráficamente el desempeño del algoritmo kmeans sobretodo el dataset, sin incluir los ejemplos anómalos. Primero, se experimenta con el algo-ritmo kmeans usando tres semillas y se obtiene el crecimiento mostrado en la figura 4.5a).

80

Page 81: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Figura 4.5: Evolución de la agrupación del dataset. El eje vertical representa la cromaticidadroja y el eje horizontal la cromaticidad azul, la cromaticidad verde no se muestra. a) divisióndel dataset usando tres semillas. b) división del dataset usando cuatro semillas.

Adicionalmente, se ejecuta el programa kmeans aumentando gradualmente el númerode semillas (ver figura 4.6 y 4.7).

Figura 4.6: Evolución del dataset repartido en cinco (a) y seis (b) clusters. Los centroides serepresentan por cruces y su evolución se muestra con líneas.

81

Page 82: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

Figura 4.7: Evolución del dataset repartido en siete (a) y ocho (b) clusters. Los centroidesse representan por cruces y su evolución se muestra con líneas.

Para cada ejecución he calculado la distancia del centroide del grupo hacia todos ycada uno de los miembros, promediándola para obtener el costo asociado a cada experi-mento siguiendo la metodología descrita en 3.22.

La gráfica 4.8 muestra la relación costo-número de clusters. El punto de inflexión de lagráfica en esta experimentación se da al tomar seis clusters, y siguiendo la recomendaciónestablecida en la metodología, se procede a separar en seis regiones el dataset.

Nota: Estas seis regiones que se forman producto de la separación y agrupación an-terior, son la base para establecer las fronteras entre los descriptores de enzimas.

82

Page 83: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Figura 4.8: Método del codo para selección del número de clusters. La flecha verde indicael punto de inflexión de la curva, el cual se asocia al número de clusters óptimo.

Para una cantidad establecida de seis semillas, presento la evolución del algoritmokmeans en sus tres primeras iteraciones en la figura 4.9. Los centroides dejan de moversedespués de 100 iteraciones.

Figura 4.9: Evolución del dataset sobre el centroide para una (a), dos (b) y tres (c) iteraccio-nes. El trayecto que sigue cada centroide de grupo se indica con una línea continua.

4.1.2. Entrenamiento del modelo

La tabla 4.3 muestra los resultados obtenidos en el entrenamiento de la red, paraarquitecturas neuronales evaluando su exactitud con diferentes parámetros de ajuste(siguiendo el procedimiento descrito en algoritmo para determinar el número de neuronas

83

Page 84: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

Tabla 4.3: Selección de arquitecturas neuronales con una capa oculta, variando parámetroscomo el factor de regularización para evitar el sobre aprendizaje

Neuronas en capa oculta 1 Regularización CV Accuracy error (training set)3 1 87.5 1.0416 1 87.51 0.9619 1 84.642857 0.81912 1 84.642857 0.75915 1 84.64 0.78212 0.9 86.428571 0.69512 0.8 84.642857 7.186014e-0112 0.7 86.428571 6.182124e-0112 0.6 86.428571 6.225628e-0112 0.5 84.642857 5.718086e-0112 0.4 89.872857 4.880995e-0112 0.3 82.857143 4.978779e-0112 0.2 84.642857 4.699150e-0112 0.1 84.642857 3.848603e-0112 1.1 84.642857 7.918877e-0112 1.2 86.428571 7.906053e-0112 1.3 84.642857 8.104103e-0112 1.4 84.642857 8.816702e-0112 1.5 82.857143 9.453668e-01

en capa oculta, detallado en el capítulo anterior).

En la tabla 4.3 se muestran las arquitecturas y sus parámetros para una capa oculta.

En la tabla 4.4 se muestran las arquitecturas, parámetros y desempeño para doscapas ocultas.

Las siguientes figuras 4.10, 4.11,4.12 muestran cada una de las arquitecturas conmejor desempeño tomando una, dos y tres capas ocultas, respectivamente.

De entre todas, la que es seleccionada por su mayor exactitud, es la mostrada en lafigura 4.10.

84

Page 85: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Tabla 4.4: Selección de arquitecturas neuronales con 2 capas, variando parámetros comoel factor de regularización para evitar el sobre aprendizaje

Arquitectura capa 1 capa 2 iteraciones Factor de regularización CV Accuracy1 3 3 1000 0.5 542 3 6 1000 1 533 3 9 200000 1 57.744 3 12 20000 0.5 695 6 3 40000 0.5 806 6 6 40000 0.5 87.37 6 9 40000 1 73.388 6 12 100000 1 72.679 9 3 40000 1 67.3710 9 6 100000 1 67.8411 9 9 100000 1 69.7112 9 12 200000 1 68.77

Figura 4.10: Arquitectura con una capa oculta con el mejor desempeño (89.8 por ciento deexactitud).

85

Page 86: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

Figura 4.11: Arquitectura con dos capas ocultas (accuracy alcanzado del 87 por ciento)

Figura 4.12: Arquitectura con tres capas ocultas (accuracy alcanzado del 83 por ciento).

4.1.3. Pruebas para evaluar el comportamiento funcional y temporal de la

red neuronal implementada en FPGA

En esta sección se muestran las pruebas para comprobar que el microprocesadortrabaja según lo descrito mediante VHDL, ingresando las señales de entrada y compro-bando que se generen las salidas esperadas en cada uno de los módulos que componenla arquitectura (ver la figura: 16 mostrada en la sección de appendices para una deta-llada descripción gráfica de cada uno de sus componentes e interconexiones entre ellos).Ademas, se realizan pruebas sobre la rapidez con que se entregan estas señales, debidoa que se trata de un sistema que trabaja en tiempo real.

Análisis funcional FPGA

Primeramente, se hizo un experimento sobre el impacto de variar el número de cifrassignificativas en los operandos, la prueba se realizó usando de una a cinco cifras signi-ficativas. Resultando que para 3 cifras significativas se obtiene el mayor porcentaje deprecisión en la clasificación del conjunto de entrenamiento y prueba. Como consecuenciase limitó el número de bits necesarios en la arquitectura para almacenar estas constantesa solo 10 bits, más uno adicional para almacenar el signo.

86

Page 87: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Por otro lado, para comprobar el funcionamiento de la arquitectura en hardware, sefabricó una memoria RAM con capacidad para almacenar 16 datos de 24 bits. En lasprimeras direcciones de memoria se almacenaron cromaticidades pertenecientes a cadauna de las seis clases que reconoce la red.

Para la descripción de la memoria RAM se creó un nuevo tipo de dato (mem) el cualconsiste en un arreglo de 16 vectores de 24 bits cada uno; así el acceso a un elementoespecífico del vector se realiza indicando el índice al cual pertenece (DIR).

Además, solo fue necesario implementar el proceso de lectura debido a que la RAMestará destinada solo a proporcionar datos que alimenten la red neuronal.

Una vez hecho accesibles los patrones mediante el almacenamiento de estos en laRAM creada, fueron llamados uno a uno por el módulo de control para ingresarlos alhardware creado.

El primer bloque al que se accedió es el que calcula la activación para cada una delas neuronas de la capa oculta de la arquitectura (cada neurona oculta tiene asociado 2bloques de hardware dedicado a calcular su activación).

En la figura 4.13 se muestra gráficamente la simulación funcional que comprueba elcomportamiento de los 2 bloques que conforman el hardware para una neurona en lacapa oculta. En la primera pantalla, se observa que se obtuvo la correcta dirección dememoria para la LUT, al ingresar los patrones de cromaticidad RGB, junto con señalespara el control y sincronización del módulo.

Como se ha dicho, el proceso para obtener la dirección de memoria proviene de calcularel producto punto de los patrones cromáticos contra los pesos asociados a la neuronacorrespondiente.

También se comprobó que cuando el controlador envía la orden de reset sobre todoslos procesos del componente NNoc1_z, se traduce en una desactivación de las banderasde todos los procesos para calcular las variables z de las neuronas en la capa oculta.

Así, por ejemplo, cuando el control indica que es el turno de procesar la informaciónque tiene el módulo disponible en sus terminales de entrada lo hace mediante la señalenable_oc_z mandando el valor a 1.

Para el manejo de las cantidades negativas, se probó empleando una variable quealmacena el signo, es decir, si el resultado de realizar el producto escalar entre los pesosy los patrones de cromaticidad da un valor negativo o dicho de otra manera, menor acero, esta variable se enciende a 1, sino se mantiene en cero.

Para emular el comportamiento de la función sigmoidea se implementa una tabla en laque se almacenan los resultados para los distintos valores que se obtienen en el productoescalar. La razón de recurrir a esta tabla, es por dos cuestiones, la primera es porque nose encuentra disponible la función exp(x) en ninguna librería de VHDL, la segunda es porcuestiones de rapidez en el cálculo.

Entonces, la manera de implementar la función exponencial en FPGA usando VHDL esmediante una lookup table (del inglés "tabla de consulta") que es una estructura de datos,normalmente un vector asociativo, que se usa para sustituir una rutina de computacióncon una simple indexación de los vectores. Son muy útiles a la hora de ahorrar tiempode procesamiento, porque sacar un valor de memoria es mucho más rápido que hacer la

87

Page 88: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

computación de la función.

Antes de implementar la LUT se tiene que definir los incrementos delta que se van amanejar desde el límite inferior, hasta llegar al límite superior correspondiente al rangode valores posibles para la función sigmoidea. Así para obtener éste incremento delta, setoma todo el conjunto de valores que se disponen en el set de entrenamiento, validación yprueba, se calcula el producto escalar con ellos y se calcula el mínimo común divisorde éste conjunto, para ello, se programa en matlab, una rutina que calcula el mcd.Obteniéndose al final para el rango de (-6 a 6) 13 valores, que se ingresan a la funciónsigmoidea y se registra su correspondiente resultado en la LUT, implementándola en elFPGA a través de una memoria de 16 direcciones.

Para probar el funcionamiento del banco de memorias tipo LUT se ocupó un procesocombinatorio que recibe en su lista de sensitividad las señales de enable y reset prove-nientes del control general, en donde al recibir un reset éste desactiva las banderas detodas las luts de las 12 neuronas ocultas, quedando en espera de su habilitación desdeel control para calcular el valor de la función sigmoidea sobre el primer producto escalar.Finalmente se comprobó la correcta obtención del valor asociado a la función sigmoideay que se enciende correctamente la bandera de cada neurona oculta, que ya ha obtenidola respuesta, como se aprecia en el apartado b) de la figura 4.13.

88

Page 89: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Figura 4.13: Simulación funcional de los bloques que conforman una neurona en la capaoculta. a) Dependiendo del resultado del producto punto calculado en la neurona se generauna dirección de memoria (dir_oc1) en este caso la dirección es 12. b) Al extraer el contenidode ésta dirección (12) en la lut, se obtiene el valor de la función sigmoide aproximado (993).c) diagrama RTL de los bloques con sus respectivas señales, para cálculo de la activaciónde la neurona número 1 de la capa oculta.

Finalmente, en la figura 4.15 se muestra las salidas o activaciones obtenidas de todaslas neuronas ocultas y la correcta selección de la clase ganadora (hecha por el modulo 5de la arquitectura), cada 8 ciclos de reloj.

Análisis temporal de la arquitectura FPGA

Con la finalidad de conocer el tiempo que tarda el sistema FPGA en procesar losdatos, se tiene que encontrar primero las frecuencias máximas de reloj que el sistemapuede soportar, después con ellas se calcula el tiempo que tarda cada módulo y con ellos

89

Page 90: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

obtener el tiempo global de la arquitectura.

Debido a que la frecuencia (F) es el inverso del periodo (T), es decir F = 1/T, paraencontrar la máxima frecuencia a la que se puede programar un circuito, primero se tieneque encontrar su periodo mínimo. El periodo de reloj de un sistema es el que marca el pasoen el sistema, si el periodo es largo el sistema es lento, por el contrario, si el periodo escorto, el sistema entrega resultados rápidamente, pero si es demasiado rápido, el tiempopuede no ser suficiente para que las señales eléctricas pasen por todos los circuitos,enviando respuestas incompletas a los siguientes módulos, y por ende generando unarespuesta diferente a la diseñada.

Calculo del mínimo periodo.

En un sistema digital el periodo mínimo está compuesto por los retardos máximos delos componentes sincrónicos, de los componentes combinacionales, y de las interconec-ciones entre ellos.

En un sistema hay muchos caminos sincrónicos o caminos de conexión entre flip-flops, pero el que es de interés para el cálculo del periodo mínimo es el camino mas lentode todos, es decir el que tiene los retardos máximos. El camino más lento también esllamado camino crítico. En la Figura 4.14 se muestra el camino crítico para el módulomás largo de nuestra arquitectura (modulo 1 y 3).

90

Page 91: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

Figura 4.14: Implementación sobre FPGA del producto escalar y ruta crítica marcada enazul, para el calculo del periodo.

91

Page 92: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

Tabla 4.5: Tabla de Análisis temporal del hardware implementado para un producto punto.

\bf Name \bf Path 1Slack 24.19ps

SourceRGB[23](input port clocked by enable_oc_z){[email protected] [email protected] period=250.000ps}

Destinationz_1000_reg[17]/D(positivelevel-sensitive latch clocked by enable_oc_z){rise@0ns fall@125 ps period=250ps}

Path Group enable_oc_zPath Type Setup (Max at Slow Process Corner)

Requirement 125.000ps (enable_oc_z [email protected] - enable_oc_z [email protected])Data Path Delay 121.07ps (logic 96.44ps (79.656 %) route 24.63ps (20.344 %))

Logic Levels 10 (CARRY4=5 DSP48E1=3 IBUF=1 LUT1=1)Input Delay 0.000ps

Clock Path Skew 20.62psClock Uncertainty 0.35ps

Total Period 250.00ps

A continuación, se muestran los factores para realizar el cálculo del periodo mínimo dela arquitectura. Todos estos factores fueron obtenidos con la herramienta de simulaciónde Xilinx Timing Analyzer.

La siguiente lista muestra la descripción de los componentes necesarios para calcularel periodo mínimo.

1. Retardo Sincrónico (Tco ) . Cuanto se demora en estar estable el dato a la salida deun flip-flop luego del flanco activo del reloj.

2. Retardo combinacional(Rc). Está compuesto por los componentes no sincrónicos,pueden ser compuertas lógicas, mux, decodificadores, LUTs, etc, del camino crítico.Puede haber más de uno de estos componentes; el retardo de cada uno se sumapara lograr el retardo total. La cantidad de componentes combinacionales en elcamino crítico es normalmente informado en el reporte de frecuencia máxima como’niveles lógicos’ (logic levels). Si se informa que el ’logic level’ es 5, significa que en elcamino critico hay 5 componentes lógicos combinacionales, en el caso del módulopara cálculo del producto punto se tienen 10 niveles lógicos ver tabla 4.5, tambiénse aprecian los 10 elementos (CARRY4=5 DSP48E1=3 IBUF=1 LUT1=1) en la figura4.14.

3. El retardo de ruteo o de conexiones (Rr ) se distinguen 3 tipos: a) Entre la salida delcomponente sincrónico (flip-flop) y la entrada a los componentes combinacionales.b) Entre los componentes combinacionales. c) Entre la salida de los componentescombinacionales y la entrada del flip-flop.

4. Tiempo de establecimiento del flip-flop (Tsu) donde termina el camino crítico. Eldato de entrada tiene que estar un tiempo de establecimiento antes de la llegada delflanco activo del reloj, para evitar problemas de metaestabilidad.

5. Margen de periodo (Clock Uncertainty). Se agrega un cierto margen para asegurarsela estabilidad del sistema.

92

Page 93: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

4.1 Experimentos

La plataforma para descripción de hardware de Xilinx Vivado, tiene una aplicaciónespecial para obtener los elementos mencionados anteriormente y se pueden obtenerutilizando un wizard especial, así que al emplearlo me dio un periodo total de 250 pssegún se aprecia tabla 4.5.

El tiempo más largo de la arquitectura es el que se requiere para el cálculo de unproducto escalar, en donde el periodo mínimo obtenido indica que se requiere de 250 pspara realizarlo. Debido a ésto, el tiempo para cada ciclo de reloj se fija sobre esta base,trabajando el circuito a una frecuencia de 4 GHz. Ahora bien, como se requiere de ochociclos de reloj para realizar una predicción como se ve en la figura 4.15, en 2 ns se realizaun proceso completo.

Figura 4.15: Numero de ciclos de reloj necesarios para clasificar un patrón.

93

Page 94: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 4. Experimentos

94

Page 95: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

ResultadosCapítulo 5: Resultados

En este capítulo se muestra como se aplica el modelo desarrollado en esta tesis, sobreuna prueba biológica que se realiza en placas de agar conocida como halos de hidrólisis,la cual se representa como caso de estudio. El método trasforma la información de lasimágenes de ensayos bioquímicos de halos de hidrólisis en conocimiento usando algorit-mos de aprendizaje automático como son las redes neuronales y el análisis de anomalías.El entrenamiento inicia desde la captura de la imagen con ruido del ensayo, su pre-procesamiento, filtrado, extracción de patrones discriminatorios, detección y eliminaciónde posibles anomalías. Además, para lograr la conformación de grupos que resulten deinterés para describir el ensayo, se utilizó el algoritmo no supervisado kmeans. Finalmen-te, con el propósito de realizar la descripción de un nuevo ensayo, se procede a predecirsu pertenencia en cualquiera de estos grupos de interés, empleando redes neuronalesartificiales.

Se reporta una validación de las intensidades cromáticas ingresadas al modelo me-diante el prototipo diseñado, al demostrarse su dependencia lineal con la absorbancia(por medio de un modelo matemático del tipo regresión lineal) dando una similitud R2 =0.9842 entre los resultados obtenidos con ambos métodos.

Por otra parte, debido las necesidades de análisis masivos (High Throughput Scree-ning) que este tipo de sistemas biológicos maneja, se plantea acelerar el tiempo del procesopara el despliegue de resultados, implementando de forma concurrente el módulo de pre-dicción del modelo, porque presenta las condiciones requeridas para separar sus tareasen procesos concurrentes y los costos elevados computacionalmente que maneja.

La aceleración del proceso se llevó a cabo mediante el uso de dos tecnologías dife-rentes, la primera ocupa un hardware diseñado a la medida. Esta implementa circuitoselectrónicos dedicados a los cálculos que realiza cada neurona que compone la red, ge-nerándose tantos procesadores paralelos como neuronas contenga la red. El diseño fuemediante el lenguaje de descripción de hardware (VHDL) y fue implementado en el FPGASpartan-7 número xc7s50csga324-1.

El segundo enfoque se realiza ocupando tecnología GPU de Nvidia, es decir sobreuna tarjeta gráfica con una masiva cantidad de procesadores paralelos, A fin de lanzartantos procesadores para que trabajen concurrentemente como elementos de la imagendel ensayo. El lenguaje de programación empleado es CUDA y se implementó en la tarjetagráfica GeForce GTX 780. Finalmente, se compara el desempeño temporal entre la versiónsecuencial, con GPUs, y FPGAs.

La propuesta se describe a continuación.Para estandarizar el proceso de descripción del ensayo de halo de hidrólisis, primero

se seleccionaron los patrones visuales de la imagen que pueden ser cuantificables. Comoson: área, perímetro, factor de compacidad, numero de Euler, tono de gris o niveles decolor de las capas roja (R), verde(G) y azul(B), estos fueron analizadas buscando caracte-rísticas discriminantes que tuvieran la capacidad de separar las imágenes de las muestrasenzimáticas en niveles o grados de actividad.

Se descubrió que los patrones de color RGB tuvieron la capacidad de agrupar en clús-

95

Page 96: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

teres los ensayos con niveles de actividad similares. Después mediante el entrenamientosupervisado de una red neuronal multicapa se establecieron las fronteras que separandichas actividades. Estas fronteras están indicadas mediante los pesos aprendidos por lared en sus capas de entrada, oculta y de salida. El resultado final fue la distinción de seisclases o grados de actividad.

En otras palabras, la red neuronal entrenada es capaz de detectar y etiquetar seisniveles de actividad, que sirven como una medición objetiva y repetible para cuantificarla actividad de la enzima.

Se debe agregar que, se diseñó físicamente un equipo que mantiene las restriccionesnecesarias para que los patrones de las imágenes capturadas del ensayo puedan sercuantificadas. Por citar algunas de las restricciones impuestas por el equipo, se tieneque al fijar la distancia entre la cámara y el ensayo, se eliminaron las transformacionesgeométricas de cambio en la escala y rotación del objeto fotografiado. Además, se controlóla cantidad de iluminación, bloqueado las entradas de luz que no provengan del sistemade iluminación del prototipo construido, estas pueden ser las provenientes del sol o dealguna otra fuente de iluminación externa. Con ello, se generó un sistema aislado endonde todos los parámetros que influyen en la creación de la imagen se mantienen fijos,propiciando que el equipo tenga repetitividad en la creación de las imágenes capturadasde cada ensayo. Garantizando así, que las variaciones en la imagen se deban solo a causasimputables a la dinámica de las enzimas.

En el anexo A se muestra el plano para la fabricación del equipo desarrollado que henombrado enzime vision (EV).

El siguiente paso fue realizar con las enzimas, el entrenamiento supervisado del cla-sificador tipo NN, el cual proporcionó las fronteras en el espacio RGB entre clústerspertenecientes a cada nivel de AE. Para ello utilice el algoritmo back propagation parahacer que el error converja y alcance el mínimo global. Es decir, que el error del sistemapresente su nivel más bajo.

Antes, de poder hacer la clasificación con una imagen de halo (imagen utilizada enel método biotecnológico basado en el empleo de agar), generé una serie de reactivoscromáticos en el laboratorio de biotecnología de Centro de Investigación y Asistencia enTecnología y Diseño del Estado de Jalisco (Ciatej) y El colegio de la frontera sur (Ecosur)para disponer del dataset necesario para entrenar la NN.

Después, se entrenó una NN con todos los patrones de color proporcionados por elequipo EV e hice que aprendiera las fronteras de una y otra clase a través de iteraciones.Una vez que la red aprendió los límites entre una clase y la otra, este conocimiento seguarda a través de pesos asignados a cada neurona en sus capas intermedias y de salida.

Hay que mencionar, además que para realizar el entrenamiento de la red, seleccioné laarquitectura neuronal optima, mediante la comparación del desempeño de varios mode-los, en busca de encontrar la configuración neuronal que presente los mejores resultados.

Con el equipo Enzime Vision construido, el dataset generado, y la arquitectura neu-ronal seleccionada, obtuve un sistema capaz de clasificar la imagen del halo de hidrólisis(que es la prueba masiva que comúnmente realizan en el área de biotecnología) en zonasde acuerdo a su nivel de Actividad Enzimática.

96

Page 97: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Lo que obtuve al final, es una imagen de halo con zonas etiquetadas en donde sepuedan ver claramente una serie de clases o de actividades con tonos cuantificables.

Por otra parte, debido a que las redes neuronales tienen la bondad de partirse ensecciones dada su naturaleza, se pudo acelerar el algoritmo con ayuda de (GPUs) y (FPGA).Se logró que cada sección trabaje en paralelo y de forma concurrente mediante el uso deestas tecnologías.

En los sistemas de reconocimiento, el enfoque serial ha bastado en la mayoría de lasaplicaciones. En contraste, con los sistemas en donde se procesan cantidades masivas deinformación como lo es este, la velocidad del procesador serial es insuficiente.

Las soluciones disponibles para acelerar un algoritmo ejecutado en un procesador depropósito general tipo CPU, son: 1) el uso de arquitecturas FPGA diseñadas especialmentepara la aplicación, lográndose eficientar el consumo de energía y acelerar los tiempos derespuesta, mediante la ejecución paralela de un número masivo de procesadores. 2) laimplementación paralela del programa en tarjetas gráficas las cuales disponen de multi-tud de procesadores que pueden ser configurados para que trabajen de forma coordinadaentre ellos dividiéndose los datos. Una opción es asignar cada pixel a un procesador hastacubrir toda la imagen.

Opción 1. Aceleración empleando FPGAObtuve la arquitectura de la NN en hardware, la sintetice empleando la descripción

del hardware hecha con el lenguaje vhdl. Esta arquitectura consta de un módulo dedistribución de los datos que alimentan al sistema y que es en donde se almacena laimagen a clasificar. Este tiene una RAM y un secuenciador que me proporciona los datosen orden.

Ademas se cuenta con un segundo módulo, que es el que hace los cálculos paraobtener los valores de la capa oculta de la red, entonces los cálculos obtenidos de él sonenviados al tercer módulo, en donde se calculan los valores de la capa de salida.

El paralelismo se logra porque se tiene en la red múltiples neuronas independientesque van a estar trabajando de forma paralela con un hardware exclusivo cada neurona.

El siguiente módulo compara las neuronas de la capa de salida en busca de la neuronaganadora. Todos estos módulos son controlados por el ultimo módulo, el cual se localizaen la parte inferior derecha del plano general de la arquitectura, (ver arquitectura en lasección de anexos). Este se encarga de mandar las secuencias de habilitación y las señalesde control para que los módulos estén coordinados a trabajar en paralelo y alimentadoscon los datos que requiere cada un de ellos.

Opción 2) Aceleración empleando GPUsLa otra opción que se ha realizado, consiste en implementar la red neuronal en un

GPU. A través de este enfoque, se hizo la implementación con tantos procesadores co-mo pixeles contenga la imagen, es decir, hay un procesador destinado a hacer el cálculode cada elemento de la imagen. Aquí el problema principal fue coordinar el acceso yla escritura de los datos de entrada y salida del sistema. Es decir, se requiere que losprocesadores ordenadamente usen la memoria global y tomen de ella los datos que re-quieran para hacer sus operaciones y que entre ellos no se vayan a estar conflictuandopor algún recurso computacional. Además, una vez terminado su proceso, estos puedan

97

Page 98: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Tabla 5.1: Comparación entre las absorbancias obtenidas por espectrofotometría, el modelode regresión lineal (ColAbs) y un modelo reducido con solo la variable más esencial (obtenidamediante el procedimiento stepwise).

Concentration R G BAbsorbance(510 nm)

ColAbs model(Eq. 12)

Reduced model(Abs= 6.812686- 0.02894*R)

ColAbs(relative error, %)

Reduced model(relative error, %)

C1R1 206 65 100 0.85 0.804 0.851 5.429 0.123C1R2 206 61 96 0.891 0.827 0.851 7.144 4.484C1R3 204 59 95 0.887 0.915 0.909 3.118 2.472C1R4 202 59 94 0.873 0.958 0.967 9.789 10.745C1R5 202 64 97 0.874 0.897 0.967 2.67 10.619C2R1 173 19 41 2.03 1.852 1.806 8.752 11.031C2R2 163 16 35 2.086 2.121 2.095 1.665 0.454C2R3 160 15 34 2.13 2.216 2.182 4.044 2.455C2R4 165 16 36 2.103 2.077 2.038 1.239 3.111C2R5 167 20 42 2.033 2.026 1.98 0.368 2.621C3R1 132 15 30 3.048 2.988 2.993 1.962 1.817C3R2 119 13 25 3.289 3.34 3.369 1.559 2.427C3R3 118 12 25 3.402 3.392 3.398 0.298 0.124C3R4 123 14 27 3.333 3.231 3.253 3.063 2.398C3R5 130 18 34 3.031 3.046 3.05 0.5 0.643C4R1 117 14 28 3.341 3.426 3.427 2.539 2.565C4R2 115 12 25 3.268 3.481 3.485 6.53 6.627C4R3 113 12 25 3.232 3.541 3.542 9.563 9.606C4R4 117 13 27 3.149 3.432 3.427 8.978 8.819C4R5 124 17 31 3.395 3.199 3.224 5.764 5.033C5R1 109 14 27 3.844 3.649 3.658 5.081 4.833C5R2 105 13 25 3.892 3.758 3.774 3.441 3.032C5R3 106 12 26 3.76 3.766 3.745 0.156 0.398C5R4 106 13 26 3.777 3.744 3.745 0.871 0.846C5R5 112 17 33 3.804 3.589 3.571 5.647 6.114C6R1 97 16 29 Over flow 0.804 0.851 - -C6R2 92 15 27 Over flow 0.827 0.851 - -C6R3 95 14 25 Over flow 0.915 0.909 - -C6R4 96 15 27 Over flow 0.958 0.967 - -C6R5 103 16 31 Over flow 0.897 0.967 - -C7R1 74 17 27 Over flow 1.852 1.806 - -C7R2 72 13 21 Over flow 2.121 2.095 - -C7R3 66 14 23 Over flow 2.216 2.182 - -C7R4 71 14 25 Over flow 2.077 2.038 - -C7R5 82 17 30 Over flow 2.026 1.98 - -C8R1 71 18 28 Over flow 2.988 2.993 - -C8R2 65 14 23 Over flow 3.34 3.369 - -C8R3 65 14 23 Over flow 3.392 3.398 - -C8R4 66 15 24 Over flow 3.231 3.253 - -C8R5 74 17 28 Over flow 3.046 3.05 - -C9R1 68 20 30 Over flow 3.426 3.427 - -C9R2 63 16 26 Over flow 3.481 3.485 - -C9R3 61 15 25 Over flow 3.541 3.542 - -C9R4 60 16 26 Over flow 3.432 3.427 - -C9R5 67 20 31 Over flow 3.199 3.224 - -

MRE 4 4.13

escribir su resultado en una región de memoria que no esté siendo ocupada por algúnotro procesador.

Finalmente, quiero enfatizar que la implementación de alguna de estas técnicas deaceleración en el equipo final son necesarias, debido a que el prototipo desarrollado estádirigido a monitorear ensayos masivos en tiempo real, y dado que se trabaja con secuen-cias de vídeo, se presenta un crecimiento exponencial de datos a ser procesados.

5.1. Validación de los patrones cromáticos del modelo

Un primer resultado que se obtuvo con los valores de RGB y absorbancia obtenidosdel ensayo de variación de tonalidades de rojo congo, el cual permitió observar que lamedición de absorbancia por espectrofotometría a 510nm, tiene un alcance limitado como

98

Page 99: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.1 Validación de los patrones cromáticos del modelo

se muestra en la tabla 5.1, donde se puede apreciar que a partir de la concentraciónC6R1 los datos ya no son detectados con este método. Adicionalmente, con la finalidad deobtener una medición de absorbancia para todas las muestras, estas fueron evaluadasa una longitud de onda menor, específicamente a 365nm, logrando ampliar el rango demedición 2 niveles más, pero la última clase (C9) no pudo ser leída aún. Sin embargo,con el método de adquisición propuesto en esta tesis, se pudo hacer la medición de las9 clases realizadas en este experimento. Este resultado evidencia una superioridad enel tema del alcance de medición que el equipo que se diseñó presenta sobre los equipostradicionales para análisis espectroscópicos.

Otro resultado que obtuve, fue al graficar en el plano RGB las diferentes tonalidadesde RC obtenidas (figura 5.1), lo cual me permitió observar que existe una separaciónno lineal en el espacio de color, entre tonos producto de la degradación del coloranterojo congo, con lo cual se dedujo que este método puede ser empleado para cuantificaractividad de enzimática con degradación cromática, empleando un clasificador como lasredes neuronales, por su capacidad de lidiar con fronteras no lineales entre clases comolas observadas.

Figura 5.1: Gráfico de degradacion de tonalidades RC.

Además, hay que mencionar que los valores RGB generados con el método de adqui-sición de datos propuesto y las absorbancias experimentales, fueron usados en conjuntopara obtener el modelo o ecuación 3.1 que demostró que las 2 representaciones sondependientes, es decir teniendo una se puede encontrar la otra.

En la tabla 5.1 se muestran las absorbancias generadas por el modelo de regresiónlineal (ecuación 5.1). Como resultado se observa que se obtienen valores cercanos a lasabsorbancias medidas directamente con el espectrofotómetro.

De manera que, se puede justificar la sustitución del espectrofotómetro por un sistemade adquisición de datos como el descrito en el capitulo 3 sección 3.2, capaz de obtener lastonalidades de color de una muestra, para el proceso de medición de actividad enzimáticaen pruebas HTS.

99

Page 100: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Análisis del modelo matemático de validación

Se Reportan ahora, algunos resultados estadísticos derivados del modelo matemático(ecuación 5.1).

Variable dependiente : absorbanciaVariables independientes: cromaticidad azul, verde, roja.

Parámetro Estimado Error Estándar Estadística T Valor PConstante 6.77732 0.196167 34.5488 0.0000

Azul 0.0158817 0.0283839 0.559533 0.5520Verde -0.0217541 0.0351792 -0.618381 0.5433Rojo -0.0298428 0.00366374 -8.14546 0.0000

Tabla 5.2: Valor y estadísticas de los coeficientes del modelo matemático.

Además, se muestran los siguientes resultados obtenidos del modelo de regresiónlineal.

R-cuadrada = 98.2077 por cientoError estándar de Est. = 0.148385Error absoluto medio = 0.10163Estadística de Durbin-Watson = 1.08016 (P=0.0015)

La estadística R-cuadrada indica que el modelo tal como se ha instalado explica98,2077 por ciento de la variabilidad en absorbancia. El error estándar de la estima-ción muestra la desviación estándar de los residuos, que es de 0,148385.

El error absoluto medio (MAE) de 0,10163 es el valor medio de los residuos. La es-tadística Durbin-Watson (DW) comprueba los residuos para determinar si existe unacorrelación significativa basada en el orden en que se producen en el archivo de datos.

La ecuación del modelo es:

absorvancia = 6,77732 + 0,0158817 ∗ blue − 0,0217541 ∗ green − 0,0298428 ∗ red 5.1

Así mismo, dado que el P-value es inferior a 0.05, existe una relación estadísticamentesignificativa entre las variables con el nivel de confianza del 95.0 %.

100

Page 101: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.1 Validación de los patrones cromáticos del modelo

Figura 5.2: Relación entre el dato medido y el obtenido matemáticamente.

Además, hay que mencionar que al determinar si el modelo se puede simplificar, seobservó que el valor P más alto en las variables independientes es 0.5520, perteneciendoa la cromaticidad azul. Dado que el valor de P es mayor o igual a 0.05, ese término no esestadísticamente significativo en el 95.0 por ciento.

Renglón Y Y Predecida Residuo Residuo Estandarizado17 3.232 3.54107 -0.309071 -2.4118 3.149 3.43171 -0.282709 -2.14

Tabla 5.3: La tabla de residuales inusuales enumera todas las observaciones que tienenresiduales de más que 2 en valor absoluto.

Los residuos estandarizados miden cuantas desviaciones estándar cada valor obser-vado de absorbancia se desvía del modelo usando todos los datos excepto ésa observación.

Figura 5.3: Residuos inusuales.

101

Page 102: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

5.2. Reporte de la eficiencia de clasificación de la red neuronal

Factor de clasificación: Actividad enzimática

Factores de entrada: cromaticidad roja, cromaticidad verde, cromaticidad azul.

Número de ejemplos en el conjunto de entrenamiento: 449

Número de ejemplos en el conjunto de validación: 600

EA Ejemplos Clasificados correctamente1 2304 98.642 2304 90.333 2304 95.234 2304 84.745 2304 89.666 2304 82.66

Total 13824 90.21

Tabla 5.4: Exactitud con el conjunto de entrenamiento para la NNEv.

EA Ejemplos Clasificados correctamente1 768 942 768 863 768 89.224 768 965 768 906 768 84

Total 4608 89.87

Tabla 5.5: Exactitud del conjunto de validación para la red neuronal NNEv.

En este procedimiento se utilizó un entrenamiento del tipo propagación hacia atrássobre la red neuronal, para clasificar todos los casos en diversos clases de actividadenzimática. El entrenamiento tomó en cuenta tres variables de entrada tomadas de los23,040 casos que el sistema dispone. Al final se obtiene un total de 90.21 por cientode casos clasificados correctamente por la red sobre el conjunto de entrenamiento, de89.87 por ciento sobre el conjunto de validación y 75.38 por ciento usando el conjunto deprueba.

102

Page 103: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.2 Reporte de la eficiencia de clasificación de la red neuronal

Real AE Tamaño Predicción 1 2 3 4 5 6de grupo

1 75 73 (98.65) 1 (1.35) 0 0 0 02 75 0 52 (69.33) 18 (24.00) 5 (6.67) 0 03 75 0 16 (21.33) 36 (48.00) 17 (22.67) 3 (4.00) 3 (4.00)4 75 1 (1.33) 8 (10.6) 13 (17.33) 49 (65.33) 2 (2.67) 2 (2.67)5 75 0 0 1 (1.33) 5 (6.67) 62 (82.67) 7 (9.33)6 75 0 0 1 (1.33) 4 (5.33) 8 (10.67) 62 (82.67)

Tabla 5.6: Tabla de clasificación de la red neuronal NNEv (hecha con un subconjunto tomadoaleatoreamente de los ejemplos disponibles para la prueba).

Otro resultado que se observó en el caso de los ejemplos que fueron mal clasificadospor la red, consistió en que la mala asignación siempre se da con la clase inmediatasuperior, de esta manera, los errores de la red son de grado menor debido a que lapredicción se aleja lo menos posible de lo real.

En las siguientes 2 tablas se muestran los pesos calculados para la capa oculta y lacapa de salida, al entrenar la NN.

Theta1 Capa de entrada • • •• 1 2 3 41 -2.2089 0.2382 -1.1804 -0.83012 -17.1192 0.1919 -2.3289 0.82613 -126.7710 0.9469 -1.0319 -0.26094 194.9079 -1.2528 -0.7722 1.11915 27.0460 0.1615 -1.0285 -1.16556 -46.4516 0.6253 -0.1026 -2.66837 53.4724 0.2169 -1.1539 -2.07518 -55.3633 -0.0025 0.7477 1.48049 -12.2109 0.2096 -1.5297 0.2501

Tabla 5.7: Pesos de la capa oculta de la NNEv.

Theta2 Capa de salida • • • • •• 1 2 3 4 5 61 -0.2796 -3.2589 -3.8564 -2.1022 -6.9202 -3.71382 -0.2922 -0.4007 -1.6530 -2.3255 -0.1550 0.98033 -0.4551 -1.0207 -0.7729 -2.1650 2.5559 1.07034 -3.7869 1.6285 1.1380 2.0140 0.6126 0.03015 2.3684 -2.1758 -1.2428 0.8538 2.7505 -2.13396 -0.6906 -1.2184 1.3751 -0.4632 0.6062 1.37357 -0.0975 -0.1184 -0.4356 -0.6252 -2.9088 2.84698 -0.8497 1.8873 -1.3795 -0.4933 0.9801 0.70199 0.5211 2.0251 1.4814 -1.6093 -0.1843 -1.480510 -1.5815 -1.8630 1.8973 1.1779 0.8907 0.5489

Tabla 5.8: Pesos de la capa de salida de la NNEv.

103

Page 104: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

5.3. Estadísticas del desempeño en GPU

El rendimiento puede ser limitado si una unidad funcional es sobre utilizada por lasinstrucciones ejecutadas por el kernel. El siguientes resultados muestran que el rendi-miento del kernel empleado, no está limitado por el uso excesivo de cualquier función,como las siguentes:

1. Carga/almacenamiento - Carga las instrucciones almacenadas para la memorialocal, compartida, global, constante, etc.

2. Aritméticas - Todas las instrucciones aritméticas, incluidas las enteras y de puntoflotante, sumas y multiplicaciones, operaciones lógicas y binarias, etc.

3. Control del flujo - Ramas directas e indirectas, saltos y llamadas.

4. Textura - Operaciones de textura.

Figura 5.4: Utilización de la unidad de funcional.

La siguiente tabla 5.5 muestra la mezcla de instrucciones ejecutadas por el kernel.Las instrucciones se agrupan en clases y para cada clase el gráfico muestra el porcentajede ciclos de ejecución del hilo que se dedicaron a ejecutar las instrucciones en esa clase.El resultado inactivo muestra las ejecuciones de subprocesos que no ejecutaron ningunainstrucción porque el subproceso estaba inactivo debido a una divergencia.

104

Page 105: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.3 Estadísticas del desempeño en GPU

Figura 5.5: Instrucciones ejecutadas por el kernel.

La siguiente tabla 5.6 muestra la mezcla de operaciones de coma flotante ejecutadaspor el kernel. Las operaciones se agrupan en clases y para cada clase el gráfico muestra elporcentaje de ciclos de ejecución del hilo que se dedicaron a ejecutar operaciones en esaclase. El resultado no suma a 100 por ciento porque las operaciones de punto no flotanteejecutadas por el núcleo no se muestran en este gráfico.

Figura 5.6: Porcentaje de operaciones de coma flotante ejecutadas por el kernel.

El tamaño del bloque del kernel, el uso de registros y de memoria compartida, permitenutilizar completamente todas los warps en la GPU.

El siguiente gráfico 5.7 muestra ocupación por SM, es decir, la cantidad activa debloques, hilos y warps por SM. Adicionalmente se muestran los hilos y registros ocupadosen cada bloque y la cantidad de memoria compartida ocupada.

105

Page 106: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Figura 5.7: Ocupación de SM, warps, registros y memoria compartida.

Los bloques de kernels se distribuyen a través de los multiprocesadores de GPU parasu ejecución. Dependiendo del número de bloques y de la duración de ejecución de cadabloque, algunos multiprocesadores pueden ser más utilizados que otros durante la eje-cución del kernel. La siguiente tabla 5.8 muestra la utilización de cada multiprocesadordurante la ejecución del kernel.

Figura 5.8: Utilización del multiprocesador.

En el gráfico de pastel 5.9 se muestran las fallas por las que se impide que se ejecutenwarps en un ciclo determinado, promediadas durante toda la ejecución del kernel.

1. Pipeline ocupado - Los recursos de cálculo requeridos por la instrucción, aún noestan disponibles.

2. Textura - El sub-sistema de texturas se utiliza plenamente o tiene demasiadassolicitudes pendientes.

3. Constant - Una carga constante es bloqueada, debido a una falta en la caché deconstantes.

4. Memory Throttle - Un gran número de operaciones de memoria pendientes impidenavanzar más adelante. Estas pueden reducirse combinando varias transacciones dememoria en una sola.

106

Page 107: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.3 Estadísticas del desempeño en GPU

5. Execution Dependency - Aún no está disponible una entrada requerida por la ins-trucción.

6. Not selected - Warp estaba listo para emitir, pero otro Warp fue emitido en su lugar.

7. Instruction Fetch - La siguiente instrucción de ensamblaje aún no ha sido comple-tado el tiempo que requiere para terminar su ciclo.

8. Memory Dependency - Una carga/almacén no se puede hacer porque los recursosrequeridos no están disponibles o están completamente utilizados

9. Synchronization - El warp esta bloqueado en una llamada.

Figura 5.9: Fallas que impiden la ejecución de los warps.

La siguiente tabla 5.10 muestra el ancho de banda de memoria utilizado en estekernel para los distintos tipos de memoria en el dispositivo. La tabla también muestra lautilización de cada tipo de memoria en relación con el rendimiento máximo soportado porla memoria.

107

Page 108: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Figura 5.10: Memorias del núcleo.

Para este dispositivo GeForce GTX 780, la utilización de la memoria del kernel fuesignificativamente menor que su utilización en computo.

Figura 5.11: Utilizacion de memoria y computo sobre el Kernel.

Evaluación del desempeño serial, GPU y FPGA

Para mostrar como se acelera el tiempo de respuesta al usar hardware dedicado quetrabaja en tiempo real como lo es el FPGA, y comparar los tiempos obtenidos contra los quese ocupan usando GPU y programación serial, se estableció una tabla en donde se tienendiversas resoluciones de imágenes junto con los tiempos que se toman en analizarlas conlas tres opciones antes comentadas. Además se presenta gráficamente los comparativosserial-GPU y GPU-FPGA.

108

Page 109: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.3 Estadísticas del desempeño en GPU

Tabla 5.9: Tabla de comparación de tiempos de respuesta entre la versión secuencial, FPGAy GPU.

Tipo de imagen Resolución Tiempo serial Tiempo CUDA Tiempo FPGAQVGA 240x320 0.044 0.002 0.00015VGA 640X480 0.154 0.006 0.00061XGA 1024X768 0.418 0.014 0.0015WXGA 1366X768 0.519 0.019 0.002SXGA 1280X1024 0.613 0.023 0.0026WSXGA 1600x1200 1.275 0.035 0.0038QXGA 2048x1536 1.467 0.054 0.0062

.

Figura 5.12: Tiempos de procesamiento usando proceso paralelos en GPU vs un procesadorserial.

En estas gráficas se aprecia como la opción que mas acelera el sistema es mediantela arquitectura FPGA.

109

Page 110: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Figura 5.13: Tiempos de procesamiento usando proceso paralelos en GPU vs un procesadorparalelo diseñado a la medida de la aplicación con FPGA.

En la figura 5.14 se observa el resultado completo de como se conformó la arquitecturaFPGA con el nombre de todos sus bloques funcionales y sus interconecciones entre ellos.

110

Page 111: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.4 Caso de estudio: Predicción de la actividad enzimática de microorganismos con presencia de halos

5.4. Caso de estudio: Predicción de la actividad enzimática de

microorganismos con presencia de halos

El modelo desarrollado en esta tesis tiene aplicación en ensayos bioquímicos que serealizan de forma masiva para el estudio de enzimas, empleadas en la producción de eta-nol. Estos ensayos miden la evolución de zonas claras, llamadas halos de hidrólisis. Sonpopulares en laboratorios que realizan high throughput screening (HTS) porque una grancantidad de microorganismos se pueden cultivar y preseleccionar en paralelo. Sin embar-go, tienen problemas debido a que la medición del halo depende de la capacidad visualde cada persona, por lo tanto, es subjetivo y genera información imprecisa. Además, esinsuficiente para tener una completa descripción de la evolución temporal (solo indica laexistencia de halo en un tiempo finito establecido por el especialista, típicamente de 16-48h en promedio), debido a que el monitoreo no se lleva a cabo en tiempo real. Adicional-mente, requiere un análisis espectrofotométrico para obtener una medición cuantitativade la actividad. Todas estas problemáticas son resueltas por el modelo neuronal acele-rado usado en este caso para predecir la actividad enzimática de microorganismos conpresencia de halos. El método sigue cuatro etapas que son: adquisición y limpieza dedatos, construcción de descriptores de enzimas, entrenamiento del modelo y finalmentela predicción de la actividad enzimática en tiempo real.

5.4.1. Adquisición y limpieza de datos

Se construyó el dataset digitalizando cinco cinéticas enzimáticas muestreadas cadahora durante un día completo. La digitalización de las imágenes del ensayo se realizó con elequipo Enzyme Vision (EV), el cual garantiza que las fluctuaciones temporales provengande la dinámica enzimática y no de factores ajenos a ella. El equipo fue desarrollado enesta tesis y está descrito en el capítulo 3. La figura 5.15 muestra el resultado de digitalizarcon el equipo Enzyme Vision una de las placas provenientes de la cinética enzimática.

Para la limpieza de los datos se utilizaron los pasos c y d mostrados en el diagrama3.1. Con ésto quiero decir que, primero se aplicó sobre las enzimas digitalizadas con elequipo EV, el operador para la calibración del sensor óptico, este compensa el error delinstrumento (offset) y se obtuvo una imagen con fondo homogéneo, seguido del operadorpara la compensación de la distribución irregular de la luz, que uniformó la iluminaciónen todas las regiones de la imagen. Lográndose así, desacoplar la influencia de la fuentede iluminación y del instrumento de captura SM-G531H sobre el proceso de digitalizaciónpara crear la imagen verdadera o libre de ruido ver figura 5.16.

Posteriormente siguiendo el inciso e) del diagrama 3.1 se lleva a cabo el proceso desegmentación de las regiones cromogénicas. Como se detalla en la figura 5.17.

Para el cálculo de las cromaticidades, se utiliza la información contenida en cada unode los cuadros verdes marcados en la figura 5.18, provenientes de las regiones segmen-tadas de la matriz de enzimas ya calibradas y compensada la distribución irregular de laluz (descrito en el capítulo 3).

Los datos obtenidos con el proceso anterior se tomaron como la base del conocimiento

111

Page 112: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Tabla 5.10: Vista parcial de la base de conocimientos de cromaticidad

Muestreo en horas R G B

Entrenamiento

1 218 48 242 214 62 143 225 73 174 221 78 125 219 79 12...

.

.

.

.

.

.

.

.

.24 164 94 81

Validación

1 221 51 202 214 62 133 224 73 104 222 76 165 220 79 11...

.

.

.

.

.

.

.

.

.24 165 94 81

Prueba

1 206 42 172 212 58 103 223 74 204 221 78 125 214 87 17...

.

.

.

.

.

.

.

.

.24 167 96 83

de cromaticidad. Con el 60 % de la base se formó el conjunto de entrenamiento, el conjuntode validación tomó un 20 % y el conjunto de prueba tomó el 20 % restante.

La tabla 5.10 muestra una parte de la base de conocimientos de cromaticidad obtenidapara este caso de estudio.

5.4.2. Construcción de descriptores de Enzimas

Para la creación de niveles que indiquen la cantidad de actividad que una enzimapuede generar, se aplican sobre la base de conocimientos, los 2 algoritmos descritosen el capítulo 3, en la sección de construcción de descriptores. Se observó que los datosobtenidos en la base de conocimiento, se traslapan y no se puede apreciar una separaciónde clases (asociada a el tiempo de acción enzimático).

Para solucionarlo, primero se aplica el algoritmo detector de anomalías y los datosidentificados como anómalos son eliminados.

Una vez hecha la eliminación de anomalías y la agrupación de ejemplos con el algorit-mo no supervisado kmeans, se obtienen seis regiones. Al asociar un índice a cada región,se obtienen los descriptores de actividad enzimática (ver figura 5.19).

112

Page 113: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.4 Caso de estudio: Predicción de la actividad enzimática de microorganismos con presencia de halos

De esta manera, si se presenta una degradación del color, producto de la acciónenzimática, se procede a asignarle un nivel o grado de actividad según corresponda aalguna de las regiones encontradas por el algoritmo kmeans.

5.4.3. Entrenamiento del modelo

Se entrenó el modelo neuronal 3.8 con los seis descriptores de enzimas siguiendo elprocedimiento del diagrama 3.6 subrutina 1. Se evaluó su desempeño sobre el conjuntode entrenamiento obteniendo una exactitud de 84.38 % y la exactitud obtenida al serevaluada con el conjunto de prueba fue de 81.42 %.

Adicionalmente, la red entrenada se probó con otra cinética enzimática, la cual fuecuantificada empleando un espectrofotómetro y el modelo planteado, predijo correcta-mente las cuatro clases como se muestra en la figura 5.20.

En el caso de las lecturas obtenidas por espectrofotometría, ver figura 5.20, hubo unaescasa separación entre la hora 3 y la hora 5. Así que, no se detectaron cambios signifi-cativos cuando se tomaron en cuenta únicamente los datos generados por la medición deabsorbancia. Sin embargo, con el método propuesto, logré obtener una clara distinción.

5.4.4. Predicción de la actividad enzimática en tiempo real

Por ultimo, para evaluar el modelo planteado en esta tesis, sobre la técnica de ha-los de hidrólisis se llevó a cabo una prueba masiva donde se analizaron 50 cajas petricon crecimiento de microorganismos del orden de 1,0e6. Cada caja fue fotografiada entiempo real con el equipo EV y procesada de acuerdo al diagrama 3.1. Posteriormentefueron procesadas mediante la red neuronal en hardware por FPGA realizando la tareade predicción de actividad de 507 millones de enzimas en 1 segundo. Como resultado semuestra el ensayo del halo que presentó la activad enzimática mayor.

En la figura (5.21) se muestran las enzimas con su actividad y su halo asociado. Paramostrar gráficamente la distribución espacial de cada una de las actividades enzimáticasy su intensidad, se utilizó un código de colores. Donde el Amarillo se asoció al de masactividad que fue de 6. Adicionalmente, se encontraron otros dos niveles de actividad unorepresentado en verde claro, actividad 5 y otro en verde oscuro, actividad 4.

113

Page 114: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Figura 5.14: Arquitectura FPGA propuesta.114

Page 115: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

5.4 Caso de estudio: Predicción de la actividad enzimática de microorganismos con presencia de halos

Figura 5.15: Enzimas digitalizadas. La imagen se obtuvo bajo condiciones controladas enla reflexión de la luz, además se garantiza invarianza en la escala de la placa de elisa yen los parámetros de ajuste del sensor óptico de la cámara

Figura 5.16: Preproceso para quitar ruido de la imagen digital de la placa de Elisa y obtenerla imagen sin ruido. (a) Imagen obtenida con el “enzyme vision equipment”; (b) Imagen de lacámara sin estímulos luminosos; (c) Variaciones en la intensidad luminosa sobre la placa;(d) Imagen verdadera

Figura 5.17: Proceso de segmentación de las regiones cromogénicas. (a) imagen de la placasin ruido; (b) capa verde de la imagen de la placa; (c) resultado de aplicar el segmentadocon el algoritmo Otsu, seguido por el operador de erosión; (d) selección de los 25 objetossegún su área; (e) Etiquetado de objetos, representado con colores

Figura 5.18: Regiones de interés indicada con cuadros sobre cada pozo.

115

Page 116: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 5. Resultados

Figura 5.19: Descriptores de Enzimas. A: Gráfica donde se observa el traslape de datos.B: Gráfica que muestra seis regiones de actividad enzimática.

Figura 5.20: Asignación de clases de acuerdo a la cinética enzimática. (a) Representaciónde la cinética enzimática mediante el modelo (0, rojo;1 h, verde; 3 H, azul; 5 h cyan) delas clases de actividad enzimática; (b) lecturas de absorbancia a 510 nm para la cinéticaenzimática por espectrofotometría a diferentes tiempos (réplicas del A1 a A5)

Figura 5.21: Halo de hidrólisis con mayor actividad. a) selección de la region de interés;b) Niveles de actividad enzimática usando el modelo NNADEN; (amarillo):6 nivel; (verdeclaro):5o nivel; (verde oscuro):4o nivel; (cian):3er nivel; (azul):2o nivel; (rosa):1er nivel.

116

Page 117: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

ConclusionesCapítulo 6: Conclusiones

6.1. Discusión

La mayoría de los informes que han existido hasta ahora sobre halos de hidrólisis sehan basado en análisis cualitativos, como mencionaron Mary Farrow y Frances Arnold,que correlacionan el tamaño del halo con el nivel de actividad celulolítica que existe encada microorganismo analizado [95]. Sin embargo, su medición es visual y solo clasificansus halos en tres clases: inactivo, débilmente activo y altamente activo. Además, realizanla cuantificación de la actividad celulolítica utilizando adicionales ensayos bioquímicosdestructivos.

Hoy en día, no hay metodologías que realicen el monitoreo en tiempo real del creci-miento de halos de hidrólisis, porque las metodologías existentes realizan ensayos des-tructivos y dependen de la observación humana limitada [94].

Sin embargo, el método propuesto realiza el análisis cinético de la degradación delsustrato en tiempo real, ya que no implica pruebas destructivas; el equipo EV puedecapturar cambios sutiles durante la formación de halo; Y la metodología puede realizaranálisis masivos de halos, siendo una alternativa real y viable para HTS de actividadenzimática.

Para el desarrollo de equipos de laboratorio con “alta exactitud de medición” basadosen modelos computacionales, se requiere del trabajo coordinado de un equipo de inves-tigadores con distintas disciplinas y de recursos económicos suficientes para efectuartodas las pruebas necesarias. No obstante, en este trabajo de tesis, se logró aceptar lahipótesis planteada: "Si se puede extraer y clasificar los tonos de color R, G, B del haloen tiempo real, entonces se puede cuantificar la actividad enzimática del halo durante suevolución", al generar un nuevo modelo de predicción con una aceptable exactitud.

Para aceptar la primera condición de la hipótesis que establece que se puede extraerconocimiento útil para cuantificar actividad enzimática sobre un conjunto de imágenes deensayos cromáticos, fue necesario garantizar que el conjunto de imágenes solo registrarainformación debida a cambios en la actividad enzimática, por esto se realizó la construc-ción de un prototipo a la medida, lo llame “enzime visión equipment (EV)”. Este equipocontó con restricciones físicas importantes. Por citar algunas, se fijó la distancia entre lacámara y el ensayo, previéndose con esto, la aparición de transformaciones geométricasde cambio de escala y rotación. Además, se bloqueó la luz proveniente del sol y de cual-quier otra fuente de iluminación externa, con esto se generó un equipo aislado. Además,los parámetros que influyen en la captura de la imagen se mantuvieron fijos, garantizan-do así la repetitividad del equipo y que las variaciones en la imagen se debieran solo acausas imputables a la dinámica de las enzimas. Tan solo este primer trabajo de fabri-cación del equipo, implica multitud de pruebas. Si se desea que se mantengan todas lasrestricciones de forma robusta. Un resultado que se obtuvo con el prototipo desarrollado,fue el descubrir una relación complementaria entre el espectrofotómetro y el equipo EV.Lo que quiero decir, es referente al principio de funcionamiento del espectrofotómetro, elcual consiste en hacer pasar por un medio translucido luz con una determinada longitud

117

Page 118: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 6. Conclusiones

de onda, y el aparato indica la cantidad de luz que fue absorbida. Por otro lado, el equipoEV capta la cantidad de luz transmitida a través del ensayo enzimático, más la refle-jada, siendo información complementaria esta de la inicialmente expuesta. Esto quedodemostrado, mediante la dependencia lineal encontrada al relacionar ambas medicionesmatemáticamente.

Además, para descubrir conocimiento útil para cuantificar la actividad enzimática,tuve que analizar cuáles de los patrones visuales del ensayo enzimático (como: el área,el perímetro, el factor de compacidad, el número de Euler, el tono de gris, los nivelesde color rojo, verde ó azul), tienen la capacidad de separar las muestras enzimáticas engrados de actividad. Se concluyó, que los patrones de color: rojo, verde y azul, fueronsuficientes para clasificar las muestras de acuerdo a su actividad enzimática, debido aque presentaron la propiedad de agruparse en clases con niveles de actividad semejantes.Para hacer la minería de datos en pruebas HTS, se ocupo una red neuronal multicapa.Su entrenamiento tomó los patrones de color, extraídos del banco de imágenes enzimá-ticas para obtener las fronteras que separan las actividades en zonas. El resultado finalfue la distinción de seis nuevas categorías para cuantificar la actividad enzimática. Parala medición del aprendizaje de la red neuronal, se evaluó usando un conjunto de 13,824ejemplos tomados del set de entrenamiento y 4608 ejemplos destinados a la prueba, obte-niéndose en ambos casos un porcentaje de exactitud superior al 75 por ciento. Por tanto,con esto se acepta la segunda parte de la hipótesis, que dice: que se puede clasificar lostonos de color RGB del halo en donde la implementación de redes neuronales artificiales,permitió predecir categorías de A.E. con un 75 % de efectividad. Esta precisión se consi-dera buena, debido a que no existe ningún aparato de medición que pueda medir la AEde un halo[5] y menos con esta precisión.

Ademas una exactitud del 100 por ciento, resulta imposible físicamente de logrardebido a que siempre hay un error intrínseco del propio aparato, siendo lo más adecuadoel indicar la medición, acompañándola de un valor de incertidumbre o como en este casode un porcentaje de error en la predicción.

Finalmente, con el equipo EV terminado, el dataset generado y la arquitectura neuro-nal entrenada, se obtuvo un sistema capaz de etiquetar la imagen del halo de hidrólisisen zonas de acuerdo a su nivel de Actividad Enzimática predicha por la red neuronal. Loque obtuve, es una imagen de halo en donde se puedan ver claramente las actividades,etiquetadas con alguno de los seis niveles propuestos.

La metodología reportada recientemente solo se limitaban a realizar una sola mediciónde la actividad enzimática al final de la prueba [95], por no contar con un modelo adecuadode seguimiento en tiempo real.

Finalmente, se aceptó la tercera parte de la hipótesis que dice que se puede obtenerla predicción de AE en tiempo real, coordinando el trabajo concurrente de múltiplesprocesadores, es decir, se implemento la etapa de predicción de la red neuronal multicapaen tecnología GPU primero, y después sobre tecnología FPGA. Se logró dividir los procesosque realiza la red neuronal en múltiples procesadores paralelos independientes, que setomaron de los bloques SM en el caso GPU. En el caso FPGA, los cree a la medida usandolas técnicas de descripción de hardware que Xilinx ofrece. El tiempo final en el que se

118

Page 119: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

6.2 Conclusiones

ejecutó la etapa de predicción de la red neuronal en un CPU fue de 1.467 segundos, enel GPU de 0.054 segundos y en el FPGA de 0.0062 segundos.

Se puede ver con base en estos resultados, que tanto usando un solo procesadortipo CPU como empleando múltiples procesadores gráficos, no es posible procesar lasimágenes en tiempo real (24 imágenes por segundo), sin embargo, mediante el diseño deun microprocesador hecho a la medida de esta red neuronal, si se puede (24 imágenes en0.15 segundos), la relevancias que tiene este resultado son:

Se evita que se acumulen los datos, dado que se estarían generando con mayorvelocidad de lo que se pueden ir analizando.

Se puede tomar alguna acción sobre el ensayo en el mismo instante en que se genereun fenómeno de interés.

Dado que en pruebas HTS se están analizando una masiva cantidad de halos ycada halo genera 24 imágenes cada segundo. Esto produce en conjunto un retrasoimportante para el tiempo de respuesta del sistema, pudiéndolo en algún momentodesbordar de su capacidad y perder valiosos datos que permitan generar conoci-miento.

Debido a lo anteriormente expuesto, se establece que la mejor opción para acelerar estetipo de red neuronal, es mediante arquitecturas a la medida empleando tecnología FPGA.Como conclusión final se acepta la hipótesis condicional planteada, debido a que secumplieron las 3 causa que son: 1.se puede extraer tonos RGB 2. se puede clasificar lostonos RGB y 3.se puede predecir los tonos del halo en tiempo real; dando como efecto lacuantificación la AE del halo durante su evolución.

6.2. Conclusiones

En este trabajo, se estableció una correlación matemática entre el tono RGB y losvalores de absorbancia de los pigmentos, encontrando un modelo de regresión lineal quese utilizó para estimar los valores de absorbancia teóricos. Estos estaban en línea conlos valores de absorbancia experimentales obtenidos por espectrofotometría. Una de lasventajas del modelo planteado, es la medición en tiempo real sobre cualquier concentra-ción de color sin la necesidad de rutinas de calibraciones complicadas para optimizar lasrutinas de longitud de onda o dilución en los ensayos. La clasificación de la actividad ce-lulolítica sobre halos de hidrolisis se obtuvo por primera vez utilizando un nuevo enfoquebioquímico que permitió el análisis computacional de los patrones visuales generados du-rante este proceso, en un solo paso, distinguiendo seis niveles de EA a través del modelopropuesto, basado en la selección y entrenamiento de la variación temporal de la hidró-lisis enzimática del sustrato, representada de forma cuantitativa por las intensidades deRGB. En resumen, este estudio se presentó un enfoque objetivo porque los patrones vi-suales se pueden cuantificar más rápidamente que la versión completa en base al métodotradicional que involucra múltiples pasos. Además, este enfoque es económico ya que nose requieren múltiples instrumentos y el ensayo es fácil de implementar en el laboratorio.

119

Page 120: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Capítulo 6. Conclusiones

Por lo tanto, el enfoque planteado es útil para la medición en tiempo real de la actividadcelulolítica en placas de agar y tiene potencial para su aplicación en experimentos deHTS.

6.3. Trabajo futuro

Como trabajo futuro el modelo propuesto puede complementarse con la adición deotros patrones como el diámetro del halo, la forma, el tamaño y la textura los cualesmejorarán la descripción de la actividad y, por lo tanto, su medición. Además, este nuevomodelo abre la posibilidad de analizar los mecanismos implicados en el crecimiento delhalo y los patrones de hidrólisis temporal, lo que mejorará la comprensión y caracteriza-ción de enzimas de microorganismos celulolíticos.

120

Page 121: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BibliografíaBibliografía

[1] I. Goodfellow, Y. Bengio, A. Courville, and Y. Bengio, Deep learning. MIT pressCambridge, 2016, vol. 1.

[2] E. B. Spangler, “Method and system for measurement of road profile,” May 3 1988,uS Patent 4,741,207.

[3] A. Jonker, W. Geerts, R. Charles, W. H. Lamers, and C. Van Noorden, “Image analysisand image processing as tools to measure initial rates of enzyme reactions in sec-tions: distribution patterns of glutamate dehydrogenase activity in rat liver lobules.”Journal of Histochemistry & Cytochemistry, vol. 43, no. 10, pp. 1027–1034, 1995.

[4] S. E. Vecht-Lifshitz and A. P. Ison, “Biotechnological applications of image analysis:present and future prospects,” Journal of biotechnology, vol. 23, no. 1, pp. 1–18,1992.

[5] J. H. Yoon, J. E. Park, D. Y. Suh, S. B. Hong, S. J. Ko, and S. H. Kim, “Comparisonof dyes for easy detection of extracellular cellulases in fungi,” Mycobiology, vol. 35,no. 1, pp. 21–24, 2007.

[6] D. Diaz-de Quijano, P. Palacios, K. Horňák, and M. Felip, “3d restoration microscopyimproves quantification of enzyme-labeled fluorescence-based single-cell phospha-tase activity in plankton,” Cytometry Part A, vol. 85, no. 10, pp. 841–853, 2014.

[7] T. M. Mitchell et al., “Machine learning. 1997,” Burr Ridge, IL: McGraw Hill, vol. 45,no. 37, pp. 1–432, 1997.

[8] J. Schückel, S. K. Kračun, and W. G. Willats, “High-throughput screening ofcarbohydrate-degrading enzymes using novel insoluble chromogenic substrate as-say kits,” Journal of visualized experiments: JoVE, vol. 115, no. 115, 2016.

[9] H. R. Johnsen and K. Krause, “Cellulase activity screening using pure carboxy-methylcellulose: application to soluble cellulolytic samples and to plant tissueprints,” International journal of molecular sciences, vol. 15, no. 1, pp. 830–838, 2014.

[10] C. M. McGeough and S. O’Driscoll, “Camera phone-based quantitative analysis ofc-reactive protein elisa,” IEEE transactions on biomedical circuits and systems, vol. 7,no. 5, pp. 655–659, 2013.

[11] C. G. Atkeson, A. W. Moore, and S. Schaal, “Locally weighted learning,”Artif. Intell. Rev., vol. 11, no. 1-5, pp. 11–73, Feb. 1997. [Online]. Available:https://doi.org/10.1023/A:1006559212014

[12] R. C. Gonzalez, R. E. Woods, S. L. Eddins et al., Digital image processing using

MATLAB. Pearson-Prentice-Hall Upper Saddle River, New Jersey, 2004, vol. 624.

[13] R. C. Gonzalez and R. E. Woods, “Digital image processing addison,” 1992.

121

Page 122: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[14] E. National Academies of Sciences, Medicine et al., The Frontiers of Machine Learning:

2017 Raymond and Beverly Sackler U.S.-U.K. Scientific Forum. National AcademiesPress, 2018.

[15] S. Shalev-Shwartz and S. Ben-David, Understanding machine learning: From theory

to algorithms. Cambridge university press, 2014.

[16] S. Agatonovic-Kustrin and R. Beresford, “Basic concepts of artificial neural network(ann) modeling and its application in pharmaceutical research,” Journal of pharma-

ceutical and biomedical analysis, vol. 22, no. 5, pp. 717–727, 2000.

[17] J. W. Bacus, “Analysis method and apparatus for biological specimens,” May 211991, uS Patent 5,018,209.

[18] M. L. Aliberas, “Contrast chamber for spotlighting bacterial colonies with respect tothe culture medium thereof,” Aug. 13 1996, uS Patent 5,545,561.

[19] J. N. Velasco, F. S. Melguizo, and G. D. Prieto, “System for analyzing images producedby bacterial reactions,” Nov. 4 2003, uS Patent 6,642,953.

[20] T. McCollum, P. Patt, F. Shen, D. Y. Chu, D. Flory, M. Griffin, X. Heng, and E. Hefner,“Compact automated cell counter,” Sep. 1 2011, uS Patent App. 12/869,979.

[21] L. H. Guthrie, J. H. Glasson, G. J. Bullock, G. Cross, and R. E. Hill, “Image captureand lighting apparatus,” Oct. 18 2016, uS Patent 9,470,624.

[22] G. Lopez-Casado, B. R. Urbanowicz, C. M. Damasceno, and J. K. Rose, “Plant glycosylhydrolases and biofuels: a natural marriage,” Current opinion in plant biology, vol. 11,no. 3, pp. 329–337, 2008.

[23] L. Bartley, P. Ronald et al., “Plant and microbial research seeks biofuel productionfrom lignocellulose,” California agriculture, vol. 63, no. 4, pp. 178–184, 2009.

[24] J. H. Yoon, J. E. Park, D. Y. Suh, S. B. Hong, S. J. Ko, and S. H. Kim, “Comparisonof dyes for easy detection of extracellular cellulases in fungi,” Mycobiology, vol. 35,no. 1, pp. 21–24, 2007.

[25] M. Dashtban, H. Schraft, and W. Qin, “Fungal bioconversion of lignocellulosic resi-dues; opportunities & perspectives,” International journal of biological sciences, vol. 5,no. 6, p. 578, 2009.

[26] G. L. Miller, “Use of dinitrosalicylic acid reagent for determination of reducingsugar,” Analytical Chemistry, vol. 31, no. 3, pp. 426–428, 1959. [Online]. Available:https://doi.org/10.1021/ac60147a030

[27] R. A. Copeland, Enzymes: a practical introduction to structure, mechanism, and data

analysis. John Wiley & Sons, 2004, vol. 2.

[28] Y. P. Zhang, J. Hong, and X. Ye, “Cellulase assays,” in Biofuels. Springer, 2009, vol.581, pp. 213–231.

122

Page 123: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[29] M. Dashtban, M. Maki, K. T. Leung, C. Mao, and W. Qin, “Cellulase activities inbiomass conversion: measurement methods and comparison,” Critical reviews in

biotechnology, vol. 30, no. 4, pp. 302–309, 2010.

[30] N. Ayala-Mendivil, M. de los Angeles Calixto-Romo, L. Amaya-Delgado, L. Casas-Godoy, and G. Sandoval, “High throughput screening: Developed techniques for ce-llulolytic and xylanolytic activities assay,” Combinatorial chemistry & high throughput

screening, vol. 19, no. 8, pp. 627–635, 2016.

[31] R. Dass and S. Devi, “Image segmentation techniques 1,” vol. 3, no. 1, pp. 66–70,2012.

[32] S. R. Vantaram and E. Saber, “Survey of contemporary trends in color image seg-mentation,” Journal of Electronic Imaging, vol. 21, no. 4, p. 040901, 2012.

[33] T. Kohonen, “The self-organizing map,” Proceedings of the IEEE, vol. 78, no. 9, pp.1464–1480, 1990.

[34] G. Dong and M. Xie, “Color clustering and learning for image segmentation based onneural networks,” IEEE transactions on neural networks, vol. 16, no. 4, pp. 925–936,2005.

[35] S. H. Ong, N. Yeo, K. Lee, Y. Venkatesh, and D. Cao, “Segmentation of color imagesusing a two-stage self-organizing network,” Image and vision computing, vol. 20,no. 4, pp. 279–289, 2002.

[36] C. Clausen and H. Wechsler, “Color image compression using pca and backpropa-gation learning,” pattern recognition, vol. 33, no. 9, pp. 1555–1560, 2000.

[37] D. B. Kirk and W. H. Wen-Mei, Programming massively parallel processors: a hands-

on approach. Morgan kaufmann, 2016.

[38] V. Xilinx, “Ultrafast design methodology guide for the vivado design suite,” 2015.

[39] J. P. Vink, R. Wimberger-Friedl, and A. Van De Stolpe, “Combined sample examina-tions,” Sep. 17 2015, uS Patent App. 14/432,943.

[40] F.-. S. P. F. COUTARD, Jean-Guillaume; Route du Col de Coq, “Method and systemfor estimating a concentration of a species in a culture medium by imaging withouta lens,” May 16 2016, wo 2016/066845 A1.

[41] K. F. Z. X. H. Z. J. Quxiao, “Contador de colonias automático,” Oct. 12 2012, bufetede abogados Shandong Qingtai Law Firm 37222 Agente Nie Lei.

[42] J. F. M. Venegas and D. E. C. Suárez, “Screening para el aislamiento y caracteri-zación de microorganismos y enzimas potencialmente útiles para la degradación decelulosas y hemicelulosas,” Revista Colombiana de Biotecnología, vol. 6, no. 1, pp.58–71, 2004.

123

Page 124: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[43] C. Mballo and V. Makarenkov, “Using machine learning methods to predict experi-mental high throughput screening data,” Combinatorial chemistry & high throughput

screening, vol. 13, no. 5, pp. 430–441, 2010.

[44] Y. Thoma, A. Dassatti, and D. Molla, “Fpga 2: An open source framework for fpga-gpu pcie communication,” in Reconfigurable Computing and FPGAs (ReConFig), 2013

International Conference on. IEEE, 2013, pp. 1–6.

[45] B. da Silva, A. Braeken, E. H. D’Hollander, A. Touhafi, J. G. Cornelis, and J. Le-meire, “Comparing and combining gpu and fpga accelerators in an image processingcontext,” in Field Programmable Logic and Applications (FPL), 2013 23rd International

Conference on. IEEE, 2013, pp. 1–4.

[46] J. Kocz, L. Greenhill, B. Barsdell, G. Bernardi, A. Jameson, M. Clark, J. Craig,D. Price, G. Taylor, F. Schinzel et al., “a scalable hybrid fpga/gpu fx correlator,”Journal of Astronomical Instrumentation, vol. 3, no. 01, p. 1450002, 2014.

[47] K. Pauwels, M. Tomasi, J. D. Alonso, E. Ros, and M. M. Van Hulle, “A comparison offpga and gpu for real-time phase-based optical flow, stereo, and local image features,”IEEE Transactions on Computers, vol. 61, no. 7, pp. 999–1012, 2012.

[48] H. M. Hussain, K. Benkrid, A. T. Erdogan, and H. Seker, “Highly parameterizedk-means clustering on fpgas: Comparative results with gpps and gpus,” in 2011

International Conference on Reconfigurable Computing and FPGAs. IEEE, 2011, pp.475–480.

[49] M. Alawieh, M. Kasparek, N. Franke, and J. Hupfer, “A high performance fpga-gpu-cpu platform for a real-time locating system,” in Signal Processing Conference

(EUSIPCO), 2015 23rd European. IEEE, 2015, pp. 1576–1580.

[50] S. Kestur, J. D. Davis, and O. Williams, “Blas comparison on fpga, cpu and gpu,” inVLSI (ISVLSI), 2010 IEEE computer society annual symposium on. IEEE, 2010, pp.288–293.

[51] X. Tian and K. Benkrid, “High-performance quasi-monte carlo financial simulation:Fpga vs. gpp vs. gpu,” ACM Transactions on Reconfigurable Technology and Systems

(TRETS), vol. 3, no. 4, p. 26, 2010.

[52] D. H. Jones, A. Powell, C.-S. Bouganis, and P. Y. Cheung, “Gpu versus fpga for highproductivity computing,” in Field Programmable Logic and Applications (FPL), 2010

International Conference on. IEEE, 2010, pp. 119–124.

[53] R. Kalarot and J. Morris, “Comparison of fpga and gpu implementations of real-timestereo vision,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2010

IEEE Computer Society Conference on. IEEE, 2010, pp. 9–15.

[54] F. Yamaguchi, F. Lindner, and K. Rieck, “Vulnerability extrapolation: assisted dis-covery of vulnerabilities using machine learning,” in Proceedings of the 5th USENIX

conference on Offensive technologies. USENIX Association, 2011, pp. 13–13.

124

Page 125: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[55] K. Wang, B. C. Fung, and S. Y. Philip, “Handicapping attacker’s confidence: analternative to k-anonymization,” Knowledge and Information Systems, vol. 11, no. 3,pp. 345–368, 2007.

[56] P. Jackson, Introduction to expert systems. Addison-Wesley Longman PublishingCo., Inc., 1998.

[57] P. J. Lucas, L. C. Van der Gaag, and A. Abu-Hanna, “Bayesian networks in biomedi-cine and health-care,” Artificial intelligence in medicine, vol. 30, no. 3, pp. 201–214,2004.

[58] G. G. Towell, “Symbolic knowledge and neural networks: Insertion, refinement andextraction,” 1992.

[59] J. Cheng and P. Baldi, “A machine learning information retrieval approach to proteinfold recognition,” Bioinformatics, vol. 22, no. 12, pp. 1456–1463, 2006.

[60] S. Asano, T. Maruyama, and Y. Yamaguchi, “Performance comparison of fpga, gpuand cpu in image processing,” in Field programmable logic and applications, 2009.

fpl 2009. international conference on. IEEE, 2009, pp. 126–131.

[61] S. Bauer, S. Köhler, K. Doll, and U. Brunsmann, “Fpga-gpu architecture for kernelsvm pedestrian detection,” in Computer Vision and Pattern Recognition Workshops

(CVPRW), 2010 IEEE Computer Society Conference on. IEEE, 2010, pp. 61–68.

[62] N. Kapre and A. DeHon, “Performance comparison of single-precision spice model-evaluation on fpga, gpu, cell, and multi-core processors,” in Field Programmable

Logic and Applications, 2009. FPL 2009. International Conference on. IEEE, 2009,pp. 65–72.

[63] B. Cope et al., “Implementation of 2d convolution on fpga, gpu and cpu,” Imperial

College Report, pp. 2–5, 2006.

[64] L. Monostori, A. Márkus, H. Van Brussel, and E. Westkämpfer, “Machine learning ap-proaches to manufacturing,” CIRP Annals-Manufacturing Technology, vol. 45, no. 2,1996.

[65] R. Kohavi and J. R. Quinlan, “Data mining tasks and methods: Classification:decision-tree discovery,” in Handbook of data mining and knowledge discovery. Ox-ford University Press, Inc., 2002, pp. 267–276.

[66] S. Minton, “Constraint-based generalization: Learning game-playing plans from sin-gle examples,” in Proceedings of the Fourth AAAI Conference on Artificial Intelligence.AAAI Press, 1984, pp. 251–254.

[67] D. P. Mandic and J. Chambers, Recurrent neural networks for prediction: learning

algorithms, architectures and stability. John Wiley & Sons, Inc., 2001.

125

Page 126: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[68] K. Brinker, J. Fürnkranz, and E. Hüllermeier, “A unified model for multilabel clas-sification and ranking,” in Proceedings of the 2006 conference on ECAI 2006: 17th

European Conference on Artificial Intelligence August 29–September 1, 2006, Riva del

Garda, Italy. IOS Press, 2006, pp. 489–493.

[69] P. Larranaga, B. Calvo, R. Santana, C. Bielza, J. Galdiano, I. Inza, J. A. Lozano,R. Armañanzas, G. Santafé, A. Pérez et al., “Machine learning in bioinformatics,”Briefings in bioinformatics, vol. 7, no. 1, pp. 86–112, 2006.

[70] S. Sun, “A survey of multi-view machine learning,” Neural Computing and Applica-

tions, vol. 23, no. 7-8, pp. 2031–2038, 2013.

[71] I. Arganda-Carreras, V. Kaynig, C. Rueden, K. W. Eliceiri, J. Schindelin, A. Cardona,and H. Sebastian Seung, “Trainable weka segmentation: a machine learning toolfor microscopy pixel classification,” Bioinformatics, vol. 33, no. 15, pp. 2424–2426,2017.

[72] S. G. Trost, Y. Zheng, and W.-K. Wong, “Machine learning for activity recognition:hip versus wrist data,” Physiological measurement, vol. 35, no. 11, p. 2183, 2014.

[73] P. J. Ballester and J. B. Mitchell, “A machine learning approach to predictingprotein–ligand binding affinity with applications to molecular docking,” Bioinforma-

tics, vol. 26, no. 9, pp. 1169–1175, 2010.

[74] T. D. Lane, Machine learning techniques for the computer security domain of anomaly

detection, 2000.

[75] G. Piateski and W. Frawley, Knowledge discovery in databases. MIT press, 1991.

[76] H. Nielsen, S. Brunak, and G. von Heijne, “Machine learning approaches for theprediction of signal peptides and other protein sorting signals,” Protein engineering,vol. 12, no. 1, pp. 3–9, 1999.

[77] F. Sebastiani, “Machine learning in automated text categorization,” ACM computing

surveys (CSUR), vol. 34, no. 1, pp. 1–47, 2002.

[78] B. Scholkopf and A. J. Smola, Learning with kernels: support vector machines, regu-

larization, optimization, and beyond. MIT press, 2001.

[79] C. Andrieu, N. De Freitas, A. Doucet, and M. I. Jordan, “An introduction to mcmcfor machine learning,” Machine learning, vol. 50, no. 1-2, pp. 5–43, 2003.

[80] J. D. Schaffer, “Some experiments in machine learning using vector evaluated gene-tic algorithms (artificial intelligence, optimization, adaptation, pattern recognition),”1984.

[81] Q. V. Le, J. Ngiam, A. Coates, A. Lahiri, B. Prochnow, and A. Y. Ng, “On optimizationmethods for deep learning,” in Proceedings of the 28th International Conference on

International Conference on Machine Learning. Omnipress, 2011, pp. 265–272.

126

Page 127: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[82] P. Soille, Morphological image analysis: principles and applications. Springer Science& Business Media, 2013.

[83] L. Vincent, “Morphological grayscale reconstruction in image analysis: applicationsand efficient algorithms,” IEEE transactions on image processing, vol. 2, no. 2, pp.176–201, 1993.

[84] I. F. Sbalzarini and P. Koumoutsakos, “Feature point tracking and trajectory analysisfor video imaging in cell biology,” Journal of structural biology, vol. 151, no. 2, pp.182–195, 2005.

[85] T. Blaschke, “Object based image analysis for remote sensing,” ISPRS journal of

photogrammetry and remote sensing, vol. 65, no. 1, pp. 2–16, 2010.

[86] M. F. Rosenberg, R. Callaghan, R. C. Ford, and C. F. Higgins, “Structure of themultidrug resistance p-glycoprotein to 2.5 nm resolution determined by electronmicroscopy and image analysis,” Journal of Biological Chemistry, vol. 272, no. 16,pp. 10 685–10 694, 1997.

[87] G. Winkler, Image analysis, random fields and Markov chain Monte Carlo methods: a

mathematical introduction. Springer Science & Business Media, 2012, vol. 27.

[88] G. Lennon, C. Auffray, and M. Polymeropoulos, “The image consortium: an integratedmolecular analysis of genomes and their expression,” Genomics, vol. 33, no. 1, 1996.

[89] N. Eldredge and J. Cracraft, Phylogenetic patterns and the evolutionary process. Met-

hod and theory in comparative biology. New York.: Columbia Univ. Press, 1980.

[90] R. Pepperkok and J. Ellenberg, “High-throughput fluorescence microscopy for sys-tems biology,” Nature reviews Molecular cell biology, vol. 7, no. 9, p. 690, 2006.

[91] M. B. Eisen, P. T. Spellman, P. O. Brown, and D. Botstein, “Cluster analysis anddisplay of genome-wide expression patterns,” Proceedings of the National Academy

of Sciences, vol. 95, no. 25, pp. 14 863–14 868, 1998.

[92] H. T. K. Tse, P. Meng, D. R. Gossett, A. Irturk, R. Kastner, and D. Di Carlo, “Strategiesfor implementing hardware-assisted high-throughput cellular image analysis,” JALA:

Journal of the Association for Laboratory Automation, vol. 16, no. 6, pp. 422–430,2011.

[93] G. L. Ellman, K. D. Courtney, V. Andres Jr, and R. M. Featherstone, “A new andrapid colorimetric determination of acetylcholinesterase activity,” Biochemical phar-

macology, vol. 7, no. 2, pp. 88–95, 1961.

[94] S. K. Kračun, J. Schückel, B. Westereng, L. G. Thygesen, R. N. Monrad, V. G. Eijsink,and W. G. T. Willats, “A new generation of versatile chromogenic substrates forhigh-throughput analysis of biomass-degrading enzymes,” Biotechnology for biofuels,vol. 8, no. 1, p. 70, 2015.

127

Page 128: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

BIBLIOGRAFÍA

[95] M. F. Farrow and F. H. Arnold, “High throughput screening of fungal endoglucanaseactivity in escherichia coli,” Journal of visualized experiments: JoVE, no. 54, 2011.

[96] M. Nadafzadeh, S. Abdanan Mehdizadeh, and M. Soltanikazemi, “Developmentof computer vision system to predict peroxidase and polyphenol oxidaseenzymes to evaluate the process of banana peel browning using geneticprogramming modeling,” Scientia Horticulturae, vol. 231, pp. 201–209, 2018,cited By 0. [Online]. Available: https://www.scopus.com/inward/record.uri?eid=2-s2.0-85039162818&doi=10.1016%2fj.scienta.2017.12.047&partnerID=40&md5=c42c1a13ca79265f253a222a4fe0858d

128

Page 129: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Appendices

Page 130: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada
Page 131: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 1: Plano de construcción del equipo de medición Enzime-Vision (Parte 1)

131

Page 132: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 2: Plano de construcción del equipo de medición Enzime-Vision (Parte 2)

132

Page 133: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 3: Plano de construcción del equipo de medición Enzime-Vision (Parte 3)

133

Page 134: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 4: Ensamble en perspectiva isométrica del equipo de medición Enzime-Vision

134

Page 135: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 5: Gráficas que muestran las posibles agrupaciones de hilos y sus registros, aso-ciados con los warps que se activan. Abajo se muestra la linea de tiempo del kernel.

135

Page 136: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 6: Gráficos de pastel y barras que muestran los niveles de eficiencia alcanzados porel kernel.136

Page 137: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 7: Cantidad de instrucciones por pulso de reloj - warp alcanzados por el kernel yporcentaje de actividad - warps lanzados por cada SM.

137

Page 138: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 8: Graficos de la cantidad de warps que se ejecutan simultáneamente en un mul-tiprocesador entre la cantidad máxima de warps que pueden ejecutarse simultáneamenteen el sistema concurrente desarrollado

138

Page 139: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 9: Diagrama RTL interno del modulo comparador

139

Page 140: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 10: Diagrama RTL interno del modulo NNoc1

140

Page 141: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 11: Diagrama RTL interno del modulo de control

141

Page 142: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 12: Diagrama RTL de la memoria interna tipo RAM

142

Page 143: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 13: Esquemático de interconexión del modulo que calcula seis productos escalares(NNout z) y el modulo que proporciona el nivel de activación sigmoidea correspondiente paracada uno (lut out1).

143

Page 144: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 14: Esquemático de interconexión de un producto escalar (NNoutc1 z1) y un moduloque proporciona el nivel de activación sigmoidea correspondiente (lut s1).

144

Page 145: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 15: Diagrama RTL de un solo producto escalar resuelto con componentes hardware.145

Page 146: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Figura 16: Esquema RTL de la arquitectura FPGA tipo red neuronal

146

Page 147: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

147

Page 148: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada
Page 149: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada
Page 150: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Zapopan, Jalisco a 12 de Noviembre de 2018

Junta Académica del Programa de Maestría/Doctorado en Tecnologías de Información Presente

En mi carácter de lector del trabajo recepcional titulado: “Predicción de la actividad enzimática

en tiempo real usando redes neuronales”, que presenta el C. Luis Francisco Barbosa

Santillán, expongo que lo he revisado y que a mi juicio cumple con todos los requisitos

académicos con el rigor teórico-metodológico y de contenido, además los resultados del

análisis de similitud no muestra coincidencias relevantes, por lo puede ser sometido al

examen de grado correspondiente a la Doctorado en Tecnologías de información.

Por lo antes expuesto, me permito emitir el presente oficio de: liberación del trabajo recepcional,

en mi carácter de Lector, con la finalidad de que pueda llevarse a cabo la defensa del mismo.

Atentamente

Dra. Lorena Amaya Delgado

Page 151: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Puebla, Pue. a 12 de noviembre de 2017

Junta Académica del Programa de Doctorado en Tecnologías de la información Presente

En mi carácter de Codirectora del trabajo recepcional titulado: “Predicción de la actividad

enzimática en tiempo real usando redes neuronales”, que presenta el C. Luis Francisco Barbosa

Santillán, expongo que lo he revisado y que a mi juicio cumple con todos los requisitos

académicos con el rigor teórico-metodológico y de contenido, además, los resultados del

análisis de similitud no muestra coincidencias relevantes, por lo puede ser sometido al examen

de grado correspondiente al Doctorado en Tecnologías de la información.

Por lo antes expuesto, me permito emitir el presente oficio de: liberación del trabajo recepcional,

en mi carácter de Codirectora, con la finalidad de que pueda llevarse a cabo la defensa del

mismo.

Atentamente

Dra. María de los Ángeles Calixto Romo Investigadora

El Colegio de la Frontera Sur. CONACyT Departamento de Ciencias de la Sustentabilidad.

Grupo Académico de Biotecnología Ambiental Carretera Antiguo Aeropuerto km 2.5, CP 30700

Tapachula, Chiapas. [email protected]

angy
Page 152: Universidad de Guadalajara Programa Académico de Posgradosii.ecosur.mx/Content/ProductosActividades/archivos/... · 2019-02-04 · Valores de la densidad probabilística para cada

Zapopan, Jalisco a 7 de noviembre de 2018

Junta Académica del Programa de Doctorado en Tecnologías de Información Presente

En mi carácter de Director del trabajo recepcional titulado: “Predicción de la actividad enzimática

en tiempo real usando redes neuronales”, que presenta el C. Luis Francisco Barbosa Santillán,

expongo que lo he revisado y que a mi juicio cumple con todos los requisitos académicos con el

rigor teórico-metodológico y de contenido, además el resultado del análisis de similitud no

muestra coincidencias relevantes, por lo puede ser sometido al examen de grado

correspondiente a el Doctorado en Tecnologías de Información

Por lo antes expuesto, me permito emitir el presente oficio de: liberación del trabajo recepcional,

en mi carácter de Director, con la finalidad de que pueda llevarse a cabo la defensa del mismo.

Atentamente

Dra. Liliana Ibeth Barbosa Santillán