近似训练
近似训练
在对跳元模型和连续词袋模型的梯度计算过程中需要求和,所以对于词典而言,求和的梯度计算成本十分巨大。所以我们可以采用负采样和分层softmax
负采样
负采样修改了原目标函数,放弃softmax转而使用sigmoid来实现。
sigmoid的函数定义如下:
我们从最大化文本序列中所有这些事件的联合概率开始训练词嵌入,如果只算正向部分,那对于给定长度为TT的文本序列,以w^(t)表示时间步t的词,并使上下文窗口为m,最大化联合概率为:
而负采样添加从预定义分布中采样的负样本。
...
Perceptron
Perceptron
原理
简单的感知机可以看作一个二分类,假定我们的公式为
f(x) = sign(w *x + b)
我们把 -b 做为一个标准,w* x
的结果与 -b 这个标准比较,
w*x > -b, f(x) = +1
w *x < -b, f(x) = -1
不难看出w是超平面的法向量,超平面上的向量与w的数量积为0。因此这个超平面就可以很好的区分我们的数据集。
而感知机就是来寻找w和b
优化方法
优化方法我们现有的方法比较多,诸如GD、SGD、Minibatch、Adam
当然我们的损失函数也包含多种,常见的有MSE,...
图像增广
图像增广
图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模,提高泛化能力。
随机翻转
例如,现在有一张小狗的照片,我们可以借助transforms的RandomHorizontalFlip()来翻转。
翻转之后的结果如下图。
随机裁剪
我们可以通过随机裁剪降低模型对目标的敏感性,可用RandomResizedCrop()来实现。
改变颜色
我们也可以通过调整图片亮度、对比度、饱和度、色调来扩充数据集。
结合
我们结合前面的多种方法可以扩充我们的数据集,以实现训练精度提升的效果。
SoftMax指北
SoftMax指北
softmax函数,又称归一化指数函数。是将多分类的结果用概率的形式表示出来,而各种预测结果概率和为1,下图为SoftMax的计算方法。
e的zi次方保证了结果非负,除以总和保证了总和为1,这样就可以得出近似的概率。
代码示例
这边选用Fashion-Mnist作为示例.
第一步下载数据集
1234train_data = torchvision.datasets.FashionMNIST("./data/mnist",train=True,download=True)train_loader = torch.utils.data.DataLoader(train_data,batch_size = 8, shuffle = True)val_data = torchvision.datasets.FashionMNIST("./data/mnist",train=False,download=True)val_loader =...