| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
| Proyecto Integral de Ingeniería del Software | |
|---|---|
| Metodologías Ágiles |
| Trabajo Fin De Grado | |
|---|---|
| Guía Memoria TFG |
| Servidores | |
|---|---|
| Minercraft | |
| Knoppia | |
| Omegacraft |
| Base de datos de juegos | |
|---|---|
| GameBoy Advance (GBA) |
Normalmente las técnicas de machine learnign deben manegar volúmenes de data enormes, lo que requiere muchos recursos de computación, el uso de nodos independientes no es apto debido a límites de memoria o de tiempo. Algunos de los frameworks más usados para machine learning están optimizados para usar GPUs. Existen muchos sistemas distribuidos de computación capaces de realizar entrenamiento en múltiples nodos de forma coordinada. Las aproximaciones convencionales requieren de una plataforma centralziada que recoge los datos y los distribuye entre los nodos.
Es un procedimiento distribuido y colaborativo para entrenar modelos de Machine Learning sin mostrar los datos con los que se entrena. La idea de este método es mover la computación al borde, es decir, el dispositivo que obtiene los datos. Los datos no son nunca transferidos a un servidor central o a ningún almacenamiento cetnralizado, manteniendose aislados localmente. Esto mitiga vulnerabilidades relacionadas con los datos. El malchine learning es un modelo non-IID (Non-Independent identically distributed data).
Los algoritmos de aprendizaje estan descentralizados, confiando en cada nodo para realizar entrenamiento parcial del modelo. Cada nodo computa actualizaciones del modelo parcial con sus propios datos, intercambiando los parámetros con otros grupos. Un servidor central suele ser requerido para coordinar el entrenamiento, añadiendo los resultados del entrenamiento para calcular el modelo global. Una vez entrenado, el modelo global se distribuye a cada nodo para que lo pueda usar para realizar predicciones o más iteraciones del modelo.
Los datos no salen del dispositivo del usuario, por lo que el acceso directo por parte de terceras partes no es posible, pero sigue siendo posible la mala utilización de los datos y los modelos de Machine Learning pueden contener información sensible sobre los datos, siendo posible realizar ataques de inferencia.
El adversario puede alimentar el servidor de coordinación con actualizaciones del modelo envenenadas. Normalmente se hace del lado del cliente, donde el adversario controla una fracción de los nodos participantes. El objetivo puede ser realizar un random attack apra corromper el modelo o un ataque de reemplazo, donde se inyecta una backdoor oculta dentro del modelo de forma que pueda coexistir con el modelo manteniendo el alto rendimiento.
Existen varios tipos de ataques que se suelen realizar contra modelos de Machine Learning:
Tratan de determinar si se ha usado cierto input para entrenar el modelo. Basado en el comportamiento del modelo sobre datos de entrenamiento y datos ocultos.
Se trata de recrear los ejemplos de entrenamiento y sus etiquetas. La reconstrucción puede ser parcial o completa. Dadas las etiquetas de salida y conocimiento parcial sobre características se puede intentar recuperar características sensibles o toda la muestra de datos.
La capacidad para extraer propiedades del dataset no codificadas como características o no correlacionadas con la tarea de aprendizaje. Este tipo de ataque tiene implicaciones de privacidad. Puede permitir a un atacante crear modelos similares. Puede ser usado para detectar vulnerabilidades en un sistema. Es posible de realizar incluso en modelos bien generalizados.
El adversario trata de extraer información y potencialmente reconstruir el modelo. Crea un modelo sustituto que se comporta de forma similar al modelo atacado. El adversario quiere ser lo más eficiente posible.
No es encesario saber la arquitectura del modelo bajo ataque si el modelo sustituto tiene la misma o mayor complejidad.
Las técnicas de privacidad diferencial pueden resistir ataques de inferencia de membresía añadiendo rudio en los datos de entrada, interaciones del algoritmo de machine learning y en la salida del algoritmo.
Algunos usuarios de los datos pueden pedir los datos originales para usarlos localmente. Métodos conservadores de la privacidad para la compartición de datos pueden ser usados para este propósito. La generación de datos sintéticos es una solución para la compartición de datos. Se generan datos artificiamente que tienen distribuciones y propiedades similares a los datos originales.
Los datos sintéticos son un tipo de datos artificialmente formulados generados por algoritmos artificales. Tienen algunas características críticas de los datos actuales. Puede producir resultados similares a los de datos reales. Puede ser generado para características espècíficas de escenarios de prueba poco comunes.
Los datos sintéticos ayudan a asegurtar la protección de la privacidad, al comaprtirlos se mantiene la utilidad de la aplicación y se preserva la privacidad.
La minería de datos son herramientas y técnicas que pueden ser usadas para recolectar información y analizarla para extraer conocimiento de esta.