Leaving presentation mode.
Para iniciar la presentación, haz clic aquí o doble clic en cualquiera de las diapositivas. Para navegar por las diapositivas, puedes utilizar las flechas del teclado.

Esta presentación ha sido compuesta utilizando el motor B6+ del W3C, con scripts y estilos modificados por David Charte. Consulta el código fuente en GitHub.

Abstract nodes and connections

Mejoras en tratamiento de
problemas de clasificación
con modelos basados en
autoencoders

Tesis para la obtención del título de doctor por la Universidad de Granada

Programa de Doctorado en Tecnologías de la Información y la Comunicación
 

Francisco David Charte Luque <fdavidcl@ugr.es>

Directores:
Francisco Herrera Triguero
Francisco Charte Ojeda

6 de julio de 2022

Índice

     

     

    Abstract nodes and connections

    Introducción

    Motivación

    Contexto
    Incremento en la recopilación de datos, su variedad y diversidad de fuentes

    Problemática

    Motivación

    En la actualidad se recogen cada vez más datos de muy diversas fuentes, se utilizan todo tipo de sensores en las industrias, se realizan pruebas médicas, se analizan las redes sociales, y todo ello, puesto que es cuantificable, es susceptible de procesarse para extraer información útil. El problema al que nos podemos enfrentar es que cada vez se recopilan más aspectos diferentes, lo que conlleva un aumento en el número de variables que se quieren tratar, y también un aumento de su complejidad, ya que podemos estar hablando de imágenes, señales, documentos de texto, etc. que pueden guardar patrones difíciles de analizar.

    Esto afecta a los métodos de aprendizaje, sobre todo a los más tradicionales, que se ven muy influidos por la calidad de las variables en las que se representan los datos. Si estas tuvieran ruido, información que sobra o si la información que nos importa está muy oculta, normalmente el rendimiento de estos métodos no será el esperado.

    Cuando además estamos hablando de problemas supervisados, también hay que tener en cuenta lo compleja que pueda ser la relación entre las variables de entrada y las de salida.

    Podemos observar también que los métodos de selección y transformación de variables que venimos utilizando tienen un comportamiento bastante cerrado y presentan limitaciones.

    En esta tesis nos hemos planteado cómo podríamos mejorar la calidad de la representación de los datos, para que los métodos de aprendizaje puedan darnos mejores resultados.

    Lo primero es encontrar sistemas para aprender variables que sean diferentes y mejores que los tradicionales. El potencial que presentan hoy en día las redes neuronales profundas nos hace decantarnos por esta familia de herramientas.

    Nos preguntamos también qué estrategias podemos utilizar para alterar el comportamiento de un método que aprenda variables, para obtener algunas ventajas como que sea resistente a ruido, la representación sea más dispersa o nos separe los datos en clases.

    Queremos conocer qué soluciones podemos aportar y qué problemas se pueden abordar mediante las transformaciones convenientes del espacio de variables.

    Esto nos lleva a estudiar una clase de métodos, los autoencoders, que nos permiten extraer características mediante transformaciones no lineales que se guían según diferentes objetivos que podemos modificar a nuestro antojo, y de esa forma personalizar el espacio de variables generado.

    Objetivos

    Conceptos abordados

    ¿Qué es un autoencoder?

    Abstract nodes and connections

    Tutorial práctico sobre autoencoders

    Charte, D., Charte, F., García, S., del Jesus, M. J., & Herrera, F. (2018). A practical tutorial on autoencoders for nonlinear feature fusion: Taxonomy, models, software and guidelines. Information Fusion, 44, 78-96.

    Taxonomía

    Según estructura datos

    • AE básico
    • Convolucional
    • Con LSTM

    Regularización codificación

    • Sparse
    • Contractive

    Tolerancia a ruido

    • Denoising
    • Robust

    Modelo generativo

    • Variacional
    • Adversarial

    Variantes básicas

    Autoencoder básico (capas densas)

    Variaciones

    • Deep
    • Stacked

    Dominio específico

    • Imágenes: convolucional
    • Series temporales, secuencias: LSTM

    Regularización

    Aportar alguna propiedad adicional a la codificación

    Sparse autoencoder

    La mayoría de valores en la codificación son cero y pocos valores altos: $$\Omega_{\mathrm{SAE}}(\theta;S)=\sum_{i=1}^c \mathrm{KL}(\rho\Vert \hat\rho_i)~$$

    Contractive autoencoder

    Preserva las distancias del espacio original en el generado: $$ \Omega_{\mathrm{CAE}}(\theta;S) = \sum_{x\in S}\left\lVert J_f(x) \right\rVert_F^2;~\left\lVert J_f(x) \right\rVert_F^2= \sum_{j=1}^d\sum_{i=1}^c \left(\frac{\partial f_i}{\partial x_j}\left(x\right)\right)^2~.$$

    Tolerancia a ruido

    Mejorar la calidad de la codificación haciéndola resistente a perturbaciones

    Denoising autoencoder

    Aprende a restaurar instancias ruidosas $$\mathcal J_{\mathrm{DAE}}(\theta;S)= \sum_{x\in S}\mathbb E_{\tilde x \sim q(\tilde x \vert x)} \left[\mathcal L(x, (g\circ f)(\tilde x))\right]$$

    Robust autoencoder

    Correntropía: función objetivo menos sensible a ruido $$\mathcal L_{\mathrm{MCC}}(u, v)=-\sum_{k=1}^d\mathcal K_{\sigma}(u_k-v_k),\text{ donde } \mathcal K_{\sigma}(\alpha)=\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{\alpha^2}{2\sigma^2}\right),$$ y \(\sigma\) es parámetro de \(\mathcal K\).

    Modelos generativos

    Modelar el espacio como una distribución de probabilidad que se puede muestrear

    Variational autoencoder

    Enfoque de inferencia variacional: maximizar la probabilidad de que los datos se generen con la distribución codificada. $$\mathcal L_{\mathrm{VAE}}(\theta,\Phi,x^{(i)})=\frac 1 2 \sum_{j=1}^J\left(1+\log((\sigma_j^{(i)})^2)-(\mu_j^{(i)})^2\right)+\frac 1 L \sum_{l=1}^L \log p_{\theta}(x^{(i)}\vert z^{(i,l)})$$

    Adversarial autoencoder

    Añade un discriminador que distingue codificaciones reales de muestras de la distribución.
    Adversarial autoencoder

    Entrenamiento y evaluación

    Optimización

    Métricas

    Error cuadrático medio $$\text{MSE}(x,x')=\frac 1 n \sum_{i=1}^n (x_i - x'_i)^2$$
    Raíz del ECM $$\text{RMSE}(x,x')=\sqrt{\text{MSE}(x,x')}$$
    Error absoluto medio $$\text{MAE}(x,x')=\frac 1 n \sum_{i=1}^n \left\lvert{}x_i - x'_i\right\rvert$$
    Error porcentual absoluto medio $$\text{MAPE}(x,x')=\frac 1 n \sum_{i=1}^n \left\lvert{}\frac{x_i - x'_i}{x_i}\right\rvert$$

    Comparación con otras técnicas

    Guía de diseño de autoencoders

    Arquitectura

    • Número de capas
    • Número de unidades
    • Tipo de unidad
      • Densa
      • Convolucional
      • LSTM

    Función objetivo

    • Error reconstrucción
      • Error cuadrático medio
      • Entropía cruzada
      • Correntropía
    • Regularizaciones
      • Sparsity
      • Contraction
      • Weight decay

    Activaciones

    • \(\tanh~\to(-1,1)\)
    • Sigmoide\(~\to(0,1)\)
    • ReLU\(~\to[0,\infty)\)
    • SELU\(~\to(-\lambda\alpha,\infty)\)
    • Lineal\(~\to(-\infty,\infty)\)
    • ...
    Abstract nodes and connections

    Aplicaciones de autoencoders en aprendizaje de representaciones

    Charte, D., Charte, F., del Jesus, M. J., & Herrera, F. (2020). An analysis on the use of autoencoders for representation learning: Fundamentals, learning task case studies, explainability and challenges. Neurocomputing, 404, 93-107.

    Motivación

    Visualización de datos

    Contractive AE
    Alternativas: denoising, regularización embedding, manifold learning, t-SNE

    CPU Activity (21 variables)

    Satellite Image (36 variables)

    Reducción de ruido

    Denoising AE
    Alternativas: robust AE

    ImágenesMSEReducción
    Originales0100%
    Ruidosas1656.080%
    Basic AE576.6862.14%
    Denoising159.7488.94%

    Hashing semántico

    Tarea similar a clustering donde cada clúster tiene un código asociado. Los códigos similares corresponden a clusters más parecidos entre sí.

    AE con regularización de ruido gaussiano

    Detección de anomalías

    Se detecta anomalía cuando el error de reconstrucción supera un umbral.

    Denoising AEAlternativas: AE básico, contractive AE, variational AE

    Generación de instancias

    Se interpola en el espacio de codificación, generando siempre datos semánticamente válidos.

    AE variacional
    Alternativas: AE adversarial

    Perspectivas de explicabilidad

    Imágenes generadas por Total Correlation VAE

    1Chen, R. T., Li, X., Grosse, R. B., & Duvenaud, D. K. (2018). Isolating sources of disentanglement in variational autoencoders. Advances in neural information processing systems, 31.

    Abstract nodes and connections

    Software para autoencoders en R: Ruta

    Charte, D., Herrera, F., & Charte, F. (2019). Ruta: Implementations of neural autoencoders in R. Knowledge-Based Systems, 174, 4-8.

    Software previo para AEs

    Bibliotecas de cálculo tensorial (PyTorch, Tensorflow)
    • Barrera de acceso: APIs complejas
    • Extracción de características difícil
    • Implementación manual de muchas funciones

    Implementaciones de autoencoders
    • Autoencoder (R): básico/sparse
    • SAENET (R): sparse/stacked
    • H2O (Java/R): básico
    • yadlt (python): básico/denoising

    Es necesaria una implementación accesible y versátil de autoencoders

    Detalles de implementación

    Variantes de AE implementadas
    • básico
    • sparse
    • contractive
    • denoising
    • robust
    • variational
    Tipos de capas
    • densas
    • convolucionales (1D, 2D, 3D)
    Descargas acumuladas del paquete

    Arquitectura y funcionalidad

    Clases definidas

    Funcionalidades

    Ejemplos de uso

    Entrenamiento y codificación

    encoded <- iris[, 1:4] %>% as.matrix() %>% autoencode(2, "robust")

    Definición de una red, reconstrucción, evaluación

    learner <- autoencoder_sparse(
      input() + dense(3, "tanh") + output(),
      "mean_squared_error"
    )
    model <- train(learner, train_x, epochs = 200)
    reconstructions <- reconstruct(model, test_x)
    evaluate_mean_squared_error(model, test_x)

    Ejemplo AE variacional

    network <-
      input() +
      dense(256, "elu") +
      variational_block(10, seed = 42) +
      dense(256, "elu") +
      output("sigmoid")
    learner <- autoencoder_variational(network, loss = "binary_crossentropy")
    model <- train(learner, x_train, epochs = 10)
    
    samples <- model %>% 
      generate(dimensions = c(8, 5), side = 6, fixed_values = 0.99)
    plot_matrix(samples)
    Muestreo de dígitos de la codificación aprendida desde MNIST con un autoencoder variacional
    Abstract nodes and connections

    Problemas no estándares en aprendizaje supervisado

    Charte, D., Charte, F., García, S., & Herrera, F. (2019). A snapshot on nonstandard supervised learning problems: taxonomy, relationships, problem transformations and algorithm adaptations. Progress in Artificial Intelligence, 8(1), 1-14.

    Taxonomía

    Nonstandard problems wheel

    Taxonomía

    Salidas Salida sin orden Salida ordenada
    Escalar Múltiple Escalar Múltiple
    Entradas Discreta Continua Discreta Continua
    Muestras sin orden clas. estándar clas. multietiqueta/ multi-dimensional regr. ordinal regr. estándar clas. multietiqueta gradada regr. multi-objetivo
    Relación de orden - - clas. monotónica regr. isotónica - -
    Múltiples instancias clas. multi-instancia clas. MIML/MIMD - regr. multi-instancia - -
    Múltiples vistas clas. multi-vista clas. MVML/MVMD - regr. multi-vista - -

    Otros casos

    • Salida es distribución de probabilidad: label distribution learning
    • Salida es ranking: label ranking
    • Predicción estructurada

    Información parcial/ausente

    • Instancias sin etiquetar: semi-supervisado, positive-unlabeled
    • Clases sin representación: one-class, positive-unlabeled, zero-shot
    • Clases escasas: one-shot

    Relaciones

    Nonstandard problem generalizations

    Tratamiento

    Tarea Transformación del problema Adaptación de algoritmos
    MIEmbedded-space SVM Neural networks k-NN
    MV Canonical correlation analysis SVM Fisher discriminant analysis
    ML Binary Relevance Label Powerset Classifier chains k-NN Decision trees SVM Association rules Ensembles
    MD Independent classifiers Bayesian networks Maximum Entropy
    LDL Multiclass reduction k-NN Neural networks
    LR Pairwise preferences Constraint classification Boosting SVM Perceptron
    MTR ML-inspired: one-vs-all, stacking, regressor chains Support vectors Generalizations Support vector regression Kernel-based Regression trees Random forests
    OR Ordered partitions One-vs-next, One-vs-followers, One-vs-previous 3-class problems Neural networks Extreme learning machines Decision trees Gaussian processes AdaBoost
    MC Reduction to IR k-NN Decision trees Decision rules Neural networks
    Abstract nodes and connections

    Nuevos modelos para reducir complejidad

    Charte, D., Charte, F., & Herrera, F. (2021). Reducing data complexity using autoencoders with class-informed loss functions. IEEE Transactions on Pattern Analysis and Machine Intelligence.

    Complejidad de datos: fuentes

    Solapamiento de clases

    F1
    Max. Fisher's discriminant ratio
    F3
    Maximum feature efficiency

    Separabilidad y no linealidad

    L2
    Linear classifier error
    L3
    Linear classifier nonlinearity

    Vecindarios y morfología

    N3
    1NN classifier error
    ONB
    Number of balls to cover classes

    Dimensionalidad

    T2
    Instances-to-features ratio

    Complejidad de datos: reducción

    Selección de características
    Extracción de características
    Aprendizaje de métricas de distancia

    Scorer

    Definición

    Skaler

    Definición

    $$\Omega(\theta;S)=- \sum_{j=1}^{d}\left[P_+(j)~ \log\frac{P_+(j)}{P_-(j)} + H(j)\right]$$

    donde \(P_+(j)\) indica la probabilidad de que la \(j\)-ésima variable tenga el valor más alto en las instancias positivas (y \(P_-(j)\) lo análogo para negativas):

    $$ P_+(j)=\operatorname{softmax}\left(\frac{1}{N^{+}}\sum_{(x,+1)\in S}f(x)\right)(j)~,\quad P_-(j)=\operatorname{softmax}\left(\frac{1}{N^{-}}\sum_{(x,-1)\in S}f(x)\right)(j)$$

    $$H(j)=-\left(P(j=0)~\log(P(j=0)) + P(j=1)~\log(P(j=1))\right) $$

    Slicer

    Definición

    $$\Omega(\theta;S)=\frac 1 2 \left\Vert w\right\Vert^2+\frac \beta 2\sum_{(x,y)\in S}\left(1 - y\left(w^Tf(x)+b\right)\right)^2$$
    Modelo Slicer

    Marco experimental: datasets

    Appendicitis
    Arcene
    Australian
    Bioresponse
    Christine
    Dexter
    Gina
    Gisette
    Human Act Rec
    Hill Valley
    Indian (corn)
    Indian (soybeans)
    Ionosphere
    Isolet (vowels)
    Jasmine
    Madelon
    MFeatFactors (odd)
    MFeatPixel (odd)
    Satellite (grey)
    Scene (beach)
    Scene (sunset)
    Scene (fall)
    Scene (field)
    Scene (mountain)
    Scene (urban)
    Sonar
    • Binario
    • Clases agrupadas
    • One-vs-all
    • Multietiqueta

    Marco experimental

    Métodos

    • PCA
    • LLE
    • Isomap
    • AE básico
    • Scorer
    • Skaler
    • Slicer

    Métricas

    • F1 (Fisher)
    • F3 (efficiency)
    • ONB (total)
    • ONB (average)
    • L2 (clas. lineal)
    • L3 (linealidad)
    • N3 (clas. 1NN)
    • Para SVM, kNN, MLP:
      • Fscore
      • AUC
      • Kappa

    Parámetros

    • Dimensión: \(\max\{\min\{\sqrt d, \frac{n}{10}\},2\}\)
    • Épocas: 200
    • Capas ocultas: 1 o 3
    • Activación: ReLU, Sigmoide (Skaler)
    • Peso Scorer: 0.01
    • Peso Skaler: 0.1
    • Peso Slicer: 1
    • Error reconstrucción: entropía cruzada

    Resultados: rankings

    PCA LLE Isomap AE Skaler Scorer Slicer
    F1 \(\otimes\) 5.885 \(\otimes\) 6.115 \(\otimes\) 5.731 \(\otimes\) 4.038 \(\bigstar\) 1.577 2.308 2.346
    F3 \(\otimes\) 4.250 \(\otimes\) 5.231 \(\otimes\) 4.846 \(\otimes\) 5.654 2.788 3.000 \(\bigstar\) 2.231
    N3 \(\otimes\) 4.692 \(\otimes\) 5.173 \(\otimes\) 5.308 \(\times\) 4.269 3.654 2.577 \(\bigstar\) 2.327
    L2 \(\bigstar\) 2.712 \(\times\) 4.519 3.981 \(\otimes\) 5.654 \(\times\) 4.442 3.846 2.846
    L3 2.769 \(\times\) 4.500 4.115 \(\otimes\) 5.500 \(\otimes\) 4.923 3.654 \(\bigstar\) 2.538
    \(\textit{ONB}_{\text{tot}}\) \(\otimes\) 4.481 \(\otimes\) 6.115 \(\otimes\) 4.519 \(\otimes\) 4.481 3.442 3.019 \(\bigstar\) 1.942
    \(\textit{ONB}_{\text{avg}}\) \(\otimes\) 4.442 \(\otimes\) 6.077 \(\otimes\) 4.519 \(\otimes\) 4.577 \(\times\) 3.538 2.904 \(\bigstar\) 1.942
    kNN F-score 3.096 \(\otimes\) 6.923 \(\otimes\) 4.904 4.115 3.519 3.231 \(\bigstar\) 2.212
    AUC 3.288 \(\otimes\) 7.000 \(\otimes\) 4.750 \(\times\) 4.038 3.500 3.250 \(\bigstar\) 2.173
    Kappa 3.096 \(\otimes\) 7.000 \(\otimes\) 4.827 \(\times\) 4.038 3.558 3.346 \(\bigstar\) 2.135
    SVM F-score 3.788 \(\otimes\) 6.846 \(\otimes\) 4.673 3.538 3.538 2.923 \(\bigstar\) 2.692
    AUC \(\times\) 4.000 \(\otimes\) 6.846 \(\otimes\) 4.865 3.462 3.346 2.962 \(\bigstar\) 2.519
    Kappa 3.904 \(\otimes\) 6.846 \(\otimes\) 4.827 3.346 3.577 2.962 \(\bigstar\) 2.538
    MLPF-score \(\otimes\) 4.077 \(\otimes\) 6.769 \(\otimes\) 3.962 \(\otimes\) 4.731 2.596 \(\otimes\) 3.865 \(\bigstar\) 2.000
    AUC \(\otimes\) 4.000 \(\otimes\) 7.000 \(\otimes\) 4.058 \(\otimes\) 4.635 2.404 \(\otimes\) 3.942 \(\bigstar\) 1.962
    Kappa \(\otimes\) 4.000 \(\otimes\) 7.000 \(\otimes\) 4.077 \(\otimes\) 4.596 2.558 \(\otimes\) 3.827 \(\bigstar\) 1.942
    wins 62 10 17 19 78 64 188

    Resultados: critical distance

    Critical distance plot

    Resultados completos

    ari-dasci.github.io/S-reducing-complexity
    Abstract nodes and connections

    Comentarios finales

    Dashboard

    Resultados obtenidos

    Otras publicaciones

    A tutorial on the segmentation of metallographic images: Taxonomy, new MetalDAM dataset, deep learning-based ensemble model, experimental analysis and challenges. Information Fusion (2022)
    Revisiting data complexity metrics based on morphology for overlap and imbalance: snapshot, new overlap number of balls metrics and singular problems prospect. Knowledge and Information Systems (2021)
    COVIDGR dataset and COVID-SDNet methodology for predicting COVID-19 based on chest X-ray images. IEEE journal of biomedical and health informatics (2020)
    Artificial intelligence within the interplay between natural and artificial computation: Advances in data science, trends and applications. Neurocomputing (2020)
    Tips, guidelines and tools for managing multi-label datasets: The mldr. datasets R package and the Cometa data repository. Neurocomputing (2018)
    Working with Multilabel Datasets in R: The mldr Package. The R Journal (2015)
    Slicer: Feature Learning for Class Separability with Least-Squares Support Vector Machine Loss and COVID-19 Chest X-Ray Case Study. HAIS 2021
    A showcase of the use of autoencoders in feature learning applications. IWINAC 2019

    Trabajo futuro

    Abstract nodes and connections

    Mejoras en tratamiento de
    problemas de clasificación
    con modelos basados en
    autoencoders

    Tesis para la obtención del título de doctor por la Universidad de Granada

    Programa de Doctorado en Tecnologías de la Información y la Comunicación
     

    Francisco David Charte Luque <fdavidcl@ugr.es>

    Directores:
    Francisco Herrera Triguero
    Francisco Charte Ojeda

    6 de julio de 2022

    Abstract nodes and connections

    Apéndice

    Resultados: critical distance plots

    Critical distance plots

    Resultados: joyplots

    Joyplots

    Resultados: joyplots

    Joyplots

    Colaboraciones

    Luengo, J., Moreno, R., Sevillano, I., Charte, D., Peláez-Vegas, A., Fernández-Moreno, M., ... & Herrera, F. (2022). A tutorial on the segmentation of metallographic images: Taxonomy, new MetalDAM dataset, deep learning-based ensemble model, experimental analysis and challenges. Information Fusion, 78, 232-253.
    Pascual-Triana, J. D., Charte, D., Andrés Arroyo, M., Fernández, A., & Herrera, F. (2021). Revisiting data complexity metrics based on morphology for overlap and imbalance: snapshot, new overlap number of balls metrics and singular problems prospect. Knowledge and Information Systems, 63(7), 1961-1989.
    Tabik, S., Gómez-Ríos, A., Martín-Rodríguez, J. L., Sevillano-García, I., Rey-Area, M., Charte, D., ... & Herrera, F. (2020). COVIDGR dataset and COVID-SDNet methodology for predicting COVID-19 based on chest X-ray images. IEEE journal of biomedical and health informatics, 24(12), 3595-3605.
    Górriz, J. M., Ramírez, J., Ortíz, A., Martínez-Murcia, F. J., Segovia, F., Suckling, J., ... & Ferrández, J. M. (2020). Artificial intelligence within the interplay between natural and artificial computation: Advances in data science, trends and applications. Neurocomputing, 410, 237-270.
    Charte, F., Rivera, A. J., Charte, D., del Jesus, M. J., & Herrera, F. (2018). Tips, guidelines and tools for managing multi-label datasets: The mldr. datasets R package and the Cometa data repository. Neurocomputing, 289, 68-85.

    Sobre los nombres