Category Archives: 数据预测

残差网络

见到知乎上有一个解释说,基础形式实际上类似于差分放大,很有道理。 假如: F'(5)=5.1 从5到5.1的变化率是极低的,因为5的基数太大,所以可以进行拆分: H(5)=5.1, H(5)=5+F(5), F(5)=0.1 此时由于在拆分项中0变成0.1,这个变化率就达到了10%,便放大了这种效果。 因为神经网络不能很好辨识出这种拆分,所以需要人工设计结构进行辅助, 一般理论上认为网络层数越多,提取细节与抽象能力越丰富,然而实际层数迭代多了,会出现梯度爆炸或梯度弥散 ,这可以通过通过正则化解决。 但即使解决了这个问题,仍然会有退化问题,即层数多了后,出现准确率反而下降的情况。 这里有一个变化的技巧就是,在 H(x) = F(x) + x 时,当F(x)=0时, 显然H(x) = x,如果f(x)越来越趋近于0,则h(x)越来越趋进x 所以可以构造这样的形式: 所以,x可以直接跳两层作为输入,因为h(x)=x,f(x)这里当然不会等于0,但是可以通过relu使得矩阵中尽量多的地方变成0,从而实现残差放大。 X如何变化是不清楚的,因为它本来就是一个需要求的值,但这里可以直接采用X的原值,因为是如果改变了X值,那么就会破坏掉残差对应的原来的X结构,因为这里的残差实际上不是差分,而只是一个通过训练后才有可能不断向差分靠拢的值。      

聊聊周易参同契(十):建木通天地,妙道由灵根

内以养己,安静虚无。原本隐明,内照形躯。闭塞其兑,筑固灵株。三光陆沉, 温养子珠,视之不见,近而易求。黄中渐通理,润泽达肌肤。初正则终修,干立末可持。一者以掩蔽,世人莫知之。 “己”字,在甲骨文之中,是一个绳索弯曲的形状,本义是丝的头绪,用以缠束丝。在汉代的《说文解字》中说:“中宮也。象萬物辟藏詘形也。” 通常这个字用对别人称本身用,而在十天干之中,”己”在戊之后,居天干第六位。 因有离纳己者,此处内中养己,实是养离,养离便是养光,因为若是没有光,如何又能“内照形躯”? “原本”,指的根本本性,在后世的名字,便是元神。“隐明”,并不是指元神不发光,而指的是元神自身虽然隐而不现,然而却有光显现出现,向外照耀。 通过在安静虚无的状态下养己,光神虽然隐而不现,然而却有光照出,便用这个光来照着自己的形神躯体。 说到这个光,又需要说到元神了,正常人的元神并非一个实体,也并没有一个具体的形象,它是合契于虚空的,然而又真实存在的。 用一种比喻的话,它类似于世界中的空气对普通人一样,虽然看不见,但是存在。 从物质意义上,可以知道空气的成份,从道学意义上,可以分解元神的构成。 元神虽然自己无形无象,然而却可以通过光来展现,按其光又分胎光,爽灵,幽精,这三种光又称为三魂。 其中胎光为太清阳和之气,爽灵为阴气之变,幽精为阴气之杂,而爽灵与幽精,而三魂既与日月星三光相应,同时又对应于三台,它可也分为阴阳来认识,阳的部分叫胎精,阴的部分叫爽灵,而阴阳相混的部分叫幽精。 当人身体出现问题,或是气运不佳时,元神发出来的光便会显得晦暗。 所以有一种认识,认为可以带入外界的光明来助旺元神,通常以火为象征,或用火炬,或用蜡烛,或用油灯,根据人的星命布下法阵,通常本命灯用三盏以照三魂,于行年上用灯七盏以照七魄,并在太岁上再点上一盏,以光照之,认为于人身便可发生此呼而彼应的变化,从而使元神安定,变得不再晦暗,民间常见元辰灯也类似这个道理。 还有些流传变化后,更加简洁的象征,如民间有一些仪式中,用火在人身上绕圈,认为能够去除晦气等,当然这种外部的行为实际上效果并不理想,因为内在的存想引导相呼应配合才是关键。 古代有些收录的传抄的道经里,将三魂与三尸相混淆,这个必须要注意,其中的尸指的就是三尸,三尸的名字是彭质、彭倨、彭矫。 实际上它们的具体名称是不用管的,因为三尸通常与九虫联合在一起的,它们指的是人体中的寄生虫。 比如说上尸彭倨居于人脑,会影响人的视力,还有可能导致精神障碍,严重的给人带来生命上的危害,从现代来看,指的会进入人脑部的寄生虫。 古人说,不斩三尸,服食丹药都是没用的,求道必须要先斩三尸,虽然说古人卫生习惯不如今世,染上的寄生虫比较多,然而也不是说现代就没有了。 比如现代医学来看,弓形虫便包含在彭倨概念中,近一半的人类都染有,并且因为现代一些研究表现,弓形虫会影响人的性格,这非常吻合上尸彭倨的特点。 古人对于一般除三尸九虫,通常会要求服用一些药物辅助。一种常见的药方是用附子七枚炮制,芜荑二两炒,乾漆二两炒令烟,然后将它们筛捣为散,常以空腹酒服一匕,每日都服,总共服上十二天,便能将身中的虫子去除掉。芜荑与乾漆在中药上都是杀虫用的,附子有一些毒性,不过它补火助阳,有逐风寒湿邪的作用。 按古籍中载,还有一种更加简洁的就是使用人的手指甲,首先自己身体健康的话,可以于寅日剪手指甲,申日剪脚指甲,然后于一年中的七月十六日,将剪下的指甲烧成灰,然后吃下,也能驱除三尸。只是此说于中医中未有记载,管不管用是不清楚的,不过人指甲确实可以入药,也没有见有毒副作用描述,有兴趣的或可一试。 前面说的有驱虫效果的药物毕竟有毒性,随意服食还是危险的,所以也有不服食药物,单凭靠内修来解决它们的方法,这个难度自然要比用药物更高一些。 按《五行紫文》载:常用朔望之日日中时,临目西向,存两目中出青气,心中出赤气,脐中出黄气,於是三气相绕,合为一,以冠身,尽见外,洞彻如光之状。良久,乃叩齿四十通,毕而咽液。此谓炼形之道,除尸虫之法,久行之佳也。 这是一种炼形的方法,根据这种功法结构来看,它主要是用的青黄赤气,取的是初一或十五的午时,用三气相绕合一后覆盖全身,洞彻光明,最后叩齿咽液。 实际这也完全可以通过勤加修炼金光法,并使金光炼形,同样可以达到去除三尸的效果。 炼形法很多了,其它还有玉液炼形法,太阳炼形法,流火炼形法等,根据自身情况的不同,可以选择性加以采用。 另外还有通过符法来进行斩三尸的,既避免了服食药物可能带来的危险,又解决了内修耗费时日太久的问题,唯一的缺点便是要符法内炼水平较高的人来制作符箓,才能收到实效。 综上所说,虽然修炼下手是要考虑斩三尸的,但这个并非是立即就要进行的事,完全可以通过能修炼过程中不断将它制伏。 后世时常将七魄错认为阴害于身的东西,这种思维方式在明清最为盛烈,然而这种逻辑显然与古道家运用北斗的认知是截然相反的。 无论从《上清飞步七星魂魄法》还是《魂精法》,亦或是《醒神咒》,或是《存身神法》,均可以知晓,三魂七魄是护卫人身而用,不但与人身的免疫系统有关,还与人的精神活动相关。 错误的认知来源于将早年的说法搞错了,早期的典籍里是说,月朔、月望、月晦的时候,人七魄会不安宁,于是会出现游荡在外,与外邪相交的情况,如此便会给人带来祸害。 这个实际上指的月相对人的影响,世界上有不少研究月相与疾病或是社会活动的例子,不过大多受到置疑,贫道谨慎筛选了一些从统计上已经被认可的事例来说明。 比如,有一种叫莱姆病的疾病,它本身是一种以蜱为媒介的螺旋体感染性疾病,是由伯氏疏螺旋体所致的自然疫源性疾病。以神经系统损害为该病最主要的临床表现,其神经系统损害以脑膜炎、脑炎、颅神经炎、运动和感觉神经炎最为常见。而博氏疏螺旋体的生殖周期大约每28-30天,有些人在满月或新月前几天开始出现症状增加,有些人在几天后出现症状,而对于迅速感染的个体,症状正好也是这个时间加重。 另外还有其它的研究指出,精神症状与月相关系也比较大,只是这种关系主要反映在已经有精神问题的人身上,正常人身上差异并不明显。 这些佐证了一个事实,七魄实际上是在出现的问题的时候,才会受到月相更强的影响,这就解释了为什么很多正常人,其实对于月相反应其实并没有那么敏感。 男性有三魂七魄,女性有三魂十四魄,无论是七魄还是十四魄,它们实际上是人类的免疫系统与心理防御机制的别名。 女性的十四魄实际上是相同的七魄存在了两份,可以理解为这是一种备份的机制,而它的作用是男女在生育后代时,会将这七魄转嫁到新的生命上。 所以一般来说,后代子女大部分基因都会与母体更加相似,如果父亲的基因多了,那么来自母亲的七魄的信息就不一定完整,不但起不到帮助作用,反而还会导致各种先天性的疾病。 七魄对应的七种机能分别是,尸狗、伏矢、雀阴、吞贼、非毒、除秽、臭肺。 从物质上以人体免疫机制为例,当有外来的侵入时,比如病原体通过皮肤进入了身体,那么身体便会报警(尸狗),然后无处不在埋伏好的吞噬细胞出现(伏矢),将病原体吞噬掉(吞贼),如果不能吞噬掉,则会进一步在相应位置发炎或是发热(雀阴),以提高杀灭病原体的效率,然后吞噬细胞中有大量的酶,能够让它们进行溶解(除秽),如果仍然不行,则会排出到体外(非毒),而这个过程中,人体会产生相应的气味(臭肺),用于警示。 从心理上自然也是类似的防卫机制,不过古人对此的区别不是很清晰,并不严格区分物质与精神上的,就像三尸那种,即可以代表实体的寄生虫,也可以代表非实体的概念。 这里必须要说明一下,女性因为有十四魄,所以免疫机制要比男性更加强大,按比利时根特大学的最新研究来说,男性患癌的几率是女性的2—5倍;如果受到创伤,女性恢复得较快;另外一些研究显示,女性更不容易因为细菌和病毒感染而患上疾病,其主要原因是因为女性的X染色体是男性的一倍。 然而免疫力太强也有负面作用,一样可以导致疾病,比如宾夕法尼亚大学的科学家研究发现,虽然女性力免疫力比男性强,但是并不是免疫力越强就对身体健康越好,科学家发现,身体免疫力太强也会影响到她们身体健康。女性具有较强的免疫系统往往更容易产生兴奋,而且更有可能使自身受到攻击,导致她们身体免疫系统性出现疾病。例如狼疮,它就是一种常见的自身免疫性结缔组织病,这种疾病85%发生于15~40岁女性,轻者主要侵犯皮肤,严重者可损害患者的内脏,并且还有少部分患者转变为系统性红斑狼疮,给女性身体健康带来影响。其他更常见的发生在女性身上的自身免疫性疾病还有类风湿关节炎和多发性硬化症,都是这个原因导致。 相应的,女性在拥有另外的七魄的同时,导致修炼上遇到的困难会比男性更多,一种典型的体现就是女性的体质,往往比男性更加敏感,在修炼的过程上更容易出现更多的外魔干扰,比如出现通灵现象。 因为最理想的修炼是处于一种清静的状态,最好不要有任何通灵现象出现,一旦出现了就会导致心神受到干扰,进境也就慢了下来,男性在这方面受到的干扰比女性要少得多,因为男性相对更加理智,女性相对更加情绪化。 然而向道之心非常坚定的女性,在修炼中披荆斩魔一心向前的,修炼速度却会比男性更快许多。 这是因为男动女静,男清女浊,男的虽然清容易,因为世间事务纷扰,要静其实非常不容易,并且随着修炼加深,对静的要求越来越高,这个过程是越来越不容易。 而女性则不同,天生便有静的优势,而转浊而清,炼尽阴魔,却是会越来越容易,所以上古女仙极多也是这个道理。 人大部分恶念,其实是最初起源于客观需求,需要食物,需要水,需要栖身之处,需要教育等等,这样才能让生命延续,才能在群体中立足,这些都是正常而合理的需求 然而这种需求一旦超出了合理的范畴,追逐于外物,便会变成了贪求,《清静经》中说“是著万物,既生贪求.”,生了贪求,便是不清静的。 “人能常清静,天地悉皆归。”,如此便是炼己的真口诀。 如果不清静久了,元神之光明便会晦暗,难以照耀形躯,人便就会百病丛生,严重了便会得大病。 若不依此,念再多的经,烧再多的香,拜再多的神佛也没有用,骗得了自己的心,却骗不自己的元神。 因为元神本性,其由天地之中一点生机而来,如果自昧元神,其实就是在放弃生机。 … 阅读全文 聊聊周易参同契(十):建木通天地,妙道由灵根

研究CNTK(七):Python还是BrainScript速度更快?

def create_reader(map_file, mean_file, train): if not os.path.exists(map_file) or not os.path.exists(mean_file): raise RuntimeError(“File '%s' or '%s' does not exist. Please run install_cifar10.py from DataSets/CIFAR-10 to fetch them” % (map_file, mean_file)) # transformation pipeline for the features has jitter/crop only when training transforms = [] if train: transforms += [ cntk.io.ImageDeserializer.crop(crop_type='Random', ratio=0.8, jitter_type='uniRatio') # train uses jitter … 阅读全文 研究CNTK(七):Python还是BrainScript速度更快?

研究CNTK(六):ResNet

发挥图像识别的威力还是需要ResNet结构,最早是微软亚洲研究院提出的,这是可以达到90%以上识别率的网络结构,比如resnet cifar10,需要使用高达21个卷积层,并且每一步都要进行重新的批量正则化与归一化。 谷歌2016年8月份开源了Inception-ResNet-v2,是基于TensorFlow的,识别效果更为强大,能够将阿拉斯加雪橇犬(左)和西伯利亚雪橇犬给准确分类出来,另外还有V3与V4,网络结构也变得更深,唯一值的一提的是Inception-v4没有residual连接,但是效果与V2一样。 不过这都是些是些个人计算机运行起来很吃力的东西,在CNTK里这个同样有ResNet的各种实现,默认的ResNet20_CIFAR10.cntk将会进行160次迭代,这个运算量非常大也非常缓慢,不过识别精度非常高,但是不是妨尝试运行下的。 在第16次迭代时可以达到准度度已经可以达到是百分之86.1%以上的正确率了,每次迭代花费时间约在25s左右,所以时间也就花费了几分钟而已,它提高识别率的速度甚至比简单的卷积网络还快。在达到28次左右时,实际上就达到了89~90%左右的识别率,真正突破90%大概是到了36次左右,即大概15分钟便可以做到90%的识别,这个完全可以接受。不过按文档说,训练到最后错误率最高也只能达到8.2%左右,而人类的估计是6%左右,这个网络结构还是不足以超过人类,而叠加到了n=18的网络,则可以达到6.2-6.5%的效果。简单测试了一下,网络的一代迭代大概153秒,要迭代160次,约要跑6.8个小时,才可以达到6.2-6.5%的效果。   根据有人做过的研究来看,ResNet也不是层次越多越好。 到了1202层的时候,反而效果比110层更差了。   比较了一下: ResNet20_CIFAR10,numLayers =3,learningRatesPerMB = 1.0*80:0.1*40:0.01 ResNet18_CIFAR10,numLayers = 18,learningRatesPerMB = 0.1*1:1.0*80:0.1*40:0.01 除此之外并无区别了。 所以分析ResNet20_CIFAR10.cntk源文件就好 # ConvNet applied on CIFAR-10 dataset, with data augmentation (translation and flipping). command = TrainConvNet:Eval precision = “float”; traceLevel = 1 ; deviceId = “auto” rootDir = “../..” ; configDir = “./” ; dataDir … 阅读全文 研究CNTK(六):ResNet

研究CNTK(五):ConvNet_CIFAR10.cntk、ConvNet_CIFAR10_DataAug.cntk

从任务上来说,识别物体是最艰难的,因为物体大小开关都会发生灵活变化,传统的神经网络识别这个几乎是不可能的任务,而卷积技术则克服了这一点,不过仍然需要依赖强大的计算量。 ConvNet中的模型是: model = Sequential (             Normalize {featMean, featScale} :             ConvolutionalLayer {64, (3:3), pad = true} : ReLU :             ConvolutionalLayer {64, (3:3), pad = true} : ReLU :             MaxPoolingLayer {(3:3), stride = (2:2)} :             ConvolutionalLayer {64, (3:3), pad = true} : ReLU :             ConvolutionalLayer {64, (3:3), pad = true} … 阅读全文 研究CNTK(五):ConvNet_CIFAR10.cntk、ConvNet_CIFAR10_DataAug.cntk

研究CNTK(四):ConvNet_MNIST.cntk

可以看出结果为: Minibatch[1-10]: errs = 0.470% * 10000; ce = 0.01797164 * 10000 Final Results: Minibatch[1-10]: errs = 0.470% * 10000; ce = 0.01797164 * 10000; perplexity = 1.01813410 错误仅只有0.47,相当于正确率为99.53%,这个非常高了。 这是采用了三层卷积的效果,迭代了40次,算了挺久的,按MNIST的网站上的公布最好成绩为0.23,共计用了35个卷积层,很难想象这个得算多久。 与之前的代码几乎还是相同,不同主要是在model上,它是这样的:  model = Sequential (             Scale {featScale} :             ConvolutionalLayer {32, (5:5), pad = true} : ReLU :             MaxPoolingLayer    {(3:3), stride=(2:2)} :             … 阅读全文 研究CNTK(四):ConvNet_MNIST.cntk

研究CNTK(三):MNIST识别之02、03、04

与一个隐含层的神经网络不同的体现只在MODEL这里,它是这样定义的:      在01中定义是:      model(x) = {             s1 = x * featScale             h1 = DenseLayer {200, activation=ReLU} (s1)             z = LinearLayer {labelDim} (h1)         }     在02中的定义要配合图比较直观:         model = Sequential (             #归一化             Scale {featScale} :             #创建卷积层,函数使用RELU,对图像进行5:5的卷积,这就滤波器,这里使用16个滤波器,因为不补零,所以是16个24×24的sudo-image             ConvolutionalLayer {16, (5:5), pad = true} : ReLU :             #进行最大池化,得到feature … 阅读全文 研究CNTK(三):MNIST识别之02、03、04

研究CNTK(三):MNIST识别之01_OneHidden.cntk

# Parameters can be overwritten on the command line # for example: cntk configFile=myConfigFile RootDir=../.. # For running from Visual Studio add # currentDirectory=$(SolutionDir)/ command = trainNetwork:testNetwork precision = “float”; traceLevel = 1 ; deviceId = “auto” rootDir = “..” ; dataDir = “$rootDir$/DataSets/MNIST” ; outputDir = “./Output” ; modelPath = “$outputDir$/Models/01_OneHidden” #stderr = “$outputDir$/01_OneHidden_bs_out” … 阅读全文 研究CNTK(三):MNIST识别之01_OneHidden.cntk

CNTK研究(二):测试MNIST几种识别效果

01_OneHidden,一个隐藏层,相当于简单的三层神经网络,直接用的RELU,效果不错。 Minibatch[1-10]: errs = 1.560% * 10000; ce = 0.05553107 * 10000 Final Results: Minibatch[1-10]: errs = 1.560% * 10000; ce = 0.05553107 * 10000; perplexity = 1.05710186 02_OneConv,一层的卷积神经网络,测试显然有所提升。 Minibatch[1-10]: errs = 1.190% * 10000; ce = 0.03576933 * 10000 Final Results: Minibatch[1-10]: errs = 1.190% * 10000; ce = 0.03576933 * 10000; perplexity = … 阅读全文 CNTK研究(二):测试MNIST几种识别效果

CNTK研究(一):MNIST的文件转换

CNTK的MNIST例子中,它是一个py文件,首先是将图像文件转换为文本来表达,以方便CNTK中读取。 文件位置:\cntk\Examples\Image\DataSets\MNIST\mnist_utils.py import sys import urllib import gzip import shutil import os import struct import numpy as np //定义一个读数据的函数 def loadData(src, cimg):     print ('Downloading ' + src)     gzfname, h = urllib.urlretrieve(src, './delete.me')  //从URL下载该数据文件     print ('Done.')     try:         with gzip.open(gzfname) as gz:         //使用gzip打开它             n = struct.unpack('I', gz.read(4))    //读4个字节解包成无符号整型             # Read … 阅读全文 CNTK研究(一):MNIST的文件转换