Hello, GAN! 生成对抗网络入门

Generative Adversarial Networks (GANs, 生成对抗网络) 是一种由两个网络构成的通过对抗学习训练的生成模型,由 Ian Goodfellow 等人(包括 Yoshua Bengio)在 2014 年提出,并得到了 Yann LeCun 的盛赞,称其为『机器学习界10年来最有趣的点子』。 本文将从新手的角度介绍GAN的思想和实现方法,前置知识仅需要神经网络基础。 监督 vs. 非监督 几乎所有人学习神经网络都是从分类器学起的,也就是『喂给』神经网络的数据集包括两部分:原始数据(x)和标注(y),我们希望构造一个复杂的非线性函数来表示 $f:x \rightarrow y$ 的映射,这是监督学习,如分类、回归、目标检测、语义分割等。 对于非监督学习,训练数据仅有原始的数据而没有标记,我们希望算法学习数据中隐含的模式或结构,如聚类,

Socket doesn't throw exception in Android

Android 开发过程中,遇到一个比较诡异的问题:Socket.connect 即使连接失败也不会抛出任何异常,这个问题在 STACK OVERFLOW 上已经有非常多的讨论,但我翻了无数答案没有找到合适的解决方法。最后可以确认这是Android历史遗留的一个臭虫,至于在哪个版本SDK中被修复了还不得而知,我最后将 minSdkVersion 从15换到21解决了这个问题,代价就是APP只能在 Android 5.0 以后的版本上运行。