当前位置: 首页 > news >正文

时代巨兽!深度神经网络如何改变我们的世界?

深度神经网络

    • 1、 简介
      • 1.1 定义深度神经网络
      • 1.2 深度学习的发展历程
      • 1.3 深度神经网络的应用领域
    • 2、深度神经网络的基本原理
      • 2.1 神经元层
        • 2.1.1 神经元
        • 2.1.2 神经元层
      • 2.2 前向传播
      • 2.3 反向传播
      • 2.4 激活函数
        • 2.4.1、作用
        • 2.4.2、常见激活函数
        • 2.4.3、选择激活函数的考虑
      • 2.5 损失函数
        • 2.5.1 作用和意义
        • 2.5.2 常见损失函数
        • 2.5.3 选择损失函数的考虑
      • 2.6 优化算法
        • 2.6.1 作用和意义
        • 2.6.2 常见优化算法
        • 2.6.3 选择优化算法的考虑
    • 3、主要类型及结构
      • 3.1、卷积神经网络(CNN)
      • 3.2、循环神经网络(RNN)
      • 3.3、生成对抗网络(GAN)
      • 3.4、注意力机制
    • 4、深度神经网络的训练与调优
      • 4.1 数据预处理
      • 4.2 过拟合与欠拟合
      • 4.3 正则化与批标准化
      • 4.4 超参数调优
    • 5、深度神经网络的挑战与未来发展
      • 5.1 学习能力与通用性
      • 5.2 数据隐私与安全
      • 5.3 自动化特征提取
      • 5.4 可解释性与透明度
    • 6、结语
      • 6.1 深度神经网络的重要性
      • 6.2 展望深度学习的未来发展方向

1、 简介

深度神经网络

1.1 定义深度神经网络

深度神经网络(DNN)是一种由多层神经元组成的人工神经网络,通常包括输入层、隐藏层和输出层。深度神经网络在近年来因其出色的特征学习和表征学习能力而引起了广泛关注。与传统的浅层神经网络相比,深度神经网络能够通过多个隐含层进行逐级抽象,可以学习到更加复杂的数据表示,因此具有更强的建模能力。学术界和工业界对深度神经网络的研究和应用给人们的生产生活带来了翻天覆地的变化,深度学习已经成为当今人工智能领域的核心技术之一。

1.2 深度学习的发展历程

深度学习的发展经历了数十年的起伏,其思想源远流长。上世纪五六十年代,学者们开始尝试构建人工神经网络来模拟人脑的工作原理。1980年代,神经网络研究进入了一个高潮,但受限于计算能力和数据量的限制,深层神经网络的训练一度遇到巨大的困难,被浅层神经网络所替代。直到2006年,加拿大多伦多大学的Hinton教授等人提出了一种称为深度信念网络(DBN)的模型,通过逐层贪婪递进算法(greedy layer-wise training)解决了深层网络训练的问题,开启了现代深度学习的先河。之后,随着大数据的崛起和计算机硬件性能的提升,深度学习进入了快速发展的时期。2012年,Hinton教授的学生Alex Krizhevsky等人利用深度卷积神经网络(CNN)在ImageNet图像识别比赛中一举夺魁,使得深度学习再次成为科技行业的热点,引爆了人工智能的热潮。

1.3 深度神经网络的应用领域

深度神经网络由于其出色的特征学习能力和表征学习能力,被广泛应用于计算机视觉、自然语言处理、语音识别、推荐系统、智能控制等领域。在计算机视觉方面,深度学习已经成为图像识别、物体检测、图像生成等任务的核心技术,产品例如人脸识别、车牌识别、无人驾驶、工业质检等都有深度学习技术的影子。在自然语言处理领域,深度学习的应用为机器翻译、情感分析、文本生成等任务带来了质的提升。另外,深度学习还被广泛应用于金融风控、医疗影像分析、智能交通、智能电网、智能物流等领域。总的来说,深度神经网络已经成为当今人工智能领域的核心技术,为各行各业带来了巨大的变革和发展机遇。

在深度神经网络的冲击下,人工智能技术的应用领域还在不断拓展和深化,我们有理由相信,深度神经网络将继续推动人工智能技术的发展,为未来的生产生活带来更多惊喜与变革。

2、深度神经网络的基本原理

2.1 神经元层

2.1.1 神经元

神经元是大脑和神经系统中的基本功能单元。它们负责接收和传递信息,以便神经系统可以执行各种复杂的功能,包括思考、感知、运动控制等。

神经元通常由细胞体、树突和轴突组成。细胞体包含细胞核和其他细胞器,负责细胞的基本生命活动。树突是从细胞体分出的短突起,用于接收其他神经元传来的信号。轴突是较长的突起,负责将信号传递给其他神经元或细胞。

神经元之间的通信是通过电化学传递完成的。当神经元兴奋时,会产生电脉冲,这些脉冲沿着轴突传播,并通过突触释放化学信号。这些化学信号可以激发或抑制相邻神经元。

2.1.2 神经元层

在大脑和神经系统中,神经元通常会形成层或网络。这些层可以根据它们的功能和位置进行分类,例如感觉皮层、运动皮层、大脑皮层等。

  • 感觉皮层:位于大脑的表面,负责接收和处理感觉信息,如视觉、听觉、触觉等。
  • 运动皮层:参与控制肌肉运动,接收来自其他神经元的信号并发出相应的指令,使身体得以运动。
  • 大脑皮层:是大脑最外层的神经元层,涉及更高级的认知功能,如思考、决策、记忆等。

神经元层之间的连接形成了复杂的神经网络,这些网络协同工作以执行大脑和神经系统的各种功能。神经元层的不同区域之间的连接模式和强度对大脑功能和行为产生重要影响。

总的来说,神经元作为大脑和神经系统的基本组成单元,在各种生理和认知功能中发挥着重要作用。神经元层之间的连接和组织方式对大脑功能至关重要,影响着个体的行为和思维。

2.2 前向传播

前向传播是指将模型输入从输入层处理至输出层中的过程。其简单解释是经过一定量的训练后,模型“学会了”如何转换输入并生成正确的输出。

在前向传播的过程中,我们从输入层的第一个节点(如像素值)开始,将每个节点的输入与其对应的权重相乘,得到每个节点对总输入的贡献。每个节点的贡献之和再加上偏置项就是当前节点的输出。输出再作为下一层的输入继续处理,这个过程持续进行,直到输出层。

2.3 反向传播

反向传播是训练神经网络的主要方法。通过前向传播的结果,我们可以计算出损失,并据此调整权重和偏置项的值,使得预测结果的误差最小化。

在反向传播过程中,我们使用损失函数计算预测值和真实值之间的误差。然后,我们回溯神经网络,计算每个节点的输出对损失的影响。通过使用链式法则,我们可以沿着网络向后传递误差信号,并计算出每个节点权重和偏置项的梯度。这些梯度被用于更新参数,使得下一次前向传播时模型的输出更加接近真实值。

2.4 激活函数

激活函数是神经网络中一个重要的组成部分,它在神经元中引入了非线性因素,并提供了神经网络的灵活性和表达能力。在神经网络的每一层中,激活函数都会对输入信号进行加权求和后的结果进行非线性变换,产生输出。

2.4.1、作用

激活函数的主要作用之一是引入非线性,因为如果没有激活函数,多层神经网络将只是一系列线性变换的组合,无法应用于解决更复杂的非线性问题。通过引入非线性,神经网络可以学习和表示更加复杂的模式和关系,从而提高其表达能力。

除了引入非线性外,激活函数还有助于限定神经元输出的范围,使得输出在一定范围内,这有助于避免梯度爆炸或梯度消失,有助于提高训练的稳定性。

2.4.2、常见激活函数
  • Sigmoid函数:Sigmoid函数将输入变换到0到1之间,它的输出值在0和1之间,这种特性通常用于二分类问题。但是,Sigmoid函数在输入很大或很小时会出现梯度消失现象,从而导致训��中的梯度消失问题。

  • ReLU函数:ReLU函数是一个简单而广泛使用的激活函数,对于正数输入,它返回输入值本身;对于负数输入,它返回0。这种简单的形式使得ReLU函数易于计算,并且有助于缓解梯度消失问题。

  • Leaky ReLU函数:Leaky ReLU是对ReLU的改进,当输入为负数时,不返回0,而是返回一个非零系数的斜率。这种方式可以缓解ReLU中负数部分带来的神经元失活问题。

  • Tanh函数:Tanh函数是另一种S型曲线激活函数,输出范围在-1和1之间。类似于Sigmoid函数,Tanh函数也存在梯度消失问题。

  • Softmax函数:Softmax函数通常用于多类别分类的输出层,它将输入映射到0到1之间,并保证所有输出的总和为1,代表各类别的概率分布。

2.4.3、选择激活函数的考虑

在选择激活函数时,需要考虑一些因素,如函数的平滑性、梯度消失问题、计算效率等。对于不同的问题和网络结构,需要根据实际情况选择适合的激活函数。

2.5 损失函数

在机器学习和深度学习中,损失函数(Loss Function)是用来度量模型预测结果与真实标签之间差异的函数。损失函数可以帮助优化算法调整模型参数,使得模型的预测结果与真实标签之间的差距最小化。损失函数的选择对于模型的训练和泛化能力具有重要影响。下面将对损失函数进行详细介绍。

2.5.1 作用和意义

损失函数起着至关重要的作用,它是机器学习模型优化过程中的关键部分。通过损失函数,模型可以评估自己的效果,并根据效果不断调整参数,使得模型在训练过程中逐渐逼近最优状态。损失函数的优劣直接影响模型的泛化能力和性能。

2.5.2 常见损失函数
  • 均方误差(MSE):均方误差是最常见的回归问题中使用的损失函数,它计算模型预测值与真实值之间的平方差的均值。MSE对异常值敏感,但是在数学上具有良好的性质,易于优化。

  • 交叉熵损失函数:交叉熵损失函数是用于分类问题的常见损失函数。对于二分类问题,交叉熵损失函数通常被称为二元交叉熵;对于多类别分类问题,通常使用多元交叉熵。交叉熵损失函数在优化中更加容易收敛,而且对异常值不敏感。

  • 对数损失函数(Log Loss):对数损失函数通常与逻辑回归模型一起使用,用于分类问题。它是交叉熵损失函数的特例,在二元分类问题中等价于二元交叉熵。对数损失函数也对异常值不敏感,适合于优化问题。

  • Hinge损失函数:Hinge损失函数常用于支持向量机(SVM)中,对于分类问题,它将正确分类后的损失置为0,错误分类时损失随着间隔的增大而线性增加。

  • Huber损失函数:Huber损失函数是一种对异常值较为鲁棒的损失函数,它结合了均方误差和绝对误差,通过指定一个阈值来平衡二者,适合于回归问题。

2.5.3 选择损失函数的考虑

在选择损失函数时,需要根据问题的类型(分类还是回归)、任务的特点以及模型的性质来进行选择。对于不同的问题和模型,合适的损失函数可以帮助模型更好地优化训练过程。

2.6 优化算法

优化算法是机器学习和深度学习中用来最小化损失函数的方法。通过调整模型参数,优化算法能够使模型逼近最优状态,从而提高模型的泛化能力和性能。下面将对优化算法进行详细介绍。

2.6.1 作用和意义

在机器学习和深度学习中,大多数模型的训练都是通过最小化损失函数来实现的。优化算法的作用在于根据损失函数的梯度信息,不断更新模型参数,使得损失函数逐渐减小。通过不断的迭代训练,模型可以逐渐接近最优解,使得模型的预测能力达到最佳状态。

2.6.2 常见优化算法
  • 梯度下降(Gradient Descent):梯度下降是最基础也是最常用的优化算法之一。通过计算损失函数对各个参数的偏导数(梯度),然后沿着负梯度的方向更新参数,以使得损失函数逐渐减小。

  • 随机梯度下降(Stochastic Gradient Descent,SGD):随机梯度下降是梯度下降的一种变种,它每次随机选取部分数据计算梯度和更新参数,对大规模数据集训练效果更好。

  • 批量梯度下降(Batch Gradient Descent):批量梯度下降是梯度下降的一种形式,它在更新参数时是在整个训练集上进行的,计算准确,但对于大规模数据集训练速度较慢。

  • 动量法(Momentum):动量法是一种加速梯度下降的优化算法,它引入了动量项,利用过去梯度的指数加权平均来更新参数,可有效加快收敛速度。

  • Adam算法:Adam算法是一种综合了动量法和自适应学习率的优化算法,它在训练过程中动态调整参数的学习率,适应不同参数的性质。

  • Adagrad算法:Adagrad算法是一种自适应学习率的优化算法,通过对每个参数的学习率进行适应性调整,使得在学习初期对参数更新较快,在后期对参数更新较慢。

  • RMSprop算法:RMSprop算法也是一种自适应学习率的优化算法,它通过对梯度的平方进行指数加权平均来调整学习率。

2.6.3 选择优化算法的考虑

在选择优化算法时,需要综合考虑训练数据规模、特征属性、模型的复杂度和计算资源等因素。对于大规模数据集,适合使用SGD、Adam等算法;对于参数更新不稳定的情况,可以选择Momentum等算法。

3、主要类型及结构

3.1、卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Network,CNN)是一种广泛应用于图像处理和计算机视觉领域的深度神经网络模型。它的主要特点是采用了卷积层、池化层和全连接层等构建块,并通过这些层的堆叠来构建神经网络。

卷积层是CNN的核心组成部分,它包含了一组可学习的卷积核(filters)。通过对输入数据进行卷积操作,可以提取出输入数据中的局部特征信息。卷积操作可以有效地共享参数,从而提高了模型的参数效率。

池化层用于减小特征图的空间尺寸,同时保留重要的特征信息。常用的池化操作包括最大池化和平均池化。池化层的引入能够减少模型的计算量,并使得模型具有一定的平移不变性。

全连接层用于将卷积层和池化层提取的特征进行分类或回归。全连接层中的每个神经元都与上一层的所有神经元相连接,通过学习权重和偏置来实现输入特征与输出类别之间的映射关系。

3.2、循环神经网络(RNN)

循环神经网络(Recurrent Neural Network,RNN)是一种处理序列数据的深度神经网络模型。与传统的前馈神经网络不同,RNN具有一种递归循环的结构,使得它能够保持对序列中先前信息的记忆。

RNN的基本单元是循环单元(Recurrent Unit),它通过接收当前输入和前一时刻的隐藏状态来计算当前时刻的隐藏状态。每个时间步的隐藏状态都会传递到下一个时间步,从而构成了对序列的信息传递和处理。

RNN可以处理变长序列数据,以及建模序列中的时序依赖关系。它在自然语言处理、语音识别和机器翻译等领域取得了很多突破性的进展。

3.3、生成对抗网络(GAN)

生成对抗网络(Generative Adversarial Network,GAN)是一种由生成器和判别器组成的深度神经网络模型。GAN通过生成器网络学习生成与真实数据类似的样本,并通过判别器网络对生成的样本进行判断。

生成器网络是一个将随机噪声作为输入,经过一系列的转换和映射操作,生成与真实数据类似的样本的神经网络。判别器网络则是一个二分类器,用于区分生成器生成的样本和真实数据。

GAN通过生成器和判别器的对抗训练来提高生成器产生真实样本的能力。生成器和判别器相互竞争,逐渐提升生成器学习生成更加真实样本的能力。

3.4、注意力机制

注意力机制在深度神经网络中起着重要的作用,它可以帮助模型集中处理输入中的重要部分或特征。

注意力机制通常应用于特征选择或加权。在处理序列数据或图像数据时,注意力机制可以实现对不同位置或区域的关注程度加权,从而使模型能够更加准确地捕捉到重要的信息。

注意力机制的主要结构包括查询(query)、键(key)和值(value)。通过计算查询与键之间的相似度,并对值进行加权平均,可以获得具有注意力权重的特征表示。

注意力机制可以改善模型的表征能力和泛化能力,提高模型在复杂任务中的性能。

综上所述,深度神经网络的主要类型及结构包括卷积神经网络、循环神经网络、生成对抗网络和注意力机制。这些网络模型在不同的应用场景中具有重要的作用,推动了人工智能领域的发展。

4、深度神经网络的训练与调优

4.1 数据预处理

在深度神经网络的训练与调优中,数据预处理是至关重要的一步。数据预处理的主要目标是使数据能够更好地适应网络模型。首先,数据预处理包括数据清洗,处理缺失值,处理异常值等。其次,对输入数据进行标准化或归一化,以确保不同特征的数值范围大致相同。在图像处理中,常见的数据预处理包括图像的缩放、裁剪以及色彩空间的转换等。

4.2 过拟合与欠拟合

深度神经网络在训练过程中很容易出现过拟合和欠拟合的问题。过拟合指模型在训练集表现良好,但在测试集上表现较差;欠拟合指模型未能在训练集和测试集上都表现良好。解决过拟合问题的方法包括增加训练数据、引入正则化、减少模型复杂度等;而解决欠拟合问题的方法包括增加模型复杂度、选择更好的特征等。

4.3 正则化与批标准化

为了解决过拟合问题,正则化是一种有效的方法之一。正则化通过在损失函数中增加一个惩罚项来限制模型的复杂度,从而减少过拟合的风险。常见的正则化方法包括L1正则化和L2正则化。此外,批标准化也是一种常用的技术,它通过规范化每一层的输入来加速模型收敛,减少梯度消失问题,提高训练速度和稳定性。

4.4 超参数调优

超参数调优是深度学习模型调优的重要环节。深度神经网络的性能受到许多超参数的影响,包括学习率、批大小、隐藏层的神经元数量、优化器的选择等。调优超参数的常用方法包括网格搜索、随机搜索、贝叶斯优化等。通过合理调整超参数,可以提高模型的泛化能力,加快收敛速度,从而提高模型性能。

5、深度神经网络的挑战与未来发展

5.1 学习能力与通用性

深度神经网络在学习能力和通用性方面面临一些挑战。一方面,深度神经网络需要大量的标记数据来进行训练,这对于某些任务可能比较困难和昂贵。解决这一问题的方法之一是使用迁移学习,将已经训练好的模型在相关任务上进行微调,以减少对标记数据的需求。另一方面,深度神经网络在处理一些复杂任务时可能会出现性能不佳的情况,这可能是由于网络结构不合适或者算法设计不当,因此进一步的研究和改进仍然是一个重要的方向。

5.2 数据隐私与安全

随着深度神经网络在各领域的广泛应用,数据隐私和安全成为一个严峻的问题。深度神经网络的训练通常需要大量的敏感数据,例如个人信息、医疗记录等。数据的隐私泄露可能会导致严重后果。因此,研究者们需要设计更加安全的训练方法,例如使用同态加密、联合学习等技术来保护数据隐私。此外,对深度神经网络的防御性研究也是一个重要的方向,以预防对抗性攻击,提高网络的鲁棒性和安全性。

5.3 自动化特征提取

传统机器学习方法在特征工程方面需要人工设计和选择特征,这往往需要大量的专业知识和经验。而深度神经网络具有强大的自动特征提取能力,可以从原始数据中学习到更加高级和抽象的特征表示。然而,深度神经网络自动特征提取的过程仍然存在挑战,例如在一些复杂和高维的任务中,网络可能无法自动发现关键特征,从而导致性能下降。因此,研究者们需要不断改进深度神经网络的架构和算法,以提高其自动特征提取的能力。

5.4 可解释性与透明度

深度神经网络在很多任务上表现出色,但其内部机制和决策过程往往是黑盒的,缺乏可解释性和透明度。这一问题在一些对决策过程要求高的应用领域(如医疗、金融等)中尤为重要。研究者们正在积极探索新的方法和技术,以增加深度神经网络的可解释性,例如通过可视化神经网络的激活值、使用注意力机制等。此外,还有一些研究致力于提供对深度神经网络决策的解释,并对其进行验证和核实,以提高网络的可信度和透明度。

6、结语

6.1 深度神经网络的重要性

深度神经网络是目前人工智能领域的重要组成部分,它具有以下重要性:

  1. 学习复杂特征:深度神经网络能够学习到数据中的复杂特征,从而能够在图像识别、语音识别、自然语言处理等任务中取得显著的性能提升。

  2. 处理大规模数据:随着互联网的发展,我们能够获取到大规模的数据,传统的机器学习方法往往难以处理这些海量数据,而深度神经网络能够有效地处理海量数据并从中学习到有效的知识表示。

  3. 推动技术发展:深度神经网络的发展推动了计算机视觉、自然语言处理、语音识别等领域的技术发展,使得智能系统在这些领域取得了巨大的进步。

  4. 解决复杂问题:深度神经网络可以解决一些传统方法难以解决的复杂问题,比如泛化能力强、表征学习能力强等。

6.2 展望深度学习的未来发展方向

随着深度学习的不断发展,未来有几个发展方向值得关注:

  1. 自动化深度学习:未来的深度学习系统可能会更加自动化,能够自动设计网络结构、学习超参数等,从而减少人工参与的必要性。

  2. 跨学科融合:深度学习可能会与其他学科领域进行更多的融合,比如结合传感技术、生物学等领域,从而创造出更多跨学科的应用。

  3. 解释性和可解释性:深度学习模型的可解释性是一个重要的研究方向,让模型的决策过程变得透明和可解释,从而提高可信度。

  4. 多模态学习:未来深度学习系统可能会更加注重整合多种数据源的信息,比如图像、文本、声音等,从而提高系统的智能性和适用性。

  5. 强化学习:结合深度学习和强化学习,使得系统可以从与环境的交互中学习,为智能系统赋予更强的学习能力。

综上所述,深度神经网络在当今和未来的重要性不言而喻,而在未来的发展中,深度学习可能更加自动化、跨学科融合、可解释性增强,并结合多模态学习和强化学习,将在智能系统领域发挥越来越重要的作用。

永远感激科学的力量,让我们一同期待未来的无尽疯狂与辉煌时刻。您的鼓励是我最大的动力!
在这里插入图片描述

相关文章:

时代巨兽!深度神经网络如何改变我们的世界?

深度神经网络 1、 简介1.1 定义深度神经网络1.2 深度学习的发展历程1.3 深度神经网络的应用领域 2、深度神经网络的基本原理2.1 神经元层2.1.1 神经元2.1.2 神经元层 2.2 前向传播2.3 反向传播2.4 激活函数2.4.1、作用2.4.2、常见激活函数2.4.3、选择激活函数的考虑 2.5 损失函…...

LVS+Keepalived高可用负载均衡群集

目录 一.高可用群集相关概述 1.高可用(HA)群集与普通群集的比较 普通群集 高可用群集(HA) 两者比较 2.Keepalived高可用方案 3.Keepalived的体系模块及其作用 4.Keepalived实现原理 二.LVSKeepAlived高可用负载均衡集群的…...

【MySQL】MySQL45讲-读书笔记

1、基础架构:一条SQL查询语句是如何执行的? 1.1 连接器 连接器负责跟客户端建立连接、获取权限、维持和管理连接。 mysql -h$ip -P$port -u$user -p输完命令之后,输入密码。 1.2 查询缓存 MySQL 拿到一个查询请求后,会先到查询缓…...

python:faces swap

# encoding: utf-8 # 版权所有 2024 ©涂聚文有限公司 # 许可信息查看: 两个头像图片之间换脸 # 描述: https://stackoverflow.com/questions/902761/saving-a-numpy-array-as-an-image?answertabvotes # Author : geovindu,Geovin Du 涂聚文. #…...

Android开发之音乐播放器添加排行需求

Music统计功能需求 1.记录歌曲名称与次数(歌曲播放结束算一次),根据播放次数制作一个排行列表;(开始说要记录歌手,后面debug发现这个字段没有,暂时不记录) 2.记录播放歌曲的时长,时间累加;&…...

latex 方括号编号

最近在做简历,需要列出发表的论文。 论文编号一般是采用[1]这种样式,但是找了几个简历模板里头没有直接包含这种编号样式。 我只好求助网络。 在CSDN上找了一圈,这篇博客给了一个思路:在\begin{enumerate}后面添加对应的样式即…...

Vue CLI 4与项目构建实战指南

title: Vue CLI 4与项目构建实战指南 date: 2024/6/9 updated: 2024/6/9 excerpt: 这篇文章介绍了如何使用Vue CLI优化项目构建配置,提高开发效率,涉及配置管理、项目部署策略、插件系统定制以及Webpack和TypeScript的深度集成技巧。 categories: 前端…...

深入解析Web通信 HTTP、HTTPS 和 WebSocket

在现代Web开发中,了解和掌握HTTP、HTTPS以及WebSocket协议是非常重要的。这些协议是实现Web应用程序之间通信的基石。本文将详细介绍这三种协议,包括它们的基本概念、工作原理、优缺点以及适用场景。通过深入解析它们的特点和应用,帮助读者更好地理解和使用这些协议。 一、…...

FISCO BCOS x GitLink,为国产开源技术生态注入新活力

作为中国领先的区块链底层平台之一,FISCO BCOS 自成立以来始终致力于推动国产开源区块链技术的应用和普及。近期,FISCO BCOS 将开源代码托管到CCF官方代码托管平台 GitLink (确实开源),为国产开源技术生态注入新活力。…...

Linux crontabs定时执行任务

文章目录 前言一、安装二、服务1. 启动crond服务2. 关闭crond服务3. 重启crond服务4. 设置crond开机启动5. 禁用crond开机启动6. 查看crond是否开机启动7. 重新载入配置8. 查看crond运行状态 三、使用1. 查看当前用户的crontab2. 编辑用户的crontab3. 删除用户的crontab的内容 …...

QNX简述

文章目录 前言1. QNX简介1.1 什么是QNX1.2 QNX的应用场景1.3 QNX的优点1.4 QNX的发展史1.5 QNX的商业模式 2. QNX的技术特点3. QNX和其它操作系统的比较3.1 QNX VS LINUX3.2 QNX VS FreeRTOS3.3 QNX VS 鸿蒙操作系统 4. 我的疑问4.1 微内核看起来又稳定又容易调试,为…...

[Llama3] ReAct Prompt 测试实验

ReAct 是一种 LLM 提示和结果处理方法,结合了推理、行动计划和知识源整合,使 LLM 超越其语言模型,并在预测中使用来自现实世界的信息。 ReAct 是推理和行动的结合。 介绍 ReAct 的论文表明它比思维链提示更好。与后者不同的是,Re…...

nodejs 某音douyin网页端搜索接口及x_bogus、a_bogus(包含完整源码)(2024-06-13)

前言 x_bogus或a_bogus算法大概是对数据、ua、时间戳、浏览器的几个指纹进行计算,拿到一个110位大数组,然后转字符,在头部再添加十二位随机字符,再进行魔改的base64加密。 问:抖音的x_bogus、a_bogus值有什么用&#x…...

继承深度剖析

前言 从继承开始就开始C进阶了, 这一块需要好好学习,这块知识很重要, 坑有点多,所以是面试笔试的常客。 基本概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段, 它允许程序员在保持原有…...

使用 Vue 和 Ant Design 实现抽屉效果的模块折叠功能

功能描述: 有两个模块,点击上面模块的收起按钮时,上面的模块可以折叠,下面的模块随之扩展 代码实现: 我们在 Vue 组件中定义两个模块的布局和状态管理: const scrollTableY ref(560); // 表格初始高度…...

Springboot整合SpringCache+redis简化缓存开发

使用步骤&#xff1a; 1.引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId> </dependency><dependency><groupId>org.springframework.boot</groupI…...

关于EOF标识符

EOF的概念 EOF是C语言中表示文件结束的标志符号&#xff0c;通常被定义为-1&#xff0c;它用于指示已到达文件的末尾或输入流的末尾。 EOF的使用 在输入操作中&#xff0c;EOF常常用于判断是否到达了文件末尾或输入流末尾&#xff0c;以便终止读取操作。例如&#xff0c;在使…...

家用洗地机排行榜前十名:2024十大王牌机型精准种草

最近很多人都在问我洗地机相关的问题&#xff0c;不愧是改善家庭生活品质的“三神器”之一。洗地机依靠其清洁力和清洁效率吸引了越来越多的平时需要做家务人群的兴趣&#xff0c;为了解答大家关于洗地机的各种疑问&#xff0c;我把市面上目前非常火爆的洗地机型号和参数都进行…...

【Chrome插件】如何在Chrome插件开发中处理复杂数据结构的存储

最近俺在接触 Chrome 插件开发&#xff0c;需要把一个数据存放到浏览器的存储中。这个数据结构有点复杂&#xff0c;它包含一个 Map 和一个数组。我使用 chrome.storage.local API来存储这个数据&#xff0c;然后在另一个地方获取数据。保存数据的代码并没有报错&#xff0c;但…...

MySQL 保姆级教程(二):使用 MySQL 检索数据

使用 MySQL 3.2 选择数据库 使用数据库: 输入: USE 数据库名;输出: Database changed分析: 不返回任何结果&#xff0c;显示某种形式的通知 ​ 例如: 使用 crashcourse 数据库 use crashcourse; 3.3 了解数据库和表 列出所有的数据库: 输入: SHOW DATABASES;输出: --------…...

Sui Bridge在测试网上线并推出10万SUI激励计划

是一种为Sui设计的原生桥接协议&#xff0c;专门用于在Sui与其他网络之间桥接资产和数据。今天&#xff0c;Sui Bridge宣布在测试网上线。作为一种原生协议&#xff0c;Sui Bridge能够在Ethereum和Sui之间轻松且安全地转移ETH、wBTC、USDC和USDT&#xff0c;使其成为Sui基础设施…...

Spring系统学习 - Bean的作用域

bean作用域介绍 Spring框架提供了不同的作用域来管理Bean的生命周期和可见性&#xff0c;这对于控制不同类型的组件和处理并发请求尤其重要。 singleton&#xff08;默认&#xff09;&#xff1a; 每个Spring IoC容器只有一个bean实例。当容器创建bean后&#xff0c;它会被缓存…...

贪吃蛇双人模式设计(2)

敲上瘾-CSDN博客控制台程序设置_c语言控制程序窗口大小-CSDN博客贪吃蛇小游戏_贪吃蛇小游戏csdn-CSDN博客 一、功能实现&#xff1a; 玩家1使用↓ → ← ↑按键来操作蛇的方向&#xff0c;使用右Shift键加速&#xff0c;右Ctrl键减速玩家2使用W A S D按键来操作蛇的方向&am…...

mysql什么时候不需要建立索引

WHERE 条件&#xff0c;GROUP BY&#xff0c;ORDER BY 里用不到的字段&#xff0c;索引的价值是快速定位&#xff0c;如果起不到定位的字段通常是不需要创建索引的&#xff0c;因为索引是会占用物理空间的。字段中存在大量重复数据&#xff0c;不需要创建索引&#xff0c;比如性…...

热门开源项目推荐:技术与地址概览

随着开源项目的不断兴起&#xff0c;越来越多的优秀项目涌现出来&#xff0c;为开发者们提供了丰富的资源和灵感。在此&#xff0c;我将为大家推荐几个热门的开源项目&#xff0c;并附上它们的开源地址&#xff0c;以供大家参考和了解。 1. TensorFlow 项目简介&#xff1a; …...

Golang的channel

目录 基本使用 channel 数据结构 阻塞的协程队列 协程节点 构建 channel 写流程 读流程 非阻塞与阻塞 closechan(关闭) 基本使用 创建无缓存 channel c : make(chan int) //创建无缓冲的通道 cc : make(chan int,0) //创建无缓冲的通道 c 创建有缓存 channel c : m…...

DIYGW可视化开发工具:微信小程序与多端应用开发的利器

一、引言 随着移动互联网的飞速发展&#xff0c;微信小程序以其轻便、易用和跨平台的特点受到了广泛关注。然而&#xff0c;微信小程序的开发相较于传统的H5网页开发&#xff0c;在UI搭建和交互设计上存在一定的挑战。为了应对这些挑战&#xff0c;开发者们一直在寻找更加高效…...

docker——基础知识

简介 一、什么是虚拟化和容器化 ​ 实体计算机叫做物理机&#xff0c;有时也称为寄主机&#xff1b; ​ 虚拟化&#xff1a;将一台计算机虚拟化为多台逻辑计算机&#xff1b; ​ 容器化&#xff1a;一种虚拟化技术&#xff0c;操作系统的虚拟化&#xff1b;将用户空间软件实…...

SAP MMRV/MMPV 物料账期月结月底月初开关

公告&#xff1a;周一至周五每日一更&#xff0c;周六日存稿&#xff0c;请您点“关注”和“在看”&#xff0c;后续推送的时候不至于看不到每日更新内容&#xff0c;感谢。 这是一条刮刮乐&#xff0c;按住全部选中&#xff1a;点关注的人最帅最美&#xff0c;欢迎&#xff1…...

五分钟看懂如何解决FP独立站的广告投放问题

在数字化时代的浪潮中&#xff0c;跨境电商的独立站成为了商家们的新宠。与传统的电商平台相比&#xff0c;独立站在品牌建设、市场定位以及客户体验上提供了更多的自由度和创新空间。然而&#xff0c;这些独立站尤其是销售FP产品的站点&#xff0c;在广告投放上遇到了重重障碍…...