绝对不是标题党,先上图证明自己的身份:
左上角是我的学信网档案,可以看到我大学4年是市场营销这个文科专业,但依然还是在数据挖掘比赛——《中国Datathon数据马拉松大赛》连续拿到了2次亚军。
这里请允许我打个硬广告(因为前程无忧跟CSDN不是竞争关系),在这里特别感谢主办方前程无忧,奖金池高达12万,中国Datathon系列比赛每年6月-7月举办一场,大家也可以去参加。
回到正题,今天就给大家分享一下以下2大话题:
一、我为什么要转型搞人工智能?
二、我的人工智能自学方法
三、对同样有转型想法的人的建议
我转型之前是在一家教育公司做产品运营的,别人都说这个岗位是名誉上的“产品经理”,但无论是运营,还是产品板块,我做起来都感觉不是很舒服(当然也有可能是我层次太低了,大家仁者见仁):
1. 给我的感觉就像是打杂,什么都做,但什么都不精,很难形成自己的核心竞争力(虽然现在面向谷歌编程,好像也没啥核心竞争力,但至少时代浪潮下对技术的支持,就是程序员最大的底气);
2. 不同项目的玩法大同小异,尽管当时已经做出了12套课程方案,对接了40个导师,但感觉真正能沉淀的下来的经验其实不多,没有太多积累;
3. 加班比较多,尤其是大促节点,有些合作伙伴在国外,还要去配合他们当地的时差,搞得我半夜都在聊微信,甚至除夕夜还要赶春节促销方案;
4. 钱少。
没有成长、辛苦、钱少,基于以上三大原因,我当时迫切希望能够转行,也做了很多尝试,但无一例外都不是特别适合我:
一开始尝试着做新媒体运营类的工作,但发现新媒体运营确实成长很快,但基本上是被热点24小时吊着,只要出了热点,就得立马起来赶稿子;
后面做了一段时间自由平面设计师,但是很难接到单子,甚至说第一个稿子的PSD原件因为没有签合同和加水印,被别人骗走了……
当时最满意的还是产品经理这个岗位,可是它唯一的缺点就是要非常高频的开会以及跟别人打交道,而我又偏内向(可能大部分人都看不出来,但事实确实如此),一开始还撑得住,到后面我是真正体会到了何谓“上班如上坟”。
在诸多困境之下,我开始尝试这个全网都在吹的高薪职业:数据分析师,如果是“运气好”的小伙伴,应该经常能够在某乎和朋友圈看到他们的广告,这里我就不展示他们的广告了。
我对这个岗位的心路历程完全可以用成龙老师的话来解释:
其实之前我是拒绝做数据分析师的,因为网上宣传的太夸张了,并且我感觉写代码跟我这种文科生完全不搭边,但没办法,其他岗位都试过,都不喜欢,再不做出点突破就没饭吃了。
后来我试着学了一下Python,哇,BUG率真的很高,但奇怪的是,我感觉自己就是为写代码而生的,真的很有趣,并且不用跟别人说话,爽爽爽!
那我又是怎样通过数据分析接触到人工智能的呢?
我记得还是一个销量预测的项目,一开始是用Excel的预测工作表做的,但老板说“准确度不够”。
后面通过网上查找方法,接触到了Sklearn的LinearRegression(线性回归),也就是在那个时候,我了解到了“什么是机器学习”。
接下来的故事就比较简单了:自学Sklearn>>>参赛获奖>>>自学tensorflow>>>参赛获奖,这块的经验放到第二部分讲,直到现在,虽然因为学历问题没有成为正式的人工智能从业者,但我在广州主讲了2场线下人工智能讲座,参加了12场人工智能比赛,勉强算是入门了吧。
可能很多人对于人工智能小白会推荐吴恩达老师的《机器学习》,或者是周志华老师的西瓜书:《机器学习》,是的,我一开始也是这样去学的,但当时发现了两个问题:
1. 两位大师的课程中都包含不少的数学公式,对我这种上课不是用同济数学的文科生来说不太友好
2. 两位大师的课程跟代码结合不是很紧密,尽管有配套的代码训练,但看起来还是感觉理论跟代码割裂了。
这里比较推荐台大李宏毅老师的《人工智能》,具体链接大家自行搜索。
(插一句嘴,这里不是说吴恩达老师和周志华老师不行,只是两人的教学理念更适合有基础的理工科同学)
然后,我的建议是不要想着一口气看完李老师的《人工智能》课程,一方面是整体学习起来比较枯燥,可能会对学习信心和学习动力产生很大的打击,另一方面,代码学习中光学不做是不行的。
我的建议是可以一边学习,一边参加一些非常简单的训练赛,比如经典的泰坦尼克号生还者预测之类的,在学中做,做中有不懂的带着问题去学,效率会很高。
对李老师的课程学得差不多了,并且学习赛也参加了几个,成绩不错,就可以开始读Sklearn和Tensorflow的官方文档了,最好还是看英文版的,一方面,方便后面去阅读一些顶会或者比赛的Paper,另一方面,很多的超参数你会记忆清晰一些,比如一看到CV你就可以想到是Cross Validation。
当然,这里的“读”不是指从头到尾把每个概念都搞得一清二楚,而是指“重点看自己关心的,如果有复杂的数学原理先跳过”。
这里拆解一下:
1. 重点看自己关心的:比如我做数据分析很关心【回归和分类】,所以给我读官方文档的前一周,回归和分类板块的学习基本占到了80%的部分,其他板块比如聚类和降维我基本上有特别难懂的就放过了;
2. 如果有复杂的数学原理先跳过:比如我之前研究【音频分析】,里面有个概念叫做【梅尔倒波频谱系数】,里面有个叫做【傅里叶变换】的,我一开始死活搞不明白,干脆直接放过了,因为人工智能很多代码都打包好了,不明白【傅里叶变换】不影响代码使用,直到后面对【音频分析】有了更深入了解才明白“傅里叶到底是怎么变换的”(开个玩笑哈哈哈)。
基本研究完官方文档之后,就可以开始参加一些奖金额度不高(冠军奖金10万元以下)的比赛了,不用太担心,因为人工智能比赛参加的人本身就比较少,获奖率还是比较高的(之前一个比赛获奖名额10人,7个人提交作品……),哪怕没拿奖也是一个很宝贵(装逼)的经验,可以写到简历里面去。
最重要的是,冠军奖金10万元以下的比赛,大佬出现几率比较小,之前参加过一个冠军100万元奖金的,来的大都是Kaggle比赛前2%的神仙……
因为这里有些平台涉及到CSDN的竞对关系,我就不推荐了,大家可以在CSDN首页查找到很多比赛。
我现在就在这个阶段(因为之前跟一个清华大佬交流,他说我用的模型落后时代5-7年),这一块我能说的很少(我还在踩坑中),总之就是一个一个概念去搞懂吧。
1. 人工智能正式工作学历歧视非常厉害,不单单是卡985和211,还会卡是本科还是硕士,如果对这个领域感兴趣,可以像我一样去参加它的比赛或者是写写相关文章,无法做人工智能这艘大船上掌舵的,当个水手也是不错的。
2. 搞技术会不会35岁退休?第一,不会,这是周鸿祎说的,第二,就算会退休,疫情下,很多岗位还没到35岁就找不到工作了。
3. 如果实在不想做人工智能,可以来做数据分析,目前我现在就是高级数据分析师,这个岗位唯一的点就是重复性工作比较多,并且大部分时候不跟别人交流,其他的缺点基本没有(这些对我来说反而是优点):加班少,工作比较稳定,收入也可以,我是强烈劝入的,当然,建议还是尽量靠自学。