小菜鸡


  • 首页

  • 归档

TensorFlow-Broadcast details

发表于 2017-08-23

TensorFlow官方网站对Broadcast的解释不够详细,具体要参考Scipy网站的解析。

https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html

Broadcasting用于处理不同形状的numpy arrays的算术操作,形状较小的array通过复制自身,”broadcast”到与较大的array匹配的形状。例如:

a = np.array([1.0, 2.0, 3.0])
b = 2.0
a * b
array([ 2., 4., 6.])

处理两个array时,NumPy element-wise地比较它们的形状,两个array的dimensions必须满足以下两个条件之一:

  1. they are equal
  2. one of them is 1

例如:

A (4d array): 8 x 1 x 6 x 1
B (3d array): 7 x 1 x 5
Result (4d array): 8 x 7 x 6 x 5

论文简读-Attention-over-Attention Neural Networks for Reading Comprehension

发表于 2017-08-08

科大讯飞与哈工大联合实验室最近(截止2017.8.9)在SQuAD数据集上的准确率夺得全球第一名,力压微软亚洲研究院。本篇论文是该实验室在2016年发布的,是模型的早期版本。印象中当时在SQuAD榜单上single model准确率第二名,整体排名大概是第7名,F1 score约为79+,此处信息有待核实。准确率第一名的模型为“Interactive AoA Reader”,基于交互式层叠注意力。主要思想是根据给定的问题对篇章进行多次过滤,同时根据已经被过滤的文章进一步筛选出问题中的关键提问点,交互式地精确划定答案的范围。个人猜想其思想与斯坦福大学CS224n公开课Lecture 16中提出的Dynamic Memory Network基本一致。由于新模型的论文可能暂时没有发表,这里先对早期模型进行一下总结。

阅读全文 »

论文简读-Bilateral Multi-Perspective Matching for Natural Language Sentences

发表于 2017-08-06

论文发表于2017.7.14,作者为Zhiguo Wang等人,属于IBM Watson实验中心,截止2017.8.6,在TREC QA数据集上测试准确率排名第一。论文的主要目标是解决自然语言句子匹配的问题,在释义识别、自然语言推断和答案选择三个方面均取得了state-of-the-art水平。

模型结构

模型结构图

模型自下而上分为五层,分别为单词表示层、文法表示层、匹配层、聚合层和预测层,其中匹配层为模型的核心,文中共提出了四种匹配策略,这里的匹配也就是Attention机制。
假设要匹配的句子分别为P和Q。下面以P->Q方向为例进行说明,Q->P方向同理。

阅读全文 »

论文简读-Reading Wikipedia to Answer Open-Domain Questions

发表于 2017-07-27

ACL 2017入选论文,作者为来自斯坦福的Danqi Chen(cs224n助教)。Facebook于2017.7.27日开放源码,项目名为DrQA。

GitHub地址:https://github.com/facebookresearch/DrQA

DrQA的主要任务是大规模机器阅读(MRS)。DrQA会在一个非常庞大的非结构化文档语料库中寻找问题的答案。这个系统最大的挑战是文档检索与文本的机器理解如何更好的结合。

模型结构图

文档检索

采用基于二元语法哈希(bigram hashing)和TF-IDF匹配的搜索方法。

文档阅读理解

篇章和问题均采用三层双向LSTM,128个hidden units进行编码。

阅读全文 »

LeetCode-279.Perfect Squares

发表于 2016-09-03

Given a positive integer n, find the least number of perfect square numbers
(for example, 1, 4, 9, 16, …) which sum to n.
For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9.

算法思想

  1. 动态规划。当然我们会首先尝试贪心,例如12,贪心的结果是12=9+1+1+1,可见贪心不能得到最优解,所以只能上动规了。关于动规,思想和编码都不难,不过我想结合编码讨论一下设计模式的东西,也就是在面向对象编程中如何设计一个函数,使函数调用更加高效,其中也涉及一些内存使用优化的问题,开另一篇文章讨论。
  2. 数学方法。一个会数学的程序猿可以变身金刚…数学对于效率的提升不能更酷,运行时间先卖个关子,最后再给出。
  3. 广度优先搜索。最少个数,对应空间搜索树的最小深度,很多类似的最小问题都可以用广度优先搜索解决,不过这题BFS并不适合,效率不高,代码较长,且有很多细节容易出错,不建议使用。

编码与解释

1. 动态规划:见另一篇文章。
2. 数学方法。

四平方定理:每个正整数均可表示为4个整数的平方和。
更多:https://zh.wikipedia.org/wiki/四平方和定理
三平方定理:每个自然数均可表示为3个整数的平方和,当且仅当该数不能表示为n=pow(4,a)*(8b+7),a,b是整数。
更多https://en.wikipedia.org/wiki/Legendre%27s_three-square_theorem

阅读全文 »

LeetCode-Gas Station

发表于 2016-08-23

There are N gas stations along a circular route, where the amount of gas at station i is gas[i].
You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station’s index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.

思想

如果gas总和大于cost总和,那么一定有一种解法。
在知道这个假设的前提下解题并不难,一次遍历,当油量无法达到时更新可能的起始点,最后比较有油和缺油的量即可,关键是如何证明?
当然,可以用严谨的数学公式去推导,不过理解起来总是需要点时间。不妨做个类比,假设你去买东西,手里有3,5,7等不同面值的钞票,商品的价格有4,4,1等等,我们都知道,如果手里钱的总数大于商品价格总数,那自然可以将所有商品都买到(走完),这与本题是不是一个道理?只是提供个想法,正确性可以讨论和验证。

AC代码

//c++
class Solution {
public:
    int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
        int start=0,tank=0,lack=0;
        for(int i=0;i<gas.size();++i)
        {
            if((tank=tank+gas[i]-cost[i])<0){
               start=i+1;lack+=tank;tank=0;  
            }
        }
        return tank+lack<0?-1:start;
    }
};

数据传输中...

发表于 2016-08-22

博客重新整理了一番,换了主题,内容清空,增加新的内容的同时,原来那些破铜烂铁,有空也会慢慢搬过来…

思想经济与知乎

发表于 2016-08-20

前言

最近整理U盘以前的东西时发现了一篇两年前写的文章,大多是在地铁13号线上用Evernote码的,感谢印象笔记!当时还年轻,对喜欢和经常用的产品的进行了一些简单的思考,加上最近搞出了个“值乎”,决定趁机把这些文字发出来,再放着就发霉了。作为一名Too young, Too naive的学生,文中许多观点可能都有讨论的空间,欢迎各位不吝赐教。另外,文章中图片和部分名词引用自网络。

关于知乎

在最近提了2个问题,获得0个回答。回答一个问题,获得0个赞后来思考知乎。

知乎是神马?从宣传片中得到这样的信息:
世界的细节,认知的精度,博儒邂逅专家,隐士挑战权威,认真收获认同,专业赢得掌声。崇尚真诚,回避浮夸,精于专业,友善有趣,好好的说话,认真的沟通。
在知乎,总有一个领域,你比别人更专业。分享知识,经验和见解。让好奇不再孤单。知乎,认真你就赢了!

思想经济

周源说做知乎的初衷来自于这样的需求:一个人脑子里的想法,见识很有可能是另一个人需要的。 理想状态就是超级连接不同人,思想的交流碰撞变得有趣。 从原始社会到现在 ,物质盈余导致了交换,进而形成商业。随着社会的发展,思想开始盈余,交换的需求自然产生。思想盈余早已开始,但当时没有足够的产品承载。当时新浪新闻下的评论可以反映思想盈余的盛况了,百度贴吧也于此时横空出世,飞速发展。还有一件不得不提的产品就是博客,它极大的满足了用户产出内容的需求,但最终没落了。为什么?不能很好的承载思想交换;社会节奏趋于快速化,移动互联网使内容和时间碎片化。现在突然想提出一个问题。神马东东来承载思想交换?先看一下商品交换的发展史,从原始的物物直接交换,到货币中介的产生,发展到如今的商品经济。一种直觉,思想经济必然与商品经济有诸多相似之处。需要一个”市场”,也就是周源所说的连接,传统的市场正是连接了消费者与生产者。

思想经济交换市场

我们来思考这种思想上的连接,可以理解为思想经济的交换市场。结合一些产品:博客是一对多的形式,博主在输出思想,用户进行评论,这很难称为思想交换。微博更符合互联网的快节奏,碎片化的特点,降低了输出思想的门槛,用户交流也更加频繁。输出思想门槛的降低使更多人成为思想的生产者,这意味着思想市场”商品”的极大丰富,但是由于微博整体偏娱乐化,就思想经济市场价值标准来衡量,这里的商品价值偏低,更像是小商品市场,当然微博里面不乏有思想沉淀的文章,不过不占据主题。社交网站的思想商品并不开放,而且价值标准是封闭的,与开放思想市场的价值标准并不一致,这一点很好理解。比如女神发的内容关注人就更多一点,相对价值就更高。而广大屌丝费力写了篇精美的文章也很难引起大家注意。这个价值标准其实对应这样一句话,成也微博,败也微博。微博越来越中心化,思想的输出集中到部分人。越来越像媒体。思想经济,大交换,超连接的宏大蓝图中,微博难以承载交换市场这个任务,这是由微博自身结构,特点决定的。

阅读全文 »
12
Jeb

Jeb

我菜故我在

28 日志
2 标签
© 2022 Jeb
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.2