目录

一、神经网络的定义

二、神经网络的发展

2.1 初创期

2.2 低潮期

2.3 复兴期

2.4 深度学习期

三、LSTM(Long Short-Term Memory)

四、2个经典模型的案例

4.1 多层感知器(MLP)

4.2 卷积神经网络(CNN)


欢迎参考我之前的文章:

【AI】人工智能复兴的推进器之自然语言处理-CSDN博客

【AI】人工智能复兴的推进器之机器学习-CSDN博客(腾讯云社区收录)

一、神经网络的定义

神经网络是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量节点(或神经元)相互关联构成,每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这可以看作人工神经元的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

此外,根据网络的结构和运行方式,神经网络可以分为前馈神经网络和反馈神经网络。前馈神经网络中,当前层的输入只依赖于前一层的节点输出,与更早的网络输出状态无关。而在反馈神经网络中,输出会被一步时移再接入到输入层,输入不仅仅取决于上一层节点的输出。

二、神经网络的发展

神经网络的发展路径可以大致分为以下几个阶段:

2.1 初创期

  1. 1943年,心理学家Warren McCulloch和数学家Walter Pitts提出了MP模型,这是第一个用数理语言描述脑功能的神经元网络模型,标志着神经网络研究的开始。
  2. 1949年,心理学家Donald Hebb提出了Hebb学习规则,为神经网络的学习算法奠定了基础。

2.2 低潮期

在1969年,人工智能的创始人Marvin Minsky和Seymour Papert出版了《Perceptrons》一书,指出简单的线性感知机无法解决异或等线性不可分问题,这一论断使神经网络的研究陷入了近20年的低潮期。

当然,尽管Minsky和Papert的论断对神经网络的研究造成了负面影响,但他们的批评也促使了神经网络研究的深入思考和改进。在随后的年代里,一些研究人员开始探索多层感知器(MLP)和其他更复杂的神经网络结构,以克服简单感知器的局限性。这些努力为神经网络的复兴奠定了基础。

在低潮期间,仍然有一些重要的工作在进行。例如,1972年,芬兰的Kohonen T.教授提出了自组织神经网络SOM(Self-Organizing feature map),这是一种无导师学习网络,主要用于模式识别、语音识别及分类问题。这种学习训练方式可以在不知道有哪些分类类型存在时,用作提取分类信息的一种训练。SOM网络为后来的神经网络发展提供了重要的思路和方法。

2.3 复兴期

  1. 1982年,美国物理学家John Hopfield提出了Hopfield网络模型,引入了“计算能量”的概念,给出了网络稳定性判据,为神经网络的复兴奠定了基础。
  2. 1986年,David Rumelhart和James McClelland等人提出了BP(Back Propagation)算法,即反向传播算法,解决了多层神经网络的学习问题,使得神经网络的训练变得更加有效。

2.4 深度学习期

  1. 2006年,Hinton等人提出了深度学习的概念,通过逐层预训练的方式解决了深度神经网络难以训练的问题,开启了深度学习的时代。
  2. 随着计算机硬件的发展,尤其是GPU的出现,使得大规模神经网络的训练成为可能,深度学习开始广泛应用于各个领域。

神经网络已经在图像识别、语音识别、自然语言处理等领域取得了显著的成果。未来,随着硬件设备的进一步发展以及算法的不断优化,神经网络将会在更多的领域发挥更大的作用。同时,对于神经网络的解释性、可解释性以及安全性等方面的研究也将成为未来的重要方向。

此外,LSTM也是不得不提及的信息点。

LSTM是一种特殊的RNN(循环神经网络),由Hochreiter和Schmidhuber在1997年提出,并在后续工作中得到了许多人的改进和推广。它是为了解决一般RNN存在的长期依赖问题而专门设计的。传统的RNN在处理长序列数据时可能会遇到梯度消失或梯度爆炸的问题,使得模型无法有效地学习长期依赖关系。相比之下,LSTM通过引入记忆单元和门控机制,能够有选择地保留重要信息并遗忘不重要的信息,从而有效地学习并处理长序列数据中的长期依赖关系。

LSTM在许多应用中都表现出色,尤其是那些需要处理时间序列数据或具有长期依赖关系的任务,如语音识别、文本生成、机器翻译等。它的成功也推动了其他类似变体的发展,如GRU(门控循环单元)等。

三、LSTM(Long Short-Term Memory)

还是要把LSTM单独阐述一下。LSTM,在神经网络知识体系中具有重要的地位,它是一种特殊类型的RNN(循环神经网络),被设计用来解决长期依赖问题。以下是LSTM在神经网络知识体系中的几个重要方面:

  1. 解决长期依赖问题:传统的RNN在处理长序列数据时可能会遇到梯度消失或梯度爆炸的问题,使得模型无法有效地学习长期依赖关系。LSTM通过引入记忆单元和门控机制,能够有选择地保留重要信息并遗忘不重要的信息,从而有效地学习并处理长序列数据中的长期依赖关系。
  2. 推动循环神经网络的发展:LSTM的成功推动了循环神经网络领域的发展,并启发了其他类似变体的发展,如GRU(门控循环单元)等。这些变体在保持LSTM的核心思想的同时,对结构和计算进行了优化,进一步提高了模型的性能。
  3. 广泛的应用领域:LSTM在许多应用中都表现出色,尤其是那些需要处理时间序列数据或具有长期依赖关系的任务,如语音识别、文本生成、机器翻译等。它的成功应用证明了其在处理复杂序列数据方面的有效性。
  4. 为深度学习奠定基础:随着深度学习的发展,LSTM等循环神经网络结构成为了深度学习模型的重要组成部分。它们与其他深度学习技术(如卷积神经网络、自编码器等)相结合,构建出更加强大和复杂的深度学习模型,进一步推动了人工智能领域的发展。

具体包括什么内容呢,LSTM通过引入“单元状态”和三个门控机制:输入门、遗忘门和输出门,LSTM能够选择性地保留或遗忘信息,从而有效地学习并处理长序列数据中的长期依赖关系。

  1. 单元状态(Cell State)。单元状态是LSTM中的核心部分,它负责信息的传递。与RNN中的隐藏状态不同,单元状态在LSTM中是相对稳定的,它可以在序列中长时间传递信息而不受到太大的干扰。单元状态就像一个传送带,它贯穿于整个链条,使得信息可以在序列的起始位置一直传递到序列的结束位置。这种机制使得LSTM能够有效地处理长期依赖关系。
  2. 输入门(Input Gate)。输入门负责决定哪些新信息会被加入到单元状态中。它接收当前的输入和前一个隐藏状态作为输入,通过sigmoid函数计算出一个0到1之间的值,这个值表示新信息的保留程度。同时,输入门还通过一个tanh函数计算出一个新的候选值,这个候选值表示新信息的具体内容。然后,输入门将sigmoid函数的输出与tanh函数的输出相乘,得到的结果就是实际加入到单元状态中的新信息。
  3. 遗忘门(Forget Gate)。遗忘门负责决定哪些旧信息会被从单元状态中遗忘。它同样接收当前的输入和前一个隐藏状态作为输入,通过sigmoid函数计算出一个0到1之间的值,这个值表示旧信息的保留程度。然后,遗忘门将这个值与上一个时刻的单元状态相乘,得到的结果就是实际保留的旧信息。通过遗忘门,LSTM能够选择性地遗忘不重要的信息,从而避免信息的冗余和干扰。
  4. 输出门(Output Gate)。输出门负责决定哪些信息会被输出到隐藏状态中。它首先通过sigmoid函数计算出一个0到1之间的值,这个值表示信息的输出程度。然后,输出门将这个值与经过tanh函数处理的单元状态相乘,得到的结果就是实际输出的隐藏状态。通过输出门,LSTM能够选择性地输出重要的信息,从而提供给下一层的网络使用。

LSTM通过引入单元状态和三个门控机制,有效地解决了RNN在处理长序列数据时遇到的长期依赖问题。这种设计使得LSTM能够在许多任务中表现出色,尤其是那些需要处理时间序列数据或具有长期依赖关系的任务。

四、2个经典模型的案例

下面我将介绍两种非常流行的神经网络模型,并提供用Python实现的简单代码片段,以帮助您快速理解神经网络。

4.1 多层感知器(MLP)

多层感知器是一种前馈神经网络,由多个全连接层组成。它是最简单的神经网络形式之一,适用于各种分类和回归任务。

下面是一个使用Python和Keras库实现多层感知器的示例代码:

from keras.models import Sequential  
from keras.layers import Dense  
  
# 定义模型结构  
model = Sequential()  
model.add(Dense(16, input_dim=10, activation='relu'))  # 输入层,10个输入神经元,16个隐藏神经元  
model.add(Dense(8, activation='relu'))  # 隐藏层,8个神经元  
model.add(Dense(1, activation='sigmoid'))  # 输出层,1个输出神经元  
  
# 编译模型  
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])  
  
# 训练模型(这里仅作示例,实际训练需要使用真实数据)  
# X_train, y_train = ...  # 训练数据和标签  
# model.fit(X_train, y_train, epochs=10, batch_size=32)

4.2 卷积神经网络(CNN)

卷积神经网络是一种专门用于处理图像数据的神经网络。它通过卷积层和池化层来提取图像的特征,并使用全连接层进行分类或回归。

下面是一个使用Python和Keras库实现卷积神经网络的示例代码:

from keras.models import Sequential  
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense  
  
# 定义模型结构  
model = Sequential()  
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)))  # 卷积层,32个卷积核,大小为3x3  
model.add(MaxPooling2D((2, 2)))  # 池化层,2x2的池化窗口  
model.add(Flatten())  # 扁平化层,将二维特征图转换为一维向量  
model.add(Dense(128, activation='relu'))  # 全连接层,128个神经元  
model.add(Dense(10, activation='softmax'))  # 输出层,10个输出神经元(假设有10个类别)  
  
# 编译模型  
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])  
  
# 训练模型(这里仅作示例,实际训练需要使用真实数据)  
# X_train, y_train = ...  # 训练数据和标签(注意输入数据的维度要与模型的输入匹配)  
# model.fit(X_train, y_train, epochs=10, batch_size=32)

这些代码片段只是神经网络的简单示例,实际的神经网络可能会更加复杂,包括更多的层和更复杂的结构。但是通过这些示例,您可以了解神经网络的基本构建块和训练过程。

相关文章

一张图读懂人工智能

三、人工智能和多式联运 AI产品的发展趋势,以及语言模型的应急能力和广泛应用。视频探讨了人工智能和人类的优劣势,以及未来的发展方向。视频提出了一种积极的心态,认为人工智能可以成为我们的同事,帮助我们提高效率和能力。二、大型语言模型的训练过程和应用场景,包括文本到文本、图像到文本、语音转录等多个方面。同时也提到了不同模型的能力和成本。一、生成人工智能的概念和应用,以及如何使用大型语言模型进行聊天和创造原创内容。五、如何使用生成人工智能作为招聘公司的工具,以及如何有效地使用生成人工智能来制作有用结果的提示。

基于YOLOv8深度学习+Pyqt5的电动车头盔佩戴检测系统

该系统利用深度学习技术,通过训练YOLOv8模型来识别电动车骑行者是否佩戴头盔,并在检测到未佩戴头盔的情况下发出警报。因此,开发一种能够实时监测头盔佩戴情况的系统,对于提高骑行者的安全意识和减少交通事故具有重要作用。本文提出的基于YOLOv8的电动车头盔佩戴检测系统,能够有效地提高电动车骑行者的安全意识。YOLOv8是YOLO系列目标检测模型的最新版本,它在前代模型的基础上进行了优化,提高了检测速度和准确性。在不同的场景和光照条件下,模型均能稳定地识别出佩戴和未佩戴头盔的骑行者。wx供重浩:创享日记。

chatgpt的大致技术原理

在RLHF中,人类用户对模型生成的文本提供反馈(如打分或选择更喜欢的文本),然后模型根据这些反馈进行进一步的训练。预处理步骤包括分词(使用BPE算法将文本分解为更小的子单元,如单词或符号)、去除停用词(即那些对文本意义不大的词,如“的”、“了”等)以及其他可能的文本清洗工作。生成过程中,模型会考虑前文的上下文信息,以确保生成的文本是连贯和有意义的。通过收集大量的文本数据、建立深度学习模型、进行预训练和微调以及使用搜索算法和人类反馈强化学习等技术,ChatGPT能够生成高质量、连贯且有用的文本回复。

云计算与边缘计算:有什么区别?

云计算和边缘计算作为不同的计算范式,各自在特定场景中发挥着独特的作用。它们的区别体现在数据处理位置、延迟、可用性以及应用场景等方面。然而,随着数字化时代的发展,它们也逐渐形成了协同应用的趋势,充分发挥各自的优势,提供更灵活、高效的计算体系结构。未来,随着智能化、自动化和边缘计算的边界拓展,云计算和边缘计算将进一步推动数字化转型。同时,安全性、跨边缘计算标准和环境可持续性等问题也需要在未来的发展中得到更好的解决。

ChatGPT高效提问—prompt基础

​ 设计一个好的prompt对于获取理想的生成结果至关重要。通过选择合适的关键词、提供明确的上下文、设置特定的约束条件,可以引导模型生成符合预期的回复。例如,在对话中,可以使用明确的问题或陈述引导模型生成相关、具体的回答;在摘要生成中,可以提供需要摘要的文章段落作为prompt,以确保生成的摘要准确而精炼。

二维平面阵列波束赋形原理和Matlab仿真

阵面左下角天线位于坐标原点,将坐标原点阵元设为参考阵元,计算每个阵元相对于该参考阵元的入射波程差,从而来计算每个阵元接收的回波信号。实现波束赋形的最基本的方法是对各个天线阵元的信号进行适当延迟后相加,使目标方向的信号同相叠加得到增强,而其他方向均有不同程度的削弱,该方法通常用于模拟信号.根据上述理论推导可以仿真任意平面阵列的方向图,这里对两种典型的阵列(矩形平面阵列和圆形阵列)进行Matlab仿真,其余类型的阵列在此基础上修改即可。根据上述圆形阵列公式做仿真,得到下述的三维空间方向图。

人工智能与机器学习——开启智能时代的里程碑

人工智能是指使计算机系统表现出类似于人类智能的能力。其目标是实现机器具备感知、理解、学习、推理和决策等智能行为。人工智能的发展可以追溯到上世纪50年代,随着计算机技术和算法的不断进步,人工智能得以实现。机器学习是人工智能的一个重要分支,它通过让计算机从数据中学习和改进性能,而不需要明确的编程指令。机器学习可以分为监督学习、无监督学习和强化学习三种主要类型。

【GPU】深入理解GPU硬件架构及运行机制

GPU的基本底层构成,主要是以GPU计算核心 Cores,以及Memory以及控制单元,三大组成要素组成。Core是计算的基本单元,既可以用作简单的浮点运算,又可以做一些复杂的运算例如,tensor 或者ray tracing。多个core之间通讯的方式:在特定的应用场合多个core之间是不需要的通讯的,也就是各干各的(例如 图像缩放)。但是也有一些例子,多个core之间要相互通讯配合(例如上文谈到的数组求和问题),每个core之间都可以实现交互数据是非常昂贵的,

RAG中的3个高级检索技巧

我们介绍的这些检索技术有助于提高文档的相关性。但是这方面的研究还正在进行,还有很多其他方法例如,利用真实反馈数据对嵌入模型进行微调;直接微调LLM以使其检索能力最大化(RA-DIT);探索更复杂的嵌入适配器使用深度神经网络而不是矩阵;深度和智能分块技术作者:Ahmed Besbes。

大数据深度学习卷积神经网络CNN:CNN结构、训练与优化一文全解

卷积神经网络是一种前馈神经网络,它的人工神经元可以响应周围单元的局部区域,从而能够识别视觉空间的部分结构特征。卷积层: 通过卷积操作检测图像的局部特征。激活函数: 引入非线性,增加模型的表达能力。池化层: 减少特征维度,增加模型的鲁棒性。全连接层: 在处理空间特征后,全连接层用于进行分类或回归。卷积神经网络的这些组件协同工作,使得CNN能够从原始像素中自动学习有意义的特征层次结构。随着深度增加,这些特征从基本形状和纹理逐渐抽象为复杂的对象和场景表现。

从虚拟到现实:数字孪生驱动智慧城市可持续发展

同时,我们也需要不断探索和创新数字孪生技术的应用场景和发展方向,为智慧城市的可持续发展提供更加全面和深入的支持。“方案365”2023年全新整理智慧城市、数字孪生、乡村振兴、智慧乡村、元宇宙、数据中台、智慧园区、智慧社区、智慧矿山、城市生命线、智慧水利、智慧应急、智慧校园、智慧工地、智慧农业、智慧文旅、智慧交通等300+行业全套解决方案。通过智能电表和能源管理系统,数字孪生技术可以实现对家庭、企业等各个层面的能源使用情况进行监测和优化,提高能源利用效率,推动城市的绿色发展。

如何使用人工智能优化 DevOps?

DevOps 和人工智能密不可分,影响着各种业务。DevOps 可以加快产品开发速度并简化现有部署的维护,而 AI 则可以改变整个系统的功能。DevOps团队可以依靠人工智能和机器学习来进行数据集成、测试、评估和发布系统。更重要的是,人工智能和机器学习可以以高效、快速、安全的方式改进 DevOps 驱动的流程。从开发人员实用性和业务支持的角度来看, 评估AI和ML在 DevOps 中的重要性对于企业来说是有益的。

人工智能有哪些领域?

像京东自主研发的无人仓采用大量智能物流机器人进行协同与配合,通过人工智能、深度学习、图像智能识别、大数据应用等技术,让工业机器人可以进行自主的判断和行为,完成各种复杂的任务,在商品分拣、运输、出库等环节实现自动化。人工智能在金融领域的应用主要有:智能获客、身份识别、大数据风控、智能投顾、智能客服、金融云等,该行业也是人工智能渗透最早、最全面的行业。目前,我国在ITS方面的应用主要是通过对交通中的车辆流量、行车速度进行采集和分析,可以对交通进行实施监控和调度,有效提高通行能力、简化交通管理、降低环境污染等。

为什么ChatGPT选择了SSE,而不是WebSocket?

WebSocket是一种网络通信协议,它最早被提出来是为了解决HTTP连接的一大限制:HTTP协议中,一个客户端发送给服务端的请求必须由服务端返回一个响应,这使得服务端无法主动向客户端推送数据。客户端通过发送一个特殊的HTTP请求向服务器请求建立WebSocket连接。这个请求类似于:GET /chat HTTP/1.1 Upgrade: websocket Connection: Upgrade服务器响应这个请求,确认建立WebSocket连接。

使用LOTR合并检索提高RAG性能

为了解决LIM问题并提高检索性能,对RAG系统进行增强是非常重要的。通过设置不同的VectorStores并将它们与Merge retriver结合,以及使用LongContextReorder重新排列结果,可以减少LIM问题并使检索过程更高效。此外,在合并检索器中合并特定领域的嵌入也有着关键作用。这些步骤对于确保我们不会在检索文件的过程中遗漏重要细节至关重要。Lost in the Middle: How Language Models Use Long Contexts 论文。

目标检测与测距算法在极端天气下的应用

在现代社会中,极端天气条件对人们的生活和工作带来了很大的挑战。对于一些特定领域,如交通运输、安全监控等,准确的目标检测与测距算法在极端天气下尤为重要。本文将分点概述极端天气下目标检测与测距算法的关键问题及解决办法。

AI时代架构设计新模式

本书是一本旨在帮助架构师在人工智能时代展翅高飞的实用指南。全书以ChatGPT为核心工具,揭示了人工智能技术对架构师的角色和职责进行颠覆和重塑的关键点。本书通过共计 13 章的系统内容,深入探讨AI技术在架构设计中的应用,以及AI对传统架构师工作方式的影响。通过学习,读者将了解如何利用ChatGPT这一强大的智能辅助工具,提升架构师的工作效率和创造力。本书的读者主要是架构师及相关从业人员。

深度解析 PyTorch Autograd:从原理到实践

本文深入探讨了 PyTorch 中 Autograd 的核心原理和功能。从基本概念、Tensor 与 Autograd 的交互,到计算图的构建和管理,再到反向传播和梯度计算的细节,最后涵盖了 Autograd 的高级特性。

AIGC实战——WGAN(Wasserstein GAN)

在本节中,我们学习了如何使用 Wasserstein 损失函数以解决经典 GAN 训练过程中的模式坍塌和梯度消失等问题,使得 GAN 的训练更加可预测和可靠。WGAN-GP 通过在损失函数中添加一个令梯度范数指向 1 的项,为训练过程施加 1-Lipschitz 约束。

ChatGPT的常识

ChatGPT不仅可以提供高效的服务,还可以通过模拟人类对话和表情,提高人机交互的趣味性和友好性。其次,ChatGPT可以实现个性化服务,根据用户的个性化需求和反馈不断优化和改进。用户在与ChatGPT进行交互的过程中,ChatGPT可以对用户的个性化需求进行识别和记录,从而实现个性化的服务。ChatGPT的设计理念是建立一个可以持续学习和更新的聊天机器人,可以不断地根据用户的反馈和互动进行优化和改进。同时,ChatGPT还具有很强的适应性和灵活性,可以应对不同场景和话题的要求。

人工智能时代:AIGC的横空出世

AIGC是一种新的人工智能技术,即人工智能生成内容。它是一种基于机器学习和自然语言处理的技术,能够自动产生文本、图像、音频等多种类型的内容。

【图像处理】使用各向异性滤波器和分割图像处理从MRI图像检测脑肿瘤(Matlab代码实现)

脑肿瘤是一种致命的疾病,没有MRI技术,无法可靠地检测到。为了为MRI图像的形态学操作铺平道路,我们首先使用各向异性扩散滤波器对图像进行滤波,以降低像素之间的对比度。然后,我们调整图像大小,并手动将其转换为黑白图像,通过阈值处理来初步筛选出肿瘤可能存在的区域。这个项目的更大目标是建立一个包含从不同角度拍摄的特定人类MRI图像中的肿瘤2D图像数据的数据库,并通过对这些图像进行分析来确定肿瘤的精确3D位置。尽管这个模拟程序在大多数情况下可以给出准确的结果,但对于过小的肿瘤或具有中空结构的肿瘤,它可能无法执行。
返回
顶部