零基础要如何入门人工智能呢?人工智能要怎么学?如何获得优质的学习资源?如何避免学习走弯路?
要想避免学习时容易踩坑的问题,就要在开始学习之前了解一些“学习路线规划”之类的指导类知识,这就是本文要分享的主要内容。接下来,我会根据自己的学习经验,给大家分享我总结出的AI的几个学习阶段,希望能够帮助大家更好的入门深度学习!
从小白成长为大佬的一般过程
熟悉开发工具
正所谓,工欲善其事,必先利其器。环境配置是人工智能入门阶段的第一个门槛,那么什么是“环境配置”呢?其实就是因为人工智能的学习涉及到了编程知识,因此需要配置一组软件,能够编写和执行代码。而“编写”和“执行”代码都有不同的软件可以选择,事实上,“环境配置”并不是简单安装几个软件就OK的了,“开发环境”是一个需要高度定制的一个环境,实际上,”能够完成环境的配置“和“能够成功运行第一个项目代码”(成功开始训练一个规模较小但来自真实实战案例的人工智能模型)是入门人工智能的前两个”大门槛“。
万事开头难:从复现一个实战项目开始
其实传统的”循序渐进“的学习方法是先配置开发环境,然后学习python编程,学习各种机器学习算法,以及各种”教学级“的模型,但这样会导致一个问题:在经过较长时间的学习之后,依然没有接触过实际的项目代码,而在没有接触实战代码的前提下,前面的理论学习很多都会与实用脱节,在”学以致用“上出现偏差!(例如学习了大量的sklearn库的算法之后,居然发现深度学习的核心库是pytorch!?)
因此,尽可能早的进行开源项目复现实战,是相对来说可以少走很多弯路的一种学习方法。
(开源:软件的源代码是公开的,非开源软件可以执行但是看不到软件的源代码,“代码”既可以给程序员看和编辑,又可以编译成软件,而“软件”本身在编译后是不能再看到编写软件时的源代码的,将软件的“源代码”公开从而分享给其他人就叫做“开源”。一般寻找开源软件都是在“github”网站寻找,这个网站是每个程序员都必然会接触到的网站)
在成功跑出项目的基础上,可以修改代码的参数观察代码运行结果的变化,这样就可以通过代码的运行结果来判断自己的修改是否正确,也更方便分析修改方法中存在的问题,从而更有效率的理解代码和提升自己的代码能力。(pytorch是目前深度学习最主流的框架工具,诸如数据预处理、定义神经网络模型结构、训练、测试、保存模型及其权重文件等深度学习所需的各种功能,都包含在pytorch内。)
复现一个项目往往会遇到很多的难题,举个例子,路径问题:如果你在复现某个实际的开源项目时没有遇到路径问题,那么这个项目要么太简单了,要么这个项目就是个宝藏项目,解决路径报错问题不仅要求能够初步读懂代码,还要求积累有调试经验。实际上,能够复现一个项目是一个让许多人长期卡在这一步的门槛,没有经验而无法解决问题,无法解决问题又无法获得经验,往往需要很大的耐心。而一旦跨过这个门槛,就可以通过代码的实际运行情况来验证自己修改代码的思路是否正确,具备了快速积累代码经验的条件。
快速进步期:经验的积累
积累项目复现经验:通过对比不同项目之间的差异、比较不同开源项目之间的环境配置方法和代码结构上的相似性和区别、可以了解不同的开源项目之间,哪些是结构是常见的、通用的、比较固定的,哪些是项目特有的、非通用的,其中“通用、常见、大体相同”的结构部分就可以理解为“框架”。在这个过程中,可以更深刻的理解感受”框架“和”代码规范“等概念的含义和作用。
在熟悉了代码的阅读和调试方法、了解了开源项目中的通用框架后,就可以通过代码和图文公式的对比和学习,将二者结合起来,理解模型结构在代码中的各种细节,就可以初步尝试修改模型中的参数和结构,能够在遇到问题时理解问题产生的原因,能够独立分析和思考解决方案。
接下来
能够修改模型时,就说明你已经是领先了大多数人的“技术大佬”了!当然,如果要真正的进军科研,需要对科技前沿发展有足够的了解,能够对算法、模型结构进行改进,获得更佳的性能,当学习到这个阶段时,就需要你自己来决定自己的学习和发展方向了,你可以按照自己的需求选择例如图像、时序、图神经或其他的方向进行更深入的学习,祝你好运!
暂无评论内容