首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

训练神经网络不工作?一文带你跨过这37个坑

它看起来很好:梯度在变化,损失也在下降。但是预测结果出来了:全部都是零值,全部都是背景,什么也检测不到。我质问我计算机:「我做错了什么?」,它却无法回答。...然后,试着增加正则化强度,这样应该会增加损失。 18. 检查你损失函数 如果你执行是你自己损失函数,那么就要检查错误,并且添加单元测试。...调整损失权重 如果你损失由几个更小损失函数组成,那么确保它们每一个相应幅值都是正确。这可能会涉及到测试损失权重不同组合。 21....监控其它指标 有时损失并不是衡量你网络是否被正确训练最佳预测器。如果可以的话,使用其它指标来帮助你,比如精度。 22. 测试任意自定义层 你自己在网络中实现过任意层吗?...NaNs 出现可能是由于用零作了除数,或用零或负数作了自然对数。

1.1K100

独家 | 你神经网络不起作用37个理由(附链接)

本文列举了在搭建神经网络过程中37个易错点,并给出了解决建议。 有一个网络已经训练了12个小时。一切看起来都很好:梯度是逐渐变化损失在减少。但接下来预测都是零,所有的图像背景都没有被检测到。...——我问我电脑,但它没有回答我。 你从哪里开始检查是否你模型输出了垃圾(例如,预测输出了平均值,或者它准确性真的很差)? 由于许多原因,神经网络可能不会进行训练。...开始逐步添加所有被省略部分:增强/正则化、自定义损失函数、尝试更复杂模型。 如果上面的步骤没有解决问题,那就根据下面的列表逐一验证。 2.数据集问题 ?...监视其他指标 有时候,损失并不最好预测器来判断你网络是否在正常训练。如果可以,请使用其他指标,如准确性。 22. 测试任何自定义层 是否网络中某一层是你自己实现?...此外,你初始化可能会导致错误局部最小值,因此尝试不同初始化,看看是否有帮助。 29. 更改超参数 也许你使用了一组特别糟糕超参数。如果可行,尝试网格搜索。

80310
您找到你想要的搜索结果了吗?
是的
没有找到

独家 | 你神经网络不起作用37个理由(附链接)

一切看起来都很好:梯度是逐渐变化损失在减少。但接下来预测都是零,所有的图像背景都没有被检测到。“我做错了什么?”——我问我电脑,但它没有回答我。...你从哪里开始检查是否你模型输出了垃圾(例如,预测输出了平均值,或者它准确性真的很差)? 由于许多原因,神经网络可能不会进行训练。在许多调试过程中,我经常发现自己在做同样检查。...开始逐步添加所有被省略部分:增强/正则化、自定义损失函数、尝试更复杂模型。 如果上面的步骤没有解决问题,那就根据下面的列表逐一验证。 2.数据集问题 ?...监视其他指标 有时候,损失并不最好预测器来判断你网络是否在正常训练。如果可以,请使用其他指标,如准确性。 22. 测试任何自定义层 是否网络中某一层是你自己实现?...此外,你初始化可能会导致错误局部最小值,因此尝试不同初始化,看看是否有帮助。 29. 更改超参数 也许你使用了一组特别糟糕超参数。如果可行,尝试网格搜索。

76920

入门 | 一文了解什么是语义分割及常用语义分割方法有哪些

我们已经开始发展自动驾驶汽车和智能机器人,这些都需要深入理解周围环境,因此精确分割实体变得越来越重要。 什么是语义分割?...这种了解在诸如自动驾驶、机器人以及图像搜索引擎等许多领域都是非常重要因此,本文讨论主题是使用深度学习方法进行有监督语义分割。...在许多语义分割架构中,CNN 旨在最小化损失函数是交叉熵损失。该目标函数度量预测像素概率分布(在所有类上)和实际概率分布差异。 然而,对语义分割来说,交叉熵损失并不理想。...因为交叉熵损失无法在像素间采用更高级结构,所以交叉熵最小化标签预测一般都是不完整或者是模糊,它们都需要进行后续处理。...L_t 是一个可以捕获预测分割和真实分割之间差异损失函数

81220

入门 | 一文了解什么是语义分割及常用语义分割方法有哪些

我们已经开始发展自动驾驶汽车和智能机器人,这些都需要深入理解周围环境,因此精确分割实体变得越来越重要。 什么是语义分割?...这种了解在诸如自动驾驶、机器人以及图像搜索引擎等许多领域都是非常重要因此,本文讨论主题是使用深度学习方法进行有监督语义分割。...在许多语义分割架构中,CNN 旨在最小化损失函数是交叉熵损失。该目标函数度量预测像素概率分布(在所有类上)和实际概率分布差异。 然而,对语义分割来说,交叉熵损失并不理想。...因为交叉熵损失无法在像素间采用更高级结构,所以交叉熵最小化标签预测一般都是不完整或者是模糊,它们都需要进行后续处理。...L_t 是一个可以捕获预测分割和真实分割之间差异损失函数

1.3K70

神奇!无需数据即可进行机器翻译操作

文章大致遵循了论文结构。我添加了自己看法来解释并简化这些内容。此外,这篇文章需要一些关于神经网络基本知识,如损失函数自动编码器等。...由于该模型已经学习了正确“特征”,从语言A编码器编码,并且使用语言B解码器进行解码将会有效地要求它进行翻译。 正如你可能已经猜到,作者使用了自动编码器来学习一个特征空间。...他们还发现了如何使自动编码器学习一个共同潜在空间(他们称之为一个对齐(aligned)潜在空间),以便执行无监督机器翻译。...在语言中降噪自动编码器 作者使用了一个降噪编码器,以一种无监督方式来学习这些特征。他们所定义损失是: ?...作者使用了对抗性训练。他们使用另一个模型(称为鉴别器),它接收每个编码器输出,并预测被编码句子属于哪一种语言。然后,采用了鉴别器梯度,并对编码器进行了训练,以欺骗鉴别器。

79660

DL | 语义分割综述

这种了解在诸如自动驾驶、机器人以及图像搜索引擎等许多领域都是非常重要因此,本文讨论主题是使用深度学习方法进行有监督语义分割。...在许多语义分割架构中,CNN 旨在最小化损失函数是交叉熵损失。该目标函数度量预测像素概率分布(在所有类上)和实际概率分布差异。 然而,对语义分割来说,交叉熵损失并不理想。...因为交叉熵损失无法在像素间采用更高级结构,所以交叉熵最小化标签预测一般都是不完整或者是模糊,它们都需要进行后续处理。...因此可以自动学习诸如 CRF 高斯核权重这样参数。他们将推理逼近算法步骤重整为卷积,并使用循环神经网络(RNN)对具有完全迭代性质推理算法进行建模。 ?...L_t 是一个可以捕获预测分割和真实分割之间差异损失函数 他们比较了模型在不同时间尺度表现:在 Cityscapes 数据集上评估下一帧(短时间)、下一个 0.5 秒(中等时间)和下一个 10 秒

96920

机器学习常用回归预测模型(表格数据)

贝叶斯回归模型假设先验概率,似然函数和后验概率都是正态分布。...支持向量机能够应用于回归预测任务,主要得益于其ε-不敏感损失函数和核函数技巧。这两个特性使得 SVR 能够处理线性和非线性问题,并防止过拟合,因此它是一种有效回归预测模型。 KNN 回归。...多层感知器 MLP,将样本特征矩阵映射到样本标签空间。开发流程:网络初始化后,进行前向计算,反向传播和优化(损失函数通常为均方误差 MSE),然后进行迭代训练。这种方法也常用于回归预测。...LCE 结合了它们各自优势,并采用了一种互补多样化方法,以获得更好泛化预测模型。...是一个旨在使深度学习与表格数据易于使用和可访问库。

76900

神经网络不起作用37个理由

一切看起来都很好:梯度是逐渐变化损失在减少。但接下来预测都是零,所有的图像背景都没有被检测到。“我做错了什么?”——我问我电脑,但它没有回答我。...你从哪里开始检查是否你模型输出了垃圾(例如,预测输出了平均值,或者它准确性真的很差)? 由于许多原因,神经网络可能不会进行训练。在许多调试过程中,我经常发现自己在做同样检查。...开始逐步添加所有被省略部分:增强/正则化、自定义损失函数、尝试更复杂模型。 如果上面的步骤没有解决问题,那就根据下面的列表逐一验证。...监视其他指标 有时候,损失并不最好预测器来判断你网络是否在正常训练。如果可以,请使用其他指标,如准确性。 22. 测试任何自定义层 是否网络中某一层是你自己实现?...此外,你初始化可能会导致错误局部最小值,因此尝试不同初始化,看看是否有帮助。 29. 更改超参数 也许你使用了一组特别糟糕超参数。如果可行,尝试网格搜索。

74100

7分钟了解Facebook新AI音乐风格迁移

循环一致性概括了以下陈述:F(G(X))≈X,函数G(X)应该有一个对应逆F(X),它近似地返回输入X。通过引入循环一致性损失可以鼓励这种情况,如下所示: ?...由于使用了teacher forcing,FAIR团队模型不是循环一致 – 让我们稍微看看这在实践中意味着什么。 teacher forcing是强化学习一种形式。...WaveNet自动编码器是生成器,领域分类网络是鉴别器。将对抗性项添加到自动编码器损失中可以鼓励自动编码器学习领域不变潜在表示。这就是启用单个自动编码器原因。 ? ?...L(y,y)是以元素方式应用于每个单独y^和目标y交叉熵损失。 解码器Dj是一种自回归模型,它取决于E输出(共享编码器)。 O(s ^ j,r)是应用于具有随机种子r样本增强函数。...C是领域混淆网络,其被训练以最小化分类损失。 λ:负责解析。它确保潜在表示中所有神经元都在学习输入数据不同内容。这是解析变分自动编码器一个关键特性。

1.6K30

入门 | 无需双语语料库无监督式机器翻译

他们还指出如何使编码器学习共同潜在空间(作者在论文中称之为对齐潜在空间),以执行无监督机器翻译。 语言中去噪自编码器 作者使用去噪编码器以无监督方式学习特征。其中定义损失函数为: ?...等式末尾 Δ(x_hat ,x) 项是 token 级别的交叉熵误差总和。由于是通过输入序列得到输出序列,我们需要确保每个 token 都以正确顺序排列。因此最终得到了上式中损失函数。...他们使用了另一个称为鉴别器模型,以每个编码器输出为输入,预测被编码语句所属语言。然后,编码器也要学习欺骗鉴别器。这在概念上和标准 GAN 并没有什么区别。...鉴别器通过每个时间步(由于使用了 RNN)特征向量预测输入所属语言种类。 整合所有部分 将上述三个不同损失自动编码器损失、翻译损失和鉴别器损失)加在一起,所有的模型权重在一个步骤内更新。...由于这是一个序列到序列问题,作者使用了 LSTM 网络,结合注意力机制,即有两个基于 LSTM 编码器,每种语言使用一个。 训练该架构时有三个主要步骤。训练过程是迭代进行

1.1K70

经验分享 | 解决NN不work37个方法

逐步修改,比如重新引入正则化和数据增广,使用自定义损失函数,使用更复杂模型... 如果以上方法都试了,还是不work,那工作量可能就得比较大了: 与数据集相关问题 1....检查损失函数 Check your loss function 如果你损失函数是自己写,那就要检查一下有没有bug,最好可以自己写个单元测试来检查。...检查损失函数输入 Verify loss input 如果你损失函数是由框架提供,那就检查一下模型传递给损失函数输入是否是正确。...调节损失权重 Adjust loss weights 如果你损失函数是由多个损失函数组成,那就要检查一下它们权重是符合你期望,可以尝试一下不同权重。 21....有时候你模型就是需要更多训练时间才能做出准确预测。如果你损失还在稳定地下降,那就让它再多训练一会儿吧~ 32.

1.2K20

【教程】深度学习中自动编码器Autoencoder是什么?

由于解码器输入是压缩知识表示,因此解码器充当“解压缩器”,并从其潜在属性中重建图像。 如何训练自动编码器? 在训练自动编码器之前,需要设置 4 个超参数: 1....由于损失函数没有明确正则化项,因此确保模型不记忆输入数据唯一方法是调节瓶颈大小和网络这一部分(架构)中隐藏层数量。...由于不可能设计出在其隐藏层上具有灵活节点数量神经网络,因此稀疏自动编码器通过惩罚隐藏层中某些神经元激活来工作。换句话说,损失函数有一个项,用于计算已激活神经元数量,并提供与该数量成正比惩罚。...将这两个相互矛盾条件放入一个损失函数中,使我们能够训练一个网络,其中隐藏层现在只捕获最基本信息。此信息对于分离图像和忽略本质上非歧视性信息是必要因此并不重要。...我们所获得图解可以表示为: 因此,变分自动编码器允许我们学习输入数据平滑潜伏状态表示。为了训练 VAE,我们使用两个损失函数:重建损失和另一个是 KL 散度。

1.3K10

AAAI 2024 | U-Mixer:用于时序预测稳态校正 Mixer 结构

这种非平稳性会阻碍特征在深层网络中稳定传播,破坏特征分布,并使学习数据分布变化变得复杂。因此,许多现有模型难以捕捉底层模式,导致预测性能下降。...在交互过程中,采用了跳跃连接来连接MLP层输入和输出特征,以减少特征变换引起信息损失,并提供更全面的特征表示。 MLP由两个线性层、一个GELU激活函数和一个dropout组成,如上图(b)所示。...为了衡量预测值与真实值之间差异,研究者选择了 损失函数损失值从输出端传播至整个模型。...与传统用于时间序列预测任务均方误差(MSE)损失函数相比, 损失函数对异常值不太敏感,这使得模型能够表现出更稳健性能。...模型损失函数定义如下: 实验效果 在数据集方面,研究者采用六个大规模真实时间序列数据集进行长期预测,以评估U-Mixer性能。

61211

从莫扎特到披头士,Facebook 新 AI 轻松转换音乐风格

循环一致性概括了下面的陈述:F(G(X))≈X,函数G(X)应该具有大致返回输入X相应倒数F(X)。这可以通过引入a来促进循环一致性损失,如下所示: 这可以在下面看到: ?...由于使用了 Teacher forcing ,FAIR团队模型不是循环一致 — 让我们稍微绕道一下,看看这在实践中意味着什么。...WaveNet自动编码器是生成器,域分类网络是鉴别器。 将对抗性术语添加到自动编码器损失中(查看下面的等式)可以鼓励自动编码器学习域不变潜在表示。...这就是启用单个自动编码器原因,这是使本文变得很酷关键因素之一。 ? ? 在上面的等式中可以看到很多东西 — 让我们快速分解它。 1....这是解开变分自动编码器一个关键特性,在本视频中对来自Arxiv洞察力变分自动编码器进行了详细解释(跳到此时间戳以专门学习解缠结) 我认为现在开始走到一起了。

49430

【全】一文带你了解自编码器(AutoEncoder)

从直观上来看,自动编码器可以用于特征降维,类似主成分分析PCA,但是其相比PCA其性能更强,这是由于神经网络模型可以提取更有效新特征。...3 自编码器(AutoEncoder)搭建 搭建一个自动编码器需要完成下面三样工作:搭建编码器,搭建解码器,设定一个损失函数,用以衡量由于压缩而损失信息。...编码器和解码器一般都是参数化方程,并关于损失函数可导,典型情况是使用神经网络。编码器和解码器参数可以通过最小化损失函数而优化,例如SGD。...这通常需要向自编码器强加一些约束,使它只能近似地复制,并只能复制与训练数据相似的输入。这些约束强制模型考虑输入数据哪些部分需要被优先复制,因此它往往能学习到数据有用特性。...正则自编码器使用损失函数可以鼓励模型学习其他特性(除了将输入复制到输出),而不必限制使用浅层编码器和解码器以及小编码维数来限制模型容量。

5.2K30

Momentum Contrast for Unsupervised Visual Representation Learning

此外,由于字典关键字来自前面的几个小批量,因此提出了一种缓慢进展关键字编码器,实现为查询编码器基于动量移动平均,以保持一致性。 MoCo是一种为对比学习建立动态词典机制,可以用于各种借口任务。...损失函数:定义损失函数一种常见方式是测量模型预测和固定目标之间差异,例如通过L1或L2损失重建输入像素(例如自动编码器),或者通过交叉熵或基于边缘损失将输入分类到预定义类别(例如八个位置、颜色条...对比预测编码(CPC)中Pretext任务是上下文自动编码一种形式,而在对比多视图编码(CMC)中,它与彩色化有关。...由于本文重点不是设计一种新借口任务,所以我们采用了一个简单借口任务,主要是在[61]实例识别任务之后,与最近一些研究[63,2]相关。...这确保了用于计算查询及其正关键字批处理统计信息来自两个不同子集。这有效地解决了作弊问题,并使培训受益于BN。我们在我们方法及其端到端消融对应物中都使用了混洗BN(图2a)。

1.7K30

首个「类人」模型怎么来

因此,实现完全自主类人智能道路主要有三个挑战: 1.学习世界表征和预测模型,使AI系统能够预测未来,特别是自己行动会导致结果。...关键区别在于,世界模型预测未来是通过学习。 它也不同于RL,因为在这里成本函数是已知,所有模块都是可微,在现实中不需要采取行动。...自监督学习对于文本非常有效,但对于图像来说,当模型被训练进行单一预测时,训练使它们预测是所有可能平均值,因此,SSL产生了模糊预测。...适当对比损失函数需要确保非零边界,以避免能量崩溃。 对比损失函数可以像下面这个方程中铰链损失,那样针对特定数据集进行成对计算。...因此,JEPA可以使用损失函数进行训练,该损失函数除了包括预测误差外,还包括如下图10所示正则化项。 特别是为了防止信息能量崩溃,我们需要确保sx和sy尽可能多地携带关于x和y信息。

26620

Bioinformatics | 通过可解释深度学习预测蛋白质与多肽结合位点

因此,识别参与蛋白质-多肽相互作用结合位点对于理解蛋白质功能和药物发现都是必要。...自注意力机制描述如下: 多头注意力机制基于上述自注意力机制,可表述为如下: 加入前馈网络(FNN)以通过激活函数提取更好表示,其数学描述如下: 由于BERT模型有许多编码器块,因此BERT最终编码过程可以表示为如下...具体来说,为了使相同类别样本具有相似表示而不同类别的样本具有不同表示,作者构建了对比损失作为模型针对批量数据损失函数。...3.4 输出模块 由前面的模块从原始蛋白质序列x中生成位点表示向量z被送入全连接网络,将特征向量转换为位点级别的类别输出,即, 这里使用交叉熵损失函数来训练输出模块以提高预测性能,即, 为了避免交叉熵损失反向传播干扰表示学习模块和由于深度模型...值得一提由于PepNN-Struct方法在预测结合位点时不仅使用了蛋白质结构数据而且还使用了来自多肽信息,因此该方法AUC取得了最高效果,而PepBCL仅使用了蛋白质序列作为输入信息。

1.1K21
领券