1. Imperialist Competitive Algorithm (ICA)

    这篇文章介绍了一个启发于帝国竞争的算法。和很多的其它进化算法一样,这个算法从一个初始的种群开始。Population individuals called country are in two types: colonies(殖民地) and imperialists(帝国主义) that all together form some empires(帝国). Imperialistic competition among these empires forms the basis of the proposed evolutionary algorithm. 在竞争的过程中,弱小的帝国被瓦解而强大的帝国获得它们的殖民地,最后只剩下一个帝国,理论上最后帝国中所有的国家都有一致性的cost(这要求目标函数连续) ,这个算法对于很多优化问题都有很好的效果。

    2017/11/28 Algorithm Optimization

  2. Multiprocessing

    之前提到python在处理复杂任务的时候,为了提高效率可以考虑多线程。但是由于多线程的诸多限制,很多情况下CPU密集型的任务使用多线程反而会降低效率,所以解决方案是使用多进程。进程是操作系统中最基本的概念,它是一个实体。每一个进程都有自己的地址空间(文本区,数据区,堆栈),是一个执行实例。下面我们就来了解python的多进程实现和变量共享的实现。

    2017/11/26 python

  3. Assembly TypeII With Restrictions

    双边装配线里面一个基本的问题就是找到最佳节拍,解决了这个问题相当于解决了大部分的问题,因为求解思路基本是比较相近的。本篇我们讨论加入了一些约束,有一定的复杂性,要求算法可以很好的兼容约束。基本上目前的算法都是属于贪婪(Iterated Greedy)算法,为了收缩广大的搜索域。

    2017/11/26 Assembly

  4. Multi Thread

    多线程是提高计算效率一个很好的方法,特别是在强化学习中,多线程得到的数据可以有更小的相关性,可以促进训练的稳定性和收敛性。所以有必要好好了解多线程的创建和控制。下面我们就来讲解python的threading模块,需要注意的是python的多线程采用著名的全局解释锁(GIL),不能利用多核的优势,所以基本只适用于IO密集型,多线程进程可以利用IO阻塞等待时的空闲时间执行其他线程,提升效率;如果多线程进程是CPU密集型的,那多线程并不能带来效率上的提升,相反还可能会因为线程的频繁切换,导致效率下降:

    2017/11/15 python

  5. Artistic Style

    在艺术领域,我们已经掌握了采用不同的内容和风格创造别具一格的图画。虽然我们并不知道算法如何才能实现图画创造,但是在图像识别领域深度网络的实现给了我们希望。下面我们就介绍一种基于深度网络实现的高质量艺术图像生成技术。这个系统用网络拆分和合并图片的内容和形式,通过组合创造新图片。同时我们的工作也可以帮助理解人类的艺术创造。

    2017/11/12 Deep learning

  6. AlphaGo Zero

    人工智能开源的发展力是有目共睹的,现在我们正在以前所未有的速度在扩展智能算法应用的领域。如果说现在发布一条新闻:世界上首对人机情侣领取结婚证。我想我内心竟然毫无波动甚至有点想笑。深度学习一个大的跨越就是DeepMind发布的AlphaGo Zero,它证明了在没有人类先验知识的条件下,人工智能可以达到人类的水准之上。一起看看吧:

    2017/11/05 Deep learning MCTS

  7. Mastering the game of go

    中国围棋博大精深,听说想要用穷举法搜索它的整个空间可以用完地球的所有原子来计数。这么一个复杂的任务,多少年来我们认为只有人类才可以掌握围棋的真谛,而要想实现一个能与人类对抗的围棋算法,现在还是太早了。可是让人大跌眼镜的是Google DeepMind 居然造就了一代AlphaGo,打败了人类顶尖的围棋选手,而就在不久前,听说新一代Alpha Zero再创辉煌,在没有人类的经验学习下大败初代AlphaGo。一石激起千层浪,究竟是什么神奇的力量在掌握着AlphaGo?今天,我们走近初代AlphaGo。

    2017/11/01 Deep learning MCTS

  8. Variables

    你是否也对于TensorFlow的变量管理感到疑惑?当我们搭建一个很大的网络的时候,我们有太多的变量,给每一个变量设置一个不同的名字是一个很辛苦的活,而且有些如果为了避免变量名称冲突而选择一个毫无意义的名称会让后面回顾的时候很麻烦。所以TensorFlow为我们设置了一套变量的机制,我们可以灵活的使用name_space 和 variable_scope,他们有什么不一样呢?

    2017/10/26 Tensorflow