2013年11月18日

摘要: 搞半天,终于配好了小结一下:1. 先去下载sublime的node插件 https://github.com/tanepiper/SublimeText-Nodejs 右下角的download zip按钮2. 解压缩,然后在sublime3的preference菜单,点击browse pckages ,打开文件夹,然后把解压缩出来的文件夹放在这里,改名nodejs3. 文件夹内打开nodejs.sublime-build 文件,按如下方式改:{ "cmd": ["node", "$file"], "file_regex&qu 阅读全文
posted @ 2013-11-18 19:12 hyperddr 阅读(513) 评论(0) 推荐(0) 编辑

2012年3月22日

摘要: 深入了解了动物神经元之后,之前想的那些想法又再度被否定。基本的生物神经系统,应该就只基于两种原理:条件反射,和操作式条件反射。而条件反射又由非条件反射和环境变化来建立。人类拥有太高端的神经调节能力,掩盖了这些本质。首先应该先搞清操作式条件反射是如何建立的,结合条件反射,我们基本上就可以建立原始的生物神经系统的模型。操作式调节反射是指,偶然中发生的行为A,导致了后果B,于是B向A建立反射。 当动物想要达到B的后果时,自发做出A动作。这种复杂的反射暂时还不知道如何建立。一连串的操作式反射构成了动物所做的所有动作。 阅读全文
posted @ 2012-03-22 17:35 hyperddr 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 感受器获取一些信息,然后经过一些神经元,进行就地处理。处理之后的消息,通过传入神经传递到中枢神经。这些消息包含的信息之有强和弱。比如皮肤上按压的压力,视觉细胞上受到的光强度等等。消息是一种类似2进制的格式。但是不是通常意义上的2进制。 通常意义上2进制总有一个字长,比如8位算一个字,然后后面的就算下一个字了。而且10000大于00111。 对生物来说,这样的格式有点太高端了,难以实现。又要同步,又要进行二进制编码,位数要事先规定好。太容易出错了。生物进化选择了更简单直白的方式:发送脉冲的频度。当它要传输0时,他就不发送任何1. 当他要传输3时,就以低频率发送1: 000010000001000 阅读全文
posted @ 2012-03-22 17:08 hyperddr 阅读(264) 评论(1) 推荐(0) 编辑

2012年3月13日

摘要: 低级动物,智慧动物,计算机,拥有三种记忆模式。低级动物拥有的记忆模式是简单的反射,比如说碰到锋利的东西出血了,疼了,下次看到锋利的东西就害怕了。记忆的是锋利=》疼。至于当时是哪天,来龙去脉则无法记得了。这种记忆只需要神经元运行时的自我学习功能就够用了。因为有学习功能,经历过的事情都会在脑中留下痕迹,这些痕迹就是记忆本身。智慧动物比如人,当然也有这种低级记忆。在这个基础上,人类还有更高级的解释型的记忆。大脑有一个积极活跃的功能,可以对各种痕迹进行解释,最后推理出一个合理的“记忆”来。所以人类的记忆是不可信的,很可能记错,记忆也会混淆重叠。因为“痕迹”可以覆盖之前的痕迹,大脑中并没有一根时间轴,帮 阅读全文
posted @ 2012-03-13 21:26 hyperddr 阅读(393) 评论(0) 推荐(0) 编辑

2012年2月2日

摘要: ones(3,4) 元素为1的矩阵zeros(3,4)rand(3,4) 随机元素randn(1,1000) 高斯分布的随机函数 (超赞啊!自己实现得做一会儿了)hist(a) 即histogram,柱状图显示 (matlab开始逐渐显示出方便的一面了)hist(a,50) 改变柱子的数量eye(5) 单位矩阵help eye 帮助size(A) 获取A的每个维度数量 [3 4]length(A) 获取A的最长维度的数量 4pwd 当前文件夹load 加载文件who 现在有哪些变量v = a(1:10) 从a当中获取1到10的元素save a.ccc v 把变量v保存到文件save a.... 阅读全文
posted @ 2012-02-02 18:23 hyperddr 阅读(176) 评论(0) 推荐(0) 编辑

2011年10月23日

摘要: 经过多次实验,慢慢觉得随机激活一个备用神经元,去和输入匹配学习的方法,基本上是不行的。大量的神经元之间,随意建立起来的链接,往往使他们总是同时激活,于是链接不断被加强。如果放弃整个网络间的学习,那就退化成了herb学习法则了。思索中慢慢意识到,之前我认为脑应该是简单的,被动的,这种想法可能是错的。大脑可能也有总线结构,也会有意识地去调控一些东西。比如把两个可能相关的事物联系在一起,同时激活它们对应的神经元,试图让他们自己匹配起来。而不是像之前想象的那样,任意两个神经元都可以自己匹配。还需要大脑的中枢调控单位给予刺激才能建立起链接和调整链接强度。这些应该就是化学触突的作用,让一些神经元兴奋起来, 阅读全文
posted @ 2011-10-23 16:44 hyperddr 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 把bp算法改写成了CUDA代码,用卡内基梅隆大学的人脸识别图片套尝试了一下人脸识别,对比cpu的速度其实是下降了一倍左右。原因是这个图像处理只需要用到3个隐藏神经元,缺需要12000个输入神经元。数据copy和运算量的对比才刚达到1比3,根本没用上cuda的优势。把隐藏神经元数量增加到30个之后,优势就非常明显地体现出来了。cpu算法消耗的时间成倍上涨,而cuda基本不怎么涨。但是也是存在问题的,当隐藏神经元数量进一步上涨之后,cpu算法也就是更慢而已,但是cuda则直接驱动程序失去响应导致程序退出屏幕黑屏了,鲁棒性非常差。总体来说cuda在神经网络算法上较难体现巨大优势,下次还是用openm 阅读全文
posted @ 2011-10-23 16:34 hyperddr 阅读(600) 评论(2) 推荐(0) 编辑

2011年10月15日

摘要: 把一个n元素数组里面的值全部加起来的程序,大家都会写,一个for循环搞定。但是如果在cuda代码里面也这么写的话,速度会比cpu上还慢,毕竟人家一对一对拼的话,肯定是干不过cpu的。在cuda里面的算法是n个线程一起参与这个运算。nvidia貌似有个官方的算法,几乎所有看到的cuda代码里面都是用的它:for(int i=(blockDim.x>>1);i>0;i>>=1){ if(threadIdx.x < i){ pis[threadIdx.x] += pis[threadIdx.x+i]; } __syncthreads();}if(threadIdx 阅读全文
posted @ 2011-10-15 00:31 hyperddr 阅读(1841) 评论(0) 推荐(3) 编辑

2011年10月3日

摘要: 有些时候,一些思路闪电般闪过脑际,一下子照亮混沌的天空,却怎么也抓不住。我需要博客这样的外存,来帮助我记下思绪的碎片,逐渐拼凑出闪电的样子,让它持续照亮我的脑海。关于生物神经网络的模型,我一直都在构想,一直都不得要领,直到今天坐在易买得的门口等lp出来,翻看着《机器学习》,大脑不着边际得思考着。突然一种模式出现在脑中,它似乎能够解决之前想到的不少问题,但又一下子想不清楚。现在回到家我尝试用记录博客的方式整理一下我的思路。1.首先应该有游离的神经元,存在于脑海中,等着被利用。2.其次训练神经元应该也是一个神经元,也有输出,而且一直存在于脑中。而不像bp网络中那样,训练结束,导师信号就不存在了。3 阅读全文
posted @ 2011-10-03 23:53 hyperddr 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 接下来我们分析一下生物神经元网络所需要的特性:1.算法简单,要非常简单。至少不会牵涉到多个神经元的相互作用。而应该是一对一的关系。2.网络结构动态变化,所谓的隐藏层神经元的数量可以任意增加。3.强力的记忆能力,一两次的训练就能把训练输入记录下来。有“第一印象”现象,也就是训练系数不断减小的现象。4.有神经反射功能。就是长期共同激活的神经元互相会联系在一起。初步假设其结果是a的输出连到b的输入,b的输出连到a的输入。还有其他特征继续补充中。想到了就记下来。下面一节记录一些想到的思绪。 阅读全文
posted @ 2011-10-03 23:34 hyperddr 阅读(265) 评论(0) 推荐(0) 编辑

导航