系统之家提供 Windows 系统、Ghost 系统、驱动与常用软件的安全下载及安装教程。 后台管理
📢 欢迎访问系统之家!所有资源均经过安全检测。

深度学习基础

发布时间:2026-10-13 | 浏览:1
📥 下载地址(文章开头)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等
深度学习不是什么神秘的黑科技,它本质上是一个数学函数拟合器——给它大量输入输出数据,它自动找出它们之间的复杂关系。 举个例子:你给它一百万张猫的图片,每张图片对应"猫"这个标签。深度学习自动找出什么样的像素组合看起来像猫。 再比如:你给它十亿句人类语言,每句话的下一个词作为目标。深度学习自动学会给定上文,下一个词最可能是什么。 深度学习的核心优势是:随着数据量增加,它的效果持续提升 。这是传统机器学习做不到的。 在这一章,我们会从零开始,一步步拆解深度学习的每个组件: 最后,我们用 PyTorch 实现一个完整的多层感知机(MLP),把所有知识点串联起来。 这一章会涉及一些数学,但不用担心——我们会用直觉解释每一个公式,而不是让你死记硬背。重点是理解为什么这样设计,而不是怎么计算。 深度学习建立在三个数学分支之上:线性代数、微积分、概率论。 你不需要成为数学专家,但需要理解几个核心概念。 神经网络最基本的运算就是矩阵乘法。 为什么用矩阵?因为它能简洁地表示"多个输入经过多个神经元变换"这个过程。 矩阵乘法的几何意义是"线性变换"——它可以旋转、缩放、拉伸向量空间。 如果每一层都只是矩阵乘法,那么无论网络有多深,整个网络等价于一个单层网络。因为多个线性变换的组合仍然是线性变换。 这就是为什么我们需要激活函数——引入非线性。 训练神经网络的核心是"梯度下降"——找到让损失最小的参数方向。 梯度就是"多元函数的导数"——它告诉我们,每个参数变化一点,损失会变化多少。 对于多元函数,我们需要计算每个变量的偏导数,然后把它们组合成一个向量,这就是梯度。 链式法则是反向传播的数学基础。它让我们能够"层层拆解"复合函数的导数。 链式法则的核心思想是: 把复杂函数拆成简单函数,分别求导再相乘 。 反向传播就是链式法则在神经网络中的应用——从输出开始,一层一层往回传梯度。 分类问题中,神经网络输出的往往是"概率分布"——给定输入,每个类别的概率是多少。 条件概率 P(Y|X) 表示"在已知 X 发生的情况下,Y 发生的概率"。 举个例子:P(下雨|乌云密布) 表示"看到乌云密布时,下雨的概率"。 在深度学习中,我们用神经网络来估计这个条件概率: 前向传播就是输入数据"流过"神经网络,从输入层到隐藏层再到输出层的计算过程。 把神经网络表示成计算图,能让前向传播和反向传播的逻辑更清晰。 计算图由节点(运算)和边(数据流)组成。 一个简单的两层神经网络的计算图: 计算图的好处是:每一步都很清晰,反向传播时只要按照相反的顺序计算梯度即可。 从矩阵乘法的角度看,神经网络就是一连串的"线性变换 + 非线性激活"。 这个公式简洁但强大——它能表示从简单的逻辑回归到复杂的 Transformer 的几乎所有神经网络结构。 注意矩阵乘法的维度匹配:如果输入向量是 n 维,下一层有 m 个神经元,那么权重矩阵 W 的形状一定是 m×n。这样 W·x 之后得到的是 m 维向量。 前面提到过:没有激活函数,深层网络等价于单层网络。 激活函数就是那个让深层网络有意义的关键组件——它引入非线性,让网络能够学习复杂的模式。 激活函数决定了一个神经元的输出如何响应输入。 好的激活函数应该满足几个条件: 计算简单:前向和反向传播都要快 我们来看看最常用的几个激活函数。 Sigmoid:饱和与梯度消失 Sigmoid 是最早使用的激活函数之一。它把任意实数压缩到 (0, 1) 之间。 公式:σ(x) = 1 / (1 + e⁻ˣ) Sigmoid 的问题很明显: 当 |x| > 6 时,梯度几乎为 0,梯度消失 输出不是以 0 为中心,这会影响优化 由于这些问题,Sigmoid 在现代深度学习中已经很少在隐藏层使用了。 ReLU(Rectified Linear Unit)是现在最常用的激活函数。 公式:ReLU(x) = max(0, x) 隐藏层 :优先用 ReLU,简单有效 如果遇到死亡 ReLU :试试 Leaky ReLU 或 GELU Transformer :GELU 或 SwiGLU 是标准选择 二分类输出层 :Sigmoid(输出概率) 多分类输出层 :Softmax(输出概率分布) 回归输出层 :不加激活(输出任意实数) 不要过度纠结激活函数的选择。通常 ReLU 就足够好了。当你确认 ReLU 是瓶颈时,再换其他的也不迟。 损失函数衡量"模型的预测"和"真实答案"之间的差距。 训练的目标就是让这个差距尽可能小。 分类问题最常用的损失函数是交叉熵损失(Cross-Entropy Loss)。 它的直观含义是:"模型预测的概率分布和真实分布之间有多大差异"。 交叉熵损失的一个简化版本:当标签是类别索引而不是 one-hot 编码时,可以用更高效的计算方式: 这就是为什么在 PyTorch 中,CrossEntropyLoss 直接接受类别索引作为标签。 回归问题(预测连续值)最常用的损失是均方误差(Mean Squared Error,MSE)。 公式:MSE = mean((pred - target)²) 大语言模型(如 GPT)的训练目标很简单:给定上文,预测下一个词。 这本质上是一个多分类问题——词汇表中的每个词都是一个类别。 反向传播(Backpropagation)是训练神经网络的核心算法。 它的目标是:计算损失函数对每个参数的梯度,然后用梯度下降更新参数。 我们用一个简单的例子,一步步推导反向传播。 这个例子虽然简单,但包含了反向传播的所有核心思想: 反向传播:从输出开始,用链式法则层层计算梯度 对于多层神经网络,梯度在计算图中反向流动。 每一层的梯度依赖于后一层传来的梯度。 这个例子展示了反向传播的完整流程。
📥 下载地址(文章中间)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等
对于线性层 y = Wx + b:dL/dW = (dL/dy)·xᵀ,dL/db = dL/dy 对于激活函数 y = f(z):dL/dz = dL/dy ⊙ f'(z)(⊙ 是逐元素相乘) 梯度从后往前传,每一层都用链式法则"积累"梯度 好消息是:现代深度学习框架(如 PyTorch、TensorFlow)会自动为你计算反向传播。你只需要定义前向传播,框架会用自动微分(autograd)搞定所有梯度计算。 计算出梯度后,我们需要用优化器来更新参数。 最简单的优化器是随机梯度下降(SGD),但还有很多更高级的优化器。 公式:θ = θ - η·∇L(θ) Momentum 引入了"速度"的概念——让梯度更新带有惯性。 Adam(Adaptive Moment Estimation)是目前最常用的优化器之一。 它结合了 Momentum(一阶矩)和 RMSProp(二阶矩)的思想,为每个参数维护自适应的学习率。 超参数默认值:β₁=0.9, β₂=0.999, ε=1e-8, η=1e-3。 AdamW 是 Adam 的一个改进版本——它把权重衰减(Weight Decay)从梯度中分离出来。 优化器选择建议:先试 Adam,学习率设为 1e-3(3e-4 是更稳妥的选择)。如果效果不满意,再尝试调参或换其他优化器。 正则化的目标是防止过拟合——让模型在未见过的数据上也能表现良好。 L1 和 L2 正则化是最基本的正则化方法。 它们在损失函数中加上对参数的惩罚: L1 正则化(Lasso):L_reg = |w| L2 正则化(Ridge):L_reg = w² Dropout 是一个简单但有效的正则化技术:训练时随机"关掉"一部分神经元。 这迫使模型学习更鲁棒的特征——它不能依赖任何特定的神经元。 数据增强是最有效的正则化方法之一——通过变换现有数据来创造更多训练样本。 对于图像,常用的数据增强有:翻转、旋转、缩放、裁剪、颜色抖动等。 对于文本,常用的数据增强有:同义词替换、随机插入、随机删除、回译等。 归一化技术可以加速训练,让优化更稳定。 训练深度网络时,每一层的输入分布会随着前一层参数的变化而变化。这就是"内部协变量偏移"(Internal Covariate Shift)。 这会导致训练变慢,因为每一层都要不断适应新的分布。 归一化技术的目标就是:让每一层的输入分布保持稳定。 批归一化(Batch Normalization) 批归一化(BatchNorm)在 batch 维度上进行归一化。 其中 γ 和 β 是可学习参数。 依赖 batch 大小——batch 太小效果不好 不适用于序列模型(如 RNN、Transformer) 层归一化(Layer Normalization) 层归一化(LayerNorm)在特征维度上进行归一化,而不是 batch 维度。 这让它不依赖 batch 大小,非常适合序列模型。 对于 Transformer 和大语言模型,LayerNorm 是标准选择。它在每个位置独立计算统计量,不依赖 batch 大小,也不需要维护 running 统计量。 学习率是最重要的超参数之一——太大不收敛,太小收敛太慢。 学习率调度(Learning Rate Scheduling)就是在训练过程中动态调整学习率。 训练初期,先用小学习率"预热",让模型稳定下来,然后再提升到目标学习率。 这对 Transformer 尤其重要。 余弦退火(Cosine Annealing)让学习率按照余弦函数的形状逐渐下降。 太小:收敛慢,可能卡在局部最优 一个常用的策略是"学习率范围测试"(Learning Rate Finder):先用从小到大的学习率训练几步,看哪个学习率下损失下降最快。 实战:用 PyTorch 从零实现 MLP 现在我们把前面所有知识点整合起来,用 PyTorch 实现一个完整的多层感知机(MLP),并在一个简单的分类任务上训练它。 这个例子包含了深度学习训练的所有标准组件: 数据处理:Dataset、DataLoader 模型定义:MLP 带 LayerNorm 和 Dropout 损失函数:CrossEntropyLoss 学习率调度:Warmup + Cosine 训练循环:训练阶段 + 验证阶段 这个流程可以直接推广到更复杂的任务和模型。 Python / 数据科学 Python 教程 Python2.x 教程 FastAPI 教程 Flask 教程 Django 教程 NumPy 教程 Pandas 教程 SciPy 教程 Matplotlib 教程 Dash 教程 Jupyter Notebook 教程 Pillow 教程 量化交易 R 教程 Julia 教程 Jupyter Notebook 教程 AI / 智能开发 AI Agent(智能体) AI(人工智能) Codex 教程 Vibe Coding 教程 Claude Code OpenCode Skills(技能) Ollama 教程 Hermes Agent DeepSeek Harness Pi Agent AI 数学基础 TensorFlow 教程 PyTorch 教程 Scikit-learn 教程 机器 教程 LangChain 自然语言处理 NLP OpenCV 教程 Selenium 教程 Playwright 教程 DeepSeek Harness Scikit-learn 教程 前端开发 HTML 教程 HTML5 教程 CSS 教程 CSS3 教程 JavaScript 教程 HTML DOM 教程 TypeScript 教程 AJAX 教程 JSON 教程 Tailwind CSS 教程 Bootstrap4 教程 Bootstrap5 教程 Foundation 教程 Vue.js 教程 Vue3 教程 React 教程 Next.js 教程 AngularJS 教程 Angular 教程 jQuery 教程 jQuery UI 教程 jQuery EasyUI 教程 ECharts 教程 Chart.js 教程 Highcharts 教程 Google 地图 教程 SVG 教程 Font Awesome 教程 Tailwind CSS 教程 jQuery EasyUI 教程 Font Awesome 教程 后端开发 Node.js 教程 Electron 教程 PHP 教程 Java 教程 Go 教程 Rust 教程 C# 教程 Servlet 教程 JSP 教程 ASP 教程 AppML 教程 VBScript 教程 Swagger 教程 RESTful API 教程 Docker 教程 Linux 教程 ZooKeeper 教程 数据库 SQL 教程 MySQL 教程 PostgreSQL 教程 SQLite 教程 MongoDB 教程 Redis 教程 Memcached 教程 移动开发 Android 教程 Flutter 教程 Ionic 教程 jQuery Mobile 教程 Swift 教程 Kotlin 教程 jQuery Mobile 教程 DevOps / 工程化 Git 教程 SVN 教程 CMake 教程 Maven 教程 VS Code 教程 Obsidian 教程 PyCharm 教程 Eclipse 教程 Markdown 教程 LaTeX 教程 编程语言 C 教程 C++ 教程 Zig 教程 Scala 教程 Ruby 教程 Perl 教程 Lua 教程 Dart 教程 汇编语言 教程 Verilog 教程 计算机基础 计算机组成原理 数据结构与算法 C 语言数据结构与算法 设计模式 Python 设计模式 正则表达式 HTTP 教程 TCP/IP 教程 网络协议 W3C 教程 XML / Web Service XML 教程 DTD 教程 XML DOM 教程 XSLT 教程 XPath 教程 XQuery 教程 XLink 教程 XPointer 教程 XML Schema 教程 XSL-FO 教程 Web Service 教程 WSDL 教程 SOAP 教程 RSS 教程 RDF 教程 .NET ASP.NET 教程 MVC 教程 Razor 教程 Web Forms 教程 Web Pages 教程 PowerShell 教程 网站建设 网站建设指南 浏览器信息 网站主机教程 网站品质
📥 下载地址(文章结尾)
装机神器,可安装一切系统,纯净版,英文版,繁体版 ,精简版,原版等等等