机器学习入门(一):神经网络是什么?有哪些?(上)
这一篇会比较长了,我要把东西全讲完,大伙耐心点看,喜欢的点点赞。
这一篇不会太细致,因为东西很多,我会给你讲清楚,但是不会涉及到特定场景怎么用(后面出书了会细致的去讲)
最后啰嗦一下搞算法和大模型的最好都看看,感兴趣的也来看看。
先把所有的神经网络模型过一遍:
有很多名词,然后讲一下每个是拿来干什么的,怎么调试,然后结构是什么。
我前面一直在铺垫,现在差不多是时候讲讲机器学习和深度学习了,
神经网络是什么?
这个有点像仿人类神经元,不过是通过大量数据和标准答案来进行训练获取规则,
其中带有权重比和激活函数,不断迭代的过程。
所以说强化学习是后生仔。
神经网络模型是什么?有哪些?
那么我们知道神经网络是什么了,这个模型就很简单了,
有输入和输出再配个函数,达成某种效果的数学计算框架或者结构。
这个图不错。
从上述图表可以知道神经网络模型有好多种,不用记住这个图,我们知道有这些东西就行了,实际上你在学习这个,只需要知道核心意思就行了就是说这个名词是什么,有什么用,那么大部分的东西都由名词组成,咱们可以学到大部分的东西,剩下的要么是冷门要么是使用少,后面慢慢补上就行。
我们从模型使用场景。任务来细分:
最基础:
FNN/FF:前馈神经网络,1960年代发明(已找到代替品,但未被弃用),有输入层-隐藏层-输出层组成,(等于老祖宗级别)
深度:隐藏层可以有多个,且隐藏层越多,深度越深,
梯度:函数变化最剧烈的方向和速度,它告诉机器学习模型如何降低loss。
感知机:简单的线性模型也是1层的神经元,类似于一元函数之类的,复杂一点点就搞不定了。
MLP(多层感知机):多层神经元,由输入层、隐藏层、输出层组成,通过激活函数(如 ReLU)引入非线性。
激活函数:
常用的有几种:
1:sigmoid(S函数):f(x) = 1 / (1 + e^(-x))
一般用于分类问题的输出层,说白了就是表示概率,万一遇到问你激活函数的公式的,自认倒霉吧。
2: Tanh(双曲正切函数)公式:f(x) = (e^x - e^(-x)) / (e^x + e^(-x))
一般就RNN里面用,基本上快弃用了。
3:ReLU(Rectified Linear Unit,修正线性单元)公式:f(x) = max(0, x)
跟高中的max函数一样,就是取最大值,是最常用的之一。
4:扩展
sigmoid的plus版本:softmax:用于多分类输出层
RELU的plus版本:Leaky ReLU:部分条件下解决ReLU的问题:神经元死亡问题(权重不再更新)。
图像任务:
CNN(卷积神经网络):核心思想是模拟动物视觉系统处理图像。
标准的CNN分为五个部分:(你完全可以在里面加或者删点东西)
1:卷积层(特征提取器,也就是最核心的部分)
由多个滤波器。卷积核构成,下面通称卷积核。
我用3乘以3的图像举例,在图像上面可以滑动,当该x轴滑完时候,向下移动接着滑动。
同时进行点乘求和(点乘求和问问ai吧,做两个题就知道了)生成特征图(字面意思,一张黑白照片有亮有暗的)。
在多种不同的特征图能完整实现原来照片的特征(眼睛啊,纹理之类的)
2:激活层(引入非线性)
内置激活函数,常用:ReLU。
能够解决梯度消失问题。
梯度消失:在反向传播过程中,越靠近输入层(即越深的层)的权重,其梯度值变得越来越小,趋近于零
梯度爆炸:在反向传播过程中,越靠近输入层(即越深的层)的权重,其梯度值变得越来越大,最终导致数值溢出(NaN)或模型发散。
反向传播算法:反向传播是训练神经网络的核心算法,其目的是利用链式法则(求导)计算损失函数(Loss)相对于网络中每一个权重(Weight)和偏置(Bias)的梯度。
前向传播:输入层到隐藏层到输出层得到预测值,且预测值-真实值=loss。
反向传播:反着来,倒推回去,加了个链式法则罢了
3:池化层
降噪且保证特征不变
4:全连接层(分类器)
5:输出层
ResNet(残差网络):本质上是CNN改,可以说算里程碑了,提出了一个新的观点。
有其他的CNN,然后这个比较典型。出自何恺明之手,明神。
引入残差网络解决了梯度消失和爆炸问题,同时搞定了退化问题(也就是56层反倒不如20层的效果),
这里我要讲深度学习了,
你看我的文章又学深度学习又学搜广推,还不快关注关注?
映射:类似函数给一个输入得到理想输出,
所以模型的学习其实就是映射的过程,
残差:F(X)=H(X)-X,因为出现退化问题,也就是求不出来F(X)所以提出了这个思路,
残差学习:也就是H(X)=F(X)+X,比如问题是5*5=25,现在直接求25-5=20;
序列任务:
RNN(循环神经网络,也算老东西,被transformer替代了都):
CNN和MLP都无法处理数据的连贯性问题,
然后提出了RNN的概念,实际上RNN提出了循环的概念,本身是一个循环单元,
我个人理解就是记忆功能,记忆上述内容,输出下面的,
同时可以多个输入多个输出。
然后还是有梯度消失和爆炸问题。
然后出现了LSTM(长短期记忆网络,现在常用于时间序列预测)。
LSTM:有个叫细胞状态的东西,实际上就是了长时间携带记忆的功能。
还有遗忘门:可以丢东西,
和输入门和输出门:可以存东西和输出东西。所以基本上可以认为LSTM是RNN的plus版。
GRU(门控循环单元,LSTM的轻量级实现,类似RL和DPO的关系):
他只有更新和重置两个说白了还是在时间序列预测。
(这里博主已经写了2个半小时了才写了一半,哭泣。。给个赞吧)
#聊聊我眼中的AI##牛客创作赏金赛#