天天看点

人工智能入门-入门人工智能看什么书

作者:BM小伟

小知识,大挑战!本文参与《程序员必备小知识》创作活动。

问题

关于人工智能,如何才能快速入门、应该如何学习?

人工智能入门-入门人工智能看什么书
人工智能入门-入门人工智能看什么书

回答1:我没有成功的经历,只有失败的经历

首先,我写博客的主要目的是输出和强制输入。既然我写作,就必须学习才能写出一些东西。至少我必须先知道发生了什么,然后我才能用自己的语言描述它。我是一个懒惰的人,但我想进步,所以我想出了这样的强迫方法。并不是因为我取得了成功和知识,我拥有了那么多知识,我才开始讨论和教学。

因为我没有成功过,所以我没有成功的经验。

不过,我研究机器学习已经有 3 年了,自从它被评为“2017 年十大流行语”之一后,我就开始关注它。

2018年4月份我开始在QQ空间上记录自己的学习内容,不过那时只是为了自己看而已。

人工智能入门-入门人工智能看什么书

到现在为止,我经过了这么多的曲折,还是没有取得什么成就,也没有出名,也没有成为名人,更没有获得诺贝尔奖之类的东西。

我虽然默默无闻,但这三年并没有白白浪费,我没日没夜地工作,但至少我知道时间浪费在了哪里,我可以把这些失败的经验讲给大家听。

2.杀猪戳屁股,各有各的办法

我给大家看一段网上流传的关于人工智能的介绍。

人工智能入门-入门人工智能看什么书

这张图中充满了数百条供你学习机器学习的学习路线。

第一个也是最基本的是“矩阵和线性代数”。其他包括 DataFrames、Extract、Transform、RegEx、pdfs...

我的基础很差,学历也不高,但是机器学习对基础知识的要求很高,至少要硕士以上学历才行。

我没有优势,所以我要沿着这条路走下去,决心脚踏实地,一步一个脚印。哪怕像从西方获得佛经一样困难,我也会坚持下去。虽然我没有三年的研究生学习时间,但我会用六年的时间自学相关知识。

于是,我开始学习矩阵。网易可汗学院公开课上有一门关于矩阵的课程,我开始学习每一节课。

人工智能入门-入门人工智能看什么书

断断续续学习了两个月后,我开始疑惑,这么无聊的课程到底有什么意义,我能在哪里用到它?

于是,我恼了,开始直接看人工智能项目的代码。

先看了《TensorFlow实战谷歌深度学习框架》这本书,打开一看,还是一个矩阵:

人工智能入门-入门人工智能看什么书

我看不懂,很郁闷,反思自己基础不扎实,所以又回去学矩阵了。

学习了一会儿,下楼跟卖驴肉火锅的小伙(数学专业本科创业者)讨论,感觉自己在餐饮行业的矩阵世界里,已经无敌了。

翻开书一看,已经超越了矩阵计算,开始讲概率了,尤其是各种公式,我又看不懂了。

人工智能入门-入门人工智能看什么书

我又去学概率了,因为代码需要按照公式来写,为了打好基础,我又学了一个月的概率分布。

我在想如果按照这样的速度学习的话,可能再过30年我也接触不到人工智能了。

我最好忘掉这件事然后继续做这个项目。

3.别想太多,行动就好

我开始找项目,从实战入手,注重运行代码,运行代码看看效果,兴趣越来越大。这时,我找到了第二本书《21个项目玩转深度学习:基于TensorFlow的实用详解》,开始搭建环境,运行书中的例子。

人工智能入门-入门人工智能看什么书
人工智能入门-入门人工智能看什么书
人工智能入门-入门人工智能看什么书
人工智能入门-入门人工智能看什么书

有时候,我根本不知道代码是什么意思,没关系,就想着 20 年后你就会全明白了。现在先运行一下例子,感受一下它的神奇吧。如果想了解更多,可以去《TensorFlow 实战谷歌深度学习框架》看相应的理论讲解。

其实有了这个目标,我心理上就没有任何压力了,以前做不理解某件事就会生气,现在做不理解某件事就会按照计划去做。

然而这条路还是坎坷的,想要成功运行一个项目实在是太难了,各种环境问题、配置问题,有时候要花一周甚至一个月的时间,但是当你运行起来的时候,你会有一种错觉:这些代​​码都是你写的,这个项目是你的作品!

或许,那不是幻觉,从某种维度来说,那是你劳动的成果。就像你自己组装了一台电脑,你不需要关心CPU是不是你自己做的。

在解决问题的过程中,你会学到很多知识。这些知识并不系统,不像29集矩阵课程那么完整,而是零散的,只和这个项目相关。

运行完这些例子之后,虽然你还不知道实现这些功能的细节,但对深度学习的理解会更高一层。比如说到 GAN,你知道它是一个生成对抗网络,是一个自己对抗自己,自己制造假货,然后自己识别假货的网络。你运行过一个自动生成动漫头像的例子,也知道为了做到这一点,首先需要一些动漫头像作为训练集。

运行完这些例子,你就会知道深度学习的应用领域,包括自然语言处理、图像处理、音视频处理等。看到自动对局,你会说这是通过“强化学习”实现的,有经验池,走对了棋还有奖励。

为什么你会突然明白这一点呢?因为你花了一个多星期去运行一个例子,而那个例子就是关于“强化学习”的,所以你记得这么深刻。

此时深度学习就相当于我们脑子里有了一个轮廓,虽然不知道它的脸,但我们知道它是一个人。

人工智能入门-入门人工智能看什么书

4.不,我们还需要仔细考虑一下。

此刻,你以为自己已经无敌了。

事实上,你两者都不是:你只是在运行别人写的代码,只能实现固定的功能。

我问你,你成功运行了一个自动生成莎士比亚歌剧的例子,但如果我让你自动生成曾国藩家书,你能做到吗?

您自豪地认为您所要做的就是替换数据集,因为您尝试用富兰克林的数据替换莎士比亚的数据并且成功了。

但一旦你改了曾国藩的数据,就全完了。原因是英文和中文的分词方法不同,但其原理是语言无关的。你只需要改一个地方,但你不知道改哪里。

当你想要做出改变的时候却发现,那种能够运行前面例子的成就感其实只是假象,根本无法控制。

那我们就来了解一下它的原理吧,搞懂了原理才知道在哪里做手术,在哪里缝合。

这又回到了学习基础知识的起点。你又会看到这些烦人但又不可避免的公式,就像这样:

人工智能入门-入门人工智能看什么书

虽然我们还是面临同样的问题,看似又回到了原点,但其实还是有很大区别的。就好比现在叫你去参加高考,虽然你还不知道该怎么做,但你知道高考意味着什么,知道大学里应该如何专心学习和社交。

这时候你真的需要静下心来好好学习,不要分心,不要扩大研究,只要搞清楚这一点就行了,因为你的精力是有限的。

这可能是一个艰难的时刻。如果你熬不过去,就放弃吧。如果你熬过去了,以后还会有更艰难的。

在这一点上,深度学习就像我们的大脑里有了器官,我们可以清楚地知道我们的耳朵和眼睛在哪儿,它们是什么形状。

人工智能入门-入门人工智能看什么书

5. 你不是唯一一个感到困惑的人。每个人都有疑问。

人工智能入门-入门人工智能看什么书

当你看到上面这些东西,终于明白它们意味着什么的时候,你突然发现在2.0版本框架版本升级了,你不需要再关心这些东西了,心里有些不开心。

在1.0版本中,我们仍然需要关心原则,设计矩阵结构。但在2.0版本中,这已经没有必要了。

至此,你还没有完全了解旧版本1.0,新版本2.0就已经到来了。

你想学吗?

6. 官方举措大多是趋势

我从 TensorFlow 1.x 的张量、图和会话开始学习。由于我的知识有限,1.x 生态系统和公式一样晦涩难懂。

然而在TensorFlow 2.x发布之后,针对初学者的高级API,尤其是官方大力推广的keras,让编程变得极其简单,只需要几十行代码就可以完成一个神经网络的训练和使用。

我纠结了好一阵子,最终还是选择了新版本,并推荐给了其他人。

造成这种情况的原因有几个,这也是为什么官方正在推这个版本的原因:

7. 交流区

综上所述:

人工智能入门-入门人工智能看什么书

目前我还是一个初学者,通过阅读英文文档来学习,只是一个搬运工,不能胜任你们的老师,我只能在我博客内容范围内给你们做一些详细的解释。因为只要我写出来,就一定是我彻底理解了。

我打算开设一个交流区,一是为了更好的传达大家对我博客的疑惑,同时也为了让大家可以互相交流。

比如在《CNN基础识别——我想给女儿批改作业》这篇文章中,将代码上传到github之后。

hwangato 正在跑步。

人工智能入门-入门人工智能看什么书

但宇智波没有成功。

人工智能入门-入门人工智能看什么书

如果两人能够互相交流,一个人可以指导别人把代码跑一遍,以加深印象,掌握得更扎实;另一个人可以在别人的帮助下学习东西,提高自己的技能。

这样我就没什么事可做了。

继续阅读