torchsom: The Reference PyTorch Library for Self-Organizing Maps
Berthier, Shokry, Moreaud et al.
This paper introduces torchsom, an open-source Python library that provides a reference implementation of the Self-Organizing Map (SOM) in PyTorch. This package offers three main features: (i) dimensionality reduction, (ii) clustering, and (iii) friendly data visualization. It relies on a PyTorch backend, enabling (i) fast and efficient training of SOMs through GPU acceleration, and (ii) easy and scalable integrations with PyTorch ecosystem. Moreover, torchsom follows the scikit-learn API for ease of use and extensibility. The library is released under the Apache 2.0 license with 90% test coverage, and its source code and documentation are available at https://github.com/michelin/TorchSOM.
본 논문은 자기조직화지도(SOM)를 위한 참조 구현을 제공하는 PyTorch 기반의 오픈소스 Python 라이브러리인 torchsom을 소개한다. 이 라이브러리는 세 가지 주요 기능을 제공한다: (1) 차원 축소, (2) 클러스터링, (3) 사용자 친화적 데이터 시각화. PyTorch 백엔드를 통해 이 라이브러리는 (1) GPU 가속을 통한 빠르고 효율적인 SOM 훈련, (2) PyTorch 생태계와의 용이한 확장 가능한 통합을 구현한다. 또한 torchsom은 scikit-learn API 설계를 따르므로 사용 및 확장이 용이하다. 이 라이브러리는 Apache 2.0 라이선스 하에 배포되며 90%의 테스트 커버리지를 갖추고 있다.
Kohonen, T. (1982). Self-organized formation of topologically correct feature maps
Kohonen, T. (1990). The self-organizing map
Vettigli, G. (2018). MiniSom: Minimalistic implementation of Self Organizing Maps
Pedregosa, F. et al. (2011). Scikit-learn: Machine Learning in Python
종합 평가: 이는 현대화된 구현을 통해 SOM의 사용성 및 성능을 크게 향상시킨 높은 품질의 소프트웨어 공학 논문이다. 알고리즘 수준의 혁신은 제한적이지만, 그 공학적 가치와 실용적 의의는 무시할 수 없으며, 전통 기계학습 알고리즘이 현대 계산 환경에서 응용되는 방식에 대한 우수한 사례를 제시한다.