在人工智能领域,难道真的是由高中生引领着世界的发展吗?
一位计算机爱好者,年仅16岁,已经能有所建树。他开发了粤语编程语言、夺得Kaggle冠军、创作游戏、开发加密货币投资机器人以及从头构建了一个名为ML++的C++机器学习库。
ML++这个库涵盖了统计、线性代数、数值分析以及机器学习和深度学习等主题,代码量高达13000多行。
@novak-99 之所以创建这个库,是因为他钟爱C++语言,但在机器学习前端领域,C++的使用并不广泛。
C++虽然高效且适合快速执行,但大多数主流库如TensorFlow、PyTorch或Numpy等,都采用C/C++或其衍生语言来优化和提高速度。在查看各种机器学习算法前端实现时,他发现大多数算法都是用Python、MatLab、R或Octave实现的。
他认为,C++在机器学习前端使用较少的原因之一是缺乏用户支持和复杂的语法。
与Python相比,C++的机器学习框架确实相对较少。即便在流行的框架中,C++的实现也往往不如Python版本完善。这其中存在的问题包括文档不足、不完整的函数库以及缺乏贡献者等。
更值得一提的是,C++并不支持Python ML套件中的一些关键库,如Pandas和Matplotlib。这增加了ML算法的实现难度,因为数据可视化和数据分析的元素难以获取。
他决定自己动手编写一个C++的机器学习库。
他还观察到,一些工程师可能会忽视ML算法背后的实现和数学细节。这可能导致问题,因为不了解数学细节就难以针对特定用例定制ML算法。所以除了库之外,他还计划发布全面的文档,以解释每个机器学习算法背后的数学原理。其中包括统计、线性回归、雅可比矩阵和反向传播等内容。
以下是关于该项目的部分细节展示:
该库涵盖19大主题,内容丰富全面
与大多数框架一样,这位高中生创建的ML++库是动态的且不断变化。在机器学习的世界里,这尤为重要,因为每天都有新的算法和技术被开发出来。
目前,ML++库中正在开发以下模型和技术:
- 卷积网络()
- 支持向量机(SVM)的相关内核技术
- 支持向量回归技术
整体而言,ML++库包含的19大主题及相关内容如下所述:
- 回归分析中的多种模型如线性回归、逻辑回归等
- 网络领域涉及深度、动态、规模化等方面技术
- 预构建网络如多层感知机、自编码器等
- 生成建模技术如表格对抗生成网络
- 自然语言处理技术如Word2Vec、词干提取等
- 计算机视觉技术如卷积操作、池化等
- 其他包括主成分分析、朴素贝叶斯分类器、K-Means算法等
更多详细内容请参考原始项目。
社会反响:激烈的竞争与不同的观点
对于这位16岁少年如此出色的项目,网友们纷纷感叹这个世界上的高中生都在忙些什么!有网友自嘲自己在该年纪还在做“简单”的事情,而他们已经在ICLR、NeurIPS等会议上发表论文了。
也有网友想到几年后博士申请的激烈竞争程度。他们戏言现在只要发表3篇以上的NeurIPS论文未来就可能获得图灵奖。