什么是不确定性?
不确定感对人的心理健康的影响很大,会带来焦虑的情绪。不确定感通俗地说就是一件事对我们很重要,但是我们自己却无法左右它的发展。或当我们还不知道它的最终结果是好是坏时,我们内心产生的一种感觉。每个人的内心都经历过不确定感,比如一次考试对我们很重要,但是成绩还没有发下之前,就会产生不确定感。有期待,也有忐忑不安。不确定感可给人带来如下的体验:无法信任周围的人或事,思维处于混乱的状态,生活变得难以忍受。人们还会说,如果我不知道明天会发生什么,我的思想就无法放松下来,不确定感使我担心、焦虑。不确定感带来压力如果得不到我所需要的所有信息我会非常沮丧,不确定性使我的人生不完整,不得不一直关注未来。避免意外发生,因为无论计划多棒,小小的意外发生就会毁掉一切。不确定性还会束缚人们的行为,当有不确定感时,无法继续前进,当有不确定感时,无法正常发挥。不确定感还使人无法酣睡,生活中的模棱两可让一个人的心理上感受很大的压力。一个人内心如果长期存在不确定感,就会发展为焦虑情绪,影响身体的健康。虽然因为不确定而不舒服是很自然的,但是对于一些人来说这是无法忍受的。
什么是不确定性
什么是“不确定性”?
1.黑天鹅是哪种不确定?
预测包含两种不确定性。
第一种是“偶然不确定性(Aleatoric uncertainty)”, 也叫统计不确定性。它的意思是在给定模型的情况下,在模拟的过程中出现的不确定性有多大。我不能给你准确的结果,但是我能给你一个准确的概率。
第二种是“认知不确定性(Epistemic uncertainty)”,也叫系统不确定性。意思是说你这个模型可能不对。因为知识不确定性而预测不准,那就是我考虑不周,是我缺少重要的认知。
什么叫“黑天鹅”呢?黑天鹅说的是认知不确定性。明知道登山有一定的危险,有人还非得登山,结果摔死了 — 这不叫黑天鹅,这叫运气不好。反过来说,2008年金融危机则可以称为一次黑天鹅事件,因为导致金融危机的一系列连锁反应,这个机制不在经济学家的预测模型之内。
2.量子力学的“不确定性原理”
粒子,既在这里,也在那里。
其他性质也是这样,一个电子的自旋,可以是正和负的叠加态,既是正的,也是负的。当你观测的时候,有一定的几率观测到正的,一定的几率观测到负的。在你观测之前,它既是正的也是负的。
在观测之前,你不能确定它在哪里。你一观测,叠加态坍缩了,你才得到一个确定的“正的自旋”,或者“在左边的缝”。
量子力学是“既在这里又在那里” —— 不仅仅你测不准,而是观测之前根本就*不存在*一个特定的位置。
这就是为什么,后来中国的物理书都把“测不准原理”改称为“不确定性原理” —— 事实上英文本来就是 uncertainty principle.
“不确定性”会导致什么?
1.迷信
渔民进行宗教仪式、运动员追求好运气、鸽子做多余的动作,有的是指望神,有的是靠自己,但是本质上体现了同样一种思维 —— 那就是在面对不确定性的时候,人们总想做点什么事情来干预一下。
这有点像是做科学实验,只不过实验结果永远都是这么做有时候好使有时候不好使。
明知道做了也不一定好使,但是我们还是要做,因为不做心里就不踏实 —— 这就是迷信。
2.强加纪律
面对不确定性的一个办法是给自己强加一些严格的纪律。有研究发现,1920年代美国经济比较好的时候,人们更愿意去那些比较自由的教堂。等到1930年代美国经济危机,去教堂的人数不但增加了,而且他们去得更多的是充满教条主义的教堂。
3.寻求阴谋论
越是经济不行,社会动荡的时期,人们越热衷于各种谣言和阴谋论。日子越是充满不确定性,我们越要抓住一点确定感。哪怕是确定的坏消息都是好消息。
4.贫困病
贫困的本质是生活压力和不确定性。贫困带给人的坏影响不仅仅是心理上的,也是生理上的,而且新研究似乎表明,这种影响能够遗传。
5.制定目标
也许人制定目标,是因为人对目标,有一种心理需求。
登山者爱说“因为山就在那里”,这个意思就是说我登山不是为了赚钱也不是为了出名,登顶就是我的终极目标 —— 人生总得有点意义对吧?他们是这么说的也是这么做的。用几年的时间训练,投入重金做各种准备,一旦正式攀登,哪怕天气突然恶化也不愿中途放弃,宁可违反规则也要登顶!我们看珠穆朗玛峰登顶路线旁边倒下的一具具尸体,他们到底是怎么一种境界?
只有心理学家能理解他们。心理学家分析,对这些不顾一切登顶的人来说,“目标”已经不仅仅是目标了,“目标”已经成了他们的自我身份认同。
我为什么?—— 因为山就在那里。
我是谁?—— 登山者。
有了登顶这个目标,我生活中一切事物才有了方向,我才能好好活下去。
心理学家说,这些人之所以如此重视目标,是因为他们惧怕“不确定性”。当生活有了明确目标的时候,你一切都可以按照这个目标展开,可以指定详细的计划,每时每刻都知道自己该干什么。你可以忽略一切与这个目标无关的东西,外界再怎么动荡都与你无关。这是一种什么体验呢?你的感觉会特别好,觉得生活特别充实,每天很有干劲。
怎么应对“不确定性”?
1.见机行事,随其自然,没有机会就不要硬做,机会来了就放手大干。世界非常复杂,本来就充满不确定性,而且不可能围着你转。
人生当然可以有一个大的努力方向,但是不应该给自己设定特别具体的硬性目标。你的人生哲学必须考虑不确定性,随时应对机会和风险:
*不要只问自己想要什么,还要看看自己手里有什么工具和条件。不顾条件凭空设定目标,就是妄想。
*决定做一件事的时候,先别想成功了是多大的成就,先想想如果失败,这个损失你能不能承受。
2.一个东西的信息量的大小取决于它克服了多大的不确定性。
比如现在有一个人,生活非常规律,平时就出现在四个地方:家里、公司、餐馆、健身房。如果我雇你做特工,帮我观察这个人,随时向我汇报他的位置,那你每次给我的信息无非就是“家里/公司/餐馆/健身房”四选一 —— 即使你不告诉我,我也有四分之一的把握猜对。所以你给我的信息价值不算太大。
可是如果这个人全世界到处跑,今天在土耳其明天在沙特阿拉伯我完全猜不到他在哪,那你给我的信息可就非常值钱了。
你的信息出来之前,这个人的位置对我来说是一种不确定性。你的信息,克服了这个不确定性。原来的不确定性越大,你的信息就越有价值。
信息论的价值观是要求选择权、多样性、不确定性和自由度。我们不只想老老实实地活着,我们还想活出“信息”来。
高手怎么应对“不确定性”?
1.战胜认知偏误
人的大脑非常不善于处理不确定的信息。职业扑克选手要提高水平,就必须战胜头脑中各种认知偏误。为此,一个高手必须能够区分以下这些东西 ——
* 运气和技艺
* 信号和噪音
* 决策水平和决策带来的结果
2.拥抱不确定性
普通人刻意避免不确定性,而英雄人物应该主动拥抱不确定性。
注意我说的可不是“不怕不确定性”,而是要“主动拥抱”不确定性。因为一定程度上的不确定性,即使对普通人来说,都是特别有好处的。
平时养尊处优,偶尔饥寒交迫一次,体内的冗余就会发生作用,比如说储备了多时的脂肪这时候就能燃烧掉一些。人体作为一个有机体,对某一部分你给它一点小刺激,小压力,只要有足够的缓冲时间,它都能够恢复过来并且变得更强。
这正是健身的意义所在。故意搞些高强度的活动挑战身体极限,就能让身体慢慢升高极限,越练越强。
那么根据这个反脆弱的原理,日复一日采用同样的健身套路就是不好的。因为人体能快速适应新局面,一旦身体已经适应了这个套路和强度,就没有什么新的潜力可挖了。这也是为什么健身减肥都是初期效果最好,可是很快就能达到一个不再进步的平台区。
所以应该不断变换花样。这个项目进入平台期,那就赶紧换个项目让身体继续进步。这跟学习的道理也是一样的:学个什么东西最好时刻让自己保持在“学习区”,而不要停留在“舒适区”。
所以不论你是学习知识还是健身养生,主动拥抱不确定性,时刻挑战自我去应对新局面,才是符合“天道” —— 也就是进化论 —— 的做法。
从学习和创新的角度,主动增加一些不确定性 — 读几本自己领域之外的书、了解一个和自己业务无关的业务,还容易带来惊喜。从做事的角度,不确定性可以帮我们发现自己的问题,比如随机的输入可能会暴露一个软件意想不到的bug,使我们找到平常想不到的解决方案。
3.主动增加不确定性
我们还可以从接收信息和输出信息这个视角审视一下人生。
我们平时学习知识、积累经验,就是要减少世界给自己的不确定性。新人看哪里都新鲜,老手看哪里都是俗套 —— 只有这样,他才能从一大堆可预测的事物之中敏感地抓住那些不寻常之处,那才是真正有价值的信息。
而我们做事,则要给世界增加一点不确定性!别人都以为我会这么做,然后我就真的这么做了,那我跟一台机器有什么区别?我要输出信息,就得做一些别人想不到我会做的事。
信息就是意外。从“信息论”这个维度出发,有两种事情是特别值得我们去做的:
*出乎别人意料的事;
*给自己增加选项的事。
4.制造固定的仪式感
有一种说法认为越是经常面对不确定性的人,越容易迷信。普通人上班拿固定工资不确定性不多,就不怎么迷信;而运动员和演员的收入乃至个人荣辱都随时跟着成绩变化,就比较迷信。几乎所有运动员都有一套自己特有的赛前准备流程,就如同宗教仪式一样丝毫不差。很多人还带着幸运护身符,有的足球教练一到比赛就要在西装里面穿一件已经很破旧了的衬衫 —— 因为那是他的幸运衬衫。普通人对此表示:呵呵。
迷信不迷信根本不重要。重要的是高手需要一套固定仪式来让自己进入状态。
比赛状态和工作状态都不是自然状态。自然的人面对大场面的比赛会紧张,自然的人坐在电脑前更想看看新闻而不是马上潜心工作。固定流程,是顺利进入状态的好办法。
我们以前在说过,学习和锻炼应该搞些多样性来保持趣味,但是这本书考察高手的做法,多样性确实不多。这可能是因为他们做的是一件特别不确定的事情,所以要在其他所有方面增加确定性。
5.刻意制造震动
从事创造性工作的人,经常会面临去无可去的局面。作家写小说写到一处不知道怎么往下写了,科学家搞科研遇到难题不知道怎么解决,这就是需要任意的震动的时刻。我以前就听说,科幻小说作家阿西莫夫遇到写不下去的时候,就一个人跑到电影院看电影,常常看完电影就获得一个新的灵感。
所以分心也好,任意的震动也好,其实就是给创造过程来一点不确定性。而真正的创新者,不但不怕不确定性,还要时刻欢迎,甚至主动增加一点不确定性。
6.坚持
单个项目的成功,由两个变量决定。
第一个变量叫 r 值,r 代表想法的好坏。r 值越高,这个想法如果能实现的话,它的影响力就越大。
第二个变量叫 Q 值,代表你把这个想法实现的能力,也就是你的执行力。
用 S 代表成功,那么巴拉巴西告诉你一个公式:
S = Qr.
r,是不可捉摸的。Q,我们很难改变。但是产量,你自己可以控制。这就是成功第五定律 ——
坚持不懈地做下去,成功就可能在任何时候出现。
现在很多人爱说“拥抱不确定性” —— 请注意,说我不怕 r 值的不确定性,对各种想法持开放态度,这可不叫“拥抱”不确定性。你得主动出击,毫不懈怠地一个项目一个项目做下去,没有新 r 值就难受,这才叫拥抱。
啥叫“不确定”
“不确定” 这个词儿,三脚猫专家到处滥用,在人工智能安全(AI safety)、风险管理、投资组合优化、科学计量、保险等领域尤甚。试摘录几则,常见于日常交流之间: 在数学上, 不确定性 反应了随机变量的 离散程度 。换句话说,不确定性是一个具体的数值,反应某个随机变量有多么“随机”。在金融领域,不确定性还有个名字,叫 风险 。 说来奇怪,至今没有公式来表示不确定性。现存度量离散程度的方法有多种:标准差、方差、风险值(value-at-risk,VaR)、熵。不过,对于以上方法算来的数值,却不尽然反应“随机性”,这是因为随机性涉及整个随机变量的全部。 尽管如此,为了优化和比较,将随机性降低到单个数字表示是必要的。 划重点, “不确定性更大”,通常等同于“更糟糕” (增强学习的某些实验除外)。 统计机器学习关注模型的参数估计 ,进而估计未知的随机变量 。多种形式的不确定性在这里发挥作用,其中一些描述了预期的内在随机性(例如硬币翻转的结果),其他一些则来源于对模型参数的信心程度。 为了使上述理论更具体,让我们考虑一个递归神经网络(RNN),它从一系列地表的气压计读数中预测当天的降雨量。 气压计测量大气压力,即将下雨时通常气压会下降。 下图总结了降雨预测模型里,不同类型不确定性的图表。 内在不确定性中,aleatory的拉丁文词源是 aleatorius ,本意是用来当骰子玩的 羊距骨 ,引申义为蕴含随机性的过程。内在不确定性描述了数据生成过程本身的随机性。哪怕采样再多的数据,也无法消除这一随机性。 正如抛掷硬币,在落地之前无法知道其结果。 我们用降雨预测做类比,气压表的不精确带来了内在不确定性。除此之外,还有一些重要的变量在数据收集设置里没有观察到:昨天有多少降雨量? 我们是在测量当前的气压,还是最后一次冰期时的气压?这些未知变量是我们数据收集装置所固有的,因此从该系统收集更多数据,并不能免除这种不确定性。 内在的不确定性将会从输入,一直延续到模型的预测结果。考虑一个简单的模型 ,输入采用正态分布式 。这时 。因此,预测分布的内在不确定性可以用来描述 。当然,在输入数据 的随机机制不清楚时,预测内在不确定性会更难。 有人可能会认为,由于内在不确定性是不可减少的,因而对此也做不了什么,所以应该忽略它。 事实上并不是!训练模型时须注意选择那些能够正确表示内在不确定性的输出表示。 标准LSTM不会产生概率分布,因此尝试学习硬币翻转的结果只会收敛到均值。 相反,用于语言生成的模型产生了一系列分类分布的随机概率(单词或字符),可以用在句子补全任务中,捕获模型的内在不确定性。 “好的模型总是相似的;坏的模型各有各的错法。” 认知不确定性中,Epistemic源于希腊词根epistēmē,意思是 有关知识的知识 。 它衡量的是,由于我们对正确模型参数的未知,而带来的对正确预测的未知程度。 下图是某些一维数据上高斯过程回归的模型图。 置信区间(蓝色)反映了认知不确定性。对于训练数据(红点),不确定性为零。随着我们离训练点越来越远,预测分布将分配到更高的标准差。 与内在不确定性不同,我们可以通过在缺乏知识的输入区域收集更多数据,来“消除”模型的认知不确定性。 如果想要在模型选择上注入更大的灵活性,一个好主意就是使用模型集成(ensemble),即合理利用“多个独立学习模型结果”的一种巧妙方式。类似于高斯过程解析地定义了 预测分布 ,集成学习估计了预测的 经验分布 。 由于在训练过程中发生的随机偏差,任何单个模型都会产生一些错误。但是,把多个模型集成起来就会很强大。因为集成的模型犯错类型不同,当某个模型暴露其具有自身风格的失败时,其他多数模型与正确推断的预测一致。 我们如何从多个模型中随机抽样,构建集成模型呢?在 使用自举聚合进行集成 【也叫bagging】时,我们从规模为 的训练数据集中,采样 个大小为 的数据集(其中各个数据集都不涵盖整个原始训练集)。使用 个模型在各自的数据集上独立训练,其结果预测形成共同的经验预测分布。 如果训练多个模型代价太大,也可以使用 Dropout 操作来近似模型集成。不过,引入Dropout涉及额外的超参数,并且可能损害单个模型的性能(对于现实中的应用,Dropout在准确性要求极高,而不确定性估计是次要的场景中,是不能使用的)。 因此,如果你拥有丰富的计算资源(就像谷歌那样),训练一个模型的多个副本,【对于减少认知不确定性来说,】通常会更容易。这种做法具备集成的好处,而又不会损害性能。这即是 深度集成学习 这篇论文采用的方法。论文的作者还提到,不同权重初始化将引起训练的随机波动,这就足以形成多种【表现迥异的】模型,而不必通过自举聚合来应对训练集的多样性。从实际工程的角度来看,不以模型的性能为依据的风险评估方法是明智的。研究人员想要尝试的其他集成方法,在选择模型时,都不应该 仅 依据模型的性能表现。 对于我们的降雨量预测器,如果输入数据不是地表气压计的连续读数,而是太阳附近的温度,结果会如何?如果输入是一系列零呢?或者气压计读数单位不统一呢? 我们的RNN模型会“愉快地”计算并报告一个预测,但结果毫无意义。 上述情况下,一旦测试了与训练集不同的数据,模型的预测将完全不合格。这是一种在(基准驱动的)机器学习研究中经常被忽略的典型失败模式,因为我们通常假设训练集、验证集和测试集都是由干净的、独立同分布的数据组成的。 输入数据是否“有效”,是在实践中部署模型的一个需要特别注意的问题,有时这被称为越界(Out of Distribution,下文简称OoD)问题。有时也被称为 模型错误指定 或 异常检测 。 OoD检测的适用范围并不限于强化学习系统。例如,我们希望构建一个监控患者生命体征的系统,并在出现问题时提醒我们,而不必做所有病理检查。再如,我们管理数据中心时,想了解每时每刻可能发生的异常活动(像磁盘填满、安全漏洞、硬件故障等)。 由于OoD仅在测试时发生,我们不应该假设提前知道模型遇到的异常分布。这就是使OoD检测变得棘手的原因——我们必须强化模型,防止在训练期间遇到从未见过的输入!这正是 对抗样本学习 中典型的攻击系统的情形。 有两种方法可以处理机器学习模型的OoD输入:1)在我们将它们放入模型之前捕获不良输入;2)给出模型预测输入的“怪异性”,暗示我们输入可能是错误的。 第一种方法,我们不假设下游机器学习任务,只考虑输入数据是否在训练分布中。这正是生成式对抗网络(GAN)中判别器的职责。然而,单个判别器并不很可靠,它只能区分真实据分布和产生器的分布;当输入数据出离二者之外,判别器将反馈任意预测。 判别器不成了,我们就构建了预测正常分布的概率密度的模型,例如核密度估计器、或将 归一化流 拟合到数据。最近我和Hyunsun Choi在 使用现代生成模型进行OoD检测 的论文中对此进行了研究。 第二种OoD检测方法,则是使用模型预测(认知)不确定性,在输入是OoD的时候告诉我们。理想情况下,错误输入将会产生“怪异的”预测分布 。例如, Hendrycks和Gimpel证明 ,OoD输入的最大softmax概率(即预测类别)往往低于正常分布的输入。在这里,不确定性与最大softmax概率建模的“置信度”成反比。高斯过程这样的模型,构造性给出不确定性估计,而另一种做法,就是通过深度集成学习(Deep Ensembles)计算认知不确定性。 在强化学习中,遇到OoD输入是 好事 ,因为OoD代表了实际过程中模型尚不明确如何处理的输入。鼓励政策把寻找OoD输入看作成全其“自身的好奇心”的手段,以 探索模型预测不佳的区域 。这样的策略很好,但我很想知道,在现实世界环境中,如果发生了传感器破裂、或其他实验异常时,这些好奇心驱动的模型会发生什么。机器人将如何区分“没见过的状态”(好OoD)和“传感器破坏”(坏OoD)?是否会导致模型学到干扰它们的传感器机制,以产生最大的新奇感? 如前一节所述,防御OoD输入的方法之一是建立一个“监视”输入的模型。我更喜欢这种方法,它将OoD问题与任务模型中的认知不确定性与内在不确定性脱钩。从工程角度来看,更易于分析。 但我们不应该忘记,模型也是一个函数逼近器,可能有它自己的OoD错误! 我们在最近关于 产生式集成学习 的论文中给出(DeepMind的 同时期工作 也给出类似结论),在CIFAR似然模型下,来自SVHN的图像比CIFAR自身图像具有更大的似然值! 不过,情况并非一塌糊涂! 事实证明,似然模型的认知不确定性是似然模型自身的OoD检测器。 通过使用密度估计来实现认知不确定性估计,我们可以使用似然模型的集成学习,来以模型无关的方式保护机器学习模型,免受OoD输入的影响。 假设我们的降雨RNN预测模型告诉我们,今天的雨量将服从 。如果我们的模型被 校准 ,那么在相同条件下 重复 这个实验,我们将会观察到雨量的经验分布为 。 承接上文,我要提醒读者:不要仅仅看到模型输出了置信区间,就以为区间内的值代表了实际结果的概率! 置信区间(例如 )隐含地假设预测分布是高斯分布。如果尝试预测的分布是多模态的、或长尾的,那么模型将无法精确地校准(重复)! 当今学术界开发的机器学习模型,主要针对测试精度,或某些适应度函数进行优化。研究人员没有通过在重复相同的实验中部署模型,并测量校准误差来进行模型选择。因此(不出所料),我们的模型往往 校准不佳 。 展望未来,如果我们相信在现实世界中部署的机器学习系统(机器人、医疗保健等),“证明我们的模型正确理解世界”的更强大的方法是测试它们的统计校准。良好的校准性也意味着良好的准确性,因此校准将是一个严格的标准。 尽管标量的不确定性有用,随机变量形式的不确定性将提供更多信息。我发现,像粒子滤波和基于优化分布的强化学习等方法,在整个数据分布上进行优化,无需借助简单的正态分布来跟踪不确定性,这些方法很酷!我们构建基于机器学习的决策系统时,可以诉诸于分布的完整结构,而不是使用单个标量的“不确定性”,来决定下一步做什么。 隐含量化网络(Implicit Quantile Networks) 的论文(Dabney等人)就如何从输出分布中构建“风险敏感模型”进行了详细的讨论。在某些环境中,人们可能更倾向于选择探索未知的机会;而在另一些环境中,未知事物可能不安全,应该避免。 风险度量 的选择决定了如何将模型输出的分布映射到可以优化的标量。所有风险度量都可以从分布中计算出来,因此一旦预测了完整分布,我们就能够轻松地组合多种风险。此外,支持灵活的预测分布似乎是改进模型校准的好方法。 更糟的是,即使在分析意义上,它们也难以使用。我希望,对于基于优化分布的强化学习系统、蒙特卡罗方法、灵活的生成式模型的研究,将建立与投资组合优化器紧密结合的风险度量的可微松弛。如果你从事金融工作,我强烈建议你阅读IQN论文的“强化学习中的风险”部分。 以下是本文的重点概述: