-
训练人工智能,以理解世界实体物理现象的现象模型做各种物理实验,把实验设计、实验中各实体相关性、实体物理参数进行描述,描述形式为文字化形式、数学的符号形式、数学的几何图形式等的组合,这些描述前提作为物理现象的语言形式端(抽象思考)。把整个实验过程分解,实验过程细节化、步骤化、流程化、结构化,并全部对此以图像化、视频化的记录,这些实验过程的图像视频记录作为物理现象的图像形式端(视觉感知)。两者以映射关系投喂来训练人工智能,让人工智能具有识别实体物理现象与语言形式之间的相关性的能力,等效于对物理世界进行语言化思维的能力。
-
大佬们网上有没有这个项目的开源代码呀
-
各路大神如何把物联网接入高危行业?
-
我在执行.pt模型转换时遇到了torch2.1.0版本的bug,按照官方指示我尝试升级torch将torch升级为2.2.0,mindietorch并未升级再次运行转换脚本出现mindietorch与torch不兼容的错误。我继续尝试使用pip 华为源和官方软件包的方式升级mindietorch但均升级失败想请问一下兼容torch2.2.0的minidetorch在哪可以找到
-
十多年开发经验,熟悉J2EE、Golang和前端技术。打算使用盘古人工智能图像识别,实现网页元素识别、工地人脸和安全帽识别、或农作物识别比对等方面。如果花几个月来学习的话,需要从什么开始,具体包括哪些课程内容,谢谢!
-
问题基本如题使用的具体规格是pytorch1.8-cuda10.2-cudnn7-ubuntu18.04,GPU等情况是:GPU: 1*T4(16GB)|CPU: 8核 32GB,在配置好了相关数据和文件之后,训练开始阶段报错“RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED”。我猜想应该是和cuDNN的安装和版本适配有关,但实在是不清楚具体该怎么在Modelarts上完成配置,各位请不吝赐教QvQ
-
“上海计算生物学大赛”中所提供的数据只有化合物相关,请问这些化合物对应的靶标数据都是已知的吗?如果是存在已知靶标的,有无指定的搜索渠道?
-
ansformer(注意力机制)Transformers是机器学习(ML)中一个令人兴奋的(相对)新的部分,但是在理解它们之前,有很多概念需要分解。这里我们关注的是基本的Self-Attention机制是如何工作的,这是Transformers模型的第一层。本质上,对于每个输入向量,Self-Attention产生一个向量,该向量在其邻近向量上加权求和,其中权重由单词之间的关系或连通性决定。Transformers是一种ML架构,已经成功地应用于各种NLP任务,尤其是序列到序列(seq2seq)任务,如机器翻译和文本生成。在seq2seq任务中,目标是获取一组输入(例如英语单词)并产生一组理想的输出(德语中的相同单词)。自2017年发布以来,他们已经占领了seq2seq的主流架构(LSTMs),几乎无所不在地出现在任何关于NLP突破的新闻中(比如OpenAI的GPT-2甚至出现在主流媒体上!)。神经网络接收的输入是很多大小不一的向量,并且不同向量向量之间有一定的关系,但是实际训练的时候无法充分发挥这些输入之间的关系而导致模型训练结果效果极差。比如机器翻译问题(序列到序列的问题,机器自己决定多少个标签),词性标注问题(一个向量对应一个标签),语义分析问题(多个向量对应一个标签)等文字处理问题。卷积只能通过叠加很深的层才能获得全局感受野,循环神经网络不好训练且慢。2017年《Attention is all you need》诞生了一种全新的网络架构,self-attention。使用self-attention的BERT巨大的提升了自然语言处理的精度和速度,近些年来BERT,GPT2,GPT3,基本都是基于Transformer的架构了。另外从2020年的vit开始,Transformer也开始进入图像处理领域大放异彩,如swin transformer。self-attention的运算过程。我们可以看到这是一个可并行运算的过程,而且从一开始就在捕捉全局关系。
-
神经网络是一个由生物神经元组成的网络或电路,或者从现代意义上讲,是一个由人工神经元或节点组成的人工神经网络。因此,一个神经网络要么是由生物神经元组成的生物神经网络,要么是用于解决人工智能(AI)问题的人工神经网络。生物神经元的连接在人工神经网络中被建模为节点之间的权重。正的权重反映了兴奋性连接,而负值意味着抑制性连接。所有的输入都被一个权重修改并加总。这种活动被称为线性组合。最后,一个激活函数控制输出的振幅。RNN-循环神经网络循环神经网络(recurrent neural network)或 RNN (Rumelhart et al., 1986c)是一类用于处理序列数据的神经网络。就像卷积网络是专门用于处理网格化数据 X(如一个图像)的神经网络,循环神经网络是专门用于处理序列 x (1), . . . , x(τ) 的神经网络。正如卷积网络可以很容易地扩展到具有很大宽度和高度的图像,以及处理大小可变的图像,循环网络可以扩展到更长的序列(比不基于序列的特化网络长得多)。大多数循环网络也能处理可变长度的序列。卷积网络用于处理图像,循环网络用于处理自然语言。如下是循环神经网络的前向传播过程,后续每个神经元都要取前一个神经元的输出作为输入的一部分。这种网络结构,可以让我们的模型对序列关系进行建模。因为依赖关系,循环神经网络表现出两个问题:(1)训练不稳定,梯度的累积容易产生梯度爆炸与梯度消失,不利于神经网络的训练。(2)因为模型是一种串行的结构,下一个神经元的输入必须依赖于前一个的输出,所以导致了循环神经网络的处理速度慢。简单的RNN结构一个简单的循环神经网络如,它由输入层、一个隐藏层和一个输出层组成
-
神经网络是一个由生物神经元组成的网络或电路,或者从现代意义上讲,是一个由人工神经元或节点组成的人工神经网络。因此,一个神经网络要么是由生物神经元组成的生物神经网络,要么是用于解决人工智能(AI)问题的人工神经网络。生物神经元的连接在人工神经网络中被建模为节点之间的权重。正的权重反映了兴奋性连接,而负值意味着抑制性连接。所有的输入都被一个权重修改并加总。这种活动被称为线性组合。最后,一个激活函数控制输出的振幅。神经网络算法之CNN(卷积神经网络)卷积神经网络是LeCun提出,用Lenet卷积网络来识别信封或邮件上的手写数字。卷积神经网络是一种专门用来处理具有类似网格结构的数据的 神经网络。例如时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(可以看作是二维的像素网格)。卷积网络在诸多应用领域都表现优异。“卷积神经网络” 一词表明该网络使用了 卷积(convolution)这种数学运算。卷积是一种特殊的线性运算。卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。卷积运算通过三个重要的思想来帮助改进机器学习系统:(1)稀疏交互(sparse interactions):举个例子, 当处理一张图像时,输入的图像可能包含成千上万个像素点,但是我们可以通过只占用几十到上百个像素点的核来检测一些小的有意义的特征,例如图像的边缘。(2)参数共享(parameter sharing:在卷积神经网络中,核的每一个元素都作用在输入的每一位置上(是否考虑边界像素取决于对边界决策的设计)。卷积运算中的参数共享保证了我们只需要学习一个参数集合,而不是对于每一位置都需要学习一个单独的参数集合。(3)等变表示(equivariant representations)。对于卷积,参数共享的特殊形式使得神经网络层具有对平移等变(equivariance)的性质。如果一个函数满足输入改变,输出也以同样的方式改变这一性质,我们就说它是等变(equivariance)的。例如在卷积操作中我们先移动图像上的物体再进行卷积得到的结果与我们先卷积在移动卷积图上的输出,这两个操作的结果是一致的。
-
神经网络(NN)是一种模仿生物神经网络进行计算和信息处理的计算模型。它是人工智能领域中最常用的一种算法,用于解决各种复杂的问题,如图像识别、自然语言处理、语音识别等。下面是神经网络算法的详细介绍:数据预处理:神经网络需要进行数据预处理,以便将其转换为适合构建神经网络的格式。这通常包括数据清洗、缺失值填充和特征选择等步骤。构建神经网络模型:在数据预处理之后,我们开始构建神经网络模型。神经网络通常由多个隐藏层组成,每个隐藏层都由多个神经元组成。每个神经元都会接收输入数据,并将其传递给下一层的神经元。神经网络训练:神经网络模型构建完成后,我们需要使用训练数据来训练模型。训练过程中,我们将输入数据传递给模型,模型会计算输出结果并根据误差进行反馈和调整。训练通常采用反向传播算法进行优化。预测:训练完成后,我们可以使用训练好的模型对新数据进行预测。预测过程中,我们将新数据传递给模型,模型会计算输出结果并根据误差进行反馈和调整。神经网络算法的优点包括:非线性映射能力:神经网络可以将输入数据映射到高维空间中,并通过学习的权重来学习输入数据与输出结果之间的非线性关系。这使得神经网络在解决复杂问题时具有很好的表现能力。可解释性强:神经网络是一种结构化的算法,它可以很好地解释其学习过程,使得人们能够理解和解释算法的结果。可扩展性强:神经网络通常具有很好的可扩展性,即它可以轻松地添加新的神经元、层数和隐藏层数。这使得它成为一种很好的监督学习算法,可以用于许多不同领域的任务。鲁棒性强:神经网络可以处理输入数据中的异常值和噪声,这使得它在解决复杂问题时表现出很好的鲁棒性。然而,神经网络算法也存在一些缺点:计算复杂度高:构建和训练神经网络需要大量的计算资源和时间,这使得它在处理大规模数据时表现不佳。参数调整困难:神经网络需要通过调整参数来优化模型的性能,这使得它在参数设置时比较困难。容易过拟合:在训练过程中,神经网络可能会陷入局部最优解,导致模型表现不佳。
-
VGG网络是2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出的。在2014到2016年(ResNet提出之前),VGG网络可以说是当时最火并被广泛应用的Backbone。后面由于各种新的网络提出,论精度VGG比不上ResNet,论速度和参数数量VGG比不过MobileNet等轻量级网络,慢慢的VGG开始淡出人们的视线。当VGG已经被大家遗忘时,2021年清华大学、旷视科技以及香港科技大学等机构共同提出了RepVGG网络,希望能够让VGG-style网络Great Again。epVGG绝对可以算得上2020年在backbone方面有很大影响力的工作,其核心思想是:通过结构重参数化思想,让训练网络的多路结构(多分支模型训练时的优势——性能高)转换为推理网络的单路结构(模型推理时的好处——速度快、省内存)),结构中均为3x3的卷积核,同时,计算库(如CuDNN,Intel MKL)和硬件针对3x3卷积有深度的优化,最终可以使网络有着高效的推理速率(其实TensorRT在构建engine阶段,对模型进行重构,底层也是应用了卷积合并,多分支融合思想,来使得模型最终有着高性能的推理速率)。性能优异组件:随着不断尝试于探索,出现了很多性能优异的网络组件,比如深度可分离卷积,分组卷积等等,这些都可以显著增加网络性能,但是,我们也知道,就拿group conv来说,当group越多是,我们知道网络性能会越好,但是,其MAC(内存访问成本)也会显著增大,最终导致模型变慢,深度可分离卷积虽然可以显著降低FLOPs,但是其MAC也会增加,最终导致模型速度变慢。这就引发了一个矛盾,既然多分支结构和性能优异的组件能显著提高模型性能,但是,又会最终导致模型在推理时速度变慢且还非常耗内存,这非常不利于工业场景(尤其实在算力受限的情况下)。这种问题该怎么解决呢?2. 解决方案: 想要使网络具有高性能,又要有高效推理速度,怎么才能解决这个问题?repVGG给了我们答案:结构重参数化思想,也即训练时尽量用多分支结构来提升网络性能,而推理时,采用利用结构重参数化思想,将其变为单路结构,这样,显存占用少,推理速度又快。2.1. backbone: 作者最终选择将VGG作为backbone,这里为什么要选择这么古董的玩意儿呢,而不是选择现在主流的ResNet架构?主要是基于以下三点考虑:2.1.1. 速度快: 我们都知道,VGG几乎都是由3x3卷积堆叠而成,而现在加速库比如NVIDIA的cudNN,Intel的MKL和相关硬件对3x3的卷积核有非常好的性能优化,而在VGG中,几乎都是conv3x3。因此,利用现有加速库,会得到更好的性能优化,从下表就就可以看出,在相同channels、input_size和batchsize条件下,不同卷积核的FLOPs和TFLOPs和用时,可以看出,3x3卷积非常快。在GPU上,3x3卷积的计算密度(理论运算量(Theoretical FLOPs ÷ Time usage)除以所用时间)可达1x1和5x5卷积的4倍。2.1.2. 节省内存: VGG是一个直筒性单路结构,由上述分析可知,单路结构会占有更少的内存,因为不需要保存其中间结果,同时,单路架构非常快,因为并行度高。同样的计算量,大而整的运算效率远超小而碎的运算。2.1.3. 灵活性好: 多分支结构会引入网络结构的约束,比如Resnet的残差结构要求输入和卷积出来的张量维度要一致(这样才能相加),这种约束导致网络不易延伸拓展,也一定程度限制了通道剪枝。对应的单路结构就比较友好,非常容易改变各层的宽度,这样剪枝后也能得到很好的加速比。RepVGG主体部分只有一种算子: conv3x3+ReLU。在设计专用芯片时,给定芯片尺寸或造价,我们可以集成海量的3x3卷积-ReLU计算单元来达到很高的效率。别忘了,单路架构省内存的特性也可以帮我们少做存储单元。
上滑加载中