主题:【原创】和晨老大,具体阐述中医科学性的一个方面 -- DongGua
晨枫大作在此:链接出处
拙作缘起于一网友于彼处之发问:
对此我回答如下:
举例来说:木旺金弱,此‘旺’、‘弱’即为量之概念。金克木,就是一条 lateral inhibitory connection from 金 impinging upon 木。
若问我这种连接的逻辑在哪里?那我反问:您大脑中这个神经元连接到那个神经元,这样做的逻辑在哪里?说这个神经元抑制那个神经元,然后somehow得出您的大脑能推导数学公式,请问量在哪里,逻辑在哪里?
开个并非毫无意义的玩笑,您的大脑是不是如同中医一样是伪科学?
OK,下面用神经网络的例子来加以认真说明。
神经网络是训练或学习出来的,这个训练或学习过程是通过极大化某个目标函数来达成的。举例来说,这个目标函数可以是模式识别的准确度——诊断病症就是一种模式识别——或受控系统的行为与事先期望的吻合度。在这第二个例子中,这个神经网络输出某些控制信号,用以操纵一个受控系统。那些输出的控制信号的好坏——也就是这个神经网络的好坏——是用受控系统的行为来评估的。
如果举你练习打乒乓球的例子。可以把你这个人(包括神经系统和骨骼肌)看作受训的神经网络,把球拍和乒乓球看作受控系统。 而如果运用到中医的例子,‘受控系统’相当于就诊的病人,‘神经网络’相当于中医体系,‘输出的控制信号’相当于诊断后所开出的治疗方案,‘给神经网络的输入信号’就是病人的feature vector,包括症状、脉象、舌象等等。
请注意,这些个目标函数仅仅针对整个神经网络最终的performance,而不会去管这个神经网络内部是怎么连接的。后者是由神经网络的学习算法、训练数据的统计分布、外加初始条件等因素所共同决定的。这是一个典型的自组织系统,有别于彻头彻尾由人工所设计的系统,譬如电子计算机。在它的设计者看来,一个芯片的每一个门,每一根线都有着明确的任务,可以说有着明确的逻辑。但拿一个自组织系统的例子来说,虽然它是我训练出来的,但除了最底层的几层神经元比较容易了解以外(在人脑的视觉模块的例子中,大约相当于视网膜到V1),我多半没法知道每个神经元、每根连接干的是什么事,目的为何,设计思想是什么(如果硬要套上个“设计思想”的名词的话)? 要我解释设计思想,我只能回答这是目标函数+学习算法+数据的统计分布+初始条件(和硬件资源的限制)所共同决定的。再说,你管我是怎么训练的,这是商业机密我不想说呢?难道这便成了伪科学? 是骡子是马关键看遛得如何。
中医就象这样一个神经网络。它的目标函数是要能治好病;它的configuration包括:所含节点数、连接的拓扑,等等;它所收到的训练数据是历代积累的医案;它的具体的学习算法不是几句话可以说清楚的,但这一点不是很重要,姑且可以假设它采用了笨笨的trial-and-error的办法,或者是瞎猜的也好,瞎凑的也好。总之,最后的结果是我们得到一个训练好了的神经网络,它能在一定(或很大?具体待议)程度上达到治病的目的。(假设没人否定中医的疗效。)
请问,回顾这整个approach,哪个地方不科学呢?
本帖一共被 1 帖 引用 (帖内工具实现)
您说的神经网络一点问题都没有,谁也没有说神经网络是伪科学,恰恰相反,那个东西科学得很。不过神经网络是严格的有逻辑关系的,它的输入也都是有具体的量化规则的。数学就是逻辑的科学,一个用数学模型来描述的系统没有逻辑真不可想象。当你获得了一个神经网络,如果有兴趣的话,其实是可以解出这个神经网络实际的内部结构的,任何一步计算,我可以保证,都是确切的,定量的,没有任何猫腻的。一些神经网络最后甚至可以简化成一个初等数学的公式。
生物的神经电信号当然也是有量的,抑制和激活也是可以用逻辑关系描述的——虽然目前对生物的神经网络了解并不是太多,但是神经网络不是类比网络,而是逻辑网络,遵循一定的逻辑规律,这个从我所知的对生物神经系统的了解来看基本没问题。难道你研究人工神经网络,连为什么人工神经网络要叫做神经网络都没有想过吗?
而回到我们讨论的问题上来,你说了半天神经网络如何如何,当然,如果你可以量化输入人体的征象,并且充分考虑各种因素的话,一个诊疗用的神经网络是可以得到的,这一点都不奇怪。可是你怎么从木克金弄到舌象的呢?这难道也是神经网络的一部分吗?这不是模糊逻辑,而是没有逻辑,我看到的只是类比。
我问的是,木“旺”,是多旺?有定量没有?还是每一个医生心里有个量,或者昨天定了个量到了明天就会改个量呢?从木克金到给人治病,这个到底是个什么关系?是逻辑关系还是类比关系?你如果设计神经网络系统,是接受脉象,舌象,还是接受“木”和“金”呢?
明确的说,一,没有确切的量,二,不靠逻辑靠类比,我所指的中医的某些理论的模糊,就是这个。这跟神经网络的所谓模糊根本就不是一回事。
对一个特定的人来说,他的身体状态是可以定量描述的。中医生也可以通过"四诊"来了解病人的状态。但是由于人有个体差异,所以太过于精确的描述人体的状态对医生而言没有什么价值。因为他了解到不太精确的信息就可以做出判断了。在此基础上就可以决定治疗的方向和方法。
所以我们今天不好理解前人的思想和行动,是因为我们忘掉了他们的目的。
中医有很多流派,互相之间不一定认可对方。但是只要是正确地把握了病人的状态并使之恢复常态,就可以治好病。通向罗马的道路有很多,恢复健康的方法也不是唯一的。
所知有限,更兼表达不利,请包涵。
木多“旺”?那我问你那个病人的头有多秃?一样的问题。我在晨枫的帖子下已经说过了,这就是模糊数学,很多实际问题的解决并不需要精确到他有几根头发这样的确切的量。这其实是一种优点。若相反,如果一个控制系统非常敏感地依赖于输入值的精度,那么这个控制系统的鲁棒性就可能很差。
在那个秃头的例子,实际上可能只需分5档就足够了:『不秃,稍有点秃,有点秃,头发很稀疏,完全秃』,或者也用个从0到1之间的连续量来表示。要点是:0.4还是0.5都差不多,因为最后系统的输出对此处的误差不敏感(或曰 δh/δa |a=a0 小,h为输出,a为输入)。
你一定会问,那到底怎么从这个秃头映射到‘秃头度’这个量?一个方法:中医师在学艺的过程中通过训练而将这个映射关系烧录到他自己的生物神经网络中。
不要兴奋地跳起来:“哈,这就是伪科学!” 且慢,西医师在学艺过程中也一样需要通过训练而将某些映射关系烧录到他们自己的生物神经网络中。
上面只是从鲁棒性的角度回答了你的质疑“没有确切的量” 。另一方面,中医的用药、针灸、推拿等方面还是需要很精确的,如果药量用错了,用针的手法错了,疗效可能就判若云泥了。具体如何算出那些数值的,我不是专业中医师,不敢胡诌,但中医理论是可以得出明确的‘输出’的。还请中医大拿来给咱作作科普。
可是你怎么从木克金弄到舌象的呢?这难道也是神经网络的一部分吗?从木克金到给人治病,这个到底是个什么关系?是逻辑关系还是类比关系?你如果设计神经网络系统,是接受脉象,舌象,还是接受“木”和“金”呢?
我猜您只是听过神经网络这个名词,但没有用它做实际课题的经验。才有此问。
前面已经提过,“金克木”是以神经网络内部的连接而实现;“金”、“木”可以看作网络中间层次的两个节点。舌象、脉象的原始物理特性是raw data,经过transformation,生成input feature vector,馈给‘神经网络’,which embodies knowledge and rules involving intermediate nodes such as “金”and “木”. 中间的计算过程就是典型的神经元计算:某几个节点激活/抑制某几个节点,节点的输入经过一个阈值和饱和性的非线性压缩变成它的输出,再馈给别的相关节点。如此等等。 神经元的计算可以看成一种模糊逻辑(可以是AND亦可是OR,或介于两者之间,这取决于参数设置,which is to be learnt)。
“金”、“木”只是个代号而已,我们叫它阿猫阿狗也未尝不可。
献花
其实Donggua想用神经网络类比中医的思想方法,这个也有些道理。可是中医和神经网络比,它对病人征象的判断的随意性是非常大的吧,不然也不会要求医生有丰富的行医经验。而关于如何综合诊断出来的征象,再推导出治疗方案,是不是像神经网络那样严格的遵照一定的逻辑规则呢?有多少成分是来自于木克金之类的类比呢?这里的随意性和缺乏严格的逻辑,就是我要强调的跟神经网络的区别。
在理想化的状态下,如果能正确的提取输入,而且有规范的方法进行推理,当然可以类比成神经网络。可是这两个理想化,对于中医来说,是未知其程度的,而且我觉得包括我在内的一些人对此也不持乐观看法。因此我认为不可以简单的拿中医与神经网络类比。
我想许多争论的关键,就在于,你是否可以把“金”和“木”作为这个神经网络的节点,五行说究竟可不可以作为些节点间的计算规则,而不是神经网络能不能用来分析病症。很多关于中医的争论,关键也就是所谓五行说跟人体的关系吧。对节点的设计当然应该跟输入有逻辑关系,而金和木,究竟跟人体的征象是个什么关系呢?五行相生相克的计算规则,究竟是不是可用的呢?
似乎按你的说法,只要按目标函数优化,就会得到可用的网络连接。这样如果你按照金克木设计了这个神经网络,我为什么不可以用猫吃老鼠设计这个神经网络呢?如果仅仅形似一个神经网络就可以说它是科学的,而不必考察这个神经网络的设计是否合理,那么神经网络是不是太好建了呢?
而且,即便已经知道这个基于五行的神经网络可以工作,为什么不可以解码它的连接呢?我所知道的神经网络,是可以解码其连接和节点状态的。
此外,有些话不要特意弄成英文吧,有必要吗?
医生丰富的行医经验的载体就是这个医生自己的生物神经网络。神经网络(尤其在模拟器件上实现的神经网络,人脑大概是个mixed-signal器件)不同于数字逻辑仪器的特征还就是它似乎是“随意的和缺乏严格的逻辑的”。
反中医的人有个机器崇拜倾向,只有能将此知识体系在计算机上实现,才是可靠的、才是排除了主观因素,从而值得信赖的。否则,如果是刻录在生物神经网络上、目前还没有能被搬到数字计算机上的算法,就是不可靠的,乃至是伪科学。
我不赞同这种态度。回到神经网络的训练上,最终我们只看它的performance,管它是刻录在生物神经网络上,还是在数字计算机上呢?当然,有人会说,前者的可靠性,可广泛复制性就是低。嗯,我同意。但这牵涉到的是practical的问题。而我更感兴趣的是理论问题,即:为什么有些西医束手无策的疾病,中医却能有效地、概率不小地治愈?这是不是反应出有什么深层的规律尚未被西医所认识到?
我认为这是一个科学家所应该考虑的问题。
即便叫得这么好听,所谓医生的生物神经网络也还是医生的主观看法啊。
如果学同一个医学的两个医生,一个的生物神经网络说我要静卧,另一个的生物神经网络说我得运动,我到底是听哪个生物神经网络的呢?如果医学就是这样,作为一个病人的我是不是应该惶恐呢?
好吧,凭行医经验吧。那么发展一门医学的关键,究竟是要系统的发展这门医学的理论呢,还是要延长医生的实习期呢?
可是这个规律真的是五行说吗?
如果您接受了我用神经网络来理解中医的话,那么,这个中医神经网络必然是会含有一些神经元的。方便起见,我们给它们起名字作标志。当然可以叫它们A、B、C、D、E。不过人们发现,为了帮助记忆,可以用金、木、水、火、土来标记它们。须知有实质意义的只是它们之间的代数关系,而不是各人的具体名字。 你如果愿意,完全可以用猫、老鼠、大米、土地、细菌之类的名词来套,只要直观便于记忆就好。
套用佛家的术语,不要着了相,被表象所障碍,而未能把握问题的实质。许多人一看到五行的名词就联想到封建迷信(呵呵,这是一种经典的条件反射),这就是着相了,为什么对这些名词苦大仇深呢?
再用神经网络的例子来解释,五行相生相克的计算规则,是该神经网内部的连接关系,可不可以用?唯一有意义的判别标准是这个网络产出的结果是否达标?
可能的危险是,把这个五行系统作不适当的推广运用,这就可能是迷信了。本来只是个符号系统,现在你却literally生搬硬套,那就可能出乱子了。 但也难说,据说基于阴阳五行的算命也很灵验的。这个有争议,我们存而不论吧。
我想应该是可以如你所提议的那样解码它的连接的。不过好像中医不仅仅是那个推理系统那么简单。征象的判断等许多预处理(pre-processing)的工作似乎目前还难以搬到计算机上实现。别的不说,譬如拍了一张舌头的照片,现在的计算机能够准确提取出feature吗?现在还差得远。这至少要等到机器视觉能达到人类视觉能力时才有可能。
有些专业词汇,我不知道确切的中文翻译,怕翻错了反而造成误解、闹笑话。见谅。
我认为中医和西医是趋近真理的两条道路。中医这条路发展得很早,不过后来就有点原地踏步踏的意思了。西医这条路一直有发展,但会不会发展的步伐越来越小,以至于步幅的求和会收敛于离真理还差一大截的地方就停顿下来,目前还不好说。我认为有此可能。
有可能遥遥相对的这两条路携手互相一扯,就落脚于离真理很近的地点了。
行医经验无论对中西医都很重要。
我认为理论总应该发展,实习期嘛,要听专家怎么说了。
恕我说一句,您把所有的病人都建成一个模型拿一个神经网络的概念去套,那么你的这个网络只能存在于理论分析中可能有(就象中彩的概率一样),这样的过大过空的建模已经失去应用的意义,因为你训练不出一个最稳定的结果,无法稳定的网络是不能使用的。与其这样,还不如把病情样本(病人或是你所指的RAWdata)分类成不同的病情,再提取特征,来进行判决。。。。。。。。。。。。。。。。。。。。。。。可这样的方法不就是现代医学的诊疗吗?
弟愚钝,还希望你进一步开导我对中医是一种前科学状态的认识。