生成模型和序列模型总是令我着迷:它们提出的问题与我们初学机器学习时常遇到的问题不同。刚开始学习 ML 时,和很多人一样,我学的是分类和回归。这些可以帮助我们提出并回答以下问题:
10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有鼎城免费网站建设让你可以放心的选择与我们合作。
分类和回归是非常值得掌握的技能,并且几乎可以***将这两者用于现实问题。但是,我们可能会提出其它类型的问题,这些问题与之前的十分不同。
在暑期实习期间,我使用 TensorFlow 的两个*** API(tf.keras 和 eager execution)开发了这些示例,以下是分享内容。希望你们能觉得它们有用,有趣!
如果你还不了解这些 API,可以通过 tensorflow.org/tutorials 上的 notebook 来了解更多信息,其中包含最近更新的示例。
以下每个示例都是端到端的,并遵循类似的模式:
示例#1:文本生成
***个示例是文本生成,我们用 RNN 生成与莎士比亚风格类似的文本。你可以通过下面的链接在 Colaboratory 上运行它(或者从 GitHub 下载它当做 Jupyter notebook)。代码在 notebook 中有详细解释。
示例 1 notebook:
https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/generative_examples/text_generation.ipynb
鉴于莎士比亚著作颇丰,这个例子学会了生成与莎翁风格相似的文本:
在莎士比亚文集训练 30 个 epoch 后,notebook 生成的示例文本。
虽然大部分句子都没有意义(因为这个简单的模型还没有学会语言的含义),但令人印象深刻的是,大多数单词拼写正确,并且它生成的剧本结构看起来与原始剧本的结构相似。(这是一个基于字符的模型,我们训练它的时间不长——但它已经成功地从零开始学会了这两件事)。只要你想,更改一行代码就可以更改数据集。)
想要更进一步了解 RNN,可以去看 Andrej Karpathy 的优秀文章——《The Unreasonable Effectiveness of Recurrent Neural Networks》。如果你想了解更多关于用 Keras 或 tf·Keras 实现 RNN 的信息,我们推荐 Francois Chollet 的 notebook。
Francois Chollet 的 notebook:https://github.com/fchollet/deep-learning-with-python-notebooks
示例 #2:DCGAN
在这个示例中,我们用 DCGAN 生成手写数字。生成对抗网络(GAN)由生成器和判别器组成。生成器的工作是生成逼真的图像,以欺骗判别器。判别器的工作是在真图像和伪图像(由生成器生成)之间进行分类。下面看到的输出是在使用《Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks》一文中所述的网络架构和超参数训练生成器和判别器 150 个 epoch 之后生成的。
示例 2 notebook:
https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/generative_examples/dcgan.ipynb
在 150 个 epoch 中每 10 个 epoch 生成一次图像的 GIF。你可以在 notebook 中找到生成这种 GIF 的代码。
示例#3:注意力神经网络机器翻译
这个示例训练模型将西班牙语句子翻译成英语句子。模型训练好后,你可以输入西班牙语,例如「¿todavia estan en casa?」,并返回英文翻译:「are you still at home?」
下图是注意力图。它显示了翻译时,输入句子的哪些部分会引起模型的注意。例如,当模型翻译「cold」这个词时,它正看着「mucho」,「frio」,「aqui」。我们使用 tf.keras 和 eager execution 从零开始实现 Bahdanau Attention,详细解释在 notebook 中。你还可以将此实现用作实现自定义模型的基础。
示例 3 notebook:
https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/nmt_with_attention/nmt_with_attention.ipynb
上述翻译的注意力图。
示例 #4:注意力图像标注
在此示例中,我们训练模型用以预测图像的标题。我们还生成了一个注意力图,它显示了模型在生成标题时所关注的图像部分。例如,当模型预测单词「冲浪板」时,它会聚焦在图片中的冲浪板附近。我们使用 MS-COCO 数据集的子集训练该模型,该数据集将由 notebook 自动下载。
示例 4 notebook:
https://colab.research.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/examples/generative_examples/image_captioning_with_attention.ipynb
图像的预测标题。
上图中每个单词的注意力图。
文章标题:一招教你使用 tf.keras 和 eager execution 解决复杂问题
网站路径:http://www.gawzjz.com/qtweb/news0/171300.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联