Compare commits

...

14 Commits

Author SHA1 Message Date
e39593bbc9 Add DNA sequencing to the slides 2021-07-13 10:57:42 +02:00
0ca89ef0f6 Use metropolis as slides theme 2021-07-13 01:18:36 +02:00
57c9914806 Add thesis slides 2021-07-13 00:43:25 +02:00
154f7deb24 Remove redundant comment from Dissertation 2021-07-13 00:43:07 +02:00
9ec0df0db5 Extend conclusions section 2021-07-07 19:09:53 +02:00
87cd78b4b5 Fit neural network architecture figure to the page 2021-07-07 18:43:01 +02:00
161ba118d1 Merge branch 'marisolbc/TFG-review' 2021-07-07 18:31:32 +02:00
Marisol Benítez-Cantos
32ea10f536 Review abstract.yaml 2021-07-07 16:27:45 +00:00
65bd8712c7 Correct typos in the abstract 2021-07-07 18:23:46 +02:00
Marisol Benítez-Cantos
082773c08d Review Dissertation.org 2021-07-07 16:12:47 +00:00
Marisol Benítez-Cantos
6e62991442 Merge branch 'master' into 'review'
Master

See merge request marisolbc/TFG!1
2021-07-07 15:45:44 +00:00
ae5a1b977d Add conclusions 2021-07-07 17:12:55 +02:00
6270023c87 Add future improvements 2021-07-07 16:52:10 +02:00
0f9a99af48 Conclude locimend subsection 2021-07-07 15:48:30 +02:00
8 changed files with 229 additions and 9 deletions

View File

@@ -340,7 +340,7 @@ Procedemos a la exposición de cada parte del /pipeline/, por separado, resaltan
** locigenesis ** locigenesis
locigenesis es una herramienta que genera un receptor de células T (TCR) humano, lo pasa por una herramienta de simulación de lectura de secuencias y extrae las regiones CDR3. locigenesis es una herramienta que genera una secuencia de receptores de células T (TCR) humano para posteriormente aplicarle una herramienta de simulación de secuenciación y, finalmente, extraer las regiones CDR3 tras la introducción de errores.
El objetivo de este proyecto es generar tanto secuencias de CDR3 con y sin errores de secuenciación, con el fin de crear /datasets/ para entrenar un algoritmo de /Deep Learning/. El objetivo de este proyecto es generar tanto secuencias de CDR3 con y sin errores de secuenciación, con el fin de crear /datasets/ para entrenar un algoritmo de /Deep Learning/.
@@ -350,22 +350,36 @@ El objetivo de este proyecto es generar tanto secuencias de CDR3 con y sin error
- CuReSim: simulador de secuenciación que emula la tecnología /Ion Torrent/ cite:Caboche_2014 - CuReSim: simulador de secuenciación que emula la tecnología /Ion Torrent/ cite:Caboche_2014
- Biostrings: manipulación de secuencias biológicas cite:Biostrings - Biostrings: manipulación de secuencias biológicas cite:Biostrings
*** Funcionalidades *** Funcionamiento
El programa realiza, parametrizado por 2 parámetros de entrada (número de secuencias diferentes y número de lecturas por el simulador de secuenciación), los siguientes pasos: El programa realiza, parametrizado por 2 parámetros de entrada (número de secuencias diferentes y número de lecturas por el simulador de secuenciación), los siguientes pasos:
1. Generación de diversas secuencias de la cadena \beta del TCR 1. Generación de diversas secuencias de la cadena \beta del TCR (con la estructura génica VDJ y estando CDR3 comprendido en las uniones de los 3 segmentos)
2. Exportación de las secuencias a un archivo en formato FASTQ (tanto CDR3 como la secuencia VDJ completa) 2. Exportación de las secuencias a un archivo en formato FASTQ (tanto CDR3 por separado como la secuencia VDJ completa)
3. Simulación de una secuenciación mediante CuReSim, y almacenamiento de las secuencias con errores 3. Simulación de una secuenciación de VDJ mediante CuReSim, y almacenamiento de las secuencias con errores
4. Alineamiento de las secuencias completas con errores, y extracción de CDR3 a partir de una heurística 4. Alineamiento de las secuencias completas con errores con las secuencias V y J de referencia, y extracción de CDR3 a partir de una heurística
5. Exportación de las secuencias de CDR3 con errores y sin errores en archivos con formato FASTQ 5. Exportación de las secuencias de CDR3 con errores y sin errores en archivos con formato FASTQ
Cabe mencionar que la simulación de secuenciación se realiza con la secuencia VDJ completa y no sólo con CDR3 (la región problemática cuya variabilidad dificulta la corrección de errores) debido a que en la mayoría de plataformas de secuenciación la tasa de error aumenta con la longitud de la secuencia. Por ello, en aras de emular las condiciones más cercanas a la realidad, es importante secuenciar la región CDR3 junto con las secuencias colindantes V y J y posteriormente extraer esta región de interés gracias a los alineamientos con los segmentos génicos de referencia.
** locimend ** locimend
locimend es un algoritmo de /Deep Learning/ que corrige errores de secuenciación de secuencias de ADN. locimend es un algoritmo de /Deep Learning/ que corrige errores de secuenciación de secuencias de ADN.
El objetivo de este proyecto es crear un modelo que pueda inferir la secuencia correcta de ADN, a partir de una secuencia de ADN con errores. Se trata de una reducción de ruido aplicada a un problema de genómica. El objetivo de este proyecto es crear un modelo que pueda inferir la secuencia correcta de ADN, a partir de una secuencia de ADN con errores. Se trata de una reducción de ruido aplicada a un problema de genómica.
La arquitectura del modelo es una /deep feedforward network/, formada por:
- Capa de entrada
- Capa de /masking/: ignora ciertos valores que se añaden a cada tensor para homogenizar el tamaño del /input/
- 3 capas densas, seguidas de una capa de /dropout/: el /dropout/ es un mecanismo que disminuye el /overfitting/
- Capa densa
#+CAPTION: Arquitectura de la red neuronal
#+ATTR_HTML: :height 30% :width 70%
#+NAME: fig:locimend
[[./assets/figures/locimend.png]]
La interacción con el modelo se puede realizar mediante: La interacción con el modelo se puede realizar mediante:
- Interfaz por línea de comandos (CLI) - Interfaz por línea de comandos (CLI)
@@ -377,7 +391,7 @@ La interacción con el modelo se puede realizar mediante:
- Biopython: manipulación de secuencias biológicas cite:Cock_2009 - Biopython: manipulación de secuencias biológicas cite:Cock_2009
- FastAPI: /framework/ web para la creación de APIs - FastAPI: /framework/ web para la creación de APIs
*** Funcionalidades *** Entrenamiento
El entrenamiento del modelo se realiza, a partir de 2 archivos FASTQ, en diferentes pasos: El entrenamiento del modelo se realiza, a partir de 2 archivos FASTQ, en diferentes pasos:
@@ -391,6 +405,18 @@ El entrenamiento del modelo se realiza, a partir de 2 archivos FASTQ, en diferen
8. Entrenamiento del algoritmo de /Deep Learning/, con los datos preprocesados 8. Entrenamiento del algoritmo de /Deep Learning/, con los datos preprocesados
9. Obtención de las métricas que miden el rendimiento del modelo 9. Obtención de las métricas que miden el rendimiento del modelo
*** Inferencia
La inferencia consiste en la predicción de nuevos resultados a partir de un modelo pre-entrenado. Se llevan a cabo los siguientes pasos:
1. Carga del modelo pre-entrenado
2. Lectura de la secuencia de ADN con errores
3. Codificación basada en el índice de la secuencia de ADN, para obtener une secuencia numérica
4. /One-hot encoding/ de la secuencia numérica, la cual representa la secuencia de ADN
5. Predicción de la secuencia correcta de ADN
6. Descodificación de la secuencia numérica hasta obtener una secuencia de ADN
7. Presentación de la secuencia de ADN correcta inferida por el modelo
** Reproducibilidad ** Reproducibilidad
La reproducibilidad de los experimentos en la ciencia es un elemento esencial en el método científico, el cual asegura que una técnica novedosa ofrece resultados verídicos. Actualmente, nos encontramos en una etapa de crisis de reproducibilidad, donde el 70% de los investigadores han fallado al tratar de replicar el estudio de otro científico cite:Baker_2016. La reproducibilidad de los experimentos en la ciencia es un elemento esencial en el método científico, el cual asegura que una técnica novedosa ofrece resultados verídicos. Actualmente, nos encontramos en una etapa de crisis de reproducibilidad, donde el 70% de los investigadores han fallado al tratar de replicar el estudio de otro científico cite:Baker_2016.
@@ -419,5 +445,25 @@ Presentamos las métricas obtenidas al finalizar el entrenamiento de locimend:
En definitiva, locimend adquirió una gran capacidad para discernir entre nucleótidos erróneos y correctos, en ambos /datasets/, con una precisión de 0,89 y un área bajo la curva (AUC) de 0,98. En definitiva, locimend adquirió una gran capacidad para discernir entre nucleótidos erróneos y correctos, en ambos /datasets/, con una precisión de 0,89 y un área bajo la curva (AUC) de 0,98.
* Conclusiones * Conclusiones
El presente estudio plantea el desarrollo de un sistema bioinformático (denominado locimend) de corrección de errores de secuenciación del ADN, basado en /Deep Learning/, y aplicado a secuencias de la región CDR3 del TCR. Locimend fue entrenado con datos generados /in silico/ (en este mismo proyecto) y demuestra un alto rendimiento de predicción y corrección de errores de secuenciación, comparado con las técnicas utilizadas en el estado del arte. El algoritmo opera sobre secuencias de ADN, lo cual permite una fácil integración en el flujo de trabajo de un sistema bioinformático. La elección de una arquitectura de /deep feedforward network/ se debe a la dificultades encontradas con las demás alternativas. Al tratar de usar una CNN con un /input/ unidimensional, no era posible realizar añadir una capa de /MaxPooling/ y /Flatten/, las cuales son indispensables para un buen rendimiento. En el caso de los /autoencoders/, descartamos su utilización debido a los requisitos de cómputo elevados que son necesarios para realizar un entrenamiento efectivo. Finalmente, las /deep feedforward networks/ con su diseño sencillo y su polivalencia han permitido el desarrollo de un algoritmo con una precisión del 89%. Todos los objetivos del proyecto han sido cumplidos con éxito.
* Futuras mejoras * Futuras mejoras
Los resultados del algoritmo de /Deep Learning/ son satisfactorios aunque presenta ciertas limitaciones.
En primer lugar, dado que la red neuronal se entrenó exclusivamente con datos que emulan una secuenciación de Ion Torrent, es probable que las características que contribuyen a las posiciones erróneas sean específicas del proceso de secuenciación de Ion Torrent. Por lo tanto, la inferencia a partir de datos de secuenciación procedentes de otras tecnologías podría ser menos eficaz. Un entrenamiento con varios /dataset/ provenientes de diferentes tecnologías (o simuladores de las mismas) aumentaría la capacidad de generalización del modelo.
Asimismo, el entrenamiento del modelo se realizó con un conjunto de datos de 20,000 secuencias, un tamaño bastante limitado para una tarea de aprendizaje automático. La generación de /datasets/ de mayor tamaño no era viable debido a limitaciones en las capacidades de cómputo de los recursos disponibles. Por ende, la elaboración de un /dataset/ de mayor envergadura es una tarea pendiente.
Uno de los factores que más afecta el rendimiento de una red neuronal es el valor de los hiperparámetros. Los hiperparámetros son variables inherentes al modelo, como el optimizador usado, la distribución de los valores iniciales en los pesos del modelo, la tasa de aprendizaje o el /batch size/. Todos estos parámetros son interdependientes cite:book:2164083, por lo que es importante optimizarlos de forma combinatoria. Una optimización más a fondo de los hiperparámetros podría incrementar la eficiencia del modelo.
Finalmente, el desarrollo y despliegue de un /frontend/ web para la API REST permitiría mejorar la accesibilidad del modelo para los investigadores que deseen usarlo.
* Disponibilidad del material
El código fuente de locigenesis se encuentra disponible en [[https://git.coolneng.duckdns.org/coolneng/locigenesis][https://git.coolneng.duckdns.org/coolneng/locigenesis]]
El código fuente de locimend se encuentra disponible en [[https://git.coolneng.duckdns.org/coolneng/locimend][https://git.coolneng.duckdns.org/coolneng/locimend]]
* Bibliografía * Bibliografía

Binary file not shown.

163
Presentation.org Normal file
View File

@@ -0,0 +1,163 @@
#+TITLE: Machine Learning para corrección de errores en datos de secuenciación de ADN
#+AUTHOR: Amin Kasrou Aouam
#+SUBTITLE: Trabajo de Fin de Grado
#+LANGUAGE: es
#+PANDOC_OPTIONS: pdf-engine:xelatex
#+PANDOC_METADATA: theme:metropolis
* Introducción
** Descripción
- Proyecto de bioinformática
- Uso de /Deep Learning/
- Modelo para la corrección de errores de secuenciación del ADN
** Definiciones
- *Bioinformática*: campo interdisciplinar en el que intervienen las áreas de biología molecular e informática. Permite abordar los estudios biológicos con una gran cantidad de datos.
- *Deep Learning*: subconjunto del /machine learning/, en el cual se utiliza como modelo de computación las redes neuronales artificiales (ANN) con múltiples capas ocultas.
* Problema
- Tasas de error de las tecnologías de secuenciación de ADN no despreciables
| Tecnología | Tasa de error (%) |
|-------------+-------------------|
| Sanger | 0.11 |
| Illumina | ≥0.1 |
| SOLiD | >0.06 |
| 454 | 1 |
| SMRT | 16 |
| Ion Torrent | 1 |
- Dificultad para detectar los errores en regiones con alta diversidad (e.g. repertorios inmunológicos)
* Secuenciación del ADN
- La secuenciación de ADN es el proceso mediante el cual se determina el orden de los nucleótidos en una secuencia de ADN
- *Primera generación*: secuenciación de Sanger
- *Segunda generación*: /NGS/
- *Tercera generación*: /TGS/
* Errores de secuenciación
Hay distintos tipos de errores de secuenciación del ADN:
- Substituciones
- Inserciones
- Deleciones
#+CAPTION: Tipos de mutación
#+ATTR_HTML: :height 65%
[[./assets/figures/dna_mutations.png]]
* Variedad inmunológica
- Los receptores (i.e. sensores) del sistema inmunitario son altamente variables, debido a la necesidad de reconocer el mayor número de moléculas químicas posibles
- La recombinación V(D)J permite generar, según estimaciones recientes, $10^{15}$ posibles especies distintas de receptores de linfocitos T (TCR)
- La región más variable es *CDR3*
#+CAPTION: Generación de diversidad en el TCR
#+ATTR_HTML: :height 40%
[[./assets/figures/VDJ.png]]
* Objetivos del proyecto
Detección y corrección de errores de secuenciación del ADN en las secuencias de CDR3
- Aplicación a errores de sustitución e /indels/
** Etapas
- Generación de un /dataset/ para entrenar el algoritmo
- Desarrollo de un algoritmo de /Deep Learning/
- Creación de una interfaz que permita utilizar el algoritmo
* Estructura del proyecto
El proyecto se divide en 2 partes:
- locigenesis: Generación y secuenciación /in silico/ de CDR3
- locimend: Corrección de los errores de secuenciación del ADN
#+CAPTION: Pipeline
#+ATTR_HTML: :height 65% :width 65%
[[./assets/figures/pipeline.png]]
Optamos por esta segmentación debido a que el algoritmo de /Deep Learning/ es generalizable, y se podría entrenar con otro /dataset/
* locigenesis
- locigenesis es una herramienta que genera una secuencia de receptores de células T (TCR) humano para posteriormente aplicarle una herramienta de simulación de secuenciación (CuReSim) y, finalmente, extraer las regiones CDR3 tras la introducción de errores
- Obtención de CDR3 con y sin errores de secuenciación
- La simulación de secuenciación se realiza con el TCR completo, y se extrae CDR3 mediante alineamiento con las secuencias de referencia y ciertas heurísticas
| Tecnologías | Descripción |
|-------------+------------------------------------------------------------------|
| immuneSIM | Generación /in silico/ de repertorios de BCR y TCR |
| CuReSim | Simulador de secuenciación que emula la tecnología /Ion Torrent/ |
| Biostrings | Manipulación de secuencias biológicas |
* locimend
- locimend es un algoritmo de /Deep Learning/ que corrige errores de secuenciación de secuencias de ADN
- Creación de un modelo que pueda inferir la secuencia correcta de ADN, a partir de una secuencia de ADN con errores
- Arquitectura: /deep feedforward network/
| Tecnologías | Descripción |
|-------------+----------------------------------------------------------|
| Tensorflow | Creación y ejecución de algoritmos de /machine learning/ |
| Biopython | Manipulación de secuencias biológicas |
| FastAPI | /Framework/ web para la creación de APIs |
* Paralelización
- Ciertas etapas en el sistema son cuellos de botella, para superar este impedimento empleamos la paralelización
** locigenesis
- Alineamiento de las secuencias, para la extracción de CDR3
- Uso de /parallel/ (biblioteca estándar de R)
** locimend
- Lectura de los /datasets/ debidamente preprocesados
- Exportación de los /datasets/ al formato binario /TFRecords/
* Reproducibilidad
- La reproducibilidad de los experimentos en la ciencia es un elemento esencial en el método científico
- En el ámbito de la informática pocos experimentos computacionales son rigurosos en este aspecto
- En el presente trabajo, usamos el gestor de paquetes *Nix*, para garantizar que los resultados que obtenemos son reproducibles al 100% en cualquier máquina
* API REST
locimend ofrece una API REST para interaccionar con el modelo:
| Método HTTP | Ruta | Payload |
|-------------+------+----------------------------------------------|
| GET | / | Secuencia como parámetro de ruta (en la URL) |
| POST | / | JSON |
** Petición:
#+begin_src restclient
POST http://localhost:8000
content: application/json
{"sequence": "TGTGCCAGCAGCTTAGCGGACAGTTCGGGGCAGAGCAGTAC"}
#+end_src
** Respuesta:
#+BEGIN_SRC js
{
"sequence": "TGTGCCAGCAGCTTAGCGGACAGTTCGGGGCAGAGCAGTAC"
}
#+END_SRC
* Resultados
El algoritmo de /Deep Learning/ fue entrenado con un /dataset/ sintético de las secuencias de la región CDR3 del TCR. En concreto, se generó un dataset de 20,000 secuencias, procedentes de una simulación de secuenciación (reproducida durante 100 iteraciones), de 200 secuencias únicas.
#+CAPTION: Rendimiento de locimend
| Dataset | Accuracy | AUC |
|------------+----------+------|
| Validación | 0.89 | 0.98 |
| Test | 0.89 | 0.98 |
* Conclusiones
- Locimend demuestra un alto rendimiento de predicción y corrección de errores de secuenciación
- El algoritmo opera sobre secuencias de ADN, lo cual permite una fácil integración en el flujo de trabajo de un sistema bioinformático
- La creación de una API REST facilita el uso de locimend para los investigadores que desean usarlo
- La licencia permisiva, GPL v3.0, permite la reutilización y modificación del código fuente

BIN
Presentation.pdf Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
spanish-abstract: "Las nuevas técnicas de secuenciación de ADN (NGS) han revolucionado la investigación en genómica. Estas tecnologías se basan en la secuenciación de millones de fragmentos de ADN en paralelo, cuya reconstrucción se basa en técnicas de bioinformática. Aunque estas técnicas se apliquen de forma habitual, presentan tasas de error significantes que son detrimentales para el análisis de regiones con alto grado de polimorfismo. En este estudio se implementa un nuevo método computacional, locimend, basado en Deep Learning para la corrección de errores de secuenciación de ADN. Se aplica al análisis de la región determinante de complementariedad 3 (CDR3) del receptor de linfocitos T (TCR), generada in silico y posteriorimente sometida a un simulador de secuenciación con el fin de producir errores de secuenciación. Empleando estos datos, entrenamos una red neuronal profunda (CNN) con el objetivo de generar un modelo computacional que permita la detección y corrección de los errores de secuenciación. Los resultados obtenidos demuestran que locimend es un modelo que identifica y corrige los patrones de errores de secuenciación de ADN, obteniendo una precisión de 0,89 y un área debajo de la curva (AUC) de 0,98. La implementación incluye una API REST que realiza la inferencia de la secuencia correcta de ADN, a partir de una secuencia de ADN con errores con el modelo pre-entrenado, con el objetivo de popularizar su uso en la comunidad científica." spanish-abstract: "Las nuevas técnicas de secuenciación de ADN (NGS) han revolucionado la investigación en genómica. Estas tecnologías se basan en la secuenciación de millones de fragmentos de ADN en paralelo, cuya reconstrucción se basa en técnicas de bioinformática. Aunque estas técnicas se apliquen de forma habitual, presentan tasas de error significantes que son perjudiciales para el análisis de regiones con alto grado de polimorfismo. En este estudio se implementa un nuevo método computacional, locimend, basado en Deep Learning para la corrección de errores de secuenciación de ADN. Se aplica al análisis de la región determinante de complementariedad 3 (CDR3) del receptor de linfocitos T (TCR), generada in silico y posteriorimente sometida a un simulador de secuenciación con el fin de producir errores de secuenciación. Empleando estos datos, entrenamos una deep feedforward network con el objetivo de generar un modelo computacional que permita la detección y corrección de los errores de secuenciación. Los resultados obtenidos demuestran que locimend es un modelo que identifica y corrige los patrones de errores de secuenciación de ADN, obteniendo una precisión de 0,89 y un área debajo de la curva (AUC) de 0,98. La implementación incluye una API REST que realiza la inferencia de la secuencia correcta de ADN, a partir de una secuencia de ADN con errores con el modelo pre-entrenado, con el objetivo de popularizar su uso en la comunidad científica."
spanish-keywords: "deep learning, corrección de errores, receptor de linfocitos T, secuenciación de ADN, inmunología" spanish-keywords: "deep learning, corrección de errores, receptor de linfocitos T, secuenciación de ADN, inmunología"
english-abstract: "Next generation sequencing (NGS) techniques have revolutionised genomic research. These technologies perform sequencing of millions of fragments of DNA in parallel, which are pieced together using bioinformatics analyses. Although these techniques are commonly applied, they have non-negligible error rates that are detrimental to the analysis of regions with a high degree of polimorphism. In this study we propose a novel computational method, locimend, based on a Deep Learning algorithm for DNA sequencing error correction. It is applied to the analysis of the complementarity determining region 3 (CDR3) of the T-cell receptor (TCR) found on the surface of lymphocytes, generated in silico and subsequently subjected to a sequencing simulator in order to produce sequencing errors. Using these data, we trained a depp neural network with the aim of generating a computational model that allows the detection and correction of sequencing errors. Our results show that locimend is a model that identifies and corrects DNA sequencing error patterns, obtaining an accuracy of 0,89 and an area under the curve (AUC) of 0,98. The implementation includes a REST API that performs the inference of the correct DNA sequence, from a DNA sequence with errors with the pre-trained model, in order to popularise its use in the scientific community." english-abstract: "Next generation sequencing (NGS) techniques have revolutionised genomic research. These technologies perform sequencing of millions of fragments of DNA in parallel, which are pieced together using bioinformatics analyses. Although these techniques are commonly applied, they have non-negligible error rates that are detrimental to the analysis of regions with a high degree of polimorphism. In this study we propose a novel computational method, locimend, based on a Deep Learning algorithm for DNA sequencing error correction. It is applied to the analysis of the complementarity determining region 3 (CDR3) of the T-cell receptor (TCR) found on the surface of lymphocytes, generated in silico and subsequently subjected to a sequencing simulator in order to produce sequencing errors. Using these data, we trained a deep feedforward network with the aim of generating a computational model that allows the detection and correction of sequencing errors. Our results show that locimend is a model that identifies and corrects DNA sequencing error patterns, obtaining an accuracy of 0,89 and an area under the curve (AUC) of 0,98. The implementation includes a REST API that performs the inference of the correct DNA sequence, from a DNA sequence with errors with the pre-trained model, in order to popularise its use in the scientific community."
english-keywords: "deep learning, error correction, DNA sequencing, T-cell receptor, immunology" english-keywords: "deep learning, error correction, DNA sequencing, T-cell receptor, immunology"
acknowledgments: "Este proyecto no podría haber sido posible sin el apoyo de numerosas personas. En particular, quiero agradecer especialmente a Carlos Cano Gutiérrez por depositar su voto de confianza al asignarme un proyecto de investigación, el cual no era una propuesta de Trabajo de Fin de Grado. Y a María Soledad Benítez Cantos por su mentorización invaluable a lo largo de este trabajo. Su afán por el conocimiento, sus revisiones y comentarios de retroalimentación, su habilidad para exponer un concepto complejo en una frase y su dedicación incondicional al proyecto han sido el pilar central que ha permitido un desenlace favorable de la investigación." acknowledgments: "Este proyecto no podría haber sido posible sin el apoyo de numerosas personas. En particular, quiero agradecer especialmente a Carlos Cano Gutiérrez por depositar su voto de confianza al asignarme un proyecto de investigación, el cual no era una propuesta de Trabajo de Fin de Grado. Y a María Soledad Benítez Cantos por su mentorización invaluable a lo largo de este trabajo. Su afán por el conocimiento, sus revisiones y comentarios de retroalimentación, su habilidad para exponer un concepto complejo en una frase y su dedicación incondicional al proyecto han sido el pilar central que ha permitido un desenlace favorable de la investigación."

View File

@@ -1442,3 +1442,14 @@
the Default to Reproducible”}, the Default to Reproducible”},
year = 2013 year = 2013
} }
@book{book:2164083,
title = {Deep Learning with Python},
author = {François Chollet},
publisher = {Manning},
isbn = {9781617294433},
year = {2017},
series = {},
edition = {},
volume = {},
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
assets/figures/locimend.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB