Processing math: 100%
7 Jun

python简单实现gillespie模拟

由于专业需求,需要做主方程的随机模拟。在网上并没有找到适合的Python实现,遂自己写了一个,分享一下源码。至于gillespie算法本身就不介绍了,有需要的读者自然会懂,没需要的读者不建议去懂。

源码

其实基本的gillespie模拟算法很简单,也很好实现,下面就是一个参考例子:

点击阅读全文...

18 Sep

提速不掉点:基于词颗粒度的中文WoBERT

当前,大部分中文预训练模型都是以字为基本单位的,也就是说中文语句会被拆分为一个个字。中文也有一些多颗粒度的语言模型,比如创新工场的ZEN和字节跳动的AMBERT,但这类模型的基本单位还是字,只不过想办法融合了词信息。目前以词为单位的中文预训练模型很少,据笔者所了解到就只有腾讯UER开源了一个以词为颗粒度的BERT模型,但实测效果并不好。

那么,纯粹以词为单位的中文预训练模型效果究竟如何呢?有没有它的存在价值呢?最近,我们预训练并开源了以词为单位的中文BERT模型,称之为WoBERT(Word-based BERT,我的BERT!),实验显示基于词的WoBERT在不少任务上有它独特的优势,比如速度明显的提升,同时效果基本不降甚至也有提升。在此对我们的工作做一个总结。

点击阅读全文...

8 Sep

有限内存下全局打乱几百G文件(Python)

这篇文章我们来做一道编程题:

如何在有限内存下全局随机打乱(Shuffle)几百G的文本文件?

题目背景其实很明朗,现在预训练模型动辄就几十甚至几百G语料了,为了让模型能更好地进行预训练,对训练语料进行一次全局的随机打乱是很有必要的。但对于很多人来说,几百G的语料往往比内存还要大,所以如何能在有限内存下做到全局的随机打乱,便是一个很值得研究的问题了。

已有工具

假设我们的文件是按行存储的,也就是一行代表一个样本,我们要做的就是按行随机打乱文件。假设我们只有一个文件,并且这个文件大小明显小于内存,那么我们可以用linux自带的shuf命令:

shuf input.txt -o output.txt

点击阅读全文...

28 May

两本通俗读物:混沌和对称

第一本:《天遇——混沌与稳定性的起源》

一个天体力学中的N体问题的研究,竟然发展出了如此多的现代数学理论,这不能不说是一个令人意外的事情。而事实上,N体问题至今仍是无解,这也许并非坏事,因为未被完全攻克,就意味着“N体问题”仍然还是一只“会下金蛋的母鸡”!

本书是普林斯顿文集之一。作者通过大众化的语言,叙述了天体力学和动力系统理论的历史发展,让读者感到其中那激动人心的故事。BoJone认为,要想了解分析动力学(尤其是天体力学)的发展,本书是一本难得的读物。作为混沌和稳定性理论的入门前读物,本书也是非常适合的。读历史的关键是:学会思想!

豆瓣:http://book.douban.com/subject/1048552/

点击阅读全文...

20 Jan

我是一个费曼迷

前几天在台湾购买(淘宝代购)的《费曼统计力学》和《费曼计算学》在今天到手了,至此,我的费曼著作收藏基本完成了。

费曼重力学、统计力学和计算学

费曼重力学、统计力学和计算学

我是一个费曼迷,为费曼的小飞侠人格所吸引,为费曼的物理才能所折服。因此,我甚至像普通人追星那样追崇费曼,收藏他的书籍,还有学习他所发明的物理。

点击阅读全文...

2 Dec

相对运动的一道妙题!

这是在《200道物理学难题》中的第五道题,题目看起来没有什么特色,但是解法却非常巧妙:

四只蜗牛在做匀速直线运动(速度各不同),它们的运动轨迹是两两相交的直线,但是没有三条直线交于一点,也就是说他们的轨迹有六个交点。在它们之间,已经发生了五次相遇,问第六次相遇是否一定发生?换句话说,有没有可能只发生五次相遇的?

点击阅读全文...

22 Jul

三角函数幂的积分

昨天在研究一个最优化问题时,遇到了一个这样的积分:
1cos3θdθ

然后就顺便研究了一下这种类型的函数的积分。一般来讲,这类积分可以写成cosnθdθsinnθdθ,其中n是一个整数。

首先我们来解决n=1的情况,我们很容易就有cosθdθ=sinθ+Csinθdθ=cosθ+C,这是一个基本的结果。

如果n是大于1的正整数,那么可以用递推的方法来搞定:

点击阅读全文...

6 Nov

王骁威:勇敢的追梦者

破解数学猜想

王骁威

王骁威

今天在看《广州日报》时,偶然发现了一个不曾听闻的名字——王骁威。

他,跟我一样是一个90后,是韶关学院的大四学生,而现在,他多了一点名头:“仅用1表示数问题中的素数猜想”这一难题的破解者。

“仅用1表示数问题中的素数猜想”出现在加拿大数学家Richard K·Guy的著作《数论中未解决的问题》中,是上世纪50年代,加拿大数学家Richard K·Guy提出一个数论猜想:对于给定的素数p,f(p)=f(p1)+1是否能成立。其中,“仅用1表示数”指的是只用1通过加法和乘法以及括号来表示自然数,对于给定的自然数n,用1来表示时,1的最少个数记为f(n)。据说在之前就有诸多数学家论证过,在3亿之前的素数里,上述猜想是成立的。

但是王骁威通过举出反例证否了这个命题,他指出p=353942783时这个公式并不成立。他是经过四个月的钻研,王骁威运用集合论的运算、分析、优化,才成功发现这个猜想的反例的。发现反例之后,王骁威陷入兴奋,把整理成的报告寄给国内几家杂志社,结果却令他失望,几家杂志社对他的论文均不感兴趣。“我也怀疑过自己的努力是否值得,但对数学的强烈兴趣让我坚持下来。”王骁威说自己将论文译成英文,英文名为《A counterexample to the prime conjecture of expressing numbers using just ones》(中文名为《仅用1表示数中素数猜想的一个反例》),投往全球最权威的数论杂志———美国艾斯维尔出版社的《Journal of Number Theory》(数论杂志),国外专家的青睐终于让他收获成功的喜悦,论文发表在杂志第133期(明年二月)上。数学大师丘成桐也通过邮件与王骁威交流,并对他表示肯定。

点击阅读全文...