大哉问06 - 学习中最应该养成什么习惯?

上一篇大哉问我们讨论了这个问题:什么是学习中最大的误区?

以为学习的行动,就是学习本身

学习是以改变为目的的一系列探索活动。如果改变没有发生,没有形成新的视角或行动或规则,那么学习基本上可以说无效。

明确了应该避开「不改变」这个误区,那么下一个大问题来了:

什么是学习中最应该养成的习惯?

00 思考了很久,目前的回答是:

学习是一种训练

学习不是看书、做实验这些行为本身,学习是围绕目标和薄弱点的「训练」,它们指向思想或行动的改变。

学习不是孤立的阅读、孤立的理解、孤立的运用,一个学习的「迭代」包括:

设定目标 - 模块拆解 - 刻意练习 - 评估调整

完整的学习由很多个迭代循环构成,迭代的结果是行为改变。

向机器学习「学习」

最近在学习机器学习和深度学习。机器如何学习给我非常多启发。

机器的学习为什么高效?除了它计算能力超强、根本不会疲劳以外,它们学习的方法——所谓算法——都是最聪明的人类精心设计的。

深度学习的基本思路是:

  • 设定目标 Y
  • 找到真实数据集(包含自变量 x 和输出值 y)
  • 给出初始模型,喂入真实数据集
  • 观察模型输出的损失(目标 Y 和实际值 y 的差值)
  • 调整模型参数,使损失函数最小
  • (重复循环)
  • 达到目标 Y ,停止训练

再打开「刻意练习」这本书复习一下。

刻意练习聚焦于提高绩效和表现,它的特点:

  • 有定义明确的特定目标
  • 专注的
  • 包含反馈
  • 需要走出舒适区
  • 产生有效的心理表征
  • 构建或修改那些过去已经获得的技能

See? 机器学习完全遵守了这些规则,能不高效吗?!

GEXTE :学习循环的模板

事不宜迟,在我们下一个学习计划,启用 00 为你准备的「GEXTE 学习循环模板」吧!

在定义一个学习项目时,我们需要把学习的循环拆分成几个部分:

目标是什么?怎么评估做到了?可以拆分为哪些训练模块?模仿什么?训练步骤是?

代号 循环项 定义 每次循环时
G 目标 / Goal 明确可描述的目标,从现状 A 到终点 B 回顾目标
E 评估方法 / Error 如何评估是否达成目标 获得反馈
X 技能模块 / X 影响 Error 的模块、技能点 检查是否有遗漏
T 模仿对象 / Target 具体的模仿对象和结果 比较的结果差别
E 单次训练 / Epoch 每一次训练要做什么 调整行动或目标

可打印的模板也做好了。HackYourself 公众号回复 「学习模板」即可获得:

看吧,学习是远比我们想象要复杂但也更有趣的挑战。不妨在每个循环后面,增加一些奖励来激励自己。

虽然正儿八经地学个什么颇费力,但总比数十年喊着口号却原地打转强得多,是不是?

下面来看两个例子:编程学习和产品决策能力训练。

栗子1:学习用 Processing 模拟自然现象

Processing 是基于 Java 的一套编程语言和环境,有很强的图形、动画生成能力,被称为「设计师的编程语言」。现在我们就来尝试用 GEXTE 模板定义完整的学习循环。

G 目标

目标1:学习如何用代码可视化表达随机性、力与运动、震荡、粒子、分形等自然现象

现状 A

  • 不了解模拟自然现象的算法
  • 不知道如何用 Processing 实现

终点 B

  • 能用基础的公式表示自然现象背后的数学和物理原理
  • 用 Processing 实现动画程序

目标2:练习巩固 Python 语法

现状 A

  • 会基本的 Python 语法
  • 能看懂简单的 Java 程序

终点 B:用 Python 实现 Processing 动画程序

E 评估

用 processing.py 实现模拟自然现象的动画程序

  • 程序运行结果是否如预期
  • 抄程序:Java 没问题但 Python 有问题的地方,是需要加强的薄弱点
  • 重写程序
    • 是否理解原理
    • 是否理解 Processing 如何实现
    • 是否理清实现的思路

X 模块

  • 自然现象的原理
  • Processing 语法和模块
  • Python 语法
  • debug 方法

T 对象

「The Nature of Code」配套视频和例子

E 训练

  • 看 youtube 视频和书,学习自然现象的原理
  • 看 Java 代码
  • 用 Python 抄一遍
  • 用 Python 自己写一遍
  • 填写训练反馈
  • 完成 9 个单元,把所有例子翻译成 python 版本

Bonus

  • 上传 NOC python version 到 Github
  • 每一章实现一个有意思的小动画

上面这个例子可能比较特殊,因为学习对象是界定非常明确的编程练习,学习产出也容易评估。

下面再举一个不太容易定义的例子。

栗子2:产品决策能力训练

G 目标

提升决策的质量并优化决策的流程

E 评估

决策是否达到预期目标

X 模块

  • 逻辑思维、抽象、演绎、分析、综合等能力
  • 决策信息的收集
  • 提炼、表达和沟通能力
  • 决策落地
  • 评估标准制定和信息收集

T 对象

  • 自己的决策:拥有最全面的信息,方便评估
  • 上级/团队的决策:观察、评估上级或团队的决策,也是绝佳的练习机会

E 训练

  • 决策问题产生和定义
  • 情报收集和分析
  • 决策制定和描述
  • 推进和项目组织
  • 结果评估
  • 决策方法总结

每一步可能还有很多细分的练习模块,这里就不具体展开,产品同学们开启脑洞吧。

最后

打造有效的学习循环很难,几乎就像是打造一个产品循环。

这也就是为什么学习容易成为西西弗斯式壮(xiao)举(hua)的原因。因为富有成效的学习,太不符合大脑喜欢最短路径的构造,所以我们总是自欺自人。

但总有一些奖赏,要在经历之后才深明其义。

One of the first rules of science is if somebody delivers a secret weapon to you, you better use it. — Herbert Simon


HackYourself 学习专题:

kidult00 wechat
扫码关注 00 的公众号
如果文章帮您节省时间或者解答疑问,不妨打个赏 :)