转型AI产品经理需要掌握的硬知识(二):AI常见概念和算法梳理
上一篇文章介绍AI产品经理能力模型,人工智能的发展历史,人工智能常见概念的结构梳理,也简要做了BAT人工智能的优势分析,感兴趣的朋友可以点击链接查看上文。转型AI产品经理需要掌握的硬知识一:AI产品能力框架和看待AI的几个视角 本文将继续介绍Ai产品经理需要理解的一些概念,常见AI算法,机器学习的工作方式和三大流派,使用Tensorflow实现手写数字识别,帮助大家理解技术实现流程和一些AI技术名词,更有助于同AI科学家或AI工程师的沟通。
一、常用AI技术概念
提到人工智能,大家应该都听说过这样几个概念:人工智能,机器学习,深度学习,模式识别,知识图谱,卷积神经网络,递归神经网络,以及与人工智能直接相关的概念,如云计算,数据挖掘等,这些概念之间是什么关系呢?笔者找到了一张这些概念的关系图,可以将上述概念串在一起,更易理解,如下图所示:
【一一AGI大模型学习 所有资源获取处一一】
①人工智能/大模型学习路线
②AI产品经理入门指南
③大模型方向必读书籍PDF版
④超详细海量大模型实战项目
⑤LLM大模型系统学习教程
⑥640套-AI大模型报告合集
⑦从0-1入门大模型教程视频
⑧AGI大模型技术公开课名额
1、人工智能>机器学习>深度学习
人工智能(Artificial Intelligence):英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、[自然语言处理]和专家系统等。
机器学习(Machine Learning):机器学习是人工智能领域的一部分,并且和知识发现与数据挖掘有所交集。机器学习还有下面几种定义: “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。 “机器学习的应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、[智能机器人]等领域。机器学习的研究是根据生理学、认知科学等对人类学习机理的了解,建立人类学习过程的计算模型或认识模型,发展各种学习理论和学习方法,研究通用的学习算法并进行理论上的分析,建立面向任务的具有特定应用的学习系统。
深度学习(Deep Learning):深度学习的概念源于人工神经网络的研究,是一种含多隐层的多层感知器。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度机器学习方法也有监督学习与无监督学习之分.不同的学习框架下建立的学习模型很是不同.例如,卷积神经网络(Convolutional neural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。
2、神经计算>人工神经网络>深度学习>卷积神经网络/递归神经网络
神经计算科学是使用数学分析和计算机模拟的方法在不同水平上对神经系统进行模拟和研究: 从神经元的真实生物物理模型,它们的动态交互关系以及神经网络的学习, 到脑的组织和神经类型计算的量化理论等,从计算角度理解脑,研究非程序的、 适应性的、大脑风格的信息处理的本质和能力,探索新型的信息处理机理和途径。
延伸阅读 计算神经科学
人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
延伸阅读 神经网络的简化理解
深度学习的概念见上文。
卷积神经网络和递归神经网络下文算法中详细介绍。
3、模式识别、知识图谱和专家系统
模式识别(Pattern Recognition)是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。模式识别又常称作模式分类,从处理问题的性质和解决问题的方法等角度,模式识别分为有监督的分类(Supervised Classification)和无监督的分类(Unsupervised Classification)两种。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物传感器等对象的具体模式进行辨识和分类。模式识别研究主要集中在两方面,一是研究生物体(包括人)是如何感知对象的,属于认识科学的范畴,二是在给定的任务下,如何用计算机实现模式识别的理论和方法。应用计算机对一组事件或过程进行辨识和分类,所识别的事件或过程可以是文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数字形式的信息相区别,称为模式信息。它与人工智能、图像处理的研究有交叉关系。
知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息连接在一起而得到的一个关系网络。构建知识图谱的重点在于语义理解、知识表示、QA、智能对话和用户建模。知识图谱是一系列结构化数据的处理方法,它涉及知识的提取、 表示、存储、检索等诸多技术。从渊源上讲,它是知识表示与推理、数据库、信息检索、自然语言处理等多种技术发展的融合。
延伸阅读 知识图谱技术解剖
专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题。专家系统就是人去学一个东西,然后把学到的知识理论化,再把这些理论模型化,最后把这个模型程序化,形成一个系统,就叫专家系统。知识图谱可以作为专家系统的一部分存在,提供半自动构建知识库的方法。
二、常见算法概述
前文中我们提到了深度学习,既然有深度学习就一定有浅度学习,其区别体现在隐藏层的数量上,一般来说,浅层学习没有隐藏层或者只有一层隐藏层,常见算法包括线性回归、逻辑回归、随机森林、SVM、K-means、RBM、AutoEncoder、PCA、SOM等。深度学习通常会有较多隐藏层,可以表达复杂函数,识别更多复杂特征。常见算法有CNN卷积神经网络和RNN递归神经网络,而基于RNN衍生出了LSTM和GRU等一系列算法。
下面将介绍学习过程中一些常见的算法分类,AI产品未必掌握具体算法实现细节,但是需要掌握一些常见算法概念,它们可以处理什么类型的问题,有什么优点,一般应用在哪些领域。
1、决策树
决策树根据数据的属性采用树状结构建立决策模型, 用树形结构对数据进行分类,在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,决策树模型常常用来解决分类和回归问题。以服装购买为例,首先判定是否喜欢,不喜欢则不买,喜欢则看价格,价格不合适则不买,合适则看是否有合适的尺码,没有合适的尺码则不买,有则购买,基于以上选择,可以画出一个简单的树桩结构。
场景举例:基于规则的信用评估、赛马结果预测
优点:擅长对人、地点、事物的一系列不同特征、品质、特性进行评估
常见相关算法:分类及回归树(Classification And Regression Tree, CART)、ID3(Iterative Dichotomiser 3)、GBDT、C4.5、Chi-squared Automatic Interaction Detection(CHAID)、Decision Stump、随机森林(Random Forest)、多元自适应回归样条(MARS)、梯度推进机(Gradient Boosting Machine, GBM)
随机森林(Random forest):随机森林算法通过使用多个带有随机选取的数据子集的树(tree)改善了决策树的精确性。
优点:随机森林方法被证明对大规模数据集和存在大量且有时不相关特征的项(item)来说很有用
场景举例:用户流失分析、风险评估
2、回归算法
回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法,可以勾画出因变量与一个或多个因变量之间的状态关系。可以利用回归算法将垃圾邮件和非垃圾邮件进行了区分。常见算法有最小二乘法(Ordinary Least Square)、线性回归、逻辑回归(Logistic Regression)、逐步式回归(Stepwise Regression)、多元自适应回归样条(Multivariate Adaptive Regression Splines)、本地散点平滑估计(Locally Estimated Scatterplot Smoothing)
场景举例:路面交通流量分析、邮件过滤
优点:回归可用于识别变量之间的连续关系,即便这个关系不是非常明显
3、基于核函数的学习算法
基于核的算法中最著名的莫过于支持向量机(SVM)了。 基于核的算法把输入数据映射到一个高阶的向量空间, 在这些高阶向量空间里, 有些分类或者回归问题能够更容易的解决。常见算法有支持向量机(Support Vector Machine, SVM)、径向基函数(Radial Basis Function ,RBF)、线性判别分析(Linear Discriminate Analysis ,LDA)。
延伸阅读 基于核函数的学习算法
4、基于实例的算法
常常用来对决策问题建立模型,这样的模型常常先选取一批样本数据,然后根据某些近似性把新数据与样本数据进行比较。通过这种方式来寻找最佳的匹配。常见算法有k-Nearest Neighbor(KNN),、学习矢量量化(Learning Vector Quantization, LVQ)、自组织映射算法(Self-Organizing Map , SOM)。
延伸阅读 基于实例的学习
5、神经网络
神经网络也是一种分类器。它是由很多个虚拟的神经元组成的一个网络,我们可以把一个神经元看做是一个分类器,那很多个神经元组成的网络就能对样本进行很多次分类。
CNN(Convolutional Neural Networks)卷积神经网络,是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。
优点:当存在非常大型的数据集、大量特征和复杂的分类任务时,卷积神经网络是非常有用的
场景举例:图像识别、文本转语音、药物发现、照片滤镜、人脸识别,无人汽车等。
RNN(Recurrent Neural NetWorks)递归神经网络,在任意神经网络中,每个神经元都通过 1 个或多个隐藏层来将很多输入转换成单个输出。递归神经网络(RNN)会将值进一步逐层传递,让逐层学习成为可能。换句话说,RNN 存在某种形式的记忆,允许先前的输出去影响后面的输入。
递归神经网络其实是两种人工神经网络的总称,一种是时间递归神经网络(recurrent neural network),另一种是结构递归神经网络(recursive neural network)。时间递归神经网络的神经元间连接构成有向图,而结构递归神经网络利用相似的神经网络结构递归构造更为复杂的深度网络。两者训练的算法不同,但属于同一算法变体。基于RNN还衍生出了LSTM(Long-Short-Term-Memerory)和GRU(Gated Recurrent Unit)等一系列算法,这些算法拥有记住过去的能力,所以可以用来处理一些有时间序列属性的数据,在处理语言、文字等方面有独到的优势,LSTM和GRU的优点是具备与其它递归神经网络一样的优点,但因为它们有更好的记忆能力,所以更常被使用。
优点:递归神经网络在存在大量有序信息时具有预测能力
场景举例:图像分类与字幕添加、政治情感分析、[对话机器人],机器翻译,科大讯飞的自然语言识别,文章编辑等。
6、叶贝斯算法
贝叶斯是一个定理,它的意思是:当你不能准确知悉一个事物的本质时,你可以依靠与事物特定本质相关的事件出现的多少去判断其本质属性的概率。当我们找到若干个这样的特征,然后用这些特征进行组合后,可以进行判断,常见算法有朴素贝叶斯算法、平均单依赖估计(Averaged One-Dependence Estimators, AODE)、Bayesian Belief Network(BBN)。
举例来看,要识别一封邮件是不是垃圾邮件。可以随机挑选出100封垃圾邮件,分析它的特征,我们发现“便宜”这个词出现的频率很高,100封垃圾邮件里,有40封出现了这个词。那我们就以这个认知为依据,得出结论:如果出现了“便宜”,那这封邮件有40%的概率是垃圾邮件。
优点:对于在小数据集上有显著特征的相关对象,朴素贝叶斯方法可对其进行快速分类
场景举例:情感分析、消费者分类
7、聚类
聚类是一种非监督学习的方式。简单的说,就是通过不断的迭代计算,把数据分成若干个组,使得这个组里的都是类似的数据,而不同组之间的数据是不相似的。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。可以用于图像分类识别,用户行为识别,用户画像等领域。常见算法有k-Means算法、期望最大化算法(Expectation Maximization, EM)。
8、强化学习模型
在没有给出任何答案的情况下,先进行一些尝试,通过尝试所得到的回报,来确定这个尝试是否正确,由这一系列的尝试来不断调整和优化算法,最后算法知道在某种情况下,采取何种动作可以得到最好的结果。他的本质是解决“决策问题”,就是通过不断做出决策并获得结果反馈后,学会自动进行决策,得到最优结果。比如上面说过的猴子“学会”做算术题的过程。
9、集成学习模型
用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。
我们在做机器学习的时候,希望能做出各个方面表现都比较好的模型。但常常现实是我们的模型是有偏好的,可能只对某一些情况效果比较好,这个时候我们就希望把若干个这样的模型组合起来,得到一个更好更全面的模型,这种方法,就叫做集成学习。常见算法有Boosting、Bootstrapped Aggregation(Bagging)、AdaBoost、堆叠泛化(Stacked Generalization, Blending)、梯度推进机(Gradient Boosting Machine, GBM)、随机森林(Random Forest)。
三、三大流派
经过几十年的发展,人工智能演化出了多个分支流派,这些分支一直都在彼此争夺主导权,此次人工智能的爆发,主要源于联结主义的神经网络有了突破性发展,将语音识别和视觉识别的准确度分别达到了99%和95%。未来的发展很可能是这三大流派彼此合作,因为算法融合是实现真正通用人工智能(AGI)的唯一方式。
①符号主义(Symbolism):是一种基于逻辑推理的智能模拟方法,又称为逻辑主义(Logicism)、心理学派(Psychlogism)或计算机学派(Computerism),其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理,长期以来,一直在人工智能中处于主导地位。
②联结主义(connectionism):认为人工智能源于仿生学,特别是对人脑模型的研究。它从神经元开始进而研究神经网络模型和脑模型,开辟了人工智能的又一发展道路。1986年,鲁梅尔哈特(Rumelhart)等人提出多层网络中的反向传播算法(BP)算法。此后,连接主义势头大振,从模型到算法,从理论分析到工程实现, 为神经网络计算机走向市场打下基础。
③行为主义:控制论思想早在20世纪40~50年代就成为时代思潮的重要部分,影响了早期的人工智能工作者。实际上是从行为上模拟和体现智能,也就是说,模拟人在控制过程中的智能活动和行为特性来研究和实现人工智能,行为主义思想在智能控制、机器人领域获得了很多成就。
还有一种说法,将人工只分为五大流派,分别是符号主义,贝叶斯主义,联结主义,进化主义和Analogizer,扩展阅读三张图读懂机器学习:基本概念、五大流派与九种常见算法 文中包含大量延伸阅读链接。
四、机器学习的工作流程
①选择数据:将你的数据分成三组:训练数据、验证数据和测试数据
②模型数据:使用训练数据来构建使用相关特征的模型
③验证模型:使用你的验证数据接入你的模型
④测试模型:使用你的测试数据检查被验证的模型的表现
⑤使用模型:使用完全训练好的模型在新数据上做预测
⑥调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现
五、手写数字识别流程概述
本文下面内容源于gitchat上刘颖老师的人人都能看懂的 AI 入门课,对代码感兴趣的朋友可以点击查看。本文不讨论代码实现,仅讨论实现流程和实现过程中的一些概念。
1、TensorFlow基础
TensorFlow 是 Google 开源的一款人工智能学习系统。使用很方便,几行代码就能开始跑模型,这让神经网络的入门变得非常简单。Google 开源了 TensorFlow,希望占领 AI 端。Google 也为入门者提供了一个这样的例子,也就是 TensorFlow 里的“ hello world ”,这个例子的名字叫“ MNIST ”,MNIST机器学习入门可点击查看。下文将简述实现过程,重在理解流程和一些模型设计概念。
2、 手写图片识别实现步骤概述
刘颖老师对项目做了三次优化,使手写数字的准确率从92%->98%->99.25%,1.0版使用一个最简单的单层的神经网络进行学习,2.0版使用了卷积神经网络,3.0版使用 Keras 框架,增加20层网络的深度。
手写图片识别的实现,分为三步:(1)数据的准备;(2)模型的设计;(3)代码实现
3、数据准备
在写代码的过程中,数据的预处理是最大的一块工作,60%以上的代码在做数据预处理。 这个项目的预处理,分为5步:
把输入和结果分开 对输入进行处理:把一维的输入变成28*28的矩阵 对结果进行处理:把结果进行 One-Hot 编码 把训练数据划分训练集和验证集 对训练集进行分批
那么准备的数据是什么样的呢?刘颖老师使用Kaggle 里包含了42000份训练数据和28000份测试数据,这些数字是28*28像素的手写数字图片,可以将一张图理解为一个二维数组结构,如下图所示:
Kaggle 的数据将二维数组转化为了一维数组,也就是28*28=784列,包括图片代表的数字一共785列,所以上文中的测试和训练数据被转为[42000,785]和[28000,784]的数组,这就是图片的预处理。
人类可以快速识别图像并对应到记忆中的事物,而图像在计算机看来是这样的:
4、单层的神经网络学习流程及相关概念
使用一个最简单的单层的神经网络进行学习的模型设计如下所示:
用 SoftMax 来做为激活函数 用交叉熵来做损失函数 用梯度下降来做优化方式
激活函数:每个神经元,在通过一系列计算后,得到了一个数值,怎么来判断应该输出什么?激活函数就是解决这个问题,你把值给我,我来判断怎么输出。所以一个神经网络,激活函数是非常重要的。目前主流的几个激活函数是:softMax,sigmoid,tanh,ReLU。
SoftMax:我们知道 max(A,B)是指 A 和 B 里哪个大就取哪个值,但我们有时候希望比较小的那个也有一定概率取到,怎么办呢?我们就按照两个值的大小,计算出概率,按照这个概率来取 A 或者 B。比如A=9,B=1,那取 A 的概率是90%,取B的概率是10%,这就是SoftMax。
损失函数:损失函数是模型对数据拟合程度的反映,拟合得越好损失应该越小,拟合越差损失则越大,然后我们根据损失函数的结果对模型进行调整。
交叉熵:交叉熵通俗的讲就是现在的训练程度和圆满之间的距离,我们希望距离越小越好,所以交叉熵可以作为一个损失函数,来衡量和目标之间的距离。
梯度下降:我们将要解决的问题比作是一座山,答案在山底,我们从山顶到山底的过程就是解决问题的过程。在山顶,想找到最快的下山的路。这个时候,我们的做法是什么呢?在每次选择道路的时候,选最陡的那条路。梯度是改变率或者斜度的另一个称呼,用数学的语言解释是导数。对于求损失函数最小值这样的问题,朝着梯度下降的方向走,就能找到最优值了。
5、卷积神经网络学习流程及相关概念
卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT(输入层)-CONV(卷积层)-RELU(激活函数)-POOL(池化层)-FC(全连接层)
卷积层1+激活函数+池化层1+卷积层2+激活函数+池化层2+全连接1+Dropout 层+输出层
卷积层的作用是指对图片的矩阵进行卷积运算,得到一些数值,作为图片的某些特征。
池化层的作用是对上层的数据进行采样,也就是只留下一部分,这样的作用是可以缩小数据量和模糊特征。
全连接层就是连在最后的分类器。前面卷积层和池化层进行处理后,得到了很多的特征,全连接层使用这些特征进行分类。比如识别数字,那就是对0~9的十个类别进行分类。
Dropout层是为了防止 CNN 对训练样本过拟合,而导致处理新样本的时候效果不好,采取的丢弃部分激活参数的处理方式。
这里对这些概念的解释都是比较简单的,如果希望详细了解,可以看知乎的这个链接:CNN卷积神经网络是什么? 卷积神经网络
6、使用 Keras 框架实现多层神经网络学习
使用 Keras 框架提升准确率
增加网络的深度,这里增加到了20层 每次卷积完之后,加入规范层 使用最新的 SELU 激活函数,这是 Sepp Hochreiter 最新发表在 arXiv 上的激活函数
概括来看,图片识别中需要完成数据的准备,模型设计,代码实现三部分,浅层学习需要选择激活函数,损失函数和优化方式,应用卷积神经网络在模型设计时需要考虑输入层、卷积层、激活函数、池化层、全连接层等。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
相关文章:

转型AI产品经理需要掌握的硬知识(二):AI常见概念和算法梳理
上一篇文章介绍AI产品经理能力模型,人工智能的发展历史,人工智能常见概念的结构梳理,也简要做了BAT人工智能的优势分析,感兴趣的朋友可以点击链接查看上文。转型AI产品经理需要掌握的硬知识一:AI产品能力框架和看待AI的…...

mysql-connector-java 8.0.33 反序列化漏洞
前言 经过与oracle官方沟通,在最新的mysql-connector-j 9.0.0里不存在这个问题,所以他们不认为这是个漏洞 不过确实,mysql-connector-java这个分支已经迁移到mysql-connector-j了,当时没注意,交的时候只注意了mysql-c…...

基于Faster R-CNN的安全帽目标检测
基于Faster R-CNN的安全帽目标检测项目通常旨在解决工作场所,特别是建筑工地的安全监管问题。这类项目使用计算机视觉技术,特别是深度学习中的Faster R-CNN算法,来自动检测工人是否正确佩戴了安全帽,从而确保遵守安全规定并减少事…...
linux中vim切换输入中文
linux中vim切换输入中文 遇到问题 在虚拟机linux下vim 编辑器中注释的时候无法使用中文 解决方案 Linux系统中的vim编辑器中安装中文输入法软件包 1.在终端中输入以下命令 sudo apt-get install fcitx fcitx-bin fcitx-table-wubi fcitx-table-wbpy2. 安装完成后…...

嵌入式C++、Qt/QML和MQTT:智能工厂设备监控系统的全流程介绍(附代码示例)
1. 项目概述 本项目旨在开发一套先进的智能工厂设备监控系统,集成嵌入式技术、工业通信协议和人机界面等多项技术,实现对工厂设备的全方位实时监控、高精度数据采集和智能化分析。该系统将显著提升工厂设备的运行效率,大幅降低维护成本&…...

监控易V7.6.6.15升级详解8:机房动环管理功能
随着企业IT基础设施的不断发展,机房动环管理成为保障系统稳定运行的关键环节。为了满足广大用户对于机房动环管理的高效、精准需求,监控易系统近期完成了一次重要版本升级。本次升级不仅优化了原有功能,还新增了一系列实用特性,旨…...

C++ | Leetcode C++题解之第232题用栈实现队列
题目: 题解: class MyQueue { private:stack<int> inStack, outStack;void in2out() {while (!inStack.empty()) {outStack.push(inStack.top());inStack.pop();}}public:MyQueue() {}void push(int x) {inStack.push(x);}int pop() {if (outStac…...
Git-Updates were rejected 解决
Git-Updates were rejected 解决 文章目录 1. 杂话2. 问题3. 解决3.1 拉取远程的最新版本(AC)3.2 解决可能的冲突3.3 提交3.4 再次推送 1. 杂话 大伙儿应该都用过Git吧,具体是个啥东西我就不说了哈。之前我在用git push的时候遇到了这个报错&…...

Java常用的API_02(正则表达式、爬虫)
Java正则表达式 七、正则表达式7.1 格式7.1.1 字符类注意字符类示例代码1例2 7.1.2 预定义字符预定义字符示例代码例2 7.1.3 区别总结 7.2 使用Pattern和Matcher类与直接使用String类的matches方法的区别。(1) 使用Pattern和Matcher类示例代码 ÿ…...

2024最新图纸加密软件Top5排行榜
“小张,你听说了吗?最近我们部门又发生了一起图纸泄露事件,真是让人头疼。”小李眉头紧锁,手中紧握着一份重要的设计图纸。 “是啊,这图纸可是咱们的心血,一旦泄露出去,后果不堪设想。”小张回…...

每日一练 - IEEE 802.1Q中STP协议
01 真题题目 关于设备 SWC 的上述配置说法正确的是 (多选) A.SWC 为根交换机 B.stp instance 1 priority 4096 是配置交换机在实例 1 中的优先级为 4096, 该优先级默认为0 C.gtp edged-port enable 该命令是启用交换机 5WC 的 Ethernet 1/0/2 为边缘端口 D.sto …...
设计模式--工厂设计模式
什么是工厂模式? 工厂模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定要实例化的类是哪一个。这样,工厂方法模式让类的实例化延迟到子类。通过工厂方法模式,我们可以在不修改现有代码的情况下…...
消息队列-MQ
消息队列-MQ 1、什么是MQ?为什么要使用MQ?2、MQ有什么优缺点?3、有哪些常见的MQ实现?都有什么区别?4、MQ如何保证消息的可靠传输?消息丢了怎么办?5、如何保证消息的顺序性?6、如何解决消息队列的延时以及过期失效问题?7、消息队列满了以后该怎么处理?8、假设有几百万…...
近源渗透简介
什么是近源渗透 通过乔装、社工等方式实地物理侵入企业办公区域,通过其内部各种潜在攻击面(如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等)获得“战果”,最后以隐秘的方式将评估结果带出上报,由此证明企业安全防…...

13 IP层协议-网际控制报文协议ICMP
计算机网络资料下载:CSDNhttps://mp.csdn.net/mp_blog/creation/editor/140148186 为了更有效的转发IP数据报和提高交付成果的机会,在网际层使用了网际控制报文协议ICMP。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP不是高层协议数…...

第一节Linux常见指令
目录 1.Linux下基本指令 ls指令 pwd 命令 cd 指令 知识点:理解树形结构 touch 指令 mkdir指令(重要) rmdir指令 && rm指令(重要) 知识点:ls file* 可以找到当前目录下任何以file开头的文件编辑 知识点:热键 man指令()重要 补充知识点:nano cp…...

嵌入式全栈设计思路:STM32G4+ChibiOS+FreeRTOS+PID控制+PFC算法构建高效智能电源管理系统(附代码示例)
智能电源管理系统是一个基于STM32G4微控制器的高性能数字电源控制解决方案。本项目旨在设计一个功能全面、高效稳定的电源管理系统,可广泛应用于工业控制、新能源、通信设备等领域。 1.1 系统主要特点 高精度数字电源控制:利用STM32G4的高性能ADC和定时器,实现精确…...

Linux驱动开发-04LED灯驱动实验(直接操作寄存器)
一、Linux 下LED 灯驱动原理 Linux 下的任何外设驱动,最终都是要配置相应的硬件寄存器。驱动访问底层的硬件除了使用内存映射将物理地址空间转化为虚拟地址空间,去进行读写修改,还可以通过各种子系统函数去进行操作 1.1 地址映射 MMU 全称…...
Linux命令更新-sort 和 uniq 命令
简介 sort 和 uniq 都是 Linux 系统中常用的文本处理命令。 sort 命令用于对文件内容进行排序。 uniq 命令用于去除文件中重复出现的行。 1. sort 命令 命令格式 sort [选项] [文件]选项: -n: 按照数字进行排序 -r: 反向排序 -c: 统计每个元素出现的次数 -…...
【密码学】密码学数学基础:剩余系
不得不啃的密码学数学基础之剩余系是个啥?数学里面有好多的定义都有前置的数学概念,要想弄懂剩余系还得先说说“同余”。 一、同余 那么“同余”有是个什么呢?在谈论“同余”之前,我们先圈定个讨论的范围。接下来讨论的都是整数集…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...