笔记
文章平均质量分 70
六七~
应用数学方向,爱好AI。数学硕士,人工智能算法,数学优化算法开发等。主要做元学习,强化学习,对抗攻防,CV和NLP都有接触。需要合作论文,私聊哦!代码和数学理论都不拖后腿。
展开
-
pytorch实现自注意力(self-attention)
import torchimport torch.nn as nnimport torch.nn.functional as Fclass Attention_Layer(nn.Module): #用来实现mask-attention layer def __init__(self, hidden_dim, is_bi_rnn): super(Attention_Layer,self).__init__() self.hi原创 2021-03-22 18:37:15 · 12681 阅读 · 22 评论 -
python3.6+torch1.2实现Sentiment Analysis(数据集MR)
总共是下面几个文件:注意,最后一个是json文件,里面是电影影评数据集MR的划分出来的训练集生成的词典。是个字典文件,也可以自己再弄一个。在训练集上训练了10个epoch,结果大概是上图这个样子1、创建model_para.py文件,里面是模型的超参数。import argparseclass Hpara(): parser = argparse.ArgumentParser() ############# insert paras #############原创 2020-12-23 13:57:03 · 1254 阅读 · 9 评论 -
使用torch加载模型时出现字典键对应不起来的问题
问题描述:RuntimeError: Error(s) in loading state_dict for Model:Missing key(s) in state_dict: “MLP.3.weight”, “MLP.3.bias”, “MLP.6.weight”, “MLP.6.bias”.Unexpected key(s) in state_dict: “MLP.2.weight”, “MLP.2.bias”, “MLP.4.weight”, “MLP.4.bias”.这几天天天改bug,改原创 2020-11-25 12:19:21 · 987 阅读 · 1 评论 -
Python3.7+Tensorflow2.0(TF2)实现Bilstm+mask-self-attention+CRF实现命名实体识别
一、他说的是对的前几天看到一篇关于大连理工大学的研三学长的去世新闻,仔细看了他的遗书,很是泪目。他说同样的条件,做出的实验结果是不同的。在训练我这个模型的时候,深深体会到了这个感受,有时候收敛,有时候无论怎么也不收敛。可能这个还容易解释一点,模型的很多参数是初始化的,不同的参数会跑到局部最you,模型陷在了一个局部最优点,出不去。可能我这个模型的结构和参数都有问题,在训练过程中,损失最低也就是0.9+,然后别的一直就很高,都是三位数的损失,然后在测试集上训练的损失也很高,很是头疼的。希望大家一起加油原创 2020-10-20 15:41:08 · 4459 阅读 · 11 评论 -
Tensorflow2.0 Tensorflow_addons实现CRF(条件随机场)
最近想使用TF2.0实现一下命名实体识别,但是不大知道条件随机场该怎么实现,在网上搜了一下也没看到。今早吃饭的时候还在想我一定要亲自实现TF2版本的条件随机场。结果就在上课的时候突然发现了谷歌把contrib迁移到Tensorflow_addons里面import tensorflow_addons as tfaimport tensorflow as tfimport numpy as npinputs=tf.random.truncated_normal([2,10,5])target=tf原创 2020-10-16 11:13:53 · 4970 阅读 · 4 评论 -
Python+numpy实现隐马尔可夫模型的前向后向算法
一、两种算法大致弄一下吧,如果你已经看到了我的博客,说明你已经对这个算法有了一定的了解,我就不介绍了,大致看下李航老师书上的吧,很简单的,下面的算法我是直接从这篇博客上截的图刘建平Pinard十分感谢,我不想打公式,如有侵权,立马删除二、一点点思考:为什么可以使用这种递归计算除了里面具有动态规划的思想 我觉得可以这样实现还得益于概率计算的链式法则也就是P(a,b,c,d)=p(a)p(b∣a)p(c∣a,b)p(d∣a,b,c)P(a,b,c,d)=p(a)p(b|a)p(c|a,b)p(d|a原创 2020-10-11 15:41:06 · 584 阅读 · 1 评论 -
Python3.6和tensorflow1.14实现Bi-LSTM+Self-Attention+CRF实现命名实体识别
一、自己亲自实现过程中踩的坑跑通别人的模型可能很简单,但是自己亲自实现的时候却遇到各种各样的问题。不过还算比较幸运,自己目前遇到的问题,基本上都被前人解决了。其实这个模型网上一大堆,至于为什么要亲自实现,我给自己的理由是:如果我们想做点比较新颖的东西,那网上一定是没有的,终究还是要自己亲自实现,或者说去修改别人的代码。厚积薄发吧!!和大家分享一下自己遇到的坑,也算是警示后来人吧。1.1、TF1.14版本如何构建多层的LSTM或者别的RNN模型网上看到这样实现的。这样是不正确的,要是这样写,会各种报错原创 2020-10-10 17:26:37 · 3275 阅读 · 4 评论 -
李航老师《统计学习方法》第二版第十一章课后习题答案
11.1、写出图11.3中无向图描述的概率图模型的因子分解式。解:根据最大团的定义可知,该最大团共有两个最大团,李航老师的书上也指了出来。分别是:c1=(Y1,Y2,Y3),c2=(Y2,Y3,Y4) c_{1}=(Y_{1},Y_{2},Y_{3}), c_{2}=(Y_{2},Y_{3},Y_{4})c1=(Y1,Y2,Y3),c2=(Y2,Y3,Y4)那么根据Hammersley-Clifford定理,可以将图11.3上面的无向图的联合概率分布表示为:P(Y)=1Z∗Ψc1(原创 2020-10-05 16:50:23 · 4222 阅读 · 4 评论 -
Python和TensorFlow2实现ELMO(Embedding From Language Model)模型,并对源码做了一些改进
一、ELMO模型简介1.1、模型概要该模型主要是结合了字符卷积神经网络和双向LSTM网络。其中字符卷积网络是生成上下文无关的词向量表示,接着将该字符卷积神经网络的输出大小调整的LSTM需要的大小512(论文里面是这个)。再利用LSTM结构提取上下文相关的词向量表示。在这里我想要介绍下这个完整的模型,花了我很多时间,看了无数博客和文章以及近2000行的论文源码才把这个模型彻底搞清楚。啊哈哈哈,也不能说彻底吧,我自己的理解肯定是有限的。希望各位能批评指正,大家一起进步1.2 、字符卷积模块卷积层的构成原创 2020-10-01 12:33:15 · 3080 阅读 · 1 评论 -
multiprocessing,_Thread,threading多线程多进程编程各种方法总结
如果您使用的是Windows系统,那么这一节的所有的程序都需要在cmd里面运行,例如python xxx.py。或者加上详细的路径进行运行,例如python python E:\并发编程\08使用继承方式创建进程.py。只有这种方法才可以在交互模式下看到子进程的输出结果。现在好像还没有很好的解决方法。在此特别感谢微信公众号:小猿学Python和北京尚学堂提供的资料和教程并发编程1、多任务在现实生活中,有很多场景中的事情是同时进行的。例如:开车的时候,手和脚需要共同操作来完成驾驶。再比如演唱会中唱歌和原创 2020-07-26 23:56:13 · 694 阅读 · 2 评论 -
李航老师《统计习方法》第二版第二十一章课后题答案以及关于PageRank的改进算法
1、李航老师《统计学习方法》第二版第二十一章课后题答案21.1 假设方阵A是随机矩阵,即其每个元素的非负,每列元素的和为1,证明AkA^{k}Ak仍然是随机矩阵,其中k是自然数。证明:为了方便的使用矩阵乘法,我们令A=ATA=A^{T}A=AT,也就是A是一个行随机矩阵,每行的元素之和为1.设eee是一个元素全为1的列向量,他的维数和矩阵A的位数是一样的。那么Ae=e(1)Ae=e\tag{1}Ae=e(1)在公式(1)的两边同时用AAA作用,得A∗Ae=A2e=Ae=e(2)A*Ae=A^{原创 2020-07-22 18:30:32 · 6821 阅读 · 1 评论