线性代数基础(一):向量与空间
前言 这是"线性代数基础"专栏的第一篇。这个专栏的目的很明确:补齐看懂本站进阶数学文章所需的基础。读完本文(以及后续两篇),你应该能顺畅读懂《矩阵微积分如何服务反向传播》和《Softmax 与缩放点积的数学》。 我们从一个最朴素的问题开始:什么是向量? 它为什么值得花一整篇来讨论? 向量:从几何到坐标 向量有两种看待方式,二者等价,互为补充: 几何视角:向量是空间中带方向和长度的箭头。它表示"从一 …
Read MoreUndergraduate Computer Science year 3 at HKU
前言 这是"线性代数基础"专栏的第一篇。这个专栏的目的很明确:补齐看懂本站进阶数学文章所需的基础。读完本文(以及后续两篇),你应该能顺畅读懂《矩阵微积分如何服务反向传播》和《Softmax 与缩放点积的数学》。 我们从一个最朴素的问题开始:什么是向量? 它为什么值得花一整篇来讨论? 向量:从几何到坐标 向量有两种看待方式,二者等价,互为补充: 几何视角:向量是空间中带方向和长度的箭头。它表示"从一 …
Read More为什么要写这个专栏 笔者在上学期学习了 COMP3314,一门传统机器学习课程。然而,传统机器学习在特征提取和模型设计上都需要大量的人工干预,难以适应复杂的现实世界数据。相比之下,深度学习通过多层神经网络自动学习数据的特征表示,在图像识别、自然语言处理等领域取得了许多重要突破。这个专栏旨在记录笔者从零开始学习深度学习的过程,分享理论推导和实战经验,希望能帮助同样对深度学习感兴趣的读者快速入门并逐步 …
Read More前言 直接从 Deep Learning 概览跳到 ResNet 会有一点跳跃,因为 ResNet 不只是一个 CNN 结构,它还依赖正向传播、反向传播和梯度流这些训练机制。如果你还不熟悉“网络是函数复合”“损失如何反传到参数”这些概念,可以先看正向传播与反向传播:神经网络到底如何学习。 ResNet(Residual Network,残差网络)是经典视觉网络中绕不开的模型,因为它解决的不是“怎么 …
Read More前言 这一篇不是基础线性代数笔记。矩阵乘法、转置、逆矩阵、特征值这些基础概念默认你已经见过。我们只关心一个更具体的问题:为什么深度学习里的反向传播经常要用矩阵微积分来描述? 在标量函数里,导数告诉我们“输入变化一点,输出会怎么变”。但神经网络里大量对象都不是标量:输入是向量,权重是矩阵,中间特征是高维张量,损失函数最后才压成一个标量。因此,普通的一元导数不够用,我们需要用 Jacobian、梯度向 …
Read More前言 如果只看 PyTorch 代码,训练神经网络似乎很简单:写一个 forward,算出 loss,调用 loss.backward(),再让优化器更新参数。但这几行代码背后,其实压缩了深度学习最核心的一条数学主线: 正向传播负责把输入变成预测,反向传播负责把误差变成每个参数应该调整的方向。 理解这条主线之后,再看 CNN、ResNet、Transformer 或 LoRA,很多公式就不再像突然 …
Read More前言 欢迎来到 Deep Learning 专栏。我们假设你修过一门传统机器学习课程(比如 HKU 的 COMP3314),或者对 ML 有基本了解;你也可能已经装过 PyTorch、跑通过几个示例项目,但对背后的数学原理还没有清晰的理解。这个专栏的目标是:从零开始,系统地拆解深度学习的核心概念和算法,让你不仅"能用",还能"懂"。 传统机器学习 想象一下我们小时候,父母是怎么教我们认识世界的。当 …
Read More前言 2018 年 6 月,OpenAI 发布了首个基于 Transformer 架构的语言模型 GPT(Generative Pre-trained Transformer),标志着大语言模型(Large Language Models, LLM)时代的到来。 笔者接触 LLM 的时间很晚。笔者第一次了解到人工智能技术大约是在 2020 年,了解的是 Siri——一款 Apple 公司推出的智能 …
Read More前言 如果你用过 GitHub Copilot、ChatGPT 或者其他 AI 编程助手,你可能会注意到它们在理解代码结构和语法方面表现得非常出色。这背后有一个关键技术—— Tree-sitter 。本文将深入探讨 Tree-sitter 的原理、它在 AI Agent 时代的不可替代性,以及如何在 Python 和 C++ 项目中构建一套代码解析流水线。 什么是 Tree-sitter? 简单来 …
Read More前言 做 Agent 开发时,最让工程师头疼的问题往往不是底层大模型(LLM)不够聪明,而是 Agent 的行为难以可控。在真实的业务场景中,用户的一句话可能隐含多种意图,或者意图非常模糊。这就要求 Agent 必须学会在不同的"对话阶段"之间灵活切换——从最初的寒暄问候,到多轮的信息收集,再到决定调用外部工具,最后与用户确认并结束对话。 如果仅仅依靠 Prompt 让大模型自主决定下一步该做什么 …
Read More前言 大家好,这里是 HJJJ。 想必作为一个 CS 学生,搭建一个个人博客是必经之路。然而由于本人先前的懒惰,一直没有探索这个领域。直到最近,突然发现自己已经学了不少东西了,而有些学到的东西由于缺少实际应用,已经快要忘记了——于是我决定搭建一个个人博客,用来记录学习过程和心得体会。 什么是网站? 网站是由一系列通过超链接相互关联的网页组成的集合,通过域名访问,并托管在一个或多个服务器上。服务器负 …
Read More