【Deep Learning with PyTorch 中文手册】(二)What is PyTorch

What is PyTorch

PyTorch是一个Python库,可以帮助我们构建深度学习项目。它强调灵活性并允许我们使用熟悉的Python格式来表达深度学习模型。PyTorch的易用性使得其很早便被研究社区所接纳,并且自官方库发布以来的几年中,它已成长为最广泛应用的深度学习工具之一。

PyTorch提供了一个核心数据结构——Tensor,这是一个与NumPy数组非常相似的多维数组。 基于Tensor构建了一系列功能,以简化项目的启动和运行,以及对设计和训练一个新的神经网络体系结构的探索。Tensor可用于加速数学运算(假设硬件和软件搭配适当),除此之外,PyTorch内置的包可用于分布式训练、高效数据加载,并且内置了大量常用的深度学习函数。

正如Python用于编程一样,PyTorch不仅是入门深度学习的杰出工具,同时也是在专业环境下用于现实世界中高水平作业的工具。

What is this book

本书旨在为精通Python并愿意使用PyTorch来构建深度学习项目的软件工程师、数据科学家和积极进取的学生提供入门方法。为此,书中采取了动手实战的教学方式。本书十分鼓励在学习本书的同时随时准备好使用计算机,以便亲自动手体验相关案例,并继续做更进一步的探索。

尽管深度学习的动手实践很重要,但是本书不仅仅是只作为一个工具技能使用的参考,更希望本书能够帮助下一代的研究者和从业人员在未来几十年的工作中,将书中学到的理论知识作为骨架构建起新的软件和应用。

为了理解书中的大多数内容,你需要具备两项条件:

一些Python的编程经验,但不必有压力,仅仅需要掌握常见的Python数据类型、类、和浮点数等相关知识;

一颗愿意动手的心。跟着书中的知识动手实践会使得学习变得更加容易。

深度学习是一个庞大的学科领域。本书只会涉及该领域中的一小部分,使用PyTorch构建一些小规模的项目。大多数的项目示例中会用到2D和3D图像数据集的处理。本书专注于PyTorch的实战练习,希望帮助读者打好基础,从而能够利用深度学习来解决现实问题或探索研究文献中的新模型。ArXiV存储了很多深度学习相关的最新研究,托管地址是https://arxiv.org

Why PyTorch

通过给模型输送数据的方式,深度学习可以执行各种复杂的任务,例如机器翻译,玩策略游戏以及识别混乱场景中的目标物。但是完成这些任务需要灵活的工具,可以应对不同的场景,同时能提高效率,可在较短时间内完成对大量数据的训练。而且读者有时也会需要预训练好的网络能够对未知的输入数据顺利执行,并得出正确的结果。

PyTorch非常容易上手。许多研究者和从业者都认为PyTorch易于学习、使用、扩展功能和调试代码。风格Python化,对于任何有过Python编程经验的研发者来说,使用PyTorch会有种非常熟悉的感觉。

对于那些熟悉NumPy数组的研发者,PyTorch中的Tensor类会变得非常容易。PyTorch感觉就像是能够在GPU上运行并且带有自动求导功能的NumPy,非常适合于深度学习中的反向传播。

Tensor API功能非常强大,基本可以满足用户的大部分需求。PyTorch的设计理念是强大的表达能力,允许开发人员在实现复杂模型的同时避免增加不必要的复杂性(库不是一个框架,感觉这里在暗指某厂 - -)。在深度学习领域,PyTorch可以说是最容易将想法转换为代码实现的深度学习库。因此,PyTorch已在研究中得到广泛采用,国际会议的高引用率证明了这一点(哈哈,感觉作者有点小傲娇)。

PyTorch也能完成从研发到生产的过渡。尽管PyTorch最初专注于研究,但它也配备了高性能的C++运行引擎,用户完全可以脱离Python来部署模型,这一做法保留了PyTorch的大部分灵活性,并且可以摆脱Python运行机制的限制。作者认为当你精读完本书一定会认同他的观点(最后还是承认自卖自夸不太合适,还是得实践出真知哈)。

The deep learning revolution

在这一节中,我们将介绍一些历史来作证PyTorch适合深度学习(嗯,作者自夸还是很有一套的)。

直到2000年代末,常用的“机器学习”系统还是非常依赖于特征工程。特征是输入数据的数值表征,其产生的数值特征有助于后续算法(例如分类器)在面对新数据时获得正确的结果。特征工程将原始的输入数据转换成特征,以便输入给某个算法来解决某个问题。例如,在手写数字图像中把0和1区分开,可能需要使用一组filters来预估图像上边缘的方向并训练一个分类器。之后给定一个边缘方向的分布,分类器就可以预测出准确的数字。除了边缘,特征也可能是零、八或两个环中的两个封闭圆的数量。

与机器学习不同的是,深度学习从原始数据中自动学习特征,进而成功地执行任务。在区分1和0的例子中,将在训练过程中不断迭代输入数据和标签来改进filters。这并不是说特性工程在深度学习中不重要,开发人员通常需要将某种形式的知识注入到学习系统中。然而,神经网络能够根据输入数据提取出有价值的特征,这正是深层学习如此强大的原因。深度学习实践者的重点不是关注如何人为提取这些特征,而是思考模型架构,使得该模型能够从训练数据中自主地提取特征。通常,这些自动提取的特征比手工提取的特征要更具有代表性!和其他的许多颠覆性技术一样,这项技术也提供了不同的思路。

下图中左侧是一个机器学习的例子,研发者忙于定义特征工程,模型最终的效果取决于研发者所提取特征的表征能力。右侧采用深度学习,直接将原始 数据输入给算法,基于优化算法自动提取特征,模型最终的效果取决于研发者根据任务所用的算法性能。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容