AlexiaChen / AlexiaChen.github.io

My Blog https://github.com/AlexiaChen/AlexiaChen.github.io/issues
87 stars 11 forks source link

自己用Rust写了一个神经网络可以识别简单的手写数字 #176

Open AlexiaChen opened 1 year ago

AlexiaChen commented 1 year ago

项目地址在这里: https://github.com/AlexiaChen/nn-rs

其实就是为了让我了解神经网络的工作原理。目前兼职的公司也在搞AI,虽然是做AI应用(数据标注, langchain等),但是我自己本身还是想了解当今的AI的一些底层机制。无论是CNN, RNN, DNN还是当今的LLMs,底层都有神经网络这种计算结构的参与。所以学习AI,我觉得理解神经网络的机制,是一个绕不过去的坎。

其实原本用Python写会更简单的,因为有numpy,但是为了加深AI和Rust理解,还有强制逼迫自己熟悉Rust。而且Rust生态中,对于numpy也有简单的替代了就是nd_array。处理起来还算方便,支持向量乘以矩阵这些。一些基本的计算与numpy基本一一对应。

当然,性能估计没有numpy好哈,毕竟numpy的底层也是做了很多黑科技的优化的。这个不是语言的问题。

如果想继续了解神经网络,欢迎先看 https://github.com/AlexiaChen/AlexiaChen.github.io/issues/175 再看项目的代码和examples这样容易弄懂。