第一课是关于机器学习和深度学习的简单介绍,大概讲了一些简单的原理。

机器学习与深度学习简介

机器学习(Machine Learning)是人工智能(AI)的一个分支,它使计算机系统能够利用数据和算法自动学习和改进其性能。

深度学习则是机器学习的一个子集,特指利用人工神经网络,通过模仿人类大脑的数据处理和模式生成能力实现自动决策的算法。

与其他机器学习算法相比,深度学习的精度明显较高。人工神经网络是模拟人脑神经元的网络结构,正是人工神经网络使得深度学习成为可能。

深度学习的大致原理

在已知输入x和输出y的情况下,让机器找到输入和输出之间的关系f。比如射箭,射出去很多支箭,再去看每支箭都得到了几分,最后找到这个人射箭的方法习惯和力度之类的。

深度学习的输入和输出大致分类:

输入分为三类:

1、向量;

2、矩阵(张量);

3、序列(例如一段文本、一条视频、一段音频等,特点是一组具有前后关联的数据)

(我自己查了一下张量的意思,感觉实际上1和2都可以统称为张量,这里引用一个博客中的介绍)

张量是一个多维数组,其核心是描述“在坐标变换下保持某种不变性的量”。具体来说:

  • 在数学中,张量是向量空间及其对偶空间上的多重线性映射(涉及线性代数中的向量、矩阵运算规则)。

  • 在计算机科学(尤其是深度学习)中,张量常被简化为“多维数组”,用于高效存储和处理多维度数据(如图片、文本序列、视频帧等)

张量的核心性质

  1. 形状(Shape)
    描述各维度的大小(如 (3, 4) 表示2阶张量有3行4列)。形状决定了张量的存储结构和运算规则。

  2. 数据类型(Dtype)
    张量中元素的数值类型,如整数(int32)、浮点数(float32)、布尔值(bool)等。深度学习框架(如PyTorch、TensorFlow)会根据数据类型优化计算效率。

  3. 运算封闭性
    张量的加减、乘法(点积、矩阵乘)、转置、切片等操作仍返回张量,且需满足维度兼容性(如矩阵乘法要求前一个矩阵的列数=后一个矩阵的行数)。

  4. 广播机制(Broadcasting)
    不同形状的张量在运算时,会自动扩展维度以匹配(如标量与向量相加:[1,2,3] + 2 = [3,4,5]),简化代码编写。

需要完成的任务(即输出)也分为三类:

1、回归任务

回归(Regression)是机器学习中的一种基本方法,其目标是通过分析自变量与因变量之间的关系,建立一个数学模型来预测因变量的值。

2、分类任务

3、结构化输出

结构化输出的基础就是回归与分类,输入通过回归与分类产生我们想要的输出。

深度学习的步骤

其实到这里我有一种高中数学里面学到统计概率的既视感,会联想到诸如线性回归,残差平方和这些已经快要离开我的大脑的知识,考研学的数二,大学学的统计概率更是已经忘得差不多了,感觉还得再学。

这里挂个链接:https://zhuanlan.zhihu.com/p/72513104(用人话讲明白线性回归LinearRegression),讲到了许多这个地方涉及到的知识。

这里课上举出的例子就是以线性回归作为第一步定义的函数(模型),并且以残差和作为损失函数,用以衡量回归模型的误差从而评判好坏。

loss被视为一个关于w和b的二元函数。找到loss的最小值和对应的参数w、b的过程就是优化。

梯度下降法:Gradient-Descent(全世界最通俗易懂的梯度下降法详解-优化函数大法) - 知乎

不用严格数学语言描述,一个直观的定义就是,梯度被定义为包含函数偏导数向量,并指向函数值增加最快的方向。即梯度的方向就是函数值增加最快的方向。

梯度下降法的作用就是寻找一个“极小值点”,从而让函数的值尽可能地小。算法的最开始会 「随机」 寻找一个位置然后开始搜索「局部」的最优解,如果运气好的话能够寻找到一个最小值的极值点,运气不好或许找到的就不是最小值的那个极小值点了。

那么根据梯度的定义,要找一个尽可能使函数值最小的点,就让函数沿着梯度的反方向变化就好了。

学习率η就是用来确定参数变化的幅度大小的,大了小了都不行。

如此反复,最后就会使得损失函数收敛在一个局部最小值点,得到优化后的模型。

目前的疑问

怎么理解神经元和神经网络,深度学习的不可解释性来源于什么,我自己实际上手做的时候要怎么做。

更多推荐