① 作为一名程序员,应该如何看待AI
程序员以及其他类型的IT工作无疑是当前最热门的工作。然而,这种趋势可能不会一直持续下去。人工智能的发展可能会打破这一格局。
美国橡树岭国家实验室的一些专家预测,到2040年,AI技术将会强大到足以替代程序员,AI编写软件将比人类程序员更好、更快。换句话说,软件编写的软件比人类编写的更好。
但不会完全替代。在不久的将来,AI和人类程序员将在编程中扮演互补的角色。AI的工作可能是处理重复性的、耗时的任务,这些任务需要机器优异的精确性。机器可以避免由于人为因素而产生的语法错误或设计错误。例如,AI可以提供帮助的一种方式是自动完成功能,程序员只编写一小部分代码,然后AI识别程序员的意图,并完成剩下的代码,从而为人类节省大量的工作。
希望可以帮到你,谢谢!
② 有人说,人工智能将来可替代程序员写代码,你怎么看
你好!我是康哥! 未来不光是人工智能会取代程序员写代码,我认为很多行业都有可能被取代!
作为80后的我小时候没有电脑,父母那一辈基本上班的时候也都没接触过电脑,那个时候工作文稿都是用手写,而到我上了大学,短短18年的时间电脑在中国得到了普及。让我印象最深的是我参加工作的时候公司的老会计,业务能力不在话下,但是金蝶用友玩的不转。后来也不得不顺应时代的发展,学习电脑知识。
所以人工智能现在看似是一个很新兴的产业,但是很可能在未来的十几年当中渗入我们生活中的方方面面。
那些重复性的工作,例如人力资源中的考勤工资;财务中的基础做账工作;程序员中的基础代码工作;甚至医院的医生都会被人工智能取代 。
未来不会被渠道的是一些重复性工作不强的职位,我认为这个实际上就是效率的提升,电脑代替手工劳动,机器代替人的大脑和手脚,让我们的生活更加有效率。
我认为是一件好事情,能让我们有更多的时间去开发新事物。不断地开发我们的大脑去 探索 新事物。
但是从另外一个方面来看,未来的确有很多人会失业。不管是现在我们常见的一些岗位,包括一些看似稳定的铁饭碗,例如公务员或者事业单位人员,一些职能性的但是效率底下的职位也将会被取代。
这就提醒我们每个人都要居安思危,不断提升自己的技能和附加值,这样才不会被 社会 所淘汰,二十年时间看似很长,但是实际很短。
AI能代替我们的是一些能够重复的工作和简单的开发工作,可是谁来维护这些人工智能,如何管理这些人工智能我认为未来是我们人类职位的一个新增项。
作为一名IT行业的从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,随着人工智能技术的不断发展,未来大量基础的编码工作必然会由智能体来完成,这个过程也会不断推动程序员的岗位升级,提升程序员的岗位附加值,同时减轻程序员的工作压力。实际上,人工智能技术的发展对于未来延长程序员的职业生命周期具有重要的意义。
当前程序员岗位的工作压力还是比较大的,不仅应用级程序员每天需要完成大量的编码工作,研发级程序员也需要面对一些毫无能力提升的编码工作,这在很大程度上降低了程序开发的乐趣,使得程序员感到乏味。随着当前产品迭代的速度不断加快(大数据时代的并行迭代),程序员不仅面临更大的工作量,在工作内容上也得到了一定的拓展(全栈开发趋势),所以当前从事程序员岗位还是具有一定难度的。
要想让程序员从当前的工作压力当中解放出来,采用智能体实现代码编写是非常重要的一个解决方案,这不仅会提升程序开发的效率,同时也会保障程序代码的质量一致性,提升程序的稳定性。实际上,当前在程序开发领域内已经有不少工具可以完成一部分代码的生成工作,虽然目前功能还不够强大,但是已经在一定程度上减轻了程序员的编码负担。
未来当智能体替代程序员完成基本的编码工作之后,程序员可以把更多的精力应用在创新方面(算法设计、模式设计、框架设计等),而且技术验证的速度也会明显提升,这些都会提升程序员的工作效率。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
有人说,人工智能将来可替代程序猿写代码,你怎么看?
好!
科技 这么发达,
完全有可能,
但是,
怎么发达,
有一些程序还是离不开人的操作,
程序猿,
有些程序必须靠人工才能完,
这个毋庸置疑,
不论智能怎么发达,
有些人的操作,
永远取代不了的,
这个倒是真的,
有一些事物,
是人工智能无法完成的,
到任何时候人,
都不会被智能取代消退,
总有一些程序交给人,
来操作!
都是些不深入ai的媒体炒作概念,让人觉得ai无所不能。一百二十八年内不可能,有的话也是小打小闹,满足不了工业届千变万化的需求。ai可以辅助创作,但独立创作,尤其是代码,绝无可能。
如果ai将来能写可执行的逻辑正确的代码,那么未来的程序员或算法工程师,都会大部分失业。如果ai都能按逻辑写代码,都可以去尝试各种逻辑,甚至自己决策。那么ai可以控制各种带有芯片的设备,小到手机,大到 汽车 。这还是ai么,这不是上帝之子么。
可能你从github喂海量的代码给到模型,借助于大数据和gpu算力出来,理论上来说能训练出一个号称能写代码的ai.但这个ai写出的代码都是基于统计规律的,不能处理突发事故。运气好的话,生成的代码能执行,但代码越长,生成的代码可运行的概率越低。
即使能运行,代码的逻辑是什么?
程序员和产品经理干架,就是因为需求会一直变。你期望ai能写出满足千变万化的需求的代码?
我们从几十亿年的单细胞生物进化到今天,能不能有点自信?要是ai这么厉害,我觉得我没脸说我是人了。总之,怎么可能!
将来我们写代码时:
总之,ai可以辅助程序员编程,极大提高编程效率。但如果代替程序员自己编程,根本不可能。如果有那一天,我把我现在的手机吃了。
这几年,人工智能被炒的越来越热了,比如阿里的鲁班系统能够自动生成双十一海报,一天可能出图上亿张;还有通过机器学习,程序画的话,被卖到上亿元;其实就目前来讲,这些都是比较基础的,人工智能即使画画,也是通过机器学习别人的画之后,说白了, 组合的。没有灵魂作为支撑的产品,不能说没有价值,但是在意义层面来讲绝对是非常弱的。
人工智能在将来可以替代程序员写代码吗?我只能说:有可能,而且即使人工智能代替程序员写代码,也是比较基础的,其实,随着现在程序工具化的趋势,已经解放了程序员,如果人工智能+工具化,在一些基础的,机械的编程中,确实能够让程序员解放出来,去处理更加复杂的业务逻辑和架构设计。
但是,我感觉人工智能完全取代程序员是不可能的。因为,机器永远也不想到人类复杂的需求,尤其是,变来变去的需求变化。如果机器能够有灵魂的话,估计也会被人类复杂且变来变去的需求,折磨的要死,从而发出一句,感叹:卧槽,这是什么玩意的破需求。
但是,去年有一条新闻值得我们关注,那就是:
Repairnator 是由 KTH 瑞典皇家理工学院的软件技术教授 Martin Monperrus 开发。它会监控开源软件在持续集成期间发现的 bug,并尝试自动修复它们。如果它成功合成了一个有效的补丁,那么 Repairnator 会伪装成人类身份向人类开发者提交此补丁。到目前为止,Repairnator 已经成功生成了 5 个补丁,并被人类开发者永久地合并到代码库中。
这是自动程序修复软件工程研究中新的里程碑。
所以,现在机器都可以修改 bug 了,将来在一定程度上写程序,也是有可能的,但是完全取代我认为不现实。
原因如下:
当然了,如果机器能够完全取代人类编程的话,那非常可怕啊,未来有可能将是被机器控制的时代,而不是人类控制机器的时代。
有人说,人工智能将来可以取代程序员来写代码,这个理由不成立,因为人工智能就是程序员开发出来的。而且现在所谓的人工智能远远没有达到真正意义上的智能,大部分还是人工更多一点。
如果以人类的生命成长阶段来看,人工智能目前只能算是婴儿阶段,在婴儿阶段就抛弃喂养自己的母亲程序员,那为时也太早了。
人工智能大体分两个大的方向,图像识别和机器学习。目前图像识别成长的比机器学习更快一点,但也仅限于快一点儿,我们常见的图像识别场景就是无人驾驶。而机器学习发展相对缓慢,都是在初级阶段,如果想要有阶段性的变化,在算法机制上要有突破性的进步,才能引领机器学习进入下一阶段。
所以至少在未来几十年甚至上百年我认为我们程序员都不会失业的,还是有饭吃的。
所谓人工智能的程序也是由人类开发设定的,它也绝不会取代人的作用,它对美学,结构想象力设计,逻辑多向思维甚至悬思学都无法深入涉足,它就像一个架构师将算法和公式公布出来,其它基础部分由代码来完成一样,就算将来人工智能也可以进行相关研发,但审核与检测仍然需要人类完成,人类的工作只会越来越高级。
所以不用杞人忧天,人工智能是不可能真正成为人类的思维一部分的,当它的工作目标对人类无意义而虚耗电能和时间的时候,人类是一定会及早发现并介入的,一个简单的拔电源就可以停止其行为……
人工智能是近阶段大家经常提到的一个话题,其中神经网络深度学习其中一个特点,那么人工智能最终真的能达到一般人类这样去思维么?能够像程序员那样的编程么?会不会以后有一天真的能替代程序员了吧,这件事情你是怎么看待的?针对这事情我来说一下我的看法。
人工智能会让程序员的工作效率更高,十年之内不可能完全代替程序员
在CSDN上有一篇报道,有一个名字为Screenshot-to-code-in-Keras的项目可以把一些稿件自动变成一堆html代码加css代码,有的前端程序员就可能为此而感觉到恐慌,感觉以后人工智能要替代自己的饭碗了,这样的事情也不足为奇,在人工智能这个概念还没有兴起之前,一些java程序员使用ide开发工具就能生成一堆代码,节省了开发效率。感觉起码在近五到十年内感觉人工智能还不能完全替代人类程序员这样去编程,就以前端代码为例,虽然html代码加效果类css让人工智能生成代码,可能人工智能在这方面战术上完胜,但是一些战略问题它还是远远不及人类的。
其一它生成的东西能确保是人类想要的吗?,如果不符合要求是不是需要人类程序员来调整,人工智能不可能做出一套适应所有场景的东西出来。
其二前端程序员是要与后端程序员进行对接的,在对接时各个参数,怎么调用了,相当复杂,两个人类程序员(前端程序员与后端程序员)还需要沟通好长时间,难道人工智能就能那么完美理解人类的意思就不需要沟通了么?
近5到10年内的情况可能是这样的,一些低级的常规的代码都可能会是自动生成,一些组织调整的工作交给人类程序员来进行处理,最后项目的质量当然还是有人类进行负责的,由人工智能的加持,程序员的工作效率可能会大大提高,以往传统开发需要几周的工作量可能会缩减到几天甚至更短。
未来上层领域的程序员数量会减少
随着时间再往后发展,我想一些上层代码会逐渐由人工智能程序自己完成了,可能写代码的不再是程序员了,比如说可能是一种操作软件的形式存在,有着成熟的操作界面,良好的操作体验,一个非技术人员通过界面输入自己想要的东西,通过一定的规则描述,然后就会生成相应的代码并能直接运行。或者比这个更先进,不是一个软件界面的形式存在,而是一个智能硬件设备,只需要对其说话,像与人类说话那样,说出自己的需求,智能设备就能在短时间内做出自己想要的东西。
如果真能达到这种程度的话,我想未来参与业务开发的程序员的数量将会急剧减少,但是 不可能减少到为0,因为人工智能做出的东西也不可能是完全有保证的,起码需要个别人还需要进行对项目代码进行负责不是嘛,就想现在的无人驾驶车为啥还留有方向盘一样。上层开发的人员少了,人工智能这些底层开发的程序员会更吃香了,甚至数量会多起来。
软件数量和规模将成倍增长
大家都知道程序做事效率是相对高的,人类做项目是用天,周,年为单位来计算的,那么这些软件交给人工智能处理应该是秒级别的吧,如果是大一点的项目顶多是分钟了。如果是这样的话,估计人类世界软件的发展速度将会达到一个新的高度,软件的数量和规模将是几何倍数的增长。
如果真是这样一天的到来,我想人类在学习和思想上都要有策略上的改变,以前经常在嘴边说的话,要勤奋,要多动手,未来的人类要做的事情,就是要多思考,勤于思考。动手的事情就交给人工智能去吧。
那是必然的。不仅程序,看病,甚至很多方面都可以,但是,那种机械的,生冷的东西在几何级数提高效率的同时也会铸成,无论如何,这个趋势不可阻挡,是喜是忧?需要盖棺定论。
电脑只能处理精确到指令,需求一开始往往是很模糊的,以目前人工智能自然语言语义理解的发展程度,可能性很低。
③ 程序员会被ai取代吗
程序员不太可能被AI完全取代。
目前,AI可以帮助程序员自动生成代码,分析代码以发现潜在的问题,并通过模拟人类编程来完成一些简单的任务。然而,程序员仍然需要对代码进知答行评审和维护,并且需要对代码的功能和实现进行判断。
同样,程序员还需要深入了解业务和需求,以便编写有意义的代码。因此,程序员将需要持续学习和发展以适应这种变化,并且可以通过在人工智能和机器学习方面的专业知识来提高自己的竞争力。
程序员的职业前景和变化
尽管程序员不会嫌备被人工智能完全取代,但随着人工智能技术的发展,程序员的职业前景和变化仍然值得我们思考。一方面,人工智能技术将改变程序员的工作方式和工作内容。程序员需要不断学习和掌握新的技术和工具,以适应新的工作需求和市场需求。
另一方面,人工智能技术还将为程序员带来新的机会和挑战,例如,基于人工智能的应用程序的开发和部署、数据科学和分析等领域。
同时,程序员也需要注意自身的竞争力和职业发展。随着人工智能技术的发展,程芹猛毁序员需要具备更多的技能和知识,例如,机器学习、数据科学、云计算、容器化等领域的知识。此外,程序员还需要不断提升自己的软技能,例如,团队合作、沟通、项目管理等方面的技能。
④ 人工智能会取代编程员吗
这个当然不会取代底层的程序员。
ChatGPT 是一个自然语言处理模型,可以生成文本、回答问题等,但它不能完全取代程序员。程序员在软件开发过程中扮演着重要的角色,他们需要深入理解业物陆务需求,并通过编写代码来实现拿裂解决方案。ChatGPT 可以辅助程序员工作,但不能完全取代他们。
ChatGPT作为一款AI新秀,能在编程领域名声大噪,重要原因在于其所有者OpenAI十分看重其编程能力的提升。Semafor的一份报告显示,OpenAI过去六个月在全球范围内聘请了上千名承包商来培训其 AI 学习软件工程。
培训也是卓有成效。据 Insider报道,一些亚马逊员工已经开始使用 ChatGPT 来帮助编码。
与此同时,一些“程序员要被取代了”的言论甚嚣日上,其实这并不令人意外,过去几十年来,云服务、无服务器计算、低代码和无代码......每个技术浪潮的到来,都会有这样的言论出现。
毫无疑问,随着科学技术的发展,软件开发越来越智能化,今年一月份ACM 通讯发表的《编程的终结》就对人工智能编程进行了预测,其作者Matt Welsh 是 Fixie.AI 的首席执行官兼联合创始人,他曾是哈佛大学计算机科学教罩敏顷授、谷歌工程总监、苹果工程主管。他在文章中表示,“‘编写程序’的传统想法正在走向灭绝,事实上,除了非常专业的应用程序之外,我们所知道的大多数软件将被经过训练而不是编程的人工智能系统所取代。”
但就目前而言,ChatGPT取代程序员是不大可能的,毕竟它还处于被训练的阶段。
而且,就算人工智能拥有娴熟的编程能力,这也不意味着程序员就会完全被取代,毕竟AI写代码也得先了解需求,而这就需要由程序员来完成,所以以后程序员工作应该是更多地转移到需求分析和架构设计上,而不会因为不用写代码就消失。
以SoFlu软件机器人为例,作为一款在2019年就推出的覆盖软件开发全流程的自动化工具,它通过内置一系列基于AI的开发、测试、产品质量分析和安全审核的功能,可在整个应用程序开发生命周期提供“专家级”帮助,并在人的协助下自动完成软件开发的后端开发、前端开发、测试和运维。
以后端开发为例,开发者只需要在可视化界面通过拖拽组件输入流程图和配置参数,SoFlu软件机器人就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现软件开发,十倍提效。
SoFlu软件机器人的总设计师飞算云智总裁陈定玮表示,“SoFlu软件机器人的宗旨是帮助开发者更高效、更高质量地完成软件开发,让‘人人都能成为软件工程师’,而不是要取代谁。”
说到底,无论是人工智能还是软件机器人,对于人来说,其实都是工具,工具的作用始终在于服务人类,而从来不是取代人类。
⑤ AI会取代插画师,程序员,作家的工作吗
AI 目前确实可以在很多领域胜任一些人类工作,例如制造业、服务业、销售业等,但在创意领域,如插画、写作等,人类创造力和想象力是 AI 远远不能替代的。例如,在绘制插画方面,虽然 AI 可以庆羡通过“学习”大量图像进行自动生成,但它所绘制的图像却缺少人类的创造力和思维方式,难以表达作者独有的文化底蕴和情感体验。在写作方面,虽然 AI 可以通过机器学习等技术生成文章,但其文章缺乏人类情感的表达和创造性的思考,与真正的文学作品相比还有很大的差距。在程序员方面,虽然 AI 可以通过深度学习自动化一些简单的编程任务,但在系统架构设计和复杂编程问题上,人类编程的智慧和经验仍然是不可替代的。
总之,AI 的发展在很多领域可以起到协助和辅助作用,但在创意领域,人类创造能力的重要作用无法被替代,创造力和独特视角才是创意磨差派行业中的核心价值。值得一提的是,人和 AI 的合作可能成为未来的趋势,AI 可以帮助人类更高瞎贺效地完成一些繁琐工作,从而让人类更专注于创意产出。
⑥ 程序员会被ai取代吗
AI由机器语言的机器组成,但是人工智能并不会在编写程序方面超过人类,扰轮不会很快变得独立于人类,并且能够创建跨越几行的有用且实用的代码,这需要一定程度的智能,所以AI短时间并不能取代程序员。
AI由机器语言的机器组成,它们在编写程序方面不会比人类更能胜任,AI由机器语言的机器组成,它们在编写程序方面不会比人类更能胜任,相反,将要发生的是“计算机程序员”将成为“AI程序员”。没有人怀疑人工智能在每天编程方面变得更好。事实上,最终,人工智能驱动的工具在编码时会比人类好得多。但是机器不会很快变得独立于人类,并且能够创建跨越几行的有用且实用的代码,这需要一定程度的智能,这种智能接近于着名的奇点。
1,程序员不再手工编写代码。他们已经使用了大量的智能工具,使他们能够自动完成编译工作。这就是AI所做的:它帮助程序员。但是,人工智能将能够做出从头开发软件所需的所有正确决策或解释每个功能的商业价值的未来仍然非常遥远。
2,相反,大多数新的人工智能工具都是通过机器学习来提高其准确性和性能。通过广泛的试验和错误键配,他们的神经网络架构可以帮助他们在自动化任务时变得更好,更精确。这就是他们比人类更好的地方:发现错误并修复错误。但他们不是,也可能永远不会自主,有自己的“意见”,哪一个是解决问题或生成新功能的最佳方法。
3,最终,人类将摆脱“程序员”的工作,并将简单地学习如何“集中”他们的机器学习工具,以更有效地协助他们。由于AI将自动执行以前需要非常专业知识的复杂任务,因此开发人员将有更多时间专注于工作中更“人性化”的方面。总是需要人类稿李指来填补机器永远缺乏的空白,探索解决已知问题的新的大胆解决方案,或者只是将他们的创造力发挥到极致。
⑦ 机器人什么时候能够写代码
截止到2014年,自己研发出可以写代码的机器人了。机器人完全自己写代码是不可能的,但是目前阶写段简单的代码没问题。
2017年一款会编程的AI处于初级阶段。能够打败初级程序员,但是对于中高段位程序员,AI还是不行的。
根据蓬勃和英特尔实验室的研究人员表示,全球首个能自动生成完整软件程序的AI机器人已经诞生,名为“AIProgrammer”。
自此,这个触及程序员可能都无法完成的任务,就可以交给一台机器算法了。据了解这个“AI程序员”是利用遗传算法和图灵完备语言,这种算法在理论上能够完成任何类型任务。
机器人编程只要1小时
2014年中国互联网大会创新创业大赛在位于建邺区的极客站内举办。现场,南京321人才许晓毅给大家演示了机器人是怎么编写程序代码的:
只见他在服务器电脑上输入文字指令,机器人就开始自动编写程序,一行源代码立刻在屏幕上编译出来,1个多小时后,一个不算太复杂的程序就编写好了,立刻可以运行。
据介绍,机器人程序员只要通过语言说明,就可以编写出各行各业的软件,有望大大提高工作效率,因此不仅是软件行业的创新,对不懂软件的传统行业来说也能带来很多便利。演示现场,项目引起了投资者和创业小伙伴们的浓厚兴趣,不少人围上来求体验。
许晓毅和该项目所在的“孵化器”南理工技术转移中心当即决定,将把一台机器人程序员“留”在极客站里,开放给广大科技人才共享使用。
以上内容参考中国网-“解放”程序员,机器人编程只要1小时
以上内容参考中关村在线-机器人也会编程了 AI完爆初级程序员
⑧ 人工智能用的编程语言是哪些
人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑;IBM Waston击败了Jeopardy两届冠军;统计学习技术从对消费者兴趣到以万亿记的图像的复杂数据集进行模式识别。这些发展必然提高了科学家和巨匠们对人工智能的兴趣,这也使得开发者们了解创建人工智能应用的真实本质。
谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展。
哪一种编程语言适合人工智能?
你所熟练掌握的每一种编程语言都可以是人工智能的开发语言。人工智能程序可以使用几乎所有的编程语言实现,最常见的有:Lisp,Prolog,C/C++,近来又有Java,最近还有python.
LISP
像LISP这样的高级语言在人工智能中备受青睐,因为在各高校多年的研究后选择了快速原型而舍弃了快速执行。垃圾收集,动态类型,数据函数,统一的语法,交互式环境和可扩展性等一些特性使得LIST非常适合人工智能编程。
PROLOG
这种语言有着LISP高层和传统优势有效结合,这对AI是非常有用的。它的优势是解决“基于逻辑的问题”。Prolog提供了针对于逻辑相关问题的解决方案,或者说它的解决方案有着简洁的逻辑特征。它的主要缺点(恕我直言)是学起来很难。
机器学习库
PyBrain 一个灵活,简单而有效的针对机器学习任务的算法,它是模块化的Python机器学习库。它也提供了多种预定义好的环境来测试和比较你的算法。
PyML 一个用Python写的双边框架,重点研究SVM和其他内核方法。它支持Linux和Mac OS X。
scikit-learn旨在提供简单而强大的解决方案,可以在不同的上下文中重用:机器学习作为科学和工程的一个多功能工具。它是python的一个模块,集成了经典的机器学习的算法,这些算法是和python科学包(numpy,scipy.matplotlib)紧密联系在一起的。
MDP-Toolkit这是一个Python数据处理的框架,可以很容易的进行扩展。它海收集了有监管和没有监管的学习算饭和其他数据处理单元,可以组合成数据处理序列或者更复杂的前馈网络结构。新算法的实现是简单和直观的。可用的算法是在不断的稳定增加的,包括信号处理方法(主成分分析、独立成分分析、慢特征分析),流型学习方法(局部线性嵌入),集中分类,概率方法(因子分析,RBM),数据预处理方法等等。 自然语言和文本处理库
NLTK 开源的Python模块,语言学数据和文档,用来研究和开发自然语言处理和文本分析。有windows,Mac OSX和Linux版本。
结论
python因为提供像 scikit-learn的好的框架,在人工智能方面扮演了一个重要的角色:Python中的机器学习,实现了这一领域中大多的需求。D3.js JS中数据驱动文档时可视化最强大和易于使用的工具之一。处理框架,它的快速原型制造使得它成为一门不可忽视的重要语言。AI需要大量的研究,因此没有必要要求一个500KB的Java样板代码去测试新的假说。python中几乎每一个想法都可以迅速通过20-30行代码来实现(JS和LISP也是一样)。因此,它对于人工智能是一门非常有用的语言。
案例
做了一个实验,一个使用人工智能和物联网做员工行为分析的软件。该软件通过员工情绪和行为的分心提供了一个有用的反馈给员工,从而提高了管理和工作习惯。
使用Python机器学习库,opencv和haarcascading概念来培训。建立了样品POC来检测通过安置在不同地点的无线摄像头传递回来基础情感像幸福,生气,悲伤,厌恶,怀疑,蔑视,讥讽和惊喜。收集到的数据会集中到云数据库中,甚至整个办公室都可以通过在Android设备或桌面点击一个按钮来取回。
开发者在深入分析脸部情感上复杂点和挖掘更多的细节中取得进步。在深入学习算法和机器学习的帮助下,可以帮助分析员工个人绩效和适当的员工/团队反馈。
⑨ 普通程序员如何向人工智能方向转型
当下,人工智能已经成为越来越火的一个方向。普通程序员,如何转向人工智能方向,是知乎上的一个问题。
这个学习路线是这样设计的:首先了解这个领域,建立起全面的视野,培养起充足的兴趣,然后开始学习机器学习的基础,这里选择一门由浅入深的课程来学习,课程最好有足够的实验能够进行实战。基础打下后,对机器学习已经有了充足的了解,可以用机器学习来解决一个实际的问题。
这时还是可以把机器学习方法当作一个黑盒子来处理的。实战经验积累以后,可以考虑继续进行学习。这时候有两个选择,深度学习或者继续机器学习。深度学习是目前最火热的机器学习方向,其中一些方法已经跟传统的机器学习不太一样,因此可以单独学习。除了深度学习以外,机器学习还包括统计学习,集成学习等实用方法。
如果条件足够,可以同时学习两者,一些规律对两者是共通的。学习完后,你已经具备了较强的知识储备,可以进入较难的实战。这时候有两个选择,工业界的可以选择看开源项目,以改代码为目的来读代码;学术界的可以看特定领域的论文,为解决问题而想发论文。
无论哪者,都需要知识过硬,以及较强的编码能力,因此很能考察和锻炼水平。经过这个阶段以后,可以说是踏入AI领域的门了。“师傅领进门,修行在个人”。之后的路就要自己走了。
下面是关于每个阶段的具体介绍:
0.领域了解
在学习任何一门知识之前,首先第一步就是了解这个知识是什么?它能做什么事?它的价值在什么地方?如果不理解这些的话,那么学习本身就是一个没有方向的舟,不知道驶向何处,也极易有沉船的风险。了解这些问题后,你才能培养出兴趣,兴趣是最好的引路人,学习的动力与持久力才能让你应付接下来的若干个阶段。关于机器学习是什么,能做什么,它与深度学习以及人工智能的关系,可以看我写的博客从机器学习谈起。
1.知识准备
如果你离校过久,或者觉得基础不牢,最好事先做一下准备复习工作。“工欲善其事,必先利其器”。以下的准备工作不多,但足以应付后面阶段的学习。
数学:复习以下基本知识。线性代数:矩阵乘法;高数:求导;概率论:条件与后验概率。其他的一些知识可以在后面的学习的过程中按需再补;
英文:常备一个在线英文词典,例如爱词霸,能够不吃力的看一些英文的资料网页;
FQ:可以随时随地上Google,这是一个很重要的工具。不是说网络查的不能看,而是很多情况下Google搜出来的资料比网络搜的几十页的资料还管用,尤其是在查英文关键字时。节省时间可是很重要的学习效率提升;
2.机器学习
机器学习的第一门课程首推Andrew Ng的机器学习。这门课程有以下特点:难度适中,同时有足够的实战例子,非常适合第一次学习的人。cs229这门课程我这里不推荐,为什么,原因有以下:
时间:cs229的时间太早,一些知识已经跟不上当今的发展,目前最为火热的神经网络一笔带过。而Cousera上神经网络可是用了两个课时去讲的!而且非常详细;教学:Ng在cs229时候的教学稍显青涩,可能是面对网络教学的原因。有很多问题其实他都没有讲清楚,而且下面的人的提问其实也很烦躁,你往往不关心那些人的问题。这点在Coursera上就明显得到了改善,你会发现Ng的教学水平大幅度改善了,他会对你循循善诱,推心置腹,由浅入深的教学,在碰到你不明白的单词术语时也会叫你不要担心,更重要的,推导与图表不要太完善,非常细致清晰,这点真是强力推荐;字幕:cs229的字幕质量比Coursera上的差了一截。Coursera上中文字幕翻译经过了多人把关,质量很有保证;作业:cs229没有作业,虽然你可以做一些,但不会有人看。这点远不如Coursera上每周有deadline的那种作业,而且每期作业提交上去都有打分。更重要的是,每期作业都有实际的例子,让你手把手练习,而且能看到自己的成果,成就感满满!
3.实践做项目
学习完了基础课程,你对机器学习就有了初步了解。现在使用它们是没有问题的,你可以把机器学习算法当作黑盒子,放进去数据,就会有结果。在实战中你更需要去关心如何获取数据,以及怎么调参等。如果有时间,自己动手做一个简单的实践项目是最好的。
这里需要选择一个应用方向,是图像(计算机视觉),音频(语音识别),还是文本(自然语言处理)。这里推荐选择图像领域,这里面的开源项目较多,入门也较简单,可以使用OpenCV做开发,里面已经实现好了神经网络,SVM等机器学习算法。项目做好后,可以开源到到 Github 上面,然后不断完善它。实战项目做完后,你可以继续进一步深入学习,这时候有两个选择,深度学习和继续机器学习;
4.深度学习
深度学习:深度学习是目前最火热的研究方向。有以下特点:知识更新快,较为零碎,没有系统讲解的书。因此学习的资源也相对零散,下面是一些资源介绍。其中不推荐的部分并不代表不好,而是在这个初学阶段不合适:
推荐,UFLDL:非常好的DL基础教程,也是Andrew Ng写的。有很详尽的推导,有翻译,且翻译质量很高;推荐,Deep learning (paper):2015年Nature上的论文,由三位深度学习界的大牛所写,读完全篇论文,给人高屋建瓴,一览众山小的感觉,强烈推荐。如果只能读一篇论文了解深度学习,我推荐此篇。这篇论文有同名的中文翻译;推荐,Neural networks and deep learning:这本书的作者非常擅长以浅显的语言表达深刻的道理,虽然没有翻译,但是阅读并不困难;推荐,Recurrent Neural Networks:结合一个实际案例告诉你RNN是什么,整篇教程学完以后,会让你对RNN如何产生作用的有很清晰的认识,而这个效果,甚至是读几篇相关论文所没有的;不推荐,Neural Networks for Machine Learning University of Toronto Coursera:深度学习创始人教的课,最大的问题是太难,而且老先生的吐字有时不是很标准;不推荐,Deep Learning (book):同样也是由深度学习大牛所写的书,但感觉就像是第二作者,也就是他的学生所写的。很多内容都讲了,但是感觉也没讲出什么内容来,只是告诉你来自那篇论文,这样的话可能直接阅读论文更合适。不推荐,cs231n:李菲菲的课程,很有名,专门讲CNN。但是这门课程有一个最大的问题,就是没有字幕,虽然有youtube的自动翻译字幕,但有还不如没有。
5.继续机器学习
深度学习未必就是未来的一定主流,至少一些大牛是这么认为的。传统的机器学习有如下特点,知识系统化,有相对经典的书。其中统计学习(代表SVM)与集成学习(代表adaboost)是在实践中使用非常多的技术。下面是相关资源:
推荐,机器学习(周志华):如果是在以前,机器学习方面的经典教材首推PRML,但现在周老师的书出来以后,就不再是这样了。首先推荐读周老师的书。这本书有一个特点,那就是再难的道理也能用浅显精炼的语言表达出来。正如周老师的名言:“体现你水平的地方是把难的东西讲容易了,而不是把容易的东西讲难,想把一个东西讲难实在太简单”;
不推荐,Pattern Recognition And Machine Learning:当前阶段不推荐。PRML是以贝叶斯的观点看待很多机器学习方法,这也是它的一大特色。但对于初学者来说,这种观点其实并无必要。而且此书没有中文翻译,当前阶段硬啃很容易放弃;
6.开源项目
当知识储备较为充足时,学习可以再次转入实践阶段。这时候的实践仍然可以分两步走,学习经典的开源项目或者发表高质量的论文。开源项目的学习应该以尽量以优化为目的,单纯为读代码而学习效果往往不太好。好的开源项目都可以在Github 里搜索。这里以深度学习为例。深度学习的开源优秀库有很多,例如torch,theano等等,这里列举其中的两个:
推荐,DeepLearnToolbox:较早的一个深度学习库,用matlab语言撰写,较为适合从刚学习的课程转入学习。遗憾的是作者不再维护它了;
推荐,tensorflow:Google的开源库,时至今日,已经有40000多个star,非常惊人,支持移动设备;
7.会议论文
较好的课程都会推荐你一些论文。一些着名的技术与方法往往诞生于一些重要的会议。因此,看往年的会议论文是深入学习的方法。在这时,一些论文中的内容会驱使你学习数学中你不擅长的部分。有时候你会觉得数学知识储备不够,因此往往需要学习一些辅助课程。
当你看完足够的论文以后,在这个阶段,如果是在校学生,可以选择某个课题,以发论文为目的来学习研究。一般来说,论文是工作的产物。有时候一篇基于实验的论文往往需要你写代码或者基于开源项目。因此开源项目的学习与会议论文的工作两者之间是有相关的。
两者可以同时进行学习。关于在哪里看论文,可以看一下CCF推荐排名,了解一下这个领域里有哪些优秀的会议。
下面介绍两个图像与机器学习领域的着名顶级会议:
CVPR:与另两个会议ICCV和ECCV合称计算机视觉领域的三大会,注意会议每年的主页是变动的,因此搜索需要加上年份;Conference on Neural Information Processing Systems:简称NIPS,许多重要的工作发表在这上面,例如关于CNN的一篇重要论文就是发表在上面;
8.自由学习
到这里了,可以说是进入这个门了。下面可以依据兴趣来自由学习。前阶段不推荐的学习资源也可随意学习,下面是点评:
cs229:Ng写的讲义很不错,其中关于SVM的推导部分很清晰,想学习SVM推荐;Neural Networks for Machine Learning:大牛的视角跟人就是不一样,看看Hinton对神经网络是怎么看的,往往会让你有种原来如此的感悟。其实看这门课程也等同于读论文,因为几乎每节课的参考资料里都有论文要你读;CS231n: Convolutional Neural Networks for Visual Recognition:最新的知识,还有详细的作业。国内应该有团队对字幕进行了翻译,可以找找;PRML:作为一门经典的机器学习书籍,是很有阅读必要的,会让你对机器学习拥有一个其他的观察视角;
五.总结
本文的目的是帮助对AI领域了解不深,但又想进入的同学踏入这个门。这里只说踏入,是因为这个领域的专精实在非常困难,需要数年的积累与努力。在进行领域学习前,充分认识自己的特点,制定合适的学习方法是十分重要的。
首先得对这个领域进行充分了解,培养兴趣。在学习时,保持着循序渐进的学习方针,不要猛进的学习过难资源;结合着学习与实践相辅的策略,不要只读只看,实际动手才有成就感。学习某个资源时要有充分的目的,不是为了学开源项目而看代码,而是为了写开源项目而看;不是为了发论文而写论文,而是为了做事情而写论文。
本文来自公众号:“大技术技术汇”,guanzhu了解大数据行业学习大数据技术和学习路线,还有免费学习资料放送。
如果一个学习资源对你过难,并不代表一定是你的问题,可能是学习资源的演讲或撰写人的问题。能把难的问题讲简单的人才是真正有水平的人。所以,一定要学习优质资源,而不是不分青红皂白的学习。最后,牢记以兴趣来学习。学习的时间很长,过程也很艰难,而只有兴趣才是让你持之以恒,攻克难关的最佳助力。
⑩ AI写的程序是否取代了码农的工作
首先我来回答一下这个问题本身,即“ChatGPT的出现会不会导致底层程序员失业?”
我的答案是不会。因为ChatGPT是自然语言的处理工具,而并非哗闹编程AI,ChatGPT只是会一些编程,在目前ChatGPT写的代码还有比较明显的问题,且由于ChatGPT是语言AI,所以后续大概率不会向编写代码的方向去迭代,所以ChatGPT不会造成程序员失业
好,回答了这个最初的问题,再回答一些衍生出的问题
那目前ChatGPT对程序员来说是什么?
如果把ChatGPT学术价值放在一边,那对程序员来说ChatGPT是一个网络和谷歌的加强plus版
以后可能会出现编程类AI吗?
至少我个人认为会。且我个人感觉,可能还比ChatGPT相对来说难度小一些(在我看来ChatGPT更加颠枣谨覆性)
如乱岩罩果真的出现人工智能编程,程序员会失业吗?
我不知道。就像机器出现后,手艺人不需要在自己造各种食品,但是出现了操作机器创造商品的工人。但是可以遇见的是一定会对程序员这行造成相当大的地震。