当前位置: 首页 > 科技观察

国外最火的深度学习实践课新版发布,100%全新前沿内容

时间:2023-03-21 15:37:46 科技观察

好消息,新课程推荐!  国外最受好评的AI课程,理论+实践相结合,完全免费——《程序员实用深度学习教程》,2019全新上线!  课程制作人、fast.ai创始人JeremyHoward表示,这门课程的内容是100%全新的,还包括一些以前从未介绍过的新成果,以及它们的实际应用。  有些成果,连新论文都还没有发表。例如,使用迁移学习来训练GAN,训练时间从几天缩短到几小时。  整个课程一共7个section,带你从理论到应用再到深度学习、计算机视觉、NLP、推荐系统等。  Jeremy发推宣布不到半天,就有超过600人转发推荐,就连机器学习顶级会议ICML的官推也被转发了。  前两门课程的学员和各路网友都纷纷出来称赞,甚至有不少人直接称其为“最好的深度学习课程”。  webframeworkDjango的开发者之一SimonWillison曾在博客上分享过自己吸取教训训练最强大的图像分类模型的经验。  也有同学沉迷于课堂,愿意一次次回炉深造。一位名叫ScoutOrgo的网友就是这样做的。他在极客聚集的HackerNews社区评论道:我每次迭代都上fast.ai课程,我觉得每次都值得。***的2019年课程也很优秀。虽然我在里面学到了很多概念,但是每一节课我还是能学到很多东西。  课程顾名思义,这套课程的核心是“实践”。本书的前半部分几乎完全侧重于实践技能,只提到实践中无法回避的理论;直到后半部分才逐渐深入探讨该理论。  课程地址:  https://course.fast.ai/  更贴心的论坛,可搜索的视频  有了新版课程,还有更国际化的课程社区。  Jeremy表示他们在课程论坛中新增了一个功能,可以根据时区、地点、语言对话题进行分类。在同一地区创建或找到学习小组并用他们的母语进行讨论会更容易。  不过现在这个功能好像有点小bug,还没有上线。Jeremy还说正在维修中。欢迎试过成功的同学告诉我们。  参与社区活动,与同学讨论是努力学习的重要组成部分。现在,即使有了“让你用母语与同胞讨论”的贴心功能,为什么不好好学习呢?  论坛地址:  https://forums.fast.ai/c/part1-v3  除了各国人之间的跨语言跨时区讨论,两个小时的视频可能也成为很多学生的学习经历障碍。  因此,新版课程的播放器也更新了,非常强大,可以搜索课程内容,直接跳转到你要找的视频部分。  △课程视频,时间线可检索  图像、文字、协同过滤都精通  这套课程一共七节课。完成作业大约需要10个小时。  从头到尾学好大概需要84小时。春节假期一天节省一节课,每天花12个小时在学习上,比打麻将要猛得多,还能避免亲戚问你为什么单身。  课前你需要知道的基础知识并不多:一年的编程经验,以及一些高中数学知识(课程中可能穿插一些大学数学)。  因为是用PyTorch库来授课,所以绝对是Python编程体验。  84小时看似很长,但如果你看课程内容,你会觉得这时间简直太“崩溃”了。  课程涉及四大类应用,从计算机视觉、NLP,到基于表格数据的预测、推荐系统。具体来说:计算机视觉(例如按品种对宠物照片进行分类)图像分类图像定位(分割和激活图)图像关键点NLP(例如电影评论情感分析)语言建模文档分类表格数据(例如销售预测)分类数据连续的协同过滤数据(如电影推荐)  这些内容涵盖了很多基本概念,包括参数和激活、随机初始化和迁移学习、卷积、dropout、权重衰减等:  △课程涵盖的基础  这七节课可以分为纯粹的实践部分和更深入的理论部分。  前四课非常实用。  在***课上,使用迁移学习的方法训练图像分类器;在第二节课中,请清洗数据以构建数据集;第三节课,我们将从原来的单标签数据集过渡到多标签数据集,学习图像分割;第四课,学习NLP和协同过滤,练习使用算法对影评进行分类,然后推荐电影。  最后三节课比较理论化一点。  第五课是从零开始搭建自己的神经网络,在这个过程中理解反向传播;第六课是学习各种提高训练和防止过拟合的技术,理解卷积,讨论数据伦理;第七课,我们将从头开始构建更复杂的ResNet和U-Net,研究各种损失函数,进入GAN领域。  每节课的具体内容如下:  ***课:图像分类  新人***课,训练一个能够绝对准确识别宠物品种的图像分类器。关键是迁移学习的使用,这是本课程大部分内容的基础。  △训练和分析宠物品种分类器  我们将看到如何分析模型以了解其故障模式。在本节中,我们将找出模型出错的地方,就像宠物饲养员出错一样。  ***,本课还讨论了如何设置训练神经网络时最重要的超参数:学习率。我们将看看重要但很少讨论的标签主题,并看看fastai提供的一些功能,这些功能可以轻松地为图像添加标签。  需要注意的是,训练分类器需要连接云端GPU供应商,或者自己搭建合适的GPU电脑,还需要熟悉JupyterNotebook环境的基础知识。  第二课:数据集的创建和清洗,SGDfromScratch  这部分是教用户如何使用自己的数据构建图像分类模型,包括以下主题:图像集的并行下载,验证的创建集,数据清理  Jeremy带领我们创建了一个模型,可以区分泰迪熊和灰熊。  △图像分类器  在本课的后半部分,我们将从头开始训练一个简单的模型,创建我们自己的梯度下降循环。  △梯度下降  第3课:数据块、多标签分类、分割  我们从第3课开始处理一个有趣的数据集:来自太空的Planet'sAmazon。  为了将这些数据转换为我们建模所需的形式,我们将使用fastai最大的单一工具:数据块API。这个API以后会用到很多次。  学完本课后,如果您准备好了解有关DataBlockAPI的更多信息,请查看这篇文章:《Finding Data Block Nirvana》,作者WaydeGilliam:https://blog.usejournal.com/finding-data-block-nirvana-Thea-journey-through-the-fastai-data-block-api-c38210537fe4  Planet数据集是一个多标签数据集。也就是说:每张Planet图像都可以包含多个标签,而我们之前查看的数据集每张图像只有一个标签。我们将看到我们需要对多标签数据集进行哪些更改。  △图像分割  接下来我们来看图像分割。我们将使用与早期图像分类模型类似的技术,并进行一些调整。fastai使图像分割建模和解释与图像分类一样简单,因此不需要太多调整。  课程的这一部分使用了CamVid数据集,它的错误率远低于学术论文中的任何其他模型。  第四课:NLP,TabularData,CollaborativeFiltering,Embedding  在这节课中,Jeremy给了我们预测电影评论是正面还是负面的目标,这叫做情感分析。我们将使用IMDb电影评论数据集深入研究自然语言处理(NLP)。  Jeremy将使用最初在2018年课程中开发的ULMFiT算法,他说这是当今最准确的情感分析算法。  创建情感分析模型的基本步骤是:  1。创建一个语言模型,在大型语料库(如维基百科)上训练,其中“语言模型”是任何学习预测句子下一个单词的模型  2。使用目标语料库微调此语言模??型(IMDb电影评论)  3。删除这个经过微调的语言模型中的编码器,并用分类器替换它。然后,为最终的分类任务微调此情感分析模型。  进入NLP学习后,我们将通过叠加表格数据和协同过滤来完成深度学习对编码器的实际应用。  对于表格数据,我们将看到如何使用分类变量和连续变量,以及如何使用fastai.tabular模块来设置和训练模型。  然后我们将看到如何使用类似于表格数据的思想来构建协同过滤模型。  进入NLP学习后,我们将通过叠加表格数据和协同过滤来完成深度学习对编码器的实际应用。  对于表格数据,我们将看到如何使用分类变量和连续变量,以及如何使用fastai.tabular模块来设置和训练模型。  然后我们将看到如何使用类似于表格数据的思想来构建协同过滤模型。  在课程的中途,我们研究了如何在每个关键应用程序领域中创建和解释模型。在课程的后半部分,我们将了解这些模型的工作原理以及如何从头开始创建它们。  接下来,我们将接触以下概念:激活参数层损失函数  第5课:反向传播,加速SGD,从头开始构建神经网络  在第5课,我们将训练所有放在一起理解反向传播时究竟发生了什么,并使用这些知识从头开始创建和训练一个简单的神经网络。  △从头开始训练的神经网络  我们还将了解如何查看嵌入层的权重,以找出电影评论解释模型从分类变量中学到了什么,让我们避免不好的。  虽然嵌入在NLP中的词嵌入上下文中最为人所知,但它们对于一般的分类变量同样重要,例如表格数据或协同过滤。它们甚至可以与非神经模型一起使用并取得巨大成功。  △带嵌入和不带嵌入的模型的常见性能比较  第6课:正则化、卷积、数据伦理  本课讨论了一些改进训练和避免过度拟合的强大技术:Dropout:Randomizeremovalofactivationsduringto正则化模型DataAugmentation:在训练期间修改模型输入,有效地增加数据大小BatchNormalization:调整模型的参数化以平滑损失表面。  △单个图像数据增强示例  接下来,我们将学习所有关于卷积的知识,它可以被认为是矩阵乘法的一种变体,是现代计算机视觉模型的核心。  我们将使用这些知识创建一个类激活图,这是一个热图,显示图像的哪些部分在进行预测时最重要。  △HowConvolutionWorks  ***,我们将讨论一个许多学生告诉我们的话题,它是课程中最有趣和令人惊讶的部分之一:数据伦理。  我们将看看模型可能出错的一些方式,特别关注反馈循环、它们为什么会导致问题以及如何避免它们。  我们还将研究数据偏差导致算法偏差的方式,并讨论数据科学家可以而且应该提出的问题,以帮助确保他们的工作不会导致意外的负面结果。  △美国司法系统中算法偏差的例子  第七课:从头开始构建ResNet和U-Net,生成(对抗)网络  ***一课,学什么***内容也是“现代建筑中最重要的技术之一”:skipconnection。  关于skipconnections,本课会讲ResNet和U-Net架构。  ResNet是skipconnection最广为人知的应用,整个课程讲图像识别的时候从头到尾都在用ResNet。  U-Net使用另一种跳跃连接,用于优化分割结果和其他具有相似输出和输入结构的任务。  △ResNetskipconnection对losssurface的影响  学习了U-Net之后,需要用它来训练一个超分辨率模型。该模型不仅可以使渣图清晰,还可以去除jpeg图片上的伪影和文字水印。  为了让模型的效果更好,这节课还会带同学们结合特征损失(featureloss,或者perceptualloss)和gramloss,创建一个自定义的损失函数。这是图像着色等生成任务中常用的技术。  △利用featureloss和gramloss获得超分辨率结果  接下来就要学习GAN中使用的生成对抗loss。在某些情况下,它可以牺牲一些速度并提高生成模型的质量。  本次会议中介绍的一些技术来自未发表的研究,包括:通过迁移学习更快、更可靠地训练GAN;架构创新和损失函数的创新组合。  Jeremy在课程介绍中保证:效果惊人,训练只需要几个小时,而不是像以前那样需要几天时间。  △一个递归神经网络  ***,本课还教你从头开始构建一个递归神经网络,这是整个课程NLP内容中使用的基础模型。实际上,RNN是对常规多层神经网络的简单重构。  认为吴恩达老套的另类“慈善组织”  这门课程背后的fast.ai在深度学习领域独树一帜。  fast.ai由Kaggle大师、数学博士JeremyHoward共同创立。后悔读博的RachelThomas,和曾在巴黎任教7年的SylvainGugger。  他们是真正的修行者。课程以“讲授实事,高效解决问题”为核心,注重工程实施的细节。  他们在去年发布了更基础的《代码机器学习入门》课程(IntroductiontoMachineLearningforCodes)时,赞扬了吴恩达老师的入门课程,然后又打了一个“但是”:但是,现在好像太老套了,尤其是作业还得用matlab写。  fast.ai的课程非常贴近程序员的实际趋势,用Python编程,用交互式JupyterNotebooks学习。  同时,他们也鼓励学生参加Kaggle比赛来测试自己的能力。  fast.ai不仅课程内容新潮,还堪称“慈善机构”:  课程全部免费,没有“收费领证”的设置。  Jeremy曾经说过:“我们的商业模式是:花自己的钱做点什么,帮助人们使用深度学习。”当有人担心“商业模式”难以为继时,Jeremy硬着头皮回击:  为什么不呢?我有足够的钱。  “完全独立,连捐款都不接受”fast.ai积攒了不少“自来水”。  学生经常总结和分享他们的课程经验。比如曾经有同学总结出“称霸Kaggle的十大深度学习技巧”,广为流传。  写笔记总结经验不是自来水的第一形态。自古以来,“为母校争光”始终是要再创佳绩。  fast.ai学生AndrewShaw就是这样做的。他和美国国防部的YaroslavBulatov先生Jeremy,实现了ImageNet的低成本18分钟训练。  与那些“X分钟训练ImageNet”的大公司不同,他们的方法没有积累计算资源,而且使用的云服务器成本不到300元,可以说是人人可用。  这个另类组织的其他成就包括:https://docs.fast.ai/ULMFiT,开启了NLP迁移学习狂欢枪;http://nlp.fast.ai/category/classification.html  OneMoreThing  如果你已经达到本课程的基本要求,有一年的编程经验和高中数学基础,那么,站在你和他们之间,可能只剩下一个大障碍:  英语。  这件事靠自己的努力是可以解决的。来看看这位前阿里土生土长的于江水的程序员英语学习指南吧。它在GitHub上拥有超过5,000颗星。