AI

神经网络的理解

Understand Of Neural Networks

Posted by shake on February 1, 2024

最近看到了很多很好的学习材料,帮助我理解神经网络。

基于上面的材料,我整理自己的学习笔记。

专业术语

人工智能、机器学习、深度学习和神经网络关系,用一张图,就可以很容易说清楚。

关系图谱

  • CNN(卷积神经网络 Convolutional Neural Network)是一种基于卷积层的特征提取网络结构,主要用于图像处理领域。

  • RNN(循环神经网络 Recurrent Neural Network,RNN)是一种基于循环层的特征提取网络结构,主要用于处理序列数据,例如自然语言文本和时间序列数据等。

  • Transformer是一种基于自注意力机制的特征提取网络结构,主要用于自然语言处理领域。

神经网络分类

神经网络三部分构成:输入层,隐藏层(可以是多层),输出层。

  • 单层神经网络(感知机):类似逻辑回归,线性分类,没有激活函数。
  • 两家神经网络(多层感知机):带一个隐藏层(有激活函数),非线性回归
  • 多层神经网络(深度学习)
  • 卷积神经网络(CNN):非全连接(视觉)
  • 循环神经网络(RNN):处理时序数据,预测股票,天气。同层有连接。

三个函数

激活函数(Activation function)是神经网络中引入非线性的重要手段,它将上一层神经元的输出值转换为非线性函数,从而使神经网络能够拟合更复杂的非线性关系。常用的激活函数包括:

  • Sigmoid函数:f(x) = 1 / (1 + exp(-x))
  • Tanh函数:f(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))
  • ReLU函数:f(x) = max(0, x)

损失函数(Loss function)用于衡量模型预测值与真实值之间的差距,是模型训练过程中的优化目标。常用的损失函数包括:

  • 均方误差(MSE):Loss = (y_pred - y_true)^2
  • 交叉熵损失(Cross Entropy):Loss = -Σy_true * log(y_pred)
  • 平滑L1损失(Smooth L1 Loss):Loss = 0.5 * x^2 if x < 1 else x - 0.5

优化函数(Optimizer)用于更新模型参数,以降低损失函数的值。常用的优化函数包括:

  • 梯度下降(Gradient Descent ):在机器学习中,梯度下降法常用于训练模型参数。例如,在线性回归模型中,目标函数是均方误差函数,梯度下降法可以用来求解模型参数的最佳值,使得均方误差函数最小化。
  • Adam:自适应学习率方法,

以下表格总结了激活函数、损失函数和优化函数的作用:

函数类型 作用
激活函数 引入非线性,提高模型拟合复杂关系的能力
损失函数 衡量模型预测值与真实值之间的差距
优化函数 更新模型参数,降低损失函数的值