[深度学习]基础知识(介绍)

172 阅读4分钟

图片.png

上图是机器学习和深度学习的区别.

从图中可以看到一个明显的区别是: feature extraction(特征提取)

机器学习有特征提取, 而深度学习没有特征提取.

1. 卷积神经网络(CNN)

CNN在图像处理领域取得了显著的成功,但其局部感知和权值共享的特性也适用于用户行为数据的建模。

特别是当用户行为数据可以表示为序列或类似图像的结构时(例如,将用户的行为序列视为一维或二维“图像”),CNN可以有效捕捉行为中的局部模式。

此外,CNN还能处理多通道的用户行为数据,如同时考虑用户的点击、浏览、购买等多种行为。

2. 循环神经网络(RNN)及其变体

RNN及其变体(如长短时记忆网络LSTM和门控循环单元GRU)能够捕捉长短期记忆,对用户的行为序列进行建模。

这些模型在处理序列数据方面具有显著优势,可以建模用户行为随时间变化的动态模式。

例如,RNN可以用于预测用户未来的浏览内容或购买行为,基于其过去的点击和浏览历史。

3. 深度神经网络(DNN)

DNN通过多层非线性变换,可以捕捉到复杂的行为模式和交互关系。

DNN常用于分类和回归任务,如用户点击率预测、产品推荐等。

通过学习用户的历史行为,DNN可以预测用户的未来行为倾向,如是否会购买某商品或点击某广告。

4. 图神经网络(GNN)

深度学习网络由多种不同类型的层组成,这些层协同工作以提取数据的特征、学习数据的表示,并最终生成预测结果。以下是一些常见的深度学习网络层:

  1. 输入层(Input Layer)

    • 网络的起点,接收来自外部的数据。
    • 数据通常是一个向量,每个元素代表一个特征。
    • 输入层并不进行计算,只是将数据传递到隐藏层。
  2. 隐藏层(Hidden Layer)

    • 网络中实际进行计算的部分,负责从输入数据中提取特征。
    • 可以有一个或多个,是深度学习网络“深度”的来源。
    • 每个隐藏层的节点(神经元)数量通常是可调的,具体数量视任务复杂度而定。
  3. 全连接层(Fully Connected Layer,FC)

    • 每个神经元与前一层的所有神经元相连。
    • 在早期主要用于对提取的特征进行分类。
    • 由于全连接层所有的输出与输入都是相连的,参数较多,需要相当数量的存储和计算空间。
  4. 卷积层(Convolutional Layer,CNNs)

    • 用于图像处理,执行卷积运算以提取局部特征。
    • 使用多个不同的过滤器(卷积核)对输入图像进行卷积操作。
    • 通过“核”的共享大大减少了隐藏层的参数。
  5. 池化层(Pooling Layer)

    • 对特征图进行降维,保留重要信息。
    • 常见的有最大池化和平均池化。
    • 降低特征维度,减少计算量和过拟合风险。
  6. 循环层(Recurrent Layer,RNNs)

    • 用于处理序列数据,通过循环结构保持时间序列信息。
    • 每个时间步的输出依赖于当前输入和前一时间步的隐藏状态。
    • 能够处理序列数据,适合处理时间序列相关的任务。
  7. 正则化层

    • 包括Dropout层和批量归一化(Batch Normalization)层等。
    • 用于防止过拟合或加速训练。
  8. 输出层(Output Layer)

    • 网络的最后一层,负责生成最终的预测结果。
    • 分类问题:通常使用softmax或sigmoid函数来生成类别概率。
    • 回归问题:通常是一个线性单元,用于预测连续值。
  9. 激活函数层

    • 用于在隐藏层和输出层中对线性组合的输入进行非线性变换。
    • 常见的激活函数包括ReLU(Rectified Linear Unit)、Sigmoid、Tanh、Leaky ReLU和ELU等。

此外,还有一些其他类型的层,如嵌入层(Embedding Layer)、注意力层(Attention Layer)、上采样层(Upsampling Layer)和下采样层(Downsampling Layer)等,它们在不同的深度学习模型中发挥着特定的作用。

总的来说,深度学习网络的结构是灵活的,可以根据具体任务和数据集的需求进行选择和组合。不同的层在网络中扮演着不同的角色,共同构成了深度学习模型的强大能力。