在 Mac 上使用 VS Code、Continue 和 Ollama + Qwen2.5-Coder 搭建免费的本地 AI 编程助手
最近 Cursor 这款编程神器如火如荼,吸引了众多开发者的目光。然而,尽管 Cursor 功能强大,其高昂的价格却让许多个人开发者和小型团队望而却步;同时,类似 Cursor 的工具,都是基于云端大模型的,很多对于隐私比较看重的希望更多使用本地大模型的方案。基于上述原因,本文将为 Mac 用户(需要你的电脑配置较高最好是 M 系列芯片才更好)介绍一种基于 VS Code、Continue 插件和 Ollama Qwen2.5-Coder 的本地化开源解决方案,让您以更低的成本体验 AI 编程助手的强大功能。系统环境
macOS Sonoma 14.6.1
VSCode 1.93.1
Continue 0.8.52
Ollama 0.3.11
1. VS...
Swish 激活函数简介
Swish 激活函数是一种在深度学习中广泛使用的激活函数,它最初作为 Sigmoid-weighted Linear Unit (SiLU) 在 GELU 论文中被提出。本文将介绍 Swish 的数学原理及其应用,并通过与其他激活函数的对比,分析其性质。1. 简介
在深度神经网络中,激活函数的选择对模型性能有着重要影响。从 Sigmoid 到 ReLU,再到 GELU,激活函数的发展体现了深度学习领域对非线性变换的不断探索。Swish 作为一个相对较新的激活函数,最初以 Sigmoid-weighted Linear Unit (SiLU) 的形式在 GELU 论文中被提出,后来被 Google...
GELU(Gaussian Error Linear Unit)激活函数简介
GELU 在深度学习领域,特别是在 BERT、GPT 等大型语言模型中有比较多的应用。本文介绍了 GELU(Gaussian Error Linear Unit)激活函数的理论和应用。从概率论视角出发,推导了 GELU 的数学形式及其导数,并通过与 ReLU、ELU 等经典激活函数的对比,分析了 GELU 的特性。1. 简介
在深度学习的发展历程中,激活函数扮演着至关重要的角色。从早期的 Sigmoid 到广泛使用的 ReLU,激活函数的选择直接影响着神经网络的性能。GeLU (Gaussian Error Linear Unit) 作为一种新型激活函数,在多个领域都展现出了优异的性能,并在 BERT、GPT 等大型语言模型中得到广泛应用。
概率视角
从概率视角看,GELU...
论文笔记:ASLFeat: Learning Local Features of Accurate Shape and Localization
本文是基于 D2-Net 的进一步改进,主要创新点如下:
1)使用 Deformable Convolution 来进行稠密的变换估计和特征提取
2)使用特征金字塔适应空间分辨率以及使用 low-level 细节来进行精确的特征点定位
1 Methods
1.1 Prerequisites
本文的网络设计基于以下两个工作:DCN 和 D2-Net,首先回顾这两个工作的主要思想:
Deformable convolutional networks (DCN)可变形卷积 (Deformable Convolutional Networks, DCN) 的目的主要是学习动态感受野,对于传统卷积来说,其公式为:
其中 代表卷积的中心点坐标, 代表卷积 范围内的偏移量,...
论文笔记:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF 是 ECCV 2020 的 Oral,影响非常大,可以说从基础上创造出了新的基于神经网络隐式表达来重建场景的路线。由于其简洁的思想和完美的效果,至今仍然有非常多的 3D 相关工作以此为基础。
NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。为了实现这一目的,NeRF 使用用神经网络作为一个 3D 场景的隐式表达,代替传统的点云、网格、体素、TSDF 等方式,通过这样的网络可以直接渲染任意角度任意位置的投影图像。NeRF 的思想比较简单,就是通过输入视角的图像每个像素的射线对于密度(不透明度)积分进行体素渲染,然后通过该像素渲染的 RGB 值与真值进行对比作为 Loss。由于文中设计的体素渲染是完全可微的,因此该网络可学习:其主要工作和创新点如下:
1)提出一种用 5D 神经辐射场 (Neural...
IROS 2021 THE HILTI SLAM 挑战赛冠军算法回顾
近日我们团队参加的 IROS 2021 The HILTI SLAM 挑战赛获得了最终的冠军。本文是对于本次比赛的算法的实验和思考,版权所有:旷视科技。原文链接:https://zhuanlan.zhihu.com/p/420192586
近日,IROS 2021 The HILTI SLAM 挑战赛公布了竞赛结果,旷视研究院荣获此次挑战赛的冠军。这是继去年包揽 CVPR 2020 SLAM 挑战赛全部赛道的冠军后,旷视研究院再次获得顶会 SLAM 竞赛的冠军。
2021 HILTI SLAM 挑战赛是国际顶级会议——智能机器人与系统国际会议(IEEE/RSJ International Conference on Intelligent...
论文笔记:End-to-End Learnable Geometric Vision by Backpropagating PnP Optimization
本文针对传统 PnP 方法与深度学习的结合做了一些工作,整体思路比较简单,主要就是怎么把传统方法 PnP 的残差反向传播给神经网路,从而能够实现 End2End 的训练,以及无需给定数据关联下的计算(Blind PnP)。
1 Backpropagating a PnP solver (BPnP)
首先用数学语言描述 PnP 问题。
定义 g 是一个 PnP solver,其输出 y 是求解的 6DoF 姿态:
其中 x 代表特征点在图像上的...
CVPR 2021 Image Matching 挑战赛双冠算法回顾
借之前我们给公司提供的文章,总结一下前一段时间参赛的一些实验和思考。本文版权所有:旷视科技。原文链接:https://www.zhihu.com/question/32066833/answer/2041516754
Image Matching (图像匹配)是计算机视觉领域最基础的技术之一,它是指通过稀疏或者稠密特征匹配的方式,将两幅图像相同位置的局部信息进行关联。Image Matching 在很多领域均有广泛应用,比如机器人、无人车、AR/VR、图像/商品检索、指纹识别等等。
在今年刚刚结束的 CVPR 2021 Image Matching 比赛中,旷视 3D 组获得两冠一亚的成绩,本文介绍了他们的比赛方案、实验和一些思考。比赛介绍
图像匹配是指将两幅图像具有相同或者相似属性的内容或结构进行像素上的识别与对齐。一般而言,待匹配的图像通常取自相同或相似的场景或目标,或者具有相同形状或语义信息的其他类型的图像对,从而具有一定的可匹配性。
Image Matching Challenge本次 Image Matching Challenge(IMC) 比赛还是分为两个赛道 unlimited keypoints 和 restricted keypoints,即每张图片可提取特征点数量分别小于 8k 和...
论文笔记:Linear Attention Mechanism: An Efficient Attention for Semantic Segmentation
由于经典的 Dot product Attention 具有较大的空间和时间复杂度,虽然效果很好,但由于图像和视频输入的数据量经常比文字大很多,这种经典的 Attention 限制了在高分辨率图像中的应用。本文提出了一种线性的 Attention 模块,希望能够解决这样的问题同时在性能上不会有明显的损耗。
本文主要贡献点有:
1)提出了一种新的线性化 Attention 方式,能够将计算复杂度从 降低到
2)该 Attention 机制使得 Attention 与网络的结合更加通用和灵活;
3)在语义分割任务中,该 Attention 机制的引入在多种 baseline 上获得了性能提升。
1 METHODOLOGY
A. Definition of Dot-Product Attention
给定一个输入的特征向量 ,其中 代表特征长度, 代表特征维度。那么 Dot-Product Attention...
Policy Gradient (策略梯度)
Policy Gradient (策略梯度) 是强化学习中的基础概念之一,在很多工作中都会使用(特别是对于可微化的工作)。本文内容主要来自于台大李宏毅的教学课件。
下载地址:1636956663-PPO (v3)
1 Policy of Actor
1.1 基本概念
强化学习是根据环境观测、自身动作以及反馈来学习网络的一种方式。它通常有以下一些概念:Policy 用 表示,它是一个深度神经网络,网络的参数为
Actor 用 表示,它是我们可以控制的动作。比如对于上面的游戏例子来说,我们每一步可以选择 left right fire 三种动作。它就是 Policy Gradient 学习的对象
Environment 表示环境,这是我们无法改变的。我们仅能对其进行观测 Observation
Reward 用 表示,它是我们采用动作后从环境获得结果。比如对于上面的游戏的例子来说就是当前获得的分数。
State 用 表示,它是我们当前所处的状态
Trajectory 用 表示...