我相信大家的微信朋友圈估计都被 Google 刚刚上线的微信小程序「猜画小歌」刷屏了,之所以被刷屏,不仅仅是因为它有趣好玩,而是因为 Google 基于 AI 技术来识别大家的神作,很多人都不敢相信,我画成这样,竟然都认识,各种灵魂画手一个个的诞生了,基于 AI 的有趣,好玩,让你们兴趣盎然,各种调侃,这是它火爆的一个原因。
今天我想通过这款 Google 推出的微信小程序「猜画小歌」,来聊一聊它背后的机器学习的相关知识,我个人仅仅只是读过关于机器学习的资料和书,浅尝辄止,我不是专门搞机器学习和人工智能的,所以只算是浅析和谈自己的看法。
机器学习原理
要聊到机器学习,我们应该知道,它主要有两种方法:监督式学习(Supervised Learning)和无监督式学习(Unsupervised Learning)。
什么是监督式学习
所谓监督式学习,就是需要我们提供大量的学习样本,包括样本相关的特征数据以及相应的标签。AI 程序可以通过这些样本来学习相关的规律或是模式,然后通过得到的规律或模式来判断没有被打过标签的数据是什么样的数据。
就比如:「猜画小歌」,我们小程序的用户画了大量的带着标签的画作,通过你画的每个带着标签的画作,AI 程序就知道,原来人类是这么画这个房子,这个船,这个苹果等等这些东西的。原来人类眼中的他们是这样的。它就会分析我们画作的每一个特点和特征,从而进行自我学习。我们提供这些大量的带着标签的数据样本也叫:训练数据(training data) 。
通过机器学习的算法,找到每幅画作在不同手写体下的特征,进而找到规律和模式。然后通过得到的规律或模式来识别那些没有被打过标签的画,以此完成识别手写画作的目标。
当然,这个 AI 小程序在上线之前,肯定已经用上万甚至几十万的样本训练过了,所以你在画的时候,它会根据你画的特征进行一些分析和识别。而我们画的这些又被它当做样本,通过算法进行了自我学习。
其实说白了,Google 挺聪明的,让 AI 小程序识别和猜测人类的画作,通过大量我们提供的免费标注训练让这个系统得到更好的学习,提升和优化。其实最后的目的可能就是:AI 智能小程序就会自己独立创作绘画,画出各种跟人类一样的作品。
所以啊,大家都是在玩的同时,在给这个 AI 小程序当陪练呢!!!我每个用户都为它的进化提供了大量的帮助和数据。大家画的越多,提供的数据样本就越多,它通过自我学习和算法分析,就会识别越准确,自己也就越了解人类。
什么是无监督式学习?
无监督式学习 (Unsupervised Learning) 是人工智能网络的一种算法 (algorithm),其目的是去对原始资料进行分类,以便了解资料内部结构。有别于监督式学习网络,无监督式学习网络在学习时并不知道其分类结果是否正确,亦即没有受到监督式增强 (告诉它何种学习是正确的)。其特点是仅对此种网络提供输入范例,而它会自动从这些范例中找出其潜在类别规则。当学习完毕并经测试后,也可以将之应用到新的案例上。
无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。
可能还会有什么半监督式学习,这个就是上述两者的结合,基本思想是利用数据分布上的模型假设, 建立学习器对未标签样本进行标签。
「猜画小歌」背后的 AI 技术
「猜画小歌」对我们画作的辨识,其实利用的就是神经网络技术,是基于对大量涂鸦样本的学习。就像,我刚才在上面监督式学习那里所说的。
Google 表示,「猜画小歌」由来自 Google 人工智能的神经网络技术驱动。该网络源全世界范围,超过 5000 万个手绘素描的数据群。机器学习手绘素描后,可以通过粗糙的草图来识别物体。例如一团长着耳朵的墨迹可能是一只熊猫。
而这个小程序利用的技术就是:RNN,也就是递归神经网络。这个技术其实谷歌在之前早就使用了,并不新鲜,在去年 11 月,Google 专门研究人 “Quick, Draw!” 的看图猜物品功能。可以根据你勾勒的几笔猜测三个可能的物品。Google 表示,这个技术是通过模拟人脑在画一个物体时是如何运用线条、形状以及其它绘画要素来进行推断。
我们在这个小程序上开始画作,训练神经网络,让 AI 来理解人们在绘制画作时是在何时起笔、走笔方向、何时停笔的。当经过训练的 RNN 模型接收到人类绘制的画作后,会生成一张类似的新画作。
你以为仅仅如此吗?不是,如果你画的画作不对,有瑕疵,它其实还会纠正呢!在 RNN 模型当中,当用户创作出的灵魂画作,还没有画完时,比如只是画出了人的头,还没有画耳朵,AI仍然能够重构出“正常”的画作来。RNN 模型仍然会继续生成有耳朵,有眼睛的正常人头。
所以,在「猜画小歌」小程序中,你仅仅可能只是画出了一个大致的线条,还没画完的时候,AI 就已经认出你画的是什么东西呢?它读取的是你的起笔,线条,和一些特征数据,就能够快速猜出你画的是什么?而且还能帮你补全和纠正。
你打开小程序,找到「我的画作」点进去,在每一幅画作的下面写着这么一句话:
最后,大家来欣赏一下我的灵魂画作吧!如下:
原文发布时间为:2018-07-20
本文作者: loonggg
本文来自云栖社区合作伙伴“非著名程序员”,了解相关信息可以关注“非著名程序员”