Autor: Li Ruifeng
Título del trabajo
Repensar el aprendizaje federado con cambio de dominio: una vista de prototipo
Fuente de papel
CVPR 2023
Enlace de papel
enlace de código
https://github.com/yuhangchen0/FPL_MS
Como marco de IA de código abierto, MindSpore ofrece colaboración entre la industria, la universidad, la investigación y los desarrolladores en un escenario completo, desde el borde del dispositivo hasta la nube, desarrollo minimalista, máximo rendimiento, preentrenamiento de IA a ultra gran escala, desarrollo minimalista y una plataforma segura y confiable. experiencia, 2020.3.28 El código abierto tiene más de 5 millones de descargas. MindSpore ha respaldado cientos de artículos de conferencias importantes sobre IA, se ha impartido en más de 100 universidades y está disponible comercialmente en más de 5000 aplicaciones a través de HMS. y en el campo del centro de computación de inteligencia artificial, las finanzas, la fabricación inteligente, las finanzas, la nube, la tecnología inalámbrica, las comunicaciones de datos, la energía, el consumo 1 + 8 + N, los automóviles inteligentes y otros escenarios de automóviles en la nube de última generación se están utilizando gradualmente. es el software de código abierto con el índice Gitee más alto. Todos son bienvenidos a participar en contribuciones de código abierto, kits, modelos de inteligencia colectiva, innovación y aplicaciones de la industria, innovación de algoritmos, cooperación académica, cooperación de libros de IA, etc., y contribuir con sus casos de aplicación en el lado de la nube, el lado del dispositivo, el lado del borde y campos de seguridad.
Con el amplio apoyo de SunSilicon MindSpore por parte de la comunidad científica y tecnológica, la academia y la industria, los artículos de IA basados en SunSilicon MindSpore representaron el 7% de todos los marcos de IA en 2023, ocupando el segundo lugar en el mundo durante dos años consecutivos. Gracias a CAAI y. todas las universidades Con el apoyo de los profesores, continuaremos trabajando duro juntos para realizar investigación e innovación en IA. La comunidad MindSpore apoya las principales investigaciones en artículos de conferencias y continúa generando resultados originales de IA. De vez en cuando seleccionaré algunos artículos excelentes para impulsar e interpretar. Espero que más expertos de la industria, el mundo académico y la investigación cooperen con Shengsi MindSpore para promover la investigación original de IA. La comunidad de Shengsi MindSpore continuará apoyando la innovación y las aplicaciones de IA. Es de Shengsi Para el artículo número 18 de la serie de artículos de la cumbre MindSpore AI, elegí interpretar un artículo del equipo del profesor Ye Mang de la Facultad de Ciencias de la Computación de la Universidad de Wuhan . Me gustaría agradecer a todos los expertos, profesores y compañeros de clase. por sus aportes.
MindSpore tiene como objetivo lograr tres objetivos principales: desarrollo sencillo, ejecución eficiente y cobertura completa de escenarios. A través de la experiencia de uso, MindSpore, un marco de aprendizaje profundo, se está desarrollando rápidamente y el diseño de sus diversas API se optimiza constantemente en una dirección más razonable, completa y poderosa. Además, varias herramientas de desarrollo que surgen constantemente de Shengsi también están ayudando a este ecosistema a crear métodos de desarrollo más convenientes y poderosos, como MindSpore Insight, que puede presentar la arquitectura del modelo en forma de diagrama y también puede monitorear dinámicamente varios aspectos. del modelo durante el tiempo de ejecución. Los cambios en los indicadores y parámetros hacen que el proceso de desarrollo sea más conveniente.
01
Antecedentes de la investigación
En el mundo digital, la privacidad y la seguridad de los datos se han convertido en cuestiones fundamentales de creciente preocupación. Es en este contexto que el aprendizaje federado surgió como un método de aprendizaje automático distribuido que protege la privacidad de los datos. Su idea central es permitir que múltiples dispositivos o servidores entrenen conjuntamente un modelo sin compartir los datos originales. Este enfoque puede manejar tareas de aprendizaje automático en múltiples dispositivos móviles, especialmente cuando los requisitos de seguridad y privacidad de los datos son altos.
Hay un problema importante que resolver en el aprendizaje federado: la heterogeneidad de los datos. Por lo general, se refiere al hecho de que los datos que contiene cada nodo (como un dispositivo, servidor u organización) involucrado en el aprendizaje pueden variar mucho. Estas diferencias pueden involucrar aspectos como la distribución, calidad, cantidad y tipo de características de los datos. La cuestión de la heterogeneidad de los datos es particularmente importante en el aprendizaje federado porque puede afectar directamente el efecto de aprendizaje y la capacidad de generalización del modelo.
Este artículo señala que, para la heterogeneidad de los datos, las soluciones existentes se centran principalmente en todos los datos privados del mismo dominio. Cuando los datos distribuidos se originan en diferentes dominios, los modelos privados tienden a exhibir un rendimiento degradado en otros dominios (con compensaciones de dominio) y las señales globales no pueden capturar información de dominio rica y justa. Por lo tanto, los autores esperan que el modelo global optimizado pueda proporcionar de manera estable un rendimiento de generalización en múltiples dominios durante el proceso de aprendizaje federado.
En este artículo, los autores proponen el "Aprendizaje de prototipos federados" (FPL) para el aprendizaje federado bajo cambio de dominio. La idea central es construir prototipos agrupados y prototipos imparciales que proporcionen un rico conocimiento del dominio y objetivos de convergencia justos. Por un lado, las incorporaciones de muestra se alejan de los prototipos de grupos de diferentes categorías y se acercan a los prototipos de grupos de la misma semántica. Por otro lado, se introduce la regularización de la coherencia para alinear las instancias locales con los correspondientes prototipos imparciales.
El documento lleva a cabo desarrollos de marcos y experimentos basados en MindSpore. Los resultados experimentales, como las tareas de Digits y Office Caltech, demuestran la eficacia de la solución propuesta y la eficiencia de los módulos clave.
02
introducción del equipo
Huang Wenke, el primer autor del artículo, actualmente está estudiando una maestría y un doctorado en la Universidad de Wuhan (2021-presente), y sus mentores son el profesor Du Bo y el profesor Ye Mang. Graduado de la Universidad de Wuhan con una licenciatura. Sus principales direcciones de investigación incluyen el aprendizaje federado, el aprendizaje de gráficos, la tecnología financiera, etc. Actualmente ha publicado 4 artículos como primer autor en las principales conferencias internacionales como CVPR, IJCAI y ACM MM. Durante su período de posgrado obtuvo títulos como Beca Guotai Junan y Estudiante de Posgrado Destacado. Se desempeñó como pasante de investigación en Alibaba Group, Microsoft Research Asia, etc.
Ye Mang , el autor correspondiente del artículo, es profesor y supervisor de doctorado en la Facultad de Ciencias de la Computación de la Universidad de Wuhan, un joven talento de alto nivel a nivel nacional y un candidato joven recomendado por la Asociación China para la Ciencia y la Tecnología. Se desempeñó como científico investigador en el Instituto de Investigación de Inteligencia Artificial Emirates Origin y como académico visitante en la Universidad de Columbia en Estados Unidos. Sus principales direcciones de investigación incluyen visión por computadora, recuperación multimedia, aprendizaje federado, etc. Ha publicado más de 80 artículos en revistas y conferencias internacionales, 10 artículos altamente citados de ESI y ha sido citado por Google Scholar más de 5.600 veces. Se desempeñó como presidente de campo de conferencias académicas como CVPR24 y ACM MM23. Alberga proyectos de investigación científica como el Plan Clave de I+D de la provincia de Hubei y la Fundación Nacional de Ciencias Naturales de China. Ganó la beca Excelente de Google, campeón de la pista de reidentificación de objetivos de drones en ICCV2021, la principal conferencia internacional de visión por computadora, "el 2% superior de los mejores científicos del mundo" en la clasificación de Stanford 2021-2022 y el joven académico chino Baidu AI de 2022. .
El equipo de investigación MARS está dirigido por el profesor Ye Mang y se centra en el análisis del comportamiento/peatones por vídeo de vigilancia, el aprendizaje no supervisado/semisupervisado, la comprensión y el razonamiento intermodales y el aprendizaje federado.
03
Introducción al artículo
3.1 Introducción
Con base en los antecedentes de investigación antes mencionados, este artículo propone el aprendizaje de prototipos federados para resolver el problema de la generalización multidominio federada: los datos privados provienen de diferentes campos y diferentes clientes tienen distribuciones de características muy diferentes, ya que el modelo local sobreajustará la distribución local. , el modelo privado no funciona bien en otros ámbitos. Por ejemplo, un modelo local A entrenado en imágenes en escala de grises MNIST, después de ser agregado por el servidor, no puede funcionar normalmente en otro cliente, como el conjunto de datos SVHN de imágenes en color, porque este modelo local A no puede aprender la información del dominio SVHN, lo que conduce al rendimiento. degradación.
Dado que la señal global no puede representar información de conocimiento en múltiples campos y puede estar sesgada hacia información en el campo dominante, la capacidad de generalización se reduce. Para permitir que el modelo aprenda un rico conocimiento multidominio y use señales compartidas para proporcionar información en múltiples dominios para mejorar las capacidades de generalización, este artículo propone usar prototipos de clúster para representar información en diferentes dominios y usar el aprendizaje contrastivo para mejorar los puntos comunes de las mismas categorías en diferentes dominios y mejorar las diferencias entre diferentes categorías, llamado Aprendizaje contrastivo de prototipos de clúster para evitar la optimización hacia el dominio dominante potencial y mejorar la capacidad en algunos dominios, este documento utiliza prototipos imparciales para proporcionar un modelo justo y estable. información, que se denomina regularización de coherencia de prototipos imparciales (regularización coherente de prototipos imparciales).
3.2 Método
3.2.1 Preparación
aprendizaje federado
En un entorno típico de aprendizaje federado, hay participantes y sus correspondientes datos privados, expresados como:
Entre ellos, representa la escala de datos local. En un entorno de aprendizaje federado heterogéneo, la distribución de características condicionales
variará entre los participantes, incluso si
es consistente, lo que conduce a un cambio de dominio. Defina el desplazamiento del dominio como:
Esto significa que hay un desplazamiento de dominio en los datos privados. Específicamente, para el mismo espacio de etiquetas, existen distribuciones de características únicas entre diferentes participantes.
Figura 1 El dominio de origen de datos del cliente local es diferente y la diferencia es grande.
Además, todos los participantes llegan a un consenso y comparten un modelo con la misma arquitectura. Este modelo puede verse como dos partes principales: extractor de características y clasificador. El extractor de características, denominado , codifica la muestra x en
un vector de características unidimensional en el espacio de características, expresado como:
El clasificador asigna características a la salida logits , que en fórmulas posteriores
representa las categorías de clasificación. El objetivo de la optimización es aprender un modelo global generalizable con buen rendimiento en múltiples dominios a través del proceso de aprendizaje federado.
prototipo de característica
Para implementar métodos posteriores relacionados con prototipos, este artículo primero construye la definición de prototipo:
El prototipo que representa
la etiqueta del cliente-ésimo se obtiene
calculando el promedio de los vectores de características de todas las muestras
con la etiqueta del cliente-ésimo , que representa intuitivamente la información de dominio representada por la etiqueta de este cliente.
Si primero ignora el método de este artículo, el método más general es promediar directamente la información de dominio de las etiquetas de todos los clientes , permitir que todos los clientes conozcan esta información y restringir las actualizaciones de los clientes locales:
El cual representa
la información de dominio promedio de todas las muestras de diferentes campos etiquetados como en todo el sistema federado. Sin embargo, esta visión global está sesgada, no puede representar correctamente la información en varios campos y también puede estar sesgada hacia campos dominantes e ignorar algunos campos, como se muestra en la Figura 2a.
Figura 2 Representación de diferentes tipos de prototipos
3.2.2 Aprendizaje comparativo del prototipo de clúster
Para resolver el problema de los prototipos globales, este artículo primero utiliza el método FINCH de agrupación no supervisada para separar el conocimiento de dominio extenso (vectores de características de cada muestra) sin supervisión. De esta manera, las muestras de diferentes dominios tienen sus propias diferencias. vectores de características, diferentes campos se agruparán en diferentes grupos y luego el prototipo de este grupo se calculará dentro del mismo grupo, como se muestra en la Figura 2b, para evitar que múltiples dominios se alejen de todo el conocimiento de dominio útil después de promediar entre sí. .
En la fórmula anterior, representa el conjunto de prototipos de etiquetas
que se han agrupado .
Con base en esto, este artículo implementa el aprendizaje comparativo de prototipos de clústeres agregando un nuevo término de pérdida. Para una muestra que pertenece a una determinada muestra
, su vector de características es
. Este artículo utiliza el aprendizaje comparativo para tratar de acortar
la distancia entre la muestra y todos los prototipos que pertenecen a la misma semántica tanto como sea posible, o mejorar la similitud bajo la misma. etiqueta de diferentes dominios Al mismo tiempo, la similitud con todos los prototipos que no pertenecen
(marcados como
) se reduce tanto como sea posible. A través de este método, se aprende un rico conocimiento en diferentes campos durante la actualización local y se aumenta la capacidad de generalización. mejorado. El autor define la similitud entre el vector de características de muestra y el prototipo como:
Luego construya el término de pérdida que implementa el aprendizaje comparativo del prototipo de clúster:
¿Por qué funciona este enfoque? El autor hace el siguiente análisis:
Minimizar esta función de pérdida equivale a acercar el vector de características de muestra a su prototipo de grupo positivo asignado y alejar el vector de características de otros prototipos negativos
. Esto no solo mantiene la invariancia a varias distorsiones de dominio, sino que también mejora las propiedades de difusión de la semántica, asegurando que el espacio de características sea a la vez generalizable y discriminativo, logrando así un rendimiento de generalización satisfactorio en el aprendizaje federado.
3.2.3 Regularización imparcial de la coherencia del prototipo
Dado que los prototipos de clúster aportan conocimiento de diversos dominios a la plasticidad bajo transferencia de dominio, pero debido al método de agrupación no supervisada, los prototipos de clúster se generan dinámicamente con cada comunicación y su escala cambia. Por lo tanto, el prototipo de clúster no puede proporcionar una dirección de convergencia estable en diferentes eras de comunicación. Este artículo propone un segundo método para garantizar una equidad multidominio sostenida mediante la construcción de un prototipo imparcial justo y estable y limitando la distancia entre los prototipos de múltiples grupos y el prototipo imparcial.
Específicamente, se promedian varios prototipos de clúster bajo la misma etiqueta que se han agrupado para representar el objetivo de convergencia imparcial bajo la etiqueta , como se muestra en la Figura 2c.
Este artículo presenta un segundo término de pérdida y utiliza el término de regularización de consistencia para acercar el vector de características de la muestra al prototipo imparcial correspondiente , proporcionando un punto de optimización relativamente justo y estable para resolver el problema de la inestabilidad de la convergencia:
3.2.4 Algoritmo general
Además de las dos pérdidas anteriores, la función de pérdida de entropía cruzada utilizada en el entrenamiento de modelos convencionales se utiliza como función de pérdida del aprendizaje de prototipos federados propuesto en este artículo:
proceso de aprendizaje:
Algoritmo :
04
Resultados experimentales
4.1 Comparación con resultados experimentales del Estado del Arte
Este artículo se probó con los conjuntos de datos Digits y Office Caltech. El primero es un conjunto de datos digitales con cuatro etiquetas idénticas y diferentes fuentes de datos, y el segundo es un conjunto de datos del mundo real con cuatro mismas etiquetas y diferentes fuentes de datos. Los experimentos muestran que el FPL propuesto es mejor que el SOTA actual tanto en rendimiento en un solo campo como en rendimiento promedio en múltiples campos.
4.2 Experimento de ablación
Se puede ver que en la mayoría de los casos CPCL y UPCR trabajan juntos para producir un mejor rendimiento.
La comparación de los resultados experimentales demostrados por los dos métodos que utilizan prototipos globales ordinarios y el prototipo propuesto demuestra la eficacia de los prototipos agrupados y los prototipos imparciales.
4.3 Visualización del código MindSpore
Este marco está desarrollado en base a MindSpore.
4.3.1 MindSpore implementa aprendizaje comparativo de prototipos de clústeres
def calculate_infonce(self, f_now, label, all_f, all_global_protos_keys):
pos_indices = 0
neg_indices = []
for i, k in enumerate(all_global_protos_keys):
if k == label.item():
pos_indices = i
else:
neg_indices.append(i)
f_pos = Tensor(all_f[pos_indices][0]).reshape(1,512)
f_neg = ops.cat([Tensor(all_f[i]).reshape(-1, 512) for i in neg_indices], axis=0)
#aaa
f_proto = ops.cat((f_pos, f_neg), axis=0)
f_now = f_now.reshape(1,512)
f_now_np = f_now.asnumpy()
f_proto_np = f_proto.asnumpy()
def cosine_similarity_numpy(vec_a, vec_b):
dot_product = np.dot(vec_a, vec_b.T)
norm_a = np.linalg.norm(vec_a, axis=1, keepdims=True)
norm_b = np.linalg.norm(vec_b, axis=1)
return dot_product / (norm_a * norm_b)
l_np = cosine_similarity_numpy(f_now_np, f_proto_np)
l = Tensor(l_np)
#l = ops.cosine_similarity(f_now, f_proto, dim=1)
l = ops.div(l, self.infoNCET)
exp_l = ops.exp(l).reshape(1, -1)
pos_num = f_pos.shape[0]
neg_num = f_neg.shape[0]
pos_mask = Tensor([1] * pos_num + [0] * neg_num).reshape(1, -1)
pos_l = exp_l * pos_mask
sum_pos_l = ops.sum(pos_l, dim=1)
sum_exp_l = ops.sum(exp_l, dim=1)
infonce_loss = -ops.log(sum_pos_l / sum_exp_l)
return Tensor(infonce_loss)
4.3.2 MindSpore realiza una regularización imparcial de la coherencia del prototipo **
def hierarchical_info_loss(self, f_now, label, mean_f, all_global_protos_keys):
pos_indices = 0
for i, k in enumerate(all_global_protos_keys):
if k == label.item():
pos_indices = i
mean_f_pos = Tensor(mean_f[pos_indices])
f_now = Tensor(f_now)
cu_info_loss = self.loss_mse(f_now, mean_f_pos)
return cu_info_loss
4.3.3 Capacitación del modelo local del cliente
def _train_net(self, index, net, train_loader):
if len(self.global_protos) != 0:
all_global_protos_keys = np.array(list(self.global_protos.keys()))
all_f = []
mean_f = []
for protos_key in all_global_protos_keys:
temp_f = self.global_protos[protos_key]
all_f.append(copy.deepcopy(temp_f))
mean_f.append(copy.deepcopy(np.mean(temp_f, axis=0)))
all_f = [item.copy() for item in all_f]
mean_f = [item.copy() for item in mean_f]
else:
all_f = []
mean_f = []
all_global_protos_keys = []
optimizer = nn.SGD(net.trainable_params(), learning_rate=self.local_lr, momentum=0.9, weight_decay=1e-5)
criterion1 = nn.SoftmaxCrossEntropyWithLogits(sparse=True, reduction='mean')
criterion = CustomLoss(criterion1, self.loss2)
self.loss_mse = mindspore.nn.MSELoss()
train_net= nn.TrainOneStepCell(nn.WithLossCell(net,criterion), optimizer=optimizer)
train_net.set_train(True)
iterator = tqdm(range(self.local_epoch))
for iter in iterator:
agg_protos_label = {}
for di in train_loader.create_dict_iterator():
images = di["image"]
labels = di["label"]
# train_net.set_train(False)
f = net.features(images)
#train_net.set_train(True)
if len(self.global_protos) == 0:
loss_InfoNCE = 0
else:
i = 0
loss_InfoNCE = None
for label in labels:
if label in all_global_protos_keys:
f_now = f[i]
cu_info_loss = self.hierarchical_info_loss(f_now, label, mean_f, all_global_protos_keys)
xi_info_loss = self.calculate_infonce(f
05
Resumen y perspectivas
En este artículo, exploramos los problemas de generalización y estabilidad bajo la transferencia de dominio en el aprendizaje federado heterogéneo. Nuestro estudio presenta un algoritmo de aprendizaje federado simple pero eficaz, a saber, el aprendizaje de prototipos federados (FPL). Utilizamos prototipos (representaciones canónicas de clases) para resolver estos dos problemas, disfrutando de las ventajas complementarias de los prototipos agrupados y los prototipos imparciales: conocimiento de dominio diverso y señales de convergencia estables. Implementamos el marco FPL utilizando la arquitectura Sunthink MindSpore y demostramos sus ventajas en eficiencia y precisión.
Al utilizar Shengsi MindSpore para desarrollar el marco FPL, notamos que la comunidad Shengsi MindSpore es muy activa y muchos desarrolladores y usuarios de Huawei han brindado una gran ayuda para las dificultades que encontramos al construir el marco. No solo eso, con la rica documentación y los tutoriales proporcionados por MindSpore, así como los casos reales y las mejores prácticas de la comunidad, evitamos muchos errores potenciales y alcanzamos nuestros objetivos de investigación más rápido.
Un programador nacido en los años 90 desarrolló un software de portabilidad de vídeo y ganó más de 7 millones en menos de un año. ¡El final fue muy duro! Google confirmó despidos, relacionados con la "maldición de 35 años" de los codificadores chinos en los equipos Python Flutter Arc Browser para Windows 1.0 en 3 meses oficialmente GA La participación de mercado de Windows 10 alcanza el 70%, Windows 11 GitHub continúa disminuyendo. GitHub lanza la herramienta de desarrollo nativo de IA GitHub Copilot Workspace JAVA. es la única consulta de tipo fuerte que puede manejar OLTP + OLAP. Este es el mejor ORM. Nos encontramos demasiado tarde.