当前位置: 首页 > news >正文

从零到英雄:掌握神经网络的完整指南

Neural Networks: Zero to Hero 课程介绍

神经网络是人工智能领域中的一个重要组成部分,它能够使计算机在相关任务中表现出更高的智能水平。然而,许多人在接触这一领域时,常常面对复杂的数学概念和技术框架感到困惑。为了解决这个问题,我们推出了《Neural Networks: Zero to Hero》这门课程,该课程旨在从基础知识开始,带领你一步步深入到神经网络的世界。

课程概述

《Neural Networks: Zero to Hero》是一系列YouTube视频的合集,课程中我们会共同编写和训练神经网络。每一次的讲座都会有相应的Jupyter笔记本文件,并在视频描述中附带练习题。这为学习者提供了方便的学习资源,助力他们掌握神经网络的核心概念。

Lecture 1: 神经网络与反向传播的详细介绍 —— 构建micrograd

在第一讲中,我们会讨论反向传播以及神经网络的训练。这一讲假设你对Python有基本的认识,同时对高中时期学习的微积分有模糊的记忆。我们将通过代码实例来理解这些概念。

  • 观看第一讲视频
  • 下载Jupyter笔记本
  • micrograd GitHub 仓库

Lecture 2: 语言模型的详细介绍 —— 构建makemore

在第二讲中,我们将实现一个大ram字符级语言模型,随后会在后续视频中使其复杂化为现代的Transformer语言模型,如GPT。本次讲座着重于两个方面:一是介绍torch.Tensor及其在高效评估神经网络时的细微使用;二是整体的语言建模框架,包括模型训练、采样及损失评估(例如分类的负对数似然)。

  • 观看第二讲视频
  • 下载Jupyter笔记本
  • makemore GitHub 仓库

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

在第三讲中,我们将实现一个多层感知器(MLP)字符级语言模型。同时,我们会介绍许多机器学习的基础概念,例如模型训练、学习率调节、超参数、评估及训练/开发/测试集划分、欠拟合/过拟合等。

  • 观看第三讲视频
  • 下载Jupyter笔记本
  • makemore GitHub 仓库

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

在这一讲中,我们将深入探讨MLP的内部结构,分析正向激活、反向梯度的统计特性,以及未适当缩放时的陷阱。同时,我们还会了解一些典型的诊断工具和可视化技术,以帮助我们理解深度网络的健康状态。我们将学习为何训练深度神经网络可能不稳定,并介绍首个现代创新——批归一化,这使得这一过程变得更加简单。此外,残差连接和Adam优化器将在后续视频中探讨。

  • 观看第四讲视频
  • 下载Jupyter笔记本
  • makemore GitHub 仓库

Lecture 5: 构建makemore 第4部分:成为反向传播的高手

在这一讲中,我们将从之前的视频中拿出带有批归一化的2层MLP,手动进行反向传播,而不使用PyTorch的autograd的loss.backward()。我们将反向传播通过交叉熵损失、第二层线性层、tanh、批归一化和第一层线性层,从而形成对如何通过计算图反向传播的直观理解。这一过程将帮助你理解神经网络的优化过程,并稳固基础,提升在现代神经网络上创新和调试的信心。

  • 观看第五讲视频
  • 下载Jupyter笔记本
  • makemore GitHub 仓库

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

在第六讲中,我们将进一步加深之前的2层MLP,构建一个类似于DeepMind WavesNet的卷积神经网络结构。在WaveNet的论文中,使用了因果稀疏卷积的更高效的层次结构。我们将深入了解torch.nn的工作原理,以及深度学习开发过程的典型方式(大量查阅文档、跟踪多维张量的形状、在Jupyter笔记本和代码库之间移动等)。

  • 观看第六讲视频
  • 下载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系列中的分词器。在这个过程中,我们会发现许多大型语言模型的奇怪行为和问题都源于分词方式。因此,我们需要深入分析这些问题,理解分词为何出错,以及理想情况下应该如何改进这一阶段。

  • 观看第八讲视频
  • minBPE代码
  • Google Colab

总结与同类项目

《Neural Networks: Zero to Hero》课程为学习者提供了一个详细且系统的路径,帮助他们从基础知识逐步掌握神经网络的复杂概念。类似的项目还包括:

  1. Deep Learning Specialization:由Andrew Ng提供的深度学习专项课程,适合希望深入了解深度学习理论与实践的学习者。
  2. Fast.ai:一个以实践为导向的深度学习课程,强调在真实世界中的应用,适合初学者和希望拓展技能的开发者。
  3. CS231n:Convolutional Neural Networks for Visual Recognition:斯坦福大学的课程,专注于卷积神经网络(CNN)及其在计算机视觉中的应用,适合有一定基础的学习者。

通过《Neural Networks: Zero to Hero》以及这些同类项目,您的深度学习之旅将会充满乐趣与挑战!

http://www.dtcms.com/a/309589.html

相关文章:

  • Qt Quick 自定义组件开发
  • 江协科技STM32 11-4 SPI通信外设
  • Android SDK 版本差异与兼容方案:从适配到实践
  • gitlab 开发人员无法创建分支,管理员配置分支权限
  • flutter-boilerplate-project 学习笔记
  • 嵌入式学习笔记-MCU阶段--DAY09
  • STM32-ESP8266Wi-Fi模块使用USART实现通信/创建AP和STA模式配置教程(寄存器版)
  • 从0开始学习R语言--Day64--决策树回归
  • 流式编程的中间操作
  • 机器学习sklearn:随机森林的决策树
  • 低通滤波器的原理以及作用
  • C# 引用外部项目
  • 切比雪夫不等式
  • 网页从点击到显示:前端开发视角下的旅程
  • 在SQL SERVER 中如何用脚本实现每日自动调用存储过程
  • 大模型开发框架LangChain之构建知识库
  • 高速公路桥梁安全监测系统解决方案
  • 技术栈:基于Java语言的搭子_搭子社交_圈子_圈子社交_搭子小程序_搭子APP平台
  • 安全专家发现利用多层跳转技术窃取Microsoft 365登录凭证的新型钓鱼攻击
  • 【C#学习Day14笔记】泛型、集合(数组列表Arraylist、列表list)与字典
  • Python 中的可迭代、迭代器与生成器——从协议到实现再到最佳实践
  • 最新docker国内镜像源地址大全
  • AttributeError: ChatGLMTokenizer has no attribute vocab_size
  • 强反光干扰下识别率↑89%!陌讯多模态融合算法在烟草SKU识别的实战解析
  • MySQL分析步
  • U-Net vs. 传统CNN:为什么医学图像分割需要跳过连接?
  • C语言的复合类型、内存管理、综合案例
  • 【AI 加持下的 Python 编程实战 2_12】第九章:繁琐任务的自动化(上)——自动清理电子邮件文本
  • PendingIntent相关流程解析
  • MySQL——事务详解