大家好,本文将为那些想要踏入深度学习领域的初学者解答一些常见疑问,并介绍一些应该学习的技术和知识,以便更好地理解这个领域。本文不会过于正式和技术化,所以可以自由地在评论区提问,会很高兴回答这些问题。
在印度,每年大约有70万学生毕业,那些想要在计算机科学的发展领域追求梦想的学生需要选择一个领域,深度学习就是其中之一。随着技术的不断发展,学生对机器学习/深度学习的兴趣也在不断增长。每个人都面临的一个大问题是,他们都知道在人工智能领域有很好的发展前景,但他们缺乏的是应该从哪里开始以及需要将精力集中在哪个方向,他们尝试一种技术,几天后又跳到另一种技术,留下上一个技术未练习。
大多数深度学习从业者担心,大型科技公司正在研究一些算法,这些算法将自动化整个深度学习过程,将不再有深度学习工程师这样的职位。所以让确认一件事,这在短期内肯定不会发生。自动化正在取代某些工作,但还有很长的路要走。
如果知道自己擅长数字并且想要在一些激动人心的技术上工作,深度学习无疑是适合。在本教程中,将告诉可以遵循的路径,以成为一名成功的应用深度学习工程师。
什么是深度学习?
深度学习是机器学习的一个子集,主要处理神经网络(NN)。它为几乎所有类型的数据提供解决方案,如图像、文本、音频等。神经网络试图模仿大脑,以便以与人类思维相同的方式产生结果。这部分理论已经知道了,所以让直接跳到怀疑的事情上。知道可能会怀疑是否需要硕士学位,或者是否需要来自哈佛或麻省理工才能成为深度学习的合适人选,让回答这个问题。深度学习中有两个角色,一个叫做深度学习研究员,另一个是应用深度学习工程师。第一个角色涉及更多的统计和数学知识,这可以帮助理解深度学习概念,最终导致发现新的算法/技术,而另一个角色则涉及已经由深度学习研究员实现的任何东西,只是使用它并将其应用到可以减少人力努力的地方。
现在知道了,即使不是来自一些一流大学,仍然可以成为一名深度学习工程师,那么让讨论一下需要的所有技术,以成为一名成功的深度学习工程师。
当在机器学习/深度学习上工作时,并不是说只需要知道一些算法并将它们应用到将获得的数据上。将从需求阶段开始,即首先确定将找到解决方案的问题。一个最重要的事情是,并非所有问题都需要深度学习解决方案,首先尝试分析问题,看看是否可以使用传统算法解决,如果可以,将节省大量的精力和资源,否则可以选择深度学习解决方案。
知道可能会想为什么在告诉这个,尽管可能已经知道了,但选择编程语言是走上深度学习之路的第一个任务。深度学习中常用的语言是Python和R(个人使用Python)。
这两种语言都有它们的特色,并不是说在使用其中一种时就可以完全忽略另一种,了解这两种语言是锦上添花。当开始学习任何这些编程语言时,尝试完全专注于一种语言,一旦掌握了它,另一种就会变得非常容易。尝试掌握尽可能多的库,一旦完成,将能够非常容易地在现实世界项目上工作。
了解机器学习/深度学习算法是不够的,还需要了解软件工程技能,如数据结构、软件开发生命周期、Github、算法(排序、搜索和优化)。
当在任何现实世界项目上工作时,客户不需要任何机器学习模型,他需要的是以某种服务或应用程序形式的解决方案,因此需要更深入地了解这些概念。
如果是软件工程师,可以轻松地编写任何解决方案,但当涉及到机器学习时,需要了解数学和统计概念,这将帮助分析任何算法并根据需要调整它。
对于训练和推理,还需要了解梯度下降、距离度量、均值、中位数和众数等概念。