人工智能之家
文章平均质量分 91
..
Muasci
keep open
keep real
keep smiling
不要忘记命运掌握在自己的手里,确保做的每一件事,都是自己选择去做的,成为时间这敌人的主宰,成为自己的存在。记得常怀愤怒,并把它转化成热情,选择一切、拥抱一切、坚持一切、把一切视作敌人、战胜一切。<----曾经的发言( ╯□╰ )
展开
-
[机器学习]——信息、信息熵、KL散度、交叉熵
前言假设有随机事件X和随机事件X’,两者拥有同样的m大小的样本空间(可能发生的事件),但两个满足不同的分布:P和Q(同一个事件发生的概率可能不同)。信息当X=x_i时,表明x_i这个实值所对应的事件发生了,此时x_i这个事件的信息(自信息)定义为:I(xi)=−logp(xi)I(x_i) = -logp(x_i)I(xi)=−logp(xi)由公式可知,x_i这个事件发生的概率越大,则它所包含的信息就越少。信息熵信息是单个事件x_i的信息量,而信息熵是随机事件X的信息量,定义为:H(X原创 2021-06-18 23:08:27 · 255 阅读 · 1 评论 -
ELMo预训练模型使用
文章目录前言导入预训练模型后续使用拓展前言并没有了解很多相关,依旧是基于现在在看的这份代码。代码中的ELMo是用allennlp库导入的。导入预训练模型首先设定weights路径和options路径。比如:weigthtshttps://s3-us-west-2.amazonaws.com/allennlp/models/elmo/2x4096_512_2048cnn_2xhighway/elmo_2x4096_512_2048cnn_2xhighway_weights.hdf5optio原创 2020-11-16 18:09:12 · 1729 阅读 · 4 评论 -
inside-outside algorithm详解
前言这篇文章用白话讲解inside-outside算法,以及算法在EM评估中的应用。原PDF说,inside-outside算法与马尔可夫模型中的前向、后向算法有类似之处,这一点我进一步理解。基础定义inside-outside algorithm目前只讲到了α是怎么计算的,β还没来得及整理。...原创 2020-11-05 17:10:53 · 1366 阅读 · 0 评论 -
CFG与PCFGs算法详解
文章目录前言CFGCFG的基础介绍CFG的派生过程CFG的含糊性问题PCFGsPCFG的基础介绍PCFG的训练过程(问题二的解答)PCFG的解码(parsing)过程——CKY解码(问题三的解答)inside算法inside-outside补充补充一:关于PCFGs的参数训练问题:补充二:修正关于inside algorithm:前言原先的笔记记在了one-note上,所以就用图片的形式分享吧,见谅.本文基于学长发的Michael Collins关于PCFG的slides,做一个总结(翻译)。主要介绍原创 2020-10-28 17:22:01 · 3147 阅读 · 2 评论 -
lstm from scratch
前言pytorch官网做的是名字生成的任务。tutorial里是自定义的rnn,我自定义了一个最简单的lstm。lstm模型参考的是Understanding LSTM Networks完整实验过程import torchimport torch.nn as nnfrom __future__ import unicode_literals, print_function, divisionfrom io import openimport globimport osimport u原创 2020-10-10 14:32:27 · 273 阅读 · 0 评论 -
迟到的transformer encoder代码详解
前言与传统序列模型不同,transformer的创新点在于能够捕捉语义全局信息(同时通过position embedding考虑到了序列之间的位置关系)、能够并行化计算…想通过本文的代码层面的记录,让我和大家一眼就可以知道(或者记起)transformer模型的架构以及实现方法。但背后究竟是什么原理,本文没有深究。从“TransformerEncoder” 类说起这个类实现了transformer的encoder的所有功能:word_embedding(1) + position_embeddi原创 2020-09-24 00:28:33 · 7517 阅读 · 0 评论 -
tensorboard使用
文章目录正文参考正文创建runsfrom torch.utils.tensorboard import SummaryWriter# default `log_dir` is "runs" - we'll be more specific herewriter = SummaryWriter('runs/fashion_mnist_experiment_1')2.cd到runs外的目录下,命令行执行????复制????的网址打开:增加图片# get some ra原创 2020-09-23 09:46:47 · 199 阅读 · 0 评论 -
torch保存、读取模型
方法一:将整个模型保存、读取:torch.save(model, PATH)model = torch.load(PATH)方法二:仅保存模型的state_dict()、读取:torch.save(model.state_dict(), PATH)state_dict = torch.load(PATH)这时仅读取了state_dict,还需要:new_model.load_state_dict(torch.load(PATH)) # 其中的new_model是新初始化的模型..原创 2020-09-23 09:04:08 · 1719 阅读 · 0 评论 -
pytorch规范化训练过程(Mnist分类任务)
前言:之前的一个暑假跟着师兄做了一些任务,开学了发现自己成了一名代码搬运工。就比如dataloader封装环节,我自己还是写不出,所以借着pytorch综合实践上机课的机会,想重新学一学pytorch。文章是参照pytorch官网的教程WHAT IS TORCH.NN REALLY?,将最后的mnist分类任务过程做了整合。正文:第一步:下载mnist数据集from pathlib import Pathimport requestsimport pickleimport gzipDATA原创 2020-09-16 18:25:28 · 365 阅读 · 0 评论 -
nn.Conv1d\nn.Conv2d以及groups\dilation参数的理解
nn.Conv1d代码:nn.Conv1d(in_channels = 16, out_channels = 16, kernel_size = (3,2,2), stride = (2,2,1), padding = [2,2,2])如果输入为:x = torch.randn(10,16,30,32,34)则:10代表:batch_size16代表:输入的通道数30,32,34代表图片(或其他)的大小那么经过这个nn,输出的规格为[10,16,16,18,37]公式如下:d(原创 2020-09-16 15:54:33 · 12310 阅读 · 9 评论 -
NLP任务之文本对分类
任务上一篇是句子的情感分类任务(文本分类),这一篇是基于pytorch的文本对分类任务。链接提取码:t2ta流程第一步:基于中文wikipedia训练中文词向量预料地址:链接提取码:ihu4使用gensim库的WikiCorpus,将xml文件转到txt文件from gensim.corpora import WikiCorpusinput_path = 'zhwiki-latest-pages-articles.xml.bz2'output_path = 'zhwiki.txt原创 2020-08-30 16:31:34 · 363 阅读 · 0 评论 -
NLP任务之情感分类
文章目录背景流程第一步:统计单词数分布(数据可视化)第二步:预处理第三步:定义模型第四步:训练第五步:测试参考背景使用pytorch框架下的CNN、RNN,并使用词向量,完成情感分类。使用的语料集如下:链接提取码:5uvl流程第一步:统计单词数分布(数据可视化)from collections import Counterimport matplotlib.pyplot as pltlen_lst = []with open(r"train_positive.txt",'r',enco原创 2020-08-30 16:30:53 · 488 阅读 · 0 评论 -
模型训练通知(钉钉)
前言knockknock这个库可以在你的模型训练结束时,以邮件、短信、微信群、钉钉群等方式通知你。具体操作参考三行代码开启模型训练通知——董雄结果展示funny原创 2020-08-05 16:02:19 · 273 阅读 · 0 评论 -
pytorch的cuda版本匹配,但运行依旧报错
问题使用nvidia-smi查看服务器的cuda版本,发现是10.1,于是去官网下载对应cuda版本的pytorch(1.6.0)。然而,在跑代码的时候,依旧报错,说版本不匹配解决下载1.3.0版本的pytorch(对应的cuda版本为10.0),然后成功...原创 2020-08-02 22:02:38 · 1492 阅读 · 0 评论 -
BILSTM+CRF用于NER原理与代码详解(+并行化的理解)
前言:命名实体识别命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。本次实验中,使用Conll2003dataset数据集,其中含有三个文件:数据集共包含:B-MISC\B-ORG\B-LOC\I-MISC\I-ORG\I-LOC\I-PER\O,这8类实体类型。原理介绍:接下来将介绍BILSTM+CRF用于NER,模型用李宏毅老师课中一张生动图表示为:下层是RNN、LSTM等序列模型,输入单词序列,输出原创 2020-07-30 23:12:22 · 3781 阅读 · 4 评论 -
jupyter配置与远程访问服务器
前言想要在服务器上打开jupyter,并在本地的浏览器中将其打开。本文分为两部分来介绍。第一部分,对于解决远程访问服务器并没有帮助,主要在介绍anaconda的安装,和更换jupyter 内核的操作。第二部分主要介绍如何实现jupyter远程访问服务器(*)。配置jupyter notebook第一步:安装anaconda1.从官网下载linux对应版本的anaconda:2.将下载的Anaconda3-2020.07-Linux-x86_64.sh文件,通过WinSCP,拖到你的目录下:原创 2020-07-26 16:14:16 · 651 阅读 · 5 评论 -
维特比算法(基于李航)
本文完全基于李航老师的《统计学习方法第2版》前言先介绍一下HMM隐式马尔科夫主要解决三大基本问题:1.概率计算问题(已知模型参数,观测序列出现的概率):直接计算法,复杂度为O(TNT)O(TN^T)O(TNT),不实际前向算法,复杂度为O(TN2)O(TN^2)O(TN2)后向算法2.学习问题(已知观测序列,估计模型参数)监督学习方法:计算简单,但需要大量的人工标注无监督学习方法(Baum-Welch算法)3.预测问题(已知观测序列,估计状态序列)近似算法:贪心算法,获得每一原创 2020-07-19 14:56:50 · 990 阅读 · 0 评论 -
层次化动态路由encoding
文章目录前言背景提出问题动态路由模型反向动态路由模型层次化动态路由总结前言最近做大创,实验室老师给了一个模型,一开始看老师的论文看不太懂。后来要了这篇原paper,地址如下:InformationAggregationviaDynamicRoutingforSequenceEncoding如果你打不开,那就点下面的镜像链接:InformationAggregationviaDynamicRoutingforSequenceEncoding以后如果要访问arxiv,可以采用下面的方法:如何访问a原创 2020-07-14 13:57:43 · 431 阅读 · 0 评论 -
torch.nn.utils.rnn.pad_packed_sequence()的注意事项
提要看了很多讲解pytorch如何处理RNN变长padding的博客,我自己也写了一篇。但大家都没有提到一个问题,就是torch.nn.utils.rnn.pad_packed_sequence()的参数问题。(其实也不是个问题,只是大家没有提到)我当时在用ESIM模型做文本关系推理,git下来的代码就用到了变长处理(当时看了很久)。但会出现一个问题:比如我设定max_len的长度是200,也就是经过padding后所有的句子统一长度为200。当前batch中,如果最长的句子实际长为135,那,经过pa原创 2020-07-11 01:39:53 · 1048 阅读 · 1 评论 -
DSSM(以及CNN-DSSM,LSTM-DSSM)
DSSM(Deep Structured Semantic Models)CNN-DSSMLSTM-DSSM原创 2020-07-06 22:16:46 · 3349 阅读 · 0 评论 -
DSSM、CNN-DSSM、孪生网络、ARC-II、MV-LSTM、BERT
Welcome to MatchZoo’s documentation!有一部分模型:原创 2020-07-05 21:36:30 · 1213 阅读 · 0 评论 -
决策树-连续值处理代码
数据集是西瓜数据集3.0,里面的密度和含糖率是连续特征。关于函数的注解写在代码中。import numpy as npfrom math import logimport operatorfrom collections import Counter# 获取数据集(西瓜数据集3.0)def get_data(): # 特征矩阵 feat_matrix = np.arra...原创 2020-05-04 17:18:24 · 1557 阅读 · 4 评论 -
pytorch热门项目(b站)
图像分类图像分类+识别图片风格转换两张图片之间的风格转换一段话描述一张图情感分析问答系统seq2seq翻译聊天机器人游戏GPT2原创 2020-04-28 20:57:02 · 337 阅读 · 0 评论 -
常用激活函数(仅公式与图像)
sigmoid:f(x)=11+e−xf(x)= {\frac{1}{1+e^{-x}}}f(x)=1+e−x1tanhrelur(x)=max(0,x)r(x) = max(0,x)r(x)=max(0,x)softplusf(x)=log(1+ex) f(x) = \log{(1+e^x)} f(x)=log(1+ex)tobecontinued原创 2020-04-28 20:32:26 · 1008 阅读 · 0 评论 -
决策树的生成与剪枝(原理与代码)
决策树的剪枝(ID3、C4.5)1.预剪枝原理介绍 预剪枝需要将训练集划分成训练集和验证集两部分。在根据训练集生成决策树时,面对一个已经被选中的(信息增益最大)的待划分特征,需要根据验证集在该特征划分前、划分后两种情况下不同的精确度来决定是否划分。若划分后的精确度高于或者等于划分前,则划分;若划分后的精确度小于划分前,则直接给定该特征的叶子结点,其类别标签为训练样例数最多的类别。实例分析...原创 2020-04-21 15:07:58 · 4258 阅读 · 0 评论 -
RNN与LSTM
RNNX为不同时间的输入向量,h是隐藏层,o是输出层,RNN中隐藏层中的hi与距离它很远的hj关系不是很大,以至于输出的o与o之间,只有临近的才有所联系,而我们的语言不是这样,,就比如这句话,中间的…可能很长,通过前面的france预测后面的franch很难实现。LSTM斯认为与RNN相比,是隐藏层有所不同。LSTM的隐藏层有两个元素,h很好理解,存储的就是隐藏层的状态;c存储的则是长期状...原创 2020-04-16 14:02:03 · 455 阅读 · 0 评论 -
朴素贝叶斯
贝叶斯一个例子:假设小明有3个苹果,1个梨,其中单个苹果已经烂掉的概率为1/3,单个梨已经烂掉的概率为2/3.问:小明拿出一个水果,它已经烂了,那么它最可能是苹果还是梨呢。解:设W1表示苹果、W2表示梨,X表示烂掉这一事件。则,P(W1) = 3/4;P(W2)=1/4;P(X|W1)=1/3;P(X|W2)=2/3。问的是在已知烂了这一事件发生的条件下,分别可能是两种水果种类的概率,取较大的...原创 2020-04-03 18:24:13 · 241 阅读 · 0 评论 -
基于随机森林来选择特征
参考地址: https://www.toutiao.com/a6644771438534328836/当数据集的特征过多时,容易产生过拟合,可以用随机森林来在训练之后可以产生一个各个特征重要性的数据集,利用这个数据集,确定一个阈值,选出来对模型训练帮助最大的一些特征,筛选出重要变量后可以再训练模型;本文所...转载 2020-04-01 18:30:20 · 579 阅读 · 0 评论 -
支持向量机之SMO
支持向量机支持向量机一般可以分成线性可分支持向量机线性支持向量机非线性支持向量机线性可分支持向量机:什么是线性可分?超平面为什么是w*x + b = 0?考虑一个二维平面,w和x都是以原点为起点的向量,x在w上的投影长度可以写作: |x||w|cosθ,是一个定值,设为b,则 |x||w|cosθ = b。也就是说,超平面描述了一个平面,从原点出发,末尾落到该平面上的向量...原创 2020-03-30 22:14:18 · 426 阅读 · 0 评论 -
感知机/代码
感知机于1957年由Rosenblatt提出,是神经网络和支持向量机的基础。适用于二类分类的线性分类模型,通过输入特征向量,输出得到实例的类别。感知机对应于输入空间中将实例划分为正负两类的分离超平面。主要思想就是:导入基于误分类的损失函数,利用梯度下降法对损失函数最小化,求得感知机模型。在下例中,调用了鸢尾花数据集,特征集Y选取的是三类中的其中两类分类;由于想把特征可视化,选取特征集中的两类...原创 2020-03-27 15:12:30 · 287 阅读 · 1 评论 -
梯度下降、L1范式
import numpy as npdef get_data(file_name): with open(file_name) as fil: X = [] X_one_line = fil.readline() while X_one_line != '': X.append([eval(i) for i in X...原创 2020-03-07 17:13:32 · 511 阅读 · 0 评论 -
模型评估流程
测试误差作为泛化误差的近似先使用某种评估方法得到训练集和测试机再使用分类器分的样本中的正例和负例然后计算评估指标,判断分类器好坏1、评估方法之训练集和测试集的确定留出法:直接将数据集划分为两个互斥集合训练集和测试集的划分要尽可能保持数据分布的一致性一般若干次随即划分、重复实验取平均值训练样本和测试样本的比例:2-1\3-1\4-1只一次,随机性太大,说服力不强k折交叉验证...原创 2020-03-03 22:45:41 · 1013 阅读 · 0 评论 -
pip install pytorch碰到的各种问题
*本文结合我当天遇到的不同困难,给出不同的解决方案*原创 2020-02-23 21:45:57 · 3782 阅读 · 2 评论