动手学深度学习3 | 线性回归与基础优化算法 (上)

143 阅读4分钟

神经结构

M-P神经元模型(最基本的神经元模型)

一个神经元的功能就是求输入向量与权向量的内积,经一个非线性传递函数得到一个标量结果

单层神经网络(最基本的神经元网络形式)

线性回归就是单层神经网络 image.png

感知器(相当于两层神经网络)

感知器也被称为阈值逻辑单元(TLU),或者线性阈值单元(LTU),和上面的神经元有一点区别,输入和输出变为数字,在输入时,都会有一个相对的权值。TLU会先计算出输入的加权和然后将z代入阶跃函数中,计算出输出 单个TLU可用于简单的二进制分类。计算输入的线性组合,超过阈值输出正类,相反则输出负类。
感知器由单层TLU组成,每个TLU连接所有的输入。当一层的所有神经元都连接到上一层中的每一个神经元时,该层称为全连接层。

文章链接:juejin.cn/post/711171…

多层神经网络

由单层神经网络进行叠加后得到所形成的层。结构如下(下文会提及):

  • 输入层
  • 输出层
  • 隐藏层

线性回归

房价模型

简化模型

  • 简化模型
  • 训练集:上层特征,输出目标
  • 训练模型:将训练集提供给学习算法,然后监督学习算法产生一些函数 IMG_955EF4FE8750-1.jpeg

IMG_CFC900462213-1.jpeg

  • 线性回归可以看做是单层神经网络(单层,是因为权重层是1)

衡量预估质量

  • 使用平方损失来衡量预测值和真实值的差异 IMG_4835.JPG

训练数据

  • 线性回归是对n维输入的加权,外加偏差 IMG_DF4F4D1DF90F-1.jpeg

参数学习

IMG_77F5925C8F1D-1.jpeg

显示解

  • 线性回归有显示解 IMG_19EF2D310C5D-1.jpeg

基础算法优化

梯度下降

IMG_12984AD56D6A-1.jpeg

超参数:需要人为指定的值
选择学习率不可以太小也不可以太大

IMG_19EF2D310C5D-1.jpeg

用b个样本的损失平均值来近似损失
批量大小不能太大,不能太小

总结

  • 梯度下降通过不断沿着反梯度方向更新参数求解
  • 小批量随机梯度下降时深度学习默认的求解算法
  • 两个重要的超参数是批量大小和学习率

视频推荐 b站3BlueBrown的深度学习系列

视频内容总结(多层感知器MLP)

神经网络的结构

截屏2023-10-13 08.20.39.png

每个人工神经元接收多个输入,对这些输入进行加权求和,并通过激活函数产生0到1的输出。

  • 输入层

截屏2023-10-13 08.22.02.png

神经元中的数字叫做激活值,0表示纯黑像素,1表示纯白像素

  • 隐含层

截屏2023-10-13 08.25.05.png

  • 输出层

截屏2023-10-13 08.26.53.png

输出层每个激活值从0到1,表示系统认为输入的图像对应哪个数字的可能性


神经网络运行时,上一层的激活值将决定下一层的激活值。

  • 权重: 颜色越暗,就大致表示他的权重越接近0,将关注区域的权重赋为正数,将其他赋为0,如果想识别是否存在一条边只要给周围一圈像素赋予负的权重,这样得到的权重和就是最大

  • 激活函数: 激活函数将激活值挤压进0到1的区间内

截屏2023-10-13 08.38.20.png

  • 偏置: 除了输出层外,每一层都有一个偏置神经元,连接到下一个层,加入偏置值防止随意激发

截屏2023-10-13 08.48.14.png

截屏2023-10-13 08.51.13.png


  • 代价函数: 训练单个样本的代价,也叫“损失”,表示输出值与预期输出值的差值的平方和。用平均代价来评估多个训练数据的综合表现。 截屏2023-10-13 08.53.38.png

    要解决的问题就是如何让代价最小:
    首先,从一元函数讨论,可以直接用微积分求出最小值: 截屏2023-10-13 08.59.03.png 如果复杂函数的话,可以随机选择一点,如果斜率为正就向左走,斜率为负就向右,最后就可以找到局部最小值,这种方法无法保证是否获得全局最小值: 截屏2023-10-13 09.01.26.png


截屏2023-10-13 09.06.29.png

梯度指出了函数最陡的增长方向,而反梯度下降就可以找到函数下降最慢的方向

将所有权重偏置放入一个列向量中,将求出的代价函数的负梯度与其相乘,更新权重与偏置

代价函数的负梯度值相当于标记出改变哪个参数性价比更高 截屏2023-10-13 09.07.34.png


反向传播法

只对期待值看,让前一层所有正权重的神经元更亮,负权重的神经元更暗。而针对输出层所有值,让期待值激发变强,其余神经元激发变弱,将所有期待的改变加起来得到倒数第二层的权重和偏置。更全局看,将所有数字期待改变的值叠加起来得到微调。

随机梯度下降法:将所有样本打乱,作为mini-batch每取一批样本计算梯度 截屏2023-10-13 09.22.21.png