作者/编辑 | 橘子 配图:深度学习导论课程slides 来源 | 橘子AI笔记(ID:datawitch)
最近在学习Coursera上的高级机器学习专项课程(Advanced Machine Learning),它的介绍页是这样写的:这门课程主要讲解了深度学习、强化学习、自然语言理解、计算机视觉和贝叶斯方法。除了理论知识,Kaggle比赛的高分选手和CERN的科学家也将分享他们解决实际问题的经验,并帮助您填补理论和实践之间的空白。在完成7门课程后,您将能够在企业中应用现代机器学习方法,并了解使用数据和配置参数时的注意事项。
这个系列由俄罗斯国立高等经济大学开设,在Coursera上的评分很高(大部分课程评分在4.5/5或以上),根据课程推荐,我们可以使用Coursera云、Google Colab云或者自己的硬件(想知道怎么搭建深度学习环境?看这篇教程)来完成其中的实践作业。
深度学习导论(Introduction to Deep Learning)是专项课程系列中的第一部分,这部分包括:
第1周 - 最优化理论
第2周 - 神经网络导论
第3周 - 深度学习图像处理
第4周 - 无监督表征学习
第5周 - 深度学习文本处理
第6周 - 结课项目
本文是第1周的第1份课程笔记。
01. 高级机器学习专项课程介绍
这门专项课程适合哪些人学?
数据科学家 跟进领域内的前沿进展
程序员 通过机器学习工程师岗位的面试
学生 通过完成作业练习获得实践经验
学习这门专项课程需要有哪些基础知识?
机器学习
概率论
线性代数和微积分
Python编程
这门专项课程包括哪些内容?
理论向的课程
第1课 深度学习导论
深度学习非常热门,并且正在各种领域当中得到广泛的应用,我们希望学生能真正地理解算法的原理,而不是只会堆叠组合神经网络的层数,在这门课程中我们将会讲解整个系列都会用到的基础模型和算法。
实践向的课程
第2课 贝叶斯方法
贝叶斯是许多机器学习算法的灵魂,可以用于评估不确定性、进行预测,在这门课程中,我们将构建一个变分自编码器(VAE)来生成新的人脸
第3课 自然语言处理
从经典方法到深度学习技术,这门课程将会讲解所有文本处理方法,我们将构建一个能回答Stack Overflow问题的聊天机器人
第4课 计算机视觉
这门课程先讲解基础知识,再讲解深度学习模型,例如图像分类、图像注释和视频注释所用的模型,我们将构建一个人脸识别系统
第5课 强化学习
这门课程讲解强化学习的基本算法,我们将构建一个能玩雅达利游戏的神经网络模型
将理论与实践联系起来的课程
第6课 如何赢得数据科学比赛
这门课程关于如何使用机器学习算法,将不同的模型组合起来,以高分赢得比赛
第7课 解决大型强子对撞机(LHC)难题
粒子识别问题是LHC实验中的一大挑战,并不能靠简单地堆叠机器学习算法来解决这一问题,还需要了解其他方面(课程会介绍)
02. 深度学习导论课程介绍
第1周 用线性模型解决分类问题
我们假设图中的x1、x2是两个特征,坐标系中的点表示人的性别,比如两种颜色分别表示男性和女性,这里有一个基本的分类问题就是,现在在这个坐标系中有一个新的点,我们该如何预测这个点属于哪一类?
在这个简单的问题中,我们可以找到一个分割平面,将两类不同颜色的点分开,这样就很容易看出平面中新的一个点属于哪一类。
第2周 多层感知机(MLP)二分类
现在这个二分类问题变得更加复杂了,比如,我们依然用两种颜色的点表示男性和女性,但是需要用旋涡形的分割线才能分开这两类点。
所以我们需要使用比线性模型更复杂的模型,比如最简单的神经网络——多层感知机(Multiple-Layer Perceptron, MLP)。
第3周 卷积神经网络(CNN)图像分类
在计算机中,一张图片实际上就是一个矩阵,矩阵中的数字表示了不同颜色的深浅。
针对图片处理,多层感知机已经不够用了,我们需要能处理图片的卷积层,使用卷积神经网络(Convolutional Neural Network, CNN)。
第4周 自编码器(AE)将图片编码为向量
神经网络有一个概念叫神经表征(neural representations),也就是说,神经网络能通过学习,将输入数据转化为维度更低的向量,这些更低维的向量就包含了输入数据的语义(semantic)。
我们来看一个例子,比如左边是一张原始图片,通过一个神经网络,我们可以将之编码为包含32个数字的向量,通过另一个神经网络,又可以将这个向量还原为图片,这种模型叫做自编码器(Autoencoder, AE)。
使用自编码器有什么好处呢?比如我们可以改变向量中的数值来生成不同的图片。还可以用自编码器来方便地寻找相似图片或重复图片。
举个例子,下图的最左列和最右列分别是两张人脸的图片,我们将这两张图片分别转为向量,这两个向量就相当于高维空间中的两个点。
这时候我们可以在高维空间中取任何一个点,然后将之转化为人脸图片,我们也可以看到,从最左边的人脸到最右边的人脸有一个逐渐变化的过程,比如肤色的变化、嘴型的变化等等。
第5周 循环神经网络(RNN)生成人名
这一周我们将讲解如何使用循环神经网络(Recurrent Neural Network, RNN)处理文本数据,包括模型的原理和训练的方法。
我们将训练一个能生成人名的循环神经网络。
第6周 多模型结合终极训练:图片转文字
我们会用到之前所学的所有知识,来训练这个图片转文字的模型,这个模型的输入是一张图片,输出是对这张图片的一段文字描述。
举个例子,我们来看一个现成的模型输出结果,上方的图片生成的描述是:“田野里站着一只长颈鹿,背景中是一片森林”,而下方的图片生成的描述是:“一个小孩在玩Wii手柄”。
这里有一个错误,小孩其实在用吹风机,那么可能我们的模型在训练的时候没有见过小孩用吹风机,但是这个吹风机确实挺像Wii手柄(笑)。
03. 最后的总结
到这里就要结束啦。不想把每篇笔记写得太长,那样不仅我写起来很慢,读者想必也很辛苦吧。
回顾一下,由于是整个系列的开篇视频,这两节课程的内容都比较简单,我们看完后能做到对接下来的学习内容有一个大致的把握、心中有数即可。
参考资料:
https://www.coursera.org/learn/intro-to-deep-learning/home/welcome
https://playground.tensorflow.org/
https://towardsdatascience.com/what-are-some-advanced-ai-and-machine-learning-online-courses-8609ab281450