在训深层练神经网络时,由于模型参数较多,在数据量不足的情况下,很容易过拟合。Dropout 就是在神经网络中一种缓解过拟合的方法。 我们知道,缓解过拟合的方式就...
我们都知道增加网络的宽度和深度可以很好提高网络的性能,深的网络一般都比浅的的网络效果好。比如,一个深的网络 A 和一个浅的网络 B,那 A 的性能至少都能跟 B...
在 NLP 任务中主要处理带有序列关系的文本数据,这就需要了解循环(递归)神经网络。下图是一个简单的循环神经网络: 网络中包含一个神经元,但是它具有不同的时间步...
1. pad_sequence pad_sequence 函数通过填充的方式,将同一个 batch 中的 sequences 通过默认填充 0 的方式,变成最长...
PyTorch 提供了两种损失函数的使用方法:函数形式、模块形式,函数形式的损失函数定义在 torch.nn.functional 库中,使用时传入神经网络的预...
Transformer 是谷歌在 2017 年的论文 《Attention Is All you Need》中提出的一种新架构,它在多项 NLP 任务上效果很不...
神经网络的训练有时需要几天、几周、甚至几个月,为了在每次使用模型时避免高代价的重复训练,我们就需要将模型序列化到磁盘中,使用的时候反序列化到内存中。 PyTor...
传统的梯度下降优化算法中,可能会碰到以下情况: 碰到平缓区域,梯度值较小,参数优化变慢 碰到 “鞍点” ,梯度为 0,参数无法优化 碰到...
在 Python 中使用 ctypes 模块可以很轻松定义 C 类型的变量,以及调用 C/C++ 函数. 1. 基础类型变量 程序输出结果: 2. 指针类型变量...
我们简单介绍下,C/C++ 编写的扩展函数,导入到 Python 中使用。步骤如下: 编写使用 Python/C API 编写 C/C++ 函数 编写 setu...
https://docs.python.org/3.8/c-api/ 导出函数: setup.py 文件: Python 调用文件: 程序运行结果:
神经网络模型一般都是靠随机梯度下降算法进行训练和参数更新。网络的收敛效果很大程度上受到网络参数初值的影响。不合理的网络参数初始化,可能会导致 “梯度...
网络参数初始化的优劣在极大程度上决定了网络的最终性能。比较推荐的初始化方式有 He 初始化是,将参数初始化为服从高斯分布或均匀分布的较小随机整数,同时对参数方差...
自然语言是用来表达含义的系统,词是其基本单元。在计算机处理中,我们需要把自然语言中的词进行数值化,才能够让计算机识别处理。 最简单的将词进行词嵌入的方法是:on...
冀公网安备13050302001966号