前言
作为一名在本科期间做过前端,研究生期间研究了深度学习,目前是一名前端开发工程师的我,应该说一下我作为前端开发工程师在人工智能浪潮里该做些什么。
如何看待人工智能
本人是深度学习方向探索过三年的研究生,在老师的洗脑下对深度学习和整个人工智能方向是非常看好的。我认为深度学习有能力实现真正的强人工智能,产生一次新的技术革命,我称之为智能化革命。未来会有大量的岗位被人工智能所取代。当然也可能包括软件工程师。
深度学习给前端的挑战与机遇
相信很多人都知道了pix2code这个研究成果,lstm曾在自然语言处理上有很大的成功,现在开始了对编程语言的挑战。对于很多前端开发工程师来说可以说是百感交集,未来有了机器人帮自己工作,似乎可以摆脱一些繁琐的页面样式工作,但也可能会为自己的未来感到担忧。
这里我大胆的猜想一下,三年后类似pix2code的东西在科研层面将会非常成熟,具体的就是识别速度大大加快,识别率大大提升。为什么这么说呢,是基于一个经验和一个事实。经验就是,在深度学习领域如此轰动的成果必然会有很多科研人员加入这个方向的研究,另一个事实就是目前识别率不高的很大问题在于训练样本集太小。
假设几年后前端开发工程师已经是可以在深度学习产出后的代码上直接工作了,那么很多前端工程师的职能一定会有很大的变化。深度学习的大发展也让前端工程师有了新的分支——数据可视化工程师。百度的Echarts就是一个很好的例子。
学习深度
人工智能算是一个大坑,所以在这块的认知可以根据实际情况对应学习。
- 基础认知
作为一名工程师了解深度学习,机器学习究竟是什么,他们可以处理什么样的问题是很有必要的,就算在长时间内可能不会去处理类似的问题。另外可以关注一下深度学习的一些突破性进展。
- 实践探索
这里如果是对python没有基础也不想学习的,可以去使用js的一些库,推荐keras.js。这个库可以将keras的训练后的模型直接在浏览器端做一个识别也可以进行网络可视化。
谷歌推出的浏览器端的机器学习库deeplearn.js.
node的machine_learn
python党例如tensorflow,keras都是很好的库。
如果需要实践可以在github上找一些小项目理解一下运行的流程,网络的结构即可。一开始如果就尝试啃公式和论文会很痛苦。 - 深入原理
首先先申明一点,学习算法的到深处都是满满的数学公式,所以如果有需要可以对例如svm,梯度下降,神经网络的数学模型进行学习,甚至推导。基础的知识我推荐http://ufldl.stanford.edu/wik...。
其他知名算法的数学模型网上也比较多。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。