月色的部落格
我们来到这个世界上,只是为了看一看月亮
-
TensorFlow从1到2(十二)生成对抗网络的概念上一篇中介绍的VAE自动编码器具备了一定程度的创造特征,能够“无中生有”的由一组随机数向量生成手写字符的图片。这个“创造能力”我们在模型中分为编码器和解码器两个部分。其能力来源实际上是大量样本经过学习编码后,在数字层面对编码结果进行微调,再解码生成图片的过程。所生成的图片,是对原样本图的某种变形模仿。今天的要介绍的生成对抗网络(GAN)也具备很类似的功能,所建立的模型,能够...
-
TensorFlow从1到2(十一)基本概念“变分自动编码器”(Variational Autoencoders,缩写:VAE)的概念来自Diederik P Kingma和Max Welling的论文《Auto-Encoding Variational Bayes》。现在有了很广泛的应用,应用范围已经远远超出了当时论文的设想。不过看起来似乎,国内还没有见到什么相关产品出现。作为普及型的文章,介绍“变分自动编码器”,要先从编码...
-
TensorFlow从1到2(十)基本概念机器翻译和语音识别是最早开展的两项人工智能研究。今天也取得了最显著的商业成果。早先的机器翻译实际脱胎于电子词典,能力更擅长于词或者短语的翻译。那时候的翻译通常会将一句话打断为一系列的片段,随后通过复杂的程序逻辑对每一个片段进行翻译,最终组合在一起。所得到的翻译结果应当说似是而非,最大的问题是可读性和连贯性非常差。实际从机器学习的观点来讲,这种翻译方式,也不符合人类在做语言翻译时所做的...
-
TensorFlow从1到2(九)迁移学习基本概念迁移学习是这两年比较火的一个话题,主要原因是在当前的机器学习中,样本数据的获取是成本最高的一块。而迁移学习可以有效的把原有的学习经验(对于模型就是模型本身及其训练好的权重值)带入到新的领域,从而不需要过多的样本数据,也能达到大批量数据所达成的效果,进一步节省了学习的计算量和时间。MobileNet V2是由谷歌在2018年初发布的一个视觉模型,在Keras中已经内置的并使用I...
-
TensorFlow从1到2(八)《从锅炉工到AI专家(6)》一文中,我们把神经网络模型降维,简单的在二维空间中介绍了过拟合和欠拟合的现象和解决方法。但是因为条件所限,在该文中我们只介绍了理论,并没有实际观察现象和应对。现在有了TensorFLow 2.0 / Keras的支持,可以非常容易的构建模型。我们可以方便的人工模拟过拟合的情形,实际来操作监控、调整模型,从而显著改善模型指标。从图中识别过拟合和欠拟合先借用上一篇的两...
-
TensorFlow从1到2(七)线性回归模型“回归”这个词,既是Regression算法的名称,也代表了不同的计算结果。当然结果也是由算法决定的。不同于前面讲过的多个分类算法或者逻辑回归,线性回归模型的结果是一个连续的值。实际上我们第一篇的房价预测就属于线性回归算法,如果把这个模型用于预测,结果是一个连续值而不是有限的分类。从代码上讲,那个例子更多的是为了延续从TensorFlow 1.x而来的解题思路,我不想在这个系列的...
-
TensorFlow从1到2(六)结构化数据的预处理前面所展示的一些示例已经很让人兴奋。但从总体看,数据类型还是比较单一的,比如图片,比如文本。这个单一并非指数据的类型单一,而是指数据组成的每一部分,在模型中对于结果预测的影响基本是一致的。更通俗一点说,比如在手写数字识别的案例中,图片坐标(10,10)的点、(14,14)的点、(20,20)的点,对于最终的识别结果的影响,基本是同一个维度。再比如在影评中,第10个单词、第2...
-
TensorFlow从1到2(五)Keras内置的预定义模型上一节我们讲过了完整的保存模型及其训练完成的参数。Keras中使用这种方式,预置了多个著名的成熟神经网络模型。当然,这实际是Keras的功劳,并不适合算在TensorFlow 2.0头上。当前TensorFlow 2.0-alpha版本捆绑的Keras中包含: densenet inception_resnet_v2 inception_v3 mobilen...
-
TensorFlow从1到2(四)Fashion Mnist — 一个图片识别的延伸案例在TensorFlow官方新的教程中,第一个例子使用了由MNIST延伸而来的新程序。这个程序使用一组时尚单品的图片对模型进行训练,比如T恤(T-shirt)、长裤(Trouser),训练完成后,对于给定图片,可以识别出单品的名称。程序同样将所有图片规范为28x28点阵,使用灰度图,每个字节取值范围0-255。时尚单品的类型,同样也是分为1...
-
TensorFlow从1到2(三)数据集及预处理从这个例子开始,相当比例的代码都来自于官方新版文档的示例。开始的几个还好,但随后的程序都将需要大量的算力支持。Google Colab是一个非常棒的云端实验室,提供含有TPU/GPU支持的Python执行环境(需要在Edit→Notebook Settings设置中打开)。速度比不上配置优良的本地电脑,但至少超过平均的开发环境。所以如果你的电脑运行速度不理想,建议你尝试去官方文...
-
TensorFlow从1到2(二)图片样本可视化原文第四篇中,我们介绍了官方的入门案例MNIST,功能是识别手写的数字0-9。这是一个非常基础的TensorFlow应用,地位相当于通常语言学习的”Hello World!”。我们先不进入TensorFlow 2.0中的MNIST代码讲解,因为TensorFlow 2.0在Keras的帮助下抽象度比较高,代码非常简单。但这也使得大量的工作被隐藏掉,反而让人难以真正理解来龙去脉。...
-
TensorFlow从1到2(一)引言原来引用过一个段子,这里还要再引用一次。是关于苹果的。大意是,苹果发布了新的开发语言Swift,有非常多优秀的特征,于是很多时髦的程序员入坑学习。不料,经过一段头脑体操一般的勤学苦练,发现使用Swift做开发,不仅要学习Swift,还要学习Swift2、Swift3、Swift4…后来我发现,这个段子很有普遍性,并非仅仅苹果如此,今天的TensorFlow 2.0也有点这样的趋势。以至于...
-
从一到万的运维之路摘要:本文从单机真机运营的历史讲起,逐步介绍虚拟化、容器化、Docker、Kubernetes、ServiceMesh的发展历程。并重点介绍了容器化阶段之后,各项重点技术的安装、使用、运维知识。可以说一文讲清楚服务器端运维的热点技术。序文章的名字起的有点纠结,实际上这是一篇真正从基础开始讲解,并试图串联起来现有一些流行技术的入门文章。目前的企业级运营市场,很有点早几年前端工程师所面临的那...
-
解决mac上每次升级nodejs都要重新安装扩展包的问题虽然有了一些新生派竞品比如yarn,但使用或者习惯了npm的开发者仍然大有人在。以前用起来没注意到这个现象,最近一段时间发现,每次随着使用brew upgrade自动升级了nodejs版本,原来安装的nodejs扩展包就不起作用了,还需要重新安装一遍。再加上一些扩展包存储网站被墙的问题,这个过程真是令人痛不欲生。今天比较闲了研究了一下,发现原来的扩展包都是通过npm安装到/usr/local...
-
拼音转换小工具试过的人都知道,电脑输入拼音很麻烦,特别是再加上音调。网上搜一搜,帮助输入拼音工具很多,最简单的是直接汉字查拼音,可惜多音字或者断句容易有歧义的情况下,电脑的人工智能往往会给出错误的答案。这个小工具没有那么高的智能,仍然要求输入拼音的英文简写,但不会出现上面说的错误。对输入效率也有明显提升。使用方法: 直接使用英文字母来表示拼音。 如果想输入“ü”,使用字母“v”。 一个汉字的完整拼音...