人工智能学习心得
一、第一次接触的准备
1.开发环境:Pycharm(尽量装在固态硬盘上)
JetBrains公司的一款python编译器,安装很简单。建议大家先安装一个toolbox-app直接在toolbox里安装。toolbox可以管理JetBrains公司的软件和相关的项目,很方便。
pycharm需要付费,可以选择:
- 破解
- 申请一个GitHub学生认证免费用到毕业
- 淘宝上有激活码卖。
(望支持正版)
2.配置好代码运行环境
就像鱼要在水里才能游,鸟在天上才能飞。我们写的代码也要有一个运行的环境,这个环境就是你写的代码所引用的一些包。
但是你写的不同的工程可能引用了不同的包,不同的工程就有了不同的运行环境。这就需要进行环境的管理,环境管理可以通过anaconda进行。下面是一个anaconda安装及使用教程。先看到配置环境变量,管理虚拟环境和之后的先不看。 我的机器上安装的是python3的版本。
csdn右侧有目录。
打开anaconda创建环境
下面是用界面创建环境,上面教程中是用命令行的方式创建环境:管理虚拟环境部分
刚创建好环境就会有一些默认导入的包
之后每用anaconda新建一个环境,在envs文件夹下就会多一个以环境名为名字的文件夹。
上面是需要准备的一些软件,如果安装教程没有写清楚的可以自己在其他网站上搜索一下解决方法
二、学习过程
1.课程介绍
在我的学习过程中,主要是在一个叫coursera的网站上学习的,在这个上面一门深度学习课程Deep Learning。
这是一门专项课程,里面包含5门小课程。我个人认为其中最受用的,是1、2、4门课。
-
课程1,2——介绍了深度学习的基本原理,和一些基本的概念。原理讲解深入浅出,只需要知道线性代数的乘法运算,求导运算就可以看懂。对一些公式的推倒,大家能看懂最好,暂时不必拘泥于这些细节。但要了解各个公式的作用。对于一些概念和术语一定要分清楚,比如测试集,开发集有什么不同,训练模型时应该关注什么指标。
-
课程3——这是一门锦上添花的课程,讲的是一些训练模型时的技巧。吴恩达说这一部分:即使是已经从事了深度学习工作的人也值得一看的。引用了几个案例,分析了模型效果出现偏差的原因。
-
课程4——是讲的卷积神经网络(CNN),这是这5门课中最为重要的,课后的代码作业要看懂。CNN是如今深度学习广泛使用的,尤其是在图像方面。我参加比赛也是使用的CNN。
-
课程5——讲的是循环神经网络(RNN),也是十分重要的一种技术。但是比起CNN的课程有一些难度。RNN在自然语言处理方面应用十分广泛。
2.课程作业和参考资料
在每一周的课程之后都有对应的编程作业,由于是全英文,所以完成起来有一些难度,这里有别人写的一份参考答案:吴恩达课程参考答案
注册课程主要是为了其中的代码作业,看懂代码作业对代码能力的提升很大。B站有这门课程的翻录:B站相同课程链接
3.参加课程
这个课程是需要付费的,但是可以申请助学金免费学习。申请助学金需要用英语填写一些材料。我会把申请材料的模板发在群里。
申请后需要等两周时间,然后课程免费两个月。所以尽量提前申请,一门一门地申请,上一门课快学完就申请下一门。
三、比赛、实战(重点中的重点)
2019年10月~11月我参加了一个人工智能比赛。这短短一个月的比赛所带来的能力上的提高,是之前几个月加起来都赶不上的。只有自己从零开始写了一个程序之后才知道,在老师没有侧重讲解的地方,还有许多实际问题。这些问题是在真正的项目中不可避免的。比如:
- 如何读取图片进行训练
- 项目的目录结构如何组织
- 如何写出可读性强的代码
- 用什么策略进行超参数的调整——每次该参数都在代码中找到定义参数的位置再去改即麻烦还容易出错
等等。。。
这些问题既有技术上的,也有编程技巧上的。总之,比赛是一个把之前所学融合在一起应用的机会。有了比赛时间的压力,会比以往更迫切地想要解决问题。能力就是在不停地解决问题的过程中提升的。