序列模式

深度学习之Attention Model(注意力模型)

旧城冷巷雨未停 提交于 2019-12-06 10:02:35
引自:https://www.cnblogs.com/jiangxinyang/p/9367497.html 深度学习之Attention Model(注意力模型) 1、Attention Model 概述   深度学习里的Attention model其实模拟的是人脑的注意力模型,举个例子来说,当我们观赏一幅画时,虽然我们可以看到整幅画的全貌,但是在我们深入仔细地观察时,其实眼睛聚焦的就只有很小的一块,这个时候人的大脑主要关注在这一小块图案上,也就是说这个时候人脑对整幅图的关注并不是均衡的,是有一定的权重区分的。这就是深度学习里的Attention Model的核心思想。   人脑的注意力模型,说到底是一种资源分配模型,在某个特定时刻,你的注意力总是集中在画面中的某个焦点部分,而对其它部分视而不见。 2、Encoder-Decoder框架   所谓encoder-decoder模型,又叫做编码-解码模型。这是一种应用于seq2seq问题的模型。seq2seq问题简单的说,就是根据一个输入序列x,来生成另一个输出序列y。常见的应用有机器翻译,文档提取,问答系统等。Encoder-Decoder模型中的编码,就是将输入序列转化成一个固定长度的向量;解码,就是将之前生成的固定向量再转化成输出序列。   Encoder-Decoder(编码-解码)是深度学习中非常常见的一个模型框架

Python 学习笔记

断了今生、忘了曾经 提交于 2019-12-06 03:22:37
目录 Python 学习笔记 0 IDEA设置 1 Python 特点 2 Python 解释器 2.1 命令行常用输入 2.2 源文件的字符编码 2.3 清屏命令 2.4 python版本切换 3 Python 作为计算器使用 3.1 数字直接计算 3.2 字符串 3.3 列表 3.2 走向编程的第一步 4 流程控制工具 4.1 if 语句 4.2 for 语句 4.3 range() 函数 4.4 break 和 continue 语句,以及循环中的 else 子句 4.5 pass 语句 4.6 定义函数 4.7 函数定义的更多形式 4.8 文档字符串和函数标注 5 数据结构 5.1 列表的更多特性 5.2 del 语句 5.3 元组和序列 5.4 集合 5.5 字典 5.6 循环的技巧 5.7 深入条件控制 6 模块 7 输入输出 Python 学习笔记 0 IDEA设置 导入本地py文件时,模块下方出现红色波浪线时如何解决 进入设置,找到Console下的Python Console,勾选选项 “Add source roots to PYTHONPAT” 在当前项目程序目录右键单击,然后“Mark Directory as”为“Sources Root” 1 Python 特点 Python是一种解释型语言,不需要编译和链接。 Python程序的书写是紧凑而易读的。

tcp协议

不打扰是莪最后的温柔 提交于 2019-12-06 02:12:22
为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。 TCP/IP协议分层 ![TCP分层2.jpg](//upload-images.jianshu.io/upload_images/2964446-94da7e7442050d15.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) TCP/IP协议族按照层次由上到下,层层包装。 应用层 : 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等

TCP报文

半城伤御伤魂 提交于 2019-12-06 00:57:31
TCP报文格式1.jpg 16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP地址的作用是标识报文的返回地址。 16位目的端口号:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。 32位序号:32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码(Initial Sequence Number,ISN),而第一个数据字节是ISN+1。这个序列号(序列码)可用来补偿传输中的不一致。 32位确认序号:32位的序列号由接收端计算机使用,重组分段的报文成最初形式。如果设置了ACK控制位,这个值表示一个准备接收的包的序列码。 4位首部长度:4位包括TCP头大小,指示何处数据开始。 保留(6位):6位值域,这些位必须是0。为了将来定义新的用途而保留。 标志:6位标志域。表示为:紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN。 16位窗口大小:用来表示想收到的每个TCP数据段的大小。TCP的流量控制由连接的每一端通过声明的窗口大小来提供。窗口大小为字节数,起始于确认序号字段指明的值,这个值是接收端正期望接收的字节。窗口大小是一个16字节字段,因而窗口大小最大为65535字节。 16位校验和:16位TCP头

一文详解transformer(Attention Is All You Need)原理

南笙酒味 提交于 2019-12-05 22:16:08
谈起自然语言,就不得不说到现在大火的bert以及openai gpt-2,但是在理解这些模型之前,我觉得首先应该了解transformer,因本人水平有限,在看了transformer的论文之后也一知半解,在分享今天的知识之前,我们先简单了解一下seq2seq 首先要说到seq2seq的发展历史,从单纯的RNN-RNN到LSTM-LSTM,再到BiLSTM-BiLSTM或者BiGRU-BiGRU,首先说到RNN的缺陷会导致梯度消失,LSTM-LSTM改进之后,解决了梯度消失的问题,后面发展是加了双向的BiLSTM-BiLSTM或者BiGRU-BiGRU Ray Mooney,一个非常著名的计算机语义学家抱怨的说到,you cann't cram the meaning of whole %$& sentence into a single %$&* vector! 因为每句话长度不一,你不能让我把大量的信息塞进固定的向量中,这样让学习变得太困难了。 atttention后面开始产生,Transformer是第一个完全依赖于self-attention来计算其输入和输出表示的转换模型,而不使用序列对齐的RNNs或卷积。 传统的双向RNN模型图 今天翻译一篇非常优秀的详解transformer文章,感谢作者的详细讲解,本人翻译水平有限(英文水平好的可以直接看原文),文章篇幅较长

makefile函数

随声附和 提交于 2019-12-05 19:48:13
1、findstring 调用形式:$(findstring FIND, IN) 函数功能:搜索字串“IN”,查找“FIND”字串。 返回值 :如果在“IN”之中存在“FIND”,则返回“FIND”,否则返回空。 函数说明:字串“IN”之中可以包含空格、[Tab]。搜索需要是严格的文本匹配。 例子: $(findstring a, a b c) 返回a $(findstring a, b c) 返回空 2、substr 调用形式:$(substr from,to,TEXT) 函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。 返回值 :替换后的新字符串。 例子: $(substr EE, ee, street) 返回strEEt 3、filter 调用形式:$(filter PATTERN, TEXT) 函数功能:过滤掉字串“TEXT”中所有不符合模式“PATTERN”的单词,保留所有符合此模式的单词。可以使用多个模式。模式中一般需要包含模式字符“%”。存在多个模式时,模式表达式之间使用空格分割。 返回值 :空格分割的“TEXT”字串中所有符合模式“PATTERN”的字串。 函数说明:“filter”函数可以用来去除一个变量中的某些字符串。 例子: $(filter %.c %.cpp,a.c b.cpp c.h) 返回a.c b.cpp 4、filter-out

markdown基本语法总结

*爱你&永不变心* 提交于 2019-12-05 14:11:26
转载自 简书 Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。 相比WYSIWYG编辑器 优点: 1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。 2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可 缺点: 1、需要记一些语法(当然,是很简单。五分钟学会)。 2、有些平台不支持Markdown编辑模式。 还好,简书是支持Markdown编辑模式的。 开启方式:设置->默认编辑器->Markdown编辑器 一、标题 在想要设置为标题的文字前面加#来表示 一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。 注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。 示例: 这是一级标题 这是二级标题 这是三级标题 这是四级标题 这是五级标题 这是六级标题 效果如下: 这是一级标题 这是二级标题 这是三级标题 这是四级标题 这是五级标题 这是六级标题 二、字体 加粗 要加粗的文字左右分别用两个*号包起来 斜体 要倾斜的文字左右分别用一个*号包起来 斜体加粗 要倾斜和加粗的文字左右分别用三个*号包起来 删除线 要加删除线的文字左右分别用两个~~号包起来

时间序列分析和预测 (转载)

霸气de小男生 提交于 2019-12-05 12:41:48
一、时间序列及其分解 时间序列(time series)是同一现象在不同时间上的相继观察值排列而成的序列。根据观察时间的不同,时间序列中的时间可以是可以是年份、季度、月份或其他任何时间形式。 时间序列: (1)平稳序列(stationary series) 是基本上不存在趋势的序列,序列中的各观察值基本上在某个固定的水平上波动,在不同时间段波动程度不同,但不存在某种规律,随机波动 (2)非平稳序列(non-stationary series) 是包含趋势、季节性或周期性的序列,只含有其中一种成分,也可能是几种成分的组合。可分为:有趋势序列、有趋势和季节性序列、几种成分混合而成的复合型序列。 趋势(trend):时间序列在长时期内呈现出来的某种持续上升或持续下降的变动,也称长期趋势。时间序列中的趋势可以是线性和非线性。 季节性(seasonality):季节变动(seasonal fluctuation),是时间序列在一年内重复出现的周期波动。销售旺季,销售淡季,旅游旺季、旅游淡季,因季节不同而发生变化。季节,不仅指一年中的四季,其实是指任何一种周期性的变化。含有季节成分的序列可能含有趋势,也可能不含有趋势。 周期性(cyclicity):循环波动(cyclical fluctuation),是时间序列中呈现出来的围绕长期趋势的一种波浪形或振荡式波动。周期性是由商业和经济活动引起的

字符串与模式匹配算法(六):Needleman–Wunsch算法

时光怂恿深爱的人放手 提交于 2019-12-05 00:58:47
一、Needleman-Wunsch 算法   尼德曼-翁施算法 (英语: Needleman-Wunsch Algorithm)是基于生物信息学的知识来匹配蛋白序列或者DNA序列的算法。这是将动态算法应用于生物序列的比较的最早期的几个实例之一。该算法是由 Saul B. Needlman和 Christian D. Wunsch 两位科学家于1970年发明的。本算法高效地解决了如何将一个庞大的数学问题分解为一系列小问题,并且从一系列小问题的解决方法重建大问题的解决方法的过程。该算法也被称为优化匹配算法和整体序列比较法。时至今日尼德曼-翁施算法仍然被广泛应用于优化整体序列比较中。 二、 初始化得分矩阵   首先建立如下的得分矩阵。从第一列第一行的位置起始。计算过程从d 0,0 开始,可以是按行计算,每行从左到右,也可以是按列计算,每列从上到下。当然,任何计算过程,只要满足在计算 d (i , j) 时 d (i-1, j) (上边)、d (i-1 , j-1) (左上)和 d (i, j-1) (左边)都已经被计算这个条件即可。在计算 d (i , j) 后,需要保存d (i , j) 是从 d (i-1 , j) 、d (i-1 , j-1) 或 d (i, j-1) 中的一个推进的,或保存计算的路径,以便于后续处理。上述计算过程到 d (m , n) 结束,其中m

Python基础

家住魔仙堡 提交于 2019-12-04 20:36:21
python简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。 Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。 Python 特点 易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。 易于阅读:Python代码定义的更清晰。 易于维护:Python的成功在于它的源代码是相当容易维护的。 一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。 可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作