| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 人工智能 -> 9--RNN -> 正文阅读 |
|
|
[人工智能]9--RNN |
有隐藏状态的循环神经网络????????假设在时间步t有小批量输入 ????????从相邻时间步的隐藏变量 ? ? ? ? 其实循环神经网络与MLP不同的地方就在于,中间隐藏层的更新会依赖于上一时间步的隐藏层。(下图中蓝色的点为隐藏层)
基于循环神经网络的字符级语言模型?????????根据过去的词与当前的词来对下一个词进行预测,可以将词的原始序列位移一个词源作为一个标签。考虑使用神经网络来进行语言建模,设小批量大小为1,批量中的那个文本序列为“machine”。这里考虑字符级语言模型,下图展示了如何通过之前以及当前字符预测下一个字符。
? ? ? ? 在训练过程中,对每个时间步的输出都进行一个softmax操作,并利用交叉熵损失计算模型输出和标签之间的误差。 困惑度(Perplexity)? ? ? ? 对于语言模型预测的结果,通过计算序列的似然概率来度量模型的质量。?一个更好的语言模型应该能更准确地预测下一个词元。因此,它在压缩序列时花费更少的比特。所以可以通过一个序列中所有的n个词元的交叉熵损失的平均值来衡量: ????????其中P由语言模型给出,?xt是在时间步t从该序列中观察到的实际词元,上式的指数则称为困惑度,即下一个词元的实际选择数的调和平均数
????????在最好的情况下,模型总是完美地估计标签词元的概率为1(即预测结果为一个词元),?在这种情况下,模型的困惑度为1。?在最坏的情况下,模型总是预测标签词元的概率为0,在这种情况下,困惑度是正无穷大。在基线上,该模型的预测是词表的所有可用词元上的均匀分布,困惑度等于词表中唯一词元的数量。 实例? ? ? ? 基于时光机器数据集来训练模型,具体代码如下:
? ? ? ? 运行结果如下,500个epoch后困惑度达到了1.3。
????????另外,这里分别使用训练前和训练后的模型对“time?traveller”后续词元进行续写,可以看出模型训练前完全是随机性的预测字符串,虽然训练后的模型预测结果语义上不太通顺,但预测出来的单词大部分是正确的(该模型的词元是字符)。 ? ? |
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/29 4:45:15- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |