关闭
当前搜索:

[置顶] 如何用TensorFlow训练聊天机器人(附github)

前言实际工程中很少有直接用深度学习实现端对端的聊天机器人,但这里我们来看看怎么用深度学习的seq2seq模型来实现一个简易的聊天机器人。这篇文章将尝试使用TensorFlow来训练一个基于seq2seq的聊天机器人,实现根据语料库的训练让机器人回答问题。seq2seq关于seq2seq的机制原理可看之前的文章《深度学习的seq2seq模型》。循环神经网络在seq2seq模型中会使用到循环神经网络,目...
阅读(11719) 评论(13)

Java安全管理器

总的来说,Java安全应该包括两方面的内容,一是Java平台(即是Java运行环境)的安全性;二是Java语言开发的应用程序的安全性。由于我们不是Java本身语言的制定开发者,所以第一个安全性不需要我们考虑。其中第二个安全性是我们重点考虑的问题。一般我们可以通过安全管理器机制来完善安全性,安全管理器SecurityManager是安全的实施者,可对此类进行扩展,它提供了加在应用程序上的安全措施,通过...
阅读(834) 评论(0)

隐马尔可夫模型的Viterbi解码算法

前言前面在做自然语言处理时涉及到一些词性标注的工作,一般会使用隐马尔科夫模型(HMM)来实现词性标注,而HMM模型的解码实现算法一般就会使用Viterbi算法。关于穷举法HMM模型有多种应用,这里说的是其中一个常见应用,即根据观察序列找到最可能的隐含状态序列。最朴素的想法就是直接穷举所有可能的隐含状态序列,并计算出每个组合成的状态序列的概率,概率最大的那个组合序列即是最可能的隐含状态序列。举个水藻和...
阅读(955) 评论(0)

从JDK源码角度看Long

概况Java的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法或String类型到long类型的转换方法,当然也包含与其他类型之间的转换方法。除此之外还有一些位相关的操作。继承结构--java.lang.Object --java.lang.Number --java.lang.Long主要属性public s...
阅读(3482) 评论(3)

TensorFlow实现seq2seq

前言前面在《深度学习的seq2seq模型》文章中已经介绍了seq2seq结构及其原理,接下去这篇文章将尝试使用TensorFlow来实现一个seq2seq网络结构,该例子能通过训练给定的训练集实现输入某个序列输出某个序列,其中输入序列和输出序列相同,这里选择使用LSTM模型。训练样本集为方便起见这里使用随机生成的序列作为样本,序列的长度也是随机的且在指定的范围内。LSTM机制原理关于LSTM机制原理...
阅读(2028) 评论(0)

volatile足以保证数据同步吗

在讨论之前必须先搞清四种存储介质:寄存器、高级缓存、RAM和ROM。RAM与ROM大家都比较熟悉了,可以看成是我们经常说的内存与硬盘,寄存器属于处理器里面的一部分,而高级缓存cache是CPU设计者为提高性能引入的一个缓存,也可以说是属于处理器的一部分。在利用CPU进行运算时必定涉及操作数的读取,假如CPU直接读取ROM,那么这个读取速度简直是无法忍受的,于是引入了内存RAM,这样做确实让速度提高了...
阅读(1625) 评论(0)

深度学习的seq2seq模型

从rnn结构说起根据输出和输入序列不同数量rnn可以有多种不同的结构,不同结构自然就有不同的引用场合。如下图, one to one 结构,仅仅只是简单的给一个输入得到一个输出,此处并未体现序列的特征,例如图像分类场景。 one to many 结构,给一个输入得到一系列输出,这种结构可用于生产图片描述的场景。 many to one 结构,给一系列输入得到一个输出,这种结构可用于文本情感分析,对一...
阅读(2151) 评论(0)

从ASCII聊起

在互联网的世界,端与端之间传递的报文都是未经过编码的字节流,每8位组成1个字节,计算机以二进制为基础,这是由于使用晶体管的开合状态表示1和0,这样8个电晶体管就可以组成一个字节,这正是应用层使用的最小单位——字节。在通过Socket进行网络通信的程序中,假如我们在接收到报文时不知道通过什么编码才能正确解码,最好的办法就是用Socket读取字节流,在确认编码后再对这些字节流进行转码,否则产生解码错误。...
阅读(600) 评论(0)

TensorFlow构建循环神经网络

前言前面在《循环神经网络》文章中已经介绍了深度学习的循环神经网络模型及其原理,接下去这篇文章将尝试使用TensorFlow来实现一个循环神经网络,该例子能通过训练给定的语料生成模型并实现对字符的预测。这里选择使用最原始的循环神经网络RNN模型。语料库的准备这里就简单用纪伯伦的《On Friendship》作为语料吧。RNN简要说明用下面两张图简要说明下,RNN模型有多个时刻的输入,从第一个图中看到输...
阅读(1047) 评论(0)

如何用TensorFlow训练词向量

前言前面在《谈谈谷歌word2vec的原理》文章中已经把word2vec的来龙去脉说得很清楚了,接下去这篇文章将尝试根据word2vec的原理并使用TensorFlow来训练词向量,这里选择使用skip-gram模型。语料库的准备这里仅仅收集了网上关于房产新闻的文章,并且将全部文章拼凑到一起形成一个语料库。skip-gram简要说明skip-gram核心思想可以通过下图来看,假设我们的窗口大小为2,...
阅读(2813) 评论(1)

[置顶] 谈谈Tomcat内核

========广告时间========鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。为什么写《Tomcat内核设计剖析》=========================欢迎关注:...
阅读(2160) 评论(5)

GRU神经网络

前面已经详细讲了LSTM神经网络(文末有链接回去),接着往下讲讲LSTM的一个很流行的变体。GRU是什么GRU即Gated Recurrent Unit。前面说到为了克服RNN无法很好处理远距离依赖而提出了LSTM,而GRU则是LSTM的一个变体,当然LSTM还有有很多其他的变体。GRU保持了LSTM的效果同时又使结构更加简单,所以它也非常流行。GRU模型回顾一下LSTM的模型,LSTM的重复网络模...
阅读(4160) 评论(0)

从JDK源码角度看Integer

概况Java的Integer类主要的作用就是对基本类型int进行封装,提供了一些处理int类型的方法,比如int到String类型的转换方法或String类型到int类型的转换方法,当然也包含与其他类型之间的转换方法。除此之外还有一些位相关的操作。继承结构--java.lang.Object --java.lang.Number --java.lang.Integer主要属性第一部分pu...
阅读(10194) 评论(7)

[置顶] 谈谈谷歌word2vec的原理

word2vec在NLP领域中,为了能表示人类的语言符号,一般会把这些符号转成一种数学向量形式以方便处理,我们把语言单词嵌入到向量空间中就叫词嵌入(word embedding)。谷歌开源的word2vec则是这么一种词嵌入工具,它能生成词向量,通过词向量可以很好地度量词与词之间的相似性。word2vec采用的模型包含了连续词袋模型(CBOW)和Skip-Gram模型。通过它可以在大数据量上进行高效...
阅读(2812) 评论(0)

LSTM神经网络

LSTM是什么LSTM即Long Short Memory Network,长短时记忆网络。它其实是属于RNN的一种变种,可以说它是为了克服RNN无法很好处理远距离依赖而提出的。我们说RNN不能处理距离较远的序列是因为训练时很有可能会出现梯度消失,即通过下面的公式训练时很可能会发生指数缩小,让RNN失去了对较远时刻的感知能力。∂E∂W=∑t∂Et∂W=∑tk=0∂Et∂nett∂nett∂st(∏t...
阅读(2410) 评论(0)

从JDK源码角度看Short

概况Java的Short类主要的作用就是对基本类型short进行封装,提供了一些处理short类型的方法,比如short到String类型的转换方法或String类型到short类型的转换方法,当然也包含与其他类型之间的转换方法。继承结构--java.lang.Object --java.lang.Number --java.lang.Short主要属性public static fin...
阅读(1704) 评论(0)

循环神经网络

RNN是什么循环神经网络即recurrent neural network,它的提出主要是为了处理序列数据,序列数据是什么?就是前面的输入和后面的输入是有关联的,比如一句话,前后的词都是有关系的,“我肚子饿了,准备去xx”,根据前面的输入判断“xx”很大可能就是“吃饭”。这个就是序列数据。循环神经网络有很多变种,比如LSTM、GRU等,这里搞清楚基础的循环神经网络的思想,对于理解其他变种就比较容易了...
阅读(1723) 评论(0)

卷积神经网络

什么是卷积首先看卷积公式y(t)=f(t)∗g(t)=∫∞−∞f(u)g(t−u)duy(t)=f(t)*g(t)=\int_{-\infty} ^{\infty} f(u)g(t-u)du它是通过两个函数 f(t) 和 g(t) 来生成第三个函数的一种数学算子。从负无穷到正无穷遍历全部 u 值,把 g(t-u) 的值乘以 f(u) 的值之后再进行累加,得到关于该累加操作的关于 t 的函数。从另一...
阅读(1502) 评论(1)

JVM层对jar包字节码加密

githubhttps://github.com/sea-boat/ByteCodeEncrypt需求拿到的需求是要对某特定的jar包实现加密保护,jar包需要提供给外部使用,但核心逻辑部分需要保护以免被简单反编译即能看到。几个思路大致想到以下几种方式: 1. 混淆器,将jar包混淆后反编译出来的东西看起来就很眼花,但如果耐心一点也是可以看出来的。 2. 对jar包进行加密,然后在Java层重写...
阅读(3072) 评论(7)

《Tomcat内核设计剖析》京东评论过百

到京东看了下《Tomcat内核设计剖析》评论都一百多了,上个月也第二次印刷了,这里看下好评、中评和差评。好评:中评对于中评,请看 为什么《写Tomcat内核设计剖析》,就当是回复吧。差评这个物流慢应该打给东哥。...
阅读(1615) 评论(0)
325条 共17页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    作者
    https://github.com/sea-boat

    公众号:(内容包括分布式、机器学习、深度学习、NLP、Java深度、Java并发核心、JDK源码、Tomcat内核等等)



    微信:

    打赏作者

    如果您觉得作者写的文章有帮助到您,您可以打赏作者一瓶汽水(*^__^*)

    个人资料
    • 访问:1012368次
    • 积分:13537
    • 等级:
    • 排名:第1113名
    • 原创:319篇
    • 转载:5篇
    • 译文:1篇
    • 评论:341条
    博客专栏
    最新评论