我的学习资料
【【闪客】一小时从函数到 Transformer】https://www.bilibili.com/video/BV1NCgVzoEG9?p=2\&vd_source=fe688d296a49c21a47090f9730a67ab4
【90分钟!清华博士带你一口气搞懂人工智能和神经网络】https://www.bilibili.com/video/BV1atCRYsE7x?vd_source=fe688d296a49c21a47090f9730a67ab4
【大白话讲解:线性回归】https://www.bilibili.com/video/BV17VZkBoE2D?vd_source=fe688d296a49c21a47090f9730a67ab4
推荐学习顺序 看第一个视频进行轮廓了解
看第二视频进行深度理解
选看第三个视频进行查漏补缺
从函数到神经网络
符号主义 人工智能 早期

通过明确的函数去表达解释
缺点

有些东西很难靠人自己去写一个函数去表示
联结主义

激活函数


原本线性关系很难找到一条线性直线去表示 所以引入激活函数 去更好的拟合实际曲线
神经网络

通过多层嵌套实现 形成一个如图网络的复杂结构 可以去表达任意函数
前向传播 
通过网络 逐渐计算结果向前传递
个人理解:为什么可以构建这么一个神经网络去推断一个结果

这里简化一下如最左边输入是只有一个输入节点 如输入了一张手写数字图片(一位数)
最右边输出有10个节点 分别是从0到9
那么这个网络的作用就很明确了 输入一个手写数字图片 识别他是数字几
最右边输出的结果最后跟数字可性能 可能性最高的就是他个输入图片最高的可能性数字结果
这时我们知道一张图片有很多个像素点,每一个像素点有一个特定的RGB值
这些像素点渲染出来就形成了一张图片 将所有的像素点展开,就可以用一个非常高维的坐标去表示这张图片所处的位置
在这个非常高维的世界里 他这个坐标输入到这个非常复杂的函数中,输出了从y0到y9的每一个数字的可行性结果
那我们是如何得到这么一个拟合实际结果的函数的呢?就是通过参数调整,调整出一个拟合实际结果的函数。
我们通过不断调整不同参数,不断减少预测值与实际值的误差,去得到这么一个函数。
一个神经网络的训练 正是在不断调整参数的过程,得到一个拟合程度好的函数。
计算神经网络的参数
损失函数

通过一个损失函数(上图就是一个损失函数 但损失函数不止这一种表达)去表示 拟合程度的好坏

损失函数值越小 拟合效果越好
忽略b 单参数情况


对函数函数求导 让求导的结果为0(即为如图最低点) 从而解出 w = 1
故参数调整为w = 1 模型函数 为 y = x+b
多参数情况

这是损失函数变成三维图像

也是同样去计算求解最低点的参数值
(这里先做理解 具体详细去看第二个视频详细理解)
梯度下降 方向传播

其中η代表是学习率
个人理解:学习率是参数调正的速率 也可以是说调整步长是多少
η右边的是偏导数
梯度下降里的梯度,就是【损失函数】的梯度!
所有偏导数构成的一个向量就是梯度
偏导数就以上面那个三维图像解释去固定一个参数的值就可以画出一个切面,此时就转变成二维,我们就可以得到另一参数的变化率,导数

个人理解
如果这座山的,你只知道此刻你所在位置的梯度
此刻下山就是你的目标(到达0海拔,就是损失为0),如何快速减短到上下的距离(损失)呢?
那你最快的方式就是朝着你此刻最陡的方向走。走的方向就是参数调整的方向。
那么具体是如何实现调整的呢?

还是输入一个图片,此刻你有了这个图片在哪个多维世界的具体坐标,带入坐标,你知道了此刻位置的梯度,,你就可以知道你在这个点上的最抖的方向是哪里。好了,此刻你就让参数往梯度的反方向下降,那么与具体值的损失小了。
流程:你有样本的输入输出,你现有一个神经网络,样本输入神经网络获取得到预测值,预测值与实际值得到损失结果,损失结果推断出该输入坐标点的梯度,有了梯度就知道往哪里调整参数优化神经网络,这样不断输入优化,输入优化,得到一个更好的神经网络。
损失结果推断出该输入坐标点的梯度?利用反向传播!

最后的L表示实际值与预测值的误差
预测值的单位变化 可以从前面的 实际值与预测值的误差 推到得出
a的单位变化也可以从 前面的 预测值的单位变化
每一个参数偏导数 可以从结果推出
所有的参数的偏导数拼在一起就得到了梯度
(具体看视频2)

调教神经网络的方法
从矩阵到CNN
卷积层 提取特征
池化层 缩小参数规模 保留显著特征
在这里插入图片描述