
神经网络基础模型关键点
文章平均质量分 56
深度学习除了大头的DNN、CNN、RNN、GAN等这些网络结构以外,还存在着一些基础的模型和结构,比如线性回归,对数几率回归,还有softmax这些。学了很多遍但是时间一长总是混淆概念,建立一个专栏用于总结这些边缘的神经网络的关键点。
普通攻击往后拉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
tensorboard快捷应用
【代码】tensorboard快捷应用。原创 2025-01-07 19:55:44 · 271 阅读 · 0 评论 -
深度学习与数学归纳法
这个思想其实和数学归纳法里面的先假设某个条件成立,再去做其他事情,然后再反过来优化这个条件很像,也和EM估计的思想很像。最近发现,深度学习可以分为两个主要的阶段,分别是前向推理以及反向传播,分别对应着网络的推理和参数训练两个步骤。这也可以解释为什么很多网络结构的改进的论文,本质上是提供了参数交互的接口,让网络有机会对某种类型的数据进行建模和表征,然后再去对其进行训练。在做参数训练的时候,本质上是在利用历史数据求网络参数的先验分布;在推理的时候,本质是在基于训练好的参数进行极大似然估计。原创 2024-09-28 13:19:44 · 759 阅读 · 0 评论 -
深度学习中Embedding的理解
Embedding的加法一般用于同类目的合集表示。就是因为不同one-hot做加法之后得到的向量可以反过来推断出包含了哪些向量,虽然序列信息无法放到里面。Embedding这个概念翻译过来的意思就是嵌入,就是把一个大的东西想办法嵌入到一个小的地方。例如,历史时间一般会按照1天内,7天内,30天内,一年内进行离散化再去embedding。此外,Embedding还多用于多模态特征的融合,因为多种模态数据最后都是汇聚到向量表示。Embedding拼接一般用于不同类目的合集,一般用拼接的方式放到神经网络去。原创 2024-08-29 00:36:34 · 786 阅读 · 0 评论 -
PyTorch踩坑记录1
因为model.eval()控制self.training参数,只有用nn.Dropout(0.5)声明才能在调用model.eval()后关闭,用F.dropout(x, p=0.5)是没办法自动关闭的,需要手动把self.training的参数传入到F.dropout()里才行。网上查到是因为model.eval()会影响继承nn.module类的self.方法的训练和测试,但是F.dropout更像是一个函数没继承nn,module。原创 2024-08-22 21:48:41 · 436 阅读 · 0 评论 -
两个embeding信息的常见融合办法
【代码】两个embeding信息的常见融合办法。原创 2024-08-11 17:00:44 · 734 阅读 · 0 评论 -
一个解决问题的编码思路(编程+AI向)
3、超参数方面的搜索。包括两个层面,首先在原型系统开发时应该给模型留一个类似try的超参数,用来尝试不同网络结构、损失函数的组合下模型的大概效果,一般设置手动搜索即可。其次是学习率、批归一化大小的搜索,最好采用网格搜索的方式进行自动搜索。2、方法、原理层面的搜索,定位大概要使用哪一类方法,以及方法的基本原理是什么。1、 问题层面的搜索,定位要解决的问题大类、小类,知道问题的scope在哪里,相关工作都是怎么解决的。简单记录一个最近想到的解决问题的思路,忽然想到的,有点抽象,先记下来。原创 2024-08-08 10:24:24 · 340 阅读 · 0 评论 -
[经典论文分享] Decision Transformer: Reinforcement Learning via Sequence Modeling
1 背景无聊时看群聊发现在半年前2021年7月左右新出了一个方法,叫做decision transformer。一直以来都是对attention机制大家族保持着崇高的敬意,于是找到了这篇文章看了一下。看完之后感觉并不是很惊喜,也可能是期待太高。文章核心做的工作是给出了一种新的深度强化学习训练模式,使得能够更加‘端对端’地去用transformer大家族去拟合和训练。截止2022年1月22日,这篇文章在谷歌学术上有了50次引用(半年多)。论文原文:Decision Transformer: Reinfor原创 2022-01-21 20:30:42 · 5655 阅读 · 1 评论 -
[经典论文分享] Attention, Learn to Solve Routing Problems!
1 背景自从有人基于指针网络解决组合优化问题以来,基于ML的组合优化问题求解模型逐渐被关注。基于深度强化学习的组合优化求解带来了较高的模型准确度和泛化性。但是目前基于DRL的CO求解准确度和训练效率一般,简单来说就是模型不是很成熟。针对模型的表现性能和训练效率,同时本着万物皆可基于transformer进行改进的思想,本文提出了一种面向VRP系列组合优化问题的改进的‘transformer’,作者称其为’Attention Model’。到现在2021年10月,这篇文章已经在谷歌学术上有了325次的引用。原创 2021-10-24 17:11:22 · 4200 阅读 · 7 评论 -
encoding和embedding的区别
这两个词主要来源于自然语言处理领域,代表对于词语的的数字化表征。相似点:都表示对于初始特征的转化,如XXX到X−X^-X− ,从而可以利用X−X^-X−更方便地做某些事情。不同点:1)根据attention is all you need的原文,encoding更多表示对特征的一种公式型转化,比如利用三角函数等这样相对白盒一点的转化方法;而embedding更多指的是一种基于神经网络的转化方法,比如把一个19维的特征映射为一个8维的特征。2)一般认为encoding是一个过程,从XXX到X−X^-X原创 2021-10-23 19:24:00 · 5136 阅读 · 3 评论 -
代码+通俗理解图神经网络GNN
1 类比CNN图神经网络GNN用于解决非欧几里得空间结构的数据结构的表征问题,其本质是依赖图形中边的连接关系表征节点或者图的信息。在说图神经网路是如何实现这一点时,可以先对比卷积神经网络对一般图像的处理过程:CNN对于图像的处理就是按照从上到下的顺序依次对图像进行卷积,从而提取整个图像的特征;而GNN对于图结构的处理,类似于按照节点为单位,用一个虚拟的卷积核按照节点的连接顺序对图中的节点依次进行处理。因此GNN与CNN的处理过程本质上是一样的。2 代码理解GNN的训练过程GNN的“模拟卷积核”在每原创 2021-08-14 22:57:22 · 12462 阅读 · 3 评论 -
看待神经网络的两种角度
神经网络包括DNN、CNN、RNN以及其他变体网络结构,主要用于拟合历史数据,预测未来数据。神经网络的核心在于反向传播梯度,使得网络能够拟合历史数据的分布。最近一段时间看了一些相关顶会的论文,发现大佬们看待神经网络主要有两个角度,总结如下:1 认为神经网络是特征提取器这种角度更符合大多数计算机视觉领域的看法,认为神经网络实现的是特征的非线性映射和提取,实现深层与浅层特征的分离。在这种角度下,神经网络的每一层都被赋予不同的涵义,其中一般其代表的特征矩阵会随着网络层数的增多而逐渐加深,并将最后一层作为最后的原创 2021-07-07 11:54:47 · 237 阅读 · 2 评论 -
代价函数、损失函数、目标函数的区别
损失函数针对一个训练样本而言,代价函数针对多个样本组成的训练集而言,但是二者实际上是一样的,都反应估计值与真实标签值的接近程度,所以一定是越小越好。目标函数指我们想要被优化的对象,在机器学习领域一般指带有正则化项的代价函数,但是目标函数本身可能是优化最大值,也可能优化最小值。...原创 2021-04-24 14:23:40 · 368 阅读 · 0 评论 -
大厂们的python算法编程习惯
最近在看和使用github上的代码的时候,越来越发现不同来源的代码风格差异很大,个人的代码一般都比较直观,而大厂的代码都有一些固定的习惯。最近一直在看OpenAI的深度强化学习的python代码,发现了一些平时个人不怎么常用,但是却很不错的常用法,因此记录学习一下。1 enumerate()用于包装循环,返回索引和内容:list1 = [2, 3, 4]for i, eve in enumerate(list1): print(i, eve)结果会是:1 22 33 4之前自己喜欢用原创 2021-04-24 14:18:27 · 211 阅读 · 0 评论 -
[经典论文分享]QMIX: 基于值学习的多智能体强化学习协作算法
1 背景在多智能体强化学习中有两个重要的问题,一是如何学习联合动作值函数,因为该函数的参数会随着智能体数量的增多而成指数增长;二就是学习到了联合动作值函数后,如何提取出一个合适的分布式的策略。这两个问题导致单智能体强化学习算法,如Q-learning,难以直接应用到多智能体系统中。Rashid提出了QMIX多智能体算法,基于Q-learning和VDN的启发,从上述两个问题角度提升marl算法的准确度。论文原文:QMIX: Monotonic Value Function Factorisation f原创 2021-02-14 10:35:47 · 6422 阅读 · 3 评论 -
[经典论文分享]SchedNet:带宽限制下的多智能体通讯调度网络
1 背景普遍认为,交流可以进一步提高学习者在尝试完成合作任务时的集体智力,许多论文已经研究了在强化学习中多个代理之间使用的通信协议和语言的学习。但是agent之间的交互是有成本的,不是随便就能交互的,并且存在带宽的限制。此外,agent之间的交互是通过某种一致的媒介进行的,意味着同一时间只会有几个智能体同时进行交互,因此需要对整个mas进行调度。Kim等人提出了一种SchedNet,用于解决在上述背景下的agent间的调度行为。论文原文:LEARNING TO SCHEDULE COMMUNICATIO原创 2021-01-23 10:57:09 · 1129 阅读 · 1 评论 -
GPU版pytorch安装
由于经常重装系统,导致电脑的环境需要经常重新配置,其中尤其是cuda torch比较难以安装,因此记录一下安装GPU版本torch的过程。1)安装CUDA toolkit这个可以看做是N卡所有cuda计算的基础,一般都会随驱动的更新自动安装,但是不全,仍然需要安装toolkit,并不需要先看已有版本是哪个,反正下载完后会自动覆盖原有的cuda。下载网站两个:国内网站:只能下载最新的toolkit,但是很好使很快。国外网站:可以下载多个版本的toolkit,但是我点下载不好使。目前最新的,也就是国内原创 2020-12-21 10:10:48 · 242 阅读 · 0 评论 -
深度学习模型fintuning的效果反而变差的问题
在使用pytorch模型进行建模时,常常需要进行保存checkpoints,并在下次继续训练或者测试时使用,pytorch的保存和重载主要有两个方式:1) 只保存参数# 保存torch.save(model.state_dict(), 'model.pth')# 加载model = Model(*argv)model.load_state_dict(torch.load('model.pth'))2) 模型全保存# 保存torch.save(model, 'model.pth')# 加原创 2020-05-22 16:00:06 · 2209 阅读 · 4 评论 -
极大似然估计与机器学习
111原创 2020-04-03 18:30:00 · 529 阅读 · 0 评论 -
softmax与sigmoid的区别
111原创 2020-04-02 10:09:07 · 22896 阅读 · 3 评论 -
线性回归与对数几率(Logistic)回归的区别与联系
1 线性回归线性回归其实就是高中讲过的那种回归,但是不同的是线性回归在神经网络这个学科里大多使用梯度下降来计算参数w,bw,bw,b,而高中讲的是使用最小二乘法。线性回归想解决的问题也是回归问题,公式:y=wx+b y=wx+by=wx+b也可以写成:hθ(x)=θx h_\theta(x) =\theta x hθ(x)=θx用图形表示的话:如果更新方式使用梯度下降,其中损...原创 2020-03-31 21:22:17 · 5340 阅读 · 0 评论