深度学习笔记系列之识别手写字
Neural Networks and Deep Learning[1] 是由 Michael Nielsen[2] 编写的开源书籍,这本书主要讲的是如何掌握神经网络的核心概念,包括现代技术的深度学习,为你将来使⽤神经网络和深度学习打下基础,以下是我的读书笔记。
神经网络是一门重要的机器学习技术,它通过模拟人脑的神经网络来实现人工智能的目的,所以其也是深度学习的基础,了解它之后自然会受益颇多,本章主要是以识别手写字这个问题来贯穿整篇,那么,人类的视觉系统和神经网络到底在识别一个目标的时候,主要区别在哪?
人类视觉系统:通过数十亿年不断地进化与学习,最终能够极好地适应理解视觉世界的任务,从而无意识地就可以对目标进行判断识别
神经网络:通过提供的样本来推断出识别某种目标的规则,作为判断标准
本章的主要内容是介绍神经网络的基本概念以及引入一个识别手写数字的例子来加深我们的理解,你将了解到:
两个重要的人工神经元:感知器和 S 型神经元
神经⽹络的架构
⼀个简单的分类⼿写数字的⽹络
标准的神经网络学习算法:随机梯度下降算法
感知器
1943 年,心理学家 McCulloch 和数学家 Pitts 发表了《A logical calculus of the ideas immanent in nervous activity[3]》,其中提出了抽象的神经元模型 MP,但是在这个模型中权重都是要求提前设置好才可以输出目标值,所以很遗憾,它不可以学习,但这不影响此模型给后来者带来的影响,比如感知器:
感知器是 Frank Rosenblatt 提出的一个由两层神经元组成的人工神经网络,它的出现在当时可是引起了轰动,因为感知器是首个可以学习的神经网络
感知器的工作方式如下所示:
分别表示三个不同的二进制输入,output 则是一个二进制输出,对于多种输入,可能有的输入成立有的不成立,在这么多输入的影响下,该如何判断输出 output 呢?Rosenblatt 引入了权重来表示相应输入的重要性。
对于 个输入,每个输入都有对应的权重 ,最后的输出 output 由每个输入与其对应的权重相乘之和与阈值之差 来决定,如下:
假设