Broadcasting
Broadcasting 也叫广播机制(自动扩展也许更合适),它是一种轻量级张量复制的手段, 在逻辑上扩展张量数据的形状,但是只要在需要时才会执行实际存储复制操作。对于大部分场景,Broadcasting 机制都能通过优化手段避免实际复制数据而完成逻辑运算,从而相对 于 tf.tile 函数,减少了大量计算代价。
标量
在TensorFlow 中,标量最容易理解,它就是一个简单的数字,维度数为 0,shape 为 []。标量的典型用途之一是误差值的表示、各种测量指标的表示,比如准确度(Accuracy, acc),精度(Precision)和召回率(Recall)等。
神经元模型
成年人大脑中包含了约 1000 亿个神经元,每个神经元通过树突获取输入信号,通过轴突传递输出信号,神经元之间相互连接构成了巨大的神经网络,从而形成了人脑的感知和意识基础
梯度下降算法(Gradient Descent)是神经网络训练中最常用的优化算法,配合强大的图形处理芯片 GPU(Graphics Processing Unit)的并行加速能力,非常适合优化海量数 据的神经网络模型,自然也适合优化我们这里的神经元线性模型,梯度下降算法是深度学习的核心算法,对于复杂的非线性模型,通过梯度下降算法求解到的𝑤和𝑏可能是局部极小值而非全局最小值解,这是由模型函数的非凸性决定的。但是我们在实践中发现,通过梯度下降算法求得的数值解,它的性能往往都能优化得很好,可以直接使用求解到的数值解𝑤和𝑏来近似作为最优解。
如果希望模型能够在新样本上也能具有良好的表现,即模型泛化能力(Generalization Ability)较好,那么我们应该尽可能多地增加数据集的规模和多样性(Variance),使得我们用于学习的训练数据集与真实的手写数字图片的分布(Ground-truth Distribution)尽可能的逼近,这样在训练数据集上面学到了模型能够很好的用于未见过的手写数字图片的预测
MNIST
它包含了 0~9 共 10 种数字的手写图片,每种数字一 共有 7000 张图片,采集自不同书写风格的真实手写图片,一共 70000 张图片。其中 60000张图片作为训练集𝔻train(Training Set),用来训练模型,剩下10000 张图片作为测试集 𝔻test(Test Set),用来预测或者测试,训练集和测试集共同组成了整个 MNIST数据集。
非线性模型
目前我们所采用的多神经元模型仍是线性模型,表达能力偏弱,接下来我们尝试解决这 2 个问题(线性模型,表达能力)。
既然线性模型不可行,我们可以给线性模型嵌套一个非线性函数,即可将其转换为非线性模型。我们把这个非线性函数称为激活函数(Activation function),用𝜎表示: o = 𝜎(𝑾𝒙+ 𝒃) 这里的𝜎代表了某个具体的非线性激活函数
线性模型 :线性模型是机器学习中间最简单的数学模型之一,参数量少,计算简单,但是只能表达线性关系。即使是简单如数字图片识别任务,它也是属于图片识别的范畴,人类目前对于复杂大脑的感知和决策的研究尚处于初步探索阶段,如果只使用一个简单的线性模型去逼近复杂的人脑图片识别模型,很显然不能胜任
表达能力 :上面的解决方案只使用了少量神经元组成的一层网络模型,相对于人脑中千 亿级别的神经元互联结构,它的表达能力明显偏弱,其中表达能力体现为逼近复杂分布的能力
特别地,对于网络中间的层, 叫做隐藏层,最后一层叫做输出层。这种由大量神经元模型连接形成的网络结构称为(前馈)神经网络(Neural Network)
过拟合与欠拟合
当模型的容量过大时,网络模型除了学习到训练集数据的模态之外,还把额外的观测误差也学习进来,导致学习的模型在训练集上面表现较好,但是在未见的样本上表现不佳,也就是泛化能力偏弱,我们把这种现象叫做过拟合(Overfitting)。当模型的容量过小 时,模型不能够很好的学习到训练集数据的模态,导致训练集上表现不佳,同时在未见的样本上表现也不佳,我们把这种现象叫做欠拟合(Underfitting)。