Category Archives: 读书笔记

《南明史》第六章读书笔记

第六章:清廷统治者推行的民族征服和民族压迫政策

第一节:多尔衮的失算

1645年夏天的局势对清朝来说一片大好:李自成在被阿济格追击的过程中意外被乡团打死,大顺政权名存实亡;南明弘光朝廷在多铎军队面前不堪一击,南京沦陷。清朝摄政王多尔衮以为大顺和南明已经被彻底打垮,剩下的事情不过是接管地方,享受胜利果实了。

于是,多尔衮以加官进爵为诱惑,派各路官员前往广东、广西、江西、福建等地招抚地方。多尔衮想不战而胜,骄狂地以为天下已定,开始推行一系列民族压迫和民族歧视政策,大江南北掀起了一股汹涌澎湃的抗清运动。

Continue reading

《南明史》第五章读书笔记

第五章:弘光政权的瓦解

第一节:南渡三案——大悲、伪太子、“童妃”

第二章提到,在南明皇帝继统问题上,东林党是拥立潞王朱常淓的,即使后来朱由崧即位了,东林党还是借各种案件制造社会舆论,表达对朱由崧继统的不满,其中大悲、伪太子、童妃就是三个典型的案件。

Continue reading

《南明史》第四章读书笔记

第四章:大顺政权的覆亡

第一节:潼关战役和多铎部清军占领西安

大顺军从北京撤离之后把大本营扎在了西安。上回说到,多尔衮派两路亲王多铎和阿济格分别从东边和北边夹击大顺政权。李自成和多铎在潼关展开殊死搏斗,最后多铎攻破潼关,并乘势攻破西安,与阿济格在西安会师。西安既破,后多尔衮下令,多铎转向东边进攻在南京的南明政权,阿济格南下继续追剿大顺军残余部队。

李自成自知潼关一破,西安不保,故带着大顺军残余部队开始撤退到河南(东路)。另有少部分留守西安的部队来不及跟上李自成,故稍后南下四川后取道湖北进行撤离(西路)。就这样,曾经推翻明朝政权的李自成大顺军,被清军歼灭了主力部队,开始逃亡。

Continue reading

《南明史》第三章读书笔记

第三章:弘光朝廷的偏安江淮

第一节:基本国策——“借虏平寇”

南明当时处于严重的内忧外患,内有李自成的大顺农民军,外有满洲清军。南明称前者为寇、后者为虏。当时南明的基本国策是借虏平寇,就是希望借清兵平定大顺军,然后坐收渔利。没想到,攘外必先安内的口号在南明就有了。

南明制定这样一个国策,有其先天的软弱性:明朝被大顺灭,大顺又被清廷赶出北京,故南明不敢也不愿惹清廷,自始至终都是抱着和清廷和谈的心态,摆出一副谨慎可怜的样子。所以即使在河南山东权力真空时期,是南明收复失地的大好机会,南明仍然固收江淮偏安一隅。

南明上自朱由崧、史可法、马士英,下至地方官僚,都以大顺为敌,视清廷为友。虽然有个别中下级官员主张自立自强,但行不通,因为皇帝昏庸,且指挥不动军队,四镇以定策封爵,已无进取之心。

Continue reading

《Inductive Representation Learning on Large Graphs》阅读笔记

摘要

大规模图网络的节点嵌入对很多任务有很重要的作用,比如在推荐系统领域、蛋白质网络研究领域等。然而,目前大多数节点嵌入方法要求所有节点都在训练集中,且难以泛化到未见过的新节点上,这些方法称为直推式(transductive)方法。本文提出了一个归纳式(inductive)的节点嵌入方法GraphSAGE,它利用节点属性生成未见过节点的embedding。GraphSAGE并不直接训练节点embedding本身,而是训练生成embedding的函数,这个函数通过采样并聚合节点邻居的特征来生成自身节点的embedding。在三个数据集上的实验结果表明,GraphSAGE的性能显著强于其他方法。

Continue reading

《南明史》第二章读书笔记

第二章:弘光朝廷的建立

第一节:继统问题上的纷争和史可法的严重失策

任何政权在退出历史舞台之前,都要挣扎一番,明朝也不例外。由于明朝设立了北京和南京两套中央体系,北京政权灭亡之后,南京政权自然就担当起光复大明的重任。然而,摆在南京政权面前的第一个问题是继统问题,即拥立谁当皇帝。

然而明朝最后一任皇帝朱由检的三个儿子都被大顺军俘虏了,无法继统,皇位只能留给各位藩王了。从礼法上来说,福王朱由崧是最合适的人选。然而,由于朱由崧是万历年间“争国本”事件中万历皇帝宠爱的郑贵妃的孙子,当初正是由于东林党的反对,才导致郑贵妃的儿子老福王朱常洵没有当上皇帝,所以现在东林党也反对新福王朱由崧继位,担心朱由崧即位之后会秋后算账,对东林党不利。于是,东林党人到处游说拥立潞王朱常淓(崇祯的叔叔)当皇帝。国难当头,东林党人不顾大局,不管礼法,只考虑集团利益甚至是个人利益,混淆视听,党同伐异,为南明朝廷埋下了地雷。

Continue reading

《LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation》论文阅读

摘要

GCN模型是不是越复杂越好呢?这篇文章分析发现,GCN中常用的矩阵变换(feature transformation)和非线性激活函数(nonlinear activation)没有作用,甚至有反作用,据此作者提出了一个非常简单的GCN模型LightGCN,模型参数只有节点的embedding。这么简单的模型在推荐任务上,比大多数复杂模型的性能都要好,而且作者从理论分析了如此设计存在的若干好处。

Continue reading

《DistDGL: Distributed Graph Neural Network Training for Billion-Scale Graphs》论文阅读

前言

工业界的图规模都非常大,少说也是上千万的顶点+上亿的边,单机训练不现实,必须借助多机分布式训练。然而目前主流的图训练框架PyG、DGL对图的多机分布式训练支持都不太好。工业界好像阿里的Euler、百度的PGL可以支持分布式训练。今天介绍一下亚马逊DGL针对分布式训练所做的优化。

摘要

GNN广泛应用在推荐、搜索、风控等领域,在这些领域,图的规模往往非常大,有数以亿计的顶点和万亿的边。为支持大规模图的分布式训练,本文提出了DistDGL,它能以mini-batch的方式在多机上进行分布式训练。DistDGL基于DGL框架,它将图数据分布在多台机器上,并基于数据分布,将计算也分布在多台机器上(owner-compute rule)。DistDGL以同步更新的方式进行训练。为了减小分布式训练的通信开销,DistDGL使用一个高效、轻量的图分割算法对图进行分割,在分割时设计了多个负载均衡约束,使得每个分割的子图达到较好的负载均衡。此外,为了减小跨机器的通信,DistDGL在每个子图中保留了halo nodes(正文会介绍到),并且使用了稀疏embedding更新策略。这些优化策略使得DistDGL在分布式训练时能达到较好的高并行效率和内存可扩展性。实验结果表明,在分布式训练时,随着计算资源的增大,DistDGL的训练速度可以线性增长。在16台机器组成的分布式环境中,DistDGL仅用13秒就可以完成1亿节点+30亿边的一个epoch的训练。DistDGL是DGL的一部分,已开源在:https://github.com/dmlc/dgl/tree/master/python/dgl/distributed。

Continue reading

《南明史》序论及第一章读书笔记

前言

前段时间读客再版了顾诚先生的《南明史》,并给我寄了样书,非常感谢读客,让我有幸读到了这么优秀的历史著作!

今天下午翻看了第一章,阅读体验非常好,完全出乎我的意料,谈两点第一印象:

  • 在正式阅读之前,看到网上介绍说顾先生的《南明史》引用史料非常多,原以为会是非常晦涩难懂的学术风格。看了第一章之后,完全出乎我的意料,行文虽旁征博引,几乎每一句话都有出处,然而阅读体验非常好,只需对明史稍有了解即可顺畅阅读。行文流畅,一气呵成,读来酣畅淋漓,强烈推荐给喜欢历史,尤其喜欢明史的小伙伴。
  • 之前没读过顾先生的著作,也不了解其人,原以为顾先生在《南明史》中只是对史料进行收集和整理,叙事会很平淡枯燥,没想到仅读完自序和序论之后,我对顾先生的印象就发生了翻天覆地的变化。顾先生对南明史中的众多人物、事件有非常鲜明甚至是尖锐的个人观点,这些观点并不是顾先生空穴来风,而是都有很强的史料证据支持。加之后来看了一些有关顾先生的回忆文章,让我对顾先生独特的个性有了初步的认识。正是因为顾先生在书中倾注了大量个人感情色彩,才让这本书更加鲜活、生动,不至于沦落成一堆枯燥乏味的参考文献。
Continue reading

明朝皇帝大事记——根据《明朝那些事儿》整理而成

之前看过《明朝那些事儿》,但过段时间就忘了。最近读客给寄了《南明史》,想着在阅读《南明史》之前,先复习下明朝历史,故根据《明朝那些事儿》整理得到下面的明朝皇帝列表及大事记,感兴趣的同学自取。可点击查看大图。

Continue reading