专栏名称: 混沌巡洋舰
混沌巡洋舰, 给您洞穿未来的视力。我们以跨界为特色, 用理工科大牛的科学思维帮你梳理世界的脉络。
51好读  ›  专栏  ›  混沌巡洋舰

一个数据科学家的一天

混沌巡洋舰  · 公众号  · 科学  · 2017-02-20 00:25

正文

数据不是全能的,没有数据是万万不能的, 数据终结者铁哥的一天又在上午十点准时开始了, 他打了一杯卡布奇诺咖啡, 翻开邮箱 , 看到一组新的数据, 哇, 原来是一些新的神经细胞放电数据:



看到这样一组数据, 你会想到什么?  真是tmd头大,  这都是些什么鬼数字 ,  ,这就是时间序列, 一组量(神经细胞放电)随时间的变化而已。此处神经细胞放电是由外电极刺激引起的(有点像扎针灸),如下图, 一组随时间均匀分布的电极刺激引起细胞放电(AP=Action Potential),得到的结果一代表放电,0代表不放电。



不要怕,有数据终结者铁哥。其实数据科学家好比老中医,讲的是望闻问切,看我有耐心的一步步给你讲来: 


一所谓,铁哥给你用另一个方法展现一下这些数字。 数据科学家有一种点,其实也要做到这一点,首先要做的是合理的呈现数字,也就是让肉眼都能看出门道来。 


呈现数据最难的是画什么,低手关注局部, 高手以小见大。我们设计一组能够全面总结数据特点的特征量对数据集做总结帮你看到数据的全貌。 此处的研究一个围绕某个均值扰动的时间序列, 你最重要的特征之一就是是它的波动性(随机性),而总结波动性要在不同时间窗口里对变量进行平均,来看变量背后的动力学模式。为什么要在不同的时间窗口做平均呢? 因为我们认识事物总是从不同尺度入手的,你要了解你的住处, 你要看从你的房子,街道,直到城市国家, 所谓全局观。深度卷积神经网络不就是类似的思路吗? 所以, 我们一口气把时间序列在不同时间尺度上看到的波动图都画出来: 



                                                              Time(s)




看来我们在不同时间尺度里得到的波动是非常不同还是非常相似(相当于我们用一个放大镜不停的zoom-in,观测曲线围绕均值的波动,图中不同颜色的曲线代表不同尺度下平均到的信号)。衡量波动大小的方差在任何尺度下都非常巨大, 比如我们看到蓝色(10s)和红色(1000s)的线波动真的好一致,这说明波动在任何尺度下都非常显著,也就是神经元的输出极端不稳定(有点像股市大盘)。


这样的波动术语叫粉色噪声,相对于我们熟悉的白噪声(没有记忆, 无时间关联),粉噪声是一种随时间放大的不稳定性,这意味着当你在某一个时间点打碎了一个杯子, 这个影响可以扩算开去影响你的整个一生(许多系统具有类似粉色噪声特性,如大盘)。粉色噪声使得细胞的输出变得高度的不稳定, 你在一点的随机性可以导致整个未来的改变, 因此你看到复杂无序的变化, 所谓波动无常 。想想神经细胞通常被认为如电子管一样是一种精确处理信息的工具, 这样的混乱无序让人感到无法接受。 


不过我们很快有一个好消息,刚刚忘记说我们细胞输出是在电极输入随时间均匀分布下得到的,当我们把这种分布打乱(也就是使输入变得不稳定,随时间变化,如下图紫线),我们得到如下结果: 

我们用同样的方法对输出做平均, 得到不稳定输入下的细胞输出, 你发现大部分信号的波动变成可预测的,你抛出一个波动巨大的外部信号, 细胞的活动却变得很一致。 稳定的输入下输出混乱不堪, 而不稳定输入下输出却高度一致一唱一和。 这不是逆天了吗?你不要骗我啊。 


在此我们我们进入了第二个环节, “问 ! ”


这就是数据科学家从大量数据垃圾中挖出宝的过程。 机械的数据背后,潜藏着深邃的解释世界变化的理论, 一旦犀利的问题揭示出理论本身的不自洽, 就有可能有一座金山等待我们去挖掘!  


数据背后真实的东西,是非同寻常的生物本质,它如此钟爱那些混乱的,复杂的, 随时间剧烈波动的输入, 在它们的指挥下变得有序,如同待命哨兵。 


也许此种深藏的,就是大脑处理信息的某种深藏机制,也就是对波动和暂态的喜好, 如果你给它一个自身静止的数据,它反而无所适从啊。 


当然如我停留于此, 则谓之玄学, 而数据科学家与玄学家的区别,是下一步,“切!” 即提出一套提出假设并检验的办法,我们用模型来验证假设带来的结果, 看这种结果和真实是否一致。 由此知道我们能否真的洞察本质, 以及是否得到了新的现象,如同大侦探和预言家。 


这就是模型大行其道的时候了, 我们大胆的提出问题, 神经信号不稳定的来源是什么?  我们开始看到在信号刚到的前60秒那可不是这样的,那个时候每个细胞的反应如此有序, 如此有求必应。 后面怎么就不行了呢? 想想我们人上课也是这样的, 开头5分钟个个精神, 后来就不行了。为什么? 累了 , 饿了,就会带来风险和波动。 


神经元为什么会累了呢?我们发现了一个有趣的东西, 叫做钠离子通道,神经元之所以会放电,是因为无数离子通道的开启导致的电压瞬时升高, 外输入到来, 离子通道打开,可惜的是离子通道的开合是耗能量的, 随着时间迁移, 神经元逐步疲惫, 一旦疲惫了, 它就停下来不再能跟着外输入动了,自己先歇一会, 再不定时的打开 ,这样就引入了随机性。 你瞧, 多聪明的想法,看似复杂无序的反应,不过是一种如此简单的机制就可以是说清。


btw: 铁哥告你这招也可以用于追女孩,所谓死缠烂打,就是总有等到她累了饿了,然后大脑意志出现随机性的时候, 然后你用cookies引导一下就有可能侥幸成功了。 


或许我们只要抓住这个机制模型就成功了!  在数学物理家的眼里,说这么多, 无非是一个小小的微分方程(下图中心),  我们用兴奋性(x)表示神经元的能量,你神经元放一次电(y), 就耗费一点能量(U), 不放电它又会自然恢复, 当然这个恢复不是立即的,而是有一个迟滞时间(取名tau)。 这样的机制使得一旦细胞放电多了则休息, 休息多了又自然开启,就引入了波动性,而且这个波动性跟迟滞时间tau高度相关。


图: 简单模型, 模型是一个转化器,把输入通过微分方程转化为输出。   左下图是微分方程描述的过程,右下图是放电和兴奋性的概率关系。 


这个模型得到的结果的确可以解释细胞在稳定输入下的波动性, 却无法解释在不稳定输入下的一致输出。  当一个侧面得到拟合,则另一个方面变得很差,模型一定走错了。


最终一点点灵感加上机器学习救了我们。 神经细胞具有对多变信号的偏好, 一个可能的原因,是神经细胞内部具有某种跟随外界的信号而变的特征,或者说细胞是一个自适应的体系, 随着外部信号变化系统参数,  通过大量读文献(此处省略万言)我们选择恢复时间tau作为这个随时间变化的参量, 我们大胆假设这种tau随时间变化, 并且这个变法方式和细胞兴奋性有关, 用机器学习,我们求得最佳拟合实验数据的这一函数: 


模型得出在稳定输入下的复杂波动和波动输入下的稳定输出,跟实验现象一致。我们通过机器学习的交叉验证大法, 得到接近理论预测的预测效果,而且预测精度接近理论极限。 不要忘记我们只有6个参数要求,铁哥-数据的终结者! 

图: 神奇的模型效果, 蓝色为训练集,红色为测试集。


不思考问题数理本质的数据科学家都不是好科学家。模型是否能再帮我们找到神经元表现的这种神秘性质的原因?我们抛出动力学大法动力学的世界观(一)! 


我们进一步发现了神经元变化的动力学机制- 所谓边缘稳定性,即神经元的变化处于稳定与不稳定的边缘, 一方面在无外界变化驱动下, 它倾向于走向失序。而一旦出现外界信号的剧烈变化, 这种边缘稳定性反而提供更为灵活的适应力,可以根据外信号本身灵活的变化自身时间尺度,如同某种“弹性” , 具有对多钟不同时间尺度的信号进行学习的潜质。 


致辞铁哥完成了望闻问切的过程。如果我们具有无数这样的神经元,或许得到了一个新的AI模型,可以很灵活的处理和时间相关的问题。 


比如说siri吧, 她已经可以很轻松的在安静的环境下和你对话, 然而一旦外界有噪声siri语音识别的准确率会迅速下降,这里面的问题是她很难从背景里识别出人声来。 而人类神经元完成这类任务得心应手, 会不会引入自适应性模型和动态神经尺度就可以解决这个问题呢? 我们可以从相对缓慢变化的背景里挑选出快速变化的人声并加强对它的反应,犹如某种注意力机制,说不定铁哥模型真的会是未来啊 。 


这就是数据终结者铁哥的一天。它拿到一堆没用的数据,动动草稿纸想出几个问题, 做几个不靠谱的假设, 然后再用机器学习把它变成靠谱的模型, 最后铁哥不仅解释了他看到的,还预测了无数他看不到的,验证了一个哲学,得到了一个工具。想想如果把这项技术用于金融和商业, 是不是很可怕呢?  


该文是铁哥博士期间研究成果之一, 目前处于神经科学顶级期刊Journal of Neuroscience最后一轮审稿阶段。照片中是数据终结者铁哥的帅图。