AIGC背后的技术分析 | 构建神经网络

简介: 你会羡慕机器的强大算力吗?事实上,我们的大脑也能做到很多普通计算机无法做到的事情。例如,我们只需要瞥一眼照片中的人,就能快速识别出这个人我们是不是认识。如果是,那么这个人的各种性格特征以及关于他的种种故事也会出现在我们的脑海中;如果不是,我们也能给出对这个人的第一印象描述。

640.png


上面的过程对于人类来说可能在 1 秒钟之内就完成了,但是对于计算机而言则难于上青天。仅仅为了让计算机能够准确地识别出照片中的人脸和面部器官,科学家们就已经付出了多年的努力,若是想要计算机精确地识别出图片中的人姓甚名谁以及评价出这是一个什么样的人则更为困难。

毕竟,我们等等大脑实际上是由约1000亿个神经元和其他种类的细胞共同构成的复杂系统。这 1000 亿个神经元之间相互协作、相互交流,帮助我们应对生活中的各种情况,存储我们宝贵的记忆。

因此,有科学家设想,如果能够将人类的神经元和神经网络这样的结构应用于计算机领域,是否能够让计算机的“思维”方式更加接近人类?于是科学家们开始着手构建计算机的神经网络,由于这是人类设计的而非自然界中存在的,因此被称为“人工神经网络”。

相信大家对于“人工神经网络”这个词并不陌生。自从AlphaGo战胜李世石和柯洁两位 人类围棋大师以来,这个词就频繁出现在各类新闻报道中。

640.jpg


在刷脸支付、模式识别等人工智能成果的介绍中,我们都能看见诸如“BP神经网络”“卷积神经网络”这样的词汇。

而对于这些词汇,新闻报道上往往只是一笔带过,并没有做过多的解释。在这里,我希望能够用通俗的语言将人工智能领域最为核心的深度学习技术介绍给大家。
# 1、生物体中的神经元



在介绍人工神经网络之前,我们先来看看生物体内的神经元是怎样运作的。请看图1。

640.png


■ 图1 生物的神经元与简化的神经元

一个神经元竟然具有如此复杂的结构!不过科学家不可能在算法中设计一个这样复杂的神经元,于是就有了图1下方这个神经元的简化模式。

这个简化的神经元最重要的几部分就是树突、细胞体、轴突:

一个神经元往往有多个树突,这些树突能够接收上一个神经元细胞传递来的信号;

细胞体在收集到这些信号之后进行一定的判断,决定做出何种反应(兴奋或抑制);

轴突只有一个,负责将这个细胞体决定输出的信号传送给下一个神经元的树突。

这就是遍布于我们体内的神经元最简单的工作方式。

2、人工神经网络模型的形成

1957 年,心理学家弗兰克·罗森布拉特在康奈尔大学的学习过程中提出了感知器模型。这一模型综合了前人的理论(综合了哪些理论呢?感兴趣的可以参见《漫话人工智能:从二进制到未来智能社会》一书),在人工神经网络的研究上具有里程碑式的意义,感知器模型也被称为第一个真正意义上的神经网络。

640.png


为了便于理解,下面举一个单层感知器的例子,以帮助大家了解人工神经网络中激活函数、权值、训练等术语的含义,以及人工神经网络的基本工作原理。这些术语非常容易理解,了解这些术语对之后理解深度神经网络有很大的帮助。


1●一个神经元是怎么工作的?

单层感知器模型的名字中虽然带有“单层”这个词,但实际上它分为两层,分别为输入层 和输出层,如图2所示。

640.png


■ 图2 单层感知器模型



假设输入层有3个神经元 1、2、3,输出层有2个神经元A、B。

输入层的 1、2、3 向输出层输出的信号分别为X1、X2、X3;由于输入层3个神经元向输出层神经元传递信号时信号的“重要程度”不同,因此有不同的权值,设由1向A传递的信号权值为 W1A,由2向A传递的信号权值为W2A,由 3向A传递的信号权值为W3A,那么 A接收到1传递来的信号就是X1×W1A,接收到2传递来的信号就是X2×W2A,接收到 3 传递来的信号就是 X­­3×W 3A。

对于输出层的A 来说,这个神经元是否被“激活”取决于一个激活函数,在这里为了简化,我们假设这个激活函数 A(X) 为神经元1、2、3传来的信号之和:
A(X)= X1×W1A+X2×W2A+X3×W3A
大家千万不要被上面这段的公式吓到,在这里只有最简单的加减法和乘法,而且已经非常接近感知器模型的工作原理了,只要带上具体数字,就很容易理解了。

假如,神经元1向A传递的信号为(X1=1),但这个信号非常“重要”,因此给它一个比较高的权重3。神经元2 向A传递的信号为(X2=2),但是这个信号“不太重要”,因此给它的权重为 0.5。神经元3向A传递的信号为(X3=1),但这个信号起着“拖后腿”的作用,因此给它的权重为-3。那么A的计算结果就是 1×3+2×0.5+1× (-3)=1。这个结果大于0,A被激活,输出1这个信号用于后续计算。

输出层B节点的信号处理过程与A节点类似。

在这里我们看到了一个人工神经元是怎么处理信号的,其实这一过程并不复杂。

但这就和我们身体中的神经元一样,尽管每个神经元的信号处理过程都不算复杂,但是亿万个神经元一起构成的网络却是一个功能极其复杂的系统,如图3所示,能够帮助我们应对生活中多种多样的问题。科学家建造的人工神经网络也是如此。

640.png


■ 图3 大脑中复杂的神经网络

上面便是一个只有输入层和输出层的单层感知器模型。这一模型可以说是最简单的人工神经网络的模型,但这一模型的提出对于模式分类有着重要的意义。

后面的神经网络有了两个主要的改进。

一是可以加更多的隐藏层,从图4中我们可以看出,隐藏层实际上就是在输入层和输出层之间增加了几层神经元。千万不要小看这几层神经元,在引入隐藏层后,人工神经网络能够处理很多单层神经网络不能处理的复杂问题。

第二个改进是每一个节点的激活由一个“激活函数”来控制,这个激活函数一般采用非线性函数,这样也增加了神经网格处理复杂非线性问题的能力。

640.png


■ 图4 引入隐藏层的人工神经网络模型


2、神经网络的学习能力



关于神经网络的学习能力,我们来用人类的学习做一个形象的比喻。

我们平时有几种学习方式呢?在这里我们将其大体分为以下三种。
死记硬背式。

我们会强行记住每个知识点,但如果知识发生一些变化,我们可能就无法应对这样的变化。这就类似于神经网络中权值不可变的一类模型,这种神经网络模型也基本上没有什么学习能力。

自学。

比如我们并没有学过怎样鉴定植物,但是我们去森林中尝试鉴定,最初我们会把所有绿色有叶子的归为一类,但是随着看到的植物增多(信息量增大),我们开始把植物按照大小分为高的和矮的;再随着看到植物数量的进一步增多,我们发现可以将植物分为草本和木本的。随着信息源源不断地涌入我们的大脑,我们可能自己再创建一个新的规则将这些植物细分。这在神经网络中就体现为权值调整并不取决于一个确切的信号指导,而是取决于这个神经网络自身总结的一些规则。

在老师的指导下学习。

这种学习过程中,我们有一个非常确切的“教师信号”,在给了特定的输入信号之后,教师能够告诉我们正确答案,即输出结果。我们根据这个输入和输出,去不断调整自己的思路,在形成正确的解题思路之后,在面对新题目我们也能用正确的算法做出正确的答案。专业上,我们则称这样的学习方式为监督学习。神经网络会将实际输出与期望输出作比较,并不断调整权值,减小二者之间的差距。

640.jpg

目录
相关文章
|
7月前
|
前端开发 JavaScript 开发者
JavaScript:构建动态网络的引擎
JavaScript:构建动态网络的引擎
|
9月前
|
机器学习/深度学习 算法 量子技术
GQNN框架:让Python开发者轻松构建量子神经网络
为降低量子神经网络的研发门槛并提升其实用性,本文介绍一个名为GQNN(Generalized Quantum Neural Network)的Python开发框架。
227 4
GQNN框架:让Python开发者轻松构建量子神经网络
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
AIGC技术深度解析:生成式AI的革命性突破与产业应用实战
蒋星熠Jaxonic,AI技术探索者,深耕生成式AI领域。本文系统解析AIGC核心技术,涵盖Transformer架构、主流模型对比与实战应用,分享文本生成、图像创作等场景的实践经验,展望技术趋势与产业前景,助力开发者构建完整认知体系,共赴AI原生时代。
1304 2
|
7月前
|
人工智能 监控 数据可视化
如何破解AI推理延迟难题:构建敏捷多云算力网络
本文探讨了AI企业在突破算力瓶颈后,如何构建高效、稳定的网络架构以支撑AI产品化落地。文章分析了典型AI IT架构的四个层次——流量接入层、调度决策层、推理服务层和训练算力层,并深入解析了AI架构对网络提出的三大核心挑战:跨云互联、逻辑隔离与业务识别、网络可视化与QoS控制。最终提出了一站式网络解决方案,助力AI企业实现多云调度、业务融合承载与精细化流量管理,推动AI服务高效、稳定交付。
|
6月前
|
机器学习/深度学习 人工智能 监控
上海拔俗AI软件定制:让技术真正为你所用,拔俗网络这样做
在上海,企业正通过AI软件定制破解通用化难题。该模式以业务场景为核心,量身打造智能解决方案,涵盖场景化模型开发、模块化架构设计与数据闭环优化三大技术维度,推动技术与业务深度融合,助力企业实现高效、可持续的数字化转型。
230 0
|
7月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1371 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
6月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
599 0
|
7月前
|
监控 前端开发 安全
Netty 高性能网络编程框架技术详解与实践指南
本文档全面介绍 Netty 高性能网络编程框架的核心概念、架构设计和实践应用。作为 Java 领域最优秀的 NIO 框架之一,Netty 提供了异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。本文将深入探讨其 Reactor 模型、ChannelPipeline、编解码器、内存管理等核心机制,帮助开发者构建高性能的网络应用系统。
510 0
|
9月前
|
监控 安全 Go
使用Go语言构建网络IP层安全防护
在Go语言中构建网络IP层安全防护是一项需求明确的任务,考虑到高性能、并发和跨平台的优势,Go是构建此类安全系统的合适选择。通过紧密遵循上述步骤并结合最佳实践,可以构建一个强大的网络防护系统,以保障数字环境的安全完整。
202 12
|
9月前
|
监控 算法 安全
基于 C# 基数树算法的网络屏幕监控敏感词检测技术研究
随着数字化办公和网络交互迅猛发展,网络屏幕监控成为信息安全的关键。基数树(Trie Tree)凭借高效的字符串处理能力,在敏感词检测中表现出色。结合C#语言,可构建高时效、高准确率的敏感词识别模块,提升网络安全防护能力。
237 2
下一篇
开通oss服务