神经网络(系统性学习一):入门篇——简介、发展历程、应用领域、基本概念、超参数调优、网络类型分类
相关文章:
神经网络中常用的激活函数
神经网络简介
神经网络(Neural Networks)是受生物神经系统启发而设计的数学模型,用于模拟人类大脑处理信息的方式。它由大量的节点(或称为“神经元”)组成,这些神经元通过连接进行信息传递。神经网络主要用于模式识别、分类、回归和生成等任务。
1. 什么是神经网络?
神经网络是一类算法,旨在通过模拟神经元之间的连接和权重来学习数据中的复杂模式。最简单的神经网络结构包括输入层、隐藏层和输出层。每一层的节点通过加权连接传递信号,经过激活函数处理后,输出最终结果。通过训练,神经网络能够自适应调整这些连接的权重,以便做出准确的预测。
2. 神经网络的历史与发展
-
1950s-1960s:神经网络的基础理论最早由心理学家和数学家提出,感知机(Perceptron)模型是最早的神经网络模型之一,由Frank Rosenblatt于1958年提出。它被设计为一种二分类器,用来模拟大脑神经元的基本功能。
-
1970s-1980s:随着计算能力的提升,神经网络开始得到更多关注,但也面临着训练上的挑战。例如,神经网络的训练容易陷入局部最小值问题。在这一时期,反向传播算法被提出,极大地推动了神经网络的研究,特别是深度神经网络的发展。
-
1990s-2000s:神经网络在一些特定任务中取得了一定的应用进展,如语音识别和图像处理,但由于计算资源和数据量的限制,仍未成为主流技术。
-
2010s至今:随着深度学习的兴起,尤其是卷积神经网络(CNN)和循环神经网络(RNN)等深度神经网络架构的突破,神经网络开始在图像识别、自然语言处理等领域取得显著成果。大量的数据、强大的计算资源以及算法的优化,使神经网络成为当今人工智能研究和应用的核心技术之一。
3. 神经网络的应用领域
神经网络的应用已经深入各个领域,其中一些重要的应用包括:
-
图像识别:神经网络,尤其是卷积神经网络(CNN),在图像分类、物体检测、人脸识别等任务中取得了显著成果。通过大量的标注图像数据,神经网络可以自动学习到图像的特征,实现高效且准确的图像处理。
-
自然语言处理:神经网络被广泛应用于自然语言处理任务中,如机器翻译、文本生成、情感分析等。循环神经网络(RNN)及其变种如长短期记忆网络(LSTM)和Transformer模型在处理序列数据(如文本)时具有优势。
-
推荐系统:神经网络可用于个性化推荐,通过学习用户的行为数据(例如浏览历史、购买记录等),预测用户的偏好并推荐相关的商品、视频或文章。神经网络可以捕捉到用户行为中的复杂模式,从而提高推荐系统的准确性。
-
自动驾驶:在自动驾驶汽车中,神经网络被用来处理来自各种传感器(如摄像头、雷达、激光雷达等)的数据,进行环境感知、路径规划、物体检测等任务。
-
医疗诊断:神经网络可用于分析医学影像(如X光、MRI等)进行疾病诊断、预测患者病情、推荐治疗方案等。
-
金融行业:神经网络广泛应用于股票市场预测、信用评估、风险管理等金融领域。
神经网络核心概念
1、神经元(Neurons): 神经网络的基本单元是神经元,也叫神经单元。每个神经元接收来自前一层神经元的输入,并通过一个激活函数进行处理,然后将结果传递给下一层神经元。
2、层(Layers):
-
输入层:接受输入数据,每个神经元对应一个特征。
-
隐藏层:介于输入层和输出层之间,处理和提取数据的特征。一个神经网络可以有多个隐藏层,称为深度神经网络(DNN)。
-
输出层:给出最终的输出结果。
3、权重(Weights): 每个神经元与其他神经元之间的连接都有一个权重,表示输入信号的强度。网络通过调整这些权重来学习和预测。
4、偏置(Bias): 偏置项是一个额外的参数,它允许神经网络在没有任何输入时仍能激活神经元,从而增强模型的灵活性。
5、激活函数: 激活函数决定了神经元的输出,它可以是线性函数或非线性函数。常见的激活函数有:
-
Sigmoid:将输出压缩到0到1之间。
-
Tanh:将输出压缩到-1到1之间。
-
ReLU(Rectified Linear Unit):如果输入大于0,输出为输入值;否则,输出为0。
6、前向传播: 神经网络的输入数据通过每一层进行传递,最终产生输出。每层的输出通过加权和偏置传递到下一层,并通过激活函数得到最终的输出结果。
7、损失函数: 损失函数用于衡量神经网络的预测与真实标签之间的差距。常见的损失函数有均方误差(MSE)、交叉熵损失等。
8、误差计算与反向传播: 误差计算是神经网络训练的第一步,用于衡量预测结果和真实值之间的差距,常通过损失函数来实现。反向传播是神经网络的核心优化算法,通过计算误差的梯度并更新权重来最小化损失函数,从而不断优化模型。
9、链式法则:链式法则是微积分中的一个重要法则,用于计算复合函数的导数。
10、梯度下降: 梯度下降是优化算法,用于调整神经网络的权重和偏置,以最小化损失函数。常见的梯度下降算法有批量梯度下降(BGD)、随机梯度下降(SGD)和小批量梯度下降。
上面这些概念构成了神经网络的基本框架。
超参数调优
调优超参数(如学习率、批量大小、层数、每层神经元数等)是优化神经网络性能的关键。常用的调优方法包括:
-
网格搜索:在预定义的超参数网格中进行穷举搜索。
-
随机搜索:随机选取一组超参数进行训练。
-
贝叶斯优化:通过构建概率模型来搜索最优超参数。
神经网络的分类
(一)按网络结构分类
前馈神经网络(Feedforward Neural Network, FNN):数据从输入层经过隐藏层传递到输出层,信息单向流动。主要用于分类和回归任务。
循环神经网络(Recurrent Neural Network, RNN):网络中存在信息反馈连接,能够处理序列数据。用于时间序列预测、自然语言处理等。
卷积神经网络(Convolutional Neural Network, CNN):以卷积操作为核心,适合处理图像数据。用于图像分类、目标检测等任务。结构包括卷积层、池化层、全连接层。
生成对抗网络(Generative Adversarial Network, GAN):包含生成器和判别器,生成逼真的数据。应用于图像生成、数据增强等领域。
图神经网络(Graph Neural Network, GNN):专为处理图结构数据设计。用于社交网络分析、推荐系统等。
(二)按功能或应用分类
分类神经网络:用于离散类别的分类任务。应用: 图像分类、文本分类。
回归神经网络:预测连续变量。应用: 房价预测、股票走势分析。
生成式神经网络:学习数据分布以生成新数据。应用: 图像生成、文本生成(如ChatGPT)。
强化学习神经网络:与环境交互并通过奖励信号学习。应用: 游戏AI、机器人控制。
(三)按训练方法分类
监督学习神经网络:基于标注数据训练。应用: 图像分类、情感分析。
无监督学习神经网络:仅使用未标注数据。应用: 聚类、降维。
半监督学习神经网络:同时使用标注和未标注数据。应用: 大规模文本或图像处理。
自监督学习神经网络:利用数据本身生成训练标签。应用: 预训练大模型(如BERT)。
深度强化学习网络:结合深度学习和强化学习。应用: AlphaGo、自动驾驶。
(四)按拓扑结构分类
全连接神经网络(Fully Connected Network, FCN):每层神经元与上一层和下一层的每个神经元连接。常用于传统的分类或回归任务。
稀疏连接神经网络:只有部分神经元之间存在连接。典型例子为CNN中的卷积核。
层次化神经网络:具有多级或分层结构。应用: 复杂任务的分阶段处理。
# 若对大噶有帮助的话,希望点个赞支持一下叭!
# 文章如有错误,欢迎大噶指正!
相关文章:

神经网络(系统性学习一):入门篇——简介、发展历程、应用领域、基本概念、超参数调优、网络类型分类
相关文章: 神经网络中常用的激活函数 神经网络简介 神经网络(Neural Networks)是受生物神经系统启发而设计的数学模型,用于模拟人类大脑处理信息的方式。它由大量的节点(或称为“神经元”)组成࿰…...

用nextjs开发时遇到的问题
这几天已经基本把node后端的接口全部写完了,在前端开发时考虑时博客视频类型,考虑了ssr,于是选用了nextJs,用的是nextUi,tailwincss,目前碰到两个比较难受的事情。 1.nextUI个别组件无法在服务器段渲染 目前简单的解决方法&…...

微前端基础知识入门篇(二)
概述 在上一篇介绍了一些微前端的基础知识,详见微前端基础知识入门篇(一)。本文主要介绍qiankun微前端框架的实战入门内容。 qiankun微前端实践 通过Vite脚手架分别创建三个程序,主应用A为:vite+vue3+ts,两个微应用分别为B:vite+vue3+ts;C:vite+React+ts。因为qiankun的…...

自然语言处理:第六十五章 MinerU 开源PDF文档解析方案
本人项目地址大全:Victor94-king/NLP__ManVictor: CSDN of ManVictor 原文地址:MinerU:精准解析PDF文档的开源解决方案 论文链接:MinerU: An Open-Source Solution for Precise Document Content Extraction git地址࿱…...

Arcpy 多线程批量重采样脚本
Arcpy 多线程批量重采样脚本 import arcpy import os import multiprocessingdef resample_tifs(input_folder, output_folder, cell_size0.05, resampling_type"BILINEAR"):"""将指定文件夹下的所有 TIFF 文件重采样到指定分辨率,并输出…...

python 画图例子
目录 多组折线图点坐标的折线图 多组折线图 数据: 第1行为x轴标签第2/3/…行等为数据,其中第一列为标签,后面为y值 图片: 代码: import matplotlib.pyplot as plt# 原始数据字符串 # 第1行为x轴标签 # 第2/3/...行等为数据,其中第一列为标签,后面…...

Win11 22H2/23H2系统11月可选更新KB5046732发布!
系统之家11月22日报道,微软针对Win11 22H2/23H2版本推送了2024年11月最新可选更新补丁KB5046732,更新后,系统版本号升至22621.4541和22631.4541。本次更新后系统托盘能够显示缩短的日期和时间,文件资源管理器窗口很小时搜索框被切…...

【STM32】MPU6050初始化常用寄存器说明及示例代码
一、MPU6050常用配置寄存器 1、电源管理寄存器1( PWR_MGMT_1 ) 此寄存器允许用户配置电源模式和时钟源。 DEVICE_RESET :用于控制复位的比特位。设置为1时复位 MPU6050,内部寄存器恢复为默认值,复位结束…...

深度学习中的mAP
在深度学习中,mAP是指平均精度均值(mean Average Precision),它是深度学习中评价模型好坏的一种指标(metric),特别是在目标检测中。 精确率和召回率的概念: (1).精确率(Precision):预测阳性结果中实际正确的比例(TP / …...

Redis设计与实现 学习笔记 第二十章 Lua脚本
Redis从2.6版本引入对Lua脚本的支持,通过在服务器中嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务器端原子地执行多个Redis命令。 其中EVAL命令可以直接对输入的脚本进行求值: 而使用EVALSHA命令则可以根据脚本的SHA1校验…...

大模型(LLMs)推理篇
大模型(LLMs)推理篇 1. 为什么大模型推理时显存涨的那么多还一直占着? 首先,序列太长了,有很多Q/K/V;其次,因为是逐个预测next token,每次要缓存K/V加速解码。 大模型在gpu和cpu上…...

Leetcode 412. Fizz Buzz
Problem Given an integer n, return a string array answer (1-indexed) where: answer[i] “FizzBuzz” if i is divisible by 3 and 5.answer[i] “Fizz” if i is divisible by 3.answer[i] “Buzz” if i is divisible by 5.answer[i] i (as a string) if none of t…...

双因子认证:统一运维平台安全管理策略
01双因子认证概述 双因子认证(Two-Factor Authentication,简称2FA)是一种身份验证机制,它要求用户提供两种不同类型的证据来证明自己的身份。这通常包括用户所知道的(如密码)、用户所拥有的(如…...

CMake笔记:install(TARGETS target,...)无法安装的Debug/lib下
1. 问题描述 按如下CMake代码,无法将lib文件安装到Debug/lib或Release/lib目录下,始终安装在CMAKE_INSTALL_PREFIX/lib下。 install(TARGETS targetCONFIGURATIONS DebugLIBRARY DESTINATION Debug/lib) install(TARGETS targetCONFIGURATIONS Release…...

使用ENSP实现NAT
一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为12.12.12.1/30 ip address 12.12.12.1 30进入e0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置…...

漫步北京小程序构建智慧出行,打造旅游新业态模式
近年来,北京市气象服务中心持续加强推进旅游气象服务,将旅游气象监测预警基础设施纳入景区配套工程,提升气象和旅游融合发展水平,服务建设高品质智慧旅游强市。 天气条件往往影响着旅游景观的体验,北京万云科技有限公…...

对齐输出
对齐输出 C语言代码C 语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 输入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。 输入 只有一行,包含三个整数&…...

Wekan看板安装部署与使用介绍
Wekan看板安装部署与使用介绍 1. Wekan简介 Wekan 是一个开源的看板式项目管理工具,它的配置相对简单,因为大多数功能都是开箱即用的。它允许用户以卡片的形式组织和跟踪任务,非常适合敏捷开发和日常任务管理。Wekan 的核心功能包括看板…...

VisionPro 机器视觉案例 之 黑色齿轮
第十五篇 机器视觉案例 之 齿轮齿数检测 文章目录 第十五篇 机器视觉案例 之 齿轮齿数检测1.案例要求2.实现思路2.1 统计齿轮齿数使用模板匹配工具CogPMAlignTool,并从模板匹配工具的结果集中得到每一个齿的中心点。2.2 测量距离需要知道两个坐标点,一个…...

学习python的第十三天之数据类型——函数传参中的传值和传址问题
学习python的第十三天之数据类型——函数传参中的传值和传址问题 函数传参中的传值和传址问题 函数传参的机制可以理解为传值(pass-by-value)和传址(pass-by-reference)的混合体,但实际上更接近于传对象引用ÿ…...

Windows11深度学习环境配置
CUDA、CUDNN 一、安装另一个版本的CUDA 下载.exe文件,网址打不开自己开热点就能解决:CUDA Toolkit 11.2 Downloads | NVIDIA Developer 若遇到“You already have a newer version of the NVIDIA Frameview SDK installed” 1.把电脑已经存在的FrameVi…...

电销老是被标记,该如何解决!!!
在当今的商业世界中,电话销售依然是许多企业拓展业务、接触客户的重要手段。然而,电销人员常常面临一个令人头疼的问题 —— 老是被标记。 一、电销被标记的困扰 当你的电话号码被频繁标记为 “骚扰电话”“推销电话” 等,会带来一系列不良…...

MyBatis入门——基本的增删改查
目录 一、MyBatis简介 二、搭建MyBatis (一)配置依赖 (二)log4j日志功能 (三)数据库配置文件——jdbc.properties (四)创建MyBatis的核心配置文件 (五)使用MyBatisX插件 三、项目其他配置搭建 (一)创建数据库连接工具类 (二)创建表 (三)创建数据库的实体类 (四)Use…...

学习Gentoo系统中二进制软件包和源代码包的概念
Gentoo Linux 是一个以源代码包管理和高度定制化特性著称的Linux发行版。以下是关于Gentoo系统中二进制软件包和源代码包的概念、发展历程以及它们各自的优势: 二进制软件包概念及发展历程: 概念:Gentoo的二进制软件包是指预先编译好的软件包…...

麦肯锡报告 | 未来的经济引擎:解读下一代竞争领域
随着科技和商业的快速发展,一些具有高增长性和高动态性的行业正在悄然崛起,成为推动全球经济发展的新引擎。这些行业被称为“竞争领域”(Arenas)。据麦肯锡全球研究院(MGI)的研究,这些领域有望在…...

连接mysql并读取指定表单数据到DataFrame
提问 python 如何连接mysql并读取指定表单数据到DataFrame 解答 要在Python中连接MySQL并读取指定表单数据到DataFrame,你可以使用pandas库结合sqlalchemy引擎或者mysql-connector-python。这里我将展示两种方法的示例代码。 使用pandas和sqlalchemy 确保安装了…...

从入门到精通数据结构----四大排序(上)
目录 首言: 1. 插入排序 1.1 直接插入排序 1.2 希尔排序 2. 选择排序 2.1 直接选择排序 2.2 堆排序 3. 交换排序 3.1 冒泡排序 3.2 快排 结尾: 首言: 本篇文章主要介绍常见的四大排序:交换排序、选择排序、插入排序、归并排…...

【bug】使用transformers训练二分类任务时,训练损失异常大
使用transformers训练二分类任务时,训练损失异常大 问题分析 问题 training_loss异常大,在二分类损失中,收敛在1~2附近,而eval_loss却正常(小于0.5) 分析 参考: Bug in gradient accumulation…...

文献阅读与笔记整理技巧
文献阅读 1.原因 (1)了解背景知识(硕博学位论文,大牛文献综述) (2)把握研究方向(行业最新论文,大牛文献综述) (3)学习设计思路&am…...

Python Flask中集成SQLAlchemy和Flask-Login
在现代Web应用开发中,数据库和用户认证是两个非常重要的功能。Flask作为一个轻量级的Python Web框架,本身只提供了最基本的Web功能。但是,它可以通过集成各种优秀的扩展库来增强功能。本文将介绍如何在Flask应用中集成SQLAlchemy(数据库)和Flask-Login(用户认证),并提供一个完整…...