0%

IEArch-基础知识

一、总论

智能体系结构(Intelligent Architecture)是我大三上学期报的一门选修课。这门课的主要实验目的是搭建一个人工神经网络(可能是卷积神经网络)的加速器。在接触这门课前我对于这个名词一无所知。

现在来看,大概是这个意思,人工神经网络是一种模拟人脑神经结构的数学模型,这个数学模型需要计算机辅助实现。但是这个数学模型跟计算机原有的冯诺依曼体系有些不搭配。我们常见的计算机一般将存储和数据处理分离,但是显然我们脑子不是这样的,我们的脑子的存储和数据架构并没有分开,而且存储的形式也不是一种固态的仓库,而更像是一种数据加工过程的趋势。所以我们考虑搭建新的硬件架构,去适应人工神经网络这个数学模型,一旦适应了,就起到了“加速”的作用,这也是被称为“加速器”的原因。


二、计算机的抽象

这个思考在和香老师聊天的过程中逐渐清晰起来。香老师醉心于量子信息和量子计算,她考虑到我对于这些东西一窍不通,所以特别贴心地给我翻译成了“用量子的方式学一遍计组”,据香老师的说法,这种新的量子架构可能可以解决 NP 问题(或者 NP == P 问题,主要是我也不清楚)。我之前也接触过一些 GPU,当时感觉 GPU 的架构虽然与 CPU 有些差距,但是还是可以生搬硬套一个理论抽象出共性。现在我初步看了看这个加速器的架构,感觉很多特点已经没法用计组的那一套理论去理解了。

量子计算机,GPU,加速器,这三个东西的架构或多或少都远离了传统的计算机处理器,那么我们要不要还将其判定为计算机呢?当遇到一个难以解决的问题的时候,是不是如果软件解决不了,我们就可以从硬件上直接对其进行改造呢?如果将计算机的抽象前进一步,是不是就可以将思路更加打开呢?

抽象更进一步的同时,是对于“学科”的迷茫,我到底是学什么的?我的能力的极限在哪里?比如说如果猪肉不好吃,我应该去骂养猪的是傻逼;如果我是一个胆大妄为的人,我或许会黑掉一家银行,让我的余额变得多多的,可以买最好吃的猪肉;如果我是一个有理想的人,或许我会用我的计算机技术辅助对于猪肉基因的改造,让猪肉更加可口。无论我是怎样的人,我觉得有一个原则是不会变的,就是:我绝不会去碰任何一口活着的猪,这是农学生干的事情。

智能体系结构就是这样一个模糊的东西,我之前理解的人工智能,是用软件模拟人脑,这很计算机,因为计算机软件的一大功能就是对于客观世界的模拟,我没有任何意见。但是硬件模拟,而且似乎甚至为了这个数学模型,我们去开发新的材料,新的元器件,来做加速器。看上去就像是在搭建一个人工的神经元,实在是太震撼了。

ReRAM 对于电压敏感的特性与神经元细胞膜上离子门控通道的特性很像,CrossBar 的设计与灰质的解剖结构也很像。可以说,我们在亲手搭建一个人脑。一个硅基的人脑。那么这个硅脑,是否还是计算机的范畴呢?


三、人工神经网络 (Artificial Neural Network)

3.1 神经元 (Neural)

正如我们所见,这是一个神经元,神经元有很多个树突,用于接受其他神经元或者感觉细胞传递而来的神经递质,一般只有一个轴突,用于向其他神经元传递递质。神经元通过收集各个树突传递来的神经递质,打开不同的离子门控通道,当细胞膜电位超过阈值,就会触发动作电位,释放神经递质。我们可以利用这样的一个模型来对这个神经元建模。

其中 $I$ 是输入信号向量,$W$ 是输入信号权值向量,$b$ 是阈值,$f$ 是非线性映射关系,$o$ 是输出信号。我们用这个式子很精炼的概括了一个神经元的特征。

3.2 神经网络 (Neural Network)

很多个神经元在不同层(指信号迭代的次数)就可以构成神经网络。我们对其进行模型训练,训练可以通过影响权值的大小,来获得更加精确的结果,这个过程与人脑的记忆过程具有很高的相似性。

我们称第一层为输入层,最后一层是输出层,中间的层我们称其为隐层

image-20220909091040713

在训练中,我们一般不改变非线性映射,而只改变权重向量。

我们管比较简单的网络叫做感知机

image-20220909091252400

3.3 学科坐标

人工神经网络在学科坐标中大概是这个位置,顺带说一句“启发”的英文是 inspiration,启发式在我粗浅的理解下,似乎就是人们已经没法硬钢解决这个问题了,所以就通过模仿或者瞎猜一个算法路径去解决问题。

image-20220909091102314

这幅图还没有画全,神经网络里还有一个包含是深度学习,深度学习又名“深度学习网络”。所谓的“深度“指的是神经网络的层数很多。

3.4 反向传播 (Back Propagation)


四、数学原理

开始前先放上大佬的话

年轻人,你不曾真正懂得数学,你只是习惯了而已。—冯诺伊曼

Young man, in mathematics you don’t understand things. You just get used to them.—John von Neumann

4.1 卷积

认输,根本学不会。