- 博客(20)
- 资源 (11)
- 收藏
- 关注
转载 【NLP】Google BERT详解
11号论文放上去,12号各个公众号推送,13号的我终于在最晚时间完成了前沿追踪,惊觉上一篇论文竟然是一个月前。。。立个flag以后保持一周一更的频率。下周开始终于要在工作上接触NLP了,之后希望会带来更多自己的东西而不是论文解析。 Attention和Transformer还不熟悉的请移步之前的文章:【NLP】Attention原理和源码解析2. 【NLP】Transformer详解...
2018-12-24 16:09:01 824
转载 详解Transformer (Attention Is All You Need)
前言注意力(Attention)机制[2]由Bengio团队与2014年提出并在近年广泛的应用在深度学习中的各个领域,例如在计算机视觉方向用于捕捉图像上的感受野,或者NLP中用于定位关键token或者特征。谷歌团队近期提出的用于生成词向量的BERT[3]算法在NLP的11项任务中取得了效果的大幅提升,堪称2018年深度学习领域最振奋人心的消息。而BERT算法的最重要的部分便是本文中提出的Tra...
2018-12-24 16:07:28 1047
转载 【NLP】Attention原理和源码解析
对attention一直停留在浅层的理解,看了几篇介绍思想及原理的文章,也没实践过,今天立个Flag,一天深入原理和源码!如果你也是处于attention model level one的状态,那不妨好好看一下啦。 内容:核心思想 原理解析(图解+公式) 模型分类 优缺点 TF源码解析P.S. 拒绝长篇大论,适合有基础的同学快速深入attention,不明白的地方请留言咨询~...
2018-12-24 15:38:18 699
原创 神经网络机器翻译seq2seq+attention(nlp实践3)
本文主要是对上篇没加attention的一个补充,attention实际上是模仿人类翻译的过程,在翻译一个句子时,有时需要根据上下文判断当前要翻译的单词的含义,那么就需要去时时查看下原本的句子,因为句子中有些部分会对当前单词预测的影响很大,那么得把这样的信息加入到预测当前单词的过程中。假如encoder的输入为[X1,...,Xj,...,XTx],即输入句子的最大长度为s,不够时paddin...
2018-12-19 19:39:01 1388
转载 Tensorflow 模型文件结构、模型中Tensor查看
tensorflow训练后保存的模型主要包含两部分,一是网络结构的定义(网络图),二是网络结构里的参数值。1. .meta文件.meta 文件以 “protocol buffer”格式保存了整个模型的结构图,模型上定义的操作等信息。这个文件保存了网络结构的定义。例如 model.ckpt-3072.meta ,大小是 2.9 MB。2. .data-00000-of-0...
2018-12-19 18:49:48 995
转载 tensorflow 笔记8:RNN、Lstm源码,训练代码输入输出,维度分析
tensorflow 官网信息:https://www.tensorflow.org/api_docs/python/tf/contrib/rnn/BasicLSTMCelltensorflow 版本:1.10 如有错误还望指正,一起探讨;当前层各个参数含义:Tensorflow 中RNN单个时刻计算流程: Tensorflow 中 lstm 单个时刻计算流...
2018-12-19 18:27:04 2114 2
转载 学会区分RNN的output和state
写这篇文章的起因是,有人问调用 outputs, last_state = tf.nn.static_rnn(cell, inputs) 之后,last_state 和 outputs[-1] 相等吗?如果不想等,为什么会不等呢?其实这也是学习 RNN 的一大难点。我个人认为,学习 RNN 最难的地方就是弄明白它的输入和输出是什么。一个简单的回答是,对于一个 RNN 单元,它每次接受一个当前输...
2018-12-19 18:06:04 852 3
原创 神经网络机器翻译seq2seq(nlp实践2)
本实践采用的是IWLST TED演讲en_zh数据集,基于tensorflow 实战google深度学习框架(第二版)一书所进行的实验,大部分代码直接是用的书上的,为了更好地巩固知识,所以整理成博客。首先从相关网站上下载数据集,解压,代码如下所示:wget https://wit3.fbk.eu/archive/2015-01//texts/en/zh/en-zh.tgztar xzv...
2018-12-19 14:39:48 2132 1
原创 基于循环神经网络的神经语言模型(nlp实践1)
本实践采用的PTB数据集,基于tensorflow 实战google深度学习框架(第二版)一书所进行的实验,代码直接是用的书上的,为了更好地巩固知识,所以整理成博客。首先得从Tomas Mikolov网站上下载PTB数据集,然后解压并进入文件夹中,wget http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgztar x...
2018-12-17 16:09:44 854 2
原创 linux平台修改pip源
方法一:临时修改# 在pip后指定源pip install ipython -i http://mirrors.aliyun.com/pypi/simple/ 方法二:永久修改# 找到~/.pip/pip.conf,如果不存在就创建# 加入[global]timeout = 10 # 设置超时,单位sindex-url = http://mirrors.aliyun.com...
2018-12-15 16:54:19 8463
转载 自然语言处理nlp全领域综述
*************************精华总结,时间不够只看这个部分就行了1.书和课Michael Collins:COMS W4705: Natural Language Processing (Spring 2015)(重要)Jason Eisner的Lecture Notes:600.465 - Natural Language Processingdan jura...
2018-12-13 17:47:44 5170
原创 包含min函数的栈
思路:由于要求是O(1)的复杂度,那么得多用一个栈来维护最小值,当加入新值时,若比最小值栈的top更小,那么两个栈都需要push,否则只有第一个栈push。在pop值时,若第一个栈的top与最小值栈top相等,那么都得pop,否则只需pop第一个栈,当然我们得先判断栈非空。 class Solution {private: stack<int> s1,s2;pub...
2018-12-12 18:07:36 103
原创 顺时针打印矩阵
思路:通过有规律地变化当前值的横纵坐标来进行螺旋打印,在扫描时不断限制横纵坐标的上限和下限,当然得考虑只有一维的情况。PAT上有个螺旋数组的题是用辅助数组(用来标记该数字是否被扫描过)来限制横纵坐标的范围,但是在此题的case上会超时。 class Solution {public: vector<int> printMatrix(vector<vector<...
2018-12-12 17:45:54 116
原创 二叉树的镜像
思路:求一棵二叉树的镜像,也就是递归交换左右子树的过程。 /*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {publi...
2018-12-11 17:57:03 120
原创 树的子结构
思路:首先区分下树的子结构与子树的不同,子结构可以是树的任何一部分,而不仅仅像子树一样叶结点都是原树的叶结点。判断树B是否是树A的子结构,先从根节点开始匹配判断,如果A根节点不行那么再继续扫描左右子节点。当匹配成功即节点的值相等时,递归进行左右子树的判断。 /*struct TreeNode { int val; struct TreeNode *left; struct Tre...
2018-12-11 17:44:57 134
原创 合并两个排序的链表
思路:归并排序的思路,两两比较,小的先被添加。注意声明并生成新的头结点!!new ListNode(-1) /*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ListNo...
2018-12-05 19:08:27 367
原创 反转链表
思路:注意声明三个指针,第一个用于标记新链表的头结点,第二个用于标记待插入结点,第三个用于保存剩余链表的头结点。注意置新链表的尾结点的next为空,这是一个不断向前插入新结点从而实现翻转的过程,注意判断第三个指针是否存在。 /*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x)...
2018-12-05 17:28:29 165
原创 链表中倒数第k个结点
思路:声明两个指针,让第一个指针先走k步,然后两个指针同时走,当第一个指针指向的对象为NULL时,则返回第二个指针。这里注意对k值的处理,k有可能大于链表的长度,那么倒数第k个结点就为空。 /*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }...
2018-12-05 16:53:12 142
原创 调整数组顺序使奇数位于偶数前面
思路:利用两个辅助数组,奇数放到其中一个数组里,偶数放另一个,最后更新下原数组就可以了。class Solution {public: void reOrderArray(vector<int> &array) { vector<int> temp1,temp2; int len = array.size(); ...
2018-12-04 17:56:23 175
原创 数值的整数次方
思路:零单独处理一下,然后对于exponent,我们先算出它的绝对值,然后计算base的绝对值次方的值,最后根据exponent的符号来处理最终结果。 class Solution {public: double Power(double base, int exponent) { double result = 1.0; if(base!=0)...
2018-12-03 16:07:47 91
斯坦福大学tensorflow教学资料
2017-09-01
ampy文件针对python2.7
2017-04-17
STL源码剖析简体中文完整版
2017-01-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人