教程指南AI工具派快讯

零基础AI入门指南 - Blogs - 廖雪峰的官方网站

廖雪峰的官方网站 (liaoxuefeng.com) 研究互联网产品和技术,提供原创中文精品教程

作者:liaoxuefeng.com浏览:8,068发布日期:2026-05-15 00:00喜欢:2,102
教程指南8068 浏览2102 喜欢

最近大家肯定被各种AI大模型刷屏了,从ChatGPT到Alpaca,从ChatGLM到Bloom,各种大模型层出不穷,给人感觉“再不上车就来不及了”。

然而要上车大模型可不简单,首先,得准备至少几百张炼丹卡,或者直接上超算,普通人看看预算就自觉放弃了。

但是,AI时代已经来临,时代从来不会抛弃那些跟不上时代的人,而是直接从他们身上碾压过去。因此,普通人也有必要学习一点AI知识。

网上很多铺天盖地地在很高的层次大讲特讲人工智能对产业和人类的影响,看完后没有收获知识,但收获了焦虑。本文和热点网文则不同,本文以工程师的视角从零开始搭建并运行一个AI小模型,并把它完全运行起来以理解AI的工作原理,非常接地气。

神经网络是AI的一种重要的计算模型,深度学习是通过神经网络实现特征学习和模式分析,大量用于图像识别等领域。我们以最基础的手写数字识别为例,看看一个神经网络的AI模型是如何工作的。

MNIST(Modified National Institute of Stands and Technology)是一个开源的数据集,它包含了6万个手写的数字图像,每个图像都是28x28黑底白字:

有了这个开源的数据集,我们就可以训练一个识别手写数字的AI模型,这个练习堪称AI界的“Hello, world”。

要编写这个AI模型,我们需要使用一种称为卷积神经网络(CNN:Convolutional Neural Network)的神经网络结构,具体到代码层面,则需要使用 PyTorch 这样的训练框架。PyTorch底层用C++开发,外层用Python调用,非常方便易用。先确保机器安装了Python3,然后,安装PyTorch 2:

准备好环境后,我们开始编写模型。先让AI写一个用CNN识别MNIST数据集的PyTorch代码:

看不懂不要紧,可以接着问AI,它会告诉我们,这个神经网络定义了两个CNN卷积层和两个全连接层,总的来说就是,这个模型定义了2层卷积网络加2层全连接层,输入为1通道图片,经过卷积和池化后进入全连接层,最后输出10个分类结果,分别代表0~9这10个数字。

接下来我们要使用MNIST数据集来训练这个模型。受益于PyTorch这个框架,我们连下载和读取数据集都省了,因为PyTorch已经集成了这个数据集,直接下载、加载、训练,一步到位:

数据集分两部分:一个用于训练,一个用于测试训练效果,用PyTorch的 datasets.MNIST() 自动下载、解压并加载数据集(解压后约55M数据,仅第一次需要下载)。然后,定义损失函数和优化器,用 train() 做训练,用 test() 测试训练效果,训练5次,运行结果如下:

经过5轮训练,每轮耗时约30秒(这里用CPU训练,如果是GPU则可以大大提速),准确率可以达到99%。训练结束后,将模型保存至 mnist.pth 文件。

有了预训练的模型后,我们就可以用实际的手写图片测试一下。用PS手绘几张手写数字图片,测试代码如下:

因为训练时输入的图片是黑底白字,而测试图片是白底黑字,所以先用PIL把图片处理成28x28的黑底白字,再测试,结果如下:

以图片 0 为例,我们要使用模型,需要把输入图片变成模型可接受的参数,实际上是一个Tensor(张量),可以理解为任意维度的数组,而模型的输出也是一个Tensor,它是一个包含10个元素的1维数组,分别表示每个输出的概率。对图片 0 的输出如下:

文章来源: https://www.liaoxuefeng.com/article/1543329456062498

来源与声明

本站快讯内容主要用于行业资讯整理与信息聚合,部分内容来源于公开网络与第三方平台,仅供学习、参考与行业交流使用。

如相关内容涉及版权、署名或权益问题,请通过站点联系邮箱与我们联系,我们会在核实后尽快处理。

关联工具

文中相关方向,可以先从这些工具开始试

GitMind思乎 是一款围绕 文件上传理解、AI 学术搜索 展开的 AI办公助手 工具,公开页面更强调它在 学术检索与学习辅助、办公文档、PPT、表格处理 这类任务里的实际用途。从页面信息来看,中文使用场景与中文内容支持会更清晰一些。

GitMind Chat 可以先理解为一款面向 代码开发与自动化工作流 的 AI办公助手 工具,当前公开信息主要围绕 代码生成与开发辅助、AI 对话问答 这些能力展开。如果你主要在中文环境里工作,可优先确认中文输入、输出和界面是否符合预期。

Gitlab Code Suggestions 可以先理解为一款面向 代码开发与自动化工作流 的 Agent与工作流 工具,当前公开信息主要围绕 代码生成与开发辅助 这些能力展开。如果你主要在中文环境里工作,可优先确认中文输入、输出和界面是否符合预期。

Giti.ai 可以先理解为一款面向 代码开发与自动化工作流 的 AI IDE 工具,当前公开信息主要围绕 AI 对话问答、代码生成与开发辅助 这些能力展开。如果你主要在中文环境里工作,可优先确认中文输入、输出和界面是否符合预期。

GitHub Copilot 可以先理解为一款面向 代码开发与自动化工作流 的 AI IDE 工具,当前公开信息主要围绕 代码生成与开发辅助、AI 对话问答 这些能力展开。

Git Assistant 可以先理解为一款面向 代码开发与自动化工作流 的 AI IDE 工具,当前公开信息主要围绕 AI 对话问答、代码生成与开发辅助 这些能力展开。

相关推荐

继续看同主题内容

文章评论

阅读后的真实反馈

支持继续回复展开讨论,审核通过后会展示在页面中。

访
写下你的看法当前身份:访客
0 条评论
全部评论0 条
暂时还没有评论,欢迎来留下第一条看法。