What?! 我一直以为导航控制已经大部分是 NN!怎么会现在才开始用?高估了整个自动驾驶行业的进展。所以控制决策一直只是logistic regression 加heuristic。那以后加上hidden layer 和activation function,就比现在更blackbox 了。预计未来几个版本会更“情绪化”,然后就是跃迁。期待。

2023结束前
经济:继续下行,股市房市最低点下跌20%以上。(如何证伪:美国房屋中位价2022年11月是$393,935,.DJI在1月3日是$33,630。所以房价最低在$315,148以下,.DJI最低是$26,904以下。)
人工智能:人类开始疯狂请教于人工智能。如同二十年前通过图书馆搜索信息过度到通过谷歌搜索知识,这次是过渡到通过人工智能搜索智慧。(如何证伪:至少三个重要领域里,由于人工智能教会了人类以前一直没有想到的新思路,从而获得突破性发展)(题外话:不要再天真的认为从事什么创造性的工作就不会被人工智能替代,不远处的将来,人类一思考人工智能就发笑。2022年已经是那个时代的元年。在数字世界里人类将遭遇一场通用人工智能的洗礼,但不用担心,在物质世界里,人类还有很远很长的路可以走。)
自动驾驶:特斯拉的FSD可以做到城市路段任意三英里两点间80%情况下无需干预进行安全且不尴尬的行驶。(如何证伪?在家附近随机挑选符合要求的五段路进行测试,其中四个路段必须无干预点到点。)(细节:归功于类似InstructGPT的RLHF的使用和Language of Lanes的配合,基本上就是用自然语言处理的当前优势加上更多的无监管学习来解决自动驾驶。)
航天:星舰完成轨道测试并成功回收,正式开始接管猎鹰9成为主要升空载荷火箭。(如何证伪?星舰已经完全替代猎鹰用于发射星链,并接到2024年以后的星舰商业订单。)
以下是ChatGPT的英语翻译。我只是手工修改了几个词,主要也是我中文原文表达得不清楚。感受一下这种对语意了解的深度和对语言操控的能力。
By the end of 2023
Economy: The economy is continuing to decline, with the stock market and housing market experiencing a drop of more than 20% at their lowest points. (To verify: The median price of a home in the US in November 2022 was $393,935, and the .DJI was at $33,630 on January 3rd. Therefore, the lowest point for housing prices would be below $315,148, and the lowest point for the .DJI would be below $26,904.)
Artificial intelligence: Humans are starting to obsessively seek out artificial intelligence for guidance. Just as twenty years ago people transitioned from searching for information in libraries to searching for knowledge on Google, this time we are transitioning to searching for wisdom through artificial intelligence. (To verify: In at least three important fields, breakthrough developments have been achieved as a result of artificial intelligence teaching humans new ways of thinking that they had not previously considered.) (Aside: Don’t naïvely think that any creative work will be immune to replacement by artificial intelligence. In the not-so-distant future, humans will be laughed at by AI whenever humans start to be creative. 2022 was the beginning of that era. In the digital world, humans will undergo an AGI baptism. But don’t worry, in the physical world, humans have a long way to go before being outdone by AI.)
Autonomous driving: Tesla’s FSD can safely and smoothly travel between any two points within three miles on city roads without human intervention in 80% of cases. (To verify: Test five randomly selected routes in my city that meet the requirements, with four of the routes requiring point-to-point travel without intervention.) (Details: This is essentially achieved through the use of natural language processing and more unsupervised learning, thanks to the use of something RLHF-related similar to InstructGPT and the combination of Language of Lanes for autonomous driving.)
Space: The Starship has completed its orbit test and has successfully been recovered, officially taking over as the primary launch vehicle for Falcon 9. (To verify: The Starship has completely replaced the Falcon 9 for launching Starlink and has received commercial orders for use on future launches on and after 2024.)
ChatGPT的出色表现,让我对自动驾驶的到来增加了不少信心。特斯拉本来就已经在用视觉组件加地图组件生成三维dense world vector作为输入,经过transformer based语言模型来infer车道在三维空间的位置。对于自动驾驶系统来说,它“预测”的不是车道的位置,而是根据一种车道语言,预测接下来最合理最有可能出现的车道词语。我其实一直以为fsd的影子模式就是用RLHF来训练一个奖励模型然后用作无监督机器学习,难道不是的吗?!无论如何,马克一下,自动驾驶行业会沿着ChatGPT的路,在这一两年内快速上一个台阶,那种“笨拙”的自动驾驶将会突然变成遥远的过去。(谷歌上竟然搜不到有文章同时提及ChatGPT和fsd,谷歌地位真的有点危险)

感觉现在的机器学习往更多特征更多层更多节点无休止的发展下去不是正途。人脑大致是用数字信号传输但用模拟信号处理。计算机的数字逻辑门内部也是用晶体电阻模拟实现的。但我在想,这个最小单元是不是并不那么像人脑。而应该大量使用模拟计算,只在信号传递和信息传输的过程使用数字。如果一种芯片可以让卷积层内处理模拟化,只在层与层之间数字化传递,那会不会才是正解?不要求绝对精度结果的矩阵相乘,模拟比数字多快好省不是一个数量级。
用了几天FSD 10.10,感觉明显更像人的开车习惯,虽然同时感觉更情绪化。从10.9开始不对感光输入做图像信号处理(ISP)而直接用光子数(photon count),应该是在纯视觉路上的一个岔道又走对了一次,又减少了一层启发式的算法,直接融入整个模型里。更像人的视觉。我大学时感知心理学的教授很强调,人从双眼投射在视网膜的两个倒像中感知到身边的世界,过程中有太多的智能(或者脑补)。这些只要经过ISP,就都丢失了一些“信号”了。但我纳闷这新的光子数的训练数据是哪里来的,除非特斯拉在之前一段时间里已经开始直接上传光子数而不是图像回总部。胆敢在短时间内能选择用完全不同形式的训练数据并获得足够的新数据,这种数据优势其他做自动驾驶的团队能不羡慕也是不可能的
Hope is the project killer. Hope is what makes a software team mislead managers about their true progress.
The date was chosen for good business reasons, and those reasons still hold. So let’s try to add staff. Everyone knows we can go twice as fast by doubling the staff. Actually, this is exactly the opposite of the case. Brooks’ law states: Adding manpower to a late project makes it later.
Producing crap does not make you go faster. It makes you go slower. This is the lesson you learn after you’ve been a programmer for 20 or 30 years. There is no such thing as quick and dirty. Anything dirty is slow. The only way to go fast, is to go well.
We developers should celebrate change because that’s why we are here. Changing requirements is the name of the whole game. Those changes are the justification for our careers and our salaries. Our jobs depend on our ability to accept and engineer changing requirements and to make those changes relatively inexpensive.
Humans make things better with time. Painters improve their paintings, songwriters improve their songs, and homeowners improve their homes. The same should be true for software. The older a software system is, the better it should be.
Customers, users, and managers expect fearless competence. They expect that if you see something wrong or dirty, you will fix and clean it. They don’t expect you to allow problems to fester and grow; they expect you to stay on top of the code, keeping it as clean and clear as possible.
In short, we cannot agree to deliver fixed scopes on hard dates. Either the scopes or the dates must be soft. We represent that softness with probability curve. For example, we estimate that there is a 95% probability that we can get the first ten stories done by the date. A 50% chance that we can get the next five done by the date. And a 5% chance that the five after that might get done by the date.
Refactoring is never a story. Architecture is never a story. Code cleanup is never a story. A story is always something that the business values. Don’t worry, we will deal with refactoring, architecture, and cleanup—but not with stories.
After the midpoint, if all the acceptance tests are done, QA should be working on the tests for the next iteration. This is a bit speculative since the IPM hasn’t happened yet, but the stakeholders can offer guidance about the stories most likely to be chosen.
Remember, the only failing iteration is an iteration that fails to produce data.
Business analysts specify the happy paths. QA’s role is to write the unhappy paths.
These two disciplines, double-entry bookkeeping and TDD, are equivalent. They both serve the same function: to prevent errors in critically important documents where every symbol must be correct.
The only way you get good at using a debugger is by spending a lot of time debugging. Spending a lot of time debugging implies that there are always a lot of bugs. Test-Driven Developers are not skilled at operating the debugger because they simply don’t use a debugger that often; and when they do, it is typically for a very brief amount of time.
Test coverage is a team metric, not a management metric. Managers are unlikely to know what the metric actually means. Managers should not use this metric as a goal or a target. The team should use it solely to inform their testing strategy.
You cannot write a function that is hard to test. Since you are writing the test first, you will naturally design the function you are testing to be easy to test.
So again, the bottom line from my point of view is this: There is no such thing as Agile in the large. Agile was a necessary innovation for organizing small software teams. But once organized, those teams fit into the structure that large organizations have used for millennia.