1.深度学习基础-线性神经网络,多层感知器
2.卷积神经网络-lenet,alexnet,vgg,inception,resnet
3.循环神经网络-RNN,GRU,LSTM,seq2seq
4.注意力机制-attention。transformer
5.优化算法-SGD,Momentum,Adam
6.高性能计算-并行,多GPU,分布式
7.计算机视觉-目标检测,语音分割
8.自然语言处理-词嵌入,BERT
物体分类,物体检测和分割,样式的迁移(将样式图片和内容相结合,滤镜),人脸的合成
文字生成图片,文字生成,无人驾驶汽车。
案例研究–广告点击
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QCRouqb5-1649577186614)(82d042d1cab2e02a0dd35f032dec1dd6.png)]
触发–点击率预估–排序(点击率*竞价)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aB9ZxDvW-1649577186615)(7c7762142ed15ba93946348140cf3b15.png)]
预测与学习
特征提取–模型–点击率预测
训练数据–特征和用户点击–模型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vkwgMfL1-1649577186615)(69f04f885e52f285c2235b8e8d3a4dbb.png)]
最后需要性能和精度的学习
N维数据样例
N维数组是机器学习和神经网络的主要数据结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9vL0jaOC-1649577186616)(ebac0914e26a8b7c2eda67c20997e1b7.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yGkNz3s2-1649577186616)(6c2037384dcf22d334b1468aaf27585e.png)]
访问元素
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BeKbKZIt-1649577186617)(43d4e25ca209f75d7dab49f95b14ad3e.png)]
张量表示数据组成的数组
有shape,numel,reshape函数
zeros,ones函数
randn函数,每个元素符合均值为0,标准差为1的标准高斯分布(正态分布)中随机采样
也可以通过python.tensor来赋值
sum函数对所有张量进行求和,形成一个单元素张量
两个tensor的形状不同,也可以通过广播机制来执行元素操作
如果你曾经在餐厅支付餐费,那么你已经知道一些基本的线性代数,比如在数字间相加或相乘。 例如,北京的温度为 52∘ (除了摄氏度外,另一种温度计量单位)。 严格来说,我们称仅包含一个数值的叫标量(scalar)。 如果要将此华氏度值转换为更常用的摄氏度, 则可以计算表达式 =59(−32) ,并将 赋为 52 。 在此等式中,每一项( 5 、 9 和 32 )都是标量值。 符号 和 称为变量(variable),它们表示未知的标量值。
在本书中,我们采用了数学表示法,其中标量变量由普通小写字母表示(例如, 、 和 )。 我们用 ℝ 表示所有(连续)实数标量的空间。 我们之后将严格定义空间(space)是什么, 但现在你只要记住表达式 ∈ℝ 是表示 是一个实值标量的正式形式。 符号 ∈ 称为“属于”,它表示“是集合中的成员”。 我们可以用 ,∈{0,1} 来表明 和 是值只能为 0 或 1 的数字。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bQt2MbRm-1649577186620)(155132bc7c4f8b7cc2072b17feca84a8.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rezAEVBf-1649577186623)(2ae3e0f43842b4217dbf23a437be48dd.png)]
[你可以将向量视为标量值组成的列表]。 我们将这些标量值称为向量的元素(element)或分量(component)。 当向量表示数据集中的样本时,它们的值具有一定的现实意义。 例如,如果我们正在训练一个模型来预测贷款违约风险,我们可能会将每个申请人与一个向量相关联, 其分量与其收入、工作年限、过往违约次数和其他因素相对应。 如果我们正在研究医院患者可能面临的心脏病发作风险,我们可能会用一个向量来表示每个患者, 其分量为最近的生命体征、胆固醇水平、每天运动时间等。 在数学表示法中,我们通常将向量记为粗体、小写的符号 (例如, 、 和 ) )。
我们通过一维张量处理向量。一般来说,张量可以具有任意长度,取决于机器的内存限制。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ucvq4DNo-1649577186624)(efa6ebcc3fa5257d4c70669969904bb1.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RunYo6Yp-1649577186624)(8c694d8bd5ffe1f874e242579386b74b.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DRNpqGM-1649577186627)(e2e4fb11fafd21726b1e71324f435e38.png)]
矩阵是有用的数据结构:它们允许我们组织具有不同模式的数据。 例如,我们矩阵中的行可能对应于不同的房屋(数据样本),而列可能对应于不同的属性。 如果你曾经使用过电子表格软件或已阅读过 :numref:sec_pandas,这应该听起来很熟悉。 因此,尽管单个向量的默认方向是列向量,但在表示表格数据集的矩阵中, 将每个数据样本作为矩阵中的行向量更为常见。 我们将在后面的章节中讲到这点,这种约定将支持常见的深度学习实践。 例如,沿着张量的最外轴,我们可以访问或遍历小批量的数据样本。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qGTOKxUH-1649577186628)(968b25b0810f3bfe02a5816e2eb84e24.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pcvdA926-1649577186628)(8fb9b06e1859e7ea41c7ec6ec355d0f8.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HKXllPir-1649577186629)(74d05df1fefa1888072cd6eb2f191819.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oR73KmMr-1649577186629)(de9ff9bec7cd40f6997f9692836077cd.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fCfFyclq-1649577186630)(f905a44144ed33991f3b02a41f27636c.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-il6tnnOb-1649577186630)(f023e58540ae1557959d511cef4bf790.png)]
[就像向量是标量的推广,矩阵是向量的推广一样,我们可以构建具有更多轴的数据结构]。 张量为我们提供了描述具有任意数量轴的 维数组的通用方法。 例如,向量是一阶张量,矩阵是二阶张量。 张量用特殊字体的大写字母表示(例如, 、 和 ), 它们的索引机制(例如 和 []1,2−1,3 )与矩阵类似。
当我们开始处理图像时,张量将变得更加重要,图像以 维数组形式出现, 其中3个轴对应于高度、宽度,以及一个通道(channel)轴, 用于表示颜色通道(红色、绿色和蓝色)。 现在,我们先将高阶张量暂放一边,而是专注学习其基础知识。
[两个矩阵的按元素乘法称为Hadamard积(Hadamard product)(数学符号 ⊙ )]。 对于矩阵 ∈ℝ× , 其中第 行和第 列的元素是 。 矩阵 (在 :eqref:eq_matrix_def中定义)和 的Hadamard积为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L13VPxJw-1649577186630)(392d3ef80d64956be9186f749630d3ed.png)]
我们已经学习了按元素操作、求和及平均值。 另一个最基本的操作之一是点积。 给定两个向量 ,∈ℝ , 它们的点积(dot product) ⊤ (或 ⟨,⟩ ) 是相同位置的按元素乘积的和: ⊤=∑=1 。
点积在很多场合都很有用。 例如,给定一组由向量 ∈ℝ 表示的值, 和一组由 ∈ℝ 表示的权重。 中的值根据权重 的加权和, 可以表示为点积** ⊤** 。 当权重为非负数且和为1(即 (∑=1=1) )时, 点积表示加权平均(weighted average)。 将两个向量规范化得到单位长度后,点积表示它们夹角的余弦。 我们将在本节的后面正式介绍长度(length)的概念。
线性代数中最有用的一些运算符是范数(norm)。 非正式地说,一个向量的范数告诉我们一个向量有多大。 这里考虑的大小(size)概念不涉及维度,而是分量的大小。
在线性代数中,向量范数是将向量映射到标量的函数 。 给定任意向量 ,向量范数要满足一些属性。 第一个性质是:如果我们按常数因子 缩放向量的所有元素, 其范数也会按相同常数因子的绝对值缩放:
()=||().
第二个性质是我们熟悉的三角不等式:
(+)≤()+().
第三个性质简单地说范数必须是非负的:
()≥0.
这是有道理的。因为在大多数情况下,任何东西的最小的大小是0。 最后一个性质要求范数最小为0,当且仅当向量全由0组成。
∀,[]=0⇔()=0.
你可能会注意到,范数听起来很像距离的度量。 如果你还记得欧几里得距离和毕达哥拉斯定理,那么非负性的概念和三角不等式可能会给你一些启发。 事实上,欧几里得距离是一个 2 范数: 假设 维向量 中的元素是 1,…, ,其[ 2 范数是向量元素平方和的平方根:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fIZ7LIP3-1649577186631)(52e2fef2cd14201cdca419ee96ee33e5.png)]
其中,在 2 范数中常常省略下标 2 ,也就是说 ‖‖ 等同于 ‖‖2 。 在代码中,我们可以按如下方式计算向量的 2 范数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kDmY2CMK-1649577186631)(29e39c6fabf422703de33fa2c5a74637.png)]
深度学习框架通过自动计算导数,即自动微分(automatic differentiation)来加快求导。 实际中,根据我们设计的模型,系统会构建一个计算图(computational graph), 来跟踪计算是哪些数据通过哪些操作组合起来产生输出。 自动微分使系统能够随后反向传播梯度。 这里,反向传播(backpropagate)意味着跟踪整个计算图,填充关于每个参数的偏导数。
自动求导计算一个函数在指定值上的导数
符号求导
数值求导
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PXoQY35m-1649577186632)(1f9599c74f4d1737e2c5f05598b5205d.png)]
反向累计可以剪枝
向量对向量的导数是个矩阵
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T4763PwS-1649577186633)(d9e9602296b6e65a813e737276e3bed0.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3n1eEw0Y-1649577186635)(856e9c4eca9fb9618fc6986ce3bc62e9.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FZSH8z1m-1649577186635)(465bfc119161196d3f7d97126d1dab3a.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EzeTWzO7-1649577186635)(ed73e11d4f045d4bc350e04799dab82a.png)]
线性回归是对n维输入的加权,外加偏差
使用平方损失来衡量预测值和真实值的差异
线性回归有最优解(只有这个模型有最优解)
线性回归可以看成单层神经网络
挑选一个初始值w0
重复迭代参数t
沿梯度方向将增加损失函数值
学习率:步长的超参数,不能选太长,也不能选太小
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-STMfEjlZ-1649577186635)(34c8fd0fe7eea3c990ecbeea8f94bab9.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4hhaOZj-1649577186636)(d3c64ac3d37d25d0f187556cb6c5c6d1.png)]
在处理骰子掷出时,我们将集合S={1,2,3,4,5,6} 称为样本空间(sample space)或结果空间(outcome space), 其中每个元素都是结果(outcome)。 事件(event)是一组给定样本空间的随机结果。 例如,“看到 5 ”( {5} )和“看到奇数”( {1,3,5} )都是掷出骰子的有效事件。 注意,如果一个随机实验的结果在A 中,则事件A已经发生。 也就是说,如果投掷出 3 点,因为 3∈{1,3,5} ,我们可以说,“看到奇数”的事件发生了。
概率(probability)可以被认为是将集合映射到真实值的函数。 在给定的样本空间 S 中,事件 A 的概率, 表示为 (A) ,满足以下属性:
对于任意事件 A ,其概率从不会是负数,即 (A)≥0 ;
整个样本空间的概率为 1 ,即 (S)=1 ;
对于互斥(mutually exclusive)事件(对于所有 ≠ 都有 ∩=∅ )的任意一个可数序列 A1,A2,… ,序列中任意一个事件发生的概率等于它们各自发生的概率之和,即 (⋃∞=1)=∑∞=1() 。
以上也是概率论的公理,由科尔莫戈罗夫于1933年提出。 有了这个公理系统,我们可以避免任何关于随机性的哲学争论; 相反,我们可以用数学语言严格地推理。 例如,假设事件 1 为整个样本空间, 且当所有 >1 时的 =∅ , 那么我们可以证明 (∅)=0 ,即不可能发生事件的概率是 0 。
很多时候,我们会考虑多个随机变量。 比如,我们可能需要对疾病和症状之间的关系进行建模。 给定一个疾病和一个症状,比如“流感”和“咳嗽”,以某个概率存在或不存在于某个患者身上。 我们需要估计这些概率以及概率之间的关系,以便我们可以运用我们的推断来实现更好的医疗服务。
再举一个更复杂的例子:图像包含数百万像素,因此有数百万个随机变量。 在许多情况下,图像会附带一个标签(label),标识图像中的对象。 我们也可以将标签视为一个随机变量。 我们甚至可以将所有元数据视为随机变量,例如位置、时间、光圈、焦距、ISO、对焦距离和相机类型。 所有这些都是联合发生的随机变量。 当我们处理多个随机变量时,会有若干个变量是我们感兴趣的。