注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
作为一个工作有些年头的Data人,最初接触AI概念的时候还没那么火,那时候模型都叫machine learning / statistic model, 后来DL的普及才开始叫人工智能,AI的。 这几天大家都被ChatGPT 刷屏了,恍惚ML/AI这块又迎来了第二春,理应业界继续狂欢,但是所谓物极必反,不可否认chatgbt是模型界的重大突破,但是还是想给非相关从业者或者经验尚浅的“AI"从业者提个醒,如果能看清楚这些AI模型背后本质的话,能避免踩很多坑。
我从开始到现在,都是很反感叫这些深度学习模型做人工智能的,重要的事情说三遍,这些模型没有智能,没有智能,没有智能。
大家有接触过深度学习的都知道,虽然你可以说这叫弱人工智能,区别于强人工智能,但是实际体验大概率来说你还是很可能发现这些模型智障的时候。深度学习的反向传播算法算是模型的核心基础了,你可以说推导反向传播的一些图形箭头像什么人的神经元blablabla自己幻想这就是人的大脑思考的方式,实际上有点理智的人都知道,生物大脑的构造是何其复杂,简单的反复线性代数/微积分推导就能模拟大脑了? 给你足够时间你自己手算都能算出来的模型结果,这能跟人脑相提并论? 人学习一个新事物可能只需要看一眼,这些模型得要一大堆人工label去训练,其实要像科幻小说里面那种强人工智能模的话我们人类社会其实算是压根没起步,肯定是有重大的科技树没有点,真正的人工智能不可能就靠这么一些基本的数学原理就做出来了。
其实很多大厂和业界大佬都了解这一点,但是普通人却难以了解其中的奥秘,有一些AI应用看上去像模型真的能“思考”那样,例如人脸识别,一件换装,猜你喜欢,chatgpt这种chatbox,所以经过一定的商业包装,套上“人工智能”一词的确能更吸引用户使用。 那么其实这些应用跟真正我们说大脑的智能有没有关系呢? 其实关系真不大,DL 模型最重要的贡献分两步, 第一步就是将以前不太可能分析的数据源,例如图像、文字、语音,能拆解开来做embedding, 第二步就是一个更有效率,避免穷举,找出最能贴近真实label的结果,其中发展的技巧太多了,但是本质就跟统计学上找出最常见贴近历史数据的排列组合出来给你。 例如NLP模型,其实就是根据历史大数据,先把文章语句全都变成可以分析的数据,再来把最常见的文字组合堆砌起来呈现给你看这样。
所以这些AI模型,的确能在一些结果上做到“拟人”的效果,因为训练的数据非常庞大,训练的参数时长也很大,这是在以前不可能做到的。 但是致命缺憾在于,他这些还是根据基本的统计学原理,但是因为像上面说的,“第二步”避免穷举,找出最常见的排列组合这一步已经发展得越来越复杂,越来越黑箱,已经没法解释很多预测结果了,这种其实就是计算次数过于复杂造成的,而不是“模型自己会思考”。 所以AI模型的局限性非常明显,这里就是这篇文章的重点,如果你是在相关领域,建议避坑:
- 自动驾驶: 这两年各类自动驾驶和区跨链的startup非常多,区块链不了解,但是大家也知道高风险。 自动驾驶反而很多大牛一心扑向这类startup,但其实我个人认为(没有冒犯的意思),自动驾驶所依赖的图像算法,目前来说除非有颠覆性的突破,否则L4/L5级别是不可能的。 这类图形算法的核心还是一堆人工label的数据里面找目标,本身就有错误率,而且对没见过的图像组合更是充满未知。 对于自动驾驶这些容错率那么低的应用来说,最后肯定是疯狂打if else的补丁,商用遥遥无期,虽说能在一小块范围内运营一下,但是环境不好热钱少的时候肯定是要大裁员的。 目前AI模型的技术对这个应用根本上就是不够。
2. 拓展开来,追求准确率的应用:
- 像Chatgpt,如果是用来做搜索,像别的帖子也说了,要是不准怎么办? 凉拌 - 这类模型根本没法保障准确率,这是个连狗家大佬都会犯的错误,狗家开的发布会就暴露了搜索回答答案出错的一幕,其实模型相关从业人员也知道,这类应用根本没法保障准确率, 极有可能出现胡说八道的情况,俗称人工智障。 那么Chatgpt是否就不能搜索呢? 其实解决方法也简单,不要追求一段话成功解答问题,直接答案给出好几个结果标明网站来源即可。 狗家这样做肯定能避免发布会翻车。 其实Chatgpt的强项还是在于将用户的提问拆解成可分析的数据,然后找到最匹配的语句去回答, 所以只要不追求准确率,用来结合office做文书语法错误修改,内容起草什么的还是极好的。
- 语音助手: 传统电话语音客服还可以,因为他只是分析你的问题,然后按一套Rule based method一级一级引导你去业务菜单,再不济给你转人工客服就得了。 但是Alexa/Siri这种著名的人工智障,产品设计初衷期待用DL 算法能解决用户那么多的要求,最后肯定是错误率越来越高惹毛用户最后吃灰,大家贪新鲜劲过去了就用得少了,亚麻Alexa裁员多惨有目共睹。这种跟自动驾驶类似,都是疯狂打if else补丁,算法本身支撑这个应用还是过早了。
- 还有其他应用,实际上就是保障不了正确率,但是有些企业加了补救措施就显得没所谓了, 例如基于深度学习的推荐算法,有时候推的东西不对甚至恶心,那就要么加补丁要么给用户选减少这类型的推荐按钮啥的纠错,例如人脸识别,识别不了我手打密码呗也行。
所以嘛,了解了AI技术背后的原理,大家的期望可能会更回归理性一点,地里一种Chatgpt取代人工的帖子有些就是不了解AI这个“智能”原理而制造的恐慌,这些模型根本没什么智能,大量的初级工作,其实你想想容错率还是非常低的,大概率最后还是要设置专人来manual review,在比DL更具颠覆性的技术出来之前,这些伪人工智能的模型讲取代各行各业的工作还是言之尚早。. 1point3acres
. Waral dи,
. 1point 3 acres
. Χ
. From 1point 3acres bbs
补充内容 (2023-02-14 03:17 +8:00):
https://mobile.twitter.com/ylecun
补一个Yann LeCun 大佬的发言,还是说得比我全面,天地良心我没事先偷看囧
补充内容 (2023-02-14 08:31 +8:00):
有朋友借着深度学习的黑盒就说AI潜力无穷,这里有个逻辑问题:里面不懂什么操作 != 这东西真的有智能。
-baidu 1point3acres
我从我的回答中举一个相反的例子就可以证伪了,是这世界没人能解释深度学习的所有原理,就是黑盒,但是我说的本质是可以让大家窥探到深度学习的尽头是怎么样的, 抛砖引玉欢迎讨论:
有两个feature AB,数值是0和1, 还有一个label, 最简单的supervised learning对吧,其实数据量少的话,是不是根本不用train model, 按排列组合00 | 01 | 10 | 11 算对应的概率weights,就能人工做到最好的预测?
. Waral dи,
那么问题来了,你有没有发现,所有的supervised learning model,是不是都能通过这样的穷举法, 得出最优的结果? 那为什么我们还有那么多种ML/DL model呢? 归根到底,还是我们算力有限,穷举的complexity太巨大,现在的算力穷举不了,所以才出现了各种各样的ML算法,DL的各种结构也是一样,所谓foward / back propagation 也是其中一种节省计算成本快速找到最优组合的算法,目标就是找到尽可能跟穷举法一样的结果, 这个找到结果的速度和准确度,就是区分各种算法优势劣势的指标。 这就是我认为现在各种AI model的本质,所以要是你说算力有一天无穷大,那其实我们啥算法也不需要,只需要直接穷举计算所有feature combination的weights 就得了。
. Waral dи,
所以当有人说如果我们有无限算力,更多的数据,深度会不会产生质变产生强人工智能呢? 我的答案还是不会, 最大问题是,这些深度学习算法的本质就是跟穷举直接算的结果一样的,找出最优排列组合,如果有无穷算力,你的计算公式就是固定的,跟直接按计算器,计算机帮你算1+1差不多,可以说是一种program好的方法,是可以算得比人类快,但是这真等于人工智能吗? 没人会说买菜计算器有人工智能吧。
补充内容 (2023-02-15 11:51 +8:00):
最近还有朋友提出,既然能够进行一定的自动化,act like human, 就是有智能的代表,是可以取代一定的人工工作。 其实这个问题人工智能领域也早有讨论,究竟什么叫“智能”? 楼下有很多评论说我是自己主观定的,其实不然,这个问题已经被广泛讨论,基本共识就是把人工智能分为弱人工智能和强人工智能,随便推荐一篇文章:https://builtin.com/artificial-intelligence/strong-ai-weak-ai
或者wiki:https://en.wikipedia.org/wiki/Weak_artificial_intelligence. check 1point3acres for more.
或者中文简短解释: https://easyai.tech/ai-definition/weakai-strongai-asi/
普通人类所具备的智能起码是强人工智能级别的,这里从来没否认AI能在一些弱人工智能领域做得好,的确能取代一些流水线工作,例如流水线用AI挑选残次品筛掉什么的取代工人,没有人说不行, 没有人说对人类没用,请不要非黑即白。 这里主要的论点就是,现阶段还没有任何技术有希望让AI模型具备强人工智能,进而取代大部分程序员/没那么流水线的白领/需要沟通的职位,所以大家完全不必恐慌。 是AI模型能取代流水线工作,但是随着科技发展,例如收费站自动收费,收费站员工也一样失业嘛,目前弱人工智能,比起普通机械自动化,主要优势还是分析图像/文字/声音和大批量数据,高效拟合找到一个好方案,在一些特定的任务环境中比人类更快更有效,当然是对全人类有用的。 但是其实大部分工作真的挺需要强人工智能的,像取代初级程序员什么的就是无犀之谈,银行说取代柜员很多年了,实际上你想想还是很难的,至少目前深度学习的框架真不具备让AI具备强人工智能的能力,坐等一些颠覆性的进步吧。
补充内容 (2023-03-21 04:43 +8:00):
补充一个有意思的讨论下我的回答,就是Chatgpt会取代程序员吗?能不能用它来完成代码工作? 为什么楼下有人说Chatgpt的performance在leetcode和codeforce,或者leetcode原题变体上的performance有显著差异?
. Χ
“我可以再举一个例子,为啥chatgbt会回答很多编程问题错误呢? 因为LLM就是把历史编程语句前后文给你一个出现频率最高的结果做预测,结果怎样呢? 除了网上stack overflow出现过的答案,稍微变通就会错,为什么这样呢? 因为它只是给你一个历史训练数据集的频次最高解,你深度学习玩出花也是这个解,所以会经常跑出bug,因为它压根就没理解编程语言的逻辑,很多基本的编程规则都没理解甚至会生成假函数名,混淆不同语言的函数,python tab空格没打对这些低级错误,这种事情可不是加大训练量能解决的,因为它压根从来就没”学会”过编程。
你所说的corner case概率问题用在这个例子上反效果就出来了,你用深度学习的概率模型来生成代码,每一个语句和标点符号都可能出错然后整段代码跑不出,这跟人类学编程的模式就有本质区别。
有人学编程是只看很多代码不求甚解连什么函数干什么用的都不看就去学的吗? 没有吧。那为什么自然语言能行呢?其实同样的问题也会出现,不过语料够多语法看上去没问题,但是很多答案依旧会有逻辑错误前言不搭后语,归根到底它只是给出一个最大概率历史数据的排列组合,从来没有真正理解过语言背后的逻辑和内容。”
补充内容 (2023-03-21 04:52 +8:00):
上面的例子就解释了为啥没有智能的统计学模型去做编程会出错了。 因为chatgbt只是告诉你,根据你的要求和它的训练习,x%的概率会是这样的代码符合你的要求。 它可不管代码里面的syntax有没有严格遵守,python里面的空格和tab要怎么样,java里面的变量定义要怎么样之类的,所以结果都是一个训练集概率最大的结果。意思就是模型看了几亿段代码,然后就告诉你根据看过的代码它猜你想要的就是这几句代码,里面的逻辑内容语法它全不管。
但是代码是严谨的,一个标点符号错都会报错,代码syntax和逻辑这块chatgbt根本没学会,例如python里的tab要严格对齐之类的hard rule体现不出来,甚至还会出现有些代码用空格有些用tab临时拼凑的结果,所以LLM整个学习代码和编写代码的逻辑都跟人类不符,取代程序员是没有什么希望的。 估计连最简单的命令改config都要人工审核一遍确保语法没错才行。
很多人问有没有智能重要吗? 提高生产力就行了? 的确提高生产力没错,但是希望这个例子能让大家看明白模型有没有强智能对于程序员这样的工作来说是天壤之别。 |