NCF参数化建筑论坛

标题: 【深度好文】智能化设计算法应用的<5阶进化论> [打印本页]

作者: Supers227    时间: 2020-8-11 13:20
标题: 【深度好文】智能化设计算法应用的<5阶进化论>
距离诺亚(Noah.)青衫版的内测已经过去一段时日了,我们的开发团队也陆续接收到了来自业内人士广泛的关注和应用反馈。这里面有想同我们一起开发的朋友,有想和诺亚一同合作的伙伴,也有希望引进这种技术的各大公司企业,数量之多举不胜举。


在这里,先要致歉的是因为诺亚团队之前进入了新一轮的开发闭关,所以后来很多伙伴发来的联系邀请没能逐一的给予即时反馈。同时也特别感谢大家对诺亚(Noah.)开发的关心和支持。在这里,希望能用这样一篇心得总结性的技术文章,与大家共同聊聊个行业都在关心的热门问题。



诺亚的开发,到底进展到哪一步了?
这几乎是所有联系我们的人都最关心的问题……



要解释清楚这个问题,首先我们需要建立一些技术共识。那就是我们如何去评判某种智能化算法的应用价值?相信不同的开发者们对这个问题都有自己的见解,那么我想在这里给出诺亚的评判体系,供大家作为参考。当然,这个评判体系也直接反应了诺亚对算法实用价值的思考和对产品开发方向的判断。对于目前大家在市面上能够看到的这些“智能化设计算法”,我们可以从应用方的不同和算法的实用程度出发给它们划分成这样5个阶段:即智能化设计算法应用的<5阶进化论>-- 我们也可以称其为“ 诺亚思维 ”
[attach]53502[/attach]

插图:在“诺亚思维“体系下,设计环节与项目类型是两个不同的维度,它们的乘积形成了我们需要开发的算法布局网格,每个网格内都代表了一种特定的设计工作和与之对应的智能算法。那么除了以上两个维度,第三个维度即是本文核心内容所提到的算法开发的<5个阶段>。需要强调的是,这种阶段划分是根据应用方式来决定的,而不是开发难度,针对不同类型设计工作的算法开发模式会很不一样。有的可能从1阶开始遇到瓶颈。而有些算法我们已经把技术打通到4阶了。



以下就是纯干货时间:
相信看完的朋友就能获得对智能算法的评判体系了。




1阶智能算法:针对指定项目的程序生成
基本上成熟的参数化设计师都可以做到这个级别,把自己手头的一些工作拟写成GH算法程序,使其自动执行。这个阶层算法的优越性在于它能快速有针对性地生成已知条件固定的项目图形,形成深度上可以无限深化的动态关联参数模型体系。这种模型可以辅助项目在一定范围内自由调整、快速重新生成。从而起到提升工作效率的效果。这也是早年我们去总结参数化技术在设计实战过程中的重要应用体现。


[attach]53504[/attach]



[attach]53503[/attach]

插图:以2016年,我们团队的一个实际投标项目举例。几乎方案阶段,全部的图纸工作都可以用这样的1阶算法来实现。我们可以说它是“方案一键生成”也好,说“全参自动修改”也罢。这是目前在参数化设计领域已经可以实现的技术手段,相信一些团队或多或少的在用这种模式进行设计。



当然这样的1阶算法也有着其天然的缺陷:
首先就是技术门槛比较高,国内能实现这样深度编写的设计师恐怕不到廖廖百人。其次就是开发周期很长,往往跟不上实际项目的市场需求速度。最重要的就是这种阶层的编写方式,一旦方案逻辑出现大的变化,整个算法可能就全盘报废了。所以技术不足的团队基本不会去尝试,而具备这种技术的人才又很难得到一个机会去实践。所以,我们在方案前期阶段很少看到这样纯粹的“全参项目”。

不过,1阶算法虽然不实用,但大家不要忘了,它可是真正的“一键生成”,在一定条件范围内,其效率是很可怕的。而且图纸深度可以无限深化的,这点优势反应在BIM层面更是吓人。我们看到的很多“惊人”的设计生成动图往往都是1阶算法生成的。它们的技术是真的,但只是只能在一个很小的条件约束范畴里应用罢了。


[attach]53506[/attach]

[attach]53505[/attach]

插图:在1阶算法的技术层面上,所有的建筑的模型都可以一键生成,相当于设计师是在用编程技术来建模而已。当然能建模还不够,程序模型里还需要设计建筑组成部分之间的制约逻辑。所以对于不懂建筑设计的程序员来说,想做到这个程度还是比较难的。


2阶智能算法:针对某一类型工作的算法程序,其生成结果更重视普适性
和1阶智能算法相比,2阶智能算法最大的不同就是需要考虑不同项目类型和不同设计条件之间生成逻辑的普适性,比如一个 “2阶自动排车算法” 就要满足遇到各种不同的地形轮廓、车位参数时,都能计算出有实际参考价值的运算结果。这其中可能包含数百种不同的输入变量,十几个维度的生成逻辑交叠。运算过程中需要让程序自己选择执行路径,对不同的已知条件做出不同的运算策略,最终达到理想的结果。当然,这会使得2阶算法的编程难度和算法框架设计难度大幅度增加,但反过来跟1阶算法相比,2阶最大的优势就是开发是一次性的,也就是一劳永逸的。成果也可以持续升级优化,在不断地再次开发中变得更加完美。这也是诺亚开发团队为何要花费这么大的人力和时间来集中编写这些算法基础框架的原因,目前诺亚青衫版第一批开源的算法基本上都处于2阶智能这个阶段。需要澄清的是,由于提升算法普适性的考虑,大家会感受到2阶算法本身的成果深度很难像1阶算法那样可以无限深入性的编写。而导致这一结果的核心原因不单单是因为算法开发的难度大,更多是在于不同人、不同项目对于设计成果的需求千差万别。过早的在算法前期框架内植入个性化的逻辑算法无疑是在把2阶算法降为1阶,毁掉它的普适性。那么,这是不是意味着2阶算法的应用价值也不大了?当然不是。这就好比一副绘画作品,最初一定要绘制构图用的结构线一样。往往2阶算法简单的几个线条,就已经把整个方案定位到百分之七八十了。所以从未来应用前景上看,2阶算法的普适性和应用性将会长期的在方案创意阶段为设计师们提供有效的设计参考体系。

【诺亚青衫版更新功能预告】
[attach]53513[/attach]
插图:地库排车一键生成算法即将在诺亚青衫版上与大家见面。敬请关注NCFZ订阅号,了解诺亚开发一手动态。


目前,大家最关注的也是最有争议的问题就发生在2阶算法的应用方式上:一方面因为2阶算法开发难度高,很多人质疑它们能否实现?另一方面因为图纸成果上没有1阶算法深,这又使得很多坚守这一领域开发的设计师们倍感焦虑。那么关于这种质疑,我的个人观点是这样的:2阶算法最重要的价值是让我们摸清楚了智能算法的开发流程和逻辑框架,是论证某一类型设计工作能否用程序自动运算的重要依据。一方面我们要理解,深化图纸并不难,难的是普适性逻辑的设计。另一方面我们要看清楚这种技术何时会开始真正介入设计师的日常工作:推算一下一栋建筑方案的设计流程可细分几十个步骤、行业主打的项目类型不会超过十种。二者交织形成的工作模块无非二、三百种主流算法模块。这其中一定有几十个模块目前可以实现,有几十个要等技术积累到一定程度就能攻克,也有几十个会留下来成为世界级难题。那么整个行业的工作模式开始向智能化模式转移需要多少个模块呢?也就是前面的几十个就可以了。所以大多数对技术持否定态度的观点是靠最后那些最难的题目来支撑的,而实际上在我们真正理解那些难题之前,前面的成果就已经可以使行业的工作模式发生质的转变了。

【诺亚青衫版更新功能预告】
[attach]53507[/attach]

插图:办公平面一键生成算法即将在诺亚青衫版上与大家见面。敬请关注NCFZ订阅号,了解诺亚开发一手动态。



“ 技术不会是牵引力,它不能决定设计的方向,这点我是完全赞同的。但技术一定是驱动力,它可以推动我们走向新的方向。我觉得这点也没人能否认。所以单纯强调二者中的一者,都是对人造成误导的。”




3阶智能算法:智能辅助技术下的人机结合工作模式
说了这么多,大家更关心目前这些技术能不能用吧?包括怎么用?那么接下来我就开始聊聊3阶算法:

很开心的是目前不少朋友已经对 “人工智能” 的字样有了更为理性的认识,大部分和我们对接过的伙伴更关心诺亚提出的“智能辅助” 理念。不是要让计算机设计出来人画的一样的图纸核心目标是在现有技术基础上提高设计工作效率、减轻重复劳动。3阶智能算法在2阶基础上最大的升级就是着重考虑设计师的思想如何植入程序,以及如何更方便地满足设计师使用。把智能化设计的过程,分成人和程序两种可以相结合的模式。我们可以直白的解释为一线的设计师更希望诺亚算一算,自己改一改,诺亚再算一算,自己再调一调,在人和程序的高度互动之中,真正意义的提高设计效率,做到输出成果既快又好。在这一环节中,人的思考是以一种变量的形式高度参与到整个程序体系里,而不完全是让计算机算法全部自动生成。这也是我们强调为何诺亚的定位是“您的智能助理”,而不是“设计师”。

在之前我们和外界的很多交流中,有一种感慨和大家分享:就是很多朋友都习惯性地把算法工具孤立起来去评判:“这个生成结果一看就不对。”,“这种图没有人画的好。这些观点都是我们把计算机和人对立起来的思考结论实际上诺亚的使用者需要关心的是“这种算法对我有哪些帮助?”、“这种算法我怎么借用一下就可以提高工作效率了?”这才是人机结合的思维方式。我们以前使用所有的工具都是这么考虑的,只是一联想到“人工智能”就开始紧张了。


这段时间关于一种社评矛盾的问题也有一些深刻的体会:就是很多朋友会向我们表达希望了解和应用这项技术,同时更不希望自己的岗位业务能够被算法自动执行。可是…… 每每在我们的交流过程中,大家都会提出“成果图纸还不够深入”、“希望算法能自动生成完全正确的结果”等等类似的需求,以此来建立自己对这种技术未来发展的信心。举个例子,一套自动排车位的算法,绝大多数人都会去注意那最后几辆排出问题的车位,而不会感慨前面这95%的成果已经可以自行运算了。这说明什么?说明我们的潜意识里都希望计算机能代替我们工作,希望工具越强大越省事越好,甚至不用自己画最好。可我的感慨是,真正影响设计周期的是前面那95%的车位工作,而最后那5%的复杂思维过程,才是人存在的核心价值。所以,这种信息的反馈让我们为难的同时,也迫使诺亚在向着更完美的运算结果去努力。只是每次获得一种新的技术突破的同时,我们也在感慨,这种工作会不会接下来真的不用人做了…… 在反复地思考和多方交流之后,我们更清晰的认识到这种社评的矛盾恰恰正是行业的诉求,是我们发展的方向。只有3阶的算法体系能够理想解决这个矛盾,因为大家需要的是一种全新设计模式,而不是全自动的智能设计产品。



如何进入3阶?既然是人机结合模式:就需要有掌握技术的人。


3阶模式需要开发团队和应用团队一起,共同向着一种中间的模式努力前进。一方面我们会将诺亚算法开放让更多的设计师拿到这种技术,另一方面也需要我们的设计师们或多或少的掌握一点这方面技术来使得自己能够更自由地操控这些打包好的算法。

准确的说,真正去推动行业技术的应用和发展,才是诺亚开源的目的和价值所在。诺亚所有2阶算法开发,从一开始就是奔着3阶应用去做的。而对技术的进步而言,3阶这个过程必不可少,实践测试才能看清发展的方向。不考虑人机过渡的2阶算法想直接上4阶,是会走很大弯路的。


【诺亚青衫版更新功能预告】

[attach]53508[/attach]

插图:3阶模式下,设计师可以依据诺亚立面算法框架,DIY自己的智能立面方案。从而实现千差万别的设计成果样态。


解释了3阶算法,大家会不会有一种失落感?感觉又要回去学习了,不然我们将迟迟无法迈进“理想的”智能化时代。那么我想解释一下,3阶智能算法是我们总结出来的能够满足大众需求的普及模式,但并不代表着目前没有开发更高级算法的可能。开头提到过,有些算法模块可能很容易就被写到4阶。虽然未来很长一段时间3阶仍将是主要应用场景,但4阶也是同时存在。那么下面,我们来看看什么是4阶:


4阶智能算法:针对某一类型工作的算法程序,其结果可以无限衍生
4阶智能算法已经完全可以自己跑起来了,我们只要人为的录入设计需求,程序自动就能给我们输出海量的计算结果。到了这个阶段,实用价值的最大体现在于计算机可以自主配置变量跑出无数种可能。设计师的角色从推演思维的介入,转变成一种对结果的评判和筛选。那么这里我们就要提出一个“良品率”的概念就是这些随机输出的可能性,到底有多少是能够符合我们设计意愿的,会不会有些生成的方案一看就不能用?当然会,而且随机条件越放开,输入条件越简洁,生成的不理想结果就越多。过多的选择和错误结果会给设计师的评判带来很大的负担。而作为一名资深的建筑设计师,我个人一看到错误的方案就想自己上手改,而不是在一堆已有的方案里去挑选。这也是目前一些类4阶算法并不容易被行业直接接受的主要原因。4阶开发的关键点在于到底如何用“拟人”的思维去设计这些开放性变量把那些人根本就不可能考虑的变量直接淘汰掉。这里也就需要大量的实战设计经验了。某种意义上来讲,对不同的人来说,这些经验值也不一样,所以这就需要大量的数据采样来总结归纳,最终得到一个普适的结果。从技术的层面解释,2阶智能解决了70%的设计绘图工作,3阶智能用人的智慧弥补了剩下的30%推演工作;4阶即是通过“拟人”的方式不断的模拟这30%推演工作,最终实现更高程度的智能化的程序。所以之前有人会认为3阶是假智能、3阶就是人为去改2阶图纸。但其实我们强调3阶是算法优化的必经之路。也是为什么其他编程行业的人很难介入建筑智能化算法开发的核心原因。一个算法产品不包含建筑师千锤百炼的设计逻辑思维,是几乎无法被应用的。一旦进入4阶开发,就是不断地用设计经验在提高良品率的问题了,这个时候所有筛选出来的算法成果,基本上内行人已经看不出来是人做的还是计算机做的。所以大家之前比较担忧的其实就是这些4阶算法对行业的影响,目前我们并没有考虑把部分4阶算法公布出来,原因是还在等待行业给我们提供成熟的反馈信息。

【诺亚青衫版更新功能预告】

[attach]53509[/attach]
插图:这个算法即是用“拟人”思维来编写的4阶智能算法。目前匹配产品后已经可以生成一定容积率下无穷尽的高低配强排结果。


4阶的时代一定会来,对于我们每个人来说只是之前主动接触3阶,还是之后被动的问题。在此必须感谢Rhino对建筑方案设计领域的巨大贡献,Grasshopper对建筑行业技术的推动已经证实是划时代的,而NCFZ也已经把这种技术的普及课程做的非常清晰高效了。有了这些教程体系,参数化学起来已经不是很难了。

事实上,从行业发展的眼光来看,当几年内大众建筑师已经可以驾驭3阶智能算法的时候,我们就已经开始习惯用程序来完成部分工作了。届时面对4阶的挑战,熟练3阶的建筑师们便可以直接驾驭4阶算法,引导程序按自己的需求提高它们的定向良品率。有人看到这里会说:“ 建筑师不可能都变成程序员,所以4阶时代是不存在的。” 这句话我赞同前半句,因为我们开发策划内的5阶智能算法就是协助建筑师们更好的操作4阶算法的,所以建筑师们大可不必投身代码的苦海。


【诺亚青衫版更新功能预告】
[attach]53510[/attach]
插图:根据周边地块的挡光要求,自动排建筑体量。以前最痛苦的不能挡周边建筑采光的问题,这里可以一键解决了。


5阶智能算法:模拟人的评判逻辑,给海量方案“打分”
5阶智能算法是在4阶的基础之上增加了一种“打分系统”。通过对4阶成果的特征分析来给方案结果进行打分,从而让计算机具备一定的自我评判好坏的能力。这样我们就可以让计算机自己跑一宿,第二天一早上让它从1000个方案里,找到打分排名前十的方案。这意味着什么?听起来是不是很“人工智能”。其实到5阶的时候“人工智能”领域的算法已经可以为智能化建筑设计领域所应用了但是这并不意味着5阶的技术核心就是“人工智能”技术。大家会惯性的把“人工智能”想象成计算机有自己的“想法”了、能“创造”、能“自己设计”。而事实上,目前我们更应该把它理解为一种打包算法模块,甚至是未来成为GH里的一个电池。我们可以自由地借用这些模块,但前提是我们有自己的完整程序体系。而这种程序体系建立在4阶算法架构的基础上,再多一种图形采样特征分析程序就可以实现了。而这个特征分析程序需要单独编写,难度相当于一个2阶算法开发再加上设计师的经验归纳总结。所以对于我们的行业而言,可怕的不是谁拥有“人工智能”技术,可怕的是谁拥有能用上“人工智能”技术的算法程序框架。不过现在可以明确的是,5阶也不可能代替建筑师,在5阶普及情况下,“打分系统”的设计和不断优化完善仍然需要建筑师对功能的理解和空间的体验作为指导依据,我们可以理解为4阶以前是在将制图工作基本程序化,从5阶开始是将审选工作基本程序化。千差万别的审选逻辑将继续引领建筑方案走向千差万别,不变的是创新,改变的仅仅是设计模式和设计效率罢了。
[attach]53511[/attach]
所以综上,为什么诺亚不是“人工智能”,但也算是在研发这个方向。因为没有诺亚的2、3、4、5阶算法就没有“人工智能”算法的理想应用环境。而诺亚目前在做的就是全力推动各种工作模块的2阶算法框架开发和接下来的3阶算法应用技术普及工作。目前,二阶已经完成了近40%。部分在逐渐向3阶转化过渡。接下来谁能先掌握并用上这些3阶算法逻辑,谁就将更接近建筑的未来。




技术本身是客观存在的,发展是必然的,我们去评判它的好坏往往是出于不同的应用立场。可这些评判也不会改变什么,一旦技术突破了成熟应用的节点,一切的改变将是迅速的、自然而言的。我们一直在适应这种变化,过去一直称它为:时代进步了……




[attach]53512[/attach]

<一键启动未来>





作者: Yee_    时间: 2020-8-30 16:45
学习学习学习。太厉害了{:07:}{:07:}{:07:}
作者: Art_MU    时间: 2021-6-15 16:04
用了下,感觉还是很难用于实践中,多层排了几套,设置容积率1.5,计算出来的都是给0.9以下的容积率~~
作者: 无限ing    时间: 2021-8-9 09:54
顶一下,我觉得智能算法总会是建筑的方向,用对于复杂重复的工作,计算机代替人永远正确
作者: chujiu    时间: 2022-8-19 10:44
总结得真好,我们平时也会学着把这些用在实际的项目里面。




欢迎光临 NCF参数化建筑论坛 (http://bbs.ncf-china.com/) Powered by Discuz! X3.2