深度学习
chamomoe
这个作者很懒,什么都没留下…
展开
-
基于深度学习的众包地下停车场地图构建
从用户车辆采集的数据一般以轨迹为主,部分带有车位,车道线,路面箭头等元素。所以不太能依赖于严格的对齐策略。但对人来说,每次采集的数据之间有很强的形状的相关性。使用这种整体的形状相关性正好是深度学习擅长的地方。 把三维的轨迹转化为2d的图像,高度信息用颜色表示。 网络的输入是一张画有两条轨迹的图片。可以设定一个像素代表一定的距离值。比如一个像素代表50cm,那么一个1000*1000像素的图片可以代表500*500米的区域。两条轨迹分别用不同的颜色代表,比如目标轨迹用红色,待对齐轨迹用蓝色。然后背景用灰色原创 2020-09-16 12:30:57 · 1179 阅读 · 0 评论 -
训练模型识别萌的图片
数据源:pixiv先收藏170+我比较喜欢的风格的画师 python写程序爬取这些画师的所有图片:https://github.com/upbit/pixivpy 数据爬下来的图片直接上传阿里oss,然后每个图像的属性存阿里mongodb 建了一个阿里ECS服务器来运行爬取程序,发现下载速度很慢,而且经常连接错误,python退出。 于是在阿里日本的ECS服务器上运行爬取程序,下载是很快。但是把下载的数据上传国内的OSS却慢得不得了,比在国内服务器直接下载慢。好奇这个现象的原因。 最后还是在国原创 2020-08-13 13:32:54 · 281 阅读 · 0 评论 -
机器学习中No Free Launch说法的理解
这个说法的表面意思是不管什么机器学习的算法,在一些评判标准上来看,并没有谁更好的区别。也就是不管多么复杂的神经网络,和最简单的knn方法其实是一样的。这句话给深度学习很唱了一下衰调,但真的是这样的吗?这几句话更准确的表述应该是:没有一种万能的算法,能够在所有空间中都有很好的表现。比如对于线性的分类问题,你用该维度的模型就不合适,反之依然。每种算法不管适应面再广:深度神经网络就是一种光谱...原创 2019-02-14 20:05:26 · 1093 阅读 · 0 评论 -
安装rTorrent
也可以这里下载稳定版本:https://github.com/rakshasa/rtorrent/wiki#users-manual首先安装rTorrent的依赖:libtorrentsudo apt-get build-dep python-libtorrent 如果出现 E: You must put some 'source' URIs in your sources.list ...原创 2019-02-13 15:09:49 · 1111 阅读 · 0 评论 -
矩阵的rank,nullspace以及eigenvalue的理解
对于线性方程:Ax=b。如果有唯一解的化,那么没有任何向量乘以A后能够等于0向量:Ab=0。这个时候叫做full rank。也就是rank =n。 如果如果Ax=b没有唯一解,那么就会有很多向量使Ab=0。这些向量b本身组成了一个空间(可以哦嗯一组基表示所有满足要求的向量)。 如果rank=n-1,那么这个nullspace由一个基向量就可以表示,如果rank=n-2,那么这个nullspac...原创 2019-05-24 20:12:04 · 9650 阅读 · 0 评论 -
BA-NET: DENSE BUNDLE ADJUSTMENT NETWORKS 理解
一句话定义BA-NETBA-NET是关于怎么用深度学习来做sfm用深度学习来做sfm之前有些什么样的思路最直接的方法就是把多张图片直接送给神经网络,误差函数就是网络输出的pose以及像素深度和真值之间的差异。 只用神经网络把RGB的图转换成特征图。之前稠密的SFM是为了最小化多张图片对齐后图像的亮度差异。现在改为最小化特征图的差异。 上一种方法中,特征层提取的网络需要单独训练,但是很...原创 2019-05-12 17:21:18 · 2113 阅读 · 1 评论 -
Neural MMO: A Massively Multiagent Game Environment
这篇文章主要是对github上代码解读。Neural MMO基本实现了一个简单的MMO框架,并把RL也继承了进去。可以作为这方面研究的的一个起点。主要对象 Trinity其实充当的是一个全局对象的作用。主要的逻辑在realm里面。而realm就是通过使用trinity来实现一些全局控制。 realm的一个成员变量world就是Env,还有个成员变量env其实是Map。 Env里面的e...原创 2019-05-30 14:28:58 · 892 阅读 · 0 评论 -
人工神经网络练习小实验
神经网络入门的最好方法就是从简单的任务开始尝试,这里整理一些可以自己生成各种训练数据的小任务。输入:一幅图上画一条线。输出:线的参数(x0,y0,k) 输入:线的参数(x0,y0,k)。输出:在图片上把这条线画出来 输入:一幅图上画一条线,并有各种噪音。输出:不带噪音的线 就用Unet,因为其实一幅画的信息就是三个线的参数 通过描述符的匹配,判断一幅图片上哪些区域是可能出现稳定描述...原创 2019-06-18 23:43:50 · 723 阅读 · 0 评论 -
强化学习里面Bellman Equation的理解
首先要明白return和reward的区别。reward是指在当前状态s下,进行a操作。环境反馈的奖励。而return是指在当前状态s下,后续连续进行无限个a操作的奖励的和。所以强化学习的目的是选择一个a,能使后续一系列操作得到的奖励最大。 再说Q函数,Q函数就是就是当前状态s和当前操作a到return的函数。注意不是到reward函数。 为了理解Bellman Equation函数,假设Q函...原创 2019-06-23 00:13:26 · 4900 阅读 · 0 评论 -
提取图像中直线的直线方程的神经网络
描述:一张图片中画有一条带噪音的直线,求这条线的方程 这些线的粗细,颜色等等都不一样。做这个事情的目的有:因为可以自动产生大量的训练数据,所以方便用来研究简单的神经网络的规律 大神经网络小神经网络的区别 训练的规律 误差函数,目标设定的规律 数据的需求的规律 对线的提取也是图像相关的应用中重要的能力。这类的网络后面可以用在功能更复杂的网络中网络 cla...原创 2019-06-23 18:08:50 · 1410 阅读 · 0 评论 -
因为stl ABI不一致造成的链接错误
有这样一种现象,本来所有连接都好好的,通过cmake然后多连接一个库后,本来找得到的函数也出现大量的undefined symbol错误。可能的原因是在新的库的findPackdge中设置了GLIBCXX_USE_CXX11_ABI这个选项。先解释ABI是什么。ABI叫做程序二进制接口,就是编译出来的bianry文件之间的调用的规则。比如低版本的gcc编译出来的print函数,想要在高版本...原创 2019-08-20 12:14:32 · 604 阅读 · 0 评论 -
Latent Variables的理解
加入我们有X,Y两个随机变量,他们的概率分布如下。要直接用一个函数还表示这个分布是比较困难的。但我们发现这个分布可以分成三个聚类。如果我们给每个聚类编号为。那么就是简单的高斯函数了。这里z就是加入latent variable的意义在于,能够把复杂的问题变成多个简单的问题的和。另外一种理解是,x是我们观察的值。这些观测值只是表面现象,但真正影响这些现象的是背后的一些late...原创 2019-02-14 19:43:01 · 15387 阅读 · 0 评论 -
generative adversarial network在概率问题中的理解
对于一个多维概率联合分布,在大多数情况下,很难用一个多维函数来表示。除非这个概率分布是一个高斯函数或者多个高斯函数的和。GAN网络正好提供了另外一个重表示多位概率分布的方法:x=f(z)当我们穷尽所有z的值,然后把得到的所有x统计起来,就能得到x的概率分布。具体问题是这样:当我们有很多很多的x(很多很多猫的照片),这些猫的照片变形成了一个在所有照片组成的空间中的分布。要直接表示出这...原创 2019-02-14 18:58:16 · 279 阅读 · 0 评论 -
通往游戏外挂的终极之路——超级游戏AI系列之二:MCTS算法
MCTS是Monte Carlo tree search的缩写,这里就不翻译了。这里我先不直接讲MCTS是什么。我们先从之前学习的minimax的缺陷出发,看下我们能够怎么去弥补这些缺陷,然后MCTS的做法和我们想到的又有什么不同。假设我们要用minimax写一个五指棋的AI,展开层数至少要对单个玩家向前看5步吧。那么对于游戏树就是10层了。假设我们用一个10×10的棋盘。那么需要展开的游戏树...原创 2019-01-16 10:26:14 · 1257 阅读 · 0 评论 -
tensorflow优化细节(哪些变量要优化,优化比例)的手动控制方法
tensorflow中,从建好loss的graph到输入run()函数的op间还有一个slim.learning.create_train_op的步骤。了解这个步骤的内容就能打通整个tensorflow的优化流程,有助于我们深入理解tensorflow。learning.create_train_op主要做两件事:计算梯度和把梯度用于更新Variable。 见下面代码import ten...原创 2018-08-01 09:43:46 · 1479 阅读 · 0 评论 -
object_detection的bounding box在graph中的操作例子(求IOU,排序等)
在物体检测(object detection)任务中,box的操作是一个比较麻烦的事情,特别是要在tensorflow的graph中实现这些操作。tensorflow考到这点,也提供了一些工具函数。本篇文章就用一个例子来引导大家使用这些工具。首先是 BoxList类:存储多个box信息的数据结构box_list_ops:提供了很多操作BoxList的方法,比如计算iou,排序等等这...原创 2018-08-01 13:24:33 · 559 阅读 · 0 评论 -
关于tf.cond分支执行与否的问题
虽然TensorFlow的Graph表面也有流程控制,但和普通程序的if还是差别挺大的,比如下面的代码: import tensorflow as tfX1 = tf.Variable(0.)cond_value = tf.Variable(False)assign_1 = tf.assign(X1, 1.)assign_2 = tf.assign(X1, 2.)cond_resu...原创 2018-08-02 16:27:05 · 1602 阅读 · 3 评论 -
tf.assign, tf.while_loop的一些理解和坑
炎炎夏天,如果如果还开个满负荷运转的GPU机器训练模型。看着变幻莫测的误差下降曲线,真的有种在炼丹的感觉。如果你还用TensorFlow,这种不可捉摸的感觉又添加几分,这里就用tf.assign, tf.while_loop两个函数来举例。aa=tf.Variable([0])bb=tf.assign(aa,1)cc=tf.assign(aa,2)with tf.session()...原创 2018-07-31 13:09:09 · 5384 阅读 · 7 评论 -
Tensorflow tensor随机存取和遍历处理
tensor可以像普通numpy array那样随机存取吗,注意这个是表面的现象。 tensor并不是内容空间的容器,所以没有读取这一说 tensor只是operation的输入和输出的值import tensorflow as tfdata=tf.constant([[1,2,3],[4,5,6]])posi=tf.convert_to_tensor([0,2])re=data[p...原创 2018-07-31 13:56:56 · 15089 阅读 · 0 评论 -
使用tf.sparse_to_dense()时遇到的is out of order报错
import tensorflow as tfindices=tf.constant([[1,3],[1,2],[4,2]])dense=tf.sparse_to_dense(indices,[10,10], sparse_values=[1,2,3])with tf.Session() as sess: print(sess.run(dense))问题现象:运行上面程序,报i...原创 2018-07-31 19:16:04 · 1789 阅读 · 0 评论 -
怎么让神经网络学到我们想要的特征
神经网络是一个万能函数逼近器。在图像处理领域,函数的输入是一张或者多张图片,而输出是任何我们想要从图片中提取的信息。有的信息只需要掌握像素级别的特征,比如把RGB才是图像变成灰度图。但有的信息却需要对图像进行一定的理解才能得到我们想要的输出。比如对图像里面的人和动物进行计数。这要求神经网络必须能够识别眼睛鼻子嘴巴,并对这些器官的相对位置有所了解。神经网络是否能够理解图片的内容,这完全全取决于我...原创 2018-09-22 15:11:09 · 3130 阅读 · 0 评论 -
tensorflow1.8安装以及相关显卡驱动
虽然网上已经有很多关于安装tensorflow的教程了,不过因我自己有一套固定安装流程,这里也分享下。并且所有文件我都提供了百度盘的下载。因为cuda,nvidia驱动,以及cudnn的版本有一定的兼容性。使用作者提供的文件安装,保证了兼容。注意请理解下面每行代码的意义后,更具实际情况惊醒操作。机械的执行代码,不保证能成功。安装环境:ubnutu16,最好是新装的系统。安装在pyenv...原创 2018-11-23 09:56:10 · 1095 阅读 · 1 评论 -
王者荣耀AI相关文章解读:Hierarchical Macro Strategy Model for MOBA Game AI
给不想看后面详细信息的人的说明:这篇文章说明了王者荣耀18年年底公布的新的AI系统中的一些重要模块。其实要完成一个完整都AI系统肯定还有很多其他的小模块需要研究。 AI的输入是游戏画面加一些UI上面可以直接读出的信息(玩家血量,击杀数等),输出是游戏操作的序列。也就是人怎么操作,AI就怎么操作。比如人要在某个地方放置某个技能,AI也需要通过控制虚拟手柄来完成,而不是调用一个游戏内部的API来...原创 2019-01-14 00:37:17 · 2116 阅读 · 3 评论 -
通往游戏外挂的终极之路——超级游戏AI系列之一:minimax算法
先摆点龙门阵吧。前几天打了下王者荣耀的超强AI,发现腾讯居然把部分深度学习出来的AI上线到普通服务器了。之前都只有看游戏大触们在专门的舞台上大战游戏AI,居然这黑科技这么快就平民化了。然后细读了下王者荣耀的相关paper,里面又涉及到一些其台AI的知识,于是又引申出去看了很多其他资料。最后发现这里面水挺深的,已经是一派有历史有传统的学术研究领域:关于怎么让AI玩游戏的研究领域。记得还是本科的时...原创 2019-01-15 11:35:40 · 5531 阅读 · 7 评论 -
tensorflow的object detection api中的evaluation简介
计算mAP主要有三种有所区别的计算方式把confidence分为11份,以11个confidence分别为阈值,计算11个recall和precision,最后计算曲线下面积。 假预测结果里面为positive的数据的个数为num,那么我们最多可以得到num个fp,最少0个fp,也就是recall的可能取值为[1/num, 2/num, ... ,1]。以这num个recall为准,计算...原创 2018-08-04 23:34:07 · 2210 阅读 · 1 评论