在很多以前只能靠人脑的任务中,神经网络正在发挥越来越重要的作用。所以Eric Bernhardsson决定研究一下将50000种字体放入神经网络 后会发生什么。结果相当有趣。为了让人工智能能够消化字体,他创建了一个字符栅格——每一个字符都放置在一个64×64像素空间中,这样每一个字符就可以 和其它字符进行直接对比。在这个过程中,他让神经网络创建他所称的“矢量字体”——一种能够单独定义字体的抽象数学结构,详情可以查看他的博客进行了解。
而对于得到的矢量,Bernhardsson还有更有趣的用途,他解释说:
因为每个字体都是一个矢量,我们可以创建任意字体矢量并从中生成结果。我们可以……选择一个字体矢量并通过随机扰动生成新字体……我们也可以生成完全全新的字体。如果我们建立一个字体矢量分布作为一个多元正态分布的模型,我们可以从中随机取样矢量,然后看看它们会产生什么字体。
所得到的结果即如文中图片所示。这个神经网络也相当聪明。比如说它学习到很多字体使用大写字母作为小写字母,然后它就聪明地根据其所创建字体的不同在两者之间切换。
字体设计师们不要过于惊慌,神经网络暂时还没办法取代你们的工作。但这个项目让我们了解到神经网络也能完成很酷的项目,也能多才多艺。