zoukankan      html  css  js  c++  java
  • 深度学习-面试

    但是一般写程序的时候,我们想直接在test时用   , 这种表达式。(where  ) 

    因此我们就在训练的时候就直接训练  。 所以训练时,第一个公式修正为    。 即把dropout的输入乘以p 再进行训练,这样得到的训练得到的weight 参数就是  ,测试的时候除了不使用dropout外,不需要再做任何rescale。Caffe 和Lasagne 里面的代码就是这样写的。

     面试一些题目:

    时间复杂度:O(T*n*k*m)

    n:元素个数,k:第一步中选取的元素个数,m:每个元素的特征项个数,T:第5步中迭代的次数

    batch norm的作用:

    全连接层后,激励层前

    a)避免训练过程中网络层落入饱和区导致的梯度消失,加快网络训练

    b)减少对初始值的依赖

    c)实际是一种正则化,减少对dropout的需求

    dropout层

    a)别让神经元记住太多东西,有一种泛化能力

    b)每次关掉一部分感知器,得到一个新的模型,做融合,不听一家之言

    防止过拟合:

    a)数据扩充(resize 256*256 随机裁剪227*227,水平翻转)

    b)dropout

    c)正则化 weight_decay

    d)early stop

    正则化能够解决过拟合

    偏差和方差之间的一个tradeoff

    5次多项式比2次多项式复杂,正则化是一种控制模型复杂度的一种方法

    梯度下降迭代的不动点(梯度为0的点)有三类——极大值,极小值,鞍点

    极小值!=最小值

    鞍点saddle point)的数学含义是:目标函数在此点上的梯度(一阶导数)值为 0但从改点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。

    1.梯度下降能找到函数极小值。
    2.能找到极小值的原因是负梯度方向是函数值最速下降方向。(泰勒展开)
    3.想要用梯度下降找到最小值要求是凸函数。
    4.1如果不是凸函数,要么把目标函数近似成凸函数
    4.2.或者用一些智能优化算法例如模拟退火,以一定的概率跳出局部极值,但是这些算法都不保证能找到最小值。

     

    对批量梯度下降法和随机梯度下降法的总结:

    批量梯度下降---最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小,但是对于大规模样本问题效率低下。

    随机梯度下降---最小化每条样本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方向,但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近,适用于大规模训练样本情况。

  • 相关阅读:
    svn 提交失败 更新失败 提示 已经锁定
    Jquery 弹出提示框输入插件 apprise 修改中文按钮以及使用说明
    英文 数字 不换行 撑破div容器
    .clear 万能清除浮动
    Repeater 控件 当数据源没有数据的时候显示 暂无数据 的两种方式
    已以用户 NT AUTHORITYSYSTEM 的身份执行。 对象 名称 'XXX' 包含的前缀超出了最大限值。最多只能有 2 个。
    EasyUI的onLoadSuccess方法
    安装完office后 在组件服务里DCOM配置中找不到
    怎么看SQL表里某列是否是自增列
    SQL连接服务器链接失败
  • 原文地址:https://www.cnblogs.com/wuxiangli/p/7192217.html
Copyright © 2011-2022 走看看