python 列表如何使用abs函数 如何用代码编写一个神经网络异或运算器?

[更新]
·
·
分类:互联网
2972 阅读

python 列表如何使用abs函数

如何用代码编写一个神经网络异或运算器?

如何用代码编写一个神经网络异或运算器?

我们先来看下异或问题的真值表:
从真值表上,我们看到,异或问题的输出和任何单个输入间都不存在线性关系,而是由两个输入同时决定。这就意味着,如果我们仅仅将输入层和输出层直接连接起来,网络无法成功学习异或运算。换句话说,我们至少需要一个隐藏层。
所以,我们的神经网络将是一个三层架构:输入层、隐藏层、输出层。
确定了网络的层数之后,我们接着考虑激活函数。因为输出是1或0,因此我们选用sigmoid作为激活函数。
随机初始化权重,使用反向传播和梯度下降,我们就得到了进行异或运算的神经网络。
下面的示例代码使用Python,不过这一逻辑是通用的,换成其他语言也一样。
导入numpy(这将是我们唯一的依赖)
import numpy as np
前向传播(X为输入数据,我们这里省略了sigmoid的定义,和随机化初始化权重w0、w0的过程)
l0 X
l1 sigmoid((l0, w0))
l2 sigmoid((l1, w1))
看下当前误差多少(y为ground truth,也就是标准答案)
l2_error y - l2
反向传播(deriv_sigmoid为sigmoid的导数,这里我们省略了它的定义)
l2_delta l2_error * deriv_sigmoid(l2)
l1_error l2_(w1.T)
l1_delta l1_error * deriv_sigmoid(l1)
w1 (l2_delta)
w0 (l1_delta)
将以上过程迭代个几万次,就是训练神经网络。

tbe和硅胶有什么区别?

tbe
TBE(Tensor Boost Engine)自定义算子开发工具:
一款华为自研的 NPU算子开发工具
在TVM(Tensor Virtual Machine)框架基础上扩展
提供了一套Python API来实施开发活动
硅胶
硅胶别名矽胶、硅凝胶、氧化硅胶,是一种高活性吸附材料,属非晶态物质。硅胶主要成分是二氧化硅,化学性质稳定,不燃烧。一般来说,硅胶按其性质及组分可分为有机硅胶和无机硅胶两大类。