大龄程序员的人工智能学习之路[1]

我大学本科学的并非计算机相关专业,毕业后在外面工作了三年之后,考研重返校园,专业是计算机应用,算是半个科班出身。硕士毕业之后留在了武汉,然后就一直在武汉工作。在二线城市工作是一件比较尴尬的事情,跳槽选择少,这就需要看个人运气。如果企业发展的好,一直做下去,也有不错的前景。遗憾的是,我工作的第一家公司,主业是中国电信的公用电话。现在大街上已经没有公用电话的影子,在当年可是火热的很,公司也因此成功上市。然而,等我在公司正辉煌的时候进入时,手机开始崛起,开始冲击公用电话市场。等大家都有手机的时候,谁还会用公用电话呢?我算是见证了手机从身份的象征开始走进千家万户,同时也见证了公司的衰落。期间公司虽然尝试转型,但转型哪是那么容易的。这段时间,从后端管理系统到桌面软件,再到嵌入式系统,涉足的技术很多,但不精,公司没发展,个人也谈不上发展,呆了六年多时间,前途无望,离开了这家公司。其后的几个单位,都不是那种发展特别好的企业,活下去没问题,但是也没有大的作为。
就这样一直很平稳的工作着,结婚生子,一晃就迈过了四十大关。在我刚入行的时候,那时流行的说法是程序员30是一个坎,等我30岁的时候,门槛悄然变成35岁,然而等我到了40岁的时候,我依然在处在编程一线。幸亏个人心态比较好,要不真得给焦虑死。
工作生活在二线城市,工作和生活的压力要小得多,比如加班少、平时业余时间比较多,工作方面因为做了十几年开发,也算是轻车熟路。收入方面虽然相对于北上广深差很多,但相对当地的收入水平,还算是高薪,再加上买房买车也比较早,以前干一个月,至少可以买两个平方米的房子,所以生活上的压力也不大。

本来平淡的日子可能就会这样延续下去,有一天,我看了一本松浦弥太郎的《给40岁的崭新开始》一书,给了我很大的触动。作者在书中写道,随着现代医学和营养学的进步,人们健康活到80岁并不是不可能,更有乐观人士估计,我们这代人的平均寿命将达到100岁。
如果从“70岁才是人生巅峰”的角度来思考,以40岁作为人生新的起点,步入中年并不是一件让人悲观的事情



我决定行动起来,做点事情。其实也没啥雄心壮志,只是空闲时间多,总需要做点事情。往哪个方向做,当时并没有想好,只是决定行动起来,开通了微信公众号,写下了第一篇文章《给40岁的崭新开始》。随后连续写了几篇书评和技术文章,但还没有定下人工智能这个方向。
2016年AlphaGo横空出世,引爆了人工智能这个领域,作为一名围棋爱好者,我也一直关注着。但我一直觉得人工智能太过高深,不是我这种平凡之辈可以驾驭的。然而这段时间,我有几个同事离职之后进入了人工智能这个行业,让我大为吃惊,也让我开始了解人工智能这个行业。在了解这个行业之后,发现人工智能其实和其它行业一样,都有各自的分工,并不是每个人都需要去研究高深的算法,大部分人还是做工程技术性的工作,这样我可以从具体编程切入这个行业。向同事求证,也坚定了我的想法。
有了想法,需要立即行动起来。考虑到数学理论知识差,在知乎和论坛上也查看了大神们的帖子,决定从《机器学习实战》这本书入手。这本书没有从理论角度来揭示机器学习算法背后的数学原理,而是通过“原理简述+问题实例+实际代码+运行效果”来介绍每个算法。

从事编程这么多年,我还是知道虽然实际中不需要掌握很深的理论知识,但了解一些理论对于算法的理解还是必不可少的,所以我又选择了《机器学习》一书作为补充。

本书被网友亲切的称为西瓜书,也是一本教科书,而且是一本入门的教科书。其宗旨是理清基本概念、了解领域概貌。虽然作者试图尽可能少的使用数学知识,但相比《机器学习实战》,这本书的数学公式还是多了不少,对读者的要求也要高一些,读起来相当吃力。

针对这个选择,当时写了一篇文章《 数学不好,进入机器学习领域还有戏吗?
》,也算是给自己打气。
接下来就是啃这本《机器学习实战》,很辛苦,将书中的代码一行行亲自敲进电脑、运行,看西瓜书,力争透彻理解算法,输出文章谈对算法的理解。虽然说以编程实例为基础,但涉及到的理论还是让我很头疼,学习进展也很慢。特别是读周志华的《机器学习》,更是令我崩溃。一次我将我的苦恼向朋友倾诉,朋友指出,现在的机器学习框架,都有封装好的算法,如果不从事算法优化工作,其实不需要把算法理解得很透彻,只需要掌握基本原理,更重要的是在实际项目中如何运用算法,如何使用框架快速实现并部署。这也点醒了我,我不就是准备从编程入手,怎么学着学着就在那儿死磕算法呢?朋友还建议我看一看吴恩达的《machine learning》的在线课程。
于是,我又转向了吴恩达的《machine learning》在线课程的学习。
在下一篇文章中,我将继续讲述我的大龄程序员的人工智能学习之路,敬请关注。
你还可以读: