皇冠体育寻求亚洲战略合作伙伴,皇冠代理招募中,皇冠平台开放会员注册、充值、提现、电脑版下载、APP下载。

首页科技正文

ipfs矿机拼团(www.ipfs8.vip):神经网络debug太难了,这里有六个适用技巧_新2手机管理端网址

admin2021-10-1774

新2手机管理端网址

www.9cx.net)实时更新发布最新最快最有效的新2手机管理端网址,包括新2手机网址,新2备用网址,皇冠最新网址,新2足球网址,新2网址大全。

,2021-06-11 15:52 机械之心Pro

机械之心报道

编辑:Liyuan、蛋酱神经网络的 debug 历程着实不容易,这里是一些有所辅助的 tips。

基于神经网络的项目瓶颈通常并非对网络的实现。有时刻,在编写了所有代码并实验了一大堆超参数设置之后,网络就是无法正常事情。尤其是面临着数百万的参数, 任何一个小更改都有可能前功尽弃。

在面临林林总总的问题后,有人总结了一些辅助调试神经网络的适用 tips,希望能够削减人人调试神经网络的成本。

检查梯度问题

有时梯度是引发问题的缘故原由。下面是几种与梯度相关的调试方式:数值盘算每个权重的梯度。这通常被称为「梯度检查」,有助于确保准确盘算梯度,其中一种方式是使用有限差分。 对照每个权重的巨细和梯度的巨细。要确保巨细的比率是合理的。若是梯度巨细远小于权重巨细,网络将破费很长时间举行训练。若是梯度巨细与权重巨细大致相同或更大,网络将异常不稳固,可能基本不会训练。检查梯度爆炸或消逝。若是梯度变为 0 或 nan/infinity,则可以确定网络没有被准确训练。需要首先弄清晰为什么会发生爆炸 / 消逝梯度,是否步数太大。一旦弄清晰梯度爆炸 / 消逝的缘故原由,就有种种解决方案来解决这个问题,例如添加残差毗邻以更好地流传梯度或简朴地使用较小的网络。激活函数也会导致梯度爆炸 / 消逝。若是 sigmoid 激活函数的输入太大,梯度将异常靠近 0。随着时间的推移检查激活函数的输入,然后确保这些输入不会导致梯度始终为 0 或很大。

检查训练历程

经常检查网络的训练进度可以节约时间。以训练贪吃蛇游戏为例,不是训练网络好几天,然后再检查网络是否学到了什么,而是每十分钟用当前学到的权重运行游戏。几个小时后,若是我们注重到每次都在做同样的事情而且获得零奖励,就知道可能有问题了,而这节约了几天的训练时间。

不要依赖定量输出

若是只查看定量输出,我们可能会错过有用的调试信息。例如,在训练语音翻译网络时,比起只检查评估函数是否在削减,更主要的是阅读翻译后的语音以确保它有意义;当训练一个用于图像识其余网络时,一定要确保手动检查网络提供的标签。

不应该依赖定量输出的缘故原由有两个:首先,评估函数中可能存在错误。若是只查看错误评估函数输出的数字,可能需要数周时间才气意识到泛起问题。其次,在神经网络输出中可能存在无法定量显示的错误模式。我们可能会意识到某个特定单词总是被错误翻译,或者在左上象限的图像识别网络总是错误的。这些考察效果反过来可以辅助找到数据处置部门的代码 bug,否则这些 bug 将被忽视。

实验小数据集

确定代码是否存在 bug 或数据是否难以训练的另一种方式是首先拟合较小的数据集,好比将数据集中 100000 个训练示例修剪成只有 100 个甚至 1 个训练示例。若是在一个训练示例的情形下,网络仍然有很高的测试错误,不能够异常好地拟合数据,那么险些可以一定网络代码有问题。

实验更简朴的网络

若是全尺寸网络在训练时遇到问题,可以实验使用层数较少的较小网络,这样可以更快地训练。若是较小的网络在全尺寸网络失败的情形下乐成了,则解释全尺寸模子的网络架构过于庞大。若是简朴网络和全尺寸网络都失败,则代码中可能存在 bug。

试着使用框架

若是没有使用机械学习框架编写神经网络的代码,那么可以通过在机械学习框架中编写相同的网络架构来检盘问题何在。然后将打印语句放入非框架版本和框架版本中逐层对照输出,直到找到打印语句泛起差异的位置,即错误所在。若是在反向流传时代发生错误,则可以从最后一层最先逐层打印权重的渐变,直到找到差异。然则此方式仅适用于网络的第一次迭代,由于由于第一次迭代输出的差异,第二次及以后的迭代将具有差其余起点。

皇冠足球app

www.huangguan.us)是一个开放皇冠即时比分、代理最新登录线路、会员最新登录线路、皇冠代理APP下载、皇冠会员APP下载、皇冠线路APP下载、皇冠电脑版下载、皇冠手机版下载的皇冠新现金网平台。皇冠官网平台上登录线路最新、新2皇冠网址更新最快,皇冠体育APP开放皇冠会员注册、皇冠代理开户等业务。

网友评论

1条评论