聊聊对神经网络的基础理解

news2024/11/15 23:51:32

这是鼎叔的第一百零六篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。

欢迎关注本专栏和微信公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版(机械工业出版社),文末有链接。

通过机器学习的基础知识掌握和简单应用,我们可以逐步理解其算法思路和传统编程解法的不同。传统编程,通过预先设定好的路径执行,得到计算结果。AI算法编程,是基于训练模型,让程序有多种可能的执行路径,从中找到最合适的执行路径,让训练结果达到指定要求(即误差足够小)。

相关文章 聊聊经典机器学习入门,聊聊AI学习入门-数学和信息论。

ANN与脑科学

这些年人工智能新理论高速发展,热门的AI技术应用不断引起轰动。我们要针对AI新技术进一步学习,可以先从其爆发原点——人工神经网络(Artificial Neural Network,ANN)知识开始理解。

人脑令人叹服的复杂结构和神奇能力让大型计算机在某些方面无法比拟,尤其是模式识别等能力。通过对人脑的仿真研究,计算机学界找到了类似神经网络的对大量数据进行智能处理的思路,进而在很多领域攻城略地。神经网络拥有海量的神经元(神经细胞),类似一个极其庞大的并行分布式计算结构,单个神经细胞通过轴突和树突互相传递信息,传递的化学信号让细胞兴奋或抑制,类似二进制的1和0。树突就是输入,轴突就是输出,突触就是权重。

图片

这些信号经过复杂的迭代计算,不断调整输入数据,最终产生一个确定的结果,这本质上就是一种高效的无监督学习,在非线性分类中具备很大优势,尤其在多媒体领域。

通过这些年的发展,神经网络模型也逐步衍生出很多著名的变种,经历了三个阶段:单层感知器,多层感知器,深度学习。

下面简单介绍一下。

感知器网络

人工训练神经网络首先从单个神经元开始训练。神经元由线性函数和非线性的激励函数组成。设置好初始化权重,利用类似SVN的逻辑回归进行分类判断,当遇到线性不可分的情形,神经网络可以用比SVN更强的方式去解决:包括新增的输入变量,更多的中间计算网络层次,以及最终的输出层。

图片

感知器模型把神经元模型的激活函数作为符号函数,但这不能解决非线性问题(如异或问题)。

BP神经网络

是按误差逆传播算法训练的多层前馈网络。它分为输入层,隐含层和输出层,后面两个是参与计算和调整权重的节点,我们希望找到一种方法,让设置好的各种权值匹配尽可能多的训练样本分类情况,让误差尽量小。整个训练过程通常采用步长试探方法,类似梯度下降法。梯度下降就是沿着最陡峭的方向寻找损失函数的最小值(通过不断调整各个待定系数、正则化和丢弃部分节点等手段),快速收敛,避免过拟合。注意,需要选择合适的激励函数才能防止梯度消失或梯度爆炸。

1986年,多层感知器网络引入了反向传播算法,但是也面临梯度消失的问题,增加训练时长、增加层数不一定能带来能力提升。反向传播法从误差已知输出层开始,计算上一层权重的梯度,直到将修正误差传回输入层。设计好足够多隐藏层的网络一定能逼近定义好的连续函数。

多层感知器利用了非线性变换和各种特征量的组合,并进行多次循环计算。非线性变换大多选用斜坡函数来解决梯度消失问题,更容易进行大量参数的最优化学习。

图片

玻尔兹曼机/模拟退火算法

其网络模型和BP神经网络模型的结构类似,但训练方式不同。退火的意思是钢铁缓慢烧热到一定温度后保持一段时间,再慢慢把温度降下来,以期获得更柔韧的高性能金属。奥地利物理学家玻尔兹曼给出了玻尔兹曼因子,用来比较同一温度下系统所处两个状态概率的比值。从算法训练角度就是调整参数模拟退火的过程,迭代稳定收敛到某个解附近。

图片

波尔兹曼机器学习考虑相邻像素之间关系,计算量会很大。

卷积神经网络(Convolutional Neural Network,CNN)

是一种前馈神经网络,本质上是一种有监督机器学习。它对于大规模的图像处理识别效率高,特别在模式识别领域,避免了对图像的前期复杂预处理,可以直接输出原始图像。CNN的基本结构包括特征提取层和特征映射层,前者的每个神经元的输入和前一层的局部接受域相连,并提取了局部特征;后者的每个计算层由多个特征映射平面组成,平面上所有神经元权值相同,可以并行学习,收敛快且容错能力强。

CNN可以用来识别位移、缩放等二维图形,卷积神经网络的局部权值共享结构在语音识别和图像处理中有巨大的优越性。权值共享和像素平均值就相当于模糊化,反之,放大差距就是图像锐化。

在CNN的卷积层中,每个神经元只需要对局部感知,相邻神经元的参数大量共享,由此大幅缩小了参数计算数量;而在CNN的采样层池化(Pooling)中,我们利用卷积将特征量进行排序,相近的特征进行比较并选用最大值和平均值,对前面卷积层输出的特征提取值矩阵进行量化,采用的激活函数Sigmoid则使得特征映射具有位移不变形。池化的目的就是压缩输出矩阵的大小。

图片

神经网络的结构参数就是超参数,它具备强大的非线性表达能力。神经网络的整体表现是个体的综合,设置不同权重会得到不同结果,但得到的性能是相似的,因此代价函数也要能量化权重。

深度学习(Deep Learning)

传统机器学习是浅层学习,属于符号主义和逻辑主义,在过去的实践中遇到越来越大的性能瓶颈。

深度学习则属于连结主义和仿生主义,它自动化了专家的特征提取和规则定义工作。深度学习借鉴了人脑的神经网络结构,它擅长处理复杂数据之间的关联关系。

相关的框架也出现了很多,著名的有DNN(深度神经网络),RNN(递归神经网络),而LSTM(长短期神经网络)是一种特殊的RNN,适合处理时间序列中延迟特别长的重要事件,可以追根溯源。

计算频率越高,被保留的数据就越多。RNN把过去记忆和当下知识一起记忆,通过选择性遗忘或保留某些信息,降低能耗。

图片

相对于传统机器学习的简单模型和小计算量,深度学习的大规模计算能力借助硬件行业和分布式计算的变革,开始展现巨大威力,能实现过去难以快速完成的大量节点和大量网络分层的分类算法。深度学习的强项也在于人工干扰环节少,通过海量的分类器叠加来处理线性不可分的复杂场景。因此,深度学习在效果边界划分清晰的领域取得了瞩目的成就。但是深度学习的弱项也很明显,其解释性差,感觉都是在黑匣子中计算,而且数据量和计算量巨大。

深度学习常用的ReLu激活函数模拟了人脑对于刺激的处理,这个函数和生物神经反应很像,刺激不够就没有反应,刺激够了就激烈反应。

图片

强化学习

持有强化学习观点的人工智能学派是行为主义。强化学习尝试解决有关交互性和决策性的数学问题。

强化学习的对象是state、action和相应产生的reward(奖惩),使用只和当前状态有关的马尔可夫决策过程,为了避免短视现象,需要把产生严重后果的reward值向上回溯(即向蒙特卡洛树的根部靠拢)。

只有奖励前的状态才会被奖励,且奖励随着时间权重而衰减,回报值通常由未来各个时刻的累积反馈值得到。

强化学习已被应用于游戏的智能测试中,主要是针对游戏通关的评价简单,且状态变化维度少的游戏。

图片

对抗学习

生成G和D两个模型(即生成模型和判定模型),前者根据输入特性“捏造”样本,看后者是否会判定为正确样本。通过两者的大量对抗训练和各自进化, 最终双双达到纳什均衡(刚好一半通过检测)。

图片

大数据处理

训练数据要进行正规化处理,某时刻的数据不要超出太多,某个数据不要超出其他数据太多。

数据可以批量化学习batch learning,或者不间断在线学习online learning。

深度学习基于大量的预训练,通过自我符号化,重复提取重要特征量,这个就是本质特征,所以个人认为深度学习是最有可能实现AGI的方案。

根据学习的内容和广度,根据内容给予的数据数量和质量,能决定最终的系统性能。

人工智能的局限和风险

基于ANN的新一代算法能有效避免过拟合,内部运算会做大量简化,也不考虑大量的外部因素,但这种不可控性会带来可怕的未知后果。

人工智能的目标还是人来设定的,人天然就有局限性,因为一个事物的视角是多种多样的,人不能定义好所有视角。而人类知识里的各种悖论,人工智能也解决不了。

在AI越来越强大的时代,人会设定游戏规则不让AI参赛,也会制定法律约束AI的滥用。因此AI并不会让热门的人类运动比赛和艺术门类消失。

AI也不会威胁人类,但人类自己可能会威胁自己,如何管控恶意利用AI的人类才是关键。可以想到未来层出不穷的基于AI的破坏性场景,需要技术专家与时俱进,做到道高一尺魔高一丈,比如:

恶意伪造或篡改内容,恶意并发访问AI服务。

数据的选择和提取无法体现人性的一面。更不用说坏人会训练数据投毒和通过众包来投毒。

窃取模型,挖掘模型泄密的原始客户数据。

大模型依赖的软件漏洞被利用。

最后补充

以上介绍的各种算法知识,给应用人工智能的工程师提供了各种模型,相关的强大工具被陆续打造出来。但是不同的工具有适合自己的场景,强行使用有可能带来事倍功半的反面效果,因此理解业务场景是第一驱动力。

目前来看,人的想象力是暂时区别于机器的核心能力,而人的情商也能应对AI领域无从下手的无边界问题。

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

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

相关文章

GIS中AI矢量化工具

减少矢量化中86%工作量的AI工具 最近我在X平台有注意到一个矢量化工具,AI Vectorizer ,根据实验对比,这个AI工具可以减少在矢量化过程中86%的鼠标点击数,极大地减少矢量化过程中的工作量。 AI Vectorizer 需要通过网络交互&#…

【HarmonyOS NEXT星河版开发学习】综合测试案例-各平台评论部分

目录 前言 功能展示 整体页面布局 最新和最热 写评论 点赞功能 界面构建 初始数据的准备 列表项部分的渲染 底部区域 index部分 知识点概述 List组件 List组件简介 ListItem组件详解 ListItemGroup组件介绍 ForEach循环渲染 列表分割线设置 列表排列方向设…

高德地图SDK Android版开发 6 显示覆盖物

高德地图SDK Android版开发 6 显示覆盖物 前言地图类中覆盖物的接口覆盖物类Marker示例Polyline示例Polygon示例Arc示例Circle示例移除示例效果图 Marker的更多属性常用属性交互动画其它属性 折线的更多属性常用属性其它属性 多边形的更多属性常用属性其它属性 Arc的更多属性Ci…

5.2、配置stp

一、常用命令罗列 1. 查看STP状态 show spanning-tree功能:显示交换机上生成树协议的当前状态,包括各个端口的状态、根桥信息、VLAN相关信息等。 2. 启用STP spanning-tree vlan [VLAN_ID]功能:在指定的VLAN上启用生成树协议(…

背包问题的模板及各个等价变形

目录 0-1背包 —— 二维二重循环 01背包 —— 一维二重循环 完全背包 —— 二维三重循环 完全背包 —— 二维二重循环 完全背包 —— 一维二重循环 0-1背包 —— 二维二重循环 #include <bits/stdc.h> using namespace std; const int N 1010; int dp[N][N]; int v…

Kali Linux 命令大全

一、引言 Kali Linux 作为一款专为渗透测试和安全研究设计的操作系统&#xff0c;拥有丰富的命令行工具&#xff0c;熟练掌握这些命令对于高效地进行安全测试和分析至关重要。本文将为您详细介绍 Kali Linux 中常用的命令&#xff0c;涵盖系统信息获取、文件操作、网络分析、用…

期权懂技巧分享:小细节决定成功的一切!

今天带你了解期权懂技巧分享&#xff1a;小细节决定成功的一切&#xff01;在期权交易市场中&#xff0c;有不少玩家胜率都只在50%左右&#xff0c;长期下来基本都是不赚不亏&#xff0c;甚至是有小额的亏损。 期权是一种金融衍生工具&#xff0c;它赋予持有人在未来某个时间以…

UWB定位系统常用的定位方法

UWB定位系统是一种无线定位技术&#xff0c;它使用超宽带无线电信号来确定移动设备的位置。与其他定位技术相比&#xff0c;UWB定位系统具有多种优势&#xff0c;例如高精度、低功耗、非视距定位能力和抗干扰能力强等。 UWB定位系统的工作原理是向移动设备发送一系列高频无线电…

如何在桌面同时展示多个窗口

一、实现2分屏显示 win箭头 二、实现3分屏显示 1. 在实现2分屏显示的基础上&#xff0c;再次点击箭头图标&#xff0c;这次选择屏幕的上方或下方。 2. 点击后&#xff0c;第三个窗口将会出现在你选择的区域。现在&#xff0c;你可以在三个窗口之间自由切换&#xff0c;提高工…

品牌渠道管控中的网络维权

在当今竞争激烈的市场环境中&#xff0c;品牌的渠道管控至关重要。其中&#xff0c;对渠道价格的有效管理是关键一环。然而&#xff0c;并非所有低价链接都能通过简单的沟通解决&#xff0c;这使得知识产权维权在渠道管控中成为不可或缺的手段。 那么&#xff0c;究竟什么是品牌…

细说防静电活动地板的分类

防静电地板是一种专门设计用于消除静电荷积累的地板。防静电地板的主要功能是通过将电荷导入大地&#xff0c;使得机房的防静电地板表面不再带有静电离子&#xff0c;从而防止静电对电子设备、人员等的干扰和潜在损害。防静电地板分为直铺防静电地板和架空防静电地板&#xff0…

【方正飞翔-注册/登录安全分析报告-验证结果保存到前端变量导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

网站建站有哪些方法

1. 传统网站建设 特点&#xff1a; 通过手动编写HTML、CSS和JavaScript等前端代码&#xff0c;结合后端开发语言&#xff08;如PHP、Java、.NET等&#xff09;和数据库技术&#xff08;如MySQL、Oracle等&#xff09;来构建网站。 灵活性和可定制性高&#xff0c;可以根据需…

资产负债率、净资产收益率怎么分析?教你弄懂财务报表的关键

财务报表中包含大量的信息&#xff0c;如果我们在解读财务报表时没有思路&#xff0c;不分重点&#xff0c;就很容易被繁杂的数据弄得头晕眼花。本文就财务报表中的关键指标、资产负债率解读、净资产收益率分析、计算销售复合增长率等几个方面进行介绍&#xff0c;大家可以根据…

防止网络环路,98%的网工都是这么操作的

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 我的网工朋友&#xff0c;大家好。 你肯定知道这个经典网络组网模型&#xff1a;接入-汇聚-核心-出口。 接入多数是二层交换机为主&#xff0c;…

Vue3 +Elementplus的学习 (用vite构建项目)

一、创建vite3项目: 1、在某个盘下面新建项目的文件夹,然后右键,在终端打开: 2、输入命令: npm init vite 3、输入项目名称: 4、选择框架vue: 5、选择JavaScript: 6、进入到项目文件夹:

瑞幸因《黑神话:悟空》被骂惨;雷军小米汽车正研究进入欧洲;Meta Quest 3 头显透视摄像头被「破解」| 网易数智日报

今日&#xff0c;网易数智日报来啦~~ 1.刚刚&#xff0c;瑞幸因《黑神话&#xff1a;悟空》被骂惨&#xff0c;A股却“牛”了&#xff01; “官方昨天在直播间明确表示门店一开门就能核销套餐&#xff0c;今天又改口9点之后才能买。”“明明吧台上一堆周边&#xff0c;但是买不…

高维数据检索:局部敏感哈希算法

文章目录 LSH 算法的原理工作原理LSH 模拟实现应用示例 LSH 的优缺点优点缺点实际案例 优化策略存在的挑战与局限性优化方向多哈希策略其他优化点 LSH 在大数据环境中的扩展性与适应性大数据环境下的挑战结合分布式系统的解决方案使用 Apache Spark 进行 LSH 结语 局部敏感哈希…

day24 Java面向对象——什么是面向对象

day24 Java面向对象——什么是面向对象 文章目录 day24 Java面向对象——什么是面向对象1. 什么是面向对象面向对象的核心概念面向对象的优点示例 1. 什么是面向对象 在Java中&#xff0c;面向对象编程&#xff08;Object-Oriented Programming&#xff0c;OOP&#xff09;是一…

ardupilot开发 --- 故障保护 篇

不患贫而患不均&#xff0c;不患寡而患不安 RC 故障触发因素参数保护动作如何设置关于 SmartRTL、RTL 的返航高度 RC 故障 触发因素 遥控器关机 丢失连接、超出连接RC范围 遥控器油门值低于 FS_THR_VALUE. 遥控接收机(天空端)失去电源 遥控接收机与飞控的连接出现故障 等等…