Medium网友Favio Vázquez分享了他是如何学习深度学习并利用它来解决数据科学问题的。这是一个非正式的帖子,但内容很有趣。以下是他分享的内容。
关于我和深度学习的一点介绍
我的专业是物理和计算机工程。我在委内瑞拉学习过,后来在墨西哥做过物理学硕士。但我认为自己是一个数据科学家。因此,尽管我在数学、微积分和统计学方面有很好的背景,但从头开始学习机器学习和深度学习对我来说并不容易。这些主题并不新鲜,但是我们研究它们的方式,我们如何构建使用它们的软件和解决方案,以及我们与它们进行编程或交互的方式已经发生了巨大的改变。
在2014年(24岁),我刚刚从物理系毕业,在做我的关于黑洞模拟工程的论文时,我意外地发现了Coursera、机器学习、吴恩达和Apache Spark。这对我来说无疑是个巨大的惊喜。
我对严谨的在线学习感到惊讶,我以前没有尝试过这样的课程(我仍然不知道为什么),于是我开始学习所有的课程,从基因组学到天文学,从Scala到Python,从机器学习到Søren Kierkegaard的哲学理论。
我没有学习捷径,也没有导师,所以我只是在探索这个世界,试着找出我想要做些什么。与此同时(2014年底),我在机器学习和Apache Spark项目中发现了吴恩达的课程,并在两周内完成了这门课程,我简直不敢相信这一领域有多么惊人。然后我开始编写我在Scala和Apache Spark中所学到的知识,因此我了解了分布式计算、Hadoop、HDFS以及所有这些伟大的东西。
我的一些早期(不是很好的)机器学习和spark的项目,你可以在我的GitHub上找到它们。
我的第一个数据科学工作
我在2014年获得了第一份数据科学工作,我是公司里唯一的数据科学家,试图弄明白我们可以用数据做什么。在工作中我发现,事情不像在课上学到的那样简单!我不再在R中导入Iris数据集,我处理的是奇怪的数据,并且我不知道数据在现实生活中是“肮脏的”。但我一直都在学习。有趣的是,我当时并不确定数据科学是什么。我主要在Scala和Python中构建了一些简单的模型。
然后过了一段时间,我意识到我喜欢开源(Open Source)。我开始在一些简单的项目中进行合作,其中一些项目是我自己的,然后还有一些是Apache Spark这样的大型项目。有简单的项目,也有高级的项目,我觉得我是在为社会做贡献。
宇宙冒险
Roger Penrose的共形循环宇宙学理论
数据科学是继我对物理学和宇宙学之后的第二次热情,所以我来到墨西哥做物理学硕士。这是一次令人惊奇的经历,但仍有一些缺失。我需要代码!我爱上了编程!
我选修了基础物理课程,如经典力学,量子力学,但也有数值方法,高性能计算,以及贝叶斯推理和机器学习。在我的论文中,我用Python编写了很多代码,所以我很高兴。
成为一名数据科学家
当我完成我的硕士学位(2017年)的时候,我决定我想做的是帮助大家成为一名数据科学家。是的,我花了一段时间。
等等,看到现在,你可能想问,这难道不是一个关于深度学习的帖子吗?
我真的对他感到惊讶。当我才开始接触这个领域时,他已经在教授这个领域的课程了。是的,我还在做这些课程。但我并没有就此止步。我也需要更多的实用信息。
于是我开始学习TensorFlow,然后是Keras。Keras是一个高级的神经网络API,用Python编写,能够在TensorFlow、CNTK或Theano上面运行。这是由François Chollet开发的,专注于快速的实验。能够从想法到结果,再到最少的延迟,是进行良好研究的关键。
有很好的学习实践深度学习的资源,比如GitHub的repos和一些相关书籍。现在我正在阅读《Deep Learning with Python》这本书,它对我的学习真的很有帮助:
注:这本书有中文版,AiTechYun截取了一些豆瓣网友对此书的评价。
深度学习的未来
预测是一种艺术,它告诉我们将要发生什么,然后解释它为什么没有发生。