
游戏编程模式
很多游戏项目常常以失败告终,或者是被淹没在复杂而繁琐的代码中。如何解决这些问题?
各位看官,不管你是对游戏开发感兴趣,或者正在饱受代码不断增长带来的灾难,这专栏将是你们的福音!
仙道菜
北京航空航天大学研究生;
关注:计算机视觉、机器学习等;
邮箱:cyh@buaa.edu.cn
展开
-
【机器学习】神经网络-激活函数-面面观(Activation Function)
日常 coding 中,我们会很自然的使用一些激活函数,比如:sigmoid、ReLU等等。不过好像忘了问自己: 1. 为什么需要激活函数? 2. 激活函数都有哪些?都长什么样?有哪些优缺点? 3. 怎么选用激活函数?本文正是基于这些问题展开的,欢迎批评指正!原创 2016-01-27 12:35:17 · 73697 阅读 · 8 评论 -
【深度学习&分布式】Parameter Server 详解
MXNet是李沐和陈天奇等各路英雄豪杰打造的开源深度学习框架(最近不能更火了),其中最吸引我的是它的分布式训练的特性;而提供支持其分布式训练特性的正是当年李少帅和 Alex Smola 等人开发的 parameter server. 本文从易用性、通信高效性、可扩展性等角度介绍 parameter server .原创 2016-01-20 01:34:02 · 44069 阅读 · 10 评论 -
【Spark 机器学习】K-means聚类算法(理论篇)
【机器学习】K-means聚类算法(理论篇) 本博客是【Spark-Python-机器学习】系列的文章。 该系列的文章主要讲解【机器学习】的一些通用算法的原理,并且使用【Python+Spark】来实现。 文章通常分为上下篇(理论篇 与 实践篇)。 如需转载,请附上本文链接:http://blog.youkuaiyun.com/cyh_24/article/details/50原创 2015-12-31 23:49:54 · 8013 阅读 · 0 评论 -
【论文笔记】SparkNET: 用Spark训练深度神经网络
这篇论文是 Berkeley大学 Michael I. Jordan 组的最新论文。训练深度神经网络是一个非常耗时的过程,比如用卷积神经网络去训练一个目标识别任务需要好几天来训练。因此,充分利用集群的资源,加快训练速度成了一个非常重要的领域。SparkNet 是基于Spark的深度神经网络架构。原创 2015-12-27 23:00:47 · 12710 阅读 · 3 评论 -
【机器学习】K-Means 聚类是特殊的矩阵分解问题
【机器学习】K-Means 聚类是特殊的矩阵分解问题。本博客是该论文《k-Means Clustering Is Matrix Factorization》的阅读笔记。论文证明了传统的K-Means算法的目标函数可以被表达成数据矩阵与其低阶数据矩阵之间差异的Frobenius范数。简单地说,K-Means 聚类是特殊的矩阵分解问题。原创 2015-12-26 15:59:27 · 8603 阅读 · 3 评论 -
【机器学习】Logistic Regression 的前世今生(理论篇)
Logistic Regression可以说是机器学习的入门算法。不过,你真的有把握能够把LR从头到脚讲一遍吗?你会现场建模,数学推导?你知道它的正则化的作用?你能讲清楚它跟MaxEnt最大熵模型的关系吗?ok,你说这些你都会?那你知道并它的行化怎么做吗?有几种并行化的方式呢?啥?!你说你还会?大神,请受我一拜!原创 2015-12-19 17:36:12 · 56290 阅读 · 25 评论 -
【论文笔记】The Impact of Imbalanced Training Data for CNN
本文主要研究使用不平衡数据训练CNN对图像分类的影响。文中使用的数据集是CIFAR-10。使用这些生成的不同的训练集,分别去训练一个CNN。结果显示,不平衡训练集会对结果造成很大的负面影响,而训练集在平衡的情况下,能够达到最好的performance,同时oversampling是一个非常有效的解决imbalance的方法。原创 2015-11-16 20:35:58 · 7007 阅读 · 0 评论 -
使用docker安装部署Spark集群来训练CNN(含Python实例)
实验室有4台服务器(8个GPU/台),平日都只使用了其中的一个GPU,实在暴遣天物!于是决定使用docker安装部署Spark集群,将这些GPU都利用起来训练CNN。本文是博主含泪写出的踩坑总结,希望能够给各位提供了一些前车之鉴来避开这些坑。原创 2015-11-06 15:03:18 · 22517 阅读 · 14 评论 -
2015 SegmentFault 黑客马拉松记录
上周末,我们参加了由 segmentfault 组织的亚洲最大规模的黑客马拉松。这次的Hackathon在 北京 / 杭州 / 深圳 / 济南 / 武汉 多城同时联动。仅我们参加的北京赛区,就有30多个团队,150余人。原创 2015-10-31 08:45:37 · 3386 阅读 · 4 评论 -
快排到底有多快?元芳,你还看吗?
大师级的文章,总是能够使你更接近于事物的本质。 最近看了pongba的数学之美番外篇:快排为什么那么快。文中提到了Mackay的一篇文章(这里是译文),里面提到了使用信息论来解释快排与堆排的速度差异的本质原因。看罢,内心有种莫名的激动。虽不懂信息论,但Mackay(大师毕竟是大师),最简单的解释,却直接触到了本质。有兴趣的可以看看Mackay的这篇文章。这里,只是我自己的一点感悟。原创 2012-10-28 01:27:28 · 5864 阅读 · 5 评论 -
【Python多进程库】一个函数让你设置CPU数和线程数
使用multicpu之后,你需要一个函数,就可以定义你程序运行时所需的CPU数量和每个CPU占用的线程数量。重点是,代码只有60行不到,你可以很轻松的阅读源码。原创 2015-10-21 23:59:20 · 12508 阅读 · 1 评论 -
【人脸识别】人脸验证算法Joint Bayesian详解及实现(Python版)
本文主要是针对[Bayesian Face Revisited: A Joint Formulation][3] 这篇文章的笔记。这篇论文仅通过LBP跟Joint Bayesian这两个方法结合,就把**LFW** 数据集上的人脸验证准确率轻松刷到了92.4%. 香港中文大学团队的DeepID2将七个联合贝叶斯模型使用SVM进行融合,最终达到了99.15%的结果。原创 2015-10-12 00:54:30 · 46695 阅读 · 115 评论 -
Game Programming Patterns-再探Flyweight模式
迷雾消散,一个古老而壮丽的原始森林呈现在了我们的面前。不计其数的古老的铁杉,像一座塔尖林立的绿色大教堂。在巨大的树干面前,以至于,你只有往后拉开一段距离,才能从树干之间的缝隙中辨认出这是一个巨大的森林。这是游戏开发者梦想中的世外桃源般的设计,而正是一个设计模式使得这一梦想中的场景得以在现实中得到实现。而这个模式的名字却再低调不过了:Flayweight(享元模式)。原创 2015-10-03 22:57:24 · 2143 阅读 · 2 评论 -
Game Programming Patterns-再探Command模式
可以说Command模式是我最喜欢的设计模式之一。在我写的大多数的大型程序,游戏和其他一些代码中,都随处可见这个模式。正确地使用这个模式,可以让一些原本很丑陋的代码变得更加整洁。然而,这样的一个优雅漂亮的模式,“Gof”却给出了一个非常抽象,晦涩难懂的描述:原创 2015-09-22 22:37:43 · 2621 阅读 · 2 评论 -
Game Programming Patterns-再探设计模式
游戏编程模式- 再探设计模式,本章目录。原创 2015-09-18 16:38:32 · 1929 阅读 · 0 评论 -
Game Programming Patterns-架构,性能与游戏
《Game Programming Patterns》游戏编程模式的第二篇;在我们埋头研究一堆的设计模式之前,我想先告诉你,对于软件架构,我个人是如何理解的。这样可以帮你对后续的文章有更好的理解。或者,当你跟别人争论一个软件架构或者设计模式是优秀还是糟糕的时候,这些都可以给你提供一些论据。原创 2015-07-19 20:25:59 · 3673 阅读 · 0 评论 -
Game Programming Patterns-简介
我在自己游戏开发的经验中,找到了一些好的设计模式,并把他们记录在这本书里。这样,我们就可以有更多的时间用在发明新东西上面,而不是用在重复造轮子了。原创 2015-07-13 22:05:17 · 3568 阅读 · 2 评论 -
Game Programming Patterns-目录
这本Game Programming Patterns游戏编程模式是由Bob Nystrom(一位在EA待过7年,有着20年游戏开发经历的工程师编写)。本书将告诉你,什么模式能够帮你理清和优化你的游戏,如何根据你的需求灵活的组织你所需要的设计模式。原创 2015-07-13 21:50:43 · 4642 阅读 · 3 评论