机器学习——神经网络简单了解

news2024/11/19 9:23:17

一、神经网络基本概念

     神经网络可以分为生物神经网络和人工神经网络

     (1)生物神经网络,指的是生物脑内的神经元、突触等构成的神经网络,可以使生物体产生意识,并协助生物体思考、行动和管理各机体活动。
     (2)人工神经网络,是目前热门的深度学习的研究基础。目前对人工神经网络的定义多种多样,本书采用TKohonen1988年在NeuralNetworks 创刊号上给出的定义,即:“人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它能够模拟生物神经系统对真实世界物体所做出的交互反应”(Kohonen,1988)

二、最初的神经网络模型——M-P模型 

     回忆生物神经元的结构,细胞体作为神经元的主体,由细胞体向外延伸的多个突起神经纤维称为树突,树突作为细胞体的输入端,轴突为细胞体向外延伸最长的突起,末端由很多细的分支被称为神经末梢,每一条神经末梢相当于细胞体的输出端。每个神经元通过轴突的神经末梢与其他神经元的细胞体或树突相连接,这种连接称为突触

    细胞体的细胞膜在正常状态下形成内负外正的膜电位,当神经元突触与上千个其他神经元连接时,接受不同输入对神经元点位的影响也不用(视为不同输入具有权重),当膜电位升高到一个阈值时,就会产生一个脉冲。突触也可以分为兴奋性和抑制性两种,兴奋性的突触可能引起下一个神经元兴奋,否则会抑制下一个神经元的兴奋。

 

M-P模型就是模拟生物神经元模型建立的数学神经元模型,多个输入各自具有权重,神经元本身就有一个阈值,输出值由输入权和减去阈值通过激活函数f得到。激活函数通常是当输入权和大于阈值时输出响应。

 三、感知机模型

感知机模型以M-P模型为基础,但是能通过“学习“确定输入的权重和神经元的阈值。如果在输入层和输出层添加隐层,形成多层映射网络那就由单层感知机形成多层感知机。

 学习修正的过程并不复杂,对于真实值和预测值引入损失函数,通过最小化损失函数(类比最小二乘确定系数a、b),不断修正w、θ,得到最优的输出结果。

 四、BP神经网络

下面介绍最成功的神经网络之一:BP神经网络,BP即back propagation(误差逆传递)

 

 

% Solve an Input-Output Fitting problem with a Neural Network
% Script generated by Neural Fitting app
% Created 23-Mar-2024 10:31:29
%
% This script assumes these variables are defined:
%
%   iris_1 - input data.
%   iris_2 - target data.

x = iris_1';
t = iris_2';

% Choose a Training Function
% For a list of all training functions type: help nntrain
% 'trainlm' is usually fastest.
% 'trainbr' takes longer but may be better for challenging problems.
% 'trainscg' uses less memory. Suitable in low memory situations.
trainFcn = 'trainlm';  % Levenberg-Marquardt backpropagation.

% Create a Fitting Network
hiddenLayerSize = 10;
net = fitnet(hiddenLayerSize,trainFcn);

% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 60/100;
net.divideParam.valRatio = 20/100;
net.divideParam.testRatio = 20/100;

% Train the Network
[net,tr] = train(net,x,t);

% Test the Network
y = net(x);
e = gsubtract(t,y);
performance = perform(net,t,y)

% View the Network
view(net)

% Plots
% Uncomment these lines to enable various plots.
%figure, plotperform(tr)
%figure, plottrainstate(tr)
%figure, ploterrhist(e)
%figure, plotregression(t,y)
%figure, plotfit(net,x,t)

五、卷积神经网络

深度学习:自主层层抽取特征,从简单特征抽象到复杂特征

人类的视觉皮层处理视觉信息是通过一系列复杂且分层的步骤完成的。这个过程开始于眼睛,然后信息传递至大脑的不同区域进行进一步的处理。以下是这一过程的简化描述:

  1. 光线接收

    • 光线首先通过眼睛的角膜和晶状体,聚焦到视网膜上。视网膜含有两种类型的感光细胞:视杆细胞和视锥细胞。视杆细胞对光线非常敏感,适合在暗光条件下工作,而视锥细胞负责感知颜色和细节。
  2. 初步的视觉信息处理

    • 在视网膜上,光信号转换为电信号,这一过程涉及到神经元的活动。视网膜内的神经元通过不同的方式处理这些信息,例如,通过增强图像的边缘对比度来准备进一步分析。
  3. 通过视神经传输

    • 经过初步处理的信号通过视神经传送到大脑。值得注意的是,左视网膜的信号被传送到大脑的右半球,而右视网膜的信号则传送到大脑的左半球。
  4. 初级视觉皮层(V1区域)

    • 信号首先到达大脑后部的初级视觉皮层,也称为V1区。V1区负责处理视觉信息的基本属性,如方向、大小、形状、颜色和运动等。
  5. 进一步的信息处理

    • 从V1区开始,视觉信息被传送到大脑的其他区域进行更复杂的处理。这些区域包括V2、V3、V4等,每个区域都对特定类型的视觉信息专门化。
      • 例如,V4区更专注于颜色的处理,
      • 而V5区(或MT区)主要处理运动信息。
  6. 高级视觉处理

    • 在经过多个视觉处理区域之后,信息被传递到大脑的高级视觉区域,如顶叶和颞叶。这些区域负责更复杂的视觉任务,例如物体识别、面孔识别和空间感知。

整个过程涉及到的是一个从简单到复杂,从局部到整体的信息处理机制。视觉信息在经过层层处理后,最终形成我们对外界的视觉感知。这种分层和专业化的处理机制使得人类能够快速、有效地理解复杂的视觉环境。

卷积是一种数学运算,广泛应用于信号处理、图像处理、深度学习以及许多其他领域。它代表了两个函数(或信号、数据序列)之间的关系,表明了一个函数如何通过另一个函数进行“形状修改”。

数学定义

在数学上,两个函数(f)和(g)的卷积被定义为:

                                 (f * g)(t) = \int f(\tau)g(t-\tau)d\tau

这里,(*)表示卷积操作,(t)通常表示时间位置,(f(\tau))和(g(t-\tau))是参与卷积的两个函数或序列。

形象意义

卷积可以被视为一个函数(g)在另一个函数(f)上的“滑动加权平均”。在这个过程中,(g)函数被反转并滑动过(f),在每个位置(t),计算(g)与(f)重叠部分的加权和。这个操作有助于提取(f)中的特征,其中(g)的形状决定了哪些类型的特征被提取。

应用

信号处理

  • 滤波:通过与一个定义好的滤波器函数(比如低通、高通滤波器)进行卷积,可以从信号中提取信息或去除噪声。

  • 系统响应:在系统分析中,系统对输入信号的响应可以通过将输入信号与系统的冲激响应进行卷积来计算。

图像处理

  • 边缘检测:通过与边缘检测器(如Sobel、Canny滤波器)进行卷积,可以从图像中提取边缘信息。

  • 模糊和锐化:通过与高斯滤波器(模糊)或拉普拉斯滤波器(锐化)进行卷积,可以实现图像的模糊和锐化处理。

 

卷积神经网络(Convolutional Neural Networks,CNNs)是一种在计算机视觉、图像处理、自然语言处理等多个领域中广泛使用的深度学习模型。它们特别适合于处理具有明显层次结构或空间关系的数据,如图像。

核心概念

卷积层

CNN的核心构成部分是卷积层,它通过滤波器(或称为卷积核)在输入数据上进行卷积操作,以提取数据的特征。每个滤波器负责从输入数据中检测特定类型的特征,比如边缘、颜色或者纹理。通过堆叠多个卷积层,CNN能够捕捉从简单到复杂的特征。

池化层

池化层(Pooling Layer)通常跟在卷积层后面,其主要目的是降低数据的空间维度(高度和宽度),从而减少计算量并防止过拟合。最常见的池化操作是最大池化和平均池化。

全连接层

在一系列卷积层和池化层之后,CNN通常会包含一个或多个全连接层(Fully Connected Layer),其目的是将前面提取的局部特征综合起来完成最终的任务,比如分类或回归。

工作流程

  1. 输入层: 输入层接收原始数据,如图像的像素值。
  2. 卷积层: 使用多个不同的滤波器在输入数据上进行卷积操作,产生一组特征图(Feature Maps)。
  3. 激活函数: 卷积层后通常会接一个激活函数,如ReLU(Rectified Linear Unit),以引入非线性。
  4. 池化层: 应用池化操作(如最大池化)来降低特征图的空间尺寸。
  5. 全连接层: 将前面的输出拉直并通过一个或多个全连接层来为最终的分类或回归任务做出决策。
  6. 输出层: 输出层给出模型的最终预测,如图像的分类。

应用

CNN在许多领域都有广泛应用:

  • 图像识别和分类: 如识别照片中的对象。
  • 物体检测: 检测图像中对象的位置和类别。
  • 图像分割: 将图像分割成多个部分或对象。
  • 人脸识别: 在照片或视频中识别个人的身份。
  • 自然语言处理: 虽然CNN主要用于图像数据,但它们也可以用于文本数据的处理。

CNN通过其独特的架构能够有效地捕捉数据的空间层次结构,使其成为处理图像和其他类型空间数据的理想选择。

 

 

 

 六、循环神经网络

循环神经网络(Recurrent Neural Network,RNN)是一种专门设计来处理序列数据的神经网络架构。与传统的前馈神经网络不同,RNN能够处理输入数据之间的时间序列关系,使其非常适合语言模型、时间序列分析、语音识别等任务。

核心特性

序列数据处理

RNN的主要特点是它们能够处理任意长度的序列数据。这是通过在模型中引入循环来实现的,使得网络能够保持对先前状态的记忆,并利用这些信息影响当前的输出。

参数共享

在RNN中,对序列中的每个元素执行相同的任务,且参数在各个时间步之间是共享的。这种参数共享机制使得RNN能够以相同的方式处理序列中的所有元素,无论序列有多长。

基本结构

RNN的基本单元包含三个主要部分:输入层、隐藏层和输出层。在每个时间步,RNN接收两个输入:当前时间步的输入数据以及前一个时间步的隐藏状态。基于这两个输入,RNN计算出当前时间步的隐藏状态,该隐藏状态随后被用于计算输出,并传递给下一个时间步作为其输入之一。

 

 

 

 

卷积神经网络(CNN)和循环神经网络(RNN)是深度学习中两种非常强大的神经网络架构,各自在不同的应用领域内表现出色。以下是对它们的擅长应用场景的概述:

卷积神经网络(CNN)

CNN主要用于处理网格状数据(如图像),并且特别擅长于以下场景:

  1. 图像处理:在图像识别、分类和分割中,CNN能够有效地识别并利用图像中的空间层次结构。例如,在面部识别、医疗图像分析等领域中非常有效。
  2. 视频分析:CNN可以用于处理视频帧以进行场景理解、活动识别或人流量分析。
  3. 物体检测:CNN能在图像中定位和识别多个对象,这在自动驾驶车辆的环境感知中非常重要。
  4. 风格迁移:利用CNN可以将一张图片的风格迁移到另一张图片上,这在艺术创作中被广泛应用。

循环神经网络(RNN)

RNN设计用来处理序列数据,擅长于以下场景:

  1. 语言模型和文本生成:RNN能够根据前面的文本来预测接下来的单词或字符,因而在文本自动生成、机器翻译等领域中表现出色。
  2. 语音识别:RNN能够处理音频信号中的时间序列数据,并且在将语音转换为文本的任务中得到应用。
  3. 时间序列预测:预测股票市场趋势、天气变化等需要分析时间序列数据的任务中,RNN能够利用之前的数据点来预测未来的数据点。
  4. 序列标记:比如命名实体识别(NER)或词性标注,RNN可以为序列中的每个元素分配一个标签。

综合对比

  • 数据结构:CNN擅长处理空间信息(例如,图像中的像素),而RNN擅长处理序列信息(例如,时间序列或文本序列)。
  • 模式识别:CNN通过学习局部特征来识别空间模式,例如,形状和边缘,而RNN通过时间步骤来学习序列中的模式。
  • 参数共享:CNN通过卷积层实现参数共享,这使它们在处理图像时非常高效,因为图像的不同部分可以共享相同的特征检测器。而RNN在时间步骤之间共享参数,适合于处理长度可变的序列数据。
  • 时间依赖性:RNN特别设计用来处理具有时间依赖性的数据,它们能够在时间步骤间传递信息,而CNN则不具备这种能力。

尽管CNN和RNN在不同的任务中有着各自的优势,但在实践中,往往会将它们结合起来,以发挥两者的优点。例如,在视频处理任务中,可能会用CNN来处理每一帧图像,然后用RNN来理解帧与帧之间的时间关系。此外,对于某些任务,如机器翻译,可能会用到一种叫做编码器-解码器(encoder-decoder)架构,其中编码器可能是CNN,而解码器可能是RNN。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1547809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蔓灵花组织wmRAT分析

wmRAT分析 MD5:35639088a2406aa9e22fa8c03e989983 样本分析 多次调用sleep函数绕过沙箱检测。 创建线程获取username computername 磁盘驱动器个数 通过域名microsoft.com获取ip地址 通过c2服务器域名maxdimservice.com获取ip地址85.239.53.31 408460函数获取…

44 el-dialog 的 appendToBody 属性, 导致 vue 响应式失效

前言 我们经常会碰到 一些 模型和视图 不同步的问题 通常意义上 主要的问题为 列表的某响应式数据更新着更新着 后面就变成非响应式对象了, 然后 就造成了 数据一直在更新, 但是 视图的渲染后面就未渲染了, 这是一个由于 模型上的问题 导致的数据的不在响应式更新 又或者 是…

借力AI+视频号电商,腾讯广告业务这驾马车能跑多远?

腾讯的“功劳簿”又添上了几笔。 日前,腾讯披露了2023年四季度及全年财报。报告显示,2023年,腾讯营收6090.15亿元,同比增长10%;调整后净利润(Non-IFRS)1576.88亿元,同比增长36%。 …

在stable diffusion中手指纠错的指令和关键词是什么?

在Stable Diffusion模型中,如果您想对生成的图像中的手指进行纠错,您可以在描述中使用特定的指令和关键词来引导模型关注于手指区域并作出调整。 "Perfect hand" (完美的手) "Five fingers" (五个…

中国科学院半导体研究所汪林望:在曙光超级计算机上对第一性原理计算软件LS3DF进行1000万个硅原子模拟

编者荐语: 面对纳米材料等大体系时,电荷补丁法可以计算几千甚至上万原子, 但是电荷补丁法作为非自洽计算,不能给出原子受力,也不能用来弛豫原子坐标。面对摩尔条纹或线性位错等问题,我们需要弛豫原子的坐标…

javaSwing模拟写字板

一、摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并且涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此简易JAVA写字板程序,使用Java程序编…

Object Detection--Loss Function:从IoU到CIoU

本篇总结Loss Function中的IoU系列代码。 1. IoU 交并集,两个框交集面积除以并集面积。(论写写画画的重要性)(找原文看看) """ box1[x1, y1, x2, y2] box2[x1, y1, x2, y2] return iou ""…

Qt 作业 24/3/26

1、实现闹钟 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime> #include <QLineEdit>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent …

python(django)之单一接口管理功能后台开发

1、创建数据模型 在apitest/models.py下加入以下代码 class Apis(models.Model):Product models.ForeignKey(product.Product, on_deletemodels.CASCADE, nullTrue)# 关联产品IDapiname models.CharField(接口名称, max_length100)apiurl models.CharField(接口地址, max_…

关键技术解析:CH-99除硼树脂在超纯水制备中对硼高效去除的应用实践与性能优势

超纯水(UPW)是科技和研究领域的关键资源&#xff0c;其中硼元素的去除对于保证其品质至关重要。本文将介绍一种高效的除硼技术——Tulsimer CH-99树脂&#xff0c;并阐述其在超纯水制备中的应用及优势。 首先&#xff0c;让我们了解超纯水的制备过程。超纯水是通过一系列精密的…

JAVA面试大全之集合IO篇

目录 1、集合 1.1、Collection 1.1.1、集合有哪些类&#xff1f; 1.1.2、ArrayList的底层&#xff1f; 1.1.3、ArrayList自动扩容&#xff1f; 1.1.4、ArrayList的Fail-Fast机制&#xff1f; 1.2、MAP 1.2.1、Map有哪些类&#xff1f; 1.2.2、JDK7 HashMap如何实现…

二进制日志备份与恢复

二进制备份是 MySQL 数据库备份的一种方式&#xff0c;它通过记录数据库的所有更改操作&#xff0c;以二进制格式保存&#xff0c;实现对数据库的增量备份和恢复。binlog_format 是 MySQL 中用来指定二进制日志格式的参数&#xff0c;有三种常见的选项&#xff1a;STATEMENT、R…

就业班 第二阶段 2401--3.26 day6 Shell初识 连接vscode

远程连接vs_code可能出现的问题 C:\Users\41703\.ssh 验证远程主机的身份&#xff0c;如果连不上vscode&#xff0c;可以尝试删除这里面的公钥代码。 重新安装那个扩展&#xff0c;排除扩展本身的问题 谁连过我&#xff0c;并操作了什么 curl https://gitea.beyourself.org.c…

pytorch反向传播算法

目录 1. 链式法则复习2. 多输出感知机3. 多层感知机4. 多层感知机梯度推导5. 反向传播的总结 1. 链式法则复习 2. 多输出感知机 3. 多层感知机 如图&#xff1a; 4. 多层感知机梯度推导 简化式子把( O k O_k Ok​ - t k t_k tk​) O k O_k Ok​(1 - O k O_k Ok​)起个别名…

HeidiSQL导出SQL文件

目前开发阶段的数据库可视化工具逐渐转为了HeidiSQL&#xff0c;本文讲一讲导出到sql文件的小细节&#xff0c;给自己做个记录补充。 安装或数据库可视化工具比较可参考&#xff1a; windows下全免费手动搭建php8mysql8开发环境及可视化工具安装 导出 原来用Navicat的时候&am…

Salesforce宣布将停用Workflow Rules和Process Builder!

在近期的公告中&#xff0c;Salesforce透露在2025年12月31日之后将不再支持Workflow Rules和Process Builder。 Salesforce敦促用户在截止日期前将其自动化流程迁移到Flow Builder&#xff0c;以确保不间断的支持和漏洞修复。此举正值Salesforce将重点转向更现代、可扩展、低代…

Go语言学习Day4:函数(上)

名人说&#xff1a;莫愁千里路&#xff0c;自有到来风。 ——钱珝 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、函数的概念与定义①函数的概念②函数的具体定义③多返回值 2、函数参数与作用域①可变参数②形…

【Ubuntu】在Ubuntu中实现酣畅淋漓的性能释放:调整CPU频率

一、问题描述 在机器人开发中&#xff0c;经常需要运行诸如 SLAM 和 Planning 等 CPU 密集型程序&#xff0c;这些程序需要充分发挥计算机的性能&#xff0c;以确保算法的高效运行。然而&#xff0c;默认情况下&#xff0c;Ubuntu 通常将 CPU 设置为节能模式&#xff0c;导致 …

设计模式之组合模式解析

组合模式 1&#xff09;概述 1.定义 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。 组合模式对单个对象&#xff08;即叶子对象&#xff09;和组合对象&#xff08;即容器对象&#xff09;的使用具有一致性&#xff0c;组合模式又称为“整体—部分”(…