详细内容或原文请订阅后点击阅览
胜者为王:了解激活和成本函数
我们为什么要使用我们使用的激活,它们与它们往往同时出现的成本函数有何关系?在这篇文章中,我们提供了一个概念介绍。
来源:RStudio AI博客您正在构建 Keras 模型。如果您从事深度学习的时间不长,那么获取正确的输出激活和成本函数可能需要一些记忆(或查找)。您可能想回忆一下这样的一般准则:
因此,对于我的猫和狗,我正在做 2 类分类,所以我必须在输出层使用 S 型激活,对吧,然后,成本函数是二元交叉熵……或者:我在 ImageNet 上进行分类,那是多类,所以激活是 softmax,然后,成本应该是分类交叉熵……
因此,对于我的猫和狗,我正在做 2 类分类,所以我必须在输出层使用 S 型激活,对吧,然后,成本函数是二元交叉熵…… 我在 ImageNet 上进行分类,那是多类,所以激活是 softmax,然后,成本应该是分类交叉熵……记住这样的东西没问题,但了解一些背后的原因通常会让事情变得更容易更容易。所以我们要问:为什么这些输出激活和成本函数要结合在一起?而且,它们总是必须结合在一起吗?
简而言之
简而言之,我们选择激活,使网络预测我们希望它预测的内容。然后由模型确定成本函数。
这是因为神经网络通常使用最大似然进行优化,并且根据我们为输出单元假设的分布,最大似然会产生不同的优化目标。然后,所有这些目标都会最小化真实分布和预测分布之间的交叉熵(实用地说:不匹配)。
最大似然让我们从最简单的线性情况开始。
回归
对于我们当中的植物学家来说,这是一个非常简单的网络,用于根据萼片长度预测萼片宽度:
教程 模型 <- keras_model_sequence() %>% 模型 <- ( ) %>% layer_dense ( = 32