非人工智能方向粗糙理解深度学习

时间:2022-11-24 20:56:03

线性模型基本形式

你要训练的线性模型(模型不一定是线性的,为方便理解,此处以线性举例):
f ( x ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + ⋯ + w d x d + b f(\bm{x}) = w_1x_1 + w_2x_2 + w_3x_3 + \cdots + w_dx_d + b f(x)=w1x1+w2x2+w3x3++wdxd+b f ( x ) = w ⊤ x + b f(\bm{x}) = \bm{w}^\top\bm{x} + b f(x)=wx+b 其中 x = ( x 1 , x 2 , x 3 , ⋯   , x d ) \bm{x} = (x_1, x_2, x_3, \cdots, x_d) x=(x1,x2,x3,,xd) 是你要输入的数据,组成了输入 d d d 维特征向量 x \bm{x} x(这个特征向量各种各样,可以来自数据集的人类可以理解的具象数据,也可以用 CNN 卷出来的人类理解不了的抽象数据); w , b \bm{w}, b w,b 作为模型权重参数(并非网络参数,网络是求模型的,模型本身有自己的参数,网络本身也有自己的参数如深度、维度); f ( x ) f(\bm{x}) f(x) 作为输出,如分类结果、回归预测。

  • 例子一,猫狗分类:

    • 特征空间内输入 x 1 x_1 x1 表示耳朵长度, x 2 x_2 x2 表示鼻头子长度, x 3 x_3 x3 表示胡子长度等;
    • w 1 , w 2 , w 3 , ⋯   , b w_1, w_2, w_3, \cdots, b w1,w2,w3,,b网络要训练得到的这个线性模型的参数,目前未知
    • f ( x ) ∈ [ 0 , 1 ] f(\bm{x}) \in [0, 1] f(x)[0,1],做为最终输出,越接近 0 0 0 越像猫,越接近 1 1 1 越像狗。
  • 例子二,房价回归预测:

    • 特征空间内输入 x 1 x_1 x1 地段(抽象,但你可以编码为浮点数), x 2 x_2 x2 表示房屋面积, x 3 x_3 x3 表示套型(抽象,但你可以编码为浮点数);
    • w 1 , w 2 , w 3 , ⋯   , b w_1, w_2, w_3, \cdots, b w1,w2,w3,,b网络要训练得到的这个线性模型的参数,目前未知
    • f ( x ) ∈ [ 0 , 1 ] f(\bm{x}) \in [0, 1] f(x)[0,1],做为最终输出,越接近 0 0 0 越像猫,越接近 1 1 1 越像狗。
  • 例子三, 0 − 9 0-9 09 手写体识别:

    • 输入灰度图像,经过 CNN 卷出来特征空间内的特征值 x = ( x 1 , x 2 , x 3 , ⋯   , x d ) \bm{x} = (x_1, x_2, x_3, \cdots, x_d) x=(x1,x2,x3,,xd),输入后面的线性模型(不一定是线性,但总有一个函数,能将各个 0 − 9 0-9 09 手写体的特征映射到 0 − 9 0-9 09 的标准答案上,此处仅为理解方便);
    • w 1 , w 2 , w 3 , ⋯   , b w_1, w_2, w_3, \cdots, b w1,w2,w3,,b网络要训练得到的这个线性模型的参数,目前未知
    • f ( x ) ∈ N , f ( x ) ≤ 9 f(\bm{x}) \in \mathbb{N}, f(\bm{x}) \leq 9 f(x)N,f(x)9,做为最终输出。

以 CNN 为例:左侧为原始手写体灰度图像(人类看得懂,网络看不懂),右侧为经过卷积后的特征图像(人类看不懂,网络目前也看不懂,但是处理起来更方便了;当然后续可能要经过多层卷积并池化后,才可将浓缩后的数据送入网络训练)。非人工智能方向粗糙理解深度学习
以下为 4*4 单元内最大池化示例,进一步将数据量浓缩。非人工智能方向粗糙理解深度学习
非人工智能方向粗糙理解深度学习
浓缩后的数据可送入全连接层进行线性回归(打个比方)。
非人工智能方向粗糙理解深度学习

线性回归

本节会解答 w 1 , w 2 , w 3 , ⋯   , b w_1, w_2, w_3, \cdots, b w1,w2,w3,,b 作为线性模型的未知参数,如何训练,训练目标是什么的问题。

数据集

也可以叫做样本,如 m m m 个样本: D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x m , y m ) } D = \{ (\bm{x_1}, y_1), (\bm{x_2}, y_2), \cdots, (\bm{x_m}, y_m) \} D={(x1,y1),(x2,y2),,(xm,ym)};其中每个样本输入存在 d d d 维特征: x i = ( x i 1 , x i 2 , ⋯   , x i d ) \bm{x_i} = (x_{i1}, x_{i2}, \cdots, x_{id}) xi=(xi1,xi2,,xid);每个样本对应一个标准答案输出 y i y_i yi(当然非线性模型或其他模型下你可能会得到一个多维向量输出 y i \bm{y_i} yi)。

学习目标

毋庸置疑,如果一个模型训练的好,学习后应该有回答等于标准答案,也就是 f ( x i ) = y i f(\bm{x_i}) = y_i f(xi)=yi,或误差损失 ( f ( x i ) − y i ) 2 = 0 (f(\bm{x_i}) - y_i)^2 = 0 (f(xi)yi)2=0。换言之,线性回归试图习得: f ( x i ) = w i x i + b , f ( x i ) ≃ y i f(\bm{x_i}) = \bm{w_i}\bm{x_i} + b, f(\bm{x_i}) \simeq y_i f(xi)=wixi+b,f(xi)yi

均方误差

为了衡量网络回答 f ( x i ) f(\bm{x_i}) f(xi)标准答案 y i y_i yi 之间的差别,以确定 w , b \bm{w}, b w,b w ∗ , b ∗ \bm{w^*}, b^* w,b,我们可以引入均方误差:
( w ∗ , b ∗ ) = arg min ⁡ ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = arg min ⁡ ( w , b ) ∑ i = 1 m ( y i − w ⊤ x i − b ) 2 (\bm{w^*}, b^*) = \argmin_{(\bm{w}, b)} \sum_{i=1}^{m}{(f(\bm{x_i}) - y_i)^2} = \argmin_{(\bm{w}, b)} \sum_{i=1}^{m}{(y_i - \bm{w^\top x_i } - b)^2} (w,b)=(w,b)argmini=1m(f(xi)yi)2=(w,b)argmini=1m(yiwxib)2
这本质上是一个优化问题,类似凸优化中求何处 ( w , b ) (\bm{w}, b) (w,b) 取值,使得整体 l o s s loss loss 最小。 BP 中可对未知参数求偏导采用梯度下降法反向传播,迭代更新每个神经元参数,以求出最优的 ( w ∗ , b ∗ ) (\bm{w^*}, b^*) (w,b)。现实优化问题可采用模拟退火、随机梯度下降、遗传算法等完成此过程。

注意,这里 x \bm{x} x 作为数据集输入为已知 y i y_i yi 作为数据集标准输出也为已知,你要求的反而是模型的未知组参数 ( w , b ) (\bm{w}, b) (w,b) ( w ∗ , b ∗ ) (\bm{w^*}, b^*) (w,b)

监督学习

数据集 D D D 可以划分为两块 D = D 1 ∪ D 2 D = D_1\cup D_2 D=D1D2。一块 D 1 D_1 D1 用于训练 ( w ∗ , b ∗ ) (\bm{w^*}, b^*) (w,b),称为监督集;一块 D 2 D_2 D2 用于测试你获得的模型 f ( x ) = w ∗ ⊤ x + b f(\bm{x}) = \bm{w^*}^\top\bm{x} + b f(x)=wx+b,验证合理性或享受成就感,称为测试集

弱监督学习

可分为不完全监督、不确切监督、不准确监督。与传统的监督学习相比,其使用有限的、含有噪声的或者标注不准确的数据来进行模型参数的训练,如:

  • 数据集 D D D 内样本数 m m m 较小;
  • x i \bm{x_i} xi 内部分维度值缺失,或部分 y i y_i yi 缺失;
  • D D D 内存在垃圾噪声(错误标准答案、无效输入等),需清洗。

不完全监督

数据集 D D D 残缺只有部分带有标签,假若为获得强监督信号,将全部缺失标签咨询专家添加标签,消耗成本太大。

主动学习

在查询次数尽可能小的情况下,选择出最有价值的未标注数据来查询人类专家,使得训练出的模型性能最好。旨在提高查询效率。

半监督学习

没有人类专家参与,根据数据分布特征,做聚类假设或流形假设,使得相近样本返回相似预测结果。

迁移学习

利用源领域 D s D_s Ds源任务 T s T_s Ts 中的知识,解决目标领域 D t D_t Dt目标任务 T t T_t Tt 中的预测函数 f t ( x ) f_t(\bm{x}) ft(x),或提升 f t ( x ) f_t(\bm{x}) ft(x) 的预测效果。

不确切监督

数据集中每个实体内没有标注明确的监督信息,输入特征维度不明确。如肺炎患者胸片,并不确切何处病灶会导致患病。

不准确监督

大数据集内出现的标注错误,可视为噪声。