真传x:教你如何进入“深度学习Deep Learning”

人工智能、深度学习现在有多火,这个就不用去多说了。最近和同学们在真传X学院微信学习群里交流中,不少人流露出对深度学习的疑惑,甚至说是误解,今天我就对这些疑问提出一些我自己的看法,也欢迎各位来拍砖。

很多同学,尤其是还在读的学生朋友,他们的第一反应是Deep Learning特别高大上,需要特别好的基础才能学习,不可否认,深度学习相对一般编程来说,难度会有增加,但是关于需要学习深度学习所需要的基础其实存在很多误区。

关于编程基础

只会 Java/iOS 语言,不会 C/C++/Python 能学习吗?或者学过 C/C++/Python,但是没有实际应用过,或者基础不好,是否可以学?是如果 C++/Python 基础比较薄弱,是否可以学?

【回答】完全可以。

在数据科学、大数据和机器学习(深度学习)领域,Python 被视作最为简洁和直接的脚本编程语言,被科研领域和工程领域广泛采用, 事实上 Java 编程语言在大数据处理和机器学习领域的应用也十分广泛,由于这不是一门教学编程语言的课程,更注重于实际应用的编写,因此编程语言特性方面的门槛较低。

如果有其他语言的基础,但是没有 C++和 python 基础也是完全可以学习的,语言只是工具,有其他语言基础学习新语言很快,尤其是 Python 这种语言很简单,而 Java 和 C++ 相比之下可能需要花费更多时间去学习。但本门课程在工程实践环节也会针对编写的代码进行详解,尽可能确保打消大家对这一方面的顾虑。

关于大数据

深度学习需要大数据基础吗?

【回答】不需要

简单来说,大数据是业务驱动的,一个以庞大数据规模为基础的生态体系。而深度学习等等机器学习模型只不过是这个庞大生态体系里的一些为我所用的工具而已。

真传的深度学习课程不仅会讲解机器学习领域的经典理论、算法和工程实践,还有一大特色便是讲解大数据或海量数据的高性能分布式处理,通过这两大领域的学习和碰撞,会为大家未来职业发展和规划起到如虎添翼的作用,这一点在其他课程中较难体现,也是本门课程的主要特色之一。

本课程的老师拥有多年云计算和分布式实时处理方面的经验,同时撰写了相关书籍以及开源的大数据处理框架,拥有丰富经验,以此基础上再讲解机器学习和深度神经网络,让同学们对这一领域的几个关键点都一个较为全面的学习和掌握。

关于数学基础

有的同学有数学基础,但是缺乏 C++/Python 编程语言;有的同学没有数学基础,是否可以学?数学基础需要到什么程度?如果提前学习是否有资料推荐?

【回答】首先学习本门课程并不需要特别高的数学基础,只需要掌握大学本科阶段学习的高等数学、线性代数和概率论等课程。

虽然从应用角度上来看:

如果想要深入研究深度学习,比如完全自己实现不同结构的网络,设计网络的层与参数最好能够熟练运用矩阵理论中的相关工具,但是我相信如果职业道路规划不是算法工程师,一般并不会深入到这一层面。

实际上,如果你是一个工科生,你会发现学习数学最难的地方就是不理解这些数学工具到底能帮助我们去解决什么问题,因为大学老师大多数都是数学专业老师,并不会从学生各自专业的角度来讲解数学问题。但是当你知道你需要用数学工具做什么,有一个明确目标后,你会发现你的动力和学习能力将会有一个突破,你不会觉得这些数学知识是枯燥乏味的。因此哪怕你的数学基础相对薄弱,有一个明确的目的,再去补充这些数学知识,相信学员自己一定能解决这个问题。数学也绝对不是学习这门课的障碍,但是如果你想以其作为职业,去打好这个数学的底子是不可或缺的。

最后,如果你是数学专业,或者觉得自己数学很好的学生,你们也更不用担心不会 1、2 门语言,因为计算机语言只是一种工具,最关键的还是训练自己的思维,这种思维的核心就是数学和算法。如果你数学很好,学习这些语言是很快的。

但是另一方面也不要忽视学习好这些工具的重要性,只是希望学生自己能够权衡。对数学好的同学来说,可能最致命的是一个误区,因为计算机的基础是数学,所以完全使用数学思维去解决计算机问题是没问题的,我这里只能说计算机有自己的思维模式,哪怕是那些基于数学原理的算法问题,所以数学专业的同学必须要学会认识到这种思维的差异并学会使用计算机的思维来解决问题,而机器学习则是计算机思维的一个典型代表,这个将会在课程中具体讨论。

至于需要的数学基础,肯定是希望同学能够学习高等数学中的微积分,线性代数和概率论的相关知识,对于没有实际编程经验的学生则推荐深入学习一下离散数学(无关乎是否精于数学)。本门课程需要的数学基础也就是这些了。

关于内容

深度学习和机器学习的关系是什么?很多同学以为要先学机器学习再学深度学习是这样吗?

【回答】机器学习肯定是深度学习的基础,因为深度学习就是深度神经网络,而人工神经网络则是机器学习的一大经典模型。但是我们要认识到机器学习领域包含的算法和模型太多,因此想要专精深度学习不一定要学会其他许多的机器学习算法和理论。所以我们会在课程中安排机器学习相关的内容,只不过都是机器学习中和深度学习相关的必备基础知识。

但是如果你想要以后往算法工程师发展,去学习熟悉其他的机器学习模型也是必不可少的,只不过本门课程并没有这种要求,所有需要的机器学习知识都会在课程的前半部分详细讲解。

关于就业

学习了课程,掌握了这个技能,能不能找到工作,是否有匹配的岗位?

【回答】肯定可以!

不过自己平时更多地去实践是成为某一领域专家的必经之路,这门课程的最大作用之一是让你知道该去学习什么,还有学习的思路、方法,以及平时难以接触到的大型企业实际的工程经验和架构方法,这将对同学们的未来工作和职业发展提供极大帮助。

而算法工程部门的工程师一般会有两类人(除去部门负责人等高级职位):

一类是能够较熟练运用 1 到 2 门语言(比如 Python、Java 或 C++),数学功底好,熟悉机器学习和深度学习的人,他们的任务是不断优化机器学习模型,进行训练测试,调整参数等,这个过程中也需要编写相当多的脚本来帮助自己解决各种问题。最后要能够编写实际的产品代码,不需要有非常好的架构和设计思想,关键是能够高效地实现某种算法。

· 一类是有好的编程功底,同时又能够基本理解机器学习和深度学习的人,他们的任务往往是负责封装改良第一类人实现的功能模块,从时间、空间和代码质量上改良模块的实现,同时负责维护完整的算法 SDK,这类 SDK 往往要求能够快速迭代更新,能够配上完整的训练和测试流程,需要开发者具有较强的工程能力还有架构、设计思维。

· 至于岗位问题同学应该完全不用担心,尤其现在有许多以人工智能为核心的公司如爆发式增长,以及传统 IT 企业向海量数据处理、机器学习和深度学习领域不断加大投入,对这类工程师的需求量极大。

·

大公司还是小公司需要这种岗位?机器学习工程师的薪资待遇如何?

现在大公司和小公司都有,尤其是以人工智能为主的公司。至于岗位问题同学应该完全不用担心,尤其现在有许多以人工智能为核心的公司如爆发式增长,以及传统 IT 企业向海量数据处理、机器学习和深度学习领域不断加大投入,对这类工程师的需求量极大。

至于薪资待遇方面,由于目前以及可预期的未来很长一段时间,这类岗位的需求和缺口都非常大,相信同学们在学习完本课程后,再加上自己对该领域的实践和工作经验,能够获得高于市场的薪酬水平。

如果你想快速掌握各方面的专业技能,不落后这个人工智能的时代,这绝对是一门你无法忽视的课程。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180108A0G6Z200?refer=cp_1026

扫码关注云+社区