感知器
一个感知器就是一个人工神经元。
它是最简单的神经网络。
神经网络是机器学习的基石。
弗兰克·罗森布拉特
弗兰克·罗森布拉特 (1928 – 1971) 是一位著名的美国心理学家,在人工智能领域做出重大贡献。
在1957年,他开启了一项巨大的事业。他在康奈尔航空实验室的 IBM 704 计算机上“发明”了感知器程序。
科学家们发现,脑细胞(神经元)通过电信号接收来自我们感官的输入。
神经元再利用电信号存储信息,并根据之前的输入做出决策。
弗兰克的想法是,感知器可以模拟大脑原理,具有学习和决策的能力。
感知器
最初的感知器被设计为接收多个二进制输入,并产生一个二进制输出(0 或 1)。
其理念是使用不同的权重来表示每个输入的重要性,并且在做出诸如是或否(真或假)(0 或 1)的决策之前,所有值的总和应该大于阈值。
感知器示例
想象一下一个感知器(在你大脑里)。
感知器试图决定你是否应该去参加音乐会。
艺术家是否很棒?天气是否良好?
这些事实应该具有什么权重?
标准 | 输入 | 权重 |
---|---|---|
艺术家很棒 | x1 = 0 或 1 | w1 = 0.7 |
天气很好 | x2 = 0 或 1 | w2 = 0.6 |
朋友会来 | x3 = 0 或 1 | w3 = 0.5 |
供应食物 | x4 = 0 或 1 | w4 = 0.3 |
供应酒精 | x5 = 0 或 1 | w5 = 0.4 |
感知器算法
弗兰克·罗森布拉特建议了这种算法
- 设置一个阈值
- 将所有输入乘以它们的权重
- 将所有结果相加
- 激活输出
1. 设置一个阈值:
- 阈值 = 1.5
2. 将所有输入乘以它们的权重:
- x1 * w1 = 1 * 0.7 = 0.7
- x2 * w2 = 0 * 0.6 = 0
- x3 * w3 = 1 * 0.5 = 0.5
- x4 * w4 = 0 * 0.3 = 0
- x5 * w5 = 1 * 0.4 = 0.4
3. 将所有结果相加:
- 0.7 + 0 + 0.5 + 0 + 0.4 = 1.6 (加权和)
4. 激活输出:
- 如果总和 > 1.5,则返回真(“是的,我会去参加音乐会”)
注意
如果你的天气权重是 0.6,对其他人来说可能不同。权重越高表示天气对他们来说越重要。
如果你的阈值是 1.5,对其他人来说可能不同。阈值越低表示他们更想参加任何音乐会。
示例
const threshold = 1.5;
const inputs = [1, 0, 1, 0, 1];
const weights = [0.7, 0.6, 0.5, 0.3, 0.4];
let sum = 0;
for (let i = 0; i < inputs.length; i++) {
sum += inputs[i] * weights[i];
}
const activate = (sum > 1.5);
感知器在 AI 中
一个感知器就是一个人工神经元。
它受到生物神经元功能的启发。
它在人工智能中起着至关重要的作用。
它是神经网络中重要的构建块。
为了理解它背后的理论,我们可以将其分解成其组成部分
- 感知器输入(节点)
- 节点值(1、0、1、0、1)
- 节点权重(0.7、0.6、0.5、0.3、0.4)
- 求和
- 阈值
- 激活函数
- 求和(sum > 阈值)
1. 感知器输入
感知器接收一个或多个输入。
感知器输入称为节点。
节点具有值和权重。
2. 节点值(输入值)
输入节点具有1 或0 的二进制值。
这可以解释为真或假 / 是或否。
这些值是:1, 0, 1, 0, 1
3. 节点权重
权重是分配给每个输入的值。
权重表示每个节点的强度。
值越高表示输入对输出的影响越大。
这些权重是:0.7, 0.6, 0.5, 0.3, 0.4
4. 求和
感知器计算其输入的加权和。
它将每个输入乘以相应的权重,并将结果加起来。
总和是:0.7*1 + 0.6*0 + 0.5*1 + 0.3*0 + 0.4*1 = 1.6
6. 阈值
阈值是感知器需要达到的值才能激活(输出 1),否则它将保持不活动状态(输出 0)。
在本例中,阈值是:1.5
5. 激活函数
在求和之后,感知器应用激活函数。
其目的是在输出中引入非线性。它根据聚合的输入决定感知器是否应该激活。
激活函数很简单:(sum > 阈值) == (1.6 > 1.5)
输出
感知器的最终输出是激活函数的结果。
它代表感知器根据输入和权重做出的决策或预测。
激活函数将加权和映射到二进制值。
二进制1 或0 可以解释为真或假 / 是或否。
输出是1 因为:(sum > 阈值) == true.
感知器学习
感知器可以通过称为训练的过程从示例中学习。
在训练期间,感知器根据观察到的错误调整其权重。这通常使用感知器学习规则或反向传播算法等学习算法来完成。
学习过程向感知器提供带标签的示例,其中期望的输出是已知的。感知器将其输出与期望的输出进行比较,并相应地调整其权重,目的是最小化预测输出与期望输出之间的误差。
学习过程使感知器能够学习使它能够对新的、未知输入做出准确预测的权重。
注意
很明显,单个神经元无法单独做出决定。
其他神经元必须提供更多输入
- 艺术家是否很棒
- 天气是否良好
- ...
多层感知器可用于更复杂的决策过程。
需要注意的是,虽然感知器对人工神经网络的发展影响深远,但它们仅限于学习线性可分离的模式。
然而,通过将多个感知器叠加在一起形成层并结合非线性激活函数,神经网络可以克服这种限制,并学习更复杂的模式。
神经网络
感知器定义了迈向神经网络的第一步
感知器通常用作更复杂神经网络的构建块,例如多层感知器 (MLP) 或深度神经网络 (DNN)。
通过将多个感知器组合成层并以网络结构连接它们,这些模型可以学习和表示数据中复杂的模式和关系,从而实现图像识别、自然语言处理和决策等任务。