Python 与深度学习有哪些与建筑设计相接轨的可能性
关注这个问题快一周了,到目前来说还是没发现什么太大的惊喜。我感觉建筑设计界还是要学习一个,不要看到深度学习很火,就弄个大新闻,把这玩意往建筑设计上搬呀。其实深度学习这事儿到底怎么就能和建筑设计挂钩上?
如果单单指“深度学习”,那我的理解是套用了许多层的人工神经网络,这种技术能在建筑设计中扮演什么角色?我目前还真没发现直接用深度学习这种技术来辅助建筑设计的例子。
但是如果把题主提问的概念放宽松一点,变成“如何使用机器学习等算法来帮助建筑设计”,那我想还是有比较好的例子的。机器学习技术是用来让程序的运行性能随着输入量和时间的积累慢慢提高的一种技术。
例如你写了一个程序来预测一栋别墅的房价,这个程序的作用是能根据输入数据的[城市,街道,区位,面积,户型,..]等参数预测房价,为了提高程序预测的准确度,你需要先给程序喂一些已经有了估价结果的数据,程序学习一定的数据以后就能自己预测房价了。
那么,这种程序工作的方式和我们做建筑设计的工作流程有什么联系呢?我们做设计时,同样也是先调研和参考大量同类建筑的案例,积累到一定量以后,才能自己动手开始做设计。
了解了这一点,便可以设想一种利用机器学习来辅助建筑设计的思路:先让程序学习以前的建筑设计方案,然后程序就能自己去做设计了!
这篇的论文Computer-generatedresidentialbuildinglayouts可以说就是以上思路的典范。
作者自称“使用数据驱动的方式设计了能自动创建视觉效果非常好的建筑布局的工具”,但我觉得论文的质量是远远超过了这样谦逊的描述,因为论文实现的思路极大程度借鉴了现实中建筑师开展设计工作的流程,而且用了贝叶斯网络这个非常漂亮的数学模型描述了一个建筑program在空间中的分布,而贝叶斯网络的训练数据全部来自真实的建筑师的设计方案。
个人认为用机器学习的思路去处理建筑布局问题相比于过去十年来ShapeGrammar的那种ProceduralModeling的思路来得更为正确。论文是怎么展开的呢?
首先,作者总结了前人工作,说明了以前基于穷举的算法都行不通,要在3D空间中去穷举这么复杂的空间分配问题就和猴子随意敲键盘得到一部莎士比亚作品的难度差不多。
接着作者又批判了上个世纪90年代Muller搞的ShapeGrammar那一套也不行,因为ShapeGrammar就是图形语法,我们知道,编程语言是是基于有限规则的语法集生成的,而建筑设计中这样的规则条款很难形式化描述,而且会倾向于让语法数量变得无穷多。
顺带一提,几十年前计算机科学家在攻克语音识别和机器翻译难题的时候,也是认为自然语言是完全基于有限的规则生成的,但后来才发现行不通,直到后来改成基于统计的方法进行研究后,才有了突破性进展。
那么shapegrammar不适合建筑设计的另外一点在于,建筑设计不是玩弄图形变换的游戏,每一个建筑空间都有基于功能,心理和效用等因素的考虑。
之前也有过用shapegrammar分析赖特壁炉式住宅的语法规则的论文,但是应用范围实在太窄。所以这条路是走不通的。
论文作者认为,做方案,一定要基于人的舒适和心理需求,习惯和社会关系等因素,将他们综合考量后才会有比较合理的结果。
例如,房间的形状最好是凸包而不要做成凹的,因为在采光上,家具摆放和视线上方正规整的形体都更优;建筑各个功能要形成开放性-私密性的梯度,因为这正反映了建筑被使用的方式。
为了研究更好的方法,作者去找到了一家建筑事务所的建筑师们向他们咨询职业建筑师的工作方式,得到了一个特别有用的结论:建筑师在初期和客户咨询后,在画平面的详图之前,一般都会用泡泡图来思考问题,而泡泡图则反映了一个建筑方案高度浓缩的信息,包括私密性,房间邻接关系,采光,业主喜好和文化习俗。
泡泡图在在建筑师看来是展开方案设计工作的第一步,在计算机科学家看来则是一种复杂的数据结构——图。
从使用者或者任务书弄出一张泡泡图是建筑师专业能力的体现,不管这种能力是基于长期训练的素养也好,还是临时起意的构想也好,我们知道这张图包含的信息量很大就对了。
那现在问题是,如何让计算机来生成这样一张泡泡图呢?这个时候就要轮到本回答开始的机器学习算法登场了。作者用来一个概率图模型——贝叶斯网络来描述建筑师做出来的泡泡图。
用人话说,就是用这玩意来描述建筑方案中每一个部分在空间中的概率分布。
好像说起来还是不太容易懂,但总之,我们知道了,这个模型可以让电脑知道对应一个成功的建筑方案,客厅、卧室和走廊等出现在某些位置的概率比出现在另外一些的位置的概率高,而概率高的位置正是合理的位置,这样就更容易生成好的方案。
针对贝叶斯网络的训练,作者搞了120套住宅建筑方案作为训练数据来喂给程序吃。现在程序总算是知道建筑方案的基本做法了,以下就是基于贝叶斯网络生成的泡泡图:搞定了泡泡图之后,怎么从这玩意生成建筑平面呢?
作者几经周折,最后用了Metropolis算法来搞定。具体的生成过程描述都在论文里面有写,我就不详细写了(其实是看不懂。
)再下一步是生成3D模型,作者比较自豪地说,他搞的这个算法真正实现了多层建筑方案的生成,而以前的基本只能生成单层的平面,作用有限。以下是一些成果:搞定了泡泡图之后,怎么从这玩意生成建筑平面呢?
作者几经周折,最后用了Metropolis算法来搞定。具体的生成过程描述都在论文里面有写,我就不详细写了(其实是看不懂。
)再下一步是生成3D模型,作者比较自豪地说,他搞的这个算法真正实现了多层建筑方案的生成,而以前的基本只能生成单层的平面,作用有限。
以下是一些成果:6张平面有几张是人做的方案,剩下的都是机器做的,大家可以猜一下机器做的是哪几个。答案论文里面有说。6张平面有几张是人做的方案,剩下的都是机器做的,大家可以猜一下机器做的是哪几个。
答案论文里面有说。最后是生成的3D模型,家具是手工布置的。还是颇具真实度呢!作者最后提到,准备把这个东西运用到更多的建筑类型上,例如办公楼等。如果这玩意儿成熟,再也不用担心建筑师不失业了,偶也!
最后我再说说对这玩意的评价吧。
最近几十年知识工作的自动化简直如火如荼地吹遍天南地北的各个行业,许多人都担心低端的劳动职位会不会被取代,例如驾驶汽车,快递,写新闻稿,翻译,速记等等等,这种担心真的不是毫无理由啊!
当优雅简洁的数学模型遇到计算机这个可以暴力计算的机器,结合起来就创造了一类又一类可成规模复制的智能机器,想想还是让人后怕的。
不过也不用太担心就是,建筑设计行业人所占的因素还是很大的,很多时候甲方找人做设计,都是看重设计师本身,出了专业能力外,沟通,人格魅力,背景,执照等的背书也是很重要的,不过未来这种建筑界持续了很久的行业模式会不会被颠覆就不得而知了。
另外,程序也需要吃许多训练数据才能提高自己的设计修养,在目前来看建筑设计的各位同行都把自己搜集的方案当成宝一样藏着,数据量的大而全也很难保证,不知道以后BIM的普及会不会让这方面得到改善。
谷歌人工智能写作项目:小发猫
我用神经网络做时间序列预测1-8年的数据但是最后出现的预测值还是1-8年的数据 10
将历史数据作为样本训练,最后用一组对应的样本作为输入,输出自然是未来数据rbsci。神经网络预测就是这么做的。对商品价格变动的分析,可归结为对影响市场供求关系的诸多因素的综合分析。
传统的统计经济学方法因其固有的局限性,难以对价格变动做出科学的预测,而人工神经网络容易处理不完整的、模糊不确定或规律性不明显的数据,所以用人工神经网络进行价格预测是有着传统方法无法相比的优势。
从市场价格的确定机制出发,依据影响商品价格的家庭户数、人均可支配收入、贷款利率、城市化水平等复杂、多变的因素,建立较为准确可靠的模型。
该模型可以对商品价格的变动趋势进行科学预测,并得到准确客观的评价结果。
请问:如何用人工神经网络来进行预测? 35
用第1月到第25月的输入数据,和第1月到第25月的输出数据作为网络的训练数据,然后将你第26月的对应的输入作为网络的输入,就可以得出第26月的输出。
你可以在网上下个别人使用过的神经网络的模板或工具箱,修改成自己需要的就是了。
如何人工神经网络来预测下一个数值
newff函数建立BP神经网络,历史数据作为样本,例如前n个数据作为输入,输入节点为n。当前数据作为p,输出节点为1。隐层节点根据试凑法得到。
通过matlab的train函数,得到训练好的BP神经网络。再将当前预测点的前n个数据作为输入,输出即为当前的预测值。
人工神经网络可以解决哪些问题
信息领域中的应用:信息处理、模式识别、数据压缩等。自动化领域:系统辨识、神经控制器、智能检测等。工程领域:汽车工程、军事工程、化学工程、水利工程等。
在医学中的应用:生物信号的检测与分析、生物活性研究、医学专家系统等。经济领域的应用:市场价格预测、风险评估等。此外还有很多应用,比如交通领域的应用,心理学领域的应用等等。神经网络的应用领域是非常广的。
BP人工神经网络方法
(一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统。理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势。
人工神经元是神经网络的基本处理单元,其接收的信息为x1,x2,…,xn,而ωij表示第i个神经元到第j个神经元的连接强度或称权重。
神经元的输入是接收信息X=(x1,x2,…,xn)与权重W={ωij}的点积,将输入与设定的某一阈值作比较,再经过某种神经元激活函数f的作用,便得到该神经元的输出Oi。
常见的激活函数为Sigmoid型。
人工神经元的输入与输出的关系为地球物理勘探概论式中:xi为第i个输入元素,即n维输入矢量X的第i个分量;ωi为第i个输入与处理单元间的互联权重;θ为处理单元的内部阈值;y为处理单元的输出。
常用的人工神经网络是BP网络,它由输入层、隐含层和输出层三部分组成。BP算法是一种有监督的模式识别方法,包括学习和识别两部分,其中学习过程又可分为正向传播和反向传播两部分。
正向传播开始时,对所有的连接权值置随机数作为初值,选取模式集的任一模式作为输入,转向隐含层处理,并在输出层得到该模式对应的输出值。每一层神经元状态只影响下一层神经元状态。
此时,输出值一般与期望值存在较大的误差,需要通过误差反向传递过程,计算模式的各层神经元权值的变化量。这个过程不断重复,直至完成对该模式集所有模式的计算,产生这一轮训练值的变化量Δωij。
在修正网络中各种神经元的权值后,网络重新按照正向传播方式得到输出。实际输出值与期望值之间的误差可以导致新一轮的权值修正。正向传播与反向传播过程循环往复,直到网络收敛,得到网络收敛后的互联权值和阈值。
(二)BP神经网络计算步骤(1)初始化连接权值和阈值为一小的随机值,即W(0)=任意值,θ(0)=任意值。(2)输入一个样本X。
(3)正向传播,计算实际输出,即根据输入样本值、互联权值和阈值,计算样本的实际输出。
其中输入层的输出等于输入样本值,隐含层和输出层的输入为地球物理勘探概论输出为地球物理勘探概论式中:f为阈值逻辑函数,一般取Sigmoid函数,即地球物理勘探概论式中:θj表示阈值或偏置;θ0的作用是调节Sigmoid函数的形状。
较小的θ0将使Sigmoid函数逼近于阈值逻辑单元的特征,较大的θ0将导致Sigmoid函数变平缓,一般取θ0=1。
(4)计算实际输出与理想输出的误差地球物理勘探概论式中:tpk为理想输出;Opk为实际输出;p为样本号;k为输出节点号。
(5)误差反向传播,修改权值地球物理勘探概论式中:地球物理勘探概论地球物理勘探概论(6)判断收敛。若误差小于给定值,则结束,否则转向步骤(2)。
(三)塔北雅克拉地区BP神经网络预测实例以塔北雅克拉地区S4井为已知样本,取氧化还原电位,放射性元素Rn、Th、Tc、U、K和地震反射构造面等7个特征为识别的依据。
构造面反映了局部构造的起伏变化,其局部隆起部位应是油气运移和富集的有利部位,它可以作为判断含油气性的诸种因素之一。
在该地区投入了高精度重磁、土壤微磁、频谱激电等多种方法,一些参数未入选为判别的特征参数,是因为某些参数是相关的。
在使用神经网络方法判别之前,还采用K-L变换(Karhaem-Loeve)来分析和提取特征。S4井位于测区西南部5线25点,是区内唯一已知井。
该井在5390.6m的侏罗系地层获得40.6m厚的油气层,在5482m深的震旦系地层中获58m厚的油气层。
取S4井周围9个点,即4~6线的23~25点作为已知油气的训练样本;由于区内没有未见油的钻井,只好根据地质资料分析,选取14~16线的55~57点作为非油气的训练样本。
BP网络学习迭代17174次,总误差为0.0001,学习效果相当满意。以学习后的网络进行识别,得出结果如图6-2-4所示。
图6-2-4塔北雅克拉地区BP神经网络聚类结果(据刘天佑等,1997)由图6-2-4可见,由预测值大于0.9可得5个大封闭圈远景区,其中测区南部①号远景区对应着已知油井S4井;②、③号油气远景区位于地震勘探所查明的托库1、2号构造,该两个构造位于沙雅隆起的东段,其西段即为1984年钻遇高产油气流的Sch2井,应是含油气性好的远景区;④、⑤号远景区位于大涝坝构造,是yh油田的组成部分。