网站建设策划方案ppt/百度快照优化排名怎么做

网站建设策划方案ppt,百度快照优化排名怎么做,高档手表网站,织梦网站程序模板作者选择了由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大佬撰写的《Deep Learning》(人工智能领域的经典教程,深度学习领域研究生必读教材),开始深度学习领域学习,深入全面的理解深度学习的理论知识。 在之前的文章中介绍了深度学习中用…

作者选择了由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大佬撰写的《Deep Learning》(人工智能领域的经典教程,深度学习领域研究生必读教材),开始深度学习领域学习,深入全面的理解深度学习的理论知识。

在之前的文章中介绍了深度学习中用到的数学基础和强化学习的概念,本文将开始介绍现代深度学习中用于解决实际应用的实践。

【一文读懂】深度学习技术谱系:探索生成式AI的核心模型(一) 基础技术图谱

【生成式AI】理解深度学习和机器学习的数学基础:线性代数

【万字长文】理解深度学习和机器学习的数学基础:概率论和信息论

【学习笔记】理解深度学习和机器学习的数学基础:数值计算

【学习笔记】理解深度学习和机器学习的关系

深度前馈网络(Deep Feedforward Networks):简介与核心概念

深度前馈网络(Deep Feedforward Networks),也称为前馈神经网络(Feedforward Neural Networks)或多层感知机(Multilayer Perceptrons, MLPs),是深度学习中最基础且最重要的模型之一。它们被广泛应用于图像识别、自然语言处理、语音识别等领域。本文将基于《深度学习》(Deep Learning)一书中的相关内容,介绍深度前馈网络的基本概念、结构和工作原理。


1. 什么是深度前馈网络?

深度前馈网络是一种人工神经网络,其核心特点是信息单向流动:从输入层经过若干隐藏层,最终到达输出层。与循环神经网络(RNN)不同,前馈网络没有反馈回路,数据不会在网络中循环流动。它的“深度”体现在网络包含多个隐藏层,这些隐藏层使得网络能够学习到数据中的多层次抽象特征。

  • 前馈(Feedforward):信息从输入层流向输出层,没有反馈或循环。

  • 深度(Deep):网络包含多个隐藏层,能够学习复杂的非线性映射。


2. 深度前馈网络的结构

深度前馈网络通常由以下几部分组成:

(1)输入层(Input Layer)

输入层接收原始数据(如图像像素、文本向量等),并将其传递给第一个隐藏层。输入层的神经元数量通常由数据的维度决定。

(2)隐藏层(Hidden Layers)

隐藏层是网络的核心部分,负责从输入数据中提取特征。每个隐藏层包含若干神经元,神经元之间通过权重连接。隐藏层的数量和每层的神经元数量是超参数,需要根据任务和数据的特点进行调整。

  • 深度:隐藏层的数量决定了网络的深度。深度网络可以学习到更复杂的特征,但也更难训练。

  • 宽度:每层神经元的数量决定了网络的宽度。宽度网络可以捕捉更多的特征,但计算复杂度较高。

(3)输出层(Output Layer)

输出层生成最终的预测结果。输出层的神经元数量通常由任务的类型决定:

  • 二分类问题:1个神经元(使用Sigmoid激活函数)。

  • 多分类问题:多个神经元(使用Softmax激活函数)。

  • 回归问题:1个或多个神经元(通常不使用激活函数)。


3. 深度前馈网络的工作原理

深度前馈网络的工作原理可以分为以下几个步骤:

(1)前向传播(Forward Propagation)

输入数据通过网络逐层传递,直到输出层生成预测结果。每一层的计算包括线性变换和激活函数:

z=Wx+b

a=f(z)

其中,W是权重矩阵,x 是输入向量,b是偏置向量,z 是线性变换的结果,f是激活函数,a是激活后的输出。

(2)损失计算(Loss Calculation)

使用损失函数衡量预测结果与真实标签之间的差距。常见的损失函数包括:

  • 均方误差(MSE):用于回归任务。

  • 交叉熵(Cross-Entropy):用于分类任务。

(3)反向传播(Backpropagation)

反向传播算法通过链式法则计算损失函数对每个权重的梯度,并利用梯度下降法更新权重,逐步减少预测误差。

(4)参数更新(Parameter Update)

使用优化算法(如梯度下降、Adam)更新网络参数:

W\leftarrow W-\eta \frac{\partial L}{\partial W}

b\leftarrow b-\eta \frac{\partial L}{\partial b}

其中,\eta 是学习率,\frac{\partial L}{\partial W} 和 \frac{\partial L}{\partial b}分别是损失函数对权重和偏置的梯度。

实例:使用深度前馈网络学习XOR函数

XOR(异或)问题是一个经典的例子,用于展示单层感知机(Perceptron)的局限性以及多层感知机(MLP)的强大能力。XOR问题简单但具有代表性,能够很好地说明为什么我们需要深度前馈网络。


1. 什么是XOR问题?

XOR(异或)是一个逻辑运算,其真值表如下:

输入 A输入 B输出 A XOR B
000
011
101
110

XOR问题的目标是训练一个模型,使其能够根据输入A和B正确预测A XOR B的结果。


2. 单层感知机的局限性

单层感知机(没有隐藏层)只能解决线性可分的问题。然而,XOR问题是非线性可分的,这意味着无法用一条直线将输出为0和1的样本分开。

  • 尝试用单层感知机解决XOR
    单层感知机的形式为:

y=f(w_{1}x_{1}+w_{2}x_{2}+b)

其中,f是激活函数(如阶跃函数),w_{1},w_{2}​ 是权重,b是偏置。

无论怎么调整权重和偏置,单层感知机都无法正确分类XOR问题。这是因为XOR问题的输出在二维平面上形成了一个非线性分布(四个点分布在正方形的对角线上)。


3. 使用多层感知机(MLP)解决XOR问题

通过引入一个隐藏层,多层感知机可以解决XOR问题。以下是一个简单的MLP结构:

  • 输入层:2个神经元(对应输入A和B)。

  • 隐藏层:2个神经元(使用非线性激活函数,如ReLU或Sigmoid)。

  • 输出层:1个神经元(使用Sigmoid激活函数,输出0或1)。


4. 具体实现步骤

以下是一个简单的Python实现,使用NumPy库构建一个两层的MLP来解决XOR问题:

import numpy as np# 定义激活函数(Sigmoid)
def sigmoid(x):return 1 / (1 + np.exp(-x))# 定义激活函数的导数
def sigmoid_derivative(x):return x * (1 - x)# 输入数据(XOR问题的输入和输出)
X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
y = np.array([[0], [1], [1], [0]])# 初始化权重和偏置
np.random.seed(1)
weights0 = 2 * np.random.random((2, 2)) - 1  # 输入层到隐藏层的权重
weights1 = 2 * np.random.random((2, 1)) - 1  # 隐藏层到输出层的权重
bias0 = np.zeros((1, 2))  # 隐藏层的偏置
bias1 = np.zeros((1, 1))  # 输出层的偏置# 训练参数
learning_rate = 0.1
epochs = 10000# 训练过程
for epoch in range(epochs):# 前向传播hidden_input = np.dot(X, weights0) + bias0hidden_output = sigmoid(hidden_input)output_input = np.dot(hidden_output, weights1) + bias1output = sigmoid(output_input)# 计算误差error = y - output# 反向传播d_output = error * sigmoid_derivative(output)error_hidden = d_output.dot(weights1.T)d_hidden = error_hidden * sigmoid_derivative(hidden_output)# 更新权重和偏置weights1 += hidden_output.T.dot(d_output) * learning_rateweights0 += X.T.dot(d_hidden) * learning_ratebias1 += np.sum(d_output, axis=0, keepdims=True) * learning_ratebias0 += np.sum(d_hidden, axis=0, keepdims=True) * learning_rate# 测试模型
hidden_input = np.dot(X, weights0) + bias0
hidden_output = sigmoid(hidden_input)
output_input = np.dot(hidden_output, weights1) + bias1
output = sigmoid(output_input)print("Predicted Output:")
print(output)
5. 代码解释
  • 前向传播
    输入数据通过隐藏层和输出层,生成预测结果。每一层的计算包括线性变换和激活函数。

  • 误差计算
    使用均方误差衡量预测结果与真实标签之间的差距。

  • 反向传播
    通过链式法则计算损失函数对每个权重的梯度,并使用梯度下降法更新权重和偏置。

  • 训练结果
    经过训练后,模型能够正确预测XOR问题的输出。


6. 运行结果

运行上述代码后,输出结果应该接近XOR问题的真实值:

Predicted Output:
[[0.01][0.99][0.99][0.01]]

这表明模型已经学会了XOR问题的规律。

通过XOR问题,我们可以看到单层感知机的局限性以及多层感知机的强大能力。深度前馈网络通过引入隐藏层和非线性激活函数,能够解决复杂的非线性问题。XOR问题虽然简单,但它很好地展示了深度学习的基本原理和训练过程。

基于梯度的学习:深度学习的核心优化方法

基于梯度的学习是深度学习的核心优化方法,它通过计算损失函数对模型参数的梯度,并利用梯度下降法逐步更新参数,从而使模型能够从数据中学习。


1. 什么是基于梯度的学习?

基于梯度的学习是一种优化方法,其目标是通过最小化损失函数来调整模型参数。损失函数衡量模型预测值与真实值之间的差距,而梯度则指示了损失函数在参数空间中的变化方向。

  • 损失函数(Loss Function)
    损失函数用于量化模型的预测误差。常见的损失函数包括:

    • 均方误差(MSE):用于回归任务。

    • 交叉熵(Cross-Entropy):用于分类任务。

  • 梯度(Gradient)
    梯度是损失函数对模型参数的偏导数向量。它指示了损失函数在参数空间中的变化方向,即损失函数增加最快的方向。

  • 梯度下降法(Gradient Descent)
    梯度下降法通过沿着梯度的反方向更新参数,逐步减少损失函数的值。更新公式为:

    \theta \leftarrow \theta -\eta \nabla_{\theta }L(\theta )

    其中,\theta是模型参数,\eta 是学习率,\nabla_{\theta }L(\theta ) 是损失函数对参数的梯度。


2. 梯度下降法的变体

梯度下降法有多种变体,适用于不同的场景和需求。以下是几种常见的变体:

  • 批量梯度下降(Batch Gradient Descent)
    使用整个训练集计算梯度,更新参数。优点是梯度计算准确,缺点是计算量大,不适合大规模数据集。

  • 随机梯度下降(Stochastic Gradient Descent, SGD)
    每次随机选择一个样本计算梯度,更新参数。优点是计算速度快,缺点是梯度波动大,收敛不稳定。

  • 小批量梯度下降(Mini-batch Gradient Descent)
    每次使用一个小批量样本计算梯度,更新参数。这是深度学习中常用的方法,兼顾了计算效率和梯度稳定性。


3. 梯度下降法的优化技巧

为了提高梯度下降法的性能,研究者提出了许多优化技巧:

  • 动量(Momentum)
    动量方法通过引入动量项加速梯度下降,减少震荡。更新公式为:

    \mu \leftarrow \gamma \theta +\eta \nabla_{\theta }L(\theta )

\theta \leftarrow \theta -\mu

其中,\gamma 是动量系数,\mu是动量项。

  • 自适应学习率方法
    自适应学习率方法根据参数的梯度动态调整学习率。常见的方法包括:

    • AdaGrad:根据历史梯度调整学习率。

    • RMSProp:使用指数加权平均调整学习率。

    • Adam:结合动量和自适应学习率,是目前最常用的优化方法。


4. 基于梯度的学习在深度学习中的应用

基于梯度的学习是深度学习的核心优化方法,广泛应用于各种任务和模型。以下是一些典型应用:

  • 图像分类
    使用卷积神经网络(CNN)和交叉熵损失函数,通过梯度下降法训练模型,实现图像分类。

  • 自然语言处理
    使用循环神经网络(RNN)或Transformer模型,通过梯度下降法训练模型,实现机器翻译、文本生成等任务。

  • 强化学习
    使用策略梯度方法,通过梯度下降法优化策略网络,实现智能体在环境中的学习。


5. 基于梯度的学习的挑战

尽管基于梯度的学习在深度学习中取得了巨大成功,但仍面临一些挑战:

  • 局部最优
    损失函数可能存在多个局部最优,梯度下降法可能陷入局部最优而无法找到全局最优。

  • 梯度消失和梯度爆炸
    在深层网络中,梯度可能在反向传播过程中逐渐消失或爆炸,导致训练困难。

  • 超参数调优
    学习率、动量系数等超参数的选择对模型性能有重要影响,但调优过程耗时且复杂。

深度前馈网络中的隐藏单元:关键设计与选择

在深度前馈网络(Multilayer Perceptrons, MLPs)中,隐藏单元(Hidden Units)是网络的核心组成部分。隐藏单元的设计和选择直接影响模型的表达能力、训练效率和最终性能。


1. 隐藏单元的作用

隐藏单元是隐藏层中的神经元,负责接收输入数据并生成输出。它们通过非线性激活函数引入非线性变换,使得网络能够学习复杂的函数映射。隐藏单元的设计决定了网络的表达能力、训练难度和泛化性能。


2. 常见的隐藏单元类型

以下是几种常见的隐藏单元类型及其特点:

(1)ReLU(Rectified Linear Unit)

ReLU是目前最常用的隐藏单元类型,其定义为:

f(z)=max(0,z)

  • 优点

    • 计算简单,梯度计算高效。

    • 在正区间梯度恒定,缓解了梯度消失问题。

    • 在实践中表现良好,广泛应用于各种任务。

  • 缺点

    • 在负区间梯度为零,可能导致“神经元死亡”问题。

(2)Sigmoid

Sigmoid函数将输入映射到0到1之间,其定义为:

f(x)=\frac{1}{1+e^{-z}}

  • 优点

    • 输出范围有限,适合作为概率输出。

  • 缺点

    • 梯度在两端接近于零,容易导致梯度消失问题。

    • 计算复杂度较高。

(3)Tanh

Tanh函数将输入映射到-1到1之间,其定义为:

f(z)=tanh(z)=\frac{e^{z}-e^{-z}}{e^{z}+e^{-z}}

  • 优点

    • 输出以零为中心,有助于加速训练。

  • 缺点

    • 梯度在两端接近于零,容易导致梯度消失问题。

(4)Leaky ReLU

Leaky ReLU是对ReLU的改进,定义为:

f(z)=max(\alpha z,z)

其中,\alpha 是一个小的正数(如0.01)。

  • 优点

    • 在负区间也有梯度,缓解了“神经元死亡”问题。

  • 缺点

    • 需要手动设置\alpha 的值。

(5)ELU(Exponential Linear Unit)

ELU是对ReLU的另一种改进,定义为:

f(z)=\left\{\begin{matrix} z & &if(z>0)\\ \alpha (e^{z}-1)& &if(z\leq 0) \end{matrix}\right.

  • 优点

    • 在负区间有非零梯度,且输出接近零均值,有助于加速训练。

  • 缺点

    • 计算复杂度较高。

(6)Softplus

Softplus函数是ReLU的平滑版本,定义为:

f(z)=log(1+e^{z})

  • 优点

    • 处处可导,适合理论研究。

  • 缺点

    • 计算复杂度较高,实践中较少使用。


3. 隐藏单元的选择

隐藏单元的选择取决于任务的特点和数据的分布。以下是一些选择隐藏单元的指导原则:

  • ReLU:大多数情况下,ReLU是默认选择,因其计算高效且表现良好。

  • Leaky ReLU/ELU:如果担心“神经元死亡”问题,可以尝试Leaky ReLU或ELU。

  • Sigmoid/Tanh:在需要输出范围有限的情况下(如概率输出),可以考虑Sigmoid或Tanh,但需注意梯度消失问题。

  • Softplus:适合理论研究,但在实践中较少使用。


4. 隐藏单元的设计技巧

为了提高隐藏单元的性能,研究者提出了许多设计技巧:

  • 批量归一化(Batch Normalization)
    通过对每一层的输入进行归一化,加速训练过程并提高模型的稳定性。

  • Dropout
    在训练过程中随机丢弃一部分神经元,防止网络过度依赖某些神经元,提高泛化能力。

  • 权重初始化
    合适的权重初始化方法(如Xavier初始化、He初始化)可以加速训练并提高模型性能。

深度前馈网络的架构设计:关键原则与实践

在深度前馈网络(Multilayer Perceptrons, MLPs)中,架构设计是决定模型性能的重要因素。合理的架构设计可以提高模型的表达能力、训练效率和泛化能力。


1. 架构设计的基本原则

深度前馈网络的架构设计需要考虑以下几个基本原则:

  • 表达能力
    网络的深度和宽度决定了其表达能力。深度网络可以学习到更复杂的函数映射,而宽度网络可以捕捉更多的特征。

  • 计算效率
    网络的层数和每层的神经元数量直接影响计算复杂度。需要在表达能力和计算效率之间找到平衡。

  • 泛化能力
    网络的复杂度应与任务的复杂度相匹配。过于复杂的网络可能导致过拟合,而过于简单的网络可能导致欠拟合。

  • 训练稳定性
    网络的架构设计应有利于梯度传播,避免梯度消失或梯度爆炸问题。


2. 常见的架构设计

以下是几种常见的深度前馈网络架构设计:

(1)全连接网络(Fully Connected Network)

全连接网络是最基本的深度前馈网络架构,每一层的神经元与下一层的所有神经元相连。

  • 优点

    • 结构简单,易于实现。

    • 适合处理结构化数据(如表格数据)。

  • 缺点

    • 参数量大,计算复杂度高。

    • 对高维数据(如图像、文本)处理效率低。

(2)卷积神经网络(Convolutional Neural Network, CNN)

卷积神经网络通过卷积层和池化层提取局部特征,适合处理图像数据。

  • 优点

    • 参数共享,计算效率高。

    • 能够捕捉局部特征,适合处理高维数据。

  • 缺点

    • 对非图像数据的处理效果有限。

(3)循环神经网络(Recurrent Neural Network, RNN)

循环神经网络通过时间步展开处理序列数据,适合处理文本、语音等序列数据。

  • 优点

    • 能够捕捉时间依赖关系。

    • 适合处理变长序列数据。

  • 缺点

    • 训练过程中容易出现梯度消失或梯度爆炸问题。

(4)Transformer

Transformer通过自注意力机制处理序列数据,适合处理长序列数据。

  • 优点

    • 能够捕捉长距离依赖关系。

    • 并行计算效率高。

  • 缺点

    • 参数量大,计算复杂度高。


3. 架构设计的实践技巧

为了提高深度前馈网络的性能,研究者提出了许多实践技巧:

  • 深度与宽度的平衡
    深度网络可以学习到更复杂的函数映射,但训练难度较大;宽度网络可以捕捉更多的特征,但计算复杂度较高。需要在深度与宽度之间找到平衡。

  • 残差连接(Residual Connection)
    残差连接通过跨层连接缓解梯度消失问题,加速训练过程。其定义为:

    y=f(x)+x

    其中,f(x)是网络层的输出,x 是输入。

  • 批量归一化(Batch Normalization)
    批量归一化通过对每一层的输入进行归一化,加速训练过程并提高模型的稳定性。

  • Dropout
    Dropout在训练过程中随机丢弃一部分神经元,防止网络过度依赖某些神经元,提高泛化能力。

  • 权重初始化
    合适的权重初始化方法(如Xavier初始化、He初始化)可以加速训练并提高模型性能。


反向传播算法:深度学习的核心优化方法

反向传播(Backpropagation)是深度学习中最重要的算法之一,用于训练深度前馈网络(Multilayer Perceptrons, MLPs)。它通过计算损失函数对模型参数的梯度,并利用梯度下降法逐步更新参数,从而使模型能够从数据中学习。


1. 反向传播的基本原理

反向传播的核心思想是利用链式法则(Chain Rule)计算损失函数对模型参数的梯度。具体来说,反向传播包括以下两个阶段:

  • 前向传播(Forward Propagation)
    输入数据通过网络逐层传递,直到输出层生成预测结果。每一层的计算包括线性变换和激活函数。

  • 反向传播(Backward Propagation)
    从输出层开始,逐层计算损失函数对每一层参数的梯度,并利用梯度下降法更新参数。


2. 反向传播的详细步骤

以下是反向传播的详细步骤:

(1)前向传播

在前向传播阶段,输入数据通过网络逐层传递,生成预测结果。具体步骤如下:

  1. 输入数据通过输入层传递到第一个隐藏层。

  2. 每一层的输出通过线性变换和激活函数生成下一层的输入。

  3. 最终输出层的输出即为模型的预测结果。

(2)损失计算

使用损失函数衡量预测结果与真实标签之间的差距。常见的损失函数包括:

  • 均方误差(MSE):用于回归任务。

  • 交叉熵(Cross-Entropy):用于分类任务。

(3)反向传播

在反向传播阶段,从输出层开始,逐层计算损失函数对每一层参数的梯度。具体步骤如下:

  1. 计算输出层的误差:

    \delta ^{(L)}=\frac{\partial L}{\partial a^{(L)}}\bigodot f^{'}(z^{(L)})

    其中,\delta ^{(L)} 是输出层的误差,L 是损失函数,a^{(L)} 是输出层的激活值,z^{(L)} 是输出层的线性变换结果,f^{'}是激活函数的导数,\bigodot 表示逐元素相乘。

  2. 逐层反向传播误差:

    \delta ^{(l)}=((W^{(l+1)})^{T}\delta ^{(l+1)})\bigodot f^{'}(z^{(l)})

    其中,\delta ^{(l)}是第l层的误差,W^{(l+1)}是第l+1层的权重矩阵,z^{(l)}是第l层的线性变换结果。

  3. 计算每一层参数的梯度:

    \frac{\partial L}{\partial W^{(l)}}=\delta ^{(l)}(a^{(l-1)})^{T}

          \frac{\partial L}{\partial b^{(l)}}=\delta ^{(l)}

其中,W^{(l)} 和 b^{(l)} 分别是第l层的权重矩阵和偏置向量,a^{(l-1)} 是第l-1层的激活值。

(4)参数更新

使用梯度下降法更新每一层的参数:

W^{(l)}\leftarrow W^{(l)}-\eta \frac{\partial L}{\partial W^{(l)}}

b^{(l)}\leftarrow b^{(l)}-\eta \frac{\partial L}{\partial b^{(l)}}

其中,\eta 是学习率。


深度前馈网络的发展历史

深度前馈网络(Multilayer Perceptrons, MLPs)是深度学习的核心组成部分,其发展历史与神经网络和人工智能的演进密不可分。从早期的理论探索到现代深度学习的繁荣,深度前馈网络经历了多次起伏和突破。以下是深度前馈网络发展历史的关键节点和重要里程碑。


1. 早期探索:神经网络的萌芽(1940s-1960s)

深度前馈网络的起源可以追溯到20世纪40年代,当时的研究者开始尝试用数学模型模拟生物神经元的行为。

  • 1943年:McCulloch-Pitts神经元模型
    Warren McCulloch和Walter Pitts提出了第一个神经元的数学模型,称为McCulloch-Pitts神经元。这一模型展示了如何用简单的计算单元模拟逻辑运算,为神经网络的理论奠定了基础。

  • 1958年:感知机的提出
    Frank Rosenblatt提出了感知机(Perceptron),这是第一个可以学习的神经网络模型。感知机通过调整权重来分类输入数据,但其只能解决线性可分的问题。感知机的提出引发了神经网络研究的第一次热潮。


2. 低谷期:感知机的局限性(1970s-1980s)

尽管感知机在早期取得了一些成功,但其局限性很快显现出来。1969年,Marvin Minsky和Seymour Papert在《Perceptrons》一书中指出,感知机无法解决非线性问题(如XOR问题)。这一批评导致神经网络研究进入了低谷期。

  • 1974年:反向传播的初步提出
    Paul Werbos在他的博士论文中首次提出了反向传播算法(Backpropagation),但当时这一方法并未引起广泛关注。

  • 1980年代:Hopfield网络和Boltzmann机
    John Hopfield提出了Hopfield网络,这是一种基于能量的模型,能够存储和检索信息。此外,Geoffrey Hinton和Terry Sejnowski提出了Boltzmann机,这是一种基于概率的神经网络模型。这些工作为神经网络的复兴奠定了基础。


3. 复兴期:反向传播的普及(1980s-1990s)

1980年代,反向传播算法被重新发现并广泛应用于神经网络的训练,推动了神经网络研究的复兴。

  • 1986年:反向传播的普及
    David Rumelhart、Geoffrey Hinton和Ronald Williams在《Parallel Distributed Processing》一书中详细描述了反向传播算法,并将其应用于多层感知机的训练。这一工作使得反向传播成为神经网络训练的标准方法。

  • 1989年:万能近似定理
    George Cybenko和Kurt Hornik等人证明了万能近似定理(Universal Approximation Theorem),指出具有单隐藏层的神经网络可以近似任何连续函数。这一理论为神经网络的表达能力提供了数学基础。


4. 深度学习的崛起:深层网络的突破(2000s-2010s)

尽管神经网络在1980年代和1990年代取得了一些进展,但由于计算资源的限制和数据集的不足,其应用仍然有限。直到2000年代,随着计算能力的提升和大规模数据集的出现,深度学习开始崛起。

  • 2006年:深度信念网络的提出
    Geoffrey Hinton提出了深度信念网络(Deep Belief Networks, DBNs),通过无监督预训练和有监督微调的方法,成功训练了深层神经网络。这一工作被认为是深度学习复兴的标志。

  • 2012年:AlexNet的突破
    Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton提出了AlexNet,在ImageNet图像分类竞赛中取得了显著优势。AlexNet的成功标志着深度学习在计算机视觉领域的突破,并引发了深度学习的热潮。


5. 繁荣期:深度学习的广泛应用(2010s至今)

自2012年以来,深度学习在学术界和工业界取得了巨大成功,广泛应用于图像识别、自然语言处理、语音识别等领域。

  • 2014年:生成对抗网络(GANs)
    Ian Goodfellow提出了生成对抗网络(Generative Adversarial Networks, GANs),这是一种能够生成高质量数据的神经网络模型。

  • 2017年:Transformer模型
    Vaswani等人提出了Transformer模型,通过自注意力机制处理序列数据,成为自然语言处理领域的主流模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/68296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Excel分区间统计分析(等步长、不等步长、多维度)

在数据分析过程中,可能会需要统计不同数据区间的人数、某个数据区间的平均值或者进行分组区间统计,本文从excel函数到数据透视表的方法,从简单需求到复杂需求,采用不同的方法进行讲解,尤其是通过数据透视表的强大功能大…

私域流量池构建与转化策略:以开源链动2+1模式AI智能名片S2B2C商城小程序为例

摘要:随着互联网技术的快速发展,流量已成为企业竞争的关键资源。私域流量池,作为提升用户转化率和增强用户粘性的有效手段,正逐渐受到企业的广泛关注。本文旨在深入探讨私域流量池构建的目的、优势及其在实际应用中的策略&#xf…

电子应用设计方案105:智能家庭AI拖把系统设计

智能家庭 AI 拖把系统设计 一、引言 智能家庭 AI 拖把系统旨在为用户提供更高效、便捷和智能化的地面清洁解决方案,减轻家务劳动负担。 二、系统概述 1. 系统目标 - 自动清洁地面,包括吸尘、拖地和擦干功能。 - 智能识别地面材质和污渍程度&#xff0c…

Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat

目录 ?编辑 一、Ubuntu22.04介绍 二、Ubuntu与Centos的区别 三、基于VMware安装Ubuntu Server 22.04 下载 VMware安装 1.创建新的虚拟机 2.选择类型配置 3.虚拟机硬件兼容性 4.安装客户机操作系统 5.选择客户机操作系统 6.命名虚拟机 7.处理器配置 8.虚拟机内存…

无耳科技 Solon v3.0.7 发布(2025农历新年版)

Solon 框架! Solon 框架由杭州无耳科技有限公司(下属 Noear 团队)开发并开源。是新一代,面向全场景的 Java 企业级应用开发框架。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。…

安装Ubuntu22.04

1.引用教程 如何安装Ubuntu Server 22.04 LTS_ubuntu22.04 server-CSDN博客 2.空间分配 要使用 docker 比较多所以分别的 docker 空间大

unity导入图片素材注意点和AI寻路模块导入

当我们导入了图片资源,我们需要设置为Sprite类型 UI资源的位置通常是Rect Transform 要进行转化: (imgHP.transform as RectTransform).sizeDelta new Vector2((float)hp / maxHP * hpW,74); RectTransform 是Unity中用于UI元素的特殊变换组件&#…

新电脑安装系统找不到硬盘原因和解决方法来了

有不少网友反馈新电脑采用官方u盘方式装win10或win100出现找不到硬盘是怎么回事?后来研究半天发现是bios中开启了rst(vmd)模式。如果关闭rst模式肯定是可以安装的,但这会影响硬盘性能,有没有办法解决开启rst模式的情况安装win10或win11呢&…

docker Ubuntu实战

目录 Ubuntu系统环境说明 一、如何安装docker 二、发布.netcore应用到docker中 三、查看docker信息 四、保存linux服务器的镜像、下载镜像 其他 1.Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while wa…

神经网络|(四)概率论基础知识-古典概型

【1】引言 前序学习了线性回归的基础知识,了解到最小二乘法可以做线性回归分析,但为何最小二乘法如此准确,这需要从概率论的角度给出依据。 因此从本文起,需要花一段时间来回顾概率论的基础知识。 【2】古典概型 古典概型是我…

php代码审计2 piwigo CMS in_array()函数漏洞

php代码审计2 piwigo CMS in_array()函数漏洞 一、目的 本次学习目的是了解in_array()函数和对项目piwigo中关于in_array()函数存在漏洞的一个审计并利用漏洞获得管理员帐号。 二、in_array函数学习 in_array() 函数搜索数组中是否存在指定的值。 in_array($search,$array…

mybatis中<select>标签resultType跟resultMap 属性的作用和区别

select 标签的 resultType 和 resultMap 属性都用于指定查询结果应该如何被映射到 Java 对象上 resultType 属性用于指定 MyBatis 应该将每一行结果映射到的 Java 类型。 当查询结果是一个简单的数据类型(如 int, String)、一个 JavaBean(P…

适用于 Windows 的 11 款最佳照片恢复软件

我们确信找到这篇文章本身就是一种解脱感,因为您删除的照片具有很大的情感价值,必须使用好的照片恢复软件将它们恢复回来。无论您的照片是否已从计算机、存储卡、硬盘驱动器、SD 卡还是数码相机中删除,您都可以在 Windows 10 上恢复已删除的照…

速通 AI+Web3 开发技能: 免费课程+前沿洞察

AI 正以前所未有的速度重塑各行各业,从生成式模型到大规模数据处理,AI 逐渐成为核心驱动力。与此同时,Web3 去中心化技术也在重新定义信任、交易和协作方式。当这两大前沿技术相遇,AI Web3 的融合已不再是理论,而是未…

LeetCode - Google 大模型校招10题 第1天 Attention 汇总 (3题)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145368666 GroupQueryAttention(分组查询注意力机制) 和 KVCache(键值缓存) 是大语言模型中的常见架构,GroupQueryAttention 是注意力…

Linux之Tcp粘包笔记

目录 一.网络传输四层模型 二.数据传输中数据包传输的两个限制概念 三.数据传输的中粘包问题 四.数据组装的原因 Nagle算法原理: 五.关闭Nagle优化处理粘包问题吗? 六.粘包处理方法 a.设置消息边界: b.定义消息长度: 七.UDP是否会出…

websocket实现

由于安卓资源管理器展示的路径不尽相同,各种软件保存文件的位置也不一定一样.对于普通用户上传文件时,查找文件可能是一个麻烦的事情.后来想到了一个办法,使用pc端进行辅助上传. 文章目录 实现思路1.0 实现定义web与客户端通信数据类型和数据格式web端websocket实现web端对客户…

什么是反向海淘?如何入局反向海淘?

什么是反向海淘? 简单来说,反向海淘就是海外消费者通过国内的电商平台或独立站买入中国商品,然后通过跨境物流送到海外。以前是我们在国内买国外的东西,现在反过来,老外开始疯狂种草咱们的国货啦! 为什么反…

leetcode刷题记录(一百)——121. 买卖股票的最佳时机

(一)问题描述 121. 买卖股票的最佳时机 - 力扣(LeetCode)121. 买卖股票的最佳时机 - 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并…

荔枝派LicheePi Zero V3S芯片图形系统开发详解[持续更新]

一、图形子系统 一般移动Linux设备实现图像显示的方案无非两种: 一种是使用OpenGL ES 另外一种就是使用FrameBuffer 使用OpenGL有个前提就是这个芯片是需要有GPU的,不然是没有意义的。 查看芯片系统框图,注意到V3S这款芯片是不支持GPU的…