### 什么是神经网络?
神经网络(Neural Network)是模仿人脑神经元工作原理的一种计算模型,主要用于处理和识别复杂的数据模式。它是由大量的节点(或称为神经元)相互连接而成的网络,每个节点负责处理数据的一部分,并通过调整节点间的连接权重来学习数据中的规律。
神经网络可以分为以下几类:
1. "前馈神经网络(Feedforward Neural Network)":是最简单和最常用的神经网络类型,数据只沿着一个方向流动,从输入层流向输出层。
2. "卷积神经网络(Convolutional Neural Network, CNN)":常用于图像识别,它通过卷积操作提取图像特征。
3. "循环神经网络(Recurrent Neural Network, RNN)":适用于处理序列数据,如时间序列分析、语音识别等。
4. "生成对抗网络(Generative Adversarial Network, GAN)":由两个神经网络组成,一个生成器和一个判别器,用于生成新的数据。
### 神经网络是如何运作的?
以下是神经网络运作的基本步骤:
1. "数据输入":将数据输入到神经网络的输入层。
2. "数据处理":输入层将数据传递到隐藏层,每个神经元会对输入数据进行处理,并计算输出。
3. "权重更新":计算每个神经元的输出误差,并使用梯度下降法等优化算法更新神经元之间的连接权重。
4. "输出结果":经过多个隐藏层
相关内容:
出于对AI技术的兴趣,我开始关注AI背后的技术研究内容,对于产品经理来说,及时介入新技术非常有必要,我会把输出文章作为“费曼学习法”的基础,除了督促我自己对这些技术深度理解,更希望我能将这些较为前沿甚至晦涩的技术内容更通俗地介绍给大家。

出于对AI技术的兴趣,我开始关注AI背后的技术研究内容,对于产品经理来说,及时介入新技术非常有必要,我会把输出文章作为“费曼学习法”的基础,除了督促我自己对这些技术深度理解,更希望我能将这些较为前沿甚至晦涩的技术内容更通俗地介绍给大家。
一、神经网络因何而生?
神经网络,是计算机技术基于生物学技术提出的理念。
很多文章会重点强调这种计算模型是受到人类大脑结构和功能的启发,但不止于此,其实这种计算模型与人类视觉系统关系也非常大。
人类视觉系统非常复杂,包含数亿个神经元和连接,举个例子来说,在我们的认知领域,识别手写数字很容易,但这项工作对计算机程序来说却非常困难。

如图例,人会先通过视觉去看到数字,然后迅速传导到大脑进行辨析,输出结论——这是数字5。
即使这些5的长相各异,但人类出于某些原因仍能够精准判断,比如认识第一个5,自然而然对后续的符号产生联想,理解后续的符号都是数字,然后归类于5。
或者比如第三个5,独立去看,奇形怪状的,但若某人曾看见过某个5是这样书写的,也会自然而然将其认识为5。
识别手写数字并不容易,但人类非常擅长理解视觉所见,这种辨析往往在几分之一秒就不知不觉地完成。因此,我们通常不会意识到我们的视觉系统解决的问题有多复杂。
但对于计算机来说,这是一个全新的领域,计算机没有所谓的“视觉神经”,摄像头起到的作用仅仅是“看”而不是“迅速地想”,那么,该如何识别这个手写数字为5呢?
这就是神经网络所解决的问题,神经网络是存在于计算机中的、模拟了人类判断辨析事物的方法的运算集合,它可以依据这种运算能力去处理和模拟复杂的问题,如图像识别、语音识别、自然语言处理等。
这也是为什么AI会可以替代人,因为它的技术基础——神经网络,就是在模仿人。
二、神经网络是什么?其中有什么?
科学家们将人的判断步骤分为三块:输入-分析-输出,所以,神经网络也由输入层、隐藏层(我愿意称之为分析层)和输出层组成。
依据这种阶段的概念,制造出了存在于计算机中的人工神经元,将这些人工神经元,布置在输入层、隐藏层和输出层之中,人工神经元之间交叉着利用函数构建起来的关联线,最终形成了有结构的神经网络。

我会介绍两种重要的人工神经元模型:感知器和S型神经元。
1. 感知器
在输入层,最重要的就是该如何去获取有效信息,并输入到计算机之中。这点我们可以理解为,我们在看到某个事物时,并不是纯粹机械地在“看”,而是有主次意识地在“看”。

依然以这组数字为例,我们在“看”的时候,会重点看黑色的字体“5”,其次关注到周围的“·”以及其与“5”的排列关系,背景的灰色在思维惯性下会被忽视。
但对于计算机来说,如果不进行“感知”而是单纯去看,这张图对于它就是这样的(甚至更夸张一些,但我不知道该如何形容这种虚无):

而感知器的存在,就像是为计算机提供了一种优先级识别的能力。
感知器中会有一套二进制的运算方式,以图片中的各个“元素优先级(权重)”搭配“是/否判断”,来达成“识别感知”的目的。
比如,以上面的数字图为基础,感知器会这样帮助计算器识别图片中有文字。

中间的圆圈就是感知器,而在这个过程中,“黑色”和“线条”都要经过感知器的“是/否判断”,并且还会对应权重,比如“线条”的权重就应该略高于“黑色”,因为图中还有非线条的“·”存在,如果单纯以黑色为判断基础,“·”也会被定义为“数字”。
这就是感知器的工作原理。
当然,实际层面的判断不会如我介绍的这么简单,各种判断条件及权重的交叉是很复杂的,如下图,感知器会接力运行计算,最终输出结果。
这也是为什么会有人说,AI模型很考验“算力”,因为感知器需要在瞬间完成大量判断运算。

这里需要注意的是,感知器只有“单个条件”输出的能力,也就是说,一个感知器最终只会输出一个结果,如图中的这种输出多个结果的形式,是因为下一列的多个感知器都会使用这个感知器输出的同一个结果来进行判断。
2. S型神经元
上文提到的感知器,很容易爆发出一个致命问题:其中细小的一些权重变化,就会对后续结果造成很大影响。那么我们该如何保证最终输出的结果能满足我们的要求呢?
修正偏差。
我们可以利用结果来反向修改权重,就像是工作中经常会做的“复盘”,这会使神经网络表现得如我们所愿。
S 形神经元(Sigmoid神经元)就是这种可以自行复盘的人工神经元,是对早期感知器模型的改进,表面看与感知器很类似,但经过机器自行的复盘修正,其权重和偏差的微小变化仅会导致其输出的微小变化,这也是一直所讨论的机器学习的关键基础——通过不断修正偏差来不断逼近有效结果。
这种修正能力的基础来源于Sigmoid函数,该函数的特点是连续且可微、非线性,具体解释比较复杂,属于数学概念,简单了解一下即可。
连续且可微:“连续且可微”是描述函数性质的两个重要概念,在机器学习中,连续且可微的激活函数(如Sigmoid或Tanh)允许使用基于梯度的优化算法来训练神经网络。
非线性:这个函数使得神经网络能够学习和模拟非线性数据关系,显著扩展了网络的功能和应用范围。它不遵循线性原则,即其输出与输入之间的关系不是简单的、成比例的关系。更具体地说,如果一个函数