<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Delusional的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Delusional</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Delusional]]></copyright><item><title><![CDATA[Transformer深入理解]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/122152395</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/122152395</guid><author>Delusional</author><pubDate>Sun, 26 Dec 2021 13:27:32 +0800</pubDate><description><![CDATA[前言

Transformer除了本身是一个重要的深度学习模型外，内部的一些实现细节（尤其是self-attention）也经常会使用到，为了防止遗忘，这里对Transformer的实现做一个详细的记录。

（内容是对李宏毅老师课程的记录）



RNNs的缺点和并行化的思想

在RNN类的网络中（SimpleRNN，LSTM，GRU等），有一个很明显的缺点在于该网络无法实现并行化，因为下一步时间步的输入依赖于上一个时间步的输出。而transformer可以很好的解决这一个问题，做到并行化。在讲transf]]></description><category></category></item><item><title><![CDATA[论文阅读笔记：An End-to-End Approach for Document-level Event  Factuality Identification in Chinese]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/115276356</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/115276356</guid><author>Delusional</author><pubDate>Sun, 28 Mar 2021 21:48:45 +0800</pubDate><description><![CDATA[模型结构

文本主要提出了一个用于识别篇章级可信度的端到端的模型，即不用任何其它的特征，仅需要一个最核心的事件和整篇文本来识别篇章级的可信度。

文章中的模型如下所示：



首先对于一个文档D，它的表示为D={S1, S2, …, Sn} ，其中Si表示文章中的第几句话，模型的输入层，Q是根据篇章的核心事件提出的一个问题，如果事件用E来表示，那么问题Q就可以表述为“事件 E 的事实性值是什么”，举个具体的例子，比如篇章中最核心的事件E：United States reach an agreement wi]]></description><category></category></item><item><title><![CDATA[Pytorch简单实现TextCNN]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/114549281</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/114549281</guid><author>Delusional</author><pubDate>Mon, 08 Mar 2021 21:16:08 +0800</pubDate><description><![CDATA[代码来自于博客：https://wmathor.com/index.php/archives/1445/

TextCNN代码的流程分析

TextCNN将图像领域的CNN运用到了文本领域中，在论文Convolutional Neural Networks for Sentence Classification中提出。

TextCNN最核心的就是如下所示的一张图：



图中左边红色方框代表输入的样本（共有两个方框，可以理解为batch_size=2），我们按照图中所示分析红色方框的句子，这个句子中有9个]]></description><category></category></item><item><title><![CDATA[Pytorch实现word2vec(Skip-gram训练方式)]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/114477987</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/114477987</guid><author>Delusional</author><pubDate>Sun, 07 Mar 2021 16:04:21 +0800</pubDate><description><![CDATA[简易版本的word2vec实现

skip-gram原理简述

skip-gram是word2vec的一种训练方法，是核心思想是用中心词预测周围词，相比起用周围词预测中心词的CBOW训练方法，skip-gram训练的“难度更大”，因此训练出来的词向量往往也要比CBOW的要好一些。

从理论到代码最重要的一步就是要认识到在用中心词预测周围词的时候，比如当我们指定窗口为2，那么左右的周围词共有四个，skip-gram的训练过程不是一次性用中心词预测四个词，而是中心词和一个周围词组成一个训练样本，有4个周围词的话]]></description><category></category></item><item><title><![CDATA[使用Pytorch简单实现NNLM（Nerual Network Language Model）]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/114327029</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/114327029</guid><author>Delusional</author><pubDate>Wed, 03 Mar 2021 19:02:41 +0800</pubDate><description><![CDATA[前言

NNLM在NLP中有着举足轻重的地位，该模型将深度学习运用到了NLP中，其副产物词向量更是开创了NLP中预训练模型的先河，此文章使用Pytorch实现了NNLM的模型结构，并用简单的数据进行了模型的训练和测试。

示例代码来自于：https://wmathor.com/index.php/archives/1442/

本文在原博客的基础上进行了一些补充，使其更加通俗易懂。



模型结构分析

NNLM的模型是一个三层的神经网络，如图所示：



NNLM模型的任务是通过句子中的前n-1个词，来.]]></description><category></category></item><item><title><![CDATA[详解Pytorch实现MNIST手写数字识别]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/113437530</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/113437530</guid><author>Delusional</author><pubDate>Sat, 30 Jan 2021 16:57:23 +0800</pubDate><description><![CDATA[目录



1.思路和流程分析

2.准备训练集和测试集

2.1 torchvision.transforms的图形数据处理方法

2.1.1 torchvision.transforms.ToTensor

2.1.2 torchvision.transforms.Normalize(mean, std)

2.1.3torchvision.transforms.Compose(transforms)

2.2准备MNIST数据集的Dataset和DataLoader

3.构建模型

3.1 激...]]></description><category></category></item><item><title><![CDATA[pytorch实现IMDB数据集情感分类（全连接层的网络、LSTM）]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/113357449</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/113357449</guid><author>Delusional</author><pubDate>Sat, 30 Jan 2021 13:19:41 +0800</pubDate><description><![CDATA[任务描述

使用Pytorch相关API，设计两种网络结构，一种网络结构中只有全连接层，一种使用文本处理中最为常用的LSTM，将数据集进行10分类，观察并对比两者的分类效果。

模型情感分类的数据集是经典的IMDB数据集，数据集下载地址：http://ai.stanford.edu/~amaas/data/sentiment/。这是一份包含了5万条流行电影的评论数据，其中训练集25000条，测试集25000条。数据格式如下：



数据的标签以文件名的方式呈现，图中左边为名称，其中名称包含两部分，分别是序号]]></description><category></category></item><item><title><![CDATA[万字长文：深入理解各类型神经网络（简单神经网络，CNN，LSTM）的输入和输出]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/113243765</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/113243765</guid><author>Delusional</author><pubDate>Thu, 28 Jan 2021 15:34:17 +0800</pubDate><description><![CDATA[简单神经网络

当输入为标量

对于一个最简单的神经网络而言，它的一个神经元通常长这个样子：



假设我们有a1, a2, ... , an共n个输入，对于每个输入都给定一个权重w1, w2, ... , wn，再给定一个偏置b，将权重和输入相乘，加上偏置，就得到了一个神经元SUM，SUM的表达式为：SUM = w1 * x1 + w2 * x2 + ... + wn * xn + b，在这里由于各个项都是标量，得到的结果SUM也是一个标量。得到了SUM这个输出神经元后，我们通常会在后面加一个激活函数（上]]></description><category></category></item><item><title><![CDATA[详解使用pytorch实现线性回归]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/113097030</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/113097030</guid><author>Delusional</author><pubDate>Mon, 25 Jan 2021 09:32:31 +0800</pubDate><description><![CDATA[引言

pytorch作为一门主流的深度学习框架，API是非常多的，但使用pytorch搭建神经网络模型时，往往套路又较为固定。因此通过一些实际的例子去熟悉如何搭建模型，如何训练、测试数据，在实践中学习的效果往往要比漫无目的的学语法和API要好的多。

本文主要从最为基础的线性回归着手，严格来说线性回归更多的在机器学习中讨论，但是我们也能搭建一个简单的“神经网络”，用深度学习的套路来解决这个问题，而这个基本套路，即使是在搭建极为复杂的神经网络中也是适用的。
...]]></description><category></category></item><item><title><![CDATA[论文阅读笔记：A Two-Step Approach for Event Factuality Identification]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/110489090</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/110489090</guid><author>Delusional</author><pubDate>Thu, 03 Dec 2020 14:47:18 +0800</pubDate><description><![CDATA[摘要

原文的表述

本文着重于确定事件的事实性。与以往的基于规则的方法不同，本文提出了一种将机器学习和基于规则的方法相结合的新颖的两步方法。首先，构造一个最大熵模型来确定事件确定性程度是否被表达。然后，引入了一组包含提示(cue)和范围(scope)检测的规则，以进一步标识各种事件事实值。实验结果表明，与基于规则的最新系统相比，我们的两步式方法可以实现更高的性能。

本文的工作是按照事件的可信度能否被确定，将其分为两类（具体如何划分在下文会提到），一类使用最大熵模型，另一类使用基于规则的方法，提出两...]]></description><category></category></item><item><title><![CDATA[论文阅读笔记：A Text Mining Approach for Evaluating Event Credibility on Twitter]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/110078658</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/110078658</guid><author>Delusional</author><pubDate>Wed, 25 Nov 2020 22:17:28 +0800</pubDate><description><![CDATA[A Text Mining Approach for Evaluating Event Credibility on Twitter（一种在Twitter上评估事件可信度的文本挖掘方法）

2018 IEEE 27th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises 



Abstract

社交媒体平台上的用户倾向于相信与事件相关的帖子的内容。但是，其中一些事.]]></description><category></category></item><item><title><![CDATA[如何检索、阅读NLP论文]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/109186531</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/109186531</guid><author>Delusional</author><pubDate>Sat, 21 Nov 2020 15:59:50 +0800</pubDate><description><![CDATA[自然语言处理领域顶会：ACL EMNLP NACAL COLING

机器学习/深度学习领域：ICML NIPS UAI AISTATS   ICLR

数据挖掘领域：KDD WSDM SDM

人工智能领域：IJCAI AAAI



每个期刊都会有一个领域的综述，和未来的前景等，可以去看看

可以订阅arXiv，来获取每天的信息





如何检索和阅读论文







期刊的审稿周期比较长，篇幅也比较长（相对可能比会议更详细些）

PaperWeekly比较好



CS Rating...]]></description><category></category></item><item><title><![CDATA[A Sociolinguistic Route to the Characterization and Detection of the Credibility of Event on Twitter]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/109817412</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/109817412</guid><author>Delusional</author><pubDate>Thu, 19 Nov 2020 17:04:17 +0800</pubDate><description><![CDATA[A Sociolinguistic Route to the Characterization and Detection of the Credibility of Events on Twitter（Twitter上表征和检测事件可信度的社会语言学途径）

目录

摘要

介绍

前置知识

可信度的定义和在文中的使用

贡献和主要结果

相关工作

数据集：CREDBANK corpus

事件的语言结构

可信度类别的划分

数据预处理

研究可信度和LIWC / Empath类别的关系

一些额外]]></description><category></category></item><item><title><![CDATA[字典树的创建以及增删改查方法详解（Python实现）]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/109130714</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/109130714</guid><author>Delusional</author><pubDate>Sat, 17 Oct 2020 12:34:13 +0800</pubDate><description><![CDATA[《自然语言处理入门》-2.4字典树 学习笔记

字典树的定义

参考博客：https://blog.youkuaiyun.com/weixin_39778570/article/details/81990417



这里还有一个映射的概念，图中能表示一个个字符串的集合，除了集合的功能之外，字典树也可以实现映射，只需将相应的值悬挂在键的终点节点上即可，后续的代码实现也是关于字典树的映射的。

字典树节点和树的Python代码实现


class Node(object):
    def __init__(self, ]]></description><category></category></item><item><title><![CDATA[在Linux服务器环境下使用yolov3训练自己的数据集（VOC格式）]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/109077041</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/109077041</guid><author>Delusional</author><pubDate>Thu, 15 Oct 2020 18:03:41 +0800</pubDate><description><![CDATA[使用yolov3训练自己VOC格式的数据集的步骤与训练VOC数据集的步骤大致相同，这里只阐述一些重要的不同点，具体可以参考：

在Linux服务器环境下使用yolov3训练voc数据集



省略的步骤：（可以在上述链接中找到）

一、.准备工作：检查cuda版本，创建项目的文件夹等

二、.安装好darknet

三、.下载权重文件测试一下yolov3（选做）



四、创建所需的文件夹

进入到darknet/scripts目录下，创建如下6个文件夹，缩进代表父目录和子目录的关系





五、标...]]></description><category></category></item><item><title><![CDATA[在Linux服务器环境下使用yolov3训练voc数据集]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/108974761</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/108974761</guid><author>Delusional</author><pubDate>Fri, 09 Oct 2020 15:57:56 +0800</pubDate><description><![CDATA[一、通过Xshell等工具连接到Linux服务器

由于我使用的是window电脑，所以需要借助第三方工具来连接服务器，使用mac系统或者Linux系统的话，可以直接在终端使用ssh连接到远程服务器。

可以在服务器中新建一个文件夹来放置项目所需的各种文件。

二、检查服务器中的cuda版本

在服务器终端中输入以下命令，查看cuda的版本，注意V需要大写


nvcc -V

可以看到服务器中的cuda版本是10.0



之所以要检查cuda的版本，是因为之前在cuda9.0版本下，训练数据集后，最后的]]></description><category></category></item><item><title><![CDATA[Pandas知识点总结]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/107536348</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/107536348</guid><author>Delusional</author><pubDate>Thu, 23 Jul 2020 15:25:08 +0800</pubDate><description><![CDATA[Pandas常用数据类型


1.Series 一维，带便签的数组
2.DataFrame 二维，Series容器

创建Series对象


# pandas的常用数据类型：
# 1.Series 一维，带便签的数组
# 2.DataFrame 二维，Series容器
import pandas as pd
import numpy as np
import string

# 创建一个Series对象
t = pd.Series(np.arange(10), index=list(string.asci]]></description><category></category></item><item><title><![CDATA[numpy知识点总结]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/107528196</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/107528196</guid><author>Delusional</author><pubDate>Thu, 23 Jul 2020 10:11:36 +0800</pubDate><description><![CDATA[1. 使用numpy生成数组，得到ndarray的类型


import numpy as np
import random

# 方法1：
t1 = np.array([1, 2, 3])
print(t1)
print(type(t1))

# 方法2：
t2 = np.array(range(10))
print(t2)
print(type(t2))

# 方法3：
t3 = np.arange(4, 10, 2)
print(t3)
print(type(t3))




2. numpy中的数据]]></description><category></category></item><item><title><![CDATA[（LeetCode）使用Python中内置API解决“删除排序数组中的重复项“]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/107521224</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/107521224</guid><author>Delusional</author><pubDate>Wed, 22 Jul 2020 19:46:36 +0800</pubDate><description><![CDATA[题目描述：

给定一个排序数组，你需要在 原地 删除重复出现的元素，使得每个元素只出现一次，返回移除后数组的新长度。

不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。



示例1:

给定数组 nums = [1,1,2],

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

你不需要考虑数组中超出新长度后面的元素。
示例2:

给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新...]]></description><category></category></item><item><title><![CDATA[matplotlib学习总结：06在一张图中绘制多个坐标轴（多个坐标系显示）]]></title><link>https://blog.youkuaiyun.com/Delusional/article/details/107521143</link><guid>https://blog.youkuaiyun.com/Delusional/article/details/107521143</guid><author>Delusional</author><pubDate>Wed, 22 Jul 2020 19:31:45 +0800</pubDate><description><![CDATA[在使用matplotlib绘图的过程中，有时会有将多个不同的图绘制在不同坐标轴上的需求，这个时候就要借助subplots方法来实现。

如果我们想要将上海和北京的天气图显示在同一个图的不同坐标系当中，显示的效果如下图所示：



实现的代码如下，注意点已经在注释中标明：


from matplotlib import pyplot as plt
import random

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 显示中文

# 0]]></description><category></category></item></channel></rss>