传统神经网络、CNN与RNN

在网络上找了很多关于深度学习的资料,也总结了一点小心得,于是就有了下面这篇文章。这里内容较为简单,适合初学者查看,所以大佬看到这里就可以走了。

话不多说,上图

传统神经网络
卷积神经网络 CNN
循环神经网络 RNN
ResNet
Inception
LSTM
GRU
图像生成
机器翻译

从上图可以看出,传统神经网络算是另外两个神经网络的母体,所以这三者之间真要比较也一般都是拿CNN与RNN进行比较,很少看到拿三者一起比较的,很多初学者在这里就有所误解,以为三个神经网络是同时期的不同网络架构。

为了让大家更容易理解,这里整理了一组思维导图,解析三者神经网络的区别:
在这里插入图片描述

一、传统神经网络

传统神经网络(Traditional Neural Network)是指没有采用现代深度学习技术(如残差连接、批归一化、注意力机制等)的早期人工神经网络。它们通常由简单的全连接层或卷积层堆叠而成,其结构和训练方法相对基础。以下是传统神经网络的详细解释:

传统神经网络是一种基于生物学神经元模型的计算模型,通过多层非线性变换处理输入数据。其核心思想是通过“逐层传递”的方式将输入数据映射到输出结果,每一层的神经元通过权重和激活函数进行计算。

1.1 典型结构

传统神经网络的结构通常包括以下部分:

(1) 输入层
  • 功能:接收原始数据(如像素值、文本特征)。
  • 示例:MNIST 手写数字识别的输入层是 784 维向量(28×28 像素)。
(2) 隐藏层
  • 全连接层(Dense Layer)
    • 每个神经元与前一层的所有神经元相连。
    • 计算公式: z = W ⋅ x + b , a = σ ( z ) z=W\cdot x+b, a=\sigma (z) z=Wx+b,a=σ(z),( σ \sigma σ为激活函数)。
  • 激活函数
    • Sigmoid:将输出压缩到 [0,1],但存在梯度消失问题。
    • Tanh:输出范围 [-1,1],缓解梯度消失但未彻底解决。
    • ReLU:早期传统网络较少使用,因其可能导致神经元死亡。
(3) 输出层
  • 多分类任务:使用 Softmax 激活函数,输出类别概率。
  • 回归任务:使用线性激活函数(无激活函数)。

1.2 典型网络

传统神经网络算是人工智能领域的奠基性模型,典型结构包含输入层、隐藏层和输出层,通过非线性激活函数和权重连接实现特征映射。根据连接方式,可分为三大类:

  1. 前馈神经网络

    • 结构:单向传递信息,无反馈连接(如感知机、BP神经网络)。
    • 应用:简单分类、回归问题(如手写数字识别)。
    • 局限性:无法捕捉数据中的时序依赖或空间相关性。
  2. 反馈神经网络

    • 结构:包含循环连接(如Hopfield网络、Elman网络)。
    • 应用:联想记忆、动态系统建模。
    • 局限性:梯度消失/爆炸问题显著,难以处理长序列。
  3. 自组织神经网络

    • 结构:无监督学习,自动聚类输入数据(如Kohonen网络)。
    • 应用:数据降维、模式发现。

代码示例:

from keras.models import Sequential
from keras.layers import Dense# MNIST手写数字识别示例
dnn_model = Sequential([Dense(512, activation='relu', input_shape=(784,)),Dense(256, activation='relu'),Dense(10, activation='softmax')
])
dnn_model.compile(optimizer='adam', loss='categorical_crossentropy')

1.3 训练问题

传统神经网络在训练中面临以下挑战:

(1) 梯度消失/爆炸
  • 原因:链式求导导致梯度在反向传播中指数级衰减(消失)或增长(爆炸)。
  • 影响:深层网络无法有效更新权重,训练停滞。
(2) 过拟合
  • 原因:网络容量过大,记忆噪声数据。
  • 解决方案
    • 正则化(如 L2 正则化)。
    • Dropout(早期传统网络较少使用)。
(3) 优化困难
  • 问题:梯度方向不准确,陷入局部最优。
  • 改进:使用更优的优化器(如 Adam),但传统网络通常依赖 SGD。

1.4 局限性

虽然对当时的来说传统神经网络以及很优秀,但是我们现在来看,传统神经网络还是有很大的缺点,其中最为限制其性能的就是以下三点:

  • 深度限制:难以训练超过 20 层的网络。
  • 特征提取能力:依赖手工特征(如 SIFT、HOG),而非端到端学习。
  • 计算效率:全连接层参数量巨大,如 1000 层的网络可能包含数亿参数。

1.5 典型应用

在了解了上面的这些之后我们再来了解一下它的发展历史,传统神经网络的应用总共有以下在节点:

  • 图像识别:LeNet-5(1998 年,手写数字识别)。
  • 语音识别:深度信念网络(DBNs)。
  • 自然语言处理:循环神经网络(RNNs)的早期应用。

1.6 与现代网络的对比

将传统神经网络拿到现在来对比,可以看出传统神经网络架构还是较为单一:

特性传统神经网络现代神经网络(如 ResNet)
残差连接有(解决梯度消失)
激活函数Sigmoid/Tanh 为主ReLU/Swish/GELU 为主
归一化批归一化(BatchNorm)
深度浅(通常 <20 层)深(如 ResNet-152 有 152 层)
特征学习依赖手工特征端到端学习

总结:从上述的介绍我们可以看出,传统神经网络是深度学习的基础,但受限于梯度消失、过拟合和计算效率等问题,难以构建更深层、更复杂的模型。现代网络(如 ResNet、Transformer)通过引入残差连接、批归一化、注意力机制等创新,突破了这些限制,推动了 AI 技术的革命性发展。

二、卷积神经网络(CNN):空间特征的提取专家

卷积神经网络(Convolutional Neural Network, CNN)是一种专门设计用于处理网格状数据(如图像、音频、视频)的深度学习模型。它通过卷积层、池化层和全连接层的组合,能够自动提取数据的层次化特征,在计算机视觉领域取得了革命性突破。其核心优势在于局部连接权重共享,大幅减少参数数量并提升平移不变性。

输入图像
卷积层
池化层
卷积层
池化层
全连接层
分类结果

2.1 CNN的核心思想

  • 局部连接:每个神经元仅连接输入的局部区域(如图像的一个小窗口),而非全部像素。
  • 参数共享:同一卷积核的参数在整个输入中共享,大幅减少参数量。
  • 层级特征提取:浅层学习边缘、纹理等低级特征,深层学习形状、物体部件等高级特征。

2.2 典型结构

CNN的结构通常包含以下模块:

(1) 输入层
  • 图像输入:形状为 (高度, 宽度, 通道数),如RGB图像为 (224, 224, 3)
  • 预处理:归一化(如像素值缩放到 [0,1])和标准化(均值为0,方差为1)。
(2) 卷积层(Convolutional Layer)
  • 功能:通过滑动窗口(卷积核)提取局部特征。
  • 关键参数
    • 核大小:如 3x35x5,决定感受野大小。
    • 步长(Stride):窗口滑动的步幅,步长为2时特征图尺寸减半。
    • 填充(Padding):在输入边缘填充0,保持特征图尺寸。
  • 输出形状
    输出尺寸 = 输入尺寸 − 核大小 + 2 × 填充 步长 + 1 \text{输出尺寸} = \frac{\text{输入尺寸} - \text{核大小} + 2 \times \text{填充}}{\text{步长}} + 1 输出尺寸=步长输入尺寸核大小+2×填充+1
(3) 激活函数
  • ReLU:最常用激活函数,公式为 ( f(x) = \max(0, x) ),解决梯度消失问题。
  • Swish/GELU:更平滑的激活函数,提升深层网络性能。
(4) 池化层(Pooling Layer)
  • 功能:降低特征图尺寸,减少计算量,增强平移不变性。
  • 类型
    • 最大池化(Max Pooling):取窗口内最大值。
    • 平均池化(Average Pooling):取窗口内平均值。
  • 示例MaxPool2D(pool_size=(2,2)) 将特征图尺寸减半。
(5) 全连接层(Fully Connected Layer)
  • 功能:将提取的特征映射到最终分类结果。
  • 结构:每个神经元与前一层所有神经元相连。
  • 输出层
    • 多分类任务:使用 Softmax 激活函数,输出类别概率。
    • 回归任务:使用线性激活函数。
(6) 正则化技术
  • 批量归一化(BatchNorm):标准化特征分布,加速训练。
  • Dropout:随机丢弃神经元,防止过拟合。

2.3 CNN的优势

特性传统神经网络CNN
局部连接全连接,参数量爆炸局部连接,参数大幅减少
平移不变性需手动设计特征自动学习平移不变特征
层级特征依赖手工特征端到端学习层次化特征
计算效率高(全连接层参数量大)低(卷积层参数共享)

2.4 经典CNN模型

模型特点应用场景
LeNet-5首个成功的CNN(1998),用于手写数字识别MNIST、OCR
AlexNet现代CNN的奠基模型(2012),引入ReLU和DropoutImageNet分类
VGGNet加深网络(16-19层),验证深度重要性图像分类、特征提取
ResNet引入残差连接,解决梯度消失问题图像分类、目标检测
YOLO实时目标检测模型,融合CNN与回归自动驾驶、安防监控

2.5 工作流程示例(MNIST识别)

在这里插入图片描述

  1. 卷积层:提取边缘、曲线等低级特征。
  2. 池化层:降低特征图尺寸,保留关键信息。
  3. 全连接层:整合全局特征,输出数字概率。

代码示例:

from keras.layers import Conv2D, MaxPooling2D, Flatten# CIFAR-10图像分类
cnn_model = Sequential([Conv2D(32, (3,3), activation='relu', input_shape=(32,32,3)),MaxPooling2D((2,2)),Conv2D(64, (3,3), activation='relu'),MaxPooling2D((2,2)),Flatten(),Dense(128, activation='relu'),Dense(10, activation='softmax')
])

6. 应用领域

  • 图像分类:识别物体类别(如ImageNet挑战赛)。
  • 目标检测:定位并分类图像中的多个物体(如COCO数据集)。
  • 语义分割:像素级分类(如医学影像分析)。
  • 视频分析:动作识别、异常检测(如UCF101数据集)。
  • 自然语言处理:文本分类、情感分析(如TextCNN)。

总结: CNN通过局部连接、参数共享和层级特征提取,成为处理图像和视频数据的首选模型。其成功推动了计算机视觉的革命,并为后续模型(如Transformer)奠定了基础。理解CNN的结构和原理是深入学习深度学习的关键一步。

三、循环神经网络(RNN)

RNN(循环神经网络,Recurrent Neural Network)是一种专门处理序列数据(如文本、语音、时间序列等)的神经网络架构。与传统前馈神经网络(如CNN)不同,RNN通过循环连接(Recurrent Connection)引入了时间维度上的记忆能力,允许信息在网络中传递和保留。

其通过隐藏状态传递机制捕捉长期依赖。经典公式如下:
h t = tanh ⁡ ( W x h x t + W h h h t − 1 + b h ) h_t = \tanh(W_{xh}x_t + W_{hh}h_{t-1} + b_h) ht=tanh(Wxhxt+Whhht1+bh)
y t = softmax ( W h y h t + b y ) y_t = \text{softmax}(W_{hy}h_t + b_y) yt=softmax(Whyht+by)

3.1 核心特点

  1. 循环结构
    RNN的隐藏层不仅接收当前输入,还接收上一时刻的隐藏状态,形成“循环”信息流。公式表示为:
    h t = σ ( W x h x t + W h h h t − 1 + b h ) h_t = \sigma(W_{xh}x_t + W_{hh}h_{t-1} + b_h) ht=σ(Wxhxt+Whhht1+bh)
    其中, h t h_t ht是当前时刻的隐藏状态, x t x_t xt是输入, σ \sigma σ是激活函数(如tanh)。

  2. 时间依赖性
    能够捕捉序列中的长期依赖关系(如句子中的上下文关联),但传统RNN存在梯度消失/爆炸问题,导致难以学习长期依赖。

  3. 变体改进

    • LSTM(长短期记忆网络):通过门控机制(输入门、遗忘门、输出门)解决长期依赖问题。
    • GRU(门控循环单元):简化版LSTM,参数更少,训练效率更高。

核心挑战:梯度消失/爆炸

  • 解决方案
    • 使用ReLU激活函数
      -引入门控机制(LSTM、GRU)
      -梯度裁剪

LSTM结构解析

  • 遗忘门:决定保留多少历史信息
  • 输入门:控制新信息的流入
  • 输出门:调节隐藏状态的输出

3.2 与CNN的对比

特性CNNRNN
结构前馈,空间局部连接循环,时间序列连接
适用数据图像、网格数据文本、语音、时间序列
记忆能力有(短期依赖为主)
典型应用图像分类、目标检测语言模型、语音识别

3.3 应用领域

  1. 自然语言处理(NLP)
    • 语言模型(如GPT系列)
    • 机器翻译、情感分析、文本生成
  2. 时间序列预测
    • 股票走势预测、天气预测
  3. 语音处理
    • 语音识别、说话人识别
  4. 视频分析
    • 动作识别、视频描述生成

优缺点

  • 优点
    • 擅长处理序列数据中的时间依赖关系。
    • 结构灵活,可根据任务调整层数和单元类型(LSTM/GRU)。
  • 缺点
    • 传统RNN存在梯度消失问题,难以捕捉长期依赖。
    • 并行计算能力差,训练速度较慢(LSTM/GRU有所改善)。

代码示例(文本生成):

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Densemodel = Sequential([LSTM(128, input_shape=(seq_length, vocab_size)),Dense(vocab_size, activation='softmax')
])
model.compile(optimizer='adam', loss='categorical_crossentropy')

总结:RNN是处理序列数据的核心模型,其循环结构赋予了对时间信息的建模能力。尽管存在一些局限性,但其变体(如LSTM、GRU)在实际任务中表现出色,是自然语言处理和时间序列分析的基石。

四、三者对比

4. 1 特征提取方式对比

# 可视化中间层输出
from keras.models import Model# CNN特征可视化
conv_layer = Model(inputs=cnn_model.input, outputs=cnn_model.layers[2].output)
feature_maps = conv_layer.predict(img_array)# RNN隐藏状态可视化
lstm_layer = Model(inputs=rnn_model.input,outputs=rnn_model.layers[2].output)
hidden_states = lstm_layer.predict(text_sequence)

4.2 各自特点对比

特征传统神经网络(DNN)卷积神经网络(CNN)循环神经网络(RNN)
连接方式全连接局部连接+参数共享时序递归连接
核心优势简单快速空间特征提取时序依赖捕捉
参数数量O(n²)级增长O(k²×c)级增长(k为卷积核尺寸)O(n×h)级增长(h为隐藏单元)
特征提取全局特征空间局部特征时序特征
典型应用简单分类/回归图像处理自然语言处理
并行计算能力极高
记忆能力有时序记忆
处理序列能力需展开为向量需转换为图像格式原生支持
训练难度容易过拟合中等梯度消失/爆炸问题严重

4.3 计算效率提升方案

网络类型优化策略效果提升幅度
DNN参数剪枝+量化50-70%
CNN深度可分离卷积3-5倍加速
RNN使用GRU代替LSTM30%提速
混合架构层间融合+知识蒸馏2-3倍加速

4.4 内存优化代码示例

# 混合精度训练
from keras.mixed_precision import set_global_policy
set_global_policy('mixed_float16')# 梯度累积
optimizer = Adam(learning_rate=1e-4, gradient_accumulation_steps=4)# 内存映射数据集
dataset = tf.data.Dataset.from_generator(data_gen, output_types=(tf.float32, tf.int32))

4.5 参数共享机制对比

  • DNN:无共享机制
  • CNN:卷积核滑动共享
  • RNN:时间步参数共享
# 参数数量计算示例
def print_params(model):trainable_params = np.sum([K.count_params(w) for w in model.trainable_weights])print(f"可训练参数数量: {trainable_params:,}")print_params(dnn_model)  # 约 669,706 参数
print_params(cnn_model)  # 约 121,866 参数 
print_params(rnn_model)  # 约 1,313,793 参数

五、组合应用:CNN+RNN的协同效应

  1. 图像描述生成
    • CNN提取图像特征 → RNN生成自然语言描述
  2. 视频分类
    • CNN处理空间信息 → RNN分析时间序列动态
  3. 对话系统
    • CNN编码视觉输入 → RNN生成回复

示例架构

# CNN特征提取
image_input = Input(shape=(224,224,3))
cnn_features = VGG16(weights='imagenet', include_top=False)(image_input)
cnn_features = GlobalAveragePooling2D()(cnn_features)# RNN文本生成
text_input = Input(shape=(max_length,))
embedding = Embedding(vocab_size, 128)(text_input)
lstm_output = LSTM(256)(embedding)# 合并输出
concat = Concatenate()([cnn_features, lstm_output])
output = Dense(1000, activation='softmax')(concat)
model = Model(inputs=[image_input, text_input], outputs=output)

六、写在最后(小结一下)

6.1 行业应用风向标

  • 传统DNN:适合小规模、结构化数据,已逐步被CNN/RNN替代
  • CNN:计算机视觉领域的绝对主力,向轻量化(MobileNet)和3D扩展
  • RNN:LSTM/GRU仍是序列建模的主流,但Transformer架构在长距离依赖上表现更优

6.2 行业应用风向标

45% 35% 15% 5% 各领域主流网络架构占比 计算机视觉(CNN) 自然语言处理(Transformer) 时序预测(RNN) 其他(DNN)

相信读完这篇文章,你对与三大网络架构有了一个大体的了解,掌握三大神经网络的本质差异,犹如获得打开深度学习世界的三把钥匙。无论是处理空间信息、时序序列还是简单结构化数据,选择合适的网络架构往往能事半功倍。如果有任何问题欢迎留言,也期待各位的批评指正!

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

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

相关文章

1371. 货币系统-dp背包问题

给定 V种货币&#xff08;单位&#xff1a;元&#xff09;&#xff0c;每种货币使用的次数不限。 不同种类的货币&#xff0c;面值可能是相同的。 现在&#xff0c;要你用这 V种货币凑出 N 元钱&#xff0c;请问共有多少种不同的凑法。 输入格式 第一行包含两个整数 V 和 N…

python和Java的区别

Python和Java是两种流行的编程语言&#xff0c;它们之间有一些重要的区别&#xff1a; 语法&#xff1a;Python是一种动态类型的脚本语言&#xff0c;语法简洁明了&#xff0c;通常使用缩进来表示代码块。Java是一种静态类型的编程语言&#xff0c;语法更为严格&#xff0c;需要…

正则化是什么?

正则化&#xff08;Regularization&#xff09;是机器学习中用于防止模型过拟合&#xff08;Overfitting&#xff09;的一种技术&#xff0c;通过在模型训练过程中引入额外的约束或惩罚项&#xff0c;降低模型的复杂度&#xff0c;从而提高其泛化能力&#xff08;即在未见数据上…

计算机网络——传输层(TCP)

传输层 在计算机网络中&#xff0c;传输层是将数据向上向下传输的一个重要的层面&#xff0c;其中传输层中有两个协议&#xff0c;TCP&#xff0c;UDP 这两个协议。 TCP 话不多说&#xff0c;我们直接来看协议报头。 源/目的端口号&#xff1a;表示数据从哪个进程来&#xff0…

界面控件DevExpress WinForms v25.1 - 人工智能(AI)方面全新升级

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…

WinFrom真入门(1)——Windows窗体应用概念

窗体的基本结构 用Winform开发的桌面程序&#xff0c;是在Windows操作系统上运行的&#xff0c;这个不用多说。窗体&#xff08;Form&#xff09;的作用‌&#xff1a;窗体是用户交互的容器&#xff0c;承载按钮、文本框等控件&#xff0c;构成应用程序的界面‌。 在Windows操…

scss预处理器对比css的优点以及基本的使用

本文主要在vue中演示&#xff0c;scss的基本使用。安装命令 npm install sass sass-loader --save-dev 变量 SCSS 支持变量&#xff0c;可将常用的值&#xff08;如颜色、字体大小、间距等&#xff09;定义为变量&#xff0c;方便重复使用和统一修改。 <template><…

Postman 如何高效地转换时间戳?

在 Postman 中&#xff0c;时间戳的处理对于 API 请求和响应的调试和测试至关重要&#xff0c;正确处理时间戳可以确保数据的准确性和一致性&#xff0c;而 Moment 库和原生 JS 是两种常见的处理方式。此外&#xff0c;我们还将介绍 Apifox&#xff0c;它提供了更直观、更简便的…

iptables学习记录

一.四表 filter 表&#xff1a; 主要用于控制数据包的过滤&#xff0c;决定数据包是否允许进出及转发 。比如设置规则允许特定 IP 访问服务器的 SSH 端口&#xff08;22 端口&#xff09;&#xff0c;或禁止某些 IP 访问网站端口&#xff08;80 或 443 端口 &#xff09;。可作…

前端自动创建react项目脚手架

步骤&#xff1a;在终端窗口运行如下命令&#xff1a; npm create vitelatest 也可以指定 vite包 版本&#xff0c; 例如&#xff1a; npm create vite4.1.0 npm执行npm install 很慢 还出现证书问题 执行命令行:npm install -g create-vite npm error code UNABLE_TO_GET_IS…

[从零开始学习JAVA ] 了解线程池

前言&#xff1a; 在Java编程中&#xff0c;线程池是一个强大的工具&#xff0c;它能够管理和复用线程&#xff0c;提供高效的并发处理能力。通过线程池&#xff0c;我们可以有效地控制并发线程的数量&#xff0c;并降低线程创建和销毁的开销。本文将引导你深入了解Java中的线程…

Nginx — Nginx处理Web请求机制解析

一、Nginx请求默认页面资源 1、配置文件详解 修改端口号为8080并重启服务&#xff1a; 二、Nginx进程模型 1、nginx常用命令解析 master进程&#xff1a;主进程&#xff08;只有一个&#xff09; worker进程&#xff1a;工作进程&#xff08;可以有多个&#xff0c;默认只有一…

【C++标准IO库】字符串流

目录 一、字符串流概述 1.1 流的概念回顾 1.2 字符串流的定义和作用 二、istringstream 的使用 2.1 基本用法 2.2 常见应用场景 三、ostringstream 的使用 3.1 基本用法 3.2 常见应用场景 四、stringstream 的使用 4.1 基本用法 4.2 常见应用场景 五、字符串流的错…

C语言pthread库的线程休眠和唤醒的案例

一、代码如下 #include<stdio.h> #include<pthread.h> // 定义独占锁 pthread_mutex_t mutex; // 定义条件信号对象 pthread_cond_t condition; // 初始化函数 void init(){ int code pthread_mutex_init(&mutex, NULL); printf("共享锁初…

人脸照片比对 API 接口如何对接?

随着数字化程度加深&#xff0c;身份验证的重要性也日益凸显&#xff0c;它成为保障个人信息安全、维护交易秩序的关键环节。人脸照片比对 API 接口作为连接人脸比对技术与各类应用的桥梁&#xff0c;正发挥着越来越重要的作用&#xff0c;成为众多企业和开发者实现高效、安全身…

java学习笔记9——常用类

字符串相关的类&#xff1a; String 指向同一个地址可才相等 注意这个地方&#xff0c;两个person对象的name实际上指向的是同一个字符串常量池&#xff08;Tom&#xff09; String常用方法 总结&#xff1a; 1.string类的理解(以JDK8为例说明) 1.1 类的声明 public final cl…

Day 09

文章目录 指针数组指针和函数技术名词解释技术细节课堂笔记 指针数组 #include<stdio.h> int main() {int a[3] {0,1,2};//指针数组&#xff0c;它是数组&#xff0c;每个元素都是指针int *p[3];p[0] &a[0];p[0] a;p[1] &a[1];p[1] a1;p[2] &a[2];p[…

Nginx — Nginx安装证书模块(配置HTTPS和TCPS)

一、安装和编译证书模块 [rootmaster nginx]# wget https://nginx.org/download/nginx-1.25.3.tar.gz [rootmaster nginx]# tar -zxvf nginx-1.25.3.tar.gz [rootmaster nginx]# cd nginx-1.25.3 [rootmaster nginx]# ./configure --prefix/usr/local/nginx --with-http_stub_…

计算机网络 用deepseek帮助整理的复习资料(一)

### 计算机网络基础知识整理 --- #### **一、网络类型** 1. **局域网 (LAN)** - **定义**&#xff1a;覆盖小范围&#xff08;如家庭、教室、公司&#xff09;。 - **特点**&#xff1a;高带宽、低延迟&#xff0c;设备通过交换机互联。 - **示例**&#xff1…

Linux SCP传输文件免密配置

文章目录 Linux SCP传输文件免密配置生成SSH密钥对将公钥复制到远程服务器测试SSH连接使用SCP免密传输文件可选配置带密码的秘钥连接处理使用 ssh-agent进行缓存管理&#xff08;该方式只能确保同一个回话中&#xff0c;多次传输只输一次密码&#xff09;使用 keychain&#xf…