文章目录
- 🌺深度学习面试八股汇总🌺
- 前向传播与反向传播
- 前向传播(Forward Propagation)
- 反向传播(Back Propagation)
- 总结
- 神经网络
- 简介
- 结构
- 类型
- 前馈神经网络(Feedforward Neural Network, FFNN)
- 特点
- 常见变体
- 反馈神经网络(Feedback Neural Network, RNN)
- 特点
- 常见变体
- 总结
- 常见深度学习算法分类
- 前馈神经网络(Feedforward Neural Networks, FFNN)
- 1. 多层感知机(MLP)
- 2. 卷积神经网络(CNN)
- 3. AlexNet
- 4. VGG 网络
- 5. Inception 网络(GoogLeNet)
- 6. ResNet(残差网络)
- 7. 生成对抗网络(GAN)
- 8. U-Net
- 9. 自编码器(Autoencoder)
- 10. Transformer 模型
- 反馈神经网络(Recurrent Neural Networks, RNN)
- 1. 基本循环神经网络(RNN)
- 2. 长短时记忆网络(LSTM)
- 3. 门控循环单元(GRU)
- 4. 深度 Q 网络(DQN)
- 其他算法
- 1. 图神经网络(GNN)
- 2. 自监督学习(Self-supervised Learning)
- 3. 对比学习(Contrastive Learning)
- 4. 迁移学习(Transfer Learning)
- 算法详细介绍
- 1. 神经网络(Neural Networks, NN)
- 介绍
- 应用例子
- 2. 全连接层(多层感知机,MLP)
- 介绍
- 应用例子
- 3. 卷积神经网络(Convolutional Neural Network, CNN)
- 介绍
- 应用例子
- 4. AlexNet
- 介绍
- 应用例子
- 5. VGG 网络(Visual Geometry Group, VGGNet)
- 介绍
- 应用例子
- 6. Inception 网络(GoogLeNet)
- 介绍
- 应用例子
- 7. ResNet(Residual Network)
- 介绍
- 应用例子
- 8. 循环神经网络(Recurrent Neural Network, RNN)
- 介绍
- 应用例子
- 9. 长短时记忆网络(Long Short-Term Memory, LSTM)
- 介绍
- 应用例子
- 10. 门控循环单元(Gated Recurrent Unit, GRU)
- 介绍
- 应用例子
- 11. 生成对抗网络(Generative Adversarial Network, GAN)
- 介绍
- 应用例子
- 12. 深度Q网络(Deep Q-Network, DQN)
- 介绍
- 应用例子
- 13. U-Net
- 介绍
- 应用例子
- 14. 迁移学习(Transfer Learning)
- 介绍
- 应用例子
- 15. 自编码器(Autoencoder)
- 介绍
- 应用例子
- 16. 图神经网络(Graph Neural Network, GNN)
- 介绍
- 应用例子
- 17. 自监督学习(Self-supervised Learning)
- 介绍
- 应用例子
- 18. 对比学习(Contrastive Learning)
- 介绍
- 应用例子
- 19. Transformer 模型
- 介绍
- 应用例子
🌺深度学习面试八股汇总🌺
前向传播与反向传播
前向传播(Forward Propagation)
前向传播是将输入数据从输入层依次通过神经网络的各个隐藏层,最后输出预测结果的过程。该过程用于计算网络的预测结果,以及在训练过程中计算损失函数值。它的基本步骤如下:
6. 计算损失
前向传播的作用:
- 计算输出:将输入数据通过网络生成预测结果。
- 计算损失:在训练过程中,通过输出结果与真实标签计算损失函数值(如均方误差、交叉熵等),衡量模型的预测误差。
反向传播(Back Propagation)
反向传播是通过计算损失函数相对于每层参数(权重和偏置)的梯度,从输出层向输入层更新参数,从而最小化损失函数的过程。使用梯度下降法(还有动量梯度下降法、Adagrad、RMSprop、Adam)更新参数具体步骤如下:
反向传播的作用:
- 计算梯度:计算损失函数相对于每层参数(权重和偏置)的梯度。
- 误差传播:将输出层的误差逐层传播到隐藏层和输入层,从而计算出每个参数的梯度。
- 参数优化:计算每个参数对损失的影响,并通过梯度下降法更新参数,使模型的损失逐步减小。
总结
- 前向传播:用于计算网络的预测结果和损失函数值。
- 反向传播:用于计算损失函数相对于每个参数的梯度,误差传播,并更新参数以最小化损失。
神经网络
简介
人工神经元、节点:神经网络的基本单元,接收输入,进行计算,并生成输出。每个神经元通过权重连接到其他神经元。
神经网络(Neural Networks):由多个相互连接的神经元组成的计算模型,模拟生物神经网络的工作原理。神经网络能够自动从数据中学习复杂的模式和特征,是机器学习和深度学习的基础。
结构
- 输入层(Input Layer):接收外部数据输入,每个神经元代表一个特征。
- 隐藏层(Hidden Layers):包含一个或多个隐藏层,负责提取特征和模式。每个隐藏层由若干神经元组成。
隐藏层的神经元之间复杂的连接模式,是网络学习复杂特征的主要部分。
深度网络(Deep Networks):多个隐藏层的网络被称为深度神经网络(DNN),每一层提取不同层次的特征,逐步提取数据中的更高阶、更抽象的特征。。
- 输出层(Output Layer):生成最终的预测或分类结果。根据任务不同,输出层的神经元数量和激活函数也不同。
分类任务:
- 二分类:1 个神经元,使用 Sigmoid 激活函数,输出 0 到 1 的概率。
- 多分类:类别数个神经元,使用 Softmax 激活函数,输出类别概率分布。
回归任务:
- 1 个神经元,通常不使用激活函数,输出一个连续数值。
类型
- 前馈神经网络(Feedforward Neural Networks, FFNN):信息单向流动,没有循环和反馈,是最基础的网络结构。
- 反馈神经网络(Feedback Neural Networks):信息可以在网络中循环流动,具有记忆能力,能够处理时间序列数据。
前馈神经网络(Feedforward Neural Network, FFNN)
前馈神经网络是最简单和基础的神经网络结构,其中信息从输入层流向隐藏层,再流向输出层,没有环路或反馈结构。
特点
- 信息单向流动:数据从输入层经由隐藏层传递到输出层,不存在信息的回流或反馈。
- 无记忆能力:当前时刻的输出仅依赖当前的输入和网络参数,不记忆过去的信息。
- 应用场景:适用于结构化数据的分类、回归任务,如手写数字识别、图像分类等。
常见变体
- 多层感知机(MLP):最常见的前馈神经网络形式,包括一个或多个隐藏层。
- 卷积神经网络(CNN):专门用于处理图像数据的前馈神经网络,利用卷积层提取空间特征。
反馈神经网络(Feedback Neural Network, RNN)
反馈神经网络也称为递归神经网络(Recurrent Neural Network, RNN)。反馈神经网络是一种具有循环结构的神经网络模型,可以将信息在网络中反复传递,因此具有记忆能力,适用于处理时间序列数据。
特点
- 循环结构:隐藏层的神经元可以接收自身或者前一时间步的输出,形成信息反馈和环路。
- 记忆能力:能够记住之前的信息,从而在处理序列数据(如文本、时间序列预测)时表现出色。
- 应用场景:适用于时间依赖性任务,如文本生成、机器翻译、语音识别等。
常见变体
- 基本 RNN:最简单的反馈神经网络,但存在梯度消失和梯度爆炸问题。
- 长短时记忆网络(LSTM):引入记忆单元和门控机制,能够有效处理长期依赖问题。
- 门控循环单元(GRU):LSTM 的简化变体,性能与 LSTM 类似,但计算更高效。
总结
- 神经网络结构:神经网络由输入层、隐藏层和输出层组成,能够模拟复杂的函数关系。
- 前馈神经网络:信息单向流动,无记忆能力,适用于静态任务。
- 反馈神经网络:信息可以循环流动,具有记忆能力,适用于时间序列和动态任务。
常见深度学习算法分类
前馈神经网络(Feedforward Neural Networks, FFNN)
1. 多层感知机(MLP)
- 全连接层(Fully Connected Layer) 或 密集层(Dense Layer)神经网络结构,适用于结构化数据的分类和回归任务。
2. 卷积神经网络(CNN)
- 用于处理具有空间结构的输入数据(如图像),应用于图像分类、目标检测等任务。
3. AlexNet
- 卷积神经网络的早期经典模型,用于大规模图像分类。
4. VGG 网络
- 深层卷积神经网络,使用小卷积核来提升图像分类精度。
5. Inception 网络(GoogLeNet)
- 引入 Inception 模块,通过多尺度特征提取减少参数量,提高模型性能。
6. ResNet(残差网络)
- 引入残差连接,能够训练非常深的网络,缓解梯度消失问题。
7. 生成对抗网络(GAN)
- 包括生成器和判别器两部分,尽管用于生成任务,但其生成器和判别器均为前馈网络。
8. U-Net
- 用于图像分割任务的卷积神经网络,采用对称的编码器-解码器结构。
9. 自编码器(Autoencoder)
- 由编码器和解码器组成的前馈网络,用于数据降维、去噪和特征学习。
10. Transformer 模型
- 基于自注意力机制的前馈结构,用于自然语言处理、机器翻译等任务。
反馈神经网络(Recurrent Neural Networks, RNN)
1. 基本循环神经网络(RNN)
- 具有循环连接的神经网络,适用于处理时间序列数据,但存在梯度消失问题。
2. 长短时记忆网络(LSTM)
- 解决 RNN 的长期依赖问题,通过门控机制控制信息流动。
3. 门控循环单元(GRU)
- LSTM 的简化版本,计算效率更高,也适用于时间序列数据。
4. 深度 Q 网络(DQN)
- 虽然主要用于深度强化学习,但具有某种循环依赖的特性,可以视为一种特殊的反馈网络结构。
其他算法
以下几种算法不属于前馈神经网络或反馈神经网络的范畴,具有不同的结构和特点:
1. 图神经网络(GNN)
- 处理图结构数据,节点之间的信息传递不属于单向的前馈网络或时间循环的反馈网络。
2. 自监督学习(Self-supervised Learning)
- 一种训练策略,可以用于前馈网络或反馈网络中,并不限定特定的网络结构。
3. 对比学习(Contrastive Learning)
- 也是一种训练方法,旨在学习更好的特征表示,同样可以用于前馈网络或反馈网络。
4. 迁移学习(Transfer Learning)
- 一种学习策略,将预训练模型应用于新任务上,不属于特定的网络结构类别。
总结起来,前馈神经网络和反馈神经网络各有特点,前者主要用于处理静态数据,后者则用于处理动态序列数据。在深度学习中,根据任务的不同需求选择合适的网络结构至关重要。
算法详细介绍
1. 神经网络(Neural Networks, NN)
介绍
神经网络是由模拟生物神经网络的数学模型构建的,它由多个相互连接的神经元组成。每个神经元接收输入,通过权重和偏置进行加权和求和,再通过激活函数输出结果。早期的神经网络主要包括单层感知机(Perceptron)【无隐藏层】和多层感知机(MLP)【有隐藏层】,适用于线性和简单的非线性任务。
应用例子
- 例子1:逻辑分类(Logical Classification)
- 使用单层感知机进行简单的二分类任务,如 AND 和 OR 操作。
- 例子2:线性回归(Linear Regression)
- 使用简单的神经网络模型进行线性回归预测,如房价预测。
- 例子3:图像识别(Image Recognition)
- 早期神经网络用于简单的图像识别任务,如识别基本的几何形状。
2. 全连接层(多层感知机,MLP)
介绍
多层感知机(MLP)是一种前馈神经网络,由输入层、一个或多个隐藏层和输出层组成。各层之间的神经元是全连接的,每个神经元接收前一层神经元的线性组合输入,并通过激活函数(如 ReLU、Sigmoid、Tanh 等)生成非线性的输出。MLP 是最基础的深度学习模型,适用于处理结构化数据。
应用例子
- 例子1:手写数字识别(Handwritten Digit Recognition)
- 使用 MLP 对 MNIST 数据集进行分类,将手写数字图像(28x28 像素)分为 0-9 十个类别。
- 例子2:信用评分(Credit Scoring)
- 使用 MLP 对用户的历史数据进行建模,预测贷款申请是否会被批准。
- 例子3:广告点击率预测(Click-Through Rate Prediction)
- 基于用户行为数据和广告特征,使用 MLP 模型预测用户点击广告的概率。
3. 卷积神经网络(Convolutional Neural Network, CNN)
介绍
卷积神经网络(CNN)是一种专门用于处理具有空间结构(如图像、视频)的神经网络。它通过卷积层提取局部特征,使用池化层进行特征降维,并通过全连接层进行分类或回归。CNN 在图像处理任务中表现出色,能够捕捉图像的空间和局部特征。
应用例子
- 例子1:图像分类(Image Classification)
- 使用 CNN 对 CIFAR-10 数据集进行分类,将图像分为 10 类,如飞机、汽车、鸟、猫等。
- 例子2:目标检测(Object Detection)
- 使用 YOLO 或 Faster R-CNN 检测图像中的目标,如自动驾驶中识别车辆、行人、交通标志等。
- 例子3:图像分割(Image Segmentation)
- 使用 U-Net 或 Mask R-CNN 对医学图像进行分割,如在 MRI 图像中识别肿瘤区域。
4. AlexNet
介绍
AlexNet 是一种基于卷积神经网络的深度学习模型,由 Alex Krizhevsky 等人在 2012 年提出。它通过引入 ReLU 激活函数、Dropout 和数据增强等技术,大幅提升了图像分类的精度,并在 ImageNet 竞赛中取得了显著成绩。AlexNet 开启了深度学习在计算机视觉领域的广泛应用。
应用例子
- 例子1:图像分类(Image Classification)
- 在 ImageNet 数据集上训练 AlexNet 进行大规模图像分类任务,将图像分为 1000 类。
- 例子2:场景识别(Scene Recognition)
- 使用 AlexNet 识别图像中的场景类型,如城市、森林、沙漠等。
- 例子3:对象识别(Object Recognition)
- 在各种小型数据集上微调 AlexNet,用于识别特定的对象类别,如交通标志、食品等。
5. VGG 网络(Visual Geometry Group, VGGNet)
介绍
VGG 网络由牛津大学的 Visual Geometry Group 于 2014 年提出。它通过使用小卷积核(3x3)和更深的网络结构(如 VGG-16 和 VGG-19)来提升模型性能。VGG 网络在 ImageNet 数据集上的表现优异,成为图像分类和特征提取的经典模型。
使用小卷积核:
- 逐层累积感受野,实现对复杂特征的逐步提取。
- 减少参数数量,提高训练效率和降低过拟合风险。
应用例子
- 例子1:图像分类(Image Classification)
- 使用 VGG-16 或 VGG-19 对 ImageNet 数据集进行分类任务。
- 例子2:图像特征提取(Feature Extraction)
- 使用预训练的 VGG 模型提取图像特征,用于其他计算机视觉任务,如图像检索和风格迁移。
- 例子3:医学图像分析(Medical Image Analysis)
- 将 VGG 网络应用于医学图像分类和分割,如肺炎检测、病灶分割等。
6. Inception 网络(GoogLeNet)
介绍
Inception 网络(又称 GoogLeNet)由 Google 在 2014 年提出,主要贡献是引入了 Inception 模块。通过在同一层中使用不同大小的卷积核来提取多尺度特征,同时减少参数数量,从而提高模型的效率和精度。后续的 Inception V2、V3 和 V4 版本继续改进了网络结构。
应用例子
- 例子1:图像分类(Image Classification)
- 使用 Inception V3 在 ImageNet 数据集上进行大规模图像分类任务。
- 例子2:场景理解(Scene Understanding)
- 使用 Inception 模型提取场景中的多尺度特征,用于自动驾驶中的环境感知。
- 例子3:视频分析(Video Analysis)
- 在视频数据中使用 Inception 网络提取帧特征,用于视频分类和动作识别。
7. ResNet(Residual Network)
介绍
ResNet(残差网络)由微软研究院于 2015 年提出,采用了残差学习框架,解决了深度网络随着层数增加而导致的梯度消失和网络退化问题。ResNet 可以轻松地构建超过 100 层的深度网络,并在 ImageNet 数据集上取得了前所未有的成绩。典型的 ResNet 变体包括 ResNet-18、ResNet-34、ResNet-50 和 ResNet-101 等。
- 残差学习框架 的核心是通过学习输入与输出的差值(残差),使每一层的学习任务变得更加轻松。
- 快捷连接 使得输入可以直接跳过卷积层传递到输出,从而有效解决了深层网络中的梯度消失和网络退化问题。
应用例子
- 例子1:图像分类(Image Classification)
- 使用 ResNet-50 或 ResNet-101 对 ImageNet 数据集进行分类任务。
- 例子2:目标检测(Object Detection)
- 使用基于 ResNet 的 Faster R-CNN 或 Mask R-CNN 进行目标检测和实例分割任务。
- 例子3:图像生成(Image Generation)
- 在生成模型中使用 ResNet 结构进行高分辨率图像生成和图像超分辨率重建。
8. 循环神经网络(Recurrent Neural Network, RNN)
介绍
循环神经网络(RNN)是一种适用于序列数据的神经网络模型。与前馈神经网络不同,RNN 的每个隐藏单元不仅接收当前输入,还接收上一个时间步的隐藏状态,从而能够捕捉时间序列中的依赖关系。RNN 常用于处理文本、语音和时间序列预测等任务。
应用例子
- 例子1:文本生成(Text Generation)
- 通过 RNN 模型学习莎士比亚的作品风格,然后生成新的类似莎士比亚风格的文本。
- 例子2:时间序列预测(Time Series Prediction)
- 用 RNN 预测股票价格的变化,基于历史价格数据预测未来走势。
- 例子3:语音识别(Speech Recognition)
- 使用 RNN 模型将语音信号转录为文本。
9. 长短时记忆网络(Long Short-Term Memory, LSTM)
介绍
长短时记忆网络(LSTM)是 RNN 的一种改进变体,专门解决标准 RNN 中的长期依赖问题。LSTM 使用记忆单元和门控机制(输入门、遗忘门、输出门)来控制信息的流动,从而有效地保留和忘记信息。LSTM 被广泛应用于处理长序列任务,如语言建模和机器翻译。
应用例子
- 例子1:语言模型(Language Modeling)
- 使用 LSTM 构建语言模型,预测给定序列后续的单词,如训练一个模型来自动补全句子。
- 例子2:机器翻译(Machine Translation)
- 使用 LSTM 编码器-解码器模型(Encoder-Decoder Model)进行英法翻译,即将英文句子翻译为法文句子。
- 例子3:情感分析(Sentiment Analysis)
- 基于 LSTM 的模型分析电影评论的情感倾向(正面或负面)。
10. 门控循环单元(Gated Recurrent Unit, GRU)
介绍
门控循环单元(GRU)是 LSTM 的一种简化变体,它将 LSTM 中的遗忘门和输入门合并为一个单独的更新门,从而减少了模型的复杂性。引入了两种门控机制:重置门(reset gate) 和 更新门(update gate)GRU 在捕捉时间序列依赖关系的同时,计算效率更高,适用于类似 LSTM 的任务,如时间序列预测和序列建模。
应用例子
- 例子1:文本分类(Text Classification)
- 使用 GRU 对长文本进行分类,如情感分类、新闻类别分类等。
- 例子2:语音合成(Speech Synthesis)
- 使用 GRU 进行语音合成,基于文本输入生成相应的语音信号。
- 例子3:时间序列预测(Time Series Forecasting)
- 使用 GRU 模型预测未来的销售数据,基于过去的销量数据进行预测。
11. 生成对抗网络(Generative Adversarial Network, GAN)
介绍
生成对抗网络(GAN)由一个生成器(Generator)和一个判别器(Discriminator)组成,生成器试图生成逼真的数据,而判别器则试图区分真实数据和生成数据。两者在训练过程中相互博弈,最终生成器能够生成高质量的、与真实数据相似的样本。GAN 在图像生成、图像修复和图像风格转换等领域取得了显著成果。
应用例子
- 例子1:图像生成(Image Generation)
- 使用 DCGAN 生成逼真的人脸图像,甚至可以生成不存在的人物肖像。
- 例子2:图像修复(Image Inpainting)
- 使用 GAN 进行图像修复,将损坏或缺失的部分恢复成合理的图像内容。
- 例子3:图像风格转换(Image Style Transfer)
- 使用 CycleGAN 将马的图像转换为斑马的图像,或将白天的景象转换为夜晚的景象。
12. 深度Q网络(Deep Q-Network, DQN)
介绍
深度 Q 网络(DQN)是深度强化学习的一种方法,将 Q-learning 算法与深度神经网络结合,用于解决状态空间非常大的强化学习任务。DQN 使用神经网络近似 Q 值函数,并通过经验回放(Experience Replay)和目标网络(Target Network)等技术提高稳定性。它在游戏(如 Atari 游戏)等领域表现出色。
应用例子
- 例子1:游戏智能体(Game Agents)
- 使用 DQN 训练智能体在 Atari 游戏中获得高分,如 Breakout 或 Pong。
- 例子2:自动驾驶(Autonomous Driving)
- 使用 DQN 训练自动驾驶系统在模拟环境中决策与避障。
- 例子3:机器人控制(Robot Control)
- 使用 DQN 控制机械臂在不同环境中完成特定任务,如抓取物体或避开障碍物。
13. U-Net
介绍
U-Net 是一种用于图像分割的卷积神经网络架构,最初设计用于生物医学图像分割。它采用对称的编码器-解码器结构,其中编码器部分逐渐提取特征并减少空间维度,解码器部分逐渐恢复空间分辨率并输出分割结果。U-Net 在医学图像分割、卫星图像分割等任务中表现优异。
应用例子
- 例子1:医学图像分割(Medical Image Segmentation)
- 使用 U-Net 分割 MRI 图像中的肿瘤区域或 CT 图像中的器官轮廓。
- 例子2:遥感图像分析(Remote Sensing Image Analysis)
- 使用 U-Net 分割遥感图像中的地物,如建筑、道路、河流等。
- 例子3:车道线检测(Lane Detection)
- 使用 U-Net 分割车道线,在自动驾驶场景中进行车道线检测。
14. 迁移学习(Transfer Learning)
介绍
迁移学习是一种将预训练模型在新任务上进行微调的方法,通常用于解决数据有限的情况下模型难以训练的问题。迁移学习通过使用在大规模数据集(如 ImageNet)上训练好的模型(如 ResNet、VGG、Inception、AlexNet),然后在小规模数据集上进行微调,从而实现快速收敛和高效模型构建。
应用例子
- 例子1:图像分类(Image Classification)
- 使用预训练的 ResNet 模型对小型数据集(如猫狗分类)进行微调,提升分类准确率。
- 例子2:物体检测(Object Detection)
- 使用预训练的 Faster R-CNN 模型,在特定领域的数据集(如交通标志检测)上微调。
- 例子3:医学影像分析(Medical Image Analysis)
- 使用预训练的 VGG 模型对少量的医学影像数据进行分类,如肿瘤检测。
15. 自编码器(Autoencoder)
介绍
自编码器是一种无监督学习算法,旨在学习数据的低维表示。它由编码器和解码器组成,编码器将输入数据映射到低维潜在空间,解码器则将低维表示重建回原始数据。自编码器可用于数据降维、去噪和生成新数据。变分自编码器(VAE)是自编码器的一种扩展,可以生成新的数据样本。
应用例子
- 例子1:数据降维(Dimensionality Reduction)
- 使用自编码器将高维数据(如 784 维的 MNIST 手写数字图像)降维到低维表示(如 2 维或 3 维),用于数据可视化。
- 例子2:去噪自编码器(Denoising Autoencoder)
- 用去噪自编码器从噪声数据中恢复干净数据,如从噪声图像中恢复原始图像。
- 例子3:生成新数据(Data Generation)
- 使用变分自编码器(Variational Autoencoder, VAE)生成新数据样本,如生成类似手写数字的新图像。
16. 图神经网络(Graph Neural Network, GNN)
介绍
图神经网络(GNN)是一种适用于图结构数据(如社交网络、分子结构)的神经网络。它通过节点及其邻居之间的信息传递来学习图的表示。GNN 在处理社交网络、推荐系统、分子属性预测等任务中表现出色。常见的 GNN 变体包括图卷积网络(GCN)、图注意力网络(GAT)等。
应用例子
- 例子1:社交网络分析(Social Network Analysis)
- 使用 GNN 在社交网络中进行节点分类(如识别虚假账户)或边预测(如预测用户之间可能的连接)。
- 例子2:分子属性预测(Molecular Property Prediction)
- 用 GNN 预测分子的化学性质,如药物活性或毒性。
- 例子3:推荐系统(Recommendation Systems)
- 在推荐系统中建模用户与物品之间的复杂关系,提升推荐准确性。
17. 自监督学习(Self-supervised Learning)
介绍
自监督学习是一种无监督学习的扩展,它通过生成标签数据(如旋转、遮挡)来进行模型训练,从而学习数据的潜在结构。自监督学习可以用于预训练模型,然后在监督学习任务上进行微调。它在数据有限的情况下尤其有用。
应用例子
-
例子1:图像特征学习(Image Feature Learning)
-
通过旋转预测任务训练图像特征,如预测输入图像被旋转了多少度。
- 例子2:文本嵌入(Text Embedding)
- 使用自监督学习(如 BERT)对大规模文本数据进行预训练,然后在下游 NLP 任务中进行微调。
- 例子3:音频预训练(Audio Pre-training)
- 对音频信号进行自监督学习(如预测时间掩码部分),然后用于语音识别或情感分析。
- 例子2:文本嵌入(Text Embedding)
18. 对比学习(Contrastive Learning)
介绍
对比学习是一种自监督学习方法,通过最大化不同样本之间的特征差异和最小化相似样本之间的特征差异来学习数据表示。典型的对比学习方法如 SimCLR、MoCo 等,在数据集上无需标签即可学习出有意义的特征表示。
应用例子
- 例子1:无监督图像表征学习(Unsupervised Image Representation Learning)
- 使用 SimCLR 在无标签图像数据上进行表征学习,然后在分类任务中微调。
- 例子2:图嵌入学习(Graph Embedding Learning)
- 使用对比学习方法学习图节点的表示,如 GraphCL,最大化同类节点表示的相似性。
- 例子3:视频理解(Video Understanding)
- 通过对比学习方法学习视频的时序特征表示,用于动作识别或视频分割。
19. Transformer 模型
介绍
Transformer 是一种基于自注意力机制的深度学习模型,最初用于机器翻译任务。它使用多头自注意力(Multi-head Self-Attention)机制来捕捉序列中远距离的依赖关系,并通过编码器-解码器结构实现高效的序列建模。BERT、GPT 等模型都是基于 Transformer 的变体。Transformer 在自然语言处理(NLP)任务中表现尤为出色。
应用例子
- 例子1:机器翻译(Machine Translation)
- 使用 Transformer 模型(如 BERT 或 GPT)实现语言之间的翻译,如将英文文本翻译为中文文本。
- 例子2:文本摘要(Text Summarization)
- 使用 Transformer 模型对长篇文章生成简洁的摘要,如新闻摘要生成。
- 例子3:文本生成(Text Generation)
- 使用 GPT-3 生成自然流畅的文本,如回答问题、写作辅助等。
这些算法和方法的组合和改进推动了深度学习在图像处理、自然语言处理、强化学习、医学图像分析等领域的广泛应用和突破。