在前文提出了人类认知的基本公式:
新的认知 = f(已有认知结论 + 新的感知)
并推导出
认知 = f(认知 + f(感觉))
并对f()的数学模型,主要是在非线性系统下的模型简单介绍了一下。
一、不确定原则:
1、思维不可测:现在还没有工具直接观察大脑思考的内容;
2、已有观测方法的主体不可独立性:观察者和被观察者,不能完全独立,不能角色完全独立,用加州大学伯克利分校的教材说法,就是在对人的思维“提问”以获得答案的过程中,被观察者的回答其实也在“提问”观察者;
3、观测者、观测主体的独立分隔:这一点,好像和上面矛盾,其实不是,上面说的是观测方法中,方法不能让观测双方独立。这里说的是,观测过程中,观测者与被观测者的知识结构相互独立,不是相同背景,这样的话,对于观测过程中的任何“信号”——比如:行为、语言……——观测双方的加工和理解是不同的;
4、认知的递归特征:就是f()这个公式,是不断递归的。新的数据形成的结果,会不断被代入认知。
认知模型的一个成果:《人工神经网络》
与《人工神经网络》相关的外围知识
如果你上网搜索相关的资料,会看到与《百度百科》类似的介绍:
“人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。”
而且,接下来,你往往还会看到关于“神经元”、“神经细胞”等等的介绍。
譬如说:这样的,说生理学、解剖学上的神经工作原理的。
还有这样的说:输入层、隐含层、输出层又多少多少关联的。
还比如说,在视觉识别上,输入、输出又怎么怎么滴的。
用,写就《数字之美和浪潮之巅》的吴军前辈的话“这真是让人目眩神迷!让人越来越糊涂,误人子弟!”具体的文章,有人详细引用过,大伙可以移步过去看。
那么用认知科学的角度来描述一下,这个《人工神经网络》究竟是啥呢?
先说一句,这个《神经网络》和“神经细胞”毫无关系,神经细胞的原理究竟是啥,还没搞明白,用它去形容和定义另外一个东东,是不太合理的。这种不合理的表现,最简单的一个现象就是:神经细胞、神经元,不是单一模式的,我上学的时候简单了解的那点点,就很多了,各位想了解的话,可以百度一下解剖学、生理学上的神经元的相关资料。会发现,对于这个东西,除了形态学上有很多差异,在功能学上还充满了尚未确定的“各种学说”。
但为什么会用到《神经网络》这个名词,大家去看“认知六边形”的时候,会发现,心理学和神经科学共同配合,在人工智能领域运用。没有选择心理学的词语来定义,是因为心理学里面的词,例如“表征”、“图式”太抽象了。不如“神经”这个词来得通俗易懂。
各位如果兴趣,可以先跳转到“图式”一词。——点击参见百度百科——去了解一下心理学中“图式”的概念。因为,我们下面讲到的内容,你可能会觉得,“人工神经网络”如果改叫“人工图式网络”恐怕要更贴切一些。
好了,外围介绍结束了,现在切入正题。
如何在认知知识中理解《人工神经网络》?
我们借用Matlab的一个“神经元”拓扑图来展开
Input:就是输入值;
Hidden:就是一个“神经元”的拓扑模型;
Hidden,W:这个Input的输入值的权重;
Hidden,b:这个叫偏置值,就是用来给予一个值,他不和W的权重比例相关,是一个绝对值,怎么理解,我们后面用认知案例一解释你就明白了;
Hidden,右侧的那个十字架叠加S的高的符号:叫传递函数,这个就是一个函数,代表计算结果是一个跨越两个象限的数值结果集,大概可以看成是两维数值的规律关系;
Output,这个是第二层神经元,里面的W、b和Hidden里面的原理相同,显然不同的是那个传递函数,这个函数应该是一个排序函数。
最右边的Output,就是这两个神经元的最终输出值。
最后,提示大家一下,最左边和最右边,都是同样的颜色,他其实代表了“某种已知状态”,而Hidden、Output两个神经元,却是蓝色,他代表的是“训练的结果”,是需要神经元系统“求解”的过程。
这个“求解”的过程,就是所谓的“神经网络学习”。按照一定的道理,学习的结果代表了这个系统的经验数据,可以在一定的程度上推测将来的这个系统的最右边的Output。
下面我们用一个最简单的心理学的“图式”现象,来解答上面的模型。
假设,小李想和小王交往,小李计划发展的方向可能是“情侣、同事、生意伙伴、炮友……”这个细节大家不纠结,就知道,小李想和小王搞好关系。够抽象吧,其实,现实的思维里,就是这般“混乱”,典型的一句话“生意不成仁义在”,“做不成夫妻还可以做炮友嘛”……
好了,具体的“关系”暂且不说,但是!“搞好关系”这个方向确定了,这就很重要了。这已经代表了一种答案。
这个“搞好关系”,我们先放入最右面的“Output”当中。
我们现在按照传统的语言模式,将小李作为主体,进行模式分析。
小李既然主动分析想跟小王搞好关系,他就要调查一些小王的背景资料。
他向小王的5个“朋友”打听:“……,你看我跟你好吧,你吃我块糖吧,你吃了我的糖,你就告诉我,小王喜欢啥呀?”
他还偷偷地观察:“小王喜欢吃什么?喜欢在哪吃?”
他从朋友那里打听到的信息、自己观察到的原始信息可能是这样的:
1、朋友a:“小王喜欢辣,川味馆,毛血旺”
2、朋友c:“小王经常去’湘人之家’,剁椒鱼头lei,”
3、朋友d、朋友e
4、小李自己的观察“……”
好了,开始运算了。吃什么、去哪吃,可以算作是一个一个层级的“神经元”。
假设,小李下一步就打算请吃饭,我们就来看看图式运算如何:
Input:就是他在不同场合观察到小王下的馆子、点的菜,或者一起参与活动的时候小王偏爱的菜,以及他从小王朋友哪里打听到的小王的口味。在输入之前,需要进行数学的预处理,主要就是分类和回归,如果口味集中典型,那么就输入:是“某某某”,不是“某某某”。如果口味不集中,就进行抽象:是粤菜、湘菜、川菜、淮扬菜。
这里引入一个“神经元”网络的一个典型现象,如果你的数据预处理不符合“观察者的逻辑”,你采集到的数据可能运算后不“收敛”——这是一个数学说法,就是神经元网络根据你输入的数据,算不出一个可信的“权值”W。——这就是典型的,小李问了一圈以后,实在是看不出小王有什么口味偏好,所以市场上有一种餐馆,叫“自助餐”,解决的就是这种算不清对方口味的问题,但是,请客往往不愿意上来就“自助餐”,这部明摆着告诉对方“我对你实在是不了解么”。当然,如果遇到那种喜欢吃自助餐的人除外。
第二层神经元,在第一层数据运算后,对于输入的参数“口味”、“可能的菜”,得到了一个“权值”,也就是“小李认为小王吃饭究竟是跟看中口味还是对某个菜更情有独钟?”那干嘛还要第二层呢?第二层小李要判断“这个菜究竟是不是和口味匹配”,“一道菜太少了,其他配菜还有那些?”,那么第二层运算,就要得出:“是否匹配”,“其他两个不合适的菜”,就像我们上面演示的那个,用一个“排序”的传递函数,再找到其他的菜。
所以,在很多《人工神经网络》的数据中,就会介绍,当不同层数的神经网络,所能完成的分类计算也不同。上面的例子,一层能够分出,口味、喜欢的菜之间的关联都一致的数据。比如,口味辣的、剁椒鱼头。
两层分类,就能解决部分边缘化的复杂分类问题,譬如:口味:辣、不辣;而喜欢的菜里面,大多数能够与辣、不辣关联,而极个别的菜,判断不出来辣还是不辣。这些判断不出来的菜,处于要么特别重要、要么特别不重要。
对于纠结的人,可能根据手头掌握的信息,还要再思考很多遍,也就是还要运算很多层,纠结呀纠结,最后说“算了!就那样吧!”那就是这些神经元的数据算不出一个可信的权值,最后就靠随机数说了算。
未完待续。。。
网友评论