范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

你用什么方法调试深度神经网络?这里有四种简单的方式哦

  本文作者总结了四种调试深度神经网络的方法,分别是预测合成输出、可视化激活值、梯度分析和分析模型预测。希望这些技巧可以帮助你调试模型哦!
  当你花了几个星期构建一个数据集、编码一个神经网络并训练好了模型,然后发现结果并不理想,接下来你会怎么做?
  深度学习通常被视为一个黑盒子,我并不反对这种观点——但是你能讲清楚学到的上万参数的意义吗?
  但是黑盒子的观点为机器学习从业者指出了一个明显的问题:你如何调试模型?
  在这篇文章中,我将会介绍一些我们在 Cardiogram 中调试 DeepHeart 时用到的技术,DeepHeart 是使用来自 Apple Watch、 Garmin、和 WearOS 的数据预测疾病的深度神经网络。
  在 Cardiogram 中,我们认为构建 DNN 并不是炼金术,而是工程学。
  你的心脏暴露了很多你的信息。DeepHeart 使用来自 Apple Watch、 Garmin、和 WearOS 的心率数据来预测你患糖尿病、高血压以及睡眠窒息症(sleep apnea)的风险。
  一、预测合成输出
  通过预测根据输入数据构建的合成输出任务来测试模型能力。
  我们在构建检测睡眠窒息症的模型时使用了这个技术。现有关于睡眠窒息症筛查的文献使用日间和夜间心率标准差的差异作为筛查机制。因此我们为每周的输入数据创建了合成输出任务:
  标准差 (日间心率)—标准差 (夜间心率)
  为了学习这个函数,模型要能够:
  1. 区分白天和黑夜
  2. 记住过去几天的数据
  这两个都是预测睡眠窒息症的先决条件,所以我们使用新架构进行实验的第一步就是检查它是否能学习这个合成任务。
  你也可以通过在合成任务上预训练网络,以半监督的形式来使用类似这样的合成任务。当标记数据很稀缺,而你手头有大量未标记数据时,这种方法很有用。
  二、可视化激活值
  理解一个训练好的模型的内部机制是很难的。你如何理解成千上万的矩阵乘法呢?
  在这篇优秀的 Distill 文章《Four Experiments in Handwriting with a Neural Network》中,作者通过在热图中绘制单元激活值,分析了手写模型。我们发现这是一个「打开 DNN 引擎盖」的好方法。
  我们检查了网络中几个层的激活值,希望能够发现一些语义属性,例如,当用户在睡觉、工作或者焦虑时,激活的单元是怎样的?
  用 Keras 写的从模型中提取激活值的代码很简单。下面的代码片段创建了一个 Keras 函数 last_output_fn,该函数在给定一些输入数据的情况下,能够获得一层的输出(即它的激活值)。from keras import backend as K
  def extract_layer_output(model, layer_name, input_data):
  layer_output_fn = K.function([model.layers[0].input],
  [model.get_layer(layer_name).output])
  layer_output = layer_output_fn([input_data])
  # layer_output.shape is (num_units, num_timesteps)
  return layer_output[0]
  我们可视化了网络好几层的激活值。在检查第二个卷积层(一个宽为 128 的时间卷积层)的激活值时,我们注意到了一些奇怪的事:
  卷积层的每个单元在每个时间步长上的激活值。蓝色的阴影代表的是激活值。
  激活值竟然不是随着时间变化的!它们不受输入值影响,被称为「死神经元」。
  ReLU 激活函数,f(x) = max(0, x)
  这个架构使用了 ReLU 激活函数,当输入是负数的时候它输出的是 0。尽管它是这个神经网络中比较浅的层,但是这确实是实际发生的事情。
  在训练的某些时候,较大的梯度会把某一层的所有偏置项都变成负数,使得 ReLU 函数的输入是很小的负数。因此这层的输出就会全部为 0,因为对小于 0 的输入来说,ReLU 的梯度为零,这个问题无法通过梯度下降来解决。
  当一个卷积层的输出全部为零时,后续层的单元就会输出其偏置项的值。这就是这个层每个单元输出一个不同值的原因——因为它们的偏置项不同。
  我们通过用 Leaky ReLU 替换 ReLU 解决了这个问题,前者允许梯度传播,即使输入为负时。
  我们没想到会在此次分析中发现「死神经元」,但最难找到的错误是你没打算找的。
  三、梯度分析
  梯度的作用当然不止是优化损失函数。在梯度下降中,我们计算与Δparameter 对应的Δloss。尽管通常意义上梯度计算的是改变一个变量对另一个变量的影响。由于梯度计算在梯度下降方法中是必需的,所以像 TensorFlow 这样的框架都提供了计算梯度的函数。
  我们使用梯度分析来确定我们的深度神经网络能否捕捉数据中的长期依赖。DNN 的输入数据特别长:4096 个时间步长的心率或者计步数据。我们的模型架构能否捕捉数据中的长期依赖非常重要。例如,心率的恢复时间可以预测糖尿病。这就是锻炼后恢复至休息时的心率所耗的时间。为了计算它,深度神经网络必须能够计算出你休息时的心率,并记住你结束锻炼的时间。
  衡量模型能否追踪长期依赖的一种简单方法是去检查输入数据的每个时间步长对输出预测的影响。如果后面的时间步长具有特别大的影响,则说明模型没有有效地利用早期数据。
  对于所有时间步长 t,我们想要计算的梯度是与Δinput_t 对应的Δoutput。下面是用 Keras 和 TensorFlow 计算这个梯度的代码示例:def gradient_output_wrt_input(model, data):
  # [:, 2048, 0] means all users in batch, midpoint timestep, 0th task (diabetes)
  output_tensor = model.model.get_layer("raw_output").output[:, 2048, 0]
  # output_tensor.shape == (num_users)
  # Average output over all users. Result is a scalar.
  output_tensor_sum = tf.reduce_mean(output_tensor)
  inputs = model.model.inputs # (num_users x num_timesteps x num_input_channels)
  gradient_tensors = tf.gradients(output_tensor_sum, inputs)
  # gradient_tensors.shape == (num_users x num_timesteps x num_input_channels)
  # Average over users
  gradient_tensors = tf.reduce_mean(gradient_tensors, axis=0)
  # gradient_tensors.shape == (num_timesteps x num_input_channels)
  # eg gradient_tensor[10, 0] is deriv of last output wrt 10th input heart rate
  # Convert to Keras function
  k_gradients = K.function(inputs=inputs, outputs=gradient_tensors)
  # Apply function to dataset
  return k_gradients([data.X])
  在上面的代码中,我们在平均池化之前,在中点时间步长 2048 处计算了输出。我们之所以使用中点而不是最后的时间步长的原因是,我们的 LSTM 单元是双向的,这意味着对一半的单元来说,4095 实际上是第一个时间步长。我们将得到的梯度进行了可视化:
  Δoutput_2048 / Δinput_t
  请注意我们的 y 轴是 log 尺度的。在时间步长 2048 处,与输入对应的输出梯度是 0.001。但是在时间步长 2500 处,对应的梯度小了一百万倍!通过梯度分析,我们发现这个架构无法捕捉长期依赖。
  四、分析模型预测
  你可能已经通过观察像 AUROC 和平均绝对误差这样的指标分析了模型预测。你还可以用更多的分析来理解模型的行为。
  例如,我们好奇 DNN 是否真的用心率输入来生成预测,或者说它的学习是不是严重依赖于所提供的元数据——我们用性别、年龄这样的用户元数据来初始化 LSTM 的状态。为了理解这个,我们将模型与在元数据上训练的 logistic 回归模型做了对比。
  DNN 模型接收了一周的用户数据,所以在下面的散点图中,每个点代表的是一个用户周。
  这幅图验证了我们的猜想,因为预测结果并不是高度相关的。
  除了进行汇总分析,查看最好和最坏的样本也是很有启发性的。对一个二分类任务而言,你需要查看最令人震惊的假阳性和假阴性(也就是预测距离标签最远的情况)。尝试鉴别损失模式,然后过滤掉在你的真阳性和真阴性中出现的这种模式。
  一旦你对损失模式有了假设,就通过分层分析进行测试。例如,如果最高损失全部来自第一代 Apple Watch,我们可以用第一代 Apple Watch 计算我们的调优集中用户集的准确率指标,并将这些指标与在剩余调优集上计算的指标进行比较。

三星趁乱分一杯羹?联合vivo意图瓜分高通,但是结局却很尴尬在今时今日的芯片市场,高端领域已经被A13麒麟9905G骁龙865联发科1000等芯片所占领,而中端领域,麒麟820和天玑820的排名也是高居不下,而随着荣耀X10和红米10X之间千年老2库克终于对乔布斯下手?iPhone12或成最丑设计,网友不买从iPhoneSE开始,苹果就在库克的带领下向中端市场进军,而新一代的iPhone12也是传闻将会在下半年正式上线,更有消息说,这次iPhone12的售价也将会跌至4开头,相信这将最令人难忘的设计,10年前一夜间被淘汰,10年后厂商却没它不行最近小编在网上看到了这样子的一条言论,为什么不能发明可拆卸的电池?当我看到的时候真的是备受电量煎熬,想赶紧坐下来充电。心想,诶这想法可以,但是再猛然一想,这不是当年键盘机的操作吗?曾经让乔布斯都赶不上,07年卖出100万台5千元手机,今却无人问津早在3月份,HTC就在海外市场发布了一款新机,该机为HTC的Wildfire系列搭载了联发科HelioP23处理器,配备2GB32GB存储组合,但是很可惜的是,这并不是HTC之前透让戴森没了42亿的电动车,为何BYD能成?其中原因让小鹏夹缝生存一直以来,电动车都备受大家的关注,其缓解环境压力价格低廉政府扶持的条件下,电动车的市场也是越发的壮大,而在最近,英国首富戴森CEO詹姆士1戴森却表示,公司将会取消电动车的项目,而该OPPO新机能赢过iPhone?65W90Hz,网友厂妹机也能翻天!要说起OV两厂,大家想得到更多人厂妹们这个词,不过经过品牌的营销和大牌联动,OV早已经是深受大家喜欢的高端机选择之一了。而两个大厂线下的手机产品,Reno和X系列可以说是知名度最广三星霸主又一创新!量子加密严防大国监听,女用户却坚决抵制?在如今的互联网时代,人们在日常生活和工作中,也是越来越注意隐私。而手机作为人们必备物品,安全性也显得尤为重要。就在最近,作为科技行业世界级霸主的三星,又在手机安全性大做文章,以最先夏普手机再突破上限!刷新率高达240Hz?网友看这电池怕是座机早在去年9月份,夏普就发布了新机AQUOSZero2,当时出来的时候,可谓是掀起了轩然大波,而就在最近,这款新机终于在国内市面上发售,约5226rmb。而作为一款6英寸的屏幕的手机TCL再出两款新机!处理器相差一代价格却翻倍?网友难怪高通稳赚早在之前,TCL便发布了TCL10Pro105G10L三款机型。而据之前的消息来看电影最近这两天将会正式开售了。TCL10Pro将会搭载高通骁龙675处理器,并且将会搭载一块6。4联发科压力最大?华为4200万颗芯片涅槃重生,小米魅族熬出头了自从老美对华为采取措施之后,影响最大的应该就是芯片了。就在大家还在讨论华为怎么应对这个问题的时候,联发科却出现在大家面前,有报道称华为新的芯片供应商很可能就是联发科。报道称,华为今时间是累积财富的帮手,还是吞噬财富的恶魔?电影时间规划局描述了一个这样的世界所有人活到25岁后就不再变老,你能够活多久取决于你赚取了多少时间。这是一个用时间来做货币的世界。你工作赚时间,买东西花时间,当你手臂上的时间清零时
注意!互联网保险销售的常见套路随着互联网保险业务的快速发展,互联网保险产品频频被爆出存在营销套路,针对互联网保险领域的监管力度加码升级,成为近期保险行业的焦点所在。哪些套路需要机智规避?记者结合互联网保险投诉最iPhone改地区速度会变快?还有这种骚操作?最近,网上盛传一则有关iPhone更改地区即可让速度变快的消息。在酷安这款App上,有用户表示,将iPhone的地区改为法国,手机会更流畅。原理是苹果降频被法国罚过款,所以不敢对法库克就任苹果CEO十周年营收翻了三倍iPhone卖疯了手机中国新闻十年前的8月24日,蒂姆库克(TimCook)被任命为苹果CEO。十年后,库克怎么样了?苹果又取得了哪些成绩?如果说乔布斯是苹果公司的开创者,那库克可以称得上是巩固者。程序员2021。8。250vivo人才房开建总投资49亿元限价1。2万元8月24日下午消息,继百万年薪招聘芯片研发工程师之后,vivo再次有大动作曝光。vivo总部所在地东莞近日公布的信息显示,总投资49中企芯片订单飙升11倍!美媒我们在封锁什么?前一段时间官方媒体报道,我国芯片市场迎来大涨,尤其是国产芯片,供不应求。如家电芯片,国内生产企业订单涨了11倍不止。芯片行情大好,一方面反映出表现强劲,人们的购买力正在上升,另一方国产芯片传捷报,华为推出新技术,直接绕开ASML光刻机?前不久芯片行业发生了两件大事,第一件事就是,M国又开始对国产芯片新一轮的打击。第二件事就是,国产芯片传来捷报,华为推出新技术,有望绕开ASML光刻机,实现新突破。国产芯片传捷报,华小米MIX4获100万泄密赔偿,蝴蝶效应显现,部分厂商提高金额小米于8月10日召开秋季新品发布会,重磅推出屏下镜头手机小米MIX4,米粉等待三年的惊喜即将揭晓。然而就在发布会的前一天,小米MIX4核心资料全部外泄,足足29页PPT资料不可谓不蔚来涉嫌犯罪?各级别自动驾驶是否靠谱?法专员团队青岛市城阳公证处合作团队山东政法学院法学院友谊合作团队青岛市二手车行业协会法务部知名连锁餐饮品牌创始人林文钦8月12日驾驶一辆蔚来ES8汽车启用NOP领航状态后在沈海高速一加9荣耀50Pro参数报价对比手机机型一加9荣耀50Pro最新价格3799元3999元屏幕尺寸6。55英寸6。72英寸屏幕类型柔性AMOLEDOLED屏幕色彩不支持或参数暂缺10。7亿色DCIP3广色域分辨率2联想高管透露骁龙895的GPU会有大升级,是否会成为火龙?此前消息称,高通正在紧锣密鼓地开发一款代号为SM8450Waipio的芯片,根据爆料称,SM8450也就是高通下一代的旗舰处理器或被命名为骁龙895。由于今年骁龙888表现得不理想中兴Axon30屏下版前置藏得好,自拍也不错此前,我们和大家介绍了中兴Axon30屏下版的显示效果。6。92英寸的超大天幕全景屏带来的大而完整的感官享受,让我们观影游戏体验都有所提升。同时,也有不少小伙伴在好奇,这枚屏幕下面