跳转至

人工智能开发

基本概念

本部分包含 人工智能科学计算 的相关技术。科学计算是指用计算机求解复杂的科学问题,人工智能则是指构建一个具有人类智能的系统。

人工智能和科学计算的区别

尽管人工智能和科学计算的区别非常明显,但由于二者联系紧密且存在交叉,因此经常会被混用。本文不想纠结这些细节,因此同样可能出现混用。

由于人工智能风头正盛,因此只用 人工智能 作为本部分的标题,尽管科学计算也包含在其中。

由于 Python 几乎已经成为了人工智能/科学计算领域的标准语言,所以后面的框架大多和 Python 有关。Python 还有一些通用的框架/库/工具,由于不是专属于 人工智能/科学计算 的,所以没有列举在这里,可以在 Python 章节查看。

另外 Julia/R 也是科学计算中比较流行的语言,不过仅限学术圈。如果你只想做研究发论文,那么在一些特定的领域里 Julia/R 可能是比 Python 更好的选择。不太推荐使用 MATLAB,因为它不开源,尽管在部分领域(比如控制)里很权威。

框架

  • PyTorch 由 Meta 开发的 用于深度学习的、优化过的张量库,不过社区更习惯称其为机器学习框架
  • TensorFlow 由 Google 开发的机器学习框架,不过 PyTorch 在学术界更受欢迎
  • YOLO 基于 PyTorch 的深度学习框架,适合图像识别应用,能让你迅速完成从数据准备、模型训练、模型验证到模型导出的整个过程,并且提供了 CLI
  • Kedro 数据科学和机器学习的管道框架,用于将项目从 Jupyter 加孤立脚本的混乱状态过渡到可实际投产的状态

  • scikit-learn 机器学习库,实现了非常多的基本算法,使用了 numpy、scipy 和 matplotlib 来实现
  • sympy 符号计算库
  • numpy 数值计算库
  • scipy 科学计算库
  • matplotlib 绘图库
  • pandas 数据分析库,用于分析表格型数据
  • networkx 数据分析库,用于分析图状数据
  • control 一个 Python 的控制系统库。虽然现在机器人等领域更倾向于使用 强化学习,但传统的控制技术由于可解释性更强也还是有用的。

工具

  • DVC 数据版本控制,基于 Git 但巧妙地处理了大文件,用于开发可复现的机器学习项目
  • Ollama LLM 运行器,支持运行本地和云端的模型