Neural Networks: Zero to Hero 课程介绍
神经网络是人工智能领域中的一个重要组成部分,它能够使计算机在相关任务中表现出更高的智能水平。然而,许多人在接触这一领域时,常常面对复杂的数学概念和技术框架感到困惑。为了解决这个问题,我们推出了《Neural Networks: Zero to Hero》这门课程,该课程旨在从基础知识开始,带领你一步步深入到神经网络的世界。
课程概述
《Neural Networks: Zero to Hero》是一系列YouTube视频的合集,课程中我们会共同编写和训练神经网络。每一次的讲座都会有相应的Jupyter笔记本文件,并在视频描述中附带练习题。这为学习者提供了方便的学习资源,助力他们掌握神经网络的核心概念。
Lecture 1: 神经网络与反向传播的详细介绍 —— 构建micrograd
在第一讲中,我们会讨论反向传播以及神经网络的训练。这一讲假设你对Python有基本的认识,同时对高中时期学习的微积分有模糊的记忆。我们将通过代码实例来理解这些概念。
Lecture 2: 语言模型的详细介绍 —— 构建makemore
在第二讲中,我们将实现一个大ram字符级语言模型,随后会在后续视频中使其复杂化为现代的Transformer语言模型,如GPT。本次讲座着重于两个方面:一是介绍torch.Tensor及其在高效评估神经网络时的细微使用;二是整体的语言建模框架,包括模型训练、采样及损失评估(例如分类的负对数似然)。
Lecture 3: 构建makemore 第2部分:MLP
在第三讲中,我们将实现一个多层感知器(MLP)字符级语言模型。同时,我们会介绍许多机器学习的基础概念,例如模型训练、学习率调节、超参数、评估及训练/开发/测试集划分、欠拟合/过拟合等。
Lecture 4: 构建makemore 第3部分:激活函数与梯度,批归一化
在这一讲中,我们将深入探讨MLP的内部结构,分析正向激活、反向梯度的统计特性,以及未适当缩放时的陷阱。同时,我们还会了解一些典型的诊断工具和可视化技术,以帮助我们理解深度网络的健康状态。我们将学习为何训练深度神经网络可能不稳定,并介绍首个现代创新——批归一化,这使得这一过程变得更加简单。此外,残差连接和Adam优化器将在后续视频中探讨。
Lecture 5: 构建makemore 第4部分:成为反向传播的高手
在这一讲中,我们将从之前的视频中拿出带有批归一化的2层MLP,手动进行反向传播,而不使用PyTorch的autograd的loss.backward()。我们将反向传播通过交叉熵损失、第二层线性层、tanh、批归一化和第一层线性层,从而形成对如何通过计算图反向传播的直观理解。这一过程将帮助你理解神经网络的优化过程,并稳固基础,提升在现代神经网络上创新和调试的信心。
Lecture 6: 构建makemore 第5部分:构建WaveNet
在第六讲中,我们将进一步加深之前的2层MLP,构建一个类似于DeepMind WavesNet的卷积神经网络结构。在WaveNet的论文中,使用了因果稀疏卷积的更高效的层次结构。我们将深入了解torch.nn的工作原理,以及深度学习开发过程的典型方式(大量查阅文档、跟踪多维张量的形状、在Jupyter笔记本和代码库之间移动等)。
Lecture 7: 从零开始构建GPT
第七讲中,我们将遵循论文“Attention is All You Need”及OpenAI的GPT-2/GPT-3,构建一个生成预训练的变换器(GPT)。我们将讨论与ChatGPT的关联,该模型在各个领域迅速引起了轰动。同时,我们会观察GitHub Copilot这一GPT在帮助我们编写代码时的表现,带领大家深入探讨GPT的构建过程。
Lecture 8: 构建GPT分词器
分词器是大型语言模型(LLMs)中不可或缺的组成部分,它在字符串和标记(文本片段)之间进行转换。这一讲中,我们将从零开始构建OpenAI GPT系列中的分词器。在这个过程中,我们会发现许多大型语言模型的奇怪行为和问题都源于分词方式。因此,我们需要深入分析这些问题,理解分词为何出错,以及理想情况下应该如何改进这一阶段。
总结与同类项目
《Neural Networks: Zero to Hero》课程为学习者提供了一个详细且系统的路径,帮助他们从基础知识逐步掌握神经网络的复杂概念。类似的项目还包括:
- Deep Learning Specialization:由Andrew Ng提供的深度学习专项课程,适合希望深入了解深度学习理论与实践的学习者。
- Fast.ai:一个以实践为导向的深度学习课程,强调在真实世界中的应用,适合初学者和希望拓展技能的开发者。
- CS231n:Convolutional Neural Networks for Visual Recognition:斯坦福大学的课程,专注于卷积神经网络(CNN)及其在计算机视觉中的应用,适合有一定基础的学习者。
通过《Neural Networks: Zero to Hero》以及这些同类项目,您的深度学习之旅将会充满乐趣与挑战!