- 博客(53)
- 资源 (14)
- 收藏
- 关注
原创 多智能体系统原理
多智能体系统(Multi-Agent Systems, MAS)的原理基于多个自主智能体(agents)的协作或竞争来解决复杂问题或完成任务。在多智能体系统中,每个智能体都有一定的感知能力,可以对环境进行感知,并且有能力自主地做出决策和执行动作。
2024-04-24 12:09:44
861
原创 System1和System2
System 1 和 System 2 是心理学家丹尼尔·卡尼曼(Daniel Kahneman)在其著作《快思慢想》(Thinking, Fast and Slow)中描述的两种思维模式。这两个系统代表我们大脑处理信息和做决策的不同方式。
2024-04-24 12:01:37
1021
原创 如何理解自然语言处理中的位置编码(Positional Encoding)
位置编码在使用Transformer及其变体进行序列处理任务中是必不可少的,因为它们为模型提供了处理单词顺序的能力。通过有效的位置编码,Transformer能够在全局范围内理解输入序列的上下文,提高模型的性能和灵活性。
2024-04-23 16:50:42
850
原创 自注意力机制中的Query、Key、Value
自注意力机制中的查询(Query)、键(Key)和值(Value)是实现注意力计算的核心组件。这些组件帮助模型确定输入序列中的哪些部分应该获得更多关注。以下是一个通俗易懂的例子,帮助解释Query、Key和Value在自注意力机制中的作用。
2024-04-23 15:54:48
1242
原创 自注意力机制和多头注意力机制之间的区别和联系(形象解释)
将自注意力机制想象为在宾客中寻找哪些人应该坐在一起的策略,而多头注意力机制则是使用多种策略同时进行,以确保从多个角度分析宾客之间的关系。最终,多头注意力机制提供了一种更为复杂和全面的方式来理解和安排每位宾客,以确保晚会的成功。
2024-04-23 15:48:05
420
原创 深度学习中几种常见函数介绍(SoftMax,ReLU,Sigmoid,Tanh)
Softmax函数将任意实数值的向量转换为相同维度的实数值向量,其中每个元素的值处于(0,1)区间内,并且所有元素的和为1。因此,Softmax输出可以被解释为一个概率分布。这些函数各有特点,选择哪种函数通常取决于具体问题的需求、网络架构和所需的数学特性。ReLU及其变体因其简单高效而广泛使用于各种网络的隐藏层,而Softmax、Sigmoid和Tanh则更多地用于输出层,以便于输出解释和概率估计。
2024-04-23 15:26:13
945
原创 深度学习和强化学习的区别
总的来说,深度学习专注于从大量数据中学习表征和模式,通常用于预测型任务;而强化学习关注于如何根据环境反馈进行最优决策,适用于需要连续决策的场景。这两种方法虽有不同,但在实际应用中经常被结合起来,以解决更复杂的问题。
2024-04-23 15:02:00
3792
2
原创 MLP/CNN/RNN/Transformer主流深度学习模型的区别
MLP:最简单的前馈网络,不处理序列数据。CNN:通过局部感受野和参数共享,擅长处理图像。RNN:擅长处理序列数据,但难以捕捉长序列中的依赖关系。:利用自注意力机制高效处理序列数据,解决了RNN的长距离依赖问题,适用于需要复杂关系理解的任务。希望这些解释能帮助您更好地理解这些不同类型的神经网络及其适用场景。如果您有任何其他问题或需要更多帮助,请随时告诉我!
2024-04-19 11:14:39
2014
原创 Neural Radiance Fields (NeRF) 和 3D Gaussian Splatting区别
和是两种用于3D场景重建和渲染的技术。它们都旨在创建高质量的3D图像,但它们的技术原理和应用场景有所不同。
2024-04-18 16:51:48
3517
原创 3D Gaussian Splatting技术原理
是一种用于体积渲染的技术,特别适用于科学和医学可视化。这种技术使得用户能够以一种直观的方式查看和分析三维数据集,如医学成像数据(MRI、CT扫描)或科学模拟数据。
2024-04-18 16:47:44
1265
原创 NLP——序列文本信息处理
通过上述步骤,序列文本信息不仅被转化为适合机器学习模型处理的形式,而且其内在的序列结构和语言特性也被有效地捕捉和保留。这些处理后的序列文本数据可以用于训练各种NLP模型,以完成诸如文本分类、情感分析、机器翻译、问答系统、语音识别后处理等各类任务。序列文本信息处理是指对那些具有明确词序或结构顺序(如句子、段落、篇章等)的文本数据进行专门的分析和转换,以保留并利用其内在的时序或逻辑关系。
2024-04-18 16:18:59
955
原创 Nerf技术原理
Neural Radiance Fields (NeRF) 中的多层感知机(MLP)是核心组件,用于从给定的3D坐标和视线方向预测场景中该点的颜色和体积密度。NeRF的MLP通常是相对简单的全连接网络架构,其设计旨在通过连续函数对3D场景进行编码。这一技术基于深度学习,通过训练一个神经网络来模拟场景的体积密度和颜色分布,实现在新的视角下渲染出高质量的3D图像。NeRF的核心在于使用一个全连接的神经网络(通常是多层感知机,MLP)来表示一个连续的体积场,这个体积场可以对每个空间位置的颜色和密度进行编码。
2024-04-18 16:07:58
661
原创 NLP 文本表征方式
综上所述,文本在NLP中可以通过多种方式进行表征,从简单的离散表示(如One-hot编码)到复杂的分布式表示(如词向量、上下文相关的词向量),再到基于统计和概率模型的主题表示。TF-IDF:给每个词赋予一个权值,该权值结合了词在文档中的出现频率(Term Frequency, TF)和在整个语料库中的逆文档频率(Inverse Document Frequency, IDF),以突出文档中具有代表性的词语。FastText:在词向量的基础上,考虑了子词信息,特别适用于处理形态丰富的语言或未见词汇。
2024-04-18 15:53:00
651
原创 神经网络中正则化和正则化率的含义
正则化通过在损失函数中添加一个额外的项来惩罚模型的复杂度,从而鼓励模型学习更加简单、更加泛化的特征。正则化率(Regularization Rate),也称为正则化参数或权重衰减,是正则化项前的系数,用于控制正则化项的强度。因此,正则化率的选择通常需要通过交叉验证等技术来进行调整,以便找到最佳的模型复杂度和泛化能力之间的平衡。如果正则化率过小,模型可能会过于复杂,导致过拟合,即模型在训练集上的误差很小,但在新数据上的误差较大。如果正则化率过大,模型可能会过于简单,导致欠拟合,即模型在训练集上的误差也较大。
2024-04-18 11:10:46
553
原创 通俗解释卷积神经网络(CNN)或循环神经网络(RNN)的技术原理
当你听到新的句子或单词时,你的大脑会更新它的记忆,并将这个记忆用于理解接下来的内容。这就像是CNN中的卷积层,它使用一系列的“过滤器”(或称为“核”)来识别图像中的局部特征,比如边缘、颜色和纹理。CNN中的池化层就是做这个工作的,它减小数据的空间大小,但保留最重要的特征。长期和短期记忆:有时,你需要记住故事中的某些关键情节(长期记忆),同时也要注意最近发生的事情(短期记忆)。CNN 是一种特别适合处理图像数据的神经网络,它通过卷积层来识别图像的局部特征,并通过池化层和全连接层来进行分类或回归任务。
2024-04-18 11:07:09
907
4
原创 Vulkan和OpenGL比较
在Vulkan中,管线的各个阶段(如顶点着色器、片段着色器、光栅化等)需要在创建时明确指定,而在OpenGL中,管线的许多阶段可以通过即时模式函数在运行时动态设置。总的来说,Vulkan 提供了更低的抽象级别和更高的性能,但要求开发者有更高的专业知识和更多的管理责任。Vulkan 是为了提供更好的性能和更低的驱动程序开销而设计的,它假设程序员对图形硬件的行为有深入的了解。Vulkan 要求开发者显式创建和销毁资源,包括内存管理,这提供了更大的控制权,但也增加了复杂性。
2024-04-15 11:30:13
4610
原创 时空大数据引擎-GeoMesa
GeoMesa是一个开源的地理空间分布式数据库解决方案,它提供了在Apache Hadoop、Apache HBase、Apache Cassandra、Google Bigtable、Amazon DynamoDB和Cloud Bigtable等大数据平台上存储、索引和查询大规模地理空间数据的能力。GeoMesa提供了一个强大的工具集来帮助开发者和数据科学家存储、查询和分析大规模的时空数据集,它通过利用现代大数据技术解决了传统GIS系统在处理大规模数据时的瓶颈。社交媒体数据的地理空间分析。
2024-04-12 10:00:13
948
原创 常见交通微观指标的中英文对照表
行程时间可靠性 - Travel Time Reliability。平均旅行速度 - Average Travel Speed。碰撞次数 - Number of Collisions。停车次数 - Number of Stops。截面流量 - Section Flow。队列长度 - Queue Length。转向流量 - Turning Flow。车流量 - Vehicle Flow。通行时间 - Travel Time。占有率 - Occupancy。排放量 - Emissions。
2024-04-11 18:31:43
264
原创 UE4.26垃圾回收机制初探(二)
上一篇: 《UE4.26垃圾回收机制初探(一)》1.再探GUObjectArray 上一篇我们找到了UE4.26垃圾回收机制中一个很重要的管理队列GUObjectArray(严格地说是一个<Index,Object>对应表)。我们解决了第一个问题:UOBject是如何被引擎添加到管理队列里的。接下来我想探究具体的回收机制,希望能够解决后面的几个问题。 我查了一下GUObjectArray的被引用情况,非常多,可以说大部分与垃圾回收有关的内容都与其有关。在这里我只是想解决一下后面的三个疑
2021-06-30 18:45:43
1072
1
原创 UE4.26垃圾回收机制初探(一)
1.探究初衷 最近在研究UE4引擎,不可避免的遇到垃圾回收机制的学习,在网上看了一堆的介绍之后,依旧云里雾里。主要的疑惑有以下几个:都说UObject会自动回收,可是我们创建的UOBject是如何被引擎添加到管理队列里的;UObject是在何时进行回收的;AddToRoot为何能保证UObject不被自动回收;MarkPendingKill函数又干了什么可以让UObject销毁。2.探究历程 我刚开始猜想应该是在NewObject的过程中进行了某些操作,所以进去看了下,为了方便阅读,直
2021-06-30 17:14:04
885
2
原创 QML WebEngineView加载地图卡顿的原因
最近使用QML的WebEngineView加载地图的时候发现,地图操作非常卡顿,排查的时候发现,是因为主界面上的一个动画(Animation),把动画关掉以后,操作地图就非常流畅了。这块的资料有点少,并不知道为啥,应该是个不bug?权当是给有同样问题的同学提供一个思路吧。...
2019-10-12 11:02:27
1343
1
原创 Linux C++网络编程实例分享——有关结构体、字节对齐、大小端字节序
1.项目背景我需要通过UDP接收GPS设备的位置信息,厂家定义的数据包结构大致如下:数据包头:描述字节数命令标志2版本号2数据体大小4数据体:描述字段类型数据长度设备编号unsigned char10设备类型unsigned char1经度double8纬度doube8设备编号:不足
2019-08-23 13:32:01
935
1
原创 数据结构与算法学习整理(一):二叉树
二叉树分类满二叉树:所有节点都有左子树和右子树,且叶子节点都在同一层上;完全二叉树:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。四种遍历方式 以下图说明几种不同遍历方式的输出:(1)前序遍历 从根节点出发,先左子树遍历后右子树遍历的方式,第一次遇到的节点数据就输出: ABDECF...
2019-07-12 10:51:41
227
原创 Tensorflow学习过程问题整理(TensorFlow版本:1.13.1,Python版本:3.6)
1.代码错误整理(1)Spyder中Python代码运行出错错误信息:Check failed: PyBfloat16_Type.tp_base != nullptr,原因:numpy版本问题解决方法:python -m pip install --upgrade numpy(2)使用keras下载fashion_mnist出错错误原因:无法连接外网,下载不了解决办法:下载数据集到C...
2019-06-18 17:24:49
7933
原创 C++和QML之间传输JSON字符串并解析(适用于传数组或其他复杂参数)
QJsonObject转为QString,发送带此QString的信号,QML中接收到信号后直接用JSON进行解析(QML支持Javascript,自然也支持相应的json解析)。同理,可以在QML中将javascript对象先转换成json字符串,然后传给C++进行解析。这种方法可以用来传输比较复杂的数组参数,之前都是用的QVariantList和QVariantMap,感觉好不方便,所以在...
2019-06-14 15:28:30
6104
1
原创 QML复杂界面下的按键消息处理——解决焦点丢失按键不响应问题
在界面结构比较复杂的情况下,经常会出现按键消息不响应的问题,这里给出一个我的解决方案,首先,我们确定好接收按键消息的对象,比如下面的rootRect。 rootRect接收到按键消息后将其转发给需要处理该按键消息的对象,该例中按键消息传递给了targetPage。Rectangle { id: rootRect color: "#00000000" ...
2019-06-13 16:14:18
3313
原创 OpenLayers5在EPSG:4326下以m为单位画圆
var circleIn3857 = new Circle(transform([121.4659, 31.2], 'EPSG:4326', 'EPSG:3857'), 1000,'XY');var circleIn4326 = circleIn3857.transform('EPSG:3857','EPSG:4326');
2018-12-26 15:28:11
2214
4
原创 OpenLayers5在EPSG:4326投影坐标系下测量长度和面积
ol/sphere里有getLength()和getArea()可以用来测量距离和区域面积,默认的投影坐标系是EPSG:3857, 其中有个options的参数,可以设置投影坐标系。使用时, 可以先把几何图形转换成‘EPSG:3857 ’的投影方式,然后再使用getLength和getArea。也可以设置options参数,下面是代码://地图使用的是EPSG:4326投影坐标系/** * ...
2018-12-25 10:38:39
4224
1
原创 Qt(5.10)连接MySQL(8.0.x)数据库驱动加载不成功
报错是这样的:QSqlDatabase: MYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 这种情况说明程序是可以找到驱动的,但是驱动加载不成功,所以网上大家说的比较多的是驱动不匹配,可参见这篇文章https://blog.csdn...
2018-12-19 15:40:07
2048
3
原创 使用OpenLayers加载离线地图瓦片(天地图标准TMS格式)
地图资源的获取 关于地图资源的获取,这个可以用一些常见的地图下载器进行下载,然后将地图数据导出为需要格式的瓦片,我这里使用的是太乐地图下载器,下载的是上海市地图(2-18级),导出为标准的TMS瓦片,文导出的文件是这样的,数字代表层级,每个文件夹下都是X方向的瓦片文件夹,每个X方向的瓦片文件夹下是Y方向的瓦片。OpenLayers的获取和测试环境 可以在OpenLayers官网上下载需...
2018-12-07 17:15:04
9450
15
原创 使用GDAL对超过2G的大型图片进行分割
问题背景 之前给公司的建模师做过一个切图的小工具,主要功能就是将一张大图切成nn份,每份的像素大小为wh的图像,刚开始是简单地用Qt的QPixmap做的,基本上一两行代码就可以实现。但是后面建模师在切一张3个G大的图片的时候,这个工具就没用了,定位了下问题,QPixmap无法加载超过2G的图片,遂卒。解决方案 后面就找到了GDAL库,过程中参考了两篇博客GDAL关于读写图像的简明总结和使...
2018-12-07 15:09:09
2740
1
原创 基于QtWebEngine的程序编译发布程序注意点
我用的是Qt5.10.1的MSVC2015-64bit版本,程序使用了QtWebEngine库。将程序打包发布后发现打不开程序,看报错是因为QtWebEngine有问题,经过各种研究网上和官方资料后,终于解决,下面是操作:(1)将Qt5.10.1\5.10.1\msvc2015\bin中的Qt5WebChannel.dll、Qt5WebEngine.dll、Qt5WebEngineCore....
2018-11-16 15:51:58
3632
原创 QML中调用C++耗时操作造成阻塞的解决办法
在QML中经常会调用用C++写的比较耗时的操作时,一般会造成界面的卡死。刚开始的时候是想着是不是可以在QML中开辟新线程,一查还真有,WorkerScript。但这玩意儿有点坑的是你不能访问其他对象的属性、方法,官方原文是这样写的: Since the WorkerScript.onMessage() function is run in a separate thread, the Ja...
2018-11-14 12:26:29
3095
原创 Qt里控件自绘的那点事
前言 最近一直在做控件自绘方面的事情,自己设计了一些控件和界面,下面把过程当中的经验记录下来。 现在写界面的话,一种是用C++,一种是用QML,这两种都有用过,所以一并写出来。QWidget中的自绘 在QWidget中做自绘一般就是重写void paintEvent(QPaintEvent * event)函数,然后在这个函数里利用QPainter类进行绘制,在这里提供一段代码:v...
2018-11-14 11:10:21
5673
1
原创 Qt的QTimer在多线程下的操作
Qt的QTimer在多线程下的操作 之前使用Qt的QTimer类主要是用timeout信号来触发执行比较密集的操作,还不会像while(1)那样造成阻塞,所以一直用也没深究太多。最近使用时,却遇到了一个比较头疼的问题; 执行比较密集的操作我一般都是放到一个单独的线程里去跑的,将工作对象moveToThread转到单独的线程,启动工作对象中的计时器,之后就可以跑了,也没考虑到停止的问题。但这...
2018-11-02 12:17:14
7859
原创 关于UDP接收数据:使用boost asio库和使用Qt网络库的比较
使用boost asio库和使用Qt网络库进行UDP数据接收前面的话 之前在进行网络编程时使用的比较多的是Qt的网络库,大部分会使用UDP协议进行传输,刚开始时对性能的要求不高,1s内也就接收50次左右,所以使用时没有出现什么异常。最近做的项目要求达到1s内500次以上的接收频次,此时使用Qt的QUdpSocket进行接收时发现接收过程中会存在大量的丢包现象,刚开始时以为这是UDP传输的正常...
2018-11-02 11:56:33
3338
原创 MySQL远程登录及数据库性能调优
之前整理过一篇Qt下数据库编程基础 :最近在进行单元测试,所以把遇到的一些问题整理出来,主要是关于数据库的1.远程连接数据库连接语句是:mysql -h 192.168.xx.xx(IP地址) -P 3306(端口) -u remoteuser(登录用户名) -p(按回车输入密码)。在连接之前首先要在远端配置一下,我使用的是添加授权用户的方法:下面是允许任意ip地址进行连接,用户名:re...
2018-09-30 12:30:43
856
原创 注册C++单例到QML中出现注册不成功的问题
int qmlRegisterSingletonType(const char *uri, int versionMajor, int versionMinor, const char *typeName, QObject ( ) ( QQmlEngine *, QJSEngine * ) callback)注意了,这里的typeName首字母要大写!!!!!!!!!!!!!!被坑了一下午。...
2018-09-27 14:51:14
734
Linux c++ UDP接收结构体数据实例.rar
2019-08-23
QT下使用的Protobuf(Protocol Buffer)动态链接库
2018-05-16
基于QT和windows api实现的远程桌面控制(包括客户端和服务端)
2018-05-11
live555编译工程完整版
2018-05-08
第12章Qt5多线程
2018-04-12
openscenegraph3.2示例
2018-04-12
高级C++编程英文原版
2018-04-10
qt用户界面设计
2018-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人