如何用TensorFlow构建神经网络识别手写数字(How To Build a Neural Network to Recognize Handwritten Digits with TensorFlow)
Section outline
-
神经网络作为深度学习的一种方法,是人工智能的众多子领域之一。它们最初在大约70年前被提出,旨在模拟人脑的工作方式,尽管是以一种更为简化的形式。独立的“神经元”以层级连接,并分配有权重,以决定当信号在网络中传播时神经元如何响应。过去,神经网络在能够模拟的神经元数量上受到限制,因此它们所能实现的学习复杂性也有限。但近年来,由于硬件开发的进步,我们已经能够构建非常深的神经网络,并用巨大的数据集对其进行训练,从而在机器智能方面取得了突破。
这些突破使得机器在执行某些任务时能够匹配甚至超越人类的能力。其中一项任务就是物体识别。尽管机器在历史上一直无法与人类视觉相媲美,但深度学习的最新进展使得构建能够识别物体、人脸、文本甚至情感的神经网络成为可能。
在本教程中,你将实现物体识别的一个小分支——数字识别。你将使用 TensorFlow(https://www.tensorflow.org/),这是一个由 Google Brain 实验室为深度学习研究开发的开源 Python 库,处理手绘的 0-9 数字图像,并构建和训练一个神经网络来识别并预测所显示数字的正确标签。
虽然你不需要具备深度学习实践或 TensorFlow 的先验经验来跟随本教程,但我们假设你对机器学习术语和概念(如训练和测试、特征和标签、优化和评估)有所了解。
Neural networks are used as a method of deep learning, one of the many
subfields of artificial intelligence. They were first proposed around 70
years ago as an attempt at simulating the way the human brain works,
though in a much more simplified form. Individual ‘neurons’ are
connected in layers, with weights assigned to determine how the neuron
responds when signals are propagated through the network. Previously,
neural networks were limited in the number of neurons they were able to
simulate, and therefore the complexity of learning they could achieve.
But in recent years, due to advancements in hardware development, we
have been able to build very deep networks, and train them on enormous
datasets to achieve breakthroughs in machine intelligence.
These breakthroughs have allowed machines to match and exceed the
capabilities of humans at performing certain tasks. One such task is
object recognition. Though machines have historically been unable to
match human vision, recent advances in deep learning have made it
possible to build neural networks which can recognize objects, faces, text,
and even emotions.
In this tutorial, you will implement a small subsection of object
recognition—digit
recognition.
Using
TensorFlow
(https://www.tensorflow.org/),
an
open-source
Python
library
developed by the Google Brain labs for deep learning research, you will
take hand-drawn images of the numbers 0-9 and build and train a neural
network to recognize and predict the correct label for the digit displayed.
While you won’t need prior experience in practical deep learning or
TensorFlow to follow along with this tutorial, we’ll assume some
familiarity with machine learning terms and concepts such as training
and testing, features and labels, optimization, and evaluation.