ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AI入门教程(二十二):深度学习基础:从神经元到完整训练流程

AI入门教程(二十二):深度学习基础:从神经元到完整训练流程 前言:深度学习不是什么黑科技深度学习本质上是一个数学函数拟合器——给它大量输入输出数据,它自动找出它们之间的复杂关系。举个例子:给你一百万张猫的图片,每张图片对应"猫"这个标签 → 深度学习自动找出什么样的像素组合看起来像猫给你十亿句人类语言,每句话的下一个词作为目标 → 深度学习自动学会给定上文,下一个词最可能是什么深度学习的核心优势:随着数据量增加,效果持续提升——这是传统机器学习做不到的。一、神经网络数学基础深度学习建立在三个数学分支之上:线性代数、微积分、概率论。1.1 线性代数:矩阵乘法神经网络最基本的运算就是矩阵乘法——它能简洁地表示"多个输入经过多个神经元变换"。python复制下载import numpy as np # 输入:[身高, 体重, 年龄] x = np.array([175, 70, 25]) # 权重矩阵:2个神经元,每个接收3个输入 W = np.array([ [0.1, 0.2, 0.3], # 神经元1的权重 [0.4, 0.5, 0.6], # 神经元2的权重 ]) b = np.array([0.1, 0.2]) # 矩阵乘法:y = W·x + b y = W @ x + b print(f"输出: {y}") # 两个神经元的输出关键洞察:如果每一层都只是矩阵乘法,无论网络多深都等价于单层网络——这就是为什么需要激活函数来引入非线性。1.2 微积分:导数与链式法则训练神经网络的核心是梯度下降——找到让损失最小的参数方向。python复制下载# 导数的直观理解:f'(x) = lim(h→0) [f(x+h) - f(x)] / h def f(x): return x ** 2 x, h = 3.0, 1e-6 derivative = (f(x+h) - f(x)) / h print(f"f'(3) ≈ {derivative}") # 约等于6链式法则是反向传播的数学基础——把复杂函数拆成简单函数,分别求导再相乘。1.3 概率论:条件概率与Softmax分类问题中,神经网络输出的是概率分布——给定输入,每个类别的概率。python复制下载def softmax(x): """把任意实数转换成概率分布(和为1)""" exp_x = np.exp(x - np.max(x)) return exp_x / np.sum(exp_x) logits = np.array([2.0, 1.0, 0.5]) # 猫、狗、鸟的分数 probs = softmax(logits) print(f"概率: 猫{probs[0]:.2%}, 狗{probs[1]:.2%}, 鸟{probs[2]:.2%}")二、前向传播:数据流过网络前向传播就是输入数据"流过"神经网络的计算过程。2.1 计算图每一层可抽象为:aᵢ = activation(Wᵢ · aᵢ₋₁ + bᵢ)python复制下载def relu(x): return np.maximum(0, x) # 两层网络:输入(2)→隐藏(3)→输出(2) x = np.array([1.0, 2.0]) W1 = np.array([[0.1,0.2],[0.3,0.4],[0.5,0.6]]) b1 = np.array([0.1,0.2,0.3]) W2 = np.array([[0.1,0.2,0.3],[0.4,0.5,0.6]]) b2 = np.array([0.1,0.2]) z1 = W1 @ x + b1 # 隐藏层线性变换 a1 = relu(z1) # 隐藏层激活 z2 = W2 @ a1 + b2 # 输出层线性变换 print(f"输出: {z2}")三、激活函数没有激活函数,深层网络等价于单层网络。激活函数引入非线性,让网络能学习复杂模式。3.1 常用激活函数对比函数公式优点缺点适用场景
返回列表