hi,大家好~我是shadow,一枚设计师/全栈工程师/算法研究员,目前主要研究方向是人工智能写作和人工智能设计,当然偶尔也会跨界到人工智能艺术,其他各种AI产品。
这是我在第11期mixlab无界社区 上海线下聚会分享的主题。由于线下交流时间较为紧张,我重新整理了一下,补充了更为丰富的内容。意犹未尽,所以欢迎有兴趣的朋友添加我微信(文末),进一步交流哈~
Teaching Machines to Understand Design?
人工智能已经发展成为一种基本技术,可用于各种领域,例如机器人,计算机视觉,自然语言处理,甚至用户体验、产品设计、建筑设计、海报设计等等。
但是,我们必须意识到人工智能并不是万能的。当AI经过训练可以执行或加速特定任务时,它的表现最佳。
过去的实践表明,
AI并不擅长人类层面的认知或“广义”智能;
反而是擅长人类不擅长一些任务,例如理解大型数据集。
商业化的经验告诉我们,用户对AI从替代到增强的预期变化,我们应该将AI定义为可以增强人类能力的东西(而不是替代人类),
同时,越来越多的人开始接受智能增强的理念。
-2- 人类的理解能力
举一个非常典型的例子,见上图,人类的理解能力有点非逻辑可以描述,只能意会。-3- 机器的理解能力
先看一道题,
在舞台上,一位女士坐在钢琴边上。她_____
a)坐在姐姐旁边玩洋娃娃
b)正微笑着听音乐
c)在人群中,看着舞者
d)紧张地将手指放在钢琴按键上
读者们(人类)很容易就可以找出答案,但对于机器来说,这是一个非常难的问题。
我们需要告诉机器一些常识。我们必须为机器配置一个类似于现实世界的环境模型。科学也是如此:为了解释天体的运行规律,先是提出了地心说,最终才建立了日心说这一理论。有几种方法,一种是输入一条条的类似于if-then的规则;或者利用互信息,把问题跟答案成对挖掘出来,形成常识(类似关联推理);再或者构建更为复杂的知识图谱(类似因果推理)。机器理解能力的更进一步,需要从关联推理到因果推理。
贝叶斯网络之父朱迪亚·珀尔Judea Pearl描述过真正的智能机器如何思考。他认为,关键在于用因果推理causal reasoning取代关联推理reasoning by association。他举了个例子,机器不仅要能将发烧和疟疾联系起来,还需要具备推理出是疟疾导致发烧的能力。
-4- 设计语言
图灵说过,与其开发一个程序来模拟成年人的思维模式,为何不尝试去开发一个可以模拟儿童思维方式的程序?接下来只需要让这一程序接受适当的教育,它就可以变为成年人的“大脑”了。
对于设计而言,如何教会机器设计的常识呢?
回想一下我们是如何接受设计学的教育的?学习三大构成 ——色彩构成、平面构成、立体构成。然后经过不断地练习,观察案例,从而形成了我们对设计的理解能力。
从这个角度来说,我们应该从最基础的设计学教育开始教给机器。我们需要设计一种机器与设计师都能懂的语言。“设计语言”,这是设计师与机器的通讯标准,机器理解设计的数据结构。目前业界有一些接近的研究:参数化设计、计算设计,有时间的话,读者们可以分别看一下这两个领域里对机器如何理解设计的研究。我认为,对于智能设计系统,有2个核心的能力,包括理解设计的能力、推理设计的能力。目前智能设计的商业应用都太着急了,基础的教机器理解设计都没完成。
-5- 进展
对于机器而言,字体是一系列的.otf文件,机器只认识文件名,而不能理解。有一个方法,通过把字体特征化,量化每个特征,进而衡量他们的距离,从而达到分类的目的。此过程就是机器学习里的特征工程,需要设计师参与,制定哪些特征可以表达设计,能够让机器理解。
brandmark已经把字体特征化,并应用于他们的人工智能logo设计师中。是一系列十六进制,RGB或HSL的数值。以中国传统颜色为例,我们知道中国传统颜色大概有400多个,而任意颜色的输入多达1678万种(RGB色彩组合)。数量非常庞大,我们需要降维。降维的方法也很多,简单的就是通过分类的方法,把千万级的颜色分类到只有400多种类的颜色标签里(当然可以换成其他色彩标签体系,或者自定)。
adobe spark一个轻量级设计工具,对于配色的自动建议,读者有兴趣可以登录自行体验。利用图像内容的识别、人脸识别等技术,我们可以教会机器识别情绪、标签、分类、色彩等,进而机器可以了解图像里的主要对象和次要对象。上图是adobe 的sensei,更适合设计场景的图像内容识别。
结合色彩与图像理解,一种颜色知识图谱的构建与应用方式首先,我们需要构建实体标签-颜色标签的数据对;数据对长什么样呢?大海 -- (月白,0.5),(霁色,0.3),(毛月,0.2)前面是一个实体的标签,后面则是一组颜色配比,颜色用中文名表示,中文名对应有一个标准的16进制或者RGB的色值,颜色有一个频率的数值,代表 大海这个实体,哪个颜色出现的概率比较高。从照片中提取实体标签,准备大量的照片,利用图像理解读取出照片中主要的标签;继续以上图为例,这里的实体标签大概会是 大海、沙滩、人物。准备颜色分类标签,例如我们可以继续使用传统中国色彩体系作为分类的标准;比如
胭脂 #952e3a
玫瑰红#973444
牡丹红#b80233
玫瑰红#973444
此类。
从照片中识别到的实体区域提取颜色,并归类到颜色分类标签;这一步是一个分类问题,从上文,我们已经知道RGB颜色的组合大概有1600万种,我们只需要分类到我们设定好的颜色分类标签即可。比较简单的方法是按照相似度进行分类,控制一个阈值,试验分类效果。(此步其实对准确率要求没有这么高,原因读者可以思考下)每种实体标签有可能会对应几个颜色标签,这个时候需要采用一种策略确定各种颜色的比例关系。可以简单处理为颜色出现的频次(概率)。经过4步之后,我们就准备了一定数量的实体标签与颜色标签的数据集。人工稍微整理下,就可以应用到具体的设计中啦。举一个应用场景:当输入海报设计的需求,比如:咖啡店促销活动的海报,推荐颜色,通过颜色再推荐设计所需要使用到的素材。当把基础的让机器理解设计相关的问题完成后,有2个最直接的应用场景,第一种是设计助理,有点类似于聊天机器人,只不过这个聊天机器人掌握了各种设计知识,他可以把用户的非结构化的输入,转化为结构化的设计语言,并且这种设计语言机器是可以读懂的。一个典型的案例是国外一家网页设计师AI创业团队做的名为Sacha的AI助理,随时候命,在用户需要的时候。另一个场景就是更加智能化的设计工具。
设计工具一个明显的趋势是从手动到自动化的演进,例如早期photoshop并没有action的概念,而现在,我们可以预设一系列的操作变成一个action,自动化地完成一些设计任务。有了自动化的帮助,设计过程从繁至简。
关于设计工具,我们已经无法分辨到底是设计师被工具所影响,还是工具被设计师所影响。早期设计师只通过手绘来构思设计,而现在工具越来越智能,设计师表达设计的媒介不再局限于手绘,甚至跳过手绘阶段,直接打开设计工具,在设计工具里进行操作。
可以说,设计师在设计工具的影响下,设计思维也发生了转变。
另一个趋势就是越来越多的设计工具标配二次开发接口,例如三维软件blender,基于python的插件生态,例子非常多。
从这个角度来讲,设计越来越等同于技术。未来,技术将是设计师标配的技能。
举2个栗子,adobe的fontphoria使用ar自动检测图片,并生成字体样式直接叠加到现实中。
还有fastmask功能,自动把人物与背景分离,然后我们就可以在人物与背景之间加入其他设计元素啦~
-8- 最后
有2个值得我们讨论思考的问题
“每个系统中存在一个最基本的命题,它不能被违背或删除。”
——古希腊哲学家亚里士多德
对于设计智能系统而言,最基本的命题是什么?
设计的过程,就是枚举各种可能组合的过程,设计的过程就是在设计空间中游走。创造力是否可以用规则来描述?
一个可能的讨论方向:
创造力来源于不同事物的意外组合?