- 博客(155)
- 资源 (8)
- 收藏
- 关注
转载 LSTM和GRU的动态图解
编者按:关于LSTM,之前我们已经出过不少文章,其中最经典的一篇是chrisolah的《一文详解LSTM网络》,文中使用的可视化图片被大量博文引用,现在已经随处可见。但正如短视频取代纯文字阅读是时代的趋势,在科普文章中,用可视化取代文字,用动态图取代静态图,这也是如今使知识更易于被读者吸收的常规操作。今天,论智给大家带来的是AI语音助理领域的机器学习工程师Michael Nguyen撰写的一篇...
2020-01-08 16:20:46
739
2
原创 tensorflow2.0 在pycharm下无提示
tensorflow2.0 使用keras一般通过tensorflow.keras来使用,但是pycharm没有提示,原因是因为实际的keras路径放在tensorflow/python/keras,但是在程序中tensorflow又没有python这个目录,解决方法如下:try: import tensorflow.python.keras as kerasexcept: ...
2020-01-02 23:19:48
1539
转载 Transformer原理到实践详解
本篇博客并没有什么独特见解之处,只是单纯的再一次加强巩固学习。因为接触到的不少项目用到了,还是要拿过来好好研究学习一下的。原文链接:https://blog.csdn.net/qq_41664845/article/details/84969266代码详见:http://nlp.seas.harvard.edu/2018/04/03/attention.html-Transformer:...
2019-12-16 22:29:54
1346
原创 NLP学习之随笔(7)
Noisy Channel Model???? ???????????????? ???????????????????????? ∝ ???? ???????????????????????? ???????????????? ????(????????????????)应用场景:语音识别,机器器翻译,拼写纠错,OCR,密码破解机器翻译:P(中文|英文) = P(英文|中文)P(中文)其中P(英文|中文)为translationModel P(中文)为language Mod
2019-09-23 23:15:25
153
原创 NLP学习之随笔(6)
基于检索的问答系统(Recap: Retrieval-based QA System)我们输入一句话。需要计算语料库中每句话和当前输入这句话的相似度,然后返回相似度最高的那个。这种方法的时间复杂度为O(N),,如果语料库中的有10^7个问题,那么在计算一个输入的时候,要计算10^7次。针对该方法,我们可以优化处理。核心思想为:层次过滤思想。我们可以先计算出...
2019-09-23 16:54:30
185
原创 NLP学习之随笔(5)
上篇讲到,一般的one-hot编码,在一定程度上是没有考虑语义的。这样就无法求得语义相似度。所以我们采用分布式词向量来表示单词。但是这个分布式词向量我们怎么得到呢?一般通过一些深度学习的模型来训练得到。比如Skip-gram,glove,gensim,cbow等。计算词向量之间的相似度。我们: [0.1, 0.2, 0.4, 0.2]爬山: [0.2, 0.3, ...
2019-09-23 16:29:19
138
原创 NLP学习之随笔(4)
文本表示输入一句文本,但是计算机不认识。那么我们怎样才能让计算机理解文本呢?这就涉及到文本的表示。1:one-hot编码One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除...
2019-09-20 21:47:44
138
原创 NLP学习之随笔(3)
Spell Correction (拼写错误纠正)那么什么是拼接错误纠正。请看一下例子。简而言之,就是用户的输入和用户真正要输入的存在一定的出入。这种出入可以是英文的拼写错误,也可以是中文的同音词。那么对于拼写错误,我们应该去如何解决呢。比如there 和therr。用户的输入可能是therr,但是手误写成了thera,那么首先我们要在一大堆候选单词里选择there...
2019-09-20 19:33:44
197
原创 NLP学习之随笔(2)
上篇提到在NLP中,最大分词几个缺点。1:效率低下2:受限于最大匹配长度限制3:没有考虑语义。我们这次重点来考虑下语义问题。假设我们现在有个黑盒子工具。这个工具可以帮助我们筛选出分词效果最好的那个。首先输入为:经常有意见分歧。我们可以生成所有的可能分割。例如:S1:经常/有/意见/分歧S2:经常/有/意见/分歧S3:经常/有/意/见/分歧S4:经...
2019-09-20 13:42:01
131
原创 NLP学习之随笔(1)
NLP一般的处理流程为:原始文本(raw data)--->分词(Segmentation)---->清洗数据(Cleaning)---->标准化(Normalization)---->特征提取(Feature Extraction)----->建模(Modeling)1:分词常见的分词工具有:Jieba分词https://github.com/f...
2019-09-19 23:00:13
145
原创 生成指定编辑距离的单词
给定一个单词,我们也可以生成编辑距离为K的单词列表。 比如给定 str="apple",K=1, 可以生成“appl”, "appla", "pple"...等 下面看怎么生成这些单词。 还是用英文的例子来说明。 仍然假设有三种操作 - 插入,删除,替换def generate_edit_one(str): """ 给定一个字符串,生成编辑距离为1的字符串列表。 ""...
2019-09-18 22:22:56
289
原创 用Python计算字符串之间的编辑距离
# 基于动态规划的解法def edit_dist(str1, str2): # m,n分别字符串str1和str2的长度 m, n = len(str1), len(str2) # 构建二位数组来存储子问题(sub-problem)的答案 dp = [[0 for x in range(n+1)] for x in range(m+1)]...
2019-09-18 22:13:09
1992
原创 用LSTM写古诗词
1:整体思路就是先统计古诗词中的词频,进行词到数字的映射。生成poems_vector(词向量),word_to_int(词数字映射关系),words(词表)。预处理古诗词代码:import collectionsimport numpy as npdef process_poems(file_path): poems = [] with open(fil...
2019-08-17 22:25:02
1017
原创 tf.nn.dynamic_rnn详解
函数原型tf.nn.dynamic_rnn( cell, inputs, sequence_length=None, initial_state=None, dtype=None, parallel_iterations=None, swap_memory=False, time_major=False, ...
2019-08-17 10:50:59
2387
转载 Attention原理及TensorFlow AttentionWrapper源码解析
本节来详细说明一下 Seq2Seq 模型中一个非常有用的 Attention 的机制,并结合 TensorFlow 中的 AttentionWrapper 来剖析一下其代码实现。Seq2Seq首先来简单说明一下 Seq2Seq 模型,如果搞过深度学习,想必一定听说过 Seq2Seq 模型,Seq2Seq 其实就是 Sequence to Sequence,也简称 S2S,也可以称之为 En...
2019-08-11 09:38:32
777
转载 简明 jieba 中文分词教程
0 引言 jieba 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性:支持 3 种分词模式:精确模式、全模式、搜索引擎模式 支持繁体分词 支持自定义词典# 导入 jiebaimport jiebaimport jieba.posseg as pseg #词性标注import jieba.analyse as anls #关键词提取1 分词 可...
2019-08-03 10:05:05
996
转载 解读tensorflow之rnn
from: http://lan2720.github.io/2016/07/16/%E8%A7%A3%E8%AF%BBtensorflow%E4%B9%8Brnn/这两天想搞清楚用tensorflow来实现rnn/lstm如何做,但是google了半天,发现tf在rnn方面的实现代码或者教程都太少了,仅有的几个教程讲的又过于简单。没办法,只能亲自动手一步步研究官方给出的代码了。本文研究的...
2019-07-22 22:41:18
206
原创 用tensorflow做的cbow词向量
1:先导入包#encoding=utf8from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport collectionsimport mathimport osimport randomimport zipf...
2019-07-20 11:09:31
1025
原创 tf.reduce_sum理解(小记)
# 'x' is [[1, 1, 1]# [1, 1, 1]]#求和tf.reduce_sum(x) ==> 6#按列求和tf.reduce_sum(x, 0) ==> [2, 2, 2]#按行求和tf.reduce_sum(x, 1) ==> [3, 3]#按照行的维度求和tf.reduce_sum(x, 1, keep_di...
2019-07-20 10:14:44
379
原创 collections.Counter 计数器
import collectionswords = ["萌萌","萌萌","萌萌","萌萌","爱","赖赖"]print(type(collections.Counter(words)))先指定一个list,然后调用collections.Counter()函数,将list传入,就可以得到计数。运行结果如下:Counter({'萌萌': 4, '爱': 1, '赖赖...
2019-07-18 20:49:52
339
原创 tf.nn.sampled_softmax_loss候选采样损失函数
候选采样函数生成类别子集。类别子集需要送给候选采样损失函数计算损失,最小化候选采样损失便能训练模型。TF 提供下面两个候选采样损失函数。这两个采样损失函数的参数和返回值是一致的, 具体参数和返回值可以移步 TF 文档。 1. tf.nn.sampled_softmax_loss 这个函数通过 模型的交叉熵损失。候选类别子集由采样类别 和真实类别 组成,即 。模型最后一层输出是 , 经过...
2019-07-18 14:38:06
4714
2
原创 Tensorflow 的NCE-Loss的实现和word2vec
先看看tensorflow的nce-loss的API:def nce_loss(weights, biases, inputs, labels, num_sampled, num_classes, num_true=1, sampled_values=None, remove_accidental_hits=Fal...
2019-07-18 14:28:11
543
原创 gensim函数库的Word2Vec的参数说明
用gensim函数库训练Word2Vec模型有很多配置参数。这里对gensim文档的Word2Vec函数的参数说明进行翻译,以便不时之需。class gensim.models.word2vec.Word2Vec(sentences=None,size=100,alpha=0.025,window=5, min_count=5, max_vocab_size=None, sample=0.00...
2019-07-16 20:46:16
254
原创 基于Gensim创建词向量
首先得对数据进行预处理。去掉停用词以及结巴分词。将处理后的结果保存成文件。本案使用的是天龙八部.txtimport jiebaimport jieba.analyseimport jieba.posseg as psegstop_words = []with open ('data/stopwords.txt','r',encoding='UTF-8') as...
2019-07-04 17:09:07
1872
原创 用Python3爬取网易云音乐并且下载至本地
import requestsimport refrom multiprocessing import Poolimport urllibheaders = { 'Referer': 'https://music.163.com/', "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.3...
2019-04-16 21:12:29
2804
1
原创 tensorflow实现基于隐语义模型的推荐系统
# Imports for data io operationsfrom collections import dequefrom six import next# Main imports for trainingimport tensorflow as tfimport numpy as np# Evaluate train times per epochimport ti...
2019-04-13 16:22:28
515
原创 tf.nn.embedding_lookup的用法
实际上tf.nn.embedding_lookup的作用就是找到要寻找的embedding data中的对应的行下的vector例如:import numpy as npimport tensorflow as tfparams = np.identity(5)print(params)[[1. 0. 0. 0. 0.][0. 1. 0. 0. 0.]...
2019-04-13 16:21:21
254
转载 利用Surprise包进行电影推荐
Surprise(Simple Python Recommendation System Engine)是一款推荐系统库,是scikit系列中的一个。简单易用,同时支持多种推荐算法(基础算法、协同过滤、矩阵分解等)。设计surprise时考虑到以下目的:让用户完美控制他们的实验。为此,特别强调文档,试图通过指出算法的每个细节尽可能清晰和准确。 减轻数据集处理的痛苦。用户可以使用内置数据...
2019-04-13 12:24:26
1831
原创 tensorflow实现mnist
import tensorflow as tf# 输入数据from tensorflow.examples.tutorials.mnist import input_datamnist = input_data.read_data_sets("MNIST_data/", one_hot=True)# 定义网络的超参数learning_rate = 0.0001training_...
2019-04-07 12:26:46
496
原创 TensorFlow优化方法
如何加速神经网络的训练呢?目前加速训练的优化方法基本都是基于梯度下降的,只是细节上有些差异。梯度下降是求函数极值的一种方法,学习到最后就是求损失函数的极值问题。TensorFlow提供了很多优化器(optimizer),我们重点介绍下面这8个:class tf.train.GradientDescentOptimizerclass tf.train.AdadeltaOptimizer...
2019-04-06 19:12:22
2505
原创 tensorflow分类函数
TensorFlow中常见的分类函数主要有sigmoid_cross_entropy_with_logits、softmax、log_softmax、softmax_cross_entropy_with_logits等,它们也主要定义在tensorflow-1.1.0/tensorflow/python/ops的nn.py和nn_ops.py文件中。tf.nn.sigmoid_cross_e...
2019-04-06 19:07:59
473
原创 tensorflow池化函数
在神经网络中,池化函数一般跟在卷积函数的下一层,它们也被定义在tensorflow-1.1.0/ tensorflow/python/ops下的nn.py和gen_nn_ops.py文件中。tf.nn.avg_pool(value, ksize, strides, padding, data_format='NHWC', name=None)tf.nn.max_pool(value, ks...
2019-04-06 19:06:24
984
原创 tensorflow卷积函数
卷积函数是构建神经网络的重要支架,是在一批图像上扫描的二维过滤器。卷积函数定义在tensorflow-1.1.0/tensorflow/python/ops下的nn_impl.py和nn_ops.py文件中。tf.nn.convolution(input, filter, padding, strides=None, dilatio...
2019-04-06 19:04:26
889
原创 tensorflow实现简单的网络样例程序
import tensorflow as tfbatch_size = 8#定义神经网络的参数w1 = tf.Variable(tf.random.normal([2,3],stddev = 2,seed = 1))w2 = tf.Variable(tf.random.normal([3,1],stddev = 2,seed= 1 ))#在shape的一个...
2019-04-05 21:29:08
438
原创 TensorFlow常见函数
TensorFlow随机数生成函数函数名称 随机数分布 主要参数 tf.random_normal 正态分布 平均值、标准差、取值类型 tf.truncated_normal ...
2019-04-05 20:53:15
114
转载 Keras图像分类
我们一般用深度学习做图片分类的入门教材都是MNIST或者CIFAR-10,因为数据都是别人准备好的,有的甚至是一个函数就把所有数据都load进来了,所以跑起来都很简单,但是跑完了,好像自己还没掌握图片分类的完整流程,因为他们没有经历数据处理的阶段,所以谈不上走过一遍深度学习的分类实现过程。今天我想给大家分享两个比较贴近实际的分类项目,从数据分析和处理说起,以Keras为工具,彻底掌握图像分类任务。...
2019-03-29 12:59:15
1079
2
原创 用CNN卷积神经网络进行人脸识别
1:对数据的处理class类# -*- coding: utf-8 -*-import osimport sysimport numpy as npimport cv2IMAGE_SIZE = 64#按照指定图像大小调整尺寸def resize_image(image, height = IMAGE_SIZE, width = IMAGE_SIZE): top, bo...
2019-03-25 14:28:51
6534
2
原创 Keras之数据增强
为了尽量利用我们有限的训练数据,我们将通过一系列随机变换对数据进行提升,这样我们的模型将看不到任何两张完全相同的图片,这有利于我们抑制过拟合,使得模型的泛化能力更好。在Keras中,这个步骤可以通过keras.preprocessing.image.ImageDataGenerator来实现,这个类使你可以: 在训练过程中,设置要实行的随机变换 通过.flow或.flo...
2019-03-22 19:57:40
6909
1
keras快速上手基于python的深度学习实战.txt
2019-06-12
Windows7下TA-Lib包的安装
2017-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人