NLP/PyTorch 实现 Skip-gram

NLP/PyTorch 实现 Skip-gram

代码实现:https://github.com/zhangxiann/Skip-gram

这篇文章来说下如何使用 PyTorch 实现 Skip-gram,文中会出现一些数学公式。

CBOW 和 Skip-gram 是两种训练得到词向量的方法。其中 CBOW 是从上下文字词推测目标字词,而 Skip-gram 则是从目标字词推测上下文的字词。在大型数据集上,CBOW 比 Skip-gram 效果好;但是在小的数据集上,Skip-gram 比 CBOW 效果好。本文使用 PyTorch 来实现 Skip-gram 模型,主要的论文是:Distributed Representations of Words and Phrases and their Compositionality

以“the quick brown fox jumped over the lazy dog”这句话为例,我们要构造一个上下文单词与目标单词的映射关系,以quick为目标单词,假设滑动窗口大小为 1,也就是左边和右边各取 1 个单词作为上下文,这里是thebrown,可以构造映射关系:(the, quick),(brown, quick),这样我们就构造出两个正样本。

阅读更多
Python/python 使用 concurrent.futures 多进程注意事项

Python/python 使用 concurrent.futures 多进程注意事项

线程池和进程池

concurrent.futures 是 Python3.2 加入标准库的一个模块,它提供异步执行回调高层接口,是对线程池和进程池的进一步封装,让开发者可以使用统一的接口非常容易的使用线程池和进程池。

这个模块中有两个核心的类:ThreadPoolExecutor (线程池)和ProcessPoolExecutor(进程池)。

阅读更多
NLP/TfidfVectorizer、CountVectorizer 和 TfidfTransformer 的简单教程
图像分割介绍

图像分割介绍

图像分割是什么

我们对图像分类比较熟悉,图像分类是指对一张图片进行分类,而图像分割是对每一个像素进行分类。如下所示:

阅读更多
论文/图神经网络论文解读:Event-Stream Representation for Human Gaits Identification Using Deep Neural Networks

论文/图神经网络论文解读:Event-Stream Representation for Human Gaits Identification Using Deep Neural Networks

Title

Event-Stream Representation for Human Gaits Identification Using Deep Neural Networks

Summary

使用 event cameras 进行图像识别、活动识别相比 RGB 摄像机有很多优势。 event cameras 低功耗、计算资源少,采集的数据采样率高,采集速率是毫秒级别的,可以避免运动模糊和快门问题,动态范围更广,可以适应复杂的光线环境。

阅读更多
PyTorch/图神经网络 PyTorch Geometric 入门教程

PyTorch/图神经网络 PyTorch Geometric 入门教程

简介

Graph Neural Networks 简称 GNN,称为图神经网络,是深度学习中近年来一个比较受关注的领域。近年来 GNN 在学术界受到的关注越来越多,与之相关的论文数量呈上升趋势,GNN 通过对信息的传递,转换和聚合实现特征的提取,类似于传统的 CNN,只是 CNN 只能处理规则的输入,如图片等输入的高、宽和通道数都是固定的,而 GNN 可以处理不规则的输入,如点云等。 可查看【GNN】万字长文带你入门 GCN

阅读更多
GCN 从理论到源码分析

GCN 从理论到源码分析

GNN 简介

在 CNN 中,模型的输入数据一般都是固定宽高的数据,比如图片,这类数据在形状上是规则的,称为欧几里得结构化数‘据。而许多重要的现实世界数据集以图表或网络的形式出现:社会网络、知识图表、蛋白质相互作用网络、万维网等,这种数据是不规则的,没有固定形状,称为非欧几里得结构化数据。虽然 CNN 取得了巨大的成功,然而却不能直接把 CNN 应用到这种数据上。近年来一些研究致力于把 RNN 和 CNN 推广到非欧几里得结构化数据,出现了很多新的算法。包括谱卷积和空间卷积,其中Defferrard et al. (NIPS 2016) 基于类神经网络模型学习的自由参数Chebyshev多项式的谱域近似平滑滤波器在 MNIST 数据集上取得了很好的效果。而基于谱卷积 (spectral graph convolutions),衍生出了Kipf & Welling (ICLR 2017),不仅运算更加快速,而且在一些基准数据集上的准确率也更高。

阅读更多
Java/如何中断线程

Java/如何中断线程

先来说以下已经被抛弃的用于中断线程的方法: - 通过调用stop()方法停止线程 这种方法是不安全的。比如线程 A 调用线程 B 的stop()方法去停止 B 线程,但是 线程 A 是不知道线程 B 的执行情况的,这种突然的停止会导致线程 B 的一些清理工作还没完成就被强制停止了,而且线程 B 会立刻释放所占有的锁,这有可能会引发数据不同步的问题

阅读更多
PyTorch/[PyTorch 学习笔记] PyTorch 常见报错信息
论文/2019 ICCV 最佳论文 -- SINGAN