pytorch 多层lstm_PyTorch上榜年度最热门的开源项目,这本入门书不得不推给你

程序员书库(ID:CodingBook) 猿妹综合整理

近日 InfoWorld 公布了 2019 年最佳开源软件榜单。十几年来,InfoWorld每年都会发布该榜单,开源软件对于开发者来说至关重要,不仅因为它们是免费的,最主要的是它们确实很好用。

如今,对于软件开发、云计算、数据分析、机器学习等领域而言,最重要的软件都是开源软件,PyTorch是今年上榜的开源项目之一

2018年,深度学习快速蹿红之后,PyTorch在2019年成为最适合用于生产中的工具,随着PyTorch 1.0版本的发布和TorchScript (Python的jit编译子集,结合了快速的c++运行时)的加入,该框架已逐步成熟

除此之外,在过去的一年里,PyTorch周围的生态系统也变得更加成熟,难怪PyTorch会成为许多数据科学家的最爱。

这里有一本关于PyTorch的深度学习开源书籍,推荐给大家——《First steps towards Deep Learning》,本书在数学上算得上是轻量级的,适合那些没有深度学习经验或扎实的数学背景的读者,其主要目的是帮助你入门深度学习。

篇幅很短,本书只有5个章节,分别如下:

  • 第一章:了解人工神经网络
  • 第二章:pyTorch简介
  • 第三章:如何让计算机看见?
  • 第四章:如何让计算机记忆?
  • 第五章:深入扩展

第一章:什么是神经网络?

神经网络的灵感来自我们大脑的工作方式。上面的图片代表图形流,其中圆圈代表神经元,边缘代表轴突。数字{w1,w2…wn}是神经网络的权值集。权值是神经网络的关键部分,因为它们是在神经网络经过训练过程时会调整的参数。

完全连接的神经网络

深度学习领域始于多层感知器(MLP)的出现。简而言之,这是一个前馈神经网络。这些MLP具有输入层,隐藏层和输出层。MLP可以很好地处理不可线性分离的数据。关于MLP的关键是它的所有层都是完全连接的。这意味着一层的每个神经元都连接到下一层的所有神经元。

1975年,反向传播成为训练MLP的实用方法。但是深度学习仍然不是进行机器学习的主流方法。那是因为MLP通常是在XOR数据集上训练的。除了缺乏计算能力外,还缺乏可以验证MLP实用性的现实生活数据集。1995年左右,Yann LeCun发布了MNIST数据集,是一个手写数字数据库。后来为神经网络的基础。

第二章:Pytorch简介

为什么选择pyTorch?

Pytorch是一个基于python的科学计算框架,它也可以帮助我们设计深度神经网络。对python友好,这使得初学者非常容易立即开始编码。Python已经成为机器学习领域的通用语言。

我最喜欢Pytorch的特性是:

  • 简单直观的API
  • 模型图

Pytorch的动态计算图使编写代码变得非常直观。与TensorFlow相比,由于该图不是静态的,因此深度神经网络架构师更容易更改。

有许多基准测试表明,pytorch比keras更快,有时甚至可以与tensorflow相提并论。

为了演示,我们将在Pytorch中设计一个神经网络,该网络具有1个10神经元隐藏层,一个输入层和一个输出层。你也可以通过示例代码添加更多的层。

第三章:如何让电脑看到?

卷积神经网络

在深度学习世界中,卷积神经网络(或卷积神经网络或CNN)已成为解决与图像有关的标准方法。关于CNN最好的部分是,与前代产品相比,它们所需的预处理比较少。几乎不需要硬编码功能。

对于计算机而言,图像不过是多维数组(如果图像是RGB,则为3-d)。取值范围是0-255。对于计算机而言,图像不过是像素值的集合。以下是示例图片:

第四章 如何让计算机记忆?

  • 灵感
  • RNNs是什么?
  • LSTM及其变体
  • 在pytorch中使用LSTMs生成单词
  • 该领域的进展

第五章 下一步

  • 从 Fast.ai MOOCs 开始学习
  • 在学习Fast ai's 课程同时, 学习Andrej Karpathy的课程笔记
  • 开始学习斯坦福大学 CS 231n.
  • 学习CS 229

不知道这本书合不合你的心意呢?

你可能感兴趣的:(pytorch,多层lstm)