【AI 得学啊】makemore 02:用 MLP 构建字符级语言模型

本文承接上一篇 makemore 01。为便于单独运行,下文代码默认已执行下面的公共初始化;姓名数据集可从课程仓库的 names.txt 获取。 1 2 3 4 5 6 7 8 9 import torch import torch.nn.functional as F import matplotlib.pyplot as plt words = open("names.txt", "r").read().splitlines() chars = sorted(set("".join(words))) stoi = {s: i + 1 for i, s in enumerate(chars)} stoi["."] = 0 itos = {i: s for s, i in stoi.items()} N-gram 模型的局限性 上一节虽然我们使用神经网络代替了基于统计的 N-gram 模型实现,但其预测结果依然不够理想。 ...

2026-07-22 · 12 分钟 · 寻雾

【AI 得学啊】makemore 01:从统计语言模型到神经网络 Bigram

本文是 Andrej Karpathy 《Neural Networks: Zero to Hero》 课程 makemore01 章节的笔记,介绍根据姓名数据集,用统计学习和神经网络的方式实现姓名预测的模型。 N-gram 自然语言处理(NLP, Natural Language Processing)是人工智能的一个重要分支,其目的是让计算机理解、生成和处理人类语言。典型任务包括分词、文本分类、情感分析、机器翻译、信息抽取、问答系统、摘要生成、对话系统等。语言模型(Language Model, LM,语言模型)是 NLP 的核心课题之一,它学习”一个词或 token 在上下文中出现的概率“,然后根据给定的前面的文本,模型预测后面最可能出现什么。例如: ...

2026-07-22 · 12 分钟 · 寻雾