Yes, the brain is a computer…
是的,大腦是一台計算機......
No, it’s not a metaphor
不,這不是一個比喻
Neuroscience is a funny discipline which can demand a level of interdisciplinary knowledge that is hard to achieve. At its heart, neuroscience is concerned with understanding the organ that is responsible for generating our behaviour, and thus, it is a branch of physiology and psychology. At the same time, most neuroscientists will have heard, or even used, the words “calculate”, “algorithm”, and “computation” many times in their professional lives. I think there’s a good reason for this: the brain is a computer, and neuroscience is also branch of computer science, in my opinion. However, many neuroscientists do not see it that way.
神經科學是一門有趣的學科,它可能需要難以達到的跨學科知識水準。神經科學的核心是瞭解負責產生我們行為的器官,因此,它是生理學和心理學的一個分支。同時,大多數神經科學家在他們的職業生涯中都會多次聽到甚至使用過“計算”、“演算法”和“計算”這些詞。我認為這是有充分理由的:在我看來,大腦是一台計算機,而神經科學也是計算機科學的一個分支。然而,許多神經科學家並不這麼認為。
In online discussions I have often read the phrase “The Brain as a Computer Metaphor”. The implication of this phrase is clear: the brain is not a computer, and at best, we can use computers as a metaphor to understand the brain. (At worst, the “metaphor” does not hold and should be abandoned.) Similarly, I have heard neuroscientists say things like, “neural circuits don’t truly run algorithms”. Again, the conclusion is clear: the brain doesn’t run any algorithms in reality, so our constant use of the words “algorithm” and “computer” when talking about the brain is misguided.
在在線討論中,我經常讀到“大腦作為計算機的隱喻”這句話。這句話的含義很明確:大腦不是一台計算機,充其量,我們可以用計算機作為比喻來理解大腦。(在最壞的情況下,“隱喻”不成立,應該放棄。同樣,我聽到神經科學家說過這樣的話,「神經迴路並不真正運行演算法」。。同樣,結論很明確:大腦在現實中不運行任何演算法,因此我們在談論大腦時不斷使用“演算法”和“計算機”這兩個詞是錯誤的。
Unfortunately, what these discussions demonstrate is that many researchers do not, as a rule, actually understand the formal definitions of “computer” or “algorithm” as provided by computer science. (Or alternatively, if they do understand them, they don’t accept them for some reason.) If you understand the formal definitions of computer and algorithm as given by computer science, then you know that the brain is very clearly a computer running algorithms, almost trivially so.
不幸的是,這些討論表明,通常,許多研究人員實際上並不理解計算機科學提供的“計算機”或“演算法”的正式定義。(或者,如果他們確實理解它們,他們出於某種原因不接受它們。如果你理解計算機科學給出的計算機和演算法的正式定義,那麼你就會知道大腦顯然是一台運行演算法的計算機,這幾乎是微不足道的。
My goal in this article is to provide a brief, intuitive explanation for those formal definitions of “computer” and “algorithm”, one pitched at neuroscientists. My hope is that this will help neuroscientists to move away from these confused, misleading discussions about whether or not a computer (the brain) is actually a computer, because as others have noted, it most certainly is.
我在本文中的目標是為「計算機」和「演算法」的正式定義提供一個簡短、直觀的解釋,這些定義是針對神經科學家的。我希望這將幫助神經科學家擺脫這些關於計算機(大腦)是否真的是計算機的混亂、誤導性的討論,因為正如其他人所指出的,它肯定是。
I want to make clear that my goal here is not to engage with the much larger, more complicated discussions in cognitive science and philosophy of mind as to whether we can understand mentation using computational frameworks. I consider that to be a separate question regarding the nature of the mind, and there, the discussions get much more complicated. I personally think that computer science has a lot to contribute to neuroscience (indeed, as I said above, I consider neuroscience to be a branch of computer science), and I happen to think computational frameworks can explain mental activity, but that’s not my target here. Here, I seek only to articulate why, if we ignore questions regarding the nature of the mind, then according to first principles and formal definitions, the brain necessarily is a computer, and there really is no discussion to be had once you understand and accept the definitions.
我想明確指出,我在這裡的目標不是參與認知科學和心靈哲學中關於我們是否可以使用計算框架來理解心理的更大、更複雜的討論。我認為這是一個關於心的本質的單獨問題,在那裡,討論變得更加複雜。我個人認為計算機科學對神經科學有很大貢獻(事實上,正如我上面所說,我認為神經科學是計算機科學的一個分支),我碰巧認為計算框架可以解釋心理活動,但這不是我在這裡的目標。在這裡,我只是想闡明為什麼,如果我們忽略了關於心智本質的問題,那麼根據第一原則和正式定義,大腦必然是一台計算機,一旦你理解並接受了這些定義,就真的不需要進行討論了。
Defining an algorithm
定義演算法
Okay, what is an “algorithm” and what is a “computer”? The formal definitions for these words originate in the work of mathematicians in the early half of the 20th century. Back then, many mathematicians were concerned with some questions that David Hilbert had put forward in a very famous lecture he delivered in 1900 on 23 Mathematical Problems to be Solved in the Next Century.
好的,什麼是「演算法」,什麼是「計算機」?這些詞的正式定義起源於 20 世紀上半葉數學家的工作。當時,許多數學家都關心大衛·希爾伯特 (David Hilbert) 在 1900 年發表的一次非常著名的演講中提出的一些問題,題為“下個世紀要解決的 23 個數學問題”。
One of those problems, the “10th problem”, was concerned with determining whether a polynomial (e.g. 6x³yz⁴ + 4y²z + z - 9) had roots made up solely of integers (e.g. x = 5, y = -3, z = 0, etc.). Hilbert wanted mathematicians to develop an effective method, a “recipe”, for deciding whether this was the case for any arbitrary polynomial. Such a recipe is, colloquially, what we call an “algorithm”. That’s the intuitive definition of algorithm: an algorithm is a finite set of instructions that can be followed mechanically, with no insight required, in order to give some specific output (e.g. an answer to yes/no integer roots) for a specific input (e.g. a specific polynomial like 6x³yz⁴ + 4y²z + z — 9). To put this into context, what was desired at this point in history was a way to specify how any human being could sit down at a desk with a paper and pencil and work out the answer to something without having to actually generate any novel insight. So, for example, long division provides an algorithm for calculating the result of dividing one number by another — you can just sit there with a paper and pencil and follow the finite set of instructions like an automaton, and you will arrive at the correct result. Hilbert assumed there must be an algorithm for the particular task of polynomial integral roots, and the job for mathematicians was simply to find it.
其中一個問題,即“第 10 個問題”,涉及確定多項式(例如 6x³yz⁴ + 4y²z + z - 9)是否僅由整數組成根(例如 x = 5、y = -3、z = 0 等)。希爾伯特希望數學家開發一種有效的方法,一個「配方」,用於決定任何任意多項式是否屬於這種情況。這樣的配方,通俗地說,就是我們所說的 「演算法」。。這就是演算法的直觀定義:演算法是一組有限的指令,可以機械地遵循,不需要洞察力,以便為特定輸入(例如,像 6x³yz⁴ + 4y²z + z — 9 這樣的特定多項式)給出一些特定的輸出(例如,對是/否整數根的回答)。為了說明這一點,在歷史的這個時刻,人們想要的是一種方式,即任何人類如何能夠坐在桌子前,拿著紙和筆,找出某事的答案,而不必真正產生任何新的見解。因此,例如,長除法提供了一種演算法來計算一個數位除以另一個數字的結果——你可以拿著紙和筆坐在那裡,像自動機一樣按照有限的指令集進行操作,你會得到正確的結果。希爾伯特假設必須有一種演算法來處理多項式積分根的特定任務,而數學家的工作就是找到它。
As luck would have it, Hilbert had stumbled onto a very deep problem. Mathematicians took on his challenge, but they had a hard time coming up with a recipe. More and more, various mathematicians began to ask whether some problems in mathematics, including Hilbert’s “10th problem” were, in fact, not decidable, meaning there was no algorithm for solving them. Of course, mathematicians being mathematicians, they desired proofs that an algorithm didn’t exist for these problems. The issue was that with only an informal, intuitive definition of the word “algorithm”, proving that no algorithm existed for a given problem was basically impossible.
幸運的是,希爾伯特偶然發現了一個非常深的問題。數學家接受了他的挑戰,但他們很難想出一個配方。越來越多的數學家開始問,數學中的某些問題,包括希爾伯特的“第十問題”,是否實際上是不可判定的,這意味著沒有演算法來解決它們。當然,數學家就是數學家,他們希望證明這些問題不存在演算法。問題在於,如果對演演演算法「這個詞只有一個非正式的、直觀的定義,證明給定問題不存在演算法基本上是不可能的。
Given this, Alonzo Church and Alan Turing set about to develop a formal definition for algorithms. The two researchers worked independently, and came to different solutions, but their solutions turned out to be mathematically equivalent. Church invented lambda calculus, and defined an algorithm as anything that could be done with lambda calculus. Turing invented Turing machines, and defined an algorithm as anything that could be done with Turing machines. I will leave it to the reader to learn more about the specific definitions of lambda calculus and Turing machines, but it is important to understand that both are simply a mathematical tool. This is fairly obvious with lambda calculus, but often people get confused about Turing machines because of the word “machine” — confusingly, Turing machines are not machines. Indeed, the definition assumes some very unrealistic components (like an infinite tape). It is important to think of Turing machines as just a mathematical tool. I draw attention to this because I will return to it when we discuss the relationship between Turing machines and brains.
鑒於此,Alonzo Church 和 Alan Turing 著手為演算法制定正式定義。這兩位研究人員獨立工作,得出了不同的解決方案,但他們的解決方案在數學上是等價的。Church 發明瞭 lambda 演算,並將演算法定義為可以使用 lambda 演算完成的任何事情。圖靈發明瞭圖靈機,並將演算法定義為可以用圖靈機完成的任何事情。我將留給讀者更多地瞭解 lambda 演算和圖靈機的具體定義,但重要的是要瞭解兩者都只是一種數學工具。這在 lambda 演算中相當明顯,但人們經常因為“機器”這個詞而對圖靈機感到困惑——令人困惑的是,圖靈機不是機器。事實上,該定義假設了一些非常不切實際的元件(如無限磁帶)。將圖靈機僅僅視為一種數學工具是很重要的。我提請注意這一點,因為當我們討論圖靈機和大腦之間的關係時,我將回到它。
As mentioned, it turned out that Church and Turing’s definitions were equivalent, meaning that anything which you could do with lambda calculus you could do with a Turing machine. As time has gone on, empirical experience has suggested that any attempt to formalize the intuitive definition of algorithm will settle on something that is equivalent to Turing machines. Therefore, most computer scientists today accept something known as the Church-Turing thesis:
如前所述,事實證明,丘奇和圖靈的定義是等效的,這意味著你可以用 lambda 演算做的任何事情都可以用圖靈機做。隨著時間的推移,實證經驗表明,任何將演算法的直觀定義形式化的嘗試都將取決於等同於圖靈機的東西。因此,今天大多數計算機科學家都接受了所謂的 Church-Turing 論文:
The Church-Turing thesis:
丘奇-圖靈論文:Any algorithm can be implemented by a Turing machine.
任何演算法都可以由圖靈機實現。
It should be recognized that this statement can actually be viewed as either a definition, or a hypothesis. If we view it as a hypothesis, then the Church-Turing thesis hypothesizes that any problem we have a means of solving using only a finite set of instructions and no insight, will turn out to be implementable by a Turing machine, i.e. it hypothesizes that our intuitive definition is covered by Turing’s definition (see e.g. page 183 here). That leaves open the possibility that someday the Church-Turing thesis will be violated. However, Church and Turing were seeking to formalize the concept of “algorithm”. Moreover, the Church-Turing thesis is generally taken as a given by researchers, so when people seek a proof that there is no algorithm for some function, they sometimes do so by proving that you can’t do it with a Turing machine. Therefore, it is safe to say that it has become a definition in computer science, meaning that the formal definition of algorithm is given by the Church-Turing thesis:
應該認識到,這句話實際上可以被視為一個定義或假設。如果我們把它看作一個假設,那麼丘奇-圖靈論文假設,任何我們只要用有限的指令集而沒有洞察力就能解決的問題,都會被證明是圖靈機可以實現的,也就是說,它假設我們的直覺定義被圖靈的定義所覆蓋(參見此處的第 183 頁)。這留下了有一天丘奇-圖靈論點被違反的可能性。然而,Church 和 Turing 正在尋求將「演算法」的概念正式化。此外,研究人員通常認為丘奇-圖靈論文是給定的,因此當人們尋求證明某些功能沒有演算法時,他們有時會通過證明你不能用圖靈機來實現。因此,可以肯定地說,它已經成為計算機科學中的一個定義,這意味著演算法的正式定義是由 Church-Turing 論文給出的:
The Church-Turing thesis (as definition):
丘奇-圖靈論文(作為定義):An algorithm is anything that a Turing machine can do.
演算法是圖靈機可以做的任何事情。
With the definition of algorithm in hand, we can now define “computable functions” and “computer”. A “computable function” is defined as any task that can be solved using an algorithm. A “computer” is then defined as any physical machinery that can solve computable functions via algorithms. If we think back to the use of the word “computer” at this point in history, this makes sense. “Computers” at this time were people whose job was to sit down with pencil and paper and use an algorithm to solve computable functions (e.g. to integrate some equation). Clearly, these people were computers according to this definition, because they were providing solutions to computable functions via algorithms.
有了演算法的定義,我們現在可以定義 「可計算函數」 和 「計算機」。“可計算函數”被定義為可以使用演演算法解決的任何任務。然後,「計算機」被定義為可以通過演算法解決可計算函數的任何物理機器。如果我們回想一下「計算機」這個詞在歷史上的這個時刻的使用,這是有道理的。此時的「計算機」是指他們的工作是坐下來拿著鉛筆和紙,使用演算法來解決可計算函數(例如,積分某個方程)。顯然,根據這個定義,這些人是計算機,因為他們通過演算法為可計算函數提供解決方案。
Importantly, there are many processes that consist of a finite set of instructions, but not discrete, step-by-step instructions, and which can still be done with a Turing machine. This is where things get confusing. Consider, for example, an analog audio system. Many people mistakenly think that Turing machines cannot implement analog functions because they are not defined by a discrete set of step-by-step values. But remember, Turing machines are not machines. They’re abstract mathematical constructs that can operate with infinite memory and no time restrictions (any finite amount of time counts, no matter how large). As such, an analog system can be implemented by a Turing machine to any desired level of precision. That’s why we consider all of the functions that audio systems perform to be computable functions (and why we can simulate them well). Of course, it must be recognized that if we require infinite precision for an analog function, then it isn’t computable, but that is rarely a situation we are faced with practically.
重要的是,有許多過程由一組有限的指令組成,但不是離散的分步指令,並且仍然可以使用圖靈機完成。這就是事情變得混亂的地方。例如,考慮一個類比音訊系統。許多人錯誤地認為圖靈機無法實現類比函數,因為它們不是由一組離散的逐步值定義的。但請記住,圖靈機不是機器。它們是抽象的數學結構,可以在無限記憶體下運行,並且沒有時間限制(任何有限的時間量都很重要,無論多大)。因此,類比系統可以通過圖靈機實現任何所需的精度級別。這就是為什麼我們將音訊系統執行的所有功能都視為可計算函數(以及為什麼我們可以很好地模擬它們)。當然,必須認識到,如果我們需要類比函數的無限精度,那麼它就不可計算,但這是我們實際面臨的情況。
Indeed, any procedure for solving a computable function can be implemented by a Turing machine, by definition, no matter the specific mechanism involved. Part of the reason a lot of confusion sets in, even amongst really smart people, is that when you study Turing machines and computable functions in school as a computer science student, the concern is rarely with analog, or stochastic, or distributed processes. Example after example are deterministic step-by-step algorithms that are easy to teach with. That’s good for learning the basics, but it leads many people to mistakenly think that any system which isn’t clearly a step-by-step, discrete system can’t be running algorithms, and that’s simply not true.
事實上,根據定義,任何求解可計算函數的過程都可以由圖靈機實現,無論涉及的具體機制如何。即使在真正聰明的人中,也會出現很多困惑的部分原因是,當你作為計算機科學學生在學校學習圖靈機和可計算函數時,很少關注類比、隨機或分散式過程。一個接一個的示例是易於示教的確定性分步演算法。這對學習基礎知識有好處,但它導致許多人錯誤地認為,任何不是明顯是分步、離散系統的系統都不能運行演算法,這根本不是真的。
That’s not to say that Turing machines can do everything. For example, it has been proven mathematically that there are some problems that Turing machines can’t do, like Hilbert’s 10th problem. But the reason a Turing machine cannot do some things is not because those things are analog, or stochastic, or distributed, etc. It’s because there are certain limits to mechanical, axiomatic methods — some questions simply have no concrete answer within mathematics as we know it.
這並不是說圖靈機可以做所有事情。例如,數學已經證明,有些問題是圖靈機做不到的,比如希爾伯特的第十道題。但是圖靈機不能做某些事情的原因並不是因為這些事情是類比的、隨機的、分散式的等。這是因為機械的、公理化的方法有一定的局限性——有些問題在我們所知道的數學中根本沒有具體的答案。
To summarize the formal definitions:
總結一下正式定義:
(1) an algorithm is anything a Turing machine can do,
(1) 演算法是圖靈機可以做的任何事情,
(2) computable functions are defined as those functions that we have algorithms for,
(2) 可計算函數被定義為我們擁有演算法的那些函數,
(3) a computer is anything which physically implements algorithms in order to solve computable functions.
(3) 計算機是任何物理實現演算法以解決可計算函數的東西。
Is everything a computer?
一切都是計算機嗎?
Given these definitions, is the brain a computer? Most certainly, because our brains implement various algorithms to solve computable functions, ranging from the obviously computable (you can mentally sort a list, pick which of two numbers is larger, multiply two numbers, etc.) to the less obviously, but still, computable (you can run, talk, play music, etc.). However, a big issue with this approach, and more broadly with the definitions provided above, is that they can be applied to almost anything. For example, the macroscopic laws of physics are computable functions (e.g. a parabolic path is computable). Therefore, technically, every object in the universe, every planet, every rock, every feather, every snowflake, every grain of sand, etc., can be viewed as a computer, implementing algorithms to solve the functions that describe that object’s evolution through time. That would appear to render the definitions above so broad as to be useless.
根據這些定義,大腦是計算機嗎?最肯定的是,因為我們的大腦會實現各種演算法來解決可計算函數,從明顯可計算的(你可以在腦海中對清單進行排序,選擇兩個數位中哪個更大,乘以兩個數位等)到不太明顯但仍然是可計算的(你可以跑步、說話、播放音樂等)。但是,這種方法的一個大問題,更廣泛地說,上面提供的定義是,它們幾乎可以應用於任何事物。例如,物理學的巨集觀定律是可計算函數(例如,拋物線路徑是可計算的)。因此,從技術上講,宇宙中的每一個物體、每顆行星、每塊岩石、每一根羽毛、每一片雪花、每一粒沙子等,都可以被看作是一台計算機,通過實施演算法來解決描述該物體隨時間演變的函數。這似乎使上述定義變得如此寬泛,以至於毫無用處。
In my opinion (and as a subscriber to Wittgenstein’s later philosophies), the way to contend with this problem is to examine our usage of the word “computer”. What do we usually use this word for, and how do computer scientists use this word? Can we generate some mapping between the two that renders our usage non-trivial? Obviously, we are all comfortable with calling the machines we now carry in our pockets and keep on our desks “computers”. That’s how we usually use the word, e.g. when we get a new laptop we say “I just bought a new computer”, rather than, “I just bought a new Von Neumann architecture programmable machine” (which is a reasonable description of what they are). And it’s not just the average person: computer scientists also use the word “computer” to refer to these machines. So, what is it about these machines that makes this usage less trivial than, say, calling every grain of sand a “computer”? Is this usage actually grounded in a scientific, formal language game, or is it just a funny quirk of our everyday, non-scientific language games?
在我看來(以及作為維特根斯坦後來哲學的訂閱者),解決這個問題的方法是檢查我們對“計算機”一詞的用法。我們通常使用這個詞來做什麼,計算機科學家如何使用這個詞?我們能否在兩者之間生成一些映射,使我們的使用變得非同尋常?顯然,我們都習慣於將現在放在口袋裡和辦公桌上的機器稱為“計算機”。這就是我們通常使用這個詞的方式,例如,當我們買到一台新筆記型電腦時,我們會說“我剛剛買了一台新電腦”,而不是“我剛剛買了一台新的馮·諾依曼架構可程式設計機器”(這是對它們是什麼的合理描述)。不僅僅是普通人:計算機科學家也使用「計算機」一詞來指代這些機器。那麼,這些機器的哪些方面使這種用法比將每一粒沙子稱為「計算機」更微不足道呢?這種用法實際上是基於科學的、正式的語言遊戲,還是只是我們日常非科學語言遊戲的一個有趣的怪癖?
There are very good, formal reasons to use the word “computer” when referring to our laptops and phones. One of the things that Turing proved was that some Turing machines could be used to implement any other Turing machine. These are called universal Turing machines. Now, remember, Turing machines are not actually machines, they’re a formalism, a mathematical tool. A universal Turing machine is a mathematical tool that can be used to perform the functions of any other mathematical tool that is also a Turing machine. Moreover, a mathematical tool that can be proven to be capable of implementing any algorithm is called “Turing complete”. For example, the programming languages familiar to us all (C++, Python, etc.) are Turing complete, because it can be proven that any algorithm can be programmed with these languages.
在提到我們的筆記型電腦和手機時,使用“計算機”這個詞有很好的正式理由。圖靈證明的一件事是,一些圖靈機可以用於實現任何其他圖靈機。這些被稱為通用圖靈機。現在,請記住,圖靈機實際上不是機器,它們是一種形式主義,一種數學工具。通用圖靈機是一種數學工具,可用於執行任何其他數學工具(也是圖靈機)的功能。此外,一種可以證明能夠實現任何演算法的數學工具稱為「圖靈完備」。例如,我們大家都熟悉的程式設計語言(C++、Python 等)。是圖靈完備的,因為可以證明任何演算法都可以用這些語言進行程式設計。
Given this, we can see why the machines we apply the word “computer” to deserve their name. These machines provide a physical substrate for running algorithms using Turing complete programming languages. This means that, with the right programming, they can solve any computable function for us. (Note: this does not provide a practical guarantee, e.g. it may take billions or trillions of years for any given function to run in any given language. The question of practical computation is addressed by computational complexity theory.) As such, these machines that are now ubiquitous in our lives are a much more powerful form of computer than a stone or a snowflake, which are limited to computing only the functions of physics that apply to their movement. Your laptop is an “uber-computer”, as it were, and therefore, arguably deserves the title “computer” much more than any other object in your house (except maybe you).
鑒於此,我們就可以理解為什麼我們使用“計算機”一詞的機器配得上它們的名字。這些機器為使用 Turing 完備程式設計語言運行演算法提供了物理基礎。這意味著,通過正確的程式設計,他們可以為我們解決任何可計算函數。(注意:這並不能提供實際的保證,例如,任何給定的函數可能需要數十億年或數萬億年才能在任何給定的語言中運行。實際計算的問題由計算複雜性理論解決。因此,這些現在在我們生活中無處不在的機器是一種比石頭或雪花更強大的計算機形式,它們僅限於計算適用於其運動的物理功能。您的筆記型電腦可以說是一台「超級計算機」 因此,可以說比您家中的任何其他物品(也許除了您)更值得「計算機」的稱號。
What about brains then? 那麼大腦呢?
What does all this business about Turing completeness have to do with brains? As many people have noted, the internal workings of brains are nothing like the internal workings of the Von Neumann architecture machines that we usually call computers. So, surely brains aren’t computers, right? Well, no, brains are also “uber-computers”, they just work in a different manner.
所有這些關於圖靈完備性的事情與大腦有什麼關係?正如許多人所指出的,大腦的內部運作與我們通常稱為計算機的馮·諾依曼架構機器的內部運作完全不同。所以,大腦肯定不是計算機,對吧?嗯,不,大腦也是“超級計算機”,它們只是以不同的方式工作。
First, we can consider the anecdotal evidence. Consider all the functions that an adult human with sufficient education is capable of implementing. It’s a pretty big list! In fact, with no more than a pencil and piece of paper, any human is arguably capable of running any program that has been programmed in a language like Python. Even without a pencil and paper, you can implement a huge swathe of functions that well outstrips the functions that a stone, a chair or a thermometer, say, can implement.
首先,我們可以考慮軼事證據。考慮一下受過足夠教育的成年人能夠實現的所有功能。這是一個相當大的清單!事實上,只需一支鉛筆和一張紙,任何人都可以說能夠運行任何用 Python 等語言程式設計的程式。即使沒有鉛筆和紙,您也可以實現大量的功能,這些功能遠遠超過了石頭、椅子或溫度計等所能實現的功能。
Second, we can consider the formal evidence. Computer scientists have demonstrated that multilayer and recurrent artificial neural networks are Turing complete, meaning you can implement any algorithm with them. That’s one of the reasons why we can do all sorts of impressive stuff with neural networks! This doesn’t mean that any given neural network can compute any function, though. Rather, it means that for any given function there exists a neural network that can compute it.
其次,我們可以考慮正式的證據。計算機科學家已經證明,多層和遞歸人工神經網路是圖靈完備的,這意味著您可以使用它們實現任何演算法。這就是我們可以使用神經網路做各種令人印象深刻的事情的原因之一!不過,這並不意味著任何給定的神經網路都可以計算任何函數。相反,這意味著對於任何給定的函數,都存在一個可以計算它的神經網路。
Put another way, we can think of neural networks as a sort of programming language: the synaptic connections in a neural network define the functions that they implement, so the set of all possible neural network architectures is effectively a programming language, and this language is Turing complete. Although there are many differences between artificial neural networks and brains, arguably those differences only render real brains more computationally powerful than artificial neural networks. This means that when we consider the set of all possible brains, then for any given computable function, there is probably a hypothetical brain that can solve it. Thus, the “language of brains”, as it were, is probably Turing complete.
換句話說,我們可以將神經網路視為一種程式設計語言:神經網路中的突觸連接定義了它們實現的功能,因此所有可能的神經網路架構的集合實際上是一種程式設計語言,而這種語言是圖靈完備的。儘管人工神經網路和大腦之間存在許多差異,但可以說這些差異只會使真實大腦的計算能力比人工神經網路更強大。這意味著,當我們考慮所有可能的大腦集合時,對於任何給定的可計算函數,都可能有一個假設的大腦可以解決它。因此,“大腦的語言”可能是圖靈完備的。
Moreover, we can make some stronger statements about individual animals, including of course, humans. Our brains have roughly 10¹⁴ synapses, and there is a surprising amount of flexibility in how those synapses are set. This means that we can implement many, many different functions. Is any individual human Turing complete, then, i.e. can we implement the entire set of computable functions? Probably, if we were immortal, but practically, no. However, the same caveat applies to our laptops and phones. The languages they can be programmed with are Turing complete, but like us, they would require immortality to guarantee that they could implement any computable function. Thus, the set of functions that we can implement as humans is not radically different in scope than the set of functions that our trusty old Von Neumann architecture machines can implement.
此外,我們可以對個體動物做出一些更有力的聲明,當然也包括人類。我們的大腦大約有 10¹⁴ 個突觸,而且這些突觸的設置方式具有驚人的靈活性。這意味著我們可以實現很多很多不同的功能。那麼,任何個體人類圖靈都是完備的,也就是說,我們能否實現整套可計算函數呢?也許,如果我們是不朽的,但實際上,不是。但是,同樣的警告也適用於我們的筆記型電腦和手機。他們可以用來程式設計的語言是圖靈完備的,但和我們一樣,它們需要不朽來保證它們可以實現任何可計算的函數。因此,我們作為人類可以實現的功能集與我們值得信賴的老式馮·諾依曼架構機器可以實現的功能集在範圍上並沒有根本的不同。
Of course, not all animals are as flexible as humans. I worked for many years with the toad species Xenopus laevis, and I can tell you, they’re much more limited in their behavioural repertoire than humans. Nonetheless, they can still do a hell of a lot more than a stone. Any animal can, thanks to their brains. Rodents can replicate spatial probability distributions in their searches and optimize their strategies in oppositional games. C. elegans implement a Markov model in their search behaviour. Because these functions are computable (e.g. solvable with a Turing machine) we can say these animals are running algorithms.
當然,並非所有動物都像人類一樣靈活。我與蟾蜍物種非洲爪蟾(Xenopus laevis)一起工作了很多年,我可以告訴你,它們的行為能力比人類要有限得多。儘管如此,他們仍然可以做的不僅僅是一塊石頭。多虧了它們的大腦,任何動物都可以。啮齒動物可以在搜索中複製空間概率分佈,並在對立遊戲中優化策略。秀麗隱桿線蟲在它們的搜索行為中實現了瑪律可夫模型。因為這些函數是可計算的(例如,可以用圖靈機求解),所以我們可以說這些動物正在運行演算法。
For example, one of the most appropriate uses of the word “algorithm” in recent neuroscience work came from Ortezia et al. They demonstrated that zebrafish embryos use the following recipe for rheotaxis:
例如,在最近的神經科學工作中,“演算法”一詞最恰當的用法之一來自 Ortezia 等人。他們證明斑馬魚胚胎使用以下配方進行流變性:
- Determine the change in the gradient of water flow.
確定水流梯度的變化。 - If the gradient decreases, swim straight.
如果坡度減小,則直線遊動。 - If the gradient increases, turn in the direction of flow field rotation.
如果梯度增加,則沿流場旋轉方向轉動。
That’s an algorithm, both intuitively and formally. It’s a finite set of instructions to solve a given function, and it can be implemented with a Turing machine. Of course, the zebrafish probably isn’t engaged in a step-by-step program that looks anything like a computer program on your laptop. It must be using analog sensors, an array of neurons with fluctuating voltages, stochastic transmitter release, etc. Nonetheless, Ortezia et al. are right, the zebrafish is using an algorithm to solve this ecologically relevant problem. That makes the zebrafish embryo’s nervous system a computer.
這是一種演算法,無論是直觀上還是形式上。它是一組用於解決給定函數的有限指令,可以用圖靈機實現。當然,斑馬魚可能沒有參與看起來一點像筆記型電腦上的計算機程式的分步程式。它必須使用模擬感測器、電壓波動的神經元陣列、隨機發射器釋放等。儘管如此,Ortezia 等人是對的,斑馬魚正在使用一種演算法來解決這個與生態相關的問題。這使得斑馬魚胚胎的神經系統成為一台電腦。
Hence, when we consider both the formal definitions and the common usage of the word “computer”, it is perfectly reasonable to say that the brain is a computer. Any brain is a sophisticated device capable of implementing a very large set of algorithms to solve many different computable functions. It should be noted that where we draw the line is unclear, e.g. is a single cell a computer? What about DNA? Both can implement more functions than a rock. We have to accept that there is a subjective decision to be made in these borderline cases. The definitions do not say how many algorithms a machine needs to implement to be a computer. But, given that the set of neural networks is Turing complete (and therefore also probably the set of possible brains), it is pretty clear that brains deserve the title “computer”. Therefore, the brain is a computer.
因此,當我們考慮「計算機」一詞的正式定義和常見用法時,完全可以合理地說大腦是一台計算機。Any brain 是一種複雜的設備,能夠實現大量演算法來解決許多不同的可計算函數。應該注意的是,我們在哪裡劃線並不清楚,例如,單個單元是計算機嗎?DNA 呢?兩者都可以實現比岩石更多的功能。我們必須接受,在這些邊緣情況下需要做出主觀決定。這些定義沒有說明機器需要實現多少演算法才能成為計算機。但是,鑒於神經網路的集合是圖靈完備的(因此也可能是可能的大腦集合),很明顯,大腦配得上“計算機”的稱號。因此,大腦是一台計算機。
It’s not a metaphor, it’s not an analogy, it’s a fact.
這不是一個隱喻,也不是一個類比,而是一個事實。
Objections to the “brain is a computer” argument
對「大腦是一台計算機」論點的反對意見
When I’ve advanced this argument in public, I’ve encountered a number of objections, some very strong and worth considering, others indicating a basic misunderstanding of the logic. I’ll try to briefly contend with the common objections I’ve encountered here, moving from objections founded on misunderstanding to valid objections that need to be contended with:
當我在公開場合提出這個論點時,我遇到了許多反對意見,其中一些非常強烈且值得考慮,而另一些則表明對邏輯的基本誤解。我將嘗試簡要地論述我在這裡遇到的常見反對意見,從基於誤解的反對意見轉變為需要應對的有效反對意見:
Objection 1. Brains are nothing like Turing machines (or laptops), therefore they’re not computers
反對意見 1.大腦與圖靈機(或筆記型電腦)完全不同,因此它們不是計算機
This objection is borne of a misunderstanding of the definitions above. Nothing in the definition of “algorithm”, “computable function”, or “computer” states that computers must be like Turing machines or Von Neumann architecture machines. A computer need not operate with binary codes, it doesn’t need to use discrete-time processes, it doesn’t need registers or memory banks, or step-by-step instructions — it doesn’t need to be remotely like our laptops of phones for the definitions to apply.
這種反對意見源於對上述定義的誤解。“演算法”、“可計算函數”或“計算機”的定義中沒有任何內容規定計算機必須像圖靈機或馮·諾依曼架構機器一樣。計算機不需要使用二進位代碼進行操作,不需要使用離散時間進程,不需要寄存器或記憶體庫,也不需要分步說明——它不需要像我們的手機筆記型電腦那樣遠端應用定義。
The definitions simply say that algorithms are things that you can do with a Turing machine, and computers are things that run algorithms. Importantly, those definitions do not state any practical limits on how a Turing machine could do it. So, for example, if you have an algorithm that uses analog, continuous processes (like the zebrafish algorithm for swimming upstream probably does), then the Turing machine corresponding to it will have to run for potentially very long in order to approximate that analog process to sufficient precision. But, Turing machines aren’t real machines! They’re mathematical constructs, so there’s no problem with this. Nothing in the definition of “algorithm” says that it must be economical to implement an algorithm with a Turing machine. As long as you are solving computable functions, you’ve got yourself a computer running algorithms. Thus, it doesn’t matter that the brain is nothing like a Turing machine (nothing is, really) or nothing like your laptop. Yes, the brain is a jumble of cells using voltages, neurotransmitters, distributed representations, etc. Yes, it has no programmer, and yes it is shaped by evolution and life experience. None of that matters. As long as we don’t require infinite precision in our description of neural processes (and I see no reason to think we would), then the brain is a computer running algorithms, according to the definitions provided by the Church-Turing thesis.
這些定義只是說演算法是你可以用圖靈機做的事情,而計算機是運行演算法的東西。重要的是,這些定義並沒有對圖靈機如何做到這一點提出任何實際限制。因此,例如,如果你有一個使用類比連續過程的演算法(就像逆流而上的斑馬魚演算法可能就是這樣),那麼與它對應的圖靈機將不得不運行很長時間,才能將模擬過程近似到足夠的精度。但是,圖靈機不是真正的機器!它們是數學結構,所以這沒有問題。演演演算法“的定義中沒有說用圖靈機實現演算法必須是經濟的。只要你在解決可計算函數,你就有一台運行演算法的計算機。因此,大腦與圖靈機完全不同(實際上什麼都不是)或與你的筆記型電腦完全不同,這並不重要。是的,大腦是一堆使用電壓、神經遞質、分散式表示等的細胞。是的,它沒有程式師,是的,它是由進化和生活經驗塑造的。這些都不重要。只要我們在描述神經過程時不要求無限精確(我認為沒有理由認為我們會這樣做),那麼根據丘奇-圖靈論文提供的定義,大腦就是一台運行演算法的計算機。
Objection 2. Just because you can simulate the brain with a Turing machine doesn’t make the brain a computer
反對意見 2.僅僅因為你可以用圖靈機類比大腦,並不能使大腦成為計算機
This objection is related to the first objection, in that it stems from a failure to understand the definitions and the role of Turing machines in those definitions. The thrust of this objection is that even though we can run a Turing machine for as long as we want in order to implement analog processes, we’re really just simulating those processes with a Turing machine, so we cannot say that they count as something a Turing machine can do. Thus, Turing machine can’t actually do what brains do, so brains aren’t running algorithms.
這個反對意見與第一個反對意見有關,因為它源於未能理解圖靈機的定義和在這些定義中的作用。這個反對意見的要點是,即使我們可以運行圖靈機,以實現模擬過程,但我們實際上只是用圖靈機類比這些過程,所以我們不能說它們算作圖靈機可以做的事情。因此,圖靈機實際上無法完成大腦所做的事情,因此大腦不運行演算法。
At the risk of sounding like a broken record, the point that must be returned to here is that Turing machines are not machines. We don’t simulate anything with Turing machines, just as we don’t “simulate” things with lambda calculus. We use Turing machines to mathematically determine whether a particular process counts as an algorithm or not. Therefore, if we can demonstrate mathematically that a given analog process can be implemented by a Turing machine to any arbitrary degree of precision, then we have demonstrated that we have an algorithm. Yes, we simulate many things, including brains, with our Von Neumann machines. But, Von Neumann machines are not Turing machines. It’s important to remember this, because many people fall into the trap of thinking that computers are defined as Turing machines, when they most certainly are not. No physical object is a Turing machine, just as no physical object is an algebra.
冒著聽起來像破唱片的風險,這裏必須回到一點是圖靈機不是機器。我們不會用圖靈機類比任何東西,就像我們不用 lambda 演算 “類比” 事物一樣。我們使用圖靈機從數學上確定特定過程是否算作演算法。因此,如果我們能用數學證明一個給定的模擬過程可以由圖靈機以任意精度實現,那麼我們就證明瞭我們有一個演算法。是的,我們用馮·諾依曼機器類比了很多東西,包括大腦。但是,馮·諾依曼機不是圖靈機。記住這一點很重要,因為許多人陷入了認為計算機被定義為圖靈機的陷阱,而實際上它們肯定不是。沒有物理對像是圖靈機,就像沒有物理對像是代數一樣。
Objection 3. Computers cannot explain the mind, therefore the brain is not a computer
反對意見 3.計算機無法解釋心智,因此大腦不是計算機
This one is tough because it is a thorny philosophical argument, and how one reacts to it depends on one’s philosophical stances. Many philosophers have argued that purely mechanical accounts of the brain cannot account for the mind, and given that the definition of computer provided above is very much mechanical, it is true that if the mind cannot be accounted for by purely mechanical means, then there must be something missing when I say “the brain is a computer”.
這個問題很難,因為它是一個棘手的哲學論點,一個人如何回應它取決於一個人的哲學立場。許多哲學家認為,大腦的純機械解釋無法解釋心智,鑒於上面提供的計算機的定義在很大程度上是機械的,那麼如果我說“大腦是一台計算機”時,一定缺少一些東西。
Ultimately, as I noted in the introduction, I do not have time to contend with the long debates on this issue in philosophy of mind and cognitive science here. All I will say, is that I personally find all of the philosophical objections to the idea that the mind can arise from mechanical processes unconvincing. Whether it’s Searle’s Chinese Room Argument, Chalmer’s zombies, or Jackson’s Mary the Scientist, I’ve never been persuaded that there’s anything really worthy of serious consideration for neuroscientists in these thought experiments. I’m much more convinced by the works of philosophers like Daniel Dennett and Patricia Churchland, who seem much more clear-eyed and logical to me. But hey, that’s my perspective. If someone rejects the idea that the mind can be reduced to physical mechanism, then I recognize that my arguments above are unconvincing. But, anyone who is comfortable with reductionism, and who understands the definitions above, should also recognize that the brain is a computer by definition.
歸根結底,正如我在引言中指出的那樣,我沒有時間在這裡應對心智哲學和認知科學中關於這個問題的長期辯論。我只想說,我個人認為所有對心智可以從機械過程產生的觀點的哲學反對意見都沒有說服力。無論是 Searle 的《中國房間爭論》、Chalmer 的《殭屍》還是 Jackson 的《Mary the Scientist》,我從來沒有被說服過,在這些思想實驗中,有什麼真正值得神經科學家認真考慮的。我對丹尼爾·丹尼特 (Daniel Dennett) 和派翠夏·丘奇蘭 (Patricia Churchland) 等哲學家的著作更加信服,在我看來,他們似乎更加清晰和合乎邏輯。但是,嘿,這就是我的觀點。如果有人拒絕心智可以簡化為物理機制的觀點,那麼我承認我上面的論點沒有說服力。但是,任何對還原論感到滿意並理解上述定義的人也應該認識到,根據定義,大腦是一台計算機。
Objection 4. Brains can implement non-computable functions, therefore the brain is not a computer
反對意見 4.大腦可以實現不可計算的功能,因此大腦不是計算機
This is a very interesting argument that has been advanced by various people. The physicist Roger Penrose has claimed that humans have various insights and behaviours that require non-Turing computation and quantum effects for explanation. Like Dennett, I consider Penrose’s claims questionable. It’s not clear from scientific evidence that human behaviour requires any radical rethinking of computation or physiology.
這是一個非常有趣的論點,已經被不同的人提出了。物理學家羅傑·彭羅斯 (Roger Penrose) 聲稱,人類有各種見解和行為,需要非圖靈計算和量子效應來解釋。和丹尼特一樣,我認為彭羅斯的說法值得懷疑。從科學證據中尚不清楚人類行為是否需要對計算或生理學進行任何徹底的重新思考。
But, there are other more serious attempts in this vein. Notably, Hava Siegelmann, who provided one of the proofs that recurrent neural networks are Turing complete, also published an article in Science in which she argued that recurrent neural networks can, in fact, be super Turing. This means that they can solve the set of computable functions (as defined by Turing machines) and more, i.e. they can implement algorithms that Turing machines cannot. It’s a very interesting result. I will admit that I find Siegelmann’s proof in that paper hard to understand, so I prefer to remain agnostic as to whether this is an accepted fact. (I will note though, that if Sigelmann’s proof is valid, it calls for a revision of the Church Turing thesis, so I wonder why computer science has not apparently taken this leap.)
但是,在這方面還有其他更嚴重的嘗試。值得注意的是,提供遞迴神經網路是圖靈完備的證據之一的 Hava Siegelmann 還在《科學》雜誌上發表了一篇文章,她在文章中認為遞歸神經網路實際上可以是超級圖靈。這意味著他們可以解決可計算函數集(由圖靈機定義)等等,即他們可以實現圖靈機無法實現的演算法。這是一個非常有趣的結果。我承認我發現 Siegelmann 在那篇論文中的證明很難理解,所以我寧願保持不可知論,不知道這是否是一個公認的事實。(不過我要指出的是,如果 Sigelmann 的證明是有效的,它需要修改丘奇圖靈論文,所以我想知道為什麼計算機科學顯然沒有邁出這一步。
But, for argument’s sake, let’s say that Siegelmann’s proof is correct, and that recurrent neural networks are super Turing. That would suggest that brains are also super Turing. If the space of possible brains is super Turing, then someone, someday, could engage in computations that no laptop could ever do. In that case, arguably, the brain is not just a computer, it’s a super computer. This would only make my case that the brain is a computer stronger.
但是,為了爭論起見,我們假設 Siegelmann 的證明是正確的,並且遞迴神經網路是超級圖靈的。這表明大腦也是超級圖靈的。如果可能的大腦空間是超級圖靈,那麼總有一天,有人可以從事筆記型電腦永遠無法完成的計算。在這種情況下,可以說,大腦不僅僅是一台計算機,而且是一台超級計算機。這隻會使我的觀點證明大腦是一台更強大的計算機。
Objection 5. The brain has many constraints placed on it by evolution that would prevent it from being Turing complete
反對意見 5.大腦在進化中受到許多限制,這些限制會阻止它成為圖靈完備的
This objection raises some important points. Certainly, we know that evolution can take odd paths to get to certain physiological functions, and brains are likely no exception. Moreover, brains face major energy constraints, both spatial and temporal, and memory capabilities limited by the size of our mnemonic networks. Thus, the chances that the entire set of computable functions could be implemented by any real brain are zero.
這個反對意見提出了一些重要的觀點。當然,我們知道進化可以採取奇怪的途徑來獲得某些生理功能,大腦可能也不例外。此外,大腦面臨著空間和時間上的主要能量限制,以及受助記網路大小限制的記憶能力。因此,任何真正的大腦都可以實現整套可計算函數的機會為零。
All of this is true, but it fails to recognize that many of the same things could be said about our trusty Von Neumann machines. Though we seem to have little concern for our energy usage as a species, the reality is that we cannot devote infinite energy to our digital computers. Moreover, although the cloud is growing rapidly, we still don’t have infinite memory capabilities (at least, not us mere mortals who don’t run big tech companies). As such, your laptop also has many functions that it cannot calculate for you given reasonable energy and memory constraints. That doesn’t stop you from calling your laptop a “computer”, because it is still an incredibly powerful machine for solving computable functions with algorithms, just like our brains.
所有這些都是正確的,但它沒有認識到,對於我們值得信賴的 Von Neumann 機器,可以說很多同樣的事情。儘管我們似乎不太關心我們作為一個物種的能源使用方式,但現實是我們無法將無限的能量投入到我們的數字計算機上。此外,儘管雲正在迅速增長,但我們仍然沒有無限的記憶體能力(至少,不是我們這些不經營大型科技公司的凡人)。因此,您的筆記型電腦還具有許多功能,在合理的能源和記憶體限制下,它無法為您計算。這並不能阻止您將筆記型電腦稱為“計算機”,因為它仍然是一台非常強大的機器,可以用演算法解決可計算函數,就像我們的大腦一樣。
Of course, the energetic and evolutionary constraints that impinge on brains are very different from the constraints on our Von Neumann machines, and that is also important. As we compile the principles of neural computation in the coming century, some of those principles will surely have to do with the unique constraints that brains face. But, that doesn’t render brains non-computers, it makes them a special kind of computer, one shaped by evolution.
當然,影響大腦的能量和進化約束與我們的馮·諾依曼機器的約束非常不同,這一點也很重要。當我們在下個世紀彙編神經計算的原理時,其中一些原理肯定會與大腦面臨的獨特限制有關。但是,這並沒有使大腦成為非計算機,而是使它們成為一種特殊的計算機,一種由進化塑造的計算機。
Objection 6. These definitions are useless and potentially misleading
反對意見 6.這些定義毫無用處,並且可能具有誤導性
This objection is potentially valid. As I noted, the technical definitions of “computer” and “algorithm” are so abstract that they can be applied to everything in the universe. As I argued above, I think it’s reasonable to restrict their usage to machines, like the brain, that not only solve the functions of physics, but a much larger array of computable functions, potentially even all of them (assuming the space of possible brains is Turing complete). But, what do we achieve by applying the words “computer” and “algorithm” to the brain? How does that help us to understand the brain, given that the formal definitions are mechanism agnostic? If many people do not know these formal definitions, and they think that “computers” are Von Neumann architecture machines and “algorithms” are discrete step-by-step instructions for Von Neumann architecture machines, then we run the risk of grossly misleading these people when we use these words in relation to the brain. My response to this objection is twofold.
這個反對意見可能是有效的。正如我所指出的,「計算機」和「演算法」的技術定義是如此抽象,以至於它們可以應用於宇宙中的一切。正如我上面所論述的,我認為將它們的使用限制在機器上是合理的,比如大腦,這些機器不僅可以解決物理學的功能,還可以解決更大的可計算函數數位,甚至可能解決所有函數(假設可能的大腦的空間是圖靈完備的)。但是,通過將「計算機」和「演算法」這兩個詞應用於大腦,我們能實現什麼呢?鑒於正式定義與機制無關,這如何幫助我們理解大腦?如果很多人不知道這些正式的定義,他們認為“計算機”是馮·諾依曼架構機器,“演算法”是馮·諾依曼架構機器的離散分步指令,那麼當我們使用這些詞與大腦的關係時,我們就有可能嚴重誤導這些人。我對這個反對意見的回應是雙重的。
First, there are many terms that scientists use formal definitions for, but which many people misuse. For example, the term “significant” means something very specific in statistical hypothesis testing, even though its usage in common language means anything that’s “big”, “meaningful”, or “impactful”. Should we stop using the term “significant”, then? I don’t think so. I think we merely need to be careful to articulate clearly to people what we mean when we use this word.
首先,科學家們對許多術語進行了正式定義,但許多人誤用了這些術語。例如,術語 「significant 」 在統計假設檢驗中是指非常具體的東西,儘管它在通用語言中的使用是指 「大」。、」有意義」 或 「有影響」 的任何內容。那麼,我們應該停止使用「重要」這個詞嗎?我不這麼認為。我認為我們只需要小心地向人們清楚地表達我們使用這個詞時的意思。
I think it’s the same with “computer” and “algorithm”. When we use these words, we need to be clear what definitions we’re operating with. If speaking to the lay public, that means highlighting the fact that the brain is not a computer that is anything like their laptops or phones, lest they think otherwise. If speaking to other scientists, it means articulating clearly the formal definitions and asserting only that the brain implements a large array of algorithms to solve many different computable functions.
我認為 「computer」 和 「algorithm」 是一樣的。當我們使用這些詞時,我們需要明確我們所使用的定義。如果對非專業公眾說話,這意味著強調大腦不是一台像他們的筆記型電腦或手機一樣的計算機,以免他們有不同的看法。如果與其他科學家交談,這意味著清楚地闡明正式定義,並只斷言大腦實現了大量的演算法來解決許多不同的可計算函數。
Second, I think we actually gain something when we say the brain is a computer. There is a rich vein of theories in computer science that are mechanism agnostic, including computability theory, computational complexity theory, and information theory. When we note that the brain is a computer, we are highlighting that these theories are applicable to the brain — which they are! Neuroscientists can, and do, examine how the brain implements various algorithms, how it deals with computationally intractable functions, and how it does things like store, compress or transmit information. All of this scientific activity is useful, and it derives from our understanding that the brain is a computer.
其次,我認為當我們說大腦是一台計算機時,我們實際上會有所收穫。計算機科學中有大量與機制無關的理論,包括可計算性理論、計算複雜性理論和資訊論。當我們注意到大腦是一台計算機時,我們就是在強調這些理論適用於大腦——它們確實如此!神經科學家可以而且確實可以研究大腦如何實現各種演算法,如何處理計算上難以處理的功能,以及它如何執行存儲、壓縮或傳輸資訊等操作。所有這些科學活動都是有用的,它源於我們對大腦是一台計算機的理解。
The desire to reject the statement “the brain is a computer” out of fear that it misleads those of us who don’t quite understand or know the definitions is throwing the baby out with the bathwater. Can we not simply work hard at being precise and transparent in our definitions? Need we reject a true statement that feeds various streams of scientific inquiry simply because some people don’t actually understand what it means? This seems overly myopic and pessimistic to me. I think neuroscientists can, and should, use the formal definitions of “algorithm” and “computer” provided by computer science, and simply be careful not to overstate what those words imply.
想要拒絕「大腦是一台計算機」的說法,因為害怕它會誤導我們這些不太理解或不知道定義的人,就是把嬰兒和洗澡水一起扔掉。我們難道不能簡單地努力使我們的定義準確和透明嗎?我們是否需要僅僅因為有些人實際上並不理解它的含義而拒絕一個為各種科學探索流提供養分的真實陳述?這對我來說似乎過於短視和悲觀。我認為神經科學家可以而且應該使用計算機科學提供的“演算法”和“計算機”的正式定義,並且要小心不要誇大這些詞的含義。
I shouldn’t count my computers before they halt…
我不應該在我的電腦停止之前數它們......
That last argument, that it’s useful to say the “brain is a computer”, is really the key one. For example, if in the distant future of neuroscience it turns out that information theory provides little in the way of helpful insight, then maybe using these abstract definitions and applying them to the brain has been a silly waste of time. Maybe I’ve just been wasting my glucose on banging out this argument. We know the brain works nothing like our laptops or phones, so maybe all I’ve ever done is confuse more people than I’ve helped with this argument.
最後一個論點,即說“大腦是一台計算機”是有用的,這確實是關鍵。例如,如果在神經科學的遙遠未來,事實證明資訊論幾乎沒有提供有用的洞察力,那麼使用這些抽象定義並將它們應用於大腦可能是愚蠢的浪費時間。也許我只是在浪費我的葡萄糖來抨擊這個論點。我們知道大腦的工作方式與我們的筆記型電腦或手機完全不同,所以也許我所做的只是讓更多的人感到困惑,而不是我在這個論點中説明過的人。
Obviously, my bet is that this will turn out to be important for understanding the brain. Indeed, as I stated in the introduction, I think that neuroscience is just as much a branch of computer science as it is of physiology and psychology. I am one of a number of researchers who view artificial intelligence and neuroscience as intimately related, and who consider artificial intelligence as key to theoretical inquiry in neuroscience. Perhaps people like me who think this way are just part of a trend that has grown into a bubble due to hype in machine learning. Perhaps… but this line of thinking certainly predates today’s hype in artificial intelligence. Whether it will be important to recognize that the brain is a computer according to the definitions of computer science is something that we cannot fully grok at this moment in history. Time will tell…
顯然,我敢打賭,這將對理解大腦很重要。事實上,正如我在引言中所說,我認為神經科學既是生理學和心理學,也是計算機科學的一個分支。我是眾多將人工智慧和神經科學視為密切相關的研究人員之一,他們認為人工智慧是神經科學理論研究的關鍵。也許像我這樣有這種想法的人只是由於機器學習的炒作而發展成泡沫的趨勢的一部分。也許。。。但這種思路肯定早於今天的人工智慧炒作。根據計算機科學的定義,認識到大腦是一台計算機是否重要,這是我們在歷史的這一刻無法完全理解的問題。時間會證明一切......