Mapas autoorganizados eficientes de gran dimensión con PyTorch | de Mathieu d’Aquin | diciembre de 2024

Porque es divertido autoorganizarse

Mapas autoorganizados (o mapas de Kohonen) son un tipo interesante de redes neuronales: no siguen el mismo tipo de arquitectura y definitivamente están entrenadas de manera diferente a las habituales. propagación hacia atrás métodos. Hay una buena razón para esto: están destinados a ser utilizados para aprendizaje no supervisado. Son para las redes neuronales multicapa habituales lo que K-Means es para SVM. Crean grupos; discretizan el espacio de datos. Pero tienen una cosa que los diferencia de otros métodos de agrupación: los grupos que crean forman un mapa de los datos (una cuadrícula de grupos) donde la distancia entre los grupos en ese mapa representa la distancia que existe entre los miembros promedio de esos. clusters en el espacio de datos.

Debido a que son ligeramente atípicos, no se ha trabajado tanto en la creación de implementaciones eficientes de mapas autoorganizados (SOM) como en otras formas de redes neuronales, en particular con respecto a permitirles manejar datos altamente dimensionales en GPU (es decir, , normalmente se utilizan en datos con no más de unas pocas docenas de características). Lástima, ya que eso es exactamente lo que necesitaba para un proyecto: entrenamiento SOM rápido sobre datos con miles de funciones. Probé bibliotecas existentes, incluidas aquellas basadas en PyTorch, y no quedé del todo satisfecho, así que creé la mía propia: ksom (Es cierto que también porque es divertido de hacer, especialmente como una forma de mejorar el uso de PyTorch).