苏州木渎做网站,知乎seo排名帝搜软件,西安快速排名,泰安网络公司排行榜文章目录1.基本概念1.1 为什么神经网络中深度网络的表现比广度网络表现好#xff1f;1.2 推导BP算法1.3 什么是梯度消失和梯度爆炸#xff1f;1.4 常用的激活函数有哪些#xff1f;1.5 常用的参数更新方法有哪些#xff1f;1.6 解决过拟合的方法#xff1f;数据层面模型层…
文章目录1.基本概念1.1 为什么神经网络中深度网络的表现比广度网络表现好1.2 推导BP算法1.3 什么是梯度消失和梯度爆炸1.4 常用的激活函数有哪些1.5 常用的参数更新方法有哪些1.6 解决过拟合的方法数据层面模型层面1.7 对卡在极小值的处理方法1.8 为何使用Batch Normalization1.9 学习的本质是什么2.卷积神经网络2.1 1*1卷积核的作用有哪些2.2 CNN的思想是什么2.3 filter尺寸的选择2. 4 输出尺寸计算公式2. 5 pooling池化的作用2.6 常用的CNN模型3.循环神经网络3.1 RNN的原理3.2 RNN、LSTM、GRU区别3.3 LSTM防止梯度弥散和爆炸3.4 word2vec思想4.其他4.1 简述一下GAN网络的原理4.2 GAN的表达式4.3 GAN的实际计算方法1.基本概念
1.1 为什么神经网络中深度网络的表现比广度网络表现好
浅层结构算法其局限性在于有限样本和计算单元情况下对复杂函数的表示能力有限针对复杂分类问题其泛化能力受到一定制约。深度学习可通过学习一种深层非线性网络结构实现复杂函数逼近表征输入数据分布式表示并展现了强大的从少数样本集中学习数据集本质特征的能力。多层的好处是可以用较少的参数表示复杂的函数 深度学习的实质是通过构建具有很多隐层的机器学习模型和海量的训练数据来学习更有用的特征从而最终提升分类或预测的准确性。 浅层神经网络可以模拟任何函数但数据量的代价是无法接受的。深层解决了这个问题。相比浅层神经网络深层神经网络可以用更少的数据量来学到更好的拟合。深层的前提是空间中的元素可以由迭代发展而来的。
1.2 推导BP算法
误差反向传播算法简称反向传播算法即BP算法。使用反向传播算法的多层感知器又称为BP神经网络。BP算法是一个迭代算法它的基本思想为1先计算每一层的状态和激活值直到最后一层即信号是前向传播的2计算每一层的误差误差的计算过程是从最后一层向前推进的这就是反向传播算法名字的由来3更新参数目标是误差变小。迭代前面两个步骤直到满足停止准则比如相邻两次迭代的误差的差别很小。 参考博客
1.3 什么是梯度消失和梯度爆炸
梯度消失这本质上是由于激活函数的选择导致的 最简单的sigmoid函数为例在函数的两端梯度求导结果非常小饱和区导致后向传播过程中由于多次用到激活函数的导数值使得整体的乘积梯度结果变得越来越小也就出现了梯度消失的现象。
梯度爆炸同理出现在激活函数处在激活区而且权重W过大的情况下。但是梯度爆炸不如梯度消失出现的机会多
1.4 常用的激活函数有哪些 1.5 常用的参数更新方法有哪些
参考博客
1.6 解决过拟合的方法
数据层面
采集更多的数据数据增强多用于图像方面
模型层面
dropout regularization batch normalizatin
dropout只在训练的时候用让一部分神经元随机失活。Batch normalization是为了让输出都是单位高斯激活方法是在连接和激活函数之间加入BatchNorm层计算每个特征的均值和方差进行规则化。
1.7 对卡在极小值的处理方法
1.调节步伐调节学习速率使每一次的更新“步伐”不同2.优化起点合理初始化权重weights initialization、预训练网络pre-train使网络获得一个较好的“起始点”如最右侧的起始点就比最左侧的起始点要好。常用方法有高斯分布初始权重Gaussian distribution、均匀分布初始权重Uniform distribution、Glorot 初始权重、He初始权、稀疏矩阵初始权重sparse matrix。
1.8 为何使用Batch Normalization
参考博客 若用多个梯度的均值来更新权重的批量梯度下降法可以用相对少的训练次数遍历完整个训练集其次可以使更新的方向更加贴合整个训练集避免单个噪音样本使网络更新到错误方向。然而也正是因为平均了多个样本的梯度许多样本对神经网络的贡献就被其他样本平均掉了相当于在每个epoch中训练集的样本数被缩小了。batch中每个样本的差异性越大这种弊端就越严重。一般的解决方法就是在每次训练完一个epoch后将训练集中样本的顺序打乱再训练另一个epoch不断反复。这样重新组成的batch中的样本梯度的平均值就会与上一个epoch的不同。而这显然增加了训练的时间。同时因为没办法保证每次更新的方向都贴合整个训练集的大方向只能使用较小的学习速率。这意味着训练过程中一部分steps对网络最终的更新起到了促进一部分steps对网络最终的更新造成了干扰这样“磕磕碰碰”无数个epoch后才能达到较为满意的结果。
1.9 学习的本质是什么
将变体拆分成因素和知识Disentangle Factors of Variation
2.卷积神经网络
2.1 1*1卷积核的作用有哪些
参考博客
1.实现跨通道的交互和信息整合2.进行卷积核通道数的降维和升维
2.2 CNN的思想是什么
改变全连接为局部连接这是由于图片的特殊性造成的图像的一部分的统计特性与其他部分是一样的通过局部连接和参数共享大范围的减少参数值。可以通过使用多个filter来提取图片的不同特征多卷积核。
2.3 filter尺寸的选择
通常尺寸多为奇数1357 通常使用多个小的卷积核效果比使用少量的大的卷积核要好。 2. 4 输出尺寸计算公式
参考博客 输出尺寸(N - F padding*2)/stride 1
步长可以自由选择通过补零的方式来实现连接。 Valid卷积意味着不填充same是填充方式。 总结padding “Valid”N [(W-F2P)/S]1这里表示的是向下取整再加1 padding “same”N [W/S]这里表示向上取整 2. 5 pooling池化的作用
虽然通过.卷积的方式可以大范围的减少输出尺寸特征数但是依然很难计算而且很容易过拟合所以依然利用图片的静态特性通过池化的方式进一步减少尺寸。 可以认为卷积层是特征的生成pooling层是特征的选择。 2.6 常用的CNN模型
参考博客
3.循环神经网络
3.1 RNN的原理
在普通的全连接网络或CNN中每层神经元的信号只能向上一层传播样本的处理在各个时刻独立因此又被成为前向神经网络(Feed-forwardNeuralNetworks)。而在RNN中神经元的输出可以在下一个时间戳直接作用到自身即第i层神经元在m时刻的输入除了i-1层神经元在该时刻的输出外还包括其自身在m-1时刻的输出。所以叫循环神经网络
3.2 RNN、LSTM、GRU区别 3.3 LSTM防止梯度弥散和爆炸
LSTM用加和的方式取代了乘积使得很难出现梯度弥散。但是相应的更大的几率会出现梯度爆炸但是可以通过给梯度加门限解决这一问题。
3.4 word2vec思想
这个也就是Word Embedding是一种高效的从原始语料中学习字词空间向量的预测模型。分为CBOW(Continous Bag of Words)和Skip-Gram两种形式。其中CBOW是从原始语句推测目标词汇而Skip-Gram相反。CBOW可以用于小语料库Skip-Gram用于大语料库。具体的就不是很会了。
4.其他
4.1 简述一下GAN网络的原理
GAN结合了生成模型和判别模型相当于矛与盾的撞击。生成模型负责生成最好的数据骗过判别模型而判别模型负责识别出哪些是真的哪些是生成模型生成的。但是这些只是在了解了GAN之后才体会到的但是为什么这样会有效呢
假设我们有分布Pdata(x)我们希望能建立一个生成模型来模拟真实的数据分布假设生成模型为Pg(x;θθ )我们的目的是求解θθ 的值通常我们都是用最大似然估计。但是现在的问题是由于我们相用NN来模拟Pdata(x)但是我们很难求解似然函数因为我们没办法写出生成模型的具体表达形式于是才有了GAN也就是用判别模型来代替求解最大似然的过程。
在最理想的状态下G可以生成足以“以假乱真”的图片G(z)。对于D来说它难以判定G生成的图片究竟是不是真实的因此D(G(z)) 0.5。这样我们的目的就达成了我们得到了一个生成式的模型G它可以用来生成图片。
4.2 GAN的表达式
通过分析GAN的表达可以看出本质上就是一个minmax问题。其中V(D, G)可以看成是生成模型和判别模型的差异而minmaxD说的是最大的差异越小越好。这种度量差异的方式实际上叫做Jensen-Shannon divergence。
4.3 GAN的实际计算方法
因为我们不可能有Pdata(x)的分布所以我们实际中都是用采样的方式来计算差异也就是积分变求和。具体实现过程如下
有几个关键点判别方程训练K次而生成模型只需要每次迭代训练一次先最大化梯度上升再最小化梯度下降。
但是实际计算时V的后面一项在D(x)很小的情况下由于log函数的原因会导致更新很慢所以实际中通常将后一项的log(1-D(x))变为-logD(x)。
实际计算的时候还发现不论生成器设计的多好判别器总是能判断出真假也就是loss几乎都是0这可能是因为抽样造成的生成数据与真实数据的交集过小无论生成模型多好判别模型也能分辨出来。解决方法有两个1、用WGAN 2、引入随时间减少的噪声