随着互联网、物联网产生越来越多的数据,大数据时代早已到来,同时近10年来,随着高性能硬件加速器如GP-GPU、TPU、AI专用加速器等飞速发展和深度学习技术突飞猛进的发展,人工智能已经如火如荼地繁荣发展,在计算机视觉图像识别、目标检测、视频行为识别、自然语言处理、机器翻译、无人驾驶、智能交通等领域取得了耀眼的成就。人工智能使用深度神经网络端到端地自动提取特征以及进行分类,相比传统的机器学习方法来说效果提升巨大,同时使用高性能加速器加速神经网络,极大地促进了深度学习技术在现实中的落地。AI的兴起在学术界和工业界引起了人们极大的关注以及兴趣,各种以AI业务和开发AI产品的公司如雨后春笋般地兴起,同时世界上各大高校和研究结构也积极投身于AI浪潮之中开拓自己的一片天地。
目前有不少高校,还积极响应国家大力提倡和发展人工智能,新增设了如人工智能之类的专业,计算机专业也成为了当前各种专业之中的香饽饽,水涨船高,竞争也更加激烈,整个AI领域充满了无尽的生机和活力。人工智能是一个交叉性的学科,针对目前诸多国内高校本科就新开设的人工智能专业,我作为一个曾经也学习和了解过人工智能领域的研究生,在此针对人工智能专业入门应该掌握的基础知识和学习方法提一些建议,这可能有助于一些新手入门人工智能领域。
高数我觉得不一定要学习的多好,但是基础的知识要熟练掌握。要熟练掌握梯度、导数等概念,要会求导数,特别链式求导方法。
2. 线性代数 课程
这个就比较重要了,一般都是研究二维矩阵和方阵的各种性质以及常见的各种运算。神经网络最主要涉及矩阵的加减乘运算。
3. 概率论与数理统计 课程
人工智能主要是利用神经网络挖掘数据中蕴含的模式与规律,也是对数据进行统计与分析,一般最终的结果往往具有概率意义的高层语义意义。
4. 矩阵论 书籍
了解一些基础的就行,特别是矩阵分解这方面的知识。
5. 生物学中的神经信号传递 原理与机制
这有助于了解人工神经网络的原理与机制,人工神经网络并不是空穴来风,不是人们臆想的产物,而是受生物学神经信号传递的原理与机制的启发而创造产生的。
6. 数据结构
了解最基础的计算机中的数据结构及其表示以及基本运算就可以。
7. 最优化理论与方法
优化问题无非就是求解函数最大值、极大值、最小值、极小值的问题,高等数学已经给出了基本的求解方法,但是很多问题我们往往是不能求得显示解析解的形式,而最优化理论与方法会介绍求解此类优化问题的方法,比如梯度下降法。通过学习这门课程,我们会了解到计算机是如何通过梯度下降算法一步一步迭代式地求解网络参数的最优值(多数是局部最优,并不能保证全局最优)。
8. 人工智能之高中版 书籍
这本书,是我在学习人工智能时偶然阅读的一本面向高中生的人工智能入门书籍,这本书通俗易懂、形象生动,尽量避免高深的数学公式和AI相关的高深理论,通过案列和讲故事地方式引领我们走进AI领域。总体来说,这本书是写的非常不错,值得每个入门AI的学员阅读。
9. python基础编程 书籍和教程
光学习理论还不够,我们一边学,一边也要进行实践,这样才能真正将理论与实践相结合。计算机就是这样的一门科学,理论永远要通过实践进行检验,正如实践是检验真理的唯一标准一样。计算机方面编程语言众多,入门AI也好,真正从事AI也罢,python都是一门必须要学习和掌握的语言。相对其它计算机编程语言来说,python是比较方便上手和入门的,不要学习者懂多少计算机的底层知识,也不需要懂多少计算机专业的基础,就像你学习HTML一样学习python就是。记住,python就是符号化的编程语言,了解和熟悉什么符号对应什么功能就可以,不需要问其背后实现的原理。
10. keras深度学习框架 书籍和教程
学习AI,如果要实践和实现自己的idea,那么了解和熟悉一些深度学习框架就是必然的事情了。就我的经验来说,开始入门学习强烈推荐keras深度学习框架,我们可以将tensorflow作为keras的后端,这也是多数人的选择,当然使用其它keras支持的后端也是可以的。只要熟悉python编程,那么学习keras就可以直接上手了,你会发现数据预处理、搭建神经网络、评估模型等原来这么简单,特别是搭建神经网络简直就和小朋友堆积木一样简单和有趣。
一句话,一边学习一边实践,网络上资源很丰富,相关的优秀Paper和开源项目也很多,绝大部分问题都可以网上找到相关解决方案。不要怕错,不要怕不会,先就是抄袭别人,把别人的跑起来,然后看懂别人的代码和项目结构,在别人的基础上进行修改实现我们自己的idea,我们可以借鉴别人编程风格,模仿别人项目代码的组织结构,还有很多使用的代码片段工具也是可以copy过来使用的,这些都是学习知识的正常操作。