[编程开发] 我现在是一名JAVA开发,有必要转型人工智能吗?

[复制链接]
xiaohai 发表于 2023-10-3 20:00:45|来自:广东 | 显示全部楼层 |阅读模式
我现在是一名JAVA开发(5年),技术水平感觉还可以。做应用层开发的都明白,大多数只是业务开发,尽管如此,我也没有放弃对技术的追求,业务只是工作需要。
我想问的是未来JAVA开发是否会逐渐的被边缘化,人工智能统治整个计算机行业发展。反正走技术道路是没跑了,想听听大家的看法,愿闻其详。
全部回复5 显示全部楼层
dzq2828 发表于 2023-10-3 20:01:20|来自:广东 | 显示全部楼层
先交代一下背景,我本科是计算机专业,主要语言cpp,研究生地质,工作之后主要用Python和Java,当然编程语言这些都是浮云只是为了说明问题,工作内容是某厂业务转算法
因为题主5年Java经验,而且技术自评不错。我是晚辈,只有1年Java经验,分布式、多线程、高并发、Hadoop……这些我都接触过,所以默认题主技术水平比我高,这些肯定也都接触过。虽然我从业经验尚浅,但是身边也是各个年龄层次的程序员很多。所以可以给题主一些思路。
怎么说呢,我刚入职不久的时候,leader就告诉过我,职级达到p7(我不是a厂的,因为a厂的评级市场上都比较认,所以为了交流方便就放它了,大概是其他几个厂对应几级大家应该都有数哈)以上,就不靠技术了,严谨来说应该是不仅仅靠技术。年少无知的我接着问 那靠什么,leader说靠影响力。OK,至于这个影响力是什么,题主自己悟吧。
1.基于以上叙述呢,我觉得题主的关注点有点偏。题主只说了技术不错,但你是做业务的,其实对业务的熟悉程度在你的职业生涯中也会占相当大的比重。这就是我们常说的“既懂业务,又懂技术的人才吃香”,这样才能做领导,题主说肯定走技术评级了,但从业现状,技术高p也是要带人,要参与业务的,这一点我们应该都有共识。所以,我觉得加深技术,同时更深入业务可以作为一个选择
2.只做业务,确实有弊端。大家都知道,除非一个公司处于上升期,用户量一直在增长,业务需求一直在变更,这时候可以不断的磨炼开发技术。但是如果不是在互联网公司,或者公司已经进入平稳期,业务需求变动不大,只是维护原有系统。其实技术很难有大的提升,我不知道别人,反正我一直觉得工业界,技术就是为了实现功能。自己看再多书,不如突然一个用户量直线上升,搭个系统出来,不断迭代优化学的东西多,闭门造车不靠谱。其实我觉得中间件也是个不错的选择,大厂都喜欢搞自己的中间件让各个业务线接入,这个你应该知道吧,thrift、zookeeper、Hadoop……这些,这个方向主要是比较平稳,不直接面向用户,而且一直专研一个领域,也比较容易成为专家,我觉得也是一个可以考虑的方向
3.终于到题主说的人工智能了,人工智能太虚了,身边基本没人这么叫,平时也就叫算法。我真不觉得弄个模型调整一下推荐叫人工智能,深度学习也不行。真正的人工智障至少要有我头像百分之一吧,现在千分之一有吗?我不太懂很多人为什么把这个事看的这么重,还来知乎提问,如果是我,我有了这个想法,自己就买两本书,看看自己能不能转,每个领域都有门槛,很多人看两眼就知道转不了,就跟六岁的时候思考上清华好还是上北大好一样。基本上在你实践的过程中,就是不断获取信息及自我评价的过程,自己就能清晰,到底值不值得转,值得转,自己又有没有这个能力。知乎上的人不了解你啊大哥。其实,真正的人工智能还处于实验室阶段,门槛还是挺高的。bat也就有几个部门,tmd可能也就一两个。其他中小型企业根本不存在各种xxLab。平时应用的,更多的偏算法工程实现,像高赞说的那种,但并不是说算法不重要啊,向t这种核心竞争力就是算法,重要但hc没那么多,当然真做好了,肯定是比业务开发相对有前途。至于你个人要不要转,如果看了概率统计等等这些,觉得不怵,我觉得可以转,换个游戏玩儿,赚钱又多,原有的本事又不会丢,没啥损失呀
钻石王老五 发表于 2023-10-3 20:01:56|来自:广东 | 显示全部楼层
给亲推荐一个童鞋曾经问我们的问题:25岁Java工程师如何转型学习AI?
他的问题是这样的:“我是一名25岁的Java开发工程师。本科学习的专业是信息与计算科学(数学专业),因为对计算机方面感兴趣,之后培训学习了Java,所以现在从事Java开发。目前就是在电商公司开发一些系统。
我对人工智能非常感兴趣,对数学的兴趣也从未减弱。人工智能设计的学习材料很多,像我这样的状况,如果想要转型以后从事这方面的工作,具体应该学习些什么?”
阿里技术童鞋“以均”回信:
首先,我想聊聊为何深度学习最近这么火。
外行所见的是2016年AlphaGo 4比1 战胜李世石,掀起了一波AI热潮,DeepMind背后所用的深度学习一时间火得不得了。其实在内行看来,AlphaGo对阵李世石的结果是毫无悬念的,真正的突破在几年前就发生了。
2012年,Gefferey Hinton的学生Alex使用一个特别构造的深度神经网络(后来就叫AlexNet),在图像识别的专业比赛ImageNet中,得到了远超之前最好成绩的结果,那个时候,整个人工智能领域就已经明白,深度学习的革命已经到来了。
果然,之后深度学习在包括语音识别,图像理解,机器翻译等传统的人工智能领域都超越了原先各自领域效果最好的方法。从2015年起,工业界内一些嗅觉灵敏的人士也意识到,一场革命或已到来。

关于基本概念的学习


机器学习与深度学习
深度学习是机器学习中的一种技术,机器学习包含深度学习。机器学习还包含其他非深度学习的技术,比如支持向量机,决策树,随机森林,以及关于“学习”的一些基本理论,比如,同样都能描述已知数据的两个不同模型,参数更少的那个对未知数据的预测能力更好(奥卡姆剃刀原理)。
深度学习是一类特定的机器学习技术,主要是深度神经网络学习,在之前经典的多层神经网络的基础上,将网络的层数加深,并辅以更复杂的结构,在有极大量的数据用于训练的情况下,在很多领域得到了比其他方法更好的结果。
机器学习与大数据
大数据:机器学习的基础,但在多数语境下,更侧重于统计学习方法。
机器学习,深度学习,数据挖掘,大数据的关系可以用下图表示





系统学习资料
深度学习火起来之后,网上关于深度学习的资料很多。但是其质量参差不齐。我从2013年开始就关注深度学习,见证了它从一个小圈子的领先技术到一个大众所追捧的热门技术的过程,也看了很多资料。我认为一个高质量的学习资料可以帮助你真正的理解深度学习的本质,并且更好地掌握这项技术,用于实践。
以下是我所推荐的学习资料:
首先是视频课程。
Yaser Abu-Mostafa
加州理工的Yaser Abu-Mostafa教授出品的机器学习网络课程,非常系统地讲解了机器学习背后的原理,以及主要的技术。讲解非常深入浅出,让你不光理解机器学习有哪些技术,还能理解它们背后的思想,为什么要提出这项技术,机器学习的一些通用性问题的解决方法(比如用正则化方法解决过拟合)。强烈推荐。
课程名称:Machine Learning Course - CS 156
视频地址:
https://www.youtube.com/watch?v=mbyG85GZ0PI&list=PLD63A284B7615313A
Geoffrey Hinton
深度学习最重要的研究者。也是他和另外几个人(Yann LeCun,Yoshua Bengio等)在神经网络被人工智能业界打入冷宫,进入低谷期的时候仍然不放弃研究,最终取得突破,才有了现在的深度学习热潮。
他在Coursera上有一门深度学习的课程,其权威性自不待言,但是课程制作的质量以及易于理解的程度,实际上比不上前面Yaser Mostafa的。当然,因为其实力,课程的干货还是非常多的。
课程名称:Neural Networks for Machine Learning
课程地址:https://www.coursera.org/learn/neural-networks
UdaCity
Google工程师出品的一个偏重实践的深度学习课程。讲解非常简明扼要,并且注重和实践相结合。推荐。
课程名称:深度学习
课程地址:https://cn.udacity.com/course/deep-learning--ud730
小象学院
国内小象学院出品的一个深度学习课程,理论与实践并重。由纽约城市大学的博士李伟主讲,优点是包含了很多业内最新的主流技术的讲解。值得一看。
课程名称:深度学习(第四期)
课程地址: http://www.chinahadoop.cn/classroom/45/courses
阿里云大学
出了很多免费的机器学习课程,理论和实践相结合。
#阿里云大学#免费精华课程集锦:
1.《大数据之R语言速成与实战》免费学http://click.aliyun.com/m/1000007109/
2.《Python基础快速入门实战教程》戳此学习http://click.aliyun.com/m/1000007110/
3.《深度学习与自然语言处理》牛津出品http://click.aliyun.com/m/1000007114
4.《机器学习快速上手与实战》机器学习专家主讲http://click.aliyun.com/m/1000007115/
推荐阅读书目
《Deep Learning the Book》 —— 这本书是前面提到的大牛Yoshua Begio的博士生Goodfellow写的。Goodfellow是生成式对抗网络的提出者,生成式对抗网络被Yann LeCun认为是近年最激动人心的深度学习技术想法。这本书比较系统,专业,偏重理论,兼顾实践,是系统学习深度学习不可多得的好教材。
英文版:http://deeplearningthebook.com
目前Github上已经有人翻译出了中文版:
https://github.com/exacity/deeplearningbook-chinese

推荐学习路径
不同的人有不同的需求,有些人希望掌握好理论基础,然后进行实践,有些人希望能够快速上手,马上做点东西,有些人希望理论与实践兼顾。下面推荐几条学习路径,照顾到不同的需求。大家可以根据自己的特点进行选择。
Hard way
Yaser -> Geoffrey Hinton -> UdaCity -> Good Fellow
特点:理论扎实,步步为营。最完整的学习路径,也是最“难”的。
推荐指数: 4星
Good way
Yaser -> UdaCity -> 小象学院 -> Good Fellow
特点:理论扎实,紧跟潮流,兼顾实战,最后系统梳理。比较平衡的学习路径。
推荐指数: 5星
"Fast" way
UdaCity -> Good Fellow
特点:快速上手,然后完善理论。
推荐指数: 4星
"码农" way
UdaCity
特点:快速上手,注重实践。
推荐指数: 3星
---end---
最后,再给大家推荐下阿里云栖社区还有人工智能版块,每天都有新内容:http://click.aliyun.com/m/1000007116/
更多技术干货敬请关注云栖社区知乎机构号:阿里云云栖社区 - 知乎
111111zz 发表于 2023-10-3 20:02:39|来自:广东 | 显示全部楼层
人工智能属于上层建筑,实际上大部分做机器学习算法的不能做到工程落地。特征可以由数据仓库的人,采用spark sql方式产生。数据特征准备好了后,才让他们应用机器学习算法训练模型。如果模型结果好,接下来就需要java程序员把sql翻译成代码,在线计算特征(搬砖)。在线模型预测工程也是需要工程师来做的。
     猜测很多公司多会有算法工程部门来配合模型开发。这里面就有大把java工程师的工作,比如特征工程,在线实时计算,在线推荐,数据仓库,甚至底层数据平台。
     转型路上很艰苦,相当于你拿劣势,甚至零经验比拼别人的优势。我这3年尝尽痛苦。读过storm,spark源码,读过redis,rocksdb源码。做过N个实时流计算工程,特征工程,数据仓库,数据挖掘,NLP,算法建模(实际只用过xgboost,kmean),尝试过自定义page rank,社区发现算法,使用过simhash,word2vec算法。
       更多的痛苦来自脏数据,甚至快上线了发现数据压根就是错的。工作量大,加班多(尽管没有产品经理),产出漫长,特别漫长。因为很多想法不去尝试无法知道结果如何。比如说,我认为经常逛夜店的贷款的更容易逾期,然而实际并不是。工作难道也大,算法的目标是提升效果,却不知道怎么做,尝试很多方法一点效果都没有。经常怀疑人生,我为什么选择自虐。
      不要轻易转型,除非你真的准备好了。
七晴六雨 发表于 2023-10-3 20:03:17|来自:广东 | 显示全部楼层
阿里41岁的博士还在研究java呢,java你都没学透,你去搞人工智能。以后随便冒个热点,你又要转?分布式,架构,并发,你学会了?不要盲目追求热点,术业有专攻,学精吧,java水深的很,够你搞十几年。
萤火虫儿 发表于 2023-10-3 20:04:13|来自:广东 | 显示全部楼层
背景:某厂算法部门,10年算法经验的算法小小小工程师/(ㄒoㄒ)/~~。算法工程师有时候可能比普通的应用开发工程师要苦,要脏,要累很多。转型前慎重(⊙o⊙)哦!

首先说明一点就是:很火不代表真的很赚钱,很火不代表它很轻松,很火不代表真的适合你!


在回答你的问题之前,我们可以讲个故事:

上个月接到一个新的任务(做一个底层推荐算法),对于我们现在有的用户量数据(上亿),已经不能满足于只调用现成的MF矩阵分解方法方法,有必要编写适合自己的算法,于是我们这群算法工程师闪亮登场。慈慈慈,看paper,找到好的方法,没找到源码没事自己来实现,一开始使用tensorflow,然后再使用矩阵分解,不断epoch最后搞定。OK!乐开花儿!
对你没有看过,你妹的我们居然用了2周时间搞定一个推荐算法模型,很开心哦,马上用真实数据去测一下效果(先用日活500万用户数据试试)。矮油尼玛!!!算法崩掉了内存不足,艹,FFFF佛慈悲。冷静,内存不足肯定是开辟空间太大了,一个500万用户和10万物品的排名矩阵太大,那我就改用索引方式进行稀疏表存储!这还难得了我们这群吃猪脑长大的算法工程师么!啪啪啪的搞了1周,效果明显,能够正常运行了。于是经过漫长的等待!。。。。。
等待真的很漫长,怀孕的孩子都要出来了。500万行的矩阵操作,就算内存塞得下,迭代计算次数还是很慢啊,计算一次得一天,怎么做实时推荐!每天的离线推荐都难!好了,后面的事情就是无尽的工程问题,多线程,多线程不行,那就来并发,并发不行就来多服务器分布式,然后也来个GPU什么鬼的一起上!

这么一来,你应该知道只是转人工智能不能只懂算法,还要懂系统,懂数学,懂分布式,懂架构,不然怎么做算法构架。这一过程,得多长?为什么不把自己JAVA学好呢?JAVA的架构你掌握很熟了,设计千亿级的调度你搞得定么?快速拉取TB级别的数据怎么设计框架?兄弟别着急转型,想想你在自己岗位还有什么做得不够好,不够精的事情吧。

问主说:我想问的是未来JAVA开发是否会逐渐的被边缘化,人工智能统治整个计算机行业发展。

这。。。兄弟脑子短路还是外行的?JAVA开发会变边缘化那么原有的系统用什么维护?新的分布式系统用什么开发?人工智能自动开发吗?别傻了,你又不是没有打过代码玩过游戏,都是if else组成的。理智点行不行?清醒点行不行?OK不OK兄弟?

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则