对编码解码的理解 | 莫烦Rethink

对编码解码的理解

作者: 莫烦 编辑: 莫烦 2021-06-26

老师讲课,我听不懂、男女朋友总吵架闹矛盾、爸妈总不理解我、上课理解的题目,考试却不会做。我们的生活充满了这样的时刻,为什么会有这样的问题存在呢? 我想从一个细微的角度,甚至是偏人工智能的角度来思考,尝试分析出他们的本质因素。我想尝试理解他们的底层逻辑,因为理解了这些,上面那些烦恼,应该都会迎刃而解了。

communication

不同人不同理解

我们都是成年人了,对于同一件事,不同人,有不同理解这种现象,应该都接触很多。不管是读书也好,看剧也好,还是在沟通一件事的时候,我们都可能存在不同的理解。

我在一家互联网公司,做技术产品,因为是技术主导产品的形态,所以会参与到产品设计的过程中去。我发现,我在沟通的过程中,耗费最多时间的,并不是设计这个步骤, 而是去理解别人表达的观点到底是什么,即使描述上和我的观点千差万别,但是底层逻辑是不是和我的一样?如果底层一样,我们其实还是 share 共同的 view 的。 也就不存在分歧。而这个分析他人认知的过程,耗费了我 70% 的时间。

而这种分歧,也许只是存在于表面表达形式上的分析,但很多时候,我们却为表达形式上的分歧争吵得喋喋不休。 所以不同理解这个现象并不是我关心的事情,我想要深挖一下,找一找产生这种现象的原因。 接下来的内容,也是从这个角度,一步步深挖,看看我最终能想到哪个程度。

生活经历为你的理解负责

既然你也同意我们看到事物的观点极其容易产生分歧。我常常在思考,是什么决定了我们理解上的不同,这种不同是可以避免的吗?

短答案是:是你的生活经历决定,即使是成长环境及其接近的同卵双胞胎,这种不同是无法避免。

下面是长答案。在认知心理学领域,这个问题其实也被研究了很久。《认知天性》表象与本质 或者其他的认知心理学领域的研究,都多少提到过。 我们对事物的认知程度,深度,广度,都取决于我们当前状态下的认知基础。

如果你有机器学习的基础,我举一个例子你可能会明白得彻底一点。 用不同训练集(经历)训练出来模型(人),思考模式当然不一样;即使用同样训练集,仅仅在 epoch 的时候换了 shuffle 的随机种子,训练出来的模型也不会一模一样,总会有微小的差别。

而我们生活中,随机性随处可见,所以每个人的思维方式,观点不见得完全相同。你的生活经历给予了你全世界唯一的思考基础,你的思维,观点,必定会和别人有差别,即使差别微小,但不可能完全一样。

公共编码

前面都还只是表象,和影响表象的浅层分析。我们来看看深层次的分析。不管是机器还是人,对与世间万物的认知,都是一种编码形式存在的。 为什么 1 这个数字代表的是 一个 的意思?为什么 3 指的是三个物体?

numbers

在历史上,我们还存在其它样式的键盘排列,而且还有可能更适合人类手指,为什么到了现在我们只剩下一种键盘排列?

keyboard

答案很简单,因为我们相信,而且这是人类在某个时刻共识的表达。一旦形成了这种共识,再想挑战普世的规则,就很难了。 你再想想,还有什么会是这样的逻辑呢?我随便在列几个:人类文明;正在争夺的 5G 网络;好莱坞电影的全球化输出;外国对中国的经济依赖等等。

我会把这种共识,称作为公共认知,而这种公共认知,也算是一种公共编码。从现在开始,我将用编码这个词,代替认知这个词,因为编码的适用范围更广。

人类语言就是一种我们日常必不可少的编码形式,我们用文字,用语言表达着复杂的逻辑和内容。你想,如果没有语言,我们就只能拿着实物,摆在你面前,你才能理解我在表达什么。 但是有了共同的一种编码,不管是语言,小黄脸emoji,还是其他用来沟通的工具,这都是在干一件事-将背后的内涵,内容,编码进一个容易传播(空间维度),容易跨时间保存(时间维度)。

编码与解码

上面都是广义上的,对于所有人,或者对于一部分群体适用的公共编码。而在关系到不同人有不同理解这个点上,我想展开的是个人大脑里面的编码形式。而很多时候, 我们能正常沟通的基础前提是-我们拥有一部分的公共编码(不然你不会理解我说的话),而且还有我个人的私有编码,我对于某件事的独特见解。

而且私有编码一旦得到普及,它和公共编码其实是可以转换的。我来举个例子。

最近我换了块智能手表,智能手表有一个好处,就是可以更换表盘的显示。我尝试了很多个表盘,发现下面这个是我最喜欢的。因为他完整的诠释了编码和解码这回事。 如果你也有华为手表,你可以搜一下天气大叔这个表盘。

weather1

这个表盘,完整的将天气信息,电量信息,新消息条数信息,时间信息完美地编码进了一个人的头像上。

  • 天气 : 发型
  • 电量 : 胡子
  • 时间 : 眼镜
  • 新消息 : 耳环

weather2

weather3

我相信在做这款表盘的时候,最开始只有作者能懂这些编码规则,但是随着传播,我们也能识别出这些编码,并能解码成对应的含义。 再想象,二战时候的加密和解密,不也是编码和解码这回事吗。

既然你看 莫烦Python,那我猜你肯定对机器学习有所了解。在机器学习中,学得越深,你就越发了解,所有的模型,基本都可以归纳成一个 Encoder + Decoder 的模式。 即使是一个简单的线性回归,也是如此。

encoder decoder

Encoder 负责编码,将输入的原始数据编码成另一种表达形式,你可以将编码后的东西理解为这是机器对原始数据的编码认知。Decoder 负责利用这种编码认知, 将它再次表达成另一种形式,或者一种动作,这个表达的方式,完全是依赖于它的编码认知是什么。我在 NLP 的教学中,有论述过这一点。

在回到天气大叔这款表盘,对于我看到的表盘信息,如果没有一个个性化编码的过程,我是看不懂它想表达什么信息的。正因为我对它的头发,胡子,眼镜,耳环进行了与平时不一样的编码与解码, 我现在才能看懂理解这个大叔要表达的信息。

进一步,为什么不同人对同一件事,可能会有完全不同的认知呢?问题就出在编码和解码上。 我们的大脑对某件事情的编码和解码,使用到的工具是大脑里上亿个神经链接。 如果你的神经链接体系和别人稍有不同,你的认知理解就有不同。即使仅和自己对比,我在 10 点钟的神经链接和我在 11 点的神经链接有可能都不一样,因为在这期间,有源源不断的新信息, 新回路在我大脑中产生,时时刻刻都在对我的大脑链接进行 finetune(微调)。同一个人,在 10 点和 11 点,对同一件事都可能会有不同的认知和解答。 这也就是为什么你的女朋友前一秒还对你笑呵呵,下一秒就一张生气脸的原因了。 这种变化,还导致了很多现象,比如我在另一篇中提到的遗忘和认知覆盖

总之,我们需要承认每个人在编码和解码上的不同,也要承认,同一个人,在不同时刻的不同。这些不同,都是必定存在且一定会发生的。 你现在就明白,为什么沟通是一门学问,为什么要站在别人的角度上思考才能有效沟通了。 其实这都是去理解别人的编码器、解码器是什么样子,是什么经历形成了别人这种独特的编码、解码器。

广泛的编码能力

好了,我还想讨论的一个问题是,站在个人的立场上,我到底有多少编码器?是一个大的编码器统领全部事物,还是千万个小的编码器分别处理不同的事物? 我为什么想思考这个问题呢,因为我在生活中,的确遇到了关于编码器的问题。比如我是学生,需要针对不同的学科,将这些学科独立开,分别学习。还是不断尝试融合不同学科的知识, 将他们放在一个大熔炉中,构建学科之间紧密的联系。 而我越来越觉得,后者这种模式才能解决我实际遇到的很多问题。

成年之后,很多要解决的问题,并不是靠我们以前的知识体系就能解决的,而是融合了非常多领域,有时候要横跨生物学心理学物理数学计算机等等学科, 如果我的学科知识,在脑中是分块独立的,那么我将他们串联起来去解决一个问题就非常困难。而且还有很多新的知识需要被学习,这时候的学习就更不能建立在独立的认知领域上了。

这意味着,正确的学习之路,从一开始就是需要源源不断地融合性学习,不同学科之间的融合,相同学科,不同知识点的融合。我们需要的,并不是单点技能,而是整体技能。 关于这点,我在广泛学习这篇文章中,有详细讨论。

总之,为了达到这样的学习方式,我的目标,现在就变成了训练自己拥有一个广泛的编码能力。如果你看到我的介绍页,你也会发现,我的经历目前已经横跨了 土木-交通-AI-教育 这几个看上去都不太相关的领域,不过我并不会觉得奇怪,或者被动。因为正是这样广泛的经历,才让我有能力思考像 解码器与学习、认知的关联。 而正是应为有了一样广泛的经历,我才发现,跨学科的重要性,知识整体性的重要性。我这才开始思考,创造像Rethink这样的体系。

总结

编码器和解码器,一个看起来只和计算机相关的词汇,其实在不同的领域中,它的含义可能由不同的词代替。不同人,拥有不同的阅历,修炼了不同的编码器和解码器, 而正是这些不同的编码、解码器,引领了我们的认知体系。正是我们独特的认知体系,创造了独一无二的你。理解自己的不同, 也就理解了为什么老师讲课,我听不懂、男女朋友总吵架闹矛盾、爸妈总不理解我、上课理解的题目,考试却不会做这些问题了。


降低知识传递的门槛

莫烦很常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛免费 奉献我的所学正是受这种态度的影响。 通过 【赞助莫烦】 能让我感到认同,我也更有理由坚持下去。