首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Google转换器教程的问题

关于Google转换器教程的问题
EN

Stack Overflow用户
提问于 2021-12-11 21:43:23
回答 1查看 202关注 0票数 0

我想在这里学习Tensorflow转换器教程:

https://github.com/tensorflow/text/blob/master/docs/tutorials/transformer.ipynb

在本教程中,他们从最初的“注意就是你需要的一切”的论文中复制变压器模型的图像。在图像中,变压器模型的最后一层是密集层,然后是Softmax激活。但是,在代码中,我只看到这样的内容:

self.final_layer = tf.keras.layers.Dense(target_vocab_size)

稠密层的定义。但是我在本教程中的任何地方都找不到Softmax激活。

我遗漏了什么?提前感谢您的协助。

EN

回答 1

Stack Overflow用户

发布于 2021-12-12 01:14:25

仔细看一看笔记本,我发现损失函数的计算如下:

代码语言:javascript
复制
loss_object = tf.keras.losses.SparseCategoricalCrossentropy(
    from_logits=True, reduction='none')

正如下面的链接所解释的,将from_logits设置为True可以确保在计算损失期间应用Softmax。

https://datascience.stackexchange.com/questions/73093/what-does-from-logits-true-do-in-sparsecategoricalcrossentropy-loss-function

因此,不需要在变压器模型的密集层中应用Softmax激活。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70319286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档