Project Icon

nn-zero-to-hero

神经网络与深度学习实践教程 从基础到GPT模型构建

该项目提供了一系列神经网络课程视频和实践代码,涵盖从基础概念到GPT模型构建的全过程。课程内容包括反向传播、语言建模、多层感知器和批量归一化等主题,每个讲座配有Jupyter笔记本和练习。适合具备Python基础的开发者深入学习神经网络和深度学习技术。

神经网络:从零到精通

这是一门从最基础开始的神经网络课程。课程由一系列YouTube视频组成,我们将一起编码和训练神经网络。我们在视频中构建的Jupyter笔记本都保存在lectures目录中。每节课的视频描述中还包含了一系列练习。(这可能会发展成更正式的内容)。


第1讲:神经网络和反向传播的详细介绍:构建micrograd

神经网络的反向传播和训练。假定学习者具备基本的Python知识和高中微积分的模糊记忆。


第2讲:语言建模的详细介绍:构建makemore

我们实现了一个二元字符级语言模型,在后续视频中我们将进一步将其复杂化为现代的Transformer语言模型,如GPT。本视频的重点是:(1) 介绍torch.Tensor及其细节,以及在高效评估神经网络中的应用;(2) 语言建模的整体框架,包括模型训练、采样和损失评估(例如分类任务中的负对数似然)。


第3讲:构建makemore 第2部分:MLP

我们实现了一个多层感知器(MLP)字符级语言模型。在本视频中,我们还介绍了机器学习的许多基础知识(例如模型训练、学习率调整、超参数、评估、训练/开发/测试集划分、欠拟合/过拟合等)。


第4讲:构建makemore 第3部分:激活函数与梯度、批量归一化

我们深入研究了多层MLP的内部结构,仔细检查了前向传播激活、反向传播梯度的统计特性,以及它们不当缩放时可能出现的一些陷阱。我们还学习了用于理解深度网络健康状况的典型诊断工具和可视化方法。我们了解了为什么训练深度神经网络可能很脆弱,并介绍了使其变得更容易的第一个现代创新:批量归一化。残差连接和Adam优化器仍然是后续视频中值得注意的内容。


第5讲:构建makemore 第4部分:成为反向传播忍者

我们以上一个视频中的2层MLP(带批量归一化)为基础,手动进行反向传播,而不使用PyTorch自动求导的loss.backward()。具体来说,我们通过交叉熵损失、第二个线性层、tanh、批量归一化、第一个线性层和嵌入表进行反向传播。在此过程中,我们直观地理解了梯度如何在计算图中向后流动,并且是在高效张量的层面上,而不仅仅是像micrograd中那样的单个标量。这有助于建立对神经网络如何优化的能力和直觉,并使你能够更自信地在现代神经网络上进行创新和调试。

我建议你自己完成练习,但在遇到困难时可以随时暂停视频,看看我给出的答案。这个视频并不是为了单纯观看而设计的。练习在这个Google Colab中。祝你好运 :)


第6讲:构建makemore 第5部分:构建WaveNet

我们以前面视频中的2层MLP为基础,通过树状结构使其更深,最终得到一个类似于DeepMind的WaveNet(2016)的卷积神经网络架构。在WaveNet论文中,相同的层次结构通过因果膨胀卷积(尚未涵盖)得到了更高效的实现。在此过程中,我们更好地理解了torch.nn是什么以及它在底层如何工作,同时也了解了典型的深度学习开发过程是什么样的(大量阅读文档、跟踪多维张量形状、在Jupyter笔记本和代码仓库之间切换等)。


第7讲:让我们从头开始构建GPT:代码详解

我们按照"Attention is All You Need"论文和OpenAI的GPT-2 / GPT-3构建了一个生成式预训练Transformer(GPT)。我们讨论了与风靡全球的ChatGPT的联系。我们观看GitHub Copilot(本身就是一个GPT)帮助我们编写GPT(很有趣!)。我建议观众先观看之前的makemore视频,以熟悉自回归语言建模框架以及张量和PyTorch nn的基础知识,这些在本视频中我们都默认观众已经掌握。


第8讲:让我们构建GPT分词器

分词器是大型语言模型(LLM)中必要且无处不在的组件,它在字符串和词元(文本块)之间进行转换。分词器是LLM流程中完全独立的阶段:它们有自己的训练集、训练算法(字节对编码),训练完成后实现两个基本功能:encode()(从字符串到词元)和decode()(从词元回到字符串)。在本讲中,我们从头开始构建OpenAI的GPT系列中使用的分词器。在此过程中,我们将发现LLM的许多奇怪行为和问题实际上可以追溯到分词。我们将讨论这些问题,解释为什么分词是罪魁祸首,以及为什么理想情况下应该有人找到完全删除这个阶段的方法。


持续更新中...

许可证

MIT

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号