混沌,分形与人工智能

混沌

这里所说的混沌并不是混乱之意,而是世间万物的一种属性。人们试图找到自然界事物发展的一定定律,然后用数学公式抽象出来,希望能预测将来事物发展轨迹,大部分时候可以奏效,但是极少时候也会出现问题,出现不可预测情况,比如气候骤变,股市突然暴跌。这些都体现了事物的混沌属性。混沌,是指在一个能被数学方程式精确描述的系统中,可以自发生成不可预测的现象,并且不需要任何外界的干预。有一种误解是,认为混沌就是一切事物都是非常复杂的,搞不清楚。事实比这更简单但同时也更复杂。通过使用非常简单的法则或方程式,并且里面不包含任何的随机性,系统中所有的元素都是确定的,并且我们完全掌握系统的法则,即使是这样的系统也会产生完全不可预测的现象。由于系统内部构造,在某种情况下,即使在初始的时候有一点点误差,哪怕这个误差小到难以测量,这个误差会随着每次计算不断被放大,随着系统的运转,系统的状态会一点一点地偏离你所期望的状态,由此产生蝴蝶效应。混沌是一条基本的物理法则。简单的数学方程式能繁衍出复杂的行为,这种复杂超出我们的想象。所以简单而机械的系统能够表现出复杂和丰富的行为。自然界具有固有的不可预测性,这种不可预测的内部驱动力也可以使系统表现出特定的结构。

分形

有序与混沌是联系紧密的,自然界中所有形状的共同点,就是自相似性,不断在更微小尺度重复自己。天空中漂浮的白云,如果从更小尺度上看的话,你会发现与整体非常相似;高山,当你局部放大后,你同样会发现这部分又是由诸多小山峰构成;大树,你会发现它每部分都是由与自身相似的更小部分组成的,从树干到叶片上的经络;海上的波浪,飞行的群鸟。这种在更微小尺度上重复自己的特性,造就了由简单结构够成的系统的复杂性。比如曼德布罗集,通过公式表示如下:

z=z 2 +c

由此得到的曼德布罗集图像如下所示:

单从图片整体上看,会觉得这是一幅很复杂的图像,但是当你放大之后,会发现它的每一微小尺度都与更大尺度是一样的,而达到这种效果的背后,只是一个简简单单的数学公式,将上一步得到的结果(因变量)再次赋值自变量(其实因变量和自变量都是同一个变量),这就很像程序之中的迭代。这种由简单构造(上面那个简单的公式)构成的系统(曼德布罗集图案)看上去是不是很复杂的样子呢?

人工智能

分形是在更微小尺度上重复自己,我可以将这种重复理解成是一种自反馈,对于有反馈的神经网络来说,这种反馈就体现在一次处理的输出结构再次返回到上一级再次计算。这是一种带有自反馈的系统。频繁使用这种反馈方式使得网络进行学习、进化成为可能,这种极其简单的法则繁衍出了复杂的现象。而这种复杂的现象具有不可预测性,拿群鸟来说,你可以判断一只鸟的动向,但是一群鸟的动向很难判断,或者往左或者往右又或者向上或向下,而其中的原因有可能是其中某只鸟突然改变方向,但是你预测不了它发生。这就造成了群体的混沌属性。对于人工智能来说,个人认为也有这样的情况。在训练网络进行学习时,我们并不清楚它是如何学习的,它是如何抽象出各种概念的(可参考文章深度神经网络的灰色区域:可解释性问题)。混沌的属性很可能会让人工智能出现某些未知的不可预测的行为。正如《疑犯追踪》中芬奇所说的,“We don’t know AI”。

(纯属个人观点···)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 14:41:21

混沌,分形与人工智能的相关文章

混沌分形之逻辑斯蒂(Logistic)映射系统

前几天,有个同事看到我生成的一幅逻辑斯蒂分岔图像后,问我:“这是咪咪吗?”我回答:“淫者见淫.”好吧,这里将生成几种分岔映射图形,包括逻辑斯蒂映射系统,正弦映射系统和曼德勃罗映射系统.实际上这几种图形算不上分形,只不过它与我写的其他分形对象使用相同的基类,所以也将其列入混沌分形的范畴. 关于基类FractalEquation的定义及相关软件见:混沌与分形 (1)逻辑斯蒂映射系统 // 逻辑斯蒂映射系统 class LogisticMap : public FractalEquation { pu

混沌分形之电子云

      电子云是物理学中的一项概念.电子在原子核外很小的空间内作高速运动,其运动规律跟一般物体不同,它没有明确的轨道.根据量子力学中的测不准原理,我们不可能同时准确地测定出电子在某一时刻所处的位置和运动速度,也不能描画出它的运动轨迹.因此,人们常用一种能够表示电子在一定时间内在核外空间各处出现机会的模型来描述电子在核外的的运动.在这个模型里,某个点附近的密度表示电子在该处出现的机会的大小.密度大的地方,表明电子在核外空间单位体积内出现的机会多:反之,则表明电子出现的机会少.由于这个模型很像在

混沌分形之迭代函数系统(IFS)

IFS是分形的重要分支.它是分形图像处理中最富生命力而且最具有广阔应用前景的领域之一.这一工作最早可以追溯到Hutchinson于1981年对自相似集的研究.美国科学家M.F.Barnsley于1985年发展了这一分形构型系统,并命名为迭代函数系统(Iterated Function System,IFS),后来又由Stephen Demko等人将其公式化,并引入到图像合成领域中.IFS将待生成的图像看做是由许多与整体相似的(自相似)或经过一定变换与整体相似的(自仿射)小块拼贴而成.算法: 1.

混沌分形之朱利亚集(JuliaSet)

朱利亚集合是一个在复平面上形成分形的点的集合.以法国数学家加斯顿·朱利亚(Gaston Julia)的名字命名.我想任何一个有关分形的资料都不会放过曼德勃罗集和朱利亚集.这里将以点集的方式生成出朱利亚集的图形. 关于基类FractalEquation的定义及相关软件见:混沌与分形 class JuliaSet : public FractalEquation { public: JuliaSet() { m_StartX = 0.0f; m_StartY = 0.0f; m_StartZ = 0

混沌分形之谢尔宾斯基(Sierpinski)

本文以使用混沌方法生成若干种谢尔宾斯基相关的分形图形. (1)谢尔宾斯基三角形 给三角形的3个顶点,和一个当前点,然后以以下的方式进行迭代处理: a.随机选择三角形的某一个顶点,计算出它与当前点的中点位置: b.将计算出的中点做为当前点,再重新执行操作a 相关代码如下: class SierpinskiTriangle : public FractalEquation { public: SierpinskiTriangle() { m_StartX = 0.0f; m_StartY = 0.0

混沌分形之马丁(Martin)迭代

我不记得从什么地方看到的这种分形图形生成方式,再到网上找竟然一时没查到任何相关资料.没关系,总之这种图形也很漂亮多变,并且其算法比较简单.只是我最后生成的图像有点瘆人,密集恐惧症患者慎入. 相关代码如下: class MartinIterate : public FractalEquation { public: MartinIterate() { m_StartX = 1.0f; m_StartY = 1.0f; m_StartZ = 0.0f; m_ParamA = 0.68f; m_Par

混沌分形之填充集

通过分形来生成图像,有一个特点是:不想生成什么样的图像就写出相应的算法,而是生成出来的图像像什么,那算法就是什么.总之,当你在写这个算法时或设置相关参数时,你几乎无法猜测出你要生成的图像是什么样子.而生成图像的时间又比较久,无法实时地调整参数.所以我这使用了填充集的方式,先计算少量的顶点,以显示出图像的大致轮廓.确定好参数后再进行图像生成.所谓填充集,就是随机生成顶点位置,当满足要求时顶点保留,否则剔除.这里将填充集的方式来生成Julia集,曼德勃罗集和牛顿迭代集. (1)Julia集 // 填

混沌与分形

混沌与分形理论的关系密切,混沌中有时包容有分形,而分形中有时又孕育着混沌.分形更注重形态或几何特性,图形的描述.混沌偏重于数理的动力学及动力学与图形结合的多方位的描述和研究.分形则更看中有自相似性的系统.混沌涉及面似乎比分形更广,对所有的有序与无序,有序与有序现象都感兴趣.特别是混沌中的分叉,分支现象与分形关系最密切.分形可以是混沌研究中一种手段或方法.一般认为非线性,随机性,以及耗散性是出现分形结构的必要物理条件. 非线性是指运动方程中含有非线性项(迭代),状态演化(相空间轨迹)发生分支,是混

混沌图像---马丁迭代【密集恐惧症患者慎入】

马丁迭代是我必需要讲的一个方程,因为之前看到一段由它生成图像的代码,我才开始研究混沌生成图像,并写了这个软件:YChaos生成混沌图像.马丁迭代图像的生成过程,如同生物的生长,一层层,一圈圈不停地变大变深变粗.虽然最终生成的图像看上去都差不多,但每一个参数下的图像的生成过程都不一样.最能体现混沌的是,马丁迭代的参数中,只要对任意一项,哪怕是极小的修改也会导致最终生成的数据完全不一样. 似乎网上关于它的资料很少,我只找到这么几句: 受Mandelbrot集产生思想的影响,Martin提出了一对公式