自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(190)
  • 资源 (5)
  • 收藏
  • 关注

原创 深度学习(四十七)——Flow-based Model, Diffusion Model, Autoregressive Model

Flow-based Model, Diffusion Model, Autoregressive Model

2023-02-06 09:53:22 2678 1

原创 Tensorflow XLA

XLAXLA(Accelerated Linear Algebra)是TensorFlow计算图的编译器。官网:https://www.tensorflow.org/xla?hl=zh-cn基本架构:https://www.tensorflow.org/xla/architectureCSE(Common subexpression elimination)DCE(Dead code elimination)TFE(Tensorflow Eager)应用层TF目前(v2.4.1)的默认

2022-05-09 09:35:05 1347 1

原创 数学狂想曲(十三)——勾股定理, Menelaus‘ Theorem

这里写自定义目录标题勾股定理Menelaus' Theorem勾股定理勾股定理在西方被称为Pythagorean theorem。它的命题本身并不复杂,也就是初中几何的内容,但是内涵非常丰富。即使大学数学也未必能穷尽其中的奥妙。这里仅罗列一二。Pythagoras of Samos,约570 BC~约495 BC,古希腊哲学家。那时候的哲学家比现在牛多了,通常都是兼通数门学科的宗师级人物。使用勾股定理定义的距离,也就是通常的Euclidean Distance。之所以用Euclid命名是因为:勾

2022-04-25 21:56:56 1527

原创 摩尔定律的瓶颈

摩尔定律的瓶颈上世纪60年代,摩尔发现半导体晶体管制程发展的速度对于一个半导体厂商至关重要。随着制程的进化,同样的芯片的制造成本会更低,因为单位面积晶体管数量提升导致相同的芯片所需要的面积缩小。所以制程发展速度如果过慢,则意味着芯片制作成本居高不下,导致利润无法扩大。另一方面,如果孤注一掷把所有的资本都用来发展新制程,则风险太大,一旦研发失败公司就完蛋了。摩尔发现当时市场上成功的半导体厂商的制程进化速度大约是每年半导体芯片上集成的晶体管数量翻倍,于是写了著名的论文告诉大家这个发展速度是成本与风险之间

2022-02-14 09:30:23 1274

原创 TVM实战

TVM实战问题的由来最近客户反馈我们的backend导入Pytorch模型会出错,而TFLite模型是OK的。打印模型的IR后,我们发现:这是Pytorch模型的IR片段: %0 = qnn.quantize(%input, 0.0186579f, 114, out_dtype="uint8", axis=1); %1 = nn.pad(%0, 114f, pad_width=[[0, 0], [0, 0], [1, 1], [1, 1]]); %2 = qnn.quantize(%fe

2021-12-27 09:19:56 2037 1

原创 TVM概述

TVMTVM是陈天奇领导的一个DL加速框架项目。它处于DL框架(如tensorflow、pytorch)和硬件后端(如CUDA、OpenCL)之间,兼顾了前者的易用性和后者的执行效率。官网:https://tvm.apache.org/代码:https://github.com/apache/tvm论文:《TVM: End-to-End Optimization Stack for Deep Learning》和同类项目的差异:TFLite和ONNXRuntime只能接收特定格式的模

2021-12-20 10:38:38 14676

原创 数学狂想曲(十二)——熵(2), 阴影面积, 肺炎版《黄冈密卷》

熵继《数学狂想曲(九)》之后,再谈谈熵。Landauer’s Erasure Principle在量子力学中,如同电荷、质量、时间有最小单位一样,热力学熵也有最小单位。Landauer’s Erasure Principle指出这个单位为KBln⁡(2)K_B\ln(2)KB​ln(2),其中KBK_BKB​为玻尔兹曼常数。Rolf Landauer,1927~1999,美国物理学家。出身于一个德国的犹太人家庭,1938年为躲避纳粹,全家移民美国。Harvard University本科(1945

2021-08-02 09:47:08 323

原创 Machine Learning之Python篇(二)

文章目录NumPyeinsumpadSuper PandasAutogradBokehChartifyPlotlyYellowbrickmlpyPyFluxJAXImagePyimgaugNumPyeinsum在实现一些算法时,数学表达式已经求出来了,需要将之转换为代码实现,简单的一些还好,有时碰到例如矩阵转置、矩阵乘法、求迹、张量乘法、数组求和等等,若是以分别以transopse、sum、trace、tensordot等函数实现的话,不但复杂,还容易出错现在,这些问题你统统可以一个函数搞定,没错,

2021-03-08 09:43:42 484

原创 生命起源

生命起源芝加哥大学的Stanley Miller和Harold Urey于1953年在几只玻璃瓶里注入了甲烷、氨气、氢气和水,然后用电极制造人工闪电,模仿生命出现之前的地球环境。一个星期之后,玻璃瓶里检测出了单糖、脂类和氨基酸等有机化合物,说明有机物完全可以在地球环境中自发产生,不需要借助上帝之手。Stanley Miller,1930~2007,美国化学家。UCB本科(1951)+University of Chicago博士(1954)。UCSD教授。美国科学院院士。Harold Urey的学生。

2020-09-21 14:53:01 456

原创 黑洞成像

黑洞成像黑洞照片2019.4.10,EHT发布了人类第一张黑洞照片。拍摄日期:2017.4.11。拍摄对象:Messier 87星系的超大质量黑洞(3.5×109M⊙∼6.6×109M⊙3.5\times 10^9 M_{\odot} \sim 6.6 \times 10^9 M_{\odot}3.5×109M⊙​∼6.6×109M⊙​)https://www.zhihu.com/question/319589547如何评价人类的第一张黑洞照片?https://blogs.futura-

2020-08-24 10:00:21 655

原创 生物(一)

生物https://mp.weixin.qq.com/s/VQaidSjbWrFvgEH0Ff6Qkw海洋里到底有多少鲸鱼的尿?哦天,还有屎!!内温性是指一种生物可以保持其身体新陈代谢有利的温度,并且主要依靠自身产生的热量维持体温,而不是主要依靠环境的热量来维持,典型的代表是大部分哺乳动物和鸟类。外温性是指一种生物主要依靠外部热源的热量来调节体温,它们的体温因此也多随着环境温度变化,蜥蜴、鳄鱼和大部分龟鳖类都是外温性生物。除了内温性和外温性动物,还有中温性动物和巨温性动物。中温性生物的体温调

2020-07-27 09:55:06 825

原创 深度学习(四十六)——StarGAN, InfoGAN, ProGAN, StyleGAN, BigGAN, FUNIT, CVAE

StarGAN论文:《StarGAN: Unified Generative Adversarial Networksfor Multi-Domain Image-to-Image Translation》CycleGAN的局限在于:对于两个Domain之间的变换,需要两个G网络。可以想象,当Domain的数量上升时,所需G网络的个数将呈指数级增长。如上图左半部分所示。StarGAN给出的办法是:所有的Domain共享一个G网络。如上图右半部分所示。具体的操作如下图所示:1.D网络除了常规的

2020-06-29 09:58:06 4549

原创 深度学习(四十五)——Stack GAN, GAN Ensemble, Pix2Pix, CycleGAN

Stack GAN论文:《StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks》早期以DCGAN为代表的网络生成的图片分辨率太低,质量不够好,都不超过100×100,在32×32或者64×64左右。这是因为难以一次性学习到生成高分辨率的样本,收敛过程容易不稳定。因此采用级联结构,逐次提升分辨率的Stack GAN应运而生。上图是Stack GAN的网络结构图。其中

2020-05-25 09:59:48 1874

原创 深度学习(四十四)——GAN的评估指标, DCGAN, WGAN-GP, CGAN, BEGAN & EBGAN

GAN的评估指标尽管可用的GAN模型非常多,但对它们的评估仍然主要是定性评估,通常需要借助人工检验生成图像的视觉保真度来进行。此类评估非常耗时,且主观性较强、具备一定误导性。鉴于定性评估的内在缺陷,恰当的定量评估指标对于GAN的发展和更好模型的设计至关重要。论文:《An empirical study on evaluation metrics of generative adversarial networks》这篇论文是GAN评估指标方面的综述文章。上图是该文给出的各种常见评估指标的体系结构

2020-05-18 10:13:30 4776

原创 Ubuntu使用技巧(三), 硬盘安装Linux(UEFI)

VNCvino & remminaubuntu不同于一般的发行版,它对桌面做了很大的改动,因此通常的VNC手段对其并不好使。但其实它已经自带了相关的应用:服务端:vino设置->共享->屏幕共享,设置密码并打开。ss -lnt查看5900端口是否开启。设置防火墙规则:sudo ufw allow from any to any port 5900 proto...

2020-04-27 11:23:31 1658

原创 C/C++编程心得(三)

各类ptrauto_ptr:它允许程序员创建一个指向某种资源的指针对象,当该对象离开它的作用域时,它所指向的资源也会被自动释放。在原本的C++中,new和delete必须配对使用,然而给每个异常处理分支添加delete是一件很麻烦的事。auto_ptr就是用来干这事的,它无需显式调用delete。对auto_ptr的赋值和拷贝会导致原来的auto_ptr变为NULL,从而无效化。uniqu...

2020-04-13 10:20:35 294

原创 C/C++编程心得(二)

参考资料https://en.cppreference.com/这个网站可以查到C++的标准库的用法。https://isocpp.org这个是C++标准组织的网站,可以查看C++的新特性。http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines这个是C++新特性的代码规范指南https://en.cppreference...

2020-03-30 10:14:14 291

原创 深度学习(四十三)——深度强化学习(6)AlphaGo全系列

AlphaGo全系列AlphaGo算是这波AI浪潮的里程碑事件了。如果说AlexNet让学术界重新认识了DL的话,AlphaGo则让大众都认识到了DL的威力。我也是在AlphaGo的感召之下,投身ML/DL领域的(2016.7)。因此,了解AlphaGo的原理,就成为了我一直以来的目标。岂料直到三年多之后(2019.11),我才能真正看懂AlphaGo。历史我对人工智能的认识,始于1997年...

2020-03-16 11:12:40 4649

原创 深度学习(四十二)——深度强化学习(5)PPO, IMPALA, Hierarchical RL, OpenAI

PPO(Proximal Policy Optimization)PPO是2017年由OpenAI提出的一种基于随机策略的DRL算法,也是当前OpenAI的默认算法。PPO是一种Actor-Critic算法。它的主要改进在它的Actor部分。我们知道,Policy Gradient算法的训练过程中,始终存在着new Policy和old Policy这样一对矛盾。一方面,我们需要new P...

2020-03-09 10:16:01 4343

原创 深度学习(四十一)——深度强化学习(4)A2C & A3C, DDPG

A2C & A3CActor-Critic一般简称AC算法。针对它的一般用法参见《机器学习(三十五)》。AC算法也可用于DRL领域,具体的做法和DQN类似:一个Actor网络,用来近似V值。一个Critic网络,用来近似Q值。这里有个小技巧:Actor网络和Critic网络可以共享网络参数,两者仅最后几层使用不同结构和参数。(参见下图A3C的图)针对AC的改进,衍...

2020-03-02 10:29:40 9433

原创 深度学习(四十)——深度强化学习(3)Deep Q-learning Network(2), DQN进化史

Deep Q-learning Network(续)Nature DQNDQN最早发表于NIPS 2013,该版本的DQN,也被称为NIPS DQN。NIPS DQN除了提出DQN的基本概念之外,还使用了《机器学习(三十三)》中提到的Experience Replay技术。2015年初,Deepmind在Nature上提出了改进版本,是为Nature DQN。它改进了Loss函数:L=(r...

2020-02-24 11:12:25 1999 1

原创 深度学习(三十九)——深度强化学习(2)概述, Deep Q-learning Network(1)

概述上图是深度强化学习的脉络图,参考文献中还有该领域的关键论文列表。原图地址:http://louiskirsch.com/maps/reinforcement-learning参考:https://mp.weixin.qq.com/s/781fVvKr4yuq4q2GI1Y1gA从Zero到Hero,OpenAI重磅发布深度强化学习资源https://spinningup.o...

2020-02-10 16:22:35 737

原创 机器学习(三十九)——博弈论(2), Exploration & Exploitation

博弈论智猪博弈问题智猪博弈问题是John Nash于1950年提出的问题。在一个猪圈里养着一头大猪和一头小猪,在猪圈的一端放有一个猪食槽,在另一端安装有一个按钮,它控制着猪食的供应量。假定:猪按一下按钮,就有8单位猪食进槽,但谁按按钮就会首先付出2单位成本;若大猪先到食槽,则大猪吃到7单位食物,而小猪仅能吃到1单位食物;若小猪先到,则大猪和小猪各吃到4单位食物;若两猪同时到,则大猪...

2020-01-06 16:09:06 1763

原创 机器学习(三十八)——博弈论(1)

博弈论博弈论(game theory)是一门单独的学科,和RL并无统属关系。然而由于RL,特别是MARL大量应用到了相关的知识,所以这里也把它写在RL系列里了。历史博弈论最早可追溯到“齐威王田忌赛马”,但它真正的发展是在20世纪下半叶。RL的历史相对比较晚,因此从渊源来看,RL=博弈论+控制论+ML。参考:https://blog.csdn.net/sobermineded/artic...

2019-12-23 10:31:26 3202

原创 机器学习(三十七)——Integrating Learning and Planning(3)

Integrating Learning and PlanningMonte-Carlo Search(续)下面我们结合实例(下围棋)和示意图,来实际了解MCTS的运作过程。第一次迭代:五角形表示的状态是个体第一次访问的状态,也是第一次被录入搜索树的状态。我们构建搜索树:将当前状态录入搜索树中。使用基于蒙特卡罗树搜索的策略(两个阶段),由于当前搜索树中只有当前状态,全程使用的应该是一个搜索...

2019-12-02 10:19:00 368

原创 机器学习(三十六)——Integrating Learning and Planning(2)

Integrating Learning and Planning(续)Table Lookup Model查表模型适用于MDP的P,R都为已知的情况。我们通过visit得到各状态行为的转移概率和奖励,把这些数据存入表中,使用时直接检索。状态转移概率和奖励计算方法如下:P^s,s′a=1N(s,a)∑t=1T1(St,At,St+1=s,a,s′)\hat{P}^a_{s,s'}=\frac...

2019-11-04 13:52:04 377

原创 机器学习(三十五)——Actor-Critic, Integrating Learning and Planning(1)

Actor-Critic概述MC策略梯度方法使用了收获作为状态价值的估计,它虽然是无偏的,但是噪声却比较大,也就是变异性(方差)较高。如果我们能够相对准确地估计状态价值,用它来指导策略更新,那么是不是会有更好的学习效果呢?这就是Actor-Critic策略梯度的主要思想。Actor-Critic的字面意思是“演员-评论”,相当于演员在演戏的同时,有评论家指点,继而演员演得越来越好。即使用C...

2019-10-28 10:05:37 375

原创 机器学习(三十四)——策略梯度

策略梯度价值函数可以进行近似的参数化表达,策略本身也同样可以函数化、参数化:πθ(s,a)=P[a∣s,θ]\pi_\theta(s,a)=P[a | s, \theta]πθ​(s,a)=P[a∣s,θ]所谓函数化是指,通过一个概率分布函数πθ(s,a)\pi_\theta(s,a)πθ​(s,a),来表示每一步的最优策略,在每一步根据该概率分布进行action采样,获得当前的最佳acti...

2019-10-21 09:36:43 482

原创 机器学习(三十三)——价值函数的近似表示

价值函数的近似表示之前的内容都是讲解一些强化学习的基础理论,这些知识只能解决一些中小规模的问题。很多价值函数需要用一张大表来存储。当获取某一状态或行为的价值的时候,通常需要一个查表操作(Table Lookup),这对于那些状态空间或行为空间很大的问题几乎无法求解。在实际应用中,对于状态和行为空间都比较大的情况,精确获得各种v(s)和q(s,a)几乎是不可能的。这时候需要找到近似的函数。具体来...

2019-10-14 08:58:12 620 2

原创 古希腊三大数学书(二)

古希腊三大数学书(续)代数代数学的历史要晚的多,无论东西方,基本都是公元1世纪产生萌芽,到了公元3世纪才有了初步的雏形。典型代表是中国的《九章算术》和希腊丢番图(Diophantus)的《算术》。解析几何解析几何虽然进入了现代中学课本,然而其出现的历史非常晚,一般以1637年笛卡尔发表的《几何学》作为解析几何诞生的标志。微积分中学课本中的微积分知识,非常初步,并不见得比阿基米德、刘徽高...

2019-09-16 12:41:47 719

原创 古希腊三大数学书(一)

《几何原本》、《阿基米德全集》和《圆锥曲线论》被称为古希腊三大数学书,代表了文艺复兴之前欧洲数学的最高成就。几何原本《几何原本》是古希腊数学家欧几里得(Euclid)所著(约公元前300年),它是三大数学书中最早编写,影响也最大的书,在西方是仅次于《圣经》而流传最广的书籍。它是古典几何学的集大成之作,也是几何学成熟的标志。欧几里得也被称作“几何之父”。《几何原本》共15卷。其中前6卷,由明代...

2019-09-09 10:32:39 4978

原创 深度学习(三十八)——深度强化学习(1)教程

教程http://incompleteideas.net/sutton/book/the-book-2nd.html《Reinforcement Learning: An Introduction》,Richard S. Sutton和Andrew G. Barto著。注:Richard S. Sutton,加拿大计算机科学家,麻省大学阿姆赫斯特分校博士(1984年),阿尔伯塔大学教授。强...

2019-09-02 16:08:49 1248

原创 C/C++编程心得(二)

C/C++编程心得strtokstrtok函数多用于分割字符串,但它会改变被分割字符串的值。因此,如果该字符串以后还有用的话,需要首先复制该字符串,然后对复制的字符串执行strtok函数。malloc与calloc两者都是动态分配内存。主要的不同:malloc不初始化分配的内存,已分配的内存中可以是任意的值。calloc初始化已分配的内存为0。次要的不同:calloc返回的是一个数组,...

2019-08-26 09:22:20 415

原创 深度学习(三十七)——CenterNet, Anchor-Free, NN Quantization

CenterNetCenterNet是中科院、牛津、Huawei Noah’s Ark Lab的一个联合团队的作品。(2019.4)论文:《CenterNet: Keypoint Triplets for Object Detection》上图是CenterNet的网络结构图。正如之前提到的,框对于物体来说不是一个最好的表示。同理,Corner也不是什么特别好的表示:绝大多数情况下,C...

2019-07-29 09:35:36 2094 1

原创 深度学习(三十六)——R-FCN, FPN, RetinaNet, CornerNet

R-FCNR-FCN是何恺明/孙剑小组的Jifeng Dai于2016年提出的。论文:《R-FCN: Object Detection via Region-based Fully Convolutional Networks》代码:https://github.com/PureDiors/pytorch_RFCNfaster R-CNN对卷积层做了共享(RPN和Fast R-CNN)...

2019-07-15 09:47:41 1352

原创 深度学习(三十五)——Style Transfer(2), YOLOv3, Tiny-YOLO, One-stage vs. Two-stage

Style TransferTexture Networks: Feed-forward Synthesis of Textures and Stylized Images这篇论文属于fast style transfer类的改进。它是Skolkovo Institute of Science and Technology & Yandex的Dmitry Ulyanov的作品。Dmi...

2019-06-03 10:28:24 1074

原创 数学狂想曲(十一)——高阶统计, 最速降线, 泛函 & 变分

高阶统计Cumulants(续)在介绍Cumulants之前,我们首先看一下Moment-generating function:MX(t):=E⁡[etX],t∈RM_X(t) := \operatorname E \left[e^{tX}\right], \quad t \in \mathbb{R}MX​(t):=E[etX],t∈R可以看出,MGF和《数学狂想曲(二)》中提到的随机变...

2019-05-13 09:27:59 1585

原创 AI Chip(一)

AI Chiphttps://basicmi.github.io/AI-Chip/A list of ICs and IPs for AI, Machine Learning and Deep Learning.NN计算的硬件设计NN计算问题的瓶颈主要包括两类:1.数学运算的速度。NN运算主要以乘加为主,实现这类加速功能的硬件单元一般被称为NN Processor。这也是第一代AI芯片...

2019-05-06 09:25:54 2814 1

原创 深度学习(三十四)——深度推荐系统

深度推荐系统推荐系统一直是AI能够落地且商业前景很好的一个研究方向。自2016年以来,该方向也逐渐被DL所侵蚀,尽管目前从招聘来说,这方面的职位仍以普通ML为主。2017年5月,我曾面试了一家电商企业。当时给我的感觉,虽然里面的工程师较早接触ML,然而知识老化现象比较严重,对最基本的神经网络知识缺乏必要的了解。这显然给了后来者一个弯道超车的好机会。教程https://mp.weixin.q...

2019-04-08 09:25:17 1031

原创 AI工具

AI工具https://mp.weixin.qq.com/s/TT4whft1Tj1pCEPbnMH1cA清华大学发布OpenNE:用于网络嵌入的开源工具包https://mp.weixin.qq.com/s/r01vfSKb4VpFXVyokb54BgMIT开放图像标注工具LabelMe源代码:助力机器视觉的发展https://mp.weixin.qq.com/s/30dK7nGJOW...

2019-04-01 09:52:28 4327

Box2D v2.3.0 用户手册中文版

Box2D v2.3.0 用户手册中文版 推介一下本人的GitHub下的Box2D镜像,相关翻译工作由该镜像维护,欢迎参与 https://github.com/antkillerfarm/box2d

2015-04-07

计算日出日落时间的源码

计算日出日落时间的源码,http://www.supercss.com源码的基础上做了修改,并改正了原算法的计算错误。(原算法计算的白天黑夜的时间长度正确,但时刻不对。)

2009-08-26

Notes On Writing Portable Programs In C(用C语言编写可移植程序的注意事项)

Notes On Writing Portable Programs In C中文翻译版

2009-05-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除