深度学习的手艺
2022年只剩下不到一个月时间,自己在年初的 你好2022,再见2021 中写了一个flag,完成 deeplearningai深度学习课程。从九月中旬开始,花了两个多月时间,终于将整个课程学完。
课程中所有的视频都可以免费观看,只是测试题目和编程练习需要付费后才能查看。当然只要你会正确使用搜索引擎,也可以在网上找到免费的练习题目。除此之外,付费完成练习后,网站还会发给你一个课程证书。
实际上,这个课程自己几年前就已经在coursera中学习过一段时间,后来因为工作原因没有继续下去。这一次为了让自己能够持续学完,于是选择了先给自己增加沉没成本,先付费再学习。其中《课程三:构建机器学习项目》因为没有编程练习,就没有付费。
编程练习中使用了TensorFlow作为练习框架,但是课程中并没有对它的使用方法进行过多的讲解,所以我又在微信读书中找到了一本《Python深度学习(第2版)》作为TensorFlow的学习资料,学习完之后发现两者之间的内容刚好互为补充。如果你也想要学习的话,也推荐你将它们作为入门资料。
接下来,我就来记录一些学完这套课程后的个人感受。
通常情况下,当我们在谈编程时,都是在谈如何通过指令去控制计算机,完成一些我们想让它完成的事情。在这个过程中,你的脑中会提前构想出计算机每一个步骤需要做什么,以及相应的会获得什么结果。对你来说,你的程序就像是一个个数学公式,精确可控。
来到深度学习中,你所熟悉的编程发生了翻天覆地的改变。你经常会在视频或者书中听到一个词,直觉。这里所说的直觉就和你在生活中所了解的直觉一样,你可能会编写不同模型,利用它们去对图片做分类。有的模型能以很高的正确率做好这件事,有的模型可能只是在胡乱猜测。在这个过程中,你自己可能也说不清楚为什么某个模型有用,但是你能感觉到他在做些什么。
程序变得不再精确可控,你所能做的只能是尝试各种不同的网络架构,一遍又一遍的调整模型中的各种超参。当模型获得不错的结果时,你试图用某种便于自己理解的形式去描述它,以便培养出自己对解决该类问题的直觉。
由于以上编程思维的变化,使得你的开发过程也发生了改变。
在过去学习编程时,你只需要找一台不算太差的电脑,安装好你所需要的编程环境,接着学习一些基础的语法、常用的api和框架知识,你就可以开始创作属于你的世界。
来到深度学习中,定义好你所需要解决的问题后,如何收集到大量用于训练的数据,就是你首先需要面临的问题。除此之外,你工作中还有很大一部分时间都花在了等待模型训练的过程中。如何能更快完成训练,获得反馈,就是你另一个亟需解决的问题。
专门为数据打标签的外包公司,可以更快进行张量运算的GPU和TPU就此出现。一台不算太差的电脑也许能让你运行一些玩具程序,但想要完成你在新闻中所见的那些数以亿计的参数模型训练,烧钱变成了唯一的解决方案。
学完了这套课程就算是入门深度学习了吗?
我自己的感受是,学完它仅仅只是帮你把门打开,让你看见了一点门里的世界长什么样。接下来,如果你能利用现有的模型去解决一些现实中的问题,那才算是刚刚入门。我在 编程学的是什么?中说过,不需要英语和数学好就能学编程,但如果你想在深度学习的道路上继续往前走,你会发现数学将成为一道阻挡大部分人前行的高墙。
在未来,编程可能会离普通人越来越远,人工智能或许也将集中在少数人的手中。
尽管如此,如果你自认为自己属于一名合格的“新生代农民工”,我还是推荐你应该花时间去学习深度学习。说不定未来你还能由此给自己增加一个新的头衔,“参数艺术家”。因为深度学习更像是一门艺术,而不是一门科学。
0条留言