开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《干净整洁 clean-code-js》
今日推荐英文原文:《Why AI is here to stay》

今日推荐开源项目:《干净整洁 clean-code-js》传送门:GitHub链接
推荐理由:写出干净整洁的代码会让别人和以后的自己节省不少麻烦,因为他们不需要在重新读懂代码上花掉太多时间。这个项目是写出干净 JS 代码的一些规则和示例,尽管这些示例可能随着发展不断改变,但是保持一个不错的代码可读性总是没有坏处的,而遵守它们所多花费的时间比起整个项目来说实在是不太多。

今日推荐英文原文:《Why AI is here to stay》作者:Cassie Kozyrkov
原文链接:https://medium.com/@kozyrkov/why-ai-is-here-to-stay-9c75b1868b9b
推荐理由:人类拿出了一堆例子,并通过它们教 AI 做事情

Why AI is here to stay

A revolution in communication between people and computers

If you’ve ever attended an AI conference, I bet you passed under the placid gaze of a chrome-plated humanoid, lovingly selected from an ocean of creepy robot stock images that marketing teams can’t resist pasting on every billboard these days.

Clearly, I’m personally guilty of using octarine-blue sci-fi art to lure weary travelers to my blog. It certainly works, which is why it’s a pity that those images have next to nothing to do with AI.
Robots are very exciting but mostly useless. Today’s AI is mostly boring but very useful.
You’d think we’d all be more ashamed of ourselves, but don’t worry, AI is too useful to go away, no matter how much we all cry wolf. Here’s why.
AI gives programmers an alternative way to tell computers what to do.
Marketing folk run around trying to get your attention with sci-fi gimmicks, but the reason you’ll stick around long enough to buy into AI is entirely different. The real story is about communication with machines.

AI gives programmers an alternative way to tell computers what to do. To understand why this new way to talk to machines is so useful and why it’s a technological revolution, let’s forget machines for a moment and talk about people. I’ll lay the cards flat on the table so there’s no more purple mystery about what AI is for.

How people talk to one another

We express our wishes to other people in two ways. One is with explicit instructions, the other is with examples.

If you wanted to learn how to predict my Starbucks order, you could follow me around on my travels and you’d probably notice that the quad espresso I order in US airports becomes a latte in Taipei, Mumbai, and Nairobi. What’s up with that? Given a few more examples, you’d probably figure out the rule yourself. That’s what AI does — turns examples into instructions. There’s no way you’d figure it out if you only saw me order Starbucks only once or twice (not enough data) or if you only observed 50 counts of me ordering my usual cappuccino at the place on my street (irrelevant data, since that place is not Starbucks). Same goes for AI.

Of course, I could also have just told you my Starbucks rule explicitly since I can express it easily: “If they have half-and-half, order 4 shots of espresso in a tall cup, then fill ‘er up with half-and-half. (Don’t judge me!) If they don’t, order a tall latte with an extra shot.”

The point here is that if I’m teaching a human travel companion, it’s awfully nice to have access to both modes of communication. When explicit instructions are easy to come up with and express, I can program a friend the way people have been talking to computers for decades: if this, do that.

But what if I don’t even know why I order a cappuccino on some New York days and flat white on others? I can’t give you the formula because even I don’t know it. But I can ask you to watch me and see if you can figure out the pattern. Maybe there is one, maybe there isn’t, but it’s awesome that you could at least try work it out. Without ML/AI, a computer can’t try to find a pattern. It’s explicit instructions or bust.
AI is about human self-expression.
Maybe you’d realize that some places have a smell that does it. You might not know why that works (perhaps the smell triggers a feeling related to drinking cappuccinos with my father after the theatre, but you don’t have access to those information) but you’ll realize that you’re able to predict what I’ll do accurately. Eventually, you’ll feel confident enough to say, “Flat white this time? Yeah, I got this.” I’d be standing there with my jaw dropped because I don’t know how you know that. After a while I won’t worry about it, I’ll just trust you. And as long as my preferences don’t change, you’ll keep getting it right, even if neither of us knows why.
My ability to give you my explicit instructions is traditional programming. My ability to ask you to learn from relevant examples is the essence of machine learning and AI.
So here’s why AI is not a fad: in real life, there’s no way I’m giving up my ability to fall back on teaching with examples if I’m not clever enough to come up with the instructions. Absolutely not! I’m pretty sure I use examples more than instructions to communicate with other humans when I stumble around the real world.

AI means I can communicate with computers that second way — via examples — not only by instructions, are you seriously asking me to suddenly gag my own mouth? Remember, in the old days we had to rely primarily on instructions only because we couldn’t do it the other way, in part because processing all those examples would strain the meager CPUs of last century’s poor desktops.

But now that humanity has unlocked its ability to express itself to machines via examples, why would we suddenly give that option up entirely? A second way of talking to computers is too important to drop like yesterday’s shoulderpads.

What we should drop is our expectation that there’s a one-size-fits-all way of communicating with computers about every problem. Say what you mean and say it the way that works best. Sometimes you want to give instructions and sometimes you want to feed in a bunch of examples instead.
Some tasks are so complicated that you can’t hold their instructions in your memory.
Because AI allows you to automate the ineffable, it’s our only option for those situations where you can’t fathom the instructions. Where you’re not smart enough to work out what those patterns mean yourself or where the instructions are so complicated that you forgot the first line by the time you got to the seven thousandth one.

Want to memorize all this? Me neither. Computers don’t mind, though.

Computers don’t mind memorizing long boring example sets or instruction manuals. They can churn through those examples even though that’s a task you wouldn’t want to touch with a bargepole. Some tasks are so complicated that you can’t hold their instructions in your memory. When all the low hanging fruit tasks are automated with straightforward explicit instructions, progress will demand working on the complicated ones. In that zone, it’ll be AI or nothing.

If those tasks are very complicated, you’ll probably not be able to automate them flawlessly, but with AI you still might do better than nothing. (Don’t forget to build safety nets.) If you do get flawless performance, my first instinct is to wonder whether your task might be so simple that you really should have solved it the traditional way instead. Don’t convert between dollars and cents with AI… seriously, what are you doing?! It’s where the task is too hard the old way that you might turn to AI. That’s also why the first step in AI is to start with the task and double-check that you can’t solve it without AI first.
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/