
AI算法工程师进阶之路
文章平均质量分 80
深度学习、机器学习、强化学习、图神经网络、AIGC
Way_X
做自己喜欢的事,爱自己深爱的人。
展开
-
具身智能从0到1
一文带你了解具身智能原创 2024-11-13 16:08:58 · 1391 阅读 · 0 评论 -
[从0开始轨迹预测]:Laplace分布
具有密度函数fx∣μb2b1e−bx−μ的分布叫做拉普拉斯分布;μ是位置参数,b是尺度参数。拉普拉斯分布的期望为μ,方差为2b2,偏度为0,峰度为3。拉普拉斯分布的密度函数,可以看作是两个指数分布函数的概率密度“背靠背”拼接在一起。因此又称(事实上拉普拉斯分布与指数分布确实有很密切的关系)原创 2024-07-05 23:32:06 · 1056 阅读 · 0 评论 -
[自动驾驶算法][从0开始轨迹预测][文献阅读笔记] [MTR++]:Multi-Agent Motion Prediction with Symmetric Scene Modeling and G
Waymo Open Motion Dataset 2023年冠军方案,较MTR适配了多智能体联合预测的技术方案[自动驾驶算法][从0开始轨迹预测] [文献阅读笔记] [MTR]:Motion Transformer with Global Intention Localization and Local MoMTR仓库。原创 2024-07-04 17:09:21 · 1090 阅读 · 0 评论 -
[自动驾驶算法][从0开始轨迹预测] [文献阅读笔记] [MTR]:Motion Transformer with Global Intention Localization and Local Mo
MTR模型的整体架构如图所示,(a) 表示稠密未来预测模块,它预测每个智能体的单个轨迹(例如,在上面的 (a) 中绘制为黄色虚线)。 (b) 表示动态地图收集模块,它沿着每个预测轨迹收集地图元素(例如,在(b)的上述部分中沿着每个轨迹绘制为阴影区域)以提供特定于轨迹的地图元素运动解码器网络的功能。 ©表示运动解码器网络,其中𝒦是运动查询对的数量,𝑇是未来帧的数量,𝐷是隐藏特征维度𝑁 是 Transformer 解码器层数。 预测轨迹、运动查询对和查询内容特征是最后一个解码器层的输出,并将作为下一个解原创 2024-07-04 11:17:49 · 2272 阅读 · 0 评论 -
[从0开始轨迹预测][NMS]:NMS的应用(目标检测、轨迹预测)
任务中,尤其是在的算法时,会产生大量的候选区域,而这些区域可能存在大量的重叠。为了解决这个问题,使用NMS算法来保留最有可能的区域,同时抑制其他冗余或重叠的区域。原创 2024-07-02 23:49:54 · 1123 阅读 · 0 评论 -
[PyTorch]:加速Pytorch 模型训练的几种方法(几行代码),最快提升八倍(附实验记录)
本篇博文概述了在不影响 PyTorch 模型准确性的情况下提高其训练性能的技术。为此,将 PyTorch 模型包装在 LightningModule 中,并使用 Trainer 类来实现各种训练优化。只需更改几行代码,就可以将单个 GPU 上的训练时间从 22.53 分钟缩短到 2.75 分钟,同时保持模型的预测准确性。性能提升了 8 倍!原创 2024-07-02 21:03:46 · 1618 阅读 · 0 评论 -
[PyTorch][PyTorch Lightning]:断点续训
日志:保存训练过程中的日志信息,包括损失、指标和训练时间等信息。对象的状态,包括当前的 epoch 和 batch 等信息。优化器状态:保存优化器的状态,包括当前的学习率和动量等信息。参数来控制是否保存模型的权重、最后一次保存的模型权重和。,则只会保存模型的权重,而不会保存其他信息。在需要从断点继续训练的时候,创建一个新的。参数来指定要继续训练的模型状态的路径。对象的状态以及其他信息。参数来指定要恢复训练的检查点路径。参数,以指示从该检查点处恢复训练。回调来保存模型的状态。模型权重:保存模型的权重参数。原创 2024-05-14 10:50:39 · 3061 阅读 · 3 评论 -
[从0开始AIGC][Transformer相关]:一文总结Transformer中的位置编码
一文总结Transformer中的位置编码原创 2024-05-09 17:00:55 · 505 阅读 · 0 评论 -
[Pytorch]:PyTorch中张量乘法大全
在 PyTorch 中,有多种方法可以执行张量之间的乘法。两个矩阵相乘,第一个矩阵的列数必须等于第二个矩阵的行数。()`对应位置的元素相乘,输入张量形状必须相同或。:对于具有更高维度的张量(点积),可以使用。换句话说,输入张量的形状应为。此外,第一个输入张量的。必须与第二个输入张量的。两个一维张量的点积。原创 2024-04-03 17:31:15 · 2163 阅读 · 1 评论 -
[Pytorch][缘来如此]:PyTorch中的广播机制
使两者形状互相兼容。广播提供了一个向量化数组操作的机制,这样遍历就发生在C层面,而不是Python层面。广播可以避免不必要的数据复制,通常导向高效的算法实现。不过,也存在不适用广播的情形(可能导致拖慢计算过程的低效内存使用)。in-place operation称为原地操作符,在pytorch中是指改变一个tensor的值的时候,不经过复制操作,而是直接在原来的内存上改变它的值。in-place操作不允许tensor像广播那样改变形状。在满足特定限制的前提下,的数组上应用算术运算。原创 2024-04-03 17:03:28 · 774 阅读 · 0 评论 -
[从0开始AIGC][Transformer相关]:一文看懂Transformer中的位置编码:绝对位置、相对位置、旋转位置编码
绝对位置编码最原始的正余弦位置编码(即sinusoidal位置编码)是一种绝对位置编码,但从其原理中的正余弦的和差化积公式来看,引入的其实也是相对位置编码。优势: 实现简单,可预先计算好,不用参与训练,速度快。劣势: 没有外推性,即如果预训练最大长度为512的话,那么最多就只能处理长度为512的句子,再长就处理不了了。当然,也可以将超过512的位置向量随机初始化,然后继续微调。相对位置编码。原创 2024-04-02 23:14:09 · 2787 阅读 · 0 评论 -
[从0开始AIGC][Transformer相关]:Transformer中的激活函数:Relu、GELU、GLU、Swish
FFN(Feed-Forward Network)块是Transformer模型中的一个重要组成部分,接受自注意力子层的输出作为输入,并通过一个带有 Relu 激活函数的两层全连接网络对输入进行更加复杂的非线性变换。在公式中,首先将输入向量 x 通过一个全连接层(线性变换)得到一个与 x 维度相同的向量,然后将该向量通过Sigmoid函数进行激活。在公式中,Swish函数首先对输入向量 x 进行一个非线性变换,然后通过Sigmoid函数进行激活,并将该激活结果与输入向量 x 逐元素相乘,得到最终的输出值。原创 2024-04-02 23:04:48 · 4625 阅读 · 2 评论 -
[AI算法][机器学习]:基本概念和分类
机器学习基础(一)机器学习机器学习基础(一)1 基本概念1.1 ML各种常见算法图示1.2 导数的计算1.3 关于局部最优和全局最优的描述1.4 大数据与深度学习之间的关系2 机器学习的分类2.1 监督学习2.2 非监督式学习2.3 半监督式学习2.4 弱监督学习2.5 监督学习有哪些步骤emm… 那个第一篇文章,简单的自我介绍一下,机器学习小白,希望和大家一起进步,有什么问题可以留言一起探讨...原创 2020-01-07 13:30:27 · 3115 阅读 · 1 评论 -
[AI算法]:Keras版GCN源码自用解析
最近在研究图卷积的相关理论,有看Pytorch版本和DGL版本的GCN源码,但对象要用到Keras版本,就将Keras版本的GCN源码分析,粘一份,以备查看。1 setup.pyrom setuptools import setupfrom setuptools import find_packages setup(name=‘kegra‘, # 生成的包名称 version=‘0.0.1‘, # 版本号 description=‘Deep原创 2024-01-15 21:21:00 · 2297 阅读 · 0 评论 -
[AI算法][机器学习]:目标函数、损失函数以及代价函数
#机器学习基础(三)文章目录4. 目标函数4.1 为什么要使用目标函数4.2 目标函数的作用原理4.3 为什么目标函数是负的4.4 常见的目标函数4.4.1 **二次代价函数(quadratic cost)**:4.4.2 **交叉熵代价函数(cross-entropy)**:4.4.3**对数似然代价函数(log-likelihood cost)**:5. 损失函数5.1 什么是损失函数5....原创 2020-02-18 17:12:11 · 5203 阅读 · 1 评论 -
[AI算法][机器学习]:分类及回归问题
机器学习基础(二)文章目录机器学习基础(二)3.2 分类算法的评估方法3.3 正确率能很好的评估分类算法吗3.4 什么样的分类器是最好的4 逻辑回归4.1 回归划分4.2 逻辑回归适用性4.3 逻辑回归与朴素贝叶斯有什么区别4.4 线性回归与逻辑回归的区别上篇文章中,我们就机器学习的相关基础概念进行了阐述,包括机器学习的基本概念以及机器学习的分类。不了解的童鞋可以看一下补补课,机器学习系列(一...原创 2020-02-13 17:32:51 · 4514 阅读 · 1 评论 -
[AI算法][机器学习]:决策树 ID3 C4.5 CART 基于Python实现
决策树文章目录决策树1 决策树的基本原理2 决策树的三要素3 决策树学习基本算法4 决策树算法优缺点5 熵的概念以及理解6 信息增益的理解7 剪枝处理的作用及策略参考文章1 决策树的基本原理 决策树(Decision Tree)是一种分而治之的决策过程。一个困难的预测问题,通过树的分支节点,被划分成两个或多个较为简单的子集,从结构上划分为不同的子问题。将依规则分割数据集的过程不断递归下去(...原创 2020-03-22 22:34:28 · 1993 阅读 · 1 评论 -
[AI算法][机器学习]:一文就够了-先验概率 后验概率 似然函数 最大似然估计(MLE) 最大后验概率(MAE) 以及贝叶斯公式的理解
机器学习基础文章目录机器学习基础1. 概率和统计2. 先验概率(由历史求因)3. 后验概率(知果求因)4. 似然函数(由因求果)5. 有趣的野史--贝叶斯和似然之争-最大似然概率(MLE)-最大后验概率(MAE)-贝叶斯公式总结:先验概率 后验概率以及似然函数的关系1. 概率和统计概率(probabilty)和统计(statistics)看似两个相近的概念,其实研究的问题刚好相反。顾名思义...原创 2020-03-20 13:11:12 · 2873 阅读 · 1 评论 -
[AI算法]:表示距离的公式
欧式距离、曼哈顿距离、切比雪夫距离、余弦距离、相关系数、Jaccard相关系数原创 2020-03-24 13:58:11 · 1177 阅读 · 0 评论 -
[AI算法]:信息论相关概念总结以及理解
机器学习基础–信息论相关概念总结以及理解文章目录机器学习基础--信息论相关概念总结以及理解1. 信息量(熵)2. KL散度3. 交叉熵4. JS散度摘要:熵(entropy)、KL 散度(Kullback-Leibler (KL) divergence)和交叉熵(cross-entropy)以及JS散度,在深度学习以及机器学习很多地方都用的到,尤其是对于目标函数和损失函数的定义。在逻辑回归问...原创 2020-03-24 13:54:30 · 1753 阅读 · 0 评论 -
[AI算法][模型部署]:TVM模型部署实战
[模型部署]:TVM模型部署实战原创 2022-11-19 18:32:25 · 3179 阅读 · 0 评论 -
[AI算法][模型部署]:深度学习模型部署(已更Pytorch篇)
模型部署总结,在更...原创 2022-11-18 16:47:36 · 11506 阅读 · 7 评论 -
[AI算法][强化学习]:强化学习面试大纲(看这一篇就够啦)
最近在整理强化学习的一些基础知识。问题和参考答案,选自David Silver的一些录像以及《强化学习导论(第二版)》、郭老师的强化学习新书。文章目录1.强化学习的应用场景1.1 自动驾驶系统1.2 游戏AI1.3 推荐系统和搜索引擎2. 强化学习基础2.1 强化学习解决何种问题2.2 马尔科夫决策过程3. 基于值函数的强化学习方法(Value Based)3.1 基于模型的动态规划算法(DP)3.2 无模型的值函数方法3.2.1 基于蒙特卡洛的强化学习方法(MC)3.2.2 基于时间差分的强化学习方法(原创 2020-05-30 13:49:05 · 3381 阅读 · 10 评论 -
[AI算法][PyTorch]: nn.LSTM(*args, **kwargs) 输入输出参数详解以及使用的注意事项
class torch.nn.LSTM(*args, **kwargs)参数列表:input_size:x的特征维度hidden_size:隐藏层的特征维度num_layers:lstm隐层的层数,默认为1bias:False则bih=0和bhh=0. 默认为Truebatch_first:True则输入输出的数据格式为 (batch, seq, feature)dropout:除最后一层,每一层的输出都进行dropout,默认为: 0bidirectional:True则为双向lstm默原创 2021-11-15 14:15:25 · 2263 阅读 · 0 评论 -
[AI算法]:梯度 散度 旋度的理解
梯度: 运算的对像是纯量,运算出来的结果会是向量在一个纯量场中,梯度的计算结果会是"在每个位置都算出一个向量,而这个向量的方向会是在任何一点上从其周围(极接近的周围,学过微积分该知道甚么叫极限吧?)纯量值最小处指向周围纯量值最大处.而这个向量的大小会是上面所说的那个最小与最大的差距程度"举例子来讲会比较简单,如果现在的纯量场用一座山来表示,纯量值越大的地方越高,反之则越低.经过梯度这个运操...原创 2019-09-28 15:29:58 · 2573 阅读 · 0 评论 -
[AI算法][Pytorch]:分布式训练
1. 数据并行训练PyTorch 为数据并行训练提供了多种选项。对于从简单到复杂,从原型到量产逐渐增长的应用,共同的发展轨迹是:使用单机训练,如果数据和模型可以放在一个 GPU 中,并且训练速度不是问题。使用单机多 GPU DataParallel,如果服务器上有多个 GPU,并且您希望以最少的代码更改来加速训练。使用单机多 GPU DistributedDataParallel,如果您想进一步加快训练速度并愿意编写更多代码来设置它。如果应用程序需要跨机器边界扩展,请使用多机Distribute原创 2021-10-25 11:06:11 · 1523 阅读 · 0 评论 -
[AI算法][深度学习]:卷积神经网络中卷积和池化特征图的维度变化(不能被整除问题)
在卷积的过程中,卷积核大小kernel_sizekernel\_sizekernel_size,填充PaddingPaddingPadding,步长StrideStrideStride。都会影响卷积输出的维度。假设输入维度为H∗W∗CH*W*CH∗W∗C,卷积核的大小为kkk,填充值为ppp,步长为sss,则输出特征图的维度为H′∗W′∗C′H'*W'*C'H′∗W′∗C′,参数量为:k2× C× C′+C′k^2\times\ C\times\ C'+C'k2× C×&nbs原创 2020-05-13 19:10:15 · 4955 阅读 · 3 评论 -
[AI算法][深度学习]:鞍点以及如何跳出鞍点
最近阅读了有关鞍点得到文章,做了一下总结:鞍点的定义:鞍点 (saddle point)的数学含义是: 目标函数在此点上的梯度(一阶导数)值为 0, 但从该点出发的一个方向是函数的极大值点,而在另一个方向是函数的极小值点。而当在某点的一阶导为0时,该点称为驻点。判断鞍点的一个充分条件是:函数在一阶导数为零处(驻点)的Hessian矩阵为不定矩阵。半正定矩阵: 所有特征值为非负,或主子式...原创 2020-03-25 14:47:19 · 8159 阅读 · 1 评论 -
[AI算法][深度学习]:1*1卷积的作用
1×11\times11×1卷积作用? NIN(Network in Network)是第一篇探索1×11\times11×1卷积核的论文,这篇论文通过在卷积层中使用MLP替代传统线性的卷积核,使单层卷积层内具有非线性映射(激活函数)的能力,也因其网络结构中嵌套MLP子网络而得名NIN。NIN对不同通道的特征整合到MLP自网络中,让不同通道的特征能够交互整合,使通道之间的信息得以流通,其中的M...原创 2020-02-17 22:43:48 · 2781 阅读 · 1 评论 -
[面试刷题]:赛码、牛客coding,输入输出
笔试之前看一眼,神清气爽系列。哈哈!1. 使用sys系列:1)单行输入(readline):values = map(int, sys.stdin.readline().strip().split())2)多行输入:循环取值rows_list = [] single_row_list = [] for line in sys.stdin: single_row_list = line.split() rows_list.append(single_ro原创 2020-09-27 15:50:37 · 316 阅读 · 0 评论 -
[AI算法][TensorFlow]:tensorflow学习笔记-tf.reshape()--tf.transpose() / np.resahpe()---np.transpose()
https://www.jianshu.com/p/da736223b697说明:这两个维度变换操作,对于张量的处理是非常重要的!但是二者其实有本质上的不同!一定不能混用,特别是在处理数据中,使用错误严重造成数据的输入输出混乱。本文将详细说明两者对张量变换的区别。写在前面1: Tensorflow与Numpy其实从出发点来讲是一致的!都是“高维数组”的科学计算库,只不过TF把高维数组又起了一个名字叫“张量”而已。因此:高维数组与张量没有本质区别!只不过张量多了一个属性叫“张量的阶”(其实就是这个高维.原创 2020-08-19 17:24:19 · 1270 阅读 · 1 评论 -
[AI算法][TensorFlow]:TensorFlow 学习笔记 - 几种 LSTM 对比
TensorFlow 学习笔记 - 几种 LSTM 对比tf.nn.rnn_cell.BasicLSTMCelltf.nn.static_rnntf.nn.static_rnntf.nn.dynamic_rnntf.contrib.cudnn_rnntf.contrib.rnn.LSTMBlockCelltf.contrib.rnn.LSTMBlockFusedCelltf.contrib.rnn.BasicLSTMCell variantsBasicLSTMCelltf.nn.原创 2020-08-17 15:22:27 · 691 阅读 · 1 评论 -
[AI算法]:Pytorch\Numpy中Squeeze()与unsqueeze()函数的区别和应用
简单粗暴,看一下两个函数的用法:1.unsqueeze():从tensor(torch)或者数组中,在指定维度上添加维度为1的维度(axis=0, axis=1, axis=2, …)以pytorch为例,首先初始化一个tensor,size为(2,3).在tensor的第一维unsqueeze(0)中插入维度为1的维度,现在tensor的size为(1,2,3)。2.squeeze():从tensor(torch)或者数组中,在指定维度上删除维度为1的维度(axis=0, axis=1,原创 2020-07-29 15:07:09 · 17577 阅读 · 2 评论 -
[AI算法]:优化算法总结(区别及联系)SGD Momentum NAG Aadagrad RMSprop AadaDelta Adam Nadam
文章是最近整理的一些深度学习优化算法总结,具体参考文献见文章末尾:刚刚开始接触优化算法,林林总总,认识总是很浅薄,但是当你拿过来看的时候,发现从刚刚开始的SGD到现在的adam、Nadam等,原理上其实是相通的。算法基本框架图中的一阶动量和二阶动量分别是历史梯度的一阶导数函数和二阶导数函数。SGD梯度下降随机梯度下降,作为最为基础的优化算法,以样本数据的负梯度方向作为优化方向,在深度学习...原创 2020-04-05 18:39:45 · 1926 阅读 · 0 评论 -
[文献阅读报告][译]: Social-STGCNN:CVPR2020论文翻译以及解读
Social-STGCNN: A Social Spatio-Temporal Graph Convolutional Neural Network for Human Trajectory Prediction文章:采用了较之前轨迹预测方法不同的研究思路,使用图卷积网络代替原有模型的交互汇集机制并引进了核函数,使用TCN代替先前模型的循环递归架构。摘要:更好地了解...原创 2020-03-10 14:42:04 · 12140 阅读 · 5 评论