如何学习

Database and Ruby, Python, History


最近自己多了一句口头禅“不亲自动手,都是多巴胺”,主要意思是强调学习的时候一定要动手,要有产出,否则就是自嗨,过几天就忘记了。同时,我也想整理一下之前看到的相关文章。

如何学习

小lin说里面有一期视频,介绍了如何学习。

  1. 首先要了解新领域的知识框架,比死扣一个知识点好多了。比如有人说,我要学 Python,然后拿着<流畅的 Python="">一书啃了很久,但对于如何使用 Python 搭一个 web 却一脸懵逼。但是如果有了框架,这个框架可以参考别人的框架,按照框架去学习,就可以少走很多弯路,甚至原地踏步。
  2. 产出。要么就是练习里面的例子,要么就是找个实战项目,要么就是记录一段笔记。

刻意练习

刻意练习是让一个人从入门到专业的练习。练习是指重复做同一件事,但是每次都尝试用更好的方式去做。

刻意练习是针对特定的目的进行的专门练习,通常需要老师的指导(提供最佳方案以及及时纠正)、重复、持续的反馈和针对反馈的改进、以及毅力。

Deliberate practice is characterized by several elements, each worth examining. It is activity designed specifically to improve performance, often with a
teacher’s help; it can be repeated a lot; feedback on results is continuously available; it’s highly demanding mentally, whether the activity is purely intellectual, such as chess or business-related activities, or heavily physical, such as sports; and it isn’t much fun.
  1. 刻意练习是有条理的和方法的。就像小lin说里面提到的框架,我们要参考这个框架,我们需要确切知道自己要改进什么,并且如何改进、以及如何衡量自己的改进效果。就像机器学习里面训练模型,我们会针对模型算出一个分数,根据业界里面的 best practice,尝试去改进模型,再算出一个模型对比两者的分数看是否有改进。
  2. 刻意练习可一点都不有趣,重复做一件事情并不显得很有趣。”娱乐至死”一书中提到,但是学习这事本来就不是一件愉快的事情,需要付出汗水和耐心。将自己挤出舒适区,让自己不舒服,才可以学到新的东西。爱迪生说过,尽最大的努力又刚刚能够取得的成就。
  3. 刻意练习需要休息。
  4. 刻意练习需要不断的测量和反馈,或者在教练的指导下进行。
  5. 刻意练习需要内驱力,因为刻意练习可能需要持续很长的时间。
  6. 刻意练习需要间隔,即参考人类的记忆曲线,隔段时间进行复习。

学习的产出 - 写作

我为什么要写博客中提到自己为什么要写博客,其实博客可以是学习之后的整理,自己思考的整理。

学习如果只是看短视频,自己觉得自己又学会了新的知识,但是自己不动手操作一遍,或者记录一遍,过了几天就忘记了。现实生活就是不像在学校里面一样,为了考试需要做大量重复的练习,复习,这样记忆可以保持很久的时间。在离开学校之后,记笔记、整理学到的新东西,就很有必要了。

整理自己的思考,将脑袋里面想的东西记录下来,否则自己会一直在一个点上原地打转。一旦记录下来,自己迫使自己组织自己的想法,让它们记录下来,可以放心地想下一步是什么。

我不禁将 Paul Graham 的文章复制过来,当然我也保留的原文的链接。多动笔,写下来的东西一半是你脑袋里想的,一半是你写的时候想到的/修改的/摒弃的。

Putting Ideas into Words

February 2022 2022 年 2 月

Writing about something, even something you know well, usually shows you that you didn't know it as well as you thought. Putting ideas into words is a severe test. The first words you choose are usually wrong; you have to rewrite sentences over and over to get them exactly right. And your ideas won't just be imprecise, but incomplete too. Half the ideas that end up in an essay will be ones you thought of while you were writing it. Indeed, that's why I write them.
写一些东西,即使是你很了解的东西,通常会表明你并不像你想象的那么了解它。将想法付诸实践是一项严峻的考验。你选择的第一个词通常是错误的;你必须一遍又一遍地重写句子才能使其完全正确。你的想法不仅不精确,而且也不完整。最终出现在论文中的想法有一半是你在写作时想到的。事实上,这就是我写它们的原因。

Once you publish something, the convention is that whatever you wrote was what you thought before you wrote it. These were your ideas, and now you've expressed them. But you know this isn't true. You know that putting your ideas into words changed them. And not just the ideas you published. Presumably there were others that turned out to be too broken to fix, and those you discarded instead.
一旦你发表了一些东西,惯例是无论你写什么,都是你写之前的想法。这些是你的想法,现在你已经表达了它们。但你知道这不是真的。你知道,将你的想法付诸文字会改变它们。不仅仅是您发表的想法。大概还有一些东西被证明太破损而无法修复,而那些你则丢弃了。

It's not just having to commit your ideas to specific words that makes writing so exacting. The real test is reading what you've written. You have to pretend to be a neutral reader who knows nothing of what's in your head, only what you wrote. When he reads what you wrote, does it seem correct? Does it seem complete? If you make an effort, you can read your writing as if you were a complete stranger, and when you do the news is usually bad. It takes me many cycles before I can get an essay past the stranger. But the stranger is rational, so you always can, if you ask him what he needs. If he's not satisfied because you failed to mention x or didn't qualify some sentence sufficiently, then you mention x or add more qualifications. Happy now? It may cost you some nice sentences, but you have to resign yourself to that. You just have to make them as good as you can and still satisfy the stranger.
写作之所以如此严格,不仅仅是要将你的想法写成具体的文字。真正的测试是阅读你所写的内容。你必须假装自己是一个中立的读者,对你脑子里的想法一无所知,只知道你写的内容。当他读到你写的东西时,你觉得它正确吗?看起来完整吗?如果你努力,你可以像一个完全陌生的人一样阅读你的作品,而当你这样做时,新闻通常是坏消息。我花了很多周期才能让一篇文章通过陌生人。但陌生人是理性的,所以如果你问他需要什么,你总是可以的。如果他因为你没有提及 x 或没有充分限定某些句子而不满意,那么你就提及 x 或添加更多限定条件。现在开心?这可能会让你损失一些好话,但你必须接受这一点。你只需要把它们做得尽可能好,同时仍然让陌生人满意。

This much, I assume, won't be that controversial. I think it will accord with the experience of anyone who has tried to write about anything nontrivial. There may exist people whose thoughts are so perfectly formed that they just flow straight into words. But I've never known anyone who could do this, and if I met someone who said they could, it would seem evidence of their limitations rather than their ability. Indeed, this is a trope in movies: the guy who claims to have a plan for doing some difficult thing, and who when questioned further, taps his head and says "It's all up here." Everyone watching the movie knows what that means. At best the plan is vague and incomplete. Very likely there's some undiscovered flaw that invalidates it completely. At best it's a plan for a plan.
我想,就这么多,不会有那么大的争议。我认为这符合任何试图写一些不平凡的事情的人的经验。可能存在这样一些人,他们的思想是如此完美,以至于可以直接转化为语言。但我从来不认识任何人可以做到这一点,如果我遇到一个说他们可以做到这一点的人,这似乎证明了他们的局限性,而不是他们的能力。事实上,这是电影中的一个比喻:一个人声称有一个计划来做一些困难的事情,当被进一步询问时,他拍着他的头说“一切都在这里”。看过电影的人都知道这意味着什么。该计划充其量是模糊且不完整的。很可能存在一些未被发现的缺陷,使其完全失效。充其量它只是一个计划的计划。

In precisely defined domains it's possible to form complete ideas in your head. People can play chess in their heads, for example. And mathematicians can do some amount of math in their heads, though they don't seem to feel sure of a proof over a certain length till they write it down. But this only seems possible with ideas you can express in a formal language. [1] Arguably what such people are doing is putting ideas into words in their heads. I can to some extent write essays in my head. I'll sometimes think of a paragraph while walking or lying in bed that survives nearly unchanged in the final version. But really I'm writing when I do this. I'm doing the mental part of writing; my fingers just aren't moving as I do it. [2]
在精确定义的领域中,您可以在头脑中形成完整的想法。例如,人们可以在头脑中下棋。数学家可以在头脑中做一些数学运算,尽管他们在把证明写下来之前似乎并不确定一定长度的证明。但这似乎只有用正式语言表达的想法才有可能。 [1] 可以说,这些人所做的就是将想法在头脑中转化为文字。在某种程度上,我可以在脑子里写论文。有时我会在走路或躺在床上时想起一段话,它在最终版本中几乎没有变化。但当我这样做时,我实际上是在写作。我正在做写作的心理部分;当我这样做时,我的手指就是不动。 [2]

You can know a great deal about something without writing about it. Can you ever know so much that you wouldn't learn more from trying to explain what you know? I don't think so. I've written about at least two subjects I know well — Lisp hacking and startups — and in both cases I learned a lot from writing about them. In both cases there were things I didn't consciously realize till I had to explain them. And I don't think my experience was anomalous. A great deal of knowledge is unconscious, and experts have if anything a higher proportion of unconscious knowledge than beginners.
你可以不用写下来就知道很多事情。你是否会因为知道太多而无法通过解释你所知道的事情学到更多东西?我不这么认为。我写过至少两个我熟悉的主题——Lisp 黑客和初创公司——在这两种情况下,我都从写它们中学到了很多东西。在这两种情况下,有些事情我在必须解释之前都没有意识到。我不认为我的经历有什么异常。大量知识是无意识的,专家的无意识知识比例比初学者更高。

I'm not saying that writing is the best way to explore all ideas. If you have ideas about architecture, presumably the best way to explore them is to build actual buildings. What I'm saying is that however much you learn from exploring ideas in other ways, you'll still learn new things from writing about them.
我并不是说写作是探索所有想法的最佳方式。如果您对建筑有想法,那么探索它们的最佳方式大概就是建造实际的建筑物。我想说的是,无论你从以其他方式探索想法中学到了多少东西,你仍然会从写它们中学到新东西。

Putting ideas into words doesn't have to mean writing, of course. You can also do it the old way, by talking. But in my experience, writing is the stricter test. You have to commit to a single, optimal sequence of words. Less can go unsaid when you don't have tone of voice to carry meaning. And you can focus in a way that would seem excessive in conversation. I'll often spend 2 weeks on an essay and reread drafts 50 times. If you did that in conversation it would seem evidence of some kind of mental disorder. If you're lazy, of course, writing and talking are equally useless. But if you want to push yourself to get things right, writing is the steeper hill. [3]
当然,将想法转化为文字并不一定意味着写作。你也可以用老方法,通过谈话来做到这一点。但根据我的经验,写作是更严格的考验。你必须致力于一个单一的、最佳的单词序列。当你没有语气来表达意思时,就很难说出口。而且你可能会以一种在谈话中显得过度的方式集中注意力。我经常花两周时间写一篇论文,并将草稿重读 50 遍。如果你在谈话中这样做,那就像是某种精神障碍的证据。当然,如果你懒的话,写和说同样没用。但如果你想督促自己把事情做好,那么写作就是更陡峭的山坡。 [3]

The reason I've spent so long establishing this rather obvious point is that it leads to another that many people will find shocking. If writing down your ideas always makes them more precise and more complete, then no one who hasn't written about a topic has fully formed ideas about it. And someone who never writes has no fully formed ideas about anything nontrivial.
我花了这么长时间来确立这个相当明显的观点的原因是,它会导致许多人会感到震惊的另一个观点。如果写下你的想法总是能让它们更精确、更完整,那么没有写过某个主题的人就没有完全形成关于它的想法。一个从不写作的人对任何不平凡的事情都没有完全形成的想法。

It feels to them as if they do, especially if they're not in the habit of critically examining their own thinking. Ideas can feel complete. It's only when you try to put them into words that you discover they're not. So if you never subject your ideas to that test, you'll not only never have fully formed ideas, but also never realize it.
他们感觉好像他们确实这样做了,尤其是如果他们没有批判性地审视自己的想法的习惯的话。想法可以感觉完整。只有当你尝试用语言表达它们时,你才会发现它们不是。因此,如果你从不让你的想法接受这种测试,你不仅永远不会有完整的想法,而且永远不会实现它。

Putting ideas into words is certainly no guarantee that they'll be right. Far from it. But though it's not a sufficient condition, it is a necessary one.
将想法付诸实践并不能保证它们一定是正确的。离得很远。但这虽然不是充分条件,但却是必要条件。

Notes 笔记

[1] Machinery and circuits are formal languages.
[1] 机械和电路是形式语言。

[2] I thought of this sentence as I was walking down the street in Palo Alto.
[2] 当我走在帕洛阿尔托的街道上时,我想到了这句话。

[3] There are two senses of talking to someone: a strict sense in which the conversation is verbal, and a more general sense in which it can take any form, including writing. In the limit case (e.g. Seneca's letters), conversation in the latter sense becomes essay writing.
[3] 与某人交谈有两种含义:严格的意义上,对话是口头的;更一般的意义上,对话可以采取任何形式,包括书面形式。在极限情况下(例如塞内卡的信件),后一种意义上的对话变成了论文写作。

It can be very useful to talk (in either sense) with other people as you're writing something. But a verbal conversation will never be more exacting than when you're talking about something you're writing.
当你在写东西的时候与其他人交谈(无论从哪种意义上)都是非常有用的。但口头交谈永远不会比谈论你正在写的东西时更严格。

万维钢的”正确的学习方法只有一种风格”提到了学习好的学习方法都是相似的,但是学习不好的同学各有各的学习方法。

  1. 对于一定的学习内容,你要在学习时间上安排一定的间隔,不要突击学习。其实就是人类的记忆曲线,强调隔一段时间再次复习。
  2. 不同场景、不同方式学习同一个知识。比如我自己学习机器学习,既看视频,又要自己动手操作一遍,还要整理记个笔记,甚至有时候还要联系到以前学到的东西。
  3. 经常参加测试,看自己是不是真正地掌握了相关的知识。
  4. 把新学到的知识和以前的知识联系起来。比如小朋友在学杜甫的古诗,我就让她和《长安三万里》里面的杜甫联系起来,再结合历史描述杜甫生活的时期唐朝由胜转衰进而表现出来的忧国忧民。再一对比李白,几乎处在唐朝盛世,那种心中充满希望、乐观的形象,和杜甫形成了鲜明的对比。

这些学习方法,没有什么新意,但却是最有用的。换句话,别整些没用的。