神经网络基础模型关键点
文章平均质量分 67
深度学习除了大头的DNN、CNN、RNN、GAN等这些网络结构以外,还存在着一些基础的模型和结构,比如线性回归,对数几率回归,还有softmax这些。学了很多遍但是时间一长总是混淆概念,建立一个专栏用于总结这些边缘的神经网络的关键点。
普通攻击往后拉
Intelligent decision-making for scheduling and planning problems
展开
-
[经典论文分享] 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 · 4764 阅读 · 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 · 3145 阅读 · 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 · 3677 阅读 · 3 评论 -
代码+通俗理解图神经网络GNN
1 类比CNN图神经网络GNN用于解决非欧几里得空间结构的数据结构的表征问题,其本质是依赖图形中边的连接关系表征节点或者图的信息。在说图神经网路是如何实现这一点时,可以先对比卷积神经网络对一般图像的处理过程:CNN对于图像的处理就是按照从上到下的顺序依次对图像进行卷积,从而提取整个图像的特征;而GNN对于图结构的处理,类似于按照节点为单位,用一个虚拟的卷积核按照节点的连接顺序对图中的节点依次进行处理。因此GNN与CNN的处理过程本质上是一样的。2 代码理解GNN的训练过程GNN的“模拟卷积核”在每原创 2021-08-14 22:57:22 · 11117 阅读 · 3 评论 -
看待神经网络的两种角度
神经网络包括DNN、CNN、RNN以及其他变体网络结构,主要用于拟合历史数据,预测未来数据。神经网络的核心在于反向传播梯度,使得网络能够拟合历史数据的分布。最近一段时间看了一些相关顶会的论文,发现大佬们看待神经网络主要有两个角度,总结如下:1 认为神经网络是特征提取器这种角度更符合大多数计算机视觉领域的看法,认为神经网络实现的是特征的非线性映射和提取,实现深层与浅层特征的分离。在这种角度下,神经网络的每一层都被赋予不同的涵义,其中一般其代表的特征矩阵会随着网络层数的增多而逐渐加深,并将最后一层作为最后的原创 2021-07-07 11:54:47 · 197 阅读 · 2 评论 -
代价函数、损失函数、目标函数的区别
损失函数针对一个训练样本而言,代价函数针对多个样本组成的训练集而言,但是二者实际上是一样的,都反应估计值与真实标签值的接近程度,所以一定是越小越好。目标函数指我们想要被优化的对象,在机器学习领域一般指带有正则化项的代价函数,但是目标函数本身可能是优化最大值,也可能优化最小值。...原创 2021-04-24 14:23:40 · 306 阅读 · 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 · 175 阅读 · 0 评论 -
[经典论文分享]QMIX: 基于值学习的多智能体强化学习协作算法
1 背景在多智能体强化学习中有两个重要的问题,一是如何学习联合动作值函数,因为该函数的参数会随着智能体数量的增多而成指数增长;二就是学习到了联合动作值函数后,如何提取出一个合适的分布式的策略。这两个问题导致单智能体强化学习算法,如Q-learning,难以直接应用到多智能体系统中。Rashid提出了QMIX多智能体算法,基于Q-learning和VDN的启发,从上述两个问题角度提升marl算法的准确度。论文原文:QMIX: Monotonic Value Function Factorisation f原创 2021-02-14 10:35:47 · 5014 阅读 · 3 评论 -
[经典论文分享]SchedNet:带宽限制下的多智能体通讯调度网络
1 背景普遍认为,交流可以进一步提高学习者在尝试完成合作任务时的集体智力,许多论文已经研究了在强化学习中多个代理之间使用的通信协议和语言的学习。但是agent之间的交互是有成本的,不是随便就能交互的,并且存在带宽的限制。此外,agent之间的交互是通过某种一致的媒介进行的,意味着同一时间只会有几个智能体同时进行交互,因此需要对整个mas进行调度。Kim等人提出了一种SchedNet,用于解决在上述背景下的agent间的调度行为。论文原文:LEARNING TO SCHEDULE COMMUNICATIO原创 2021-01-23 10:57:09 · 818 阅读 · 1 评论 -
GPU版pytorch安装
由于经常重装系统,导致电脑的环境需要经常重新配置,其中尤其是cuda torch比较难以安装,因此记录一下安装GPU版本torch的过程。1)安装CUDA toolkit这个可以看做是N卡所有cuda计算的基础,一般都会随驱动的更新自动安装,但是不全,仍然需要安装toolkit,并不需要先看已有版本是哪个,反正下载完后会自动覆盖原有的cuda。下载网站两个:国内网站:只能下载最新的toolkit,但是很好使很快。国外网站:可以下载多个版本的toolkit,但是我点下载不好使。目前最新的,也就是国内原创 2020-12-21 10:10:48 · 173 阅读 · 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 · 1691 阅读 · 2 评论 -
极大似然估计与机器学习
111原创 2020-04-03 18:30:00 · 407 阅读 · 0 评论 -
softmax与sigmoid的区别
111原创 2020-04-02 10:09:07 · 18124 阅读 · 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 · 4811 阅读 · 0 评论