第十九章 人工智能的未来

The future of AI

本章内容

  • 深度学习的局限性
  • 智能的本质
  • 当前方法缺少什么
  • 未来可能会是什么样子
  • The limitations of deep learning
  • The nature of intelligence
  • What’s missing from current approaches
  • What the future might look like

要正确使用工具,不仅要了解它的功能还要了解它的局限性我将概述深度学习的一些关键局限性。然后,我会对人工智能的未来发展方向以及达到人类水平的通用智能需要哪些条件提出一些推测。如果您对基础研究感兴趣,这部分内容应该会特别吸引您。

阅读全文 »

第十八章 现实世界的最佳实践

Best practices for the real world

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 超参数调优
  • 模型集成
  • 在多个 GPU 或 TPU 上训练 Keras 模型
  • 混合精度训练
  • 量子化
  • Hyperparameter tuning
  • Model ensembling
  • Training Keras models on multiple GPUs or on TPU
  • Mixed-precision training
  • Quantization

从本书开头到现在,你已经取得了长足的进步。你现在可以训练图像分类模型、图像分割模型、矢量数据分类或回归模型、时间序列预测模型、文本分类模型、序列到序列模型,甚至文本和图像生成模型。你已经掌握了所有基础知识。

然而,你目前的模型都是在小规模下训练的——使用小型数据集和单个GPU——而且在我们考察过的每个数据集上,它们通常都没有达到最佳性能。毕竟,这本书只是一本入门读物。如果你想在现实世界中,在全新的问题上取得最先进的成果,你仍然需要跨越一道鸿沟。

本章旨在弥合机器学习学生与工程师之间的差距,并为你提供从机器学习学生成长为一名成熟的机器学习工程师所需的最佳实践。我们将回顾系统性提升模型性能的关键技术:超参数调优和模型集成。然后,我们将探讨如何利用多GPU和TPU训练、混合精度和量化等方法加速和扩展模型训练。

阅读全文 »

第十七章 图像生成

Image generation

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 变分自编码器
  • 扩散模型
  • 使用预训练的文本到图像模型
  • 探索文本到图像模型学习到的潜在图像空间
  • Variational autoencoders
  • Diffusion models
  • Using a pretrained text-to-image model
  • Exploring the latent image spaces learned by text-to-image models

当今最流行、最成功的创意人工智能应用是图像生成:学习潜在的视觉空间并从中采样,从而创建全新的图像,这些图像是从真实图像中插值而来的——虚构的人物、虚构的地点、虚构的猫狗等等。

阅读全文 »

第十六章 文本生成

Text generation

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 生成模型简史
  • 从零开始训练一个微型 GPT 模型
  • 使用预训练的Transformer模型构建聊天机器人
  • 构建一个能够用自然语言描述图像的多模态模型
  • A brief history of generative modeling
  • Training a miniature GPT model from scratch
  • Using a pretrained Transformer model to build a chatbot
  • Building a multimodal model that can describe images in natural language

当我最初提出在不久的将来,我们所消费的大部分文化内容都将在人工智能的大力协助下创作时,我遭到了彻底的质疑,甚至连资深的机器学习从业者也对此表示怀疑。那是2014年。十年过去了,这种质疑以惊人的速度消散了。生成式人工智能工具如今已成为文字处理器、图像编辑器和开发环境中常见的组成部分。运用生成模型创作的文学和艺术作品也屡获殊荣——这引发了相当大的争议和辩论。[1]人工智能与艺术创作常常交织在一起的世界,如今已不再像是科幻小说里的情节。

阅读全文 »

第十五章 语言模型和Transformer

Language models and the Transformer

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 如何使用深度学习模型生成文本
  • 训练一个模型,用于将英语翻译成西班牙语
  • Transformer 是一种用于文本建模问题的强大架构
  • How to generate text with a deep learning model
  • Training a model to translate from English to Spanish
  • The Transformer, a powerful architecture for text modeling problems

上一章介绍了文本预处理(text preprocessing)和建模的基础知识,本章将探讨一些更复杂的语言问题,例如机器翻译。我们将深入理解Transformer模型,该模型为ChatGPT等产品提供支持,并引发了自然语言处理(NLP)领域的投资热潮。

阅读全文 »

第十四章 文本分类

Text classification

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 自然语言处理(NLP)领域简介
  • 预处理文本输入,将其转换为数值输入
  • 构建简单的文本分类模型
  • An introduction to the field of natural language processing (NLP)
  • Preprocessing text input into numeric input
  • Building simple text classification models

本章将为处理文本输入奠定基础,本书接下来的两章将在此基础上继续深入探讨。读完本章,你将能够以多种方式构建一个简单的文本分类器。这将为下一章构建更复杂的模型(例如 Transformer 模型)做好准备。

阅读全文 »

第十三章 时间序列预测

Timeseries forecasting

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 时间序列机器学习概述
  • 理解循环神经网络(RNN)
  • 将循环神经网络应用于温度预测示例
  • An overview of machine learning for timeseries
  • Understanding recurrent neural networks (RNNs)
  • Applying RNNs to a temperature forecasting example

本章探讨时间序列,其中时间顺序至关重要。我们将重点关注最常见且最有价值的时间序列任务:预测。利用近期数据预测未来趋势是一项强大的能力,无论您是想预测能源需求、管理库存,还是仅仅预测天气。

阅读全文 »

第十二章 目标检测

Object detection

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 理解目标检测问题
  • 两阶段和单阶段目标检测器
  • 从零开始训练一个简单的单阶段检测器
  • 使用预训练的目标检测器
  • Understanding the object detection problem
  • Two-stage and single-stage object detectors
  • Training a simple single-stage detector from scratch
  • Using a pretrained object detector

目标检测的核心在于绘制边界框(也称为边界框)(drawing boxes (called bounding boxes)),将图像中感兴趣的物体框起来(见图 12.1)。这不仅能让你知道图像中有哪些物体,还能让你知道它们的位置。它的一些最常见应用包括:

  • 计数——找出图像中某个物体的出现次数。
  • 跟踪——通过对电影的每一帧执行对象检测,跟踪场景中物体随时间推移的运动情况。
  • 裁剪——识别图像中包含感兴趣对象的区域,将其裁剪出来,并将图像块的更高分辨率版本发送到分类器或光学字符识别 (OCR) 模型。
  • Counting—Find out how many instances of an object are in an image.
  • Tracking—Track how objects move in a scene over time by performing object detection on every frame of a movie.
  • Cropping—Identify the area of an image that contains an object of interest to crop it and send a higher-resolution version of the image patch to a classifier or an Optical Character Recognition (OCR) model.
阅读全文 »

第十一章 图像分割

Image segmentation

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 计算机视觉的不同分支包括:图像分类、图像分割和目标检测。
  • 从零开始构建分割模型
  • 使用预训练的 Segment Anything 模型
  • The different branches of computer vision: image classification, image segmentation, and object detection
  • Building a segmentation model from scratch
  • Using the pretrained Segment Anything Model

第 8 章通过一个简单的用例——二值图像分类——初步介绍了计算机视觉中的深度学习。但计算机视觉远不止图像分类!本章将深入探讨计算机视觉的另一个重要应用——图像分割。

阅读全文 »

第十章 解读卷积神经网络的学习成果

Interpreting what ConvNets learn

运行代码

在 Colab 上运行

在 GitHub 上查看

本章内容

  • 解释卷积神经网络如何分解输入图像
  • 可视化卷积神经网络学习到的滤波器
  • 可视化图像中负责特定分类决策的区域
  • Interpreting how ConvNets decompose an input image
  • Visualizing the filters learned by ConvNets
  • Visualizing areas in an image responsible for a certain classification decision

构建计算机视觉应用时,一个根本性问题是可解释性为什么分类器会认为某张图像中包含冰箱,而你看到的明明是一辆卡车?这在深度学习用于辅助人类专业知识的应用场景中尤为重要,例如医学影像应用。本章将介绍一系列不同的可视化卷积神经网络学习内容和理解其决策的技术。

人们常说深度学习模型是“黑箱”:它们学习到的表征难以提取并以人类可读的形式呈现。虽然这种说法对某些类型的深度学习模型部分正确,但对卷积神经网络(ConvNets)而言则完全不成立。卷积神经网络学习到的表征非常易于可视化,这很大程度上是因为它们是 对视觉概念的表征(representations of visual concepts)。自 2013 年以来,人们开发了多种可视化和解释这些表征的技术。我们不会一一介绍,但会重点介绍其中三种最易于理解和使用的方法:

  • 可视化卷积神经网络的中间输出(中间激活值) ——有助于理解连续的卷积神经网络层如何转换其输入,并初步了解各个卷积神经网络滤波器的含义。
  • 可视化卷积神经网络的滤波器——有助于精确理解卷积神经网络中每个滤波器所响应的视觉模式或概念。
  • 可视化图像中类别激活的热图——有助于了解图像中哪些部分被识别为属于特定类别,从而帮助您定位图像中的对象。
  • Visualizing intermediate ConvNet outputs (intermediate activations) — Useful for understanding how successive ConvNet layers transform their input, and for getting a first idea of the meaning of individual ConvNet filters
  • Visualizing ConvNets filters — Useful for understanding precisely what visual pattern or concept each filter in a ConvNet is receptive to
  • Visualizing heatmaps of class activation in an image — Useful for understanding which parts of an image were identified as belonging to a given class, thus allowing you to localize objects in images

对于第一种方法——激活可视化——你将使用你在第 8 章中从头开始训练的用于解决猫狗分类问题的小型卷积神经网络。对于接下来的两种方法,你将使用预训练的 Xception 模型。

阅读全文 »
0%