Frank
每一个不曾起舞的日子,都是对生命的辜负。
Und verloren sei uns der Tag, wo nicht einmal getanzt wurde!
—— 尼采《查拉图斯特拉如是说》
- 2026 · 06 · 05
如何系统化地迭代自己
Karpathy 讲如何成为专家、费曼讲如何检验真懂,本质是同一件事:用输出检验输入。这篇把「先做项目、再补理论、只跟过去的自己比」这套方法对应到神经网络的训练循环——Forward 是先动手,Loss 是和理想结果的差距,Backward 加梯度下降是复盘改进。人和网络最大的不同是面对大 Loss 会痛,所以关键是把「批判行为」和「否定价值」拆开:梯度下降只更新参数(行为、技能),别去炸掉架构(你是谁)。最后两个技巧:把错误序列化地写下来,然后立刻进入下一轮,别反复 Backward 同一个样本而过拟合。
- 2026 · 06 · 03
Go 并发编程常用模式模板
一份可直接套用的 Go 并发参考。从「共享变量加锁、Once、channel、Pub/Sub」到「select/Actor、pipeline/fan-out/worker pool、context、errgroup」,每个模式给出何时用、模板代码与关键陷阱,最后用一张速查表收口:能不共享就用通讯,必须共享就用最简单的同步包起来,每个 goroutine 都要有明确的退出路径。
- 2026 · 05 · 27
我的 Claude Code 实践
用 Claude Code 快一年了。作为最早的一批用户,这一年里 Claude Code 和模型本身都进步巨大。这篇分享一些「写代码之外」的用法和心得:常驻家用主机 + Tailscale + tmux 的工作流;用大仓库 + submodule + OpenAPI 管理前后端;用树状结构的需求做 Deep Research;整理长对话、整理乱糟糟的桌面文件;以及用它画 SVG、处理图片、用 Remotion 做视频等等。
- 2026 · 05 · 19
理性是激情的奴隶
休谟说,理性是、也应当是激情的奴隶。把这句话翻译成今天软件工程师熟悉的语言:情感是机器指令集,是 CPU 真正执行的东西;理性是高级语言,必须被编译之后才能跑。任何理性推理,最终都会落到某个你在乎的东西上。一个好系统先用高级语言搭框架,再 profile 出热点、把那一小部分手工优化到贴着硬件跑。把同样的架构搬到人生上:用理性构建大框架,用热爱驱动高频日常。
- 2026 · 05 · 17
杠铃策略以及对个人成长的启发
塔勒布的杠铃策略:把资源极端地放在两端,主动避开中间地带。这个想法最早被用来谈投资,后来被引申到阅读、职业,甚至人生规划——它的核心从来不是「在两端各放多少」,而是承认这个世界本质上是不确定的,先确保自己活得下去,再去争取那些有可能带来跃迁的机会。
- 2026 · 05 · 09
香港的山 — 一份步道、历史与城市记忆的徒步地图
100 公里的麥理浩徑、唱了五十年的獅子山、八仙嶺烧不完的春风化雨亭——香港 70% 是郊野公园,每一条山径都串着一段制度史、一首老歌或一场战争。10 条路线 × 历史 × 文化。
- 2026 · 05 · 09
思想诞生的地方 — 一份欧洲哲学的朝圣地图
雅典学园、多瑙河军营、波尔多塔楼、乌尔姆暖炉房、Sils-Maria 巨石、黑森林小屋——把 12 部哲学经典放回它们诞生的具体房间、城市与风景里。
- 2026 · 04 · 11
读书笔记:币安人生
花两天读完了赵长鹏的自传《币安人生》,不混币圈但对CZ的传奇经历一直很好奇——卖房All-in比特币、华人首富、玩币归赵、美国蹲监狱,记录一些感悟。
- 2026 · 04 · 06
生存、竞争与自由
人做事会经历三个阶段:生存阶段由本能驱动,竞争阶段被对手定义坐标系,而真正进入自由,面对的是一片没有指南针的旷野。没有价值观的自由是痛苦的牢笼,有价值观的自由才是最强大的引擎。张朝阳和马斯克是两个最典型的样本。
- 2026 · 02 · 15
自媒体商业模式分析
自媒体可能是当下普通人手里最大的杠杆——门槛低、上限高、分发零边际成本。从商业模式的角度拆开来看,自媒体本质上只有三种活法:直接卖内容、帮别人卖货、帮自己卖货
- 2026 · 02 · 01
压缩的边界
知识可以分为两类:可被序列化的 Techne,与依赖情境、试错与身体的 Metis。AI 擅长压缩前者,却触碰不到后者——这正是它能力的边界。当标准化的工作被快速替代,那些无法被压缩的经验反而会变得更稀缺。
- 2026 · 01 · 23
读书笔记:科技共和国
Palantir的CEO Alex Karp在2025年发布了一本新书《科技共和国》,年底在中国内地也发行了,第一时间买来读了一下,书中的观点代表了美国硅谷的右翼思潮,而且现实的美国政治中也随处可见这本书的影子
- 2025 · 12 · 21
大模型背后的数据供应商 - Surge AI
第一次知道Surge AI这家公司是看到Edwin Chen的播客访谈,正值他们第一次出来融资,Edwin极其务实高效的观点让人印象深刻
- 2025 · 12 · 19
豆包AI手机背后的VL模型
根据公开报道,豆包AI手机使用的模型是基于UI-TARS在手机上优化的闭源版本,UI-TARS是在阿里的Qwen2 VL上做SFT得来的,目前开源了7b的版本(Qwen2 VL开源了3b-72b的模型)。这里不再多介绍Qwen(Qwen2 VL其实也已经有了UI Operation的功能),主要关注UI-TARS模型在Qwen2 VL上的进一步改进,分数据和训练两部分。
- 2025 · 10 · 15
LLM 推理全过程的维度变化与核心公式
以 Llama 3 8B 为底,把 token ID → embedding → Transformer → 采样整条推理路径的维度流转与核心公式默写一遍。
- 2024 · 04 · 04
使用 UTM 标签来分析流量来源
推广通常会同时跑多条渠道:cold email、Google 广告、Twitter、SEO、社区。如果不在链接里打标签,GA 没法把它们分开。这篇把 UTM 五个参数讲清楚,并给出十几个真实的命名案例。
- 2024 · 03 · 21
jenni.ai 的冷启动与增长策略
Jenni.ai 是一个辅助论文写作与阅读的 AI 工具,目前收入已达 \$5M ARR、用户 2.5M 并仍在高速增长。它早年其实是做 SEO 写作的,几乎活不下去,后来收窄到学术写作才起死回生。CEO David Park 很诚恳地分享过他们从 0 到几百万美金的增长路径——从 cold call、混群、到 TikTok 病毒式增长——很多地方值得学习。
- 2024 · 03 · 03
startup 的相关福利
系统梳理一下国外大厂给 startup 的福利,云、AI token、银行、SaaS 工具一并覆盖。重点标注哪些不需要 VC 背书也能直接申请。
- 2023 · 04 · 15
双月湾:累了就来这里躺平看海
从深圳出发两小时就能到的惠州双月湾,是一个适合躺平的地方:在民宿阳台上看海上日出,在沙滩放烟花、撸串,吃比深圳便宜不少的海鲜,再登上观景台看两道弯弯的海岸线如何拼成"双月"。附一份两天一夜的具体行程。
- 2023 · 02 · 11
香港郊野径:行走在山脊与万柱海岸
香港不只有维港和庙街。从深圳过关,半个白天就能走进它的另一面——风化的山脊、武功山般的高山草甸、独享的无人沙滩,以及侏罗纪火山留下的万柱海岸。这篇汇集四条郊野徒步线:杯灵双渡、鸡公岭、蚺蛇尖、破边洲。
- 2022 · 12 · 10
中山+江门:走进《狂飙》《让子弹飞》的取景地
把中山和江门串成一条周末线路:三十三墟街还原《狂飙》的旧厂街,梅家大院是《让子弹飞》的鹅城,中山影视城一张门票拍遍多国风情,再加上狮头山和丫髻山两段轻徒步。一份给影迷和爱出片的人的实地体验。
- 2022 · 11 · 12
大鹏半岛:最干净的海与最美的海岸线
在深圳这样的大都市边上,竟藏着这么原生态的山海。东西涌、大雁顶、大鹿港、鹿嘴山庄人鱼洞、深圳天文台——大鹏半岛五个我反复去过的地方,从硬核徒步到适合带长辈的海边漫步。
- 2022 · 10 · 15
深圳城区:下班和周末的几个去处
不用出远门,深圳市区就藏着不少值得一去的地方:下班爬塘朗山追日落、红树林公园看太阳沉入海平面、坐大湾区一号游轮海上听歌看海、去弘法寺祈福逛仙湖植物园、夜爬梅沙尖俯瞰盐田港。
- 2022 · 08 · 13
武功山:云上的高山草甸
武功山在江西萍乡,最出名的就是连绵的高山草甸,夏天是绿色草原,冬天更容易看到云海。这篇记录一次从深圳出发的三天两夜:坐缆车上山避开千米爬升,走盘山栈道、看日出,在山顶住一晚,顺便赶上一场草甸上的篝火音乐节。
- 2021 · 06 · 12
NCNN 峰值内存实测:MobileNet 逐层分析
想搞清楚一个模型推理时到底占多少峰值内存,用 NCNN 在 x86 上对 MobileNet 做逐层实测,横向对比多个网络,并分析 light_mode、fp16、int8 对峰值内存的影响,以及「峰值内存」定义本身的差异。
- 2021 · 04 · 18
ML System 设计全景:推理、训练、数据与部署
斯坦福 CS 329S《Machine Learning Systems Design》的课程笔记:推理与学习方式、数据存储与特征管理、采样与类别不平衡、并行训练与系统测试、实验管理工具到模型部署,一张 ML 系统的工业落地全景。
- 2021 · 04 · 12
深度学习训练与推理的性能分析(Profiling)
训练和推理的性能瓶颈往往看不出来,得靠 profiling 定量分析。记录训练阶段(数据加载、前向、反向的耗时分解)和推理阶段分别用到的 profiling 方法。
- 2021 · 02 · 07
卷积神经网络剪枝:确定方案、动手剪、再微调
剪枝就是给训练好的网络做减法。它能拆成三步:先决定每一层剪多少(靠经验、靠敏感度分析,或像 AMC 那样用强化学习搜),再动手剪(非结构化的权重稀疏与「彩票假设」,结构化地按 L1/L2 范数、几何中位数 FPGM、BN 的 γ、特征图的秩 HRank 等准则剪掉整个滤波器),最后微调把精度补回来。也可以干脆一边训练一边剪——Slimmable Networks 与 AutoSlim。
- 2021 · 02 · 01
训练技巧拾遗:重参数化、标签平滑与 Dropout
几个零散但实用的训练技巧。重参数化(ACNet / RepVGG / RepMLP)在训练时加额外支路帮助优化,推理时再把它们融合回原结构,等于白赚一点精度而不增加推理开销;另外还有权重 EMA、Shake-Shake、标签平滑(label smoothing)和 Dropout——几样防过拟合、提泛化的常用招式。
- 2021 · 01 · 30
知识蒸馏:让小网络模仿大网络
知识蒸馏是提升小网络精度、加速收敛的常用方法,也常用于压缩或 NAS 之后小模型的微调。核心思路很直接:把高精度「教师网络」的输出当作「学生网络」的软标签,让学生模仿教师。这篇梳理几种代表方法——带温度的经典蒸馏、FitNets 的中间层 hint、FSP 矩阵、助教网络(TAKD),以及让两个网络互相学习的 DML。
- 2021 · 01 · 24
图像数据增强:从随机裁剪到自动增强
数据增强是计算机视觉里防止过拟合的常规操作。这篇先过一遍常用的图像增强——random resized crop、cutout、random erase、mixup——再讲自动化的 AutoAugment 与 Fast AutoAugment(我当年用后者拿过 AutoDL 竞赛图像赛道的冠军),最后补一句测试时增强(TTA)。
- 2021 · 01 · 18
类别不平衡怎么办:重采样、加权与集成
现实里的数据很少像公开数据集那样规整,正负样本极度不均衡是常事。处理类别不平衡主要有三招:重采样(对多数类欠采样,如 Tomek Links;对少数类过采样,如 SMOTE)、给不同类别或难易样本加权(Focal Loss),以及集成(Bagging)。
- 2020 · 12 · 12
深度学习调参:从手动炼丹到自动搜索
调参在深度学习里既玄学又关键,以至于训练常被戏称为「炼丹」、工程师自称「调参侠」。这篇先讲手动调参的要点——batch size 与学习率怎么联动、SGD/动量/Adagrad/Adam 各自的更新公式、学习率的 warmup 与衰减、权重衰减的小技巧;再讲自动超参数优化(HPO):网格/随机搜索、进化算法 CMA-ES,以及最省样本的贝叶斯优化(高斯过程 + 采集函数),还有 NNI、RAY 这些现成工具。
- 2020 · 12 · 06
紧凑网络结构设计:把卷积拆开
为了在移动端低时延、低内存地跑起来,一批紧凑网络被设计出来。这篇梳理它们的设计思路:MobileNet 把标准卷积拆成深度可分离 + 1×1 卷积(FLOPs 最多降到 1/9);ShuffleNet 的分组 1×1 卷积 + channel shuffle;MobileNetV2 的 inverted residual;ShuffleNetV2 从访存开销(MAC)出发的四条设计准则;以及 MobileNetV3 的 h-swish、EfficientNet 的复合缩放、GhostNet 的廉价特征生成。
- 2020 · 12 · 01
卷积网络结构演进:从 LeNet 到 SENet
顺着 ILSVRC 的时间线,把卷积神经网络结构的几个里程碑串一遍:1998 年的 LeNet-5、2012 年点燃深度学习的 AlexNet、引入多分支 Inception 模块的 GoogLeNet、更深的 VGG、带来 Batch Normalization 的 Inception、用残差连接训练上百层的 ResNet,以及引入通道注意力的 SENet。
- 2020 · 11 · 15
怎么衡量一个神经网络的「好」与「快」
优化的前提是测量——If you can not measure it, you can not improve it。一个神经网络的性能其实分两条线:面向任务的精度(分类的 Top-1、检测的 mAP、分割的 mIoU、复原的 PSNR)和面向效率的开销(时延、FLOPs、参数量、峰值内存)。这篇把这些指标的定义、计算方式,以及 FLOPs 为什么常常骗人(DenseNet161 比 VGG16 慢一倍多)一次讲清。
- 2020 · 11 · 03
PyTorch训练加速的量化分析
本文从一个baseline出发,通过软件+硬件各种方法逐步对训练速度进行优化,最终将训练时间减少为1/8
- 2020 · 02 · 29
自动化数据增强方法综述笔记
自动化数据增强三篇综述笔记:AutoAugment 用强化学习搜索增强策略、RandAugment 大幅压缩搜索空间、Fast AutoAugment 用策略合并加速搜索。
- 2019 · 12 · 31
AutoDL 图像竞赛调参实验记录
AutoDL 图像分类赛道(Pedro 数据集)的调参实验流水账:ResNet18 / 34 backbone、CELU 替 ReLU、重置 BN 与 Group Norm、FP16 混合精度、ReID / 行人属性预训练,以及线上数据 reshuffle 等一系列对照实验。
- 2019 · 12 · 01
神经网络架构搜索(NAS)中的milestones
神经网络架构搜索(NAS)今年也是火的不行,本文简单梳理一下个人觉得比较有代表意义的工作,如果有错误或者遗漏欢迎大家指出hhhh
- 2019 · 08 · 12
在深度学习中喂饱gpu
前段时间训练了不少模型,发现并不是大力出奇迹,显卡越多越好,有时候1张v100和2张v100可能没有什么区别,后来发现瓶颈在其他地方,写篇文章来总结一下自己用过的一些小trick
- 2019 · 07 · 10
CVPR 2019 神经网络剪枝三篇笔记
CVPR 2019 三篇剪枝论文的核心思路——Variational Pruning 用概率分布估计 channel saliency、Importance Estimation、Cascaded Projection 端到端压缩加速,附当天的实验进展。
- 2019 · 07 · 09
Progressive 剪枝:打破 Train-Prune-Finetune 范式
主流剪枝是 train-prune-finetune 三段式。这篇笔记梳理 progressive 剪枝的想法:用层间相对统计信息指导非均匀剪枝,把每轮剪掉的 channel 数类比成学习率,逐步逼近而非一次裁定。
- 2019 · 07 · 01
动态网络推理:早停与动态 Channel 剪枝的设计思考
从一次 sensitive 剪枝实验出发,思考动态推理网络的设计:FLOPS 为什么靠不住、放弃多网络动态转向单网络动态、每个 block 后接分类器做早停、动态 channel 选择如何与剪枝结合。
- 2019 · 05 · 23
模型剪枝算法综述笔记
把一批模型剪枝论文按预定义结构化(L1、ThiNet、LASSO)、自动结构化(Network Slimming、SSS)和其他(AOFP、NISP、SNIP、Autopruner)三类整理,并讨论「预定义结构直接 scratch 训练即可」这一引发思考的结论。
- 2019 · 05 · 09
MobileNetV3 与 Lottery Ticket Hypothesis 笔记
两篇笔记:MobileNetV3 在 MnasNet 种子结构上做 NetAdapt 微调与头尾 / 激活函数改动,属工程微调;Lottery Ticket Hypothesis 主张大网络里藏着可单独训练的稀疏子网络,并与《Rethinking the Value of Network Pruning》对照。
- 2019 · 05 · 06
DoReFa-Net 低比特量化训练笔记
DoReFa-Net 把权值、激活值和梯度分别做低比特量化,让训练和推理的大部分计算落到位运算层面。从位运算与点乘的关系、STE 直通估计器,到三者各自的量化方式、整体算法流程与推理融合优化。
- 2019 · 04 · 24
pix2pix:用 cGAN 做图像翻译的通用框架
pix2pix 用条件 GAN 做通用图像翻译——同一套结构换数据集就能迁移。为什么不直接用 L1 / L2(只能学低频、结果发糊)、用 PatchGAN 建模高频、噪声输入与随机性、BN 的用法。
- 2019 · 04 · 23
GAN 训练稳定性:Improved Techniques for Training GANs 笔记
《Improved Techniques for Training GANs》笔记:GAN 训练本质是在高维非凸博弈里找纳什均衡,难收敛。逐一记录 feature matching、minibatch discrimination、historical averaging、单边 label smoothing、virtual BN,以及 Inception Score 与半监督用法。
- 2019 · 04 · 18
NAS 与模型剪枝的原创想法集锦
在 NAS 和模型压缩方向积攒的一批零散想法,从搜索策略(MCMC、贪心线性结构)、剪枝、动态推理到自适应推断,集中整理成一份可挑选做实验的清单,附 AutoML Survey 的阅读笔记。
- 2019 · 04 · 16
OctaveConv:用频域分解减少卷积冗余
OctaveConv 的切入点不是参数量而是 feature map 的冗余——把特征图按低频 / 高频分解,用超参 α 控制比例,低频部分以更低分辨率存储与计算。参数量不变,计算量下降。
- 2019 · 04 · 11
CV 中几种 Attention 机制横向对比,附 Single-Path NAS 笔记
把 CV 里几种 attention 机制横向对比:SENet 对 channel 加权、Non-local 对空间像素做 self-attention、CBAM 串联两者、DANet 面向分割的双路 attention,附 Single-Path NAS 把多路径搜索压缩成单路径的笔记。
- 2019 · 04 · 10
资源受限 NAS:用次模优化理解贪心搜索的合理性
资源受限下搜精度最高的网络是 NP-hard。这篇论文把 NAS 套进组合优化里的次模优化框架,用贪心算法拿到近似保证,并进一步节省计算量——用理论解释了贪心搜索为什么合理。
- 2019 · 04 · 07
随机连线神经网络:用图论替代 NAS 的新思路
Kaiming He 等人用随机图生成器(ER / BA / WS)直接生成网络的连接方式,连筛选都省了——同一组生成器参数下不同随机种子的性能方差极小。记录三种随机图算法、网络整体结构里保留的人工先验,以及 ImageNet / COCO / 鲁棒性实验。
- 2019 · 03 · 30
生成模型综览与图像分类训练技巧清单
两份笔记合在一起:一份是生成模型的基本脉络(PixelRNN / CNN、AE / VAE、GAN),一份是图像分类的训练技巧清单(训练、数据增强、验证)。放一起是因为生成模型的正则化与稳定性思路和判别式训练有不少互通。
- 2019 · 03 · 28
Dataset Distillation:把整个数据集压缩成几张图
数据集蒸馏把整个数据集压缩成每类几张合成图加一个学习率,少量迭代就能逼近完整训练的精度。按论文的五个阶段(固定 / 随机初始化、线性模型分析、多步梯度、不同初始化分布)逐步拆解。
- 2019 · 03 · 21
Auto-DeepLab 阅读笔记:NAS 搜索空间的本质反思
Auto-DeepLab 把 NAS 从分类迁到语义分割,除了搜 cell 内部结构,还同时搜索 cell 之外的宏观网络拓扑。借这篇论文反思一下 NAS 搜索空间的本质,以及一个可能的研究方向。
- 2019 · 03 · 19
ResNet 训练 Bag of Tricks 精读笔记
《Bag of Tricks for Image Classification》把一堆训练技巧叠在一起,把 ResNet-50 在 ImageNet 上的 Top-1 从 75.3 拉到 79.29。逐章记录 baseline 流程、面向新硬件的大 batch / warm-up / FP16,以及 cosine 衰减、label smoothing、知识蒸馏、mixup 等改良。
- 2019 · 03 · 12
MobileNetV2 精读笔记:Inverted Residuals 与 Linear Bottlenecks
MobileNetV2 精读:为什么要在低维 bottleneck 处去掉 ReLU、inverted residual 结构、扩展率的选取、整体网络与 ReLU6,核心是在 accuracy / FLOPs / latency 之间做平衡。
- 2019 · 02 · 23
DARTS 与 ProxylessNAS 论文笔记
DARTS 用 softmax 把离散的操作选择松弛成连续混合,对结构参数求梯度;ProxylessNAS 针对其显存瓶颈改用二值化路径采样、直接在 ImageNet 上搜索,并把硬件 latency 建模成可微目标。两篇放在一起读,能看清可微 NAS 从「省搜索成本」到「省显存、贴硬件」的演进。
- 2018 · 11 · 22
Learning to Push by Grasping: Using multiple tasks for effective learning
目前end-to-end的学习框架在机器人控制的领域内变得流行起来,这些框架的直接输入是状态/图像,然后直接输出预测的扭矩和动作参数。但是由于其对于数据的大量需求而受到了批判,并兴起了对于其可扩展性的讨论,即end-to-end的学习方式是否需要为每一个任务都单独建立一个模型?从直觉上来说任务间的共享是有帮助的,因为其对环境都需要有一些共同的理解。在该论文中尝试了数据驱动的end-to-end学习框架的下一步,即从特定任务的模型到多机器人任务的联合模型,得到了令人惊讶的结果:在同样数据量下多任务学习的效果要优于单任务学习。比如说对于grasp任务,2.5k的grasp数据+2.5k的push数据训练下的模型的表现要优于5k的grasp数据训练下的模型。
- 2018 · 11 · 17
Playing Atari with Deep Reinforcement Learning
这篇论文是Volodymyr Mnih在nips2013上的一篇论文,差不多是DQN的开山之作,另一篇是nature2015年的论文
- 2018 · 11 · 02
dataset-cityscapes
cityscapes通常被用作语义分割,里面的数据一共分为8个category,其中包含一个名为void的category,每个category中又有多个class,cityscapes一共有30个class,但是cityscapes编号过后的label一共有35种,其中也包含unlabeled等并没有算作class的label。
- 2018 · 10 · 30
Efficient Dense Modules of Asymmetric Convolution for Real-Time Semantic Segmentation
之前的用于segmentation的网络要么速度比较慢,要么精度比较低,这里设计了一种EDANet模块,将asymmtric conv,dilated conv,dense connectivity相结合。在各个方面上都比FCN要好,并且不具有decoder structure,context module,post-processing scheme和pretrained model。在cityscapes和camvid上做了实验。
- 2018 · 10 · 22
Darts: Differentiable Architecture Search
这篇论文旨在挑战结构搜索,通过将该任务定义成一个可微分的形式,而不是像传统的做法:在离散的不可微分的空间中利用增强学习来实现结构搜索。该方法基于结构表示的连续松弛,允许使用梯度下降等高效的方法进行结构搜索。后续实验表明该算法在探索高性能的用于图像识别的CNN结构和语言建模的RNN结构上都有良好的表现,并且比现有的state-of-the-art非微分结构要快得多。
- 2018 · 10 · 15
Compressing Neural Networks with the Hashing Trick
深度网络在移动设备上应用越来越多,一个dilemma变得越来越明显:深度学习的趋势是开发能够吸收更大数据集的模型,然而移动设备的存储空间有限,不能存储过大的模型,这里提出了一种HashedNets,通过减少神经网络的内部固有冗余来实现模型尺寸的减少。HashedNets利用一个低开销的哈希函数来将连接权重随机分组进不同的哈希桶,而同一个哈希桶里面的所有连接都使用同一个参数值,这些参数在标准的反向传播过程中被进行调整。这个哈希过程不会引入额外的内存开销。在不同的benchmark数据集上性能说明HashedNets可以在保留泛化性能的基础上明显减少存储需要。
- 2018 · 10 · 11
ShuffleNetV2
现在很多的网络设计在计算复杂度方面都只考虑了非直接度量(比如FLOPs),而对于直接度量(如速度等)并不只是由FLOPs来决定的,包括MAC(内存访问消耗)和平台特性都对速度有一定的影响。本文意在特定平台下进行直接度量,比仅仅考虑FLOPs要更好,并且在基于一系列控制实验下提出了一些对于高效率网络的指导准则,根据这些准则提出了ShuffleNetV2这样一种新的网络结构,全面的ablation experiments表明该模型在性能和精度的权衡上达到了state-of-the-art。
- 2018 · 10 · 10
ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
本文介绍了一种很高效的网络ShuffleNet,其主要在于pointwise group conv和channel shuffle两种操作,可以在维持精度的时候大量减少计算消耗,在ImageNet和COCO上面的表现都超过了之前的网络
- 2018 · 10 · 04
MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
针对移动和嵌入式视觉应用,本文提出了一种高效的模型称之为MobileNets,基于depthwise separable convolutions构造的一种轻量级神经网络。该模型使用两个超参数来平衡准确率和延迟,并针对二者的平衡在ImageNet上做了广泛的实验,与其他模型相比展现出了强大的性能。并通过实验展现了ImageNet在各种应用上的强大之处,包括目标检测,精细化分类,人脸属性和大范围地理定位等。
- 2018 · 09 · 28
InceptionV4总结
近些年,非常深的卷积神经网络在提升图像识别的性能表现上具有最大的促进作用。而Inception网络结构在具有很好的性能的同时还具有相对较低的计算消耗。最近的残差连接与传统结构的结合在2015 ILSVRC上取到了最好的结果,与InceptionV3的效果相近。考虑将Inception网络与残差连接相结合,充分的证据表明残差连接可以很大程度上加速Inception网络的训练,同样也有证据表明残差连接的Inception相比不带残差连接的几乎同样计算量的Inception网络性能要稍有优势。本文也提出了一些新的残差连接和不带残差连接的Inception网络,这些改变同样也明显改善了2012 ILSVRC的单帧分类性能。最后还提到了利用合适的激活缩放可以使非常宽的残差连接Inception网络的训练变得更加稳定。
- 2018 · 09 · 21
关于向量与矩阵的求导
机器学习的算法中会遇到大量的与矩阵相关的微分与求导,在这里介绍一些常见的矩阵和向量相关的求导公式。
- 2018 · 09 · 14
动态规划中股票问题的通用解法
有一类动态规划的问题是给定一个股票价格序列,然后计算买卖股票所能获得的最大收益,这类问题通常有很多变种,例如只允许交易一次,允许交易多次或者增收交易税等。即问题的最大收益通常由交易的时间和允许的最大交易次数(每次交易指一次买与一次卖的一个组合)决定的。
- 2018 · 08 · 31
凸集的定义与常见凸集
与前文讨论的只含等式约束的优化问题求解类似,含不等式约束的优化问题同样可以用拉格朗日乘子法进行求解
- 2018 · 08 · 24
SVM的推导(3)
前文介绍了硬间隔SVM的相关推导,本文将继续介绍软间隔SVM的数学推导,即在样本不是线性可分的情况下,允许一部分样本错误分类的SVM
- 2018 · 08 · 18
SVM的推导(2)
上一篇文章(1)我们讨论了硬间隔SVM的推导及其对偶形式,其对偶问题可以化简成以下形式
- 2018 · 08 · 10
SVM的推导(1)
SVM是机器学习中的一种经典方法,除了硬间隔SVM之外,还包括软间隔SVM,核技巧等SVM的变种,本文主要介绍**硬间隔SVM** 的推导。
- 2018 · 07 · 26
求解线性方程组(3)
这里所介绍的伪逆是**Moore-Penrose逆矩阵**
- 2018 · 07 · 21
求解线性方程组(2)
上一篇博文介绍了线性方程组的情况之一,即未知数数量小于方程个数的情况,介绍了最小二乘法,在本文中将介绍线性方程组的另一种情况,即方程个数小于未知数数量的情况,此时方程组有无限多的解,但是最接近原点的解,即范数最小的解只有一个,也就是这里将会介绍的线性方程组的**最小范数解**。
- 2018 · 07 · 20
207. Course Schedule
该题目利用DFS和BFS来判断某个图是否能进行拓扑排序
- 2018 · 07 · 20
求解线性方程组(1)
在本文中将讨论线性方程组中的一种情况的求解,即考虑线性方程组
- 2018 · 07 · 14
机器学习中的数值计算(1)
机器学习算法通常需要大量的数值计算,即通过迭代求解近似值而非求得解析解。这些算法通常包括最优化和线性方程组的求解,在计算机中要通过有限位来表示各种浮点数是具有一定误差的,需要通过一些方法来保证我们的计算精度。
- 2018 · 07 · 06
利用TensorFlow训练一个简单的神经网络
我们在这里利用TensorFlow的Eager Execution 来构建模型,这样不用像以前一样创建Graph和Session了,可以使神经网络的训练更加方便快捷,下面以Iris数据集为例来训练一个神经网络,代码来自谷歌的教程。
- 2018 · 06 · 29
在极客云上进行深度学习
最近在做老师给的一个图像相关的深度学习任务,代码调试后发现电脑内存不够(8g笔记本),后来发现了一个很好用的深度学习云服务平台
- 2018 · 06 · 15
KITTI的雷达+摄像头数据融合
KITTI的数据集有很多,我们在这里选取了其中的raw_data(原始数据)进行融合
- 2018 · 06 · 08
不等式约束的优化问题求解
与前文讨论的只含等式约束的优化问题求解类似,含不等式约束的优化问题同样可以用拉格朗日乘子法进行求解
- 2018 · 06 · 02
C++中的构造函数
每个类都分别定义了它的对象被初始化的方式,类通过一个或多个特殊的成员函数来控制其对象的初始化过程,这些函数就叫做**构造函数(constructor)**。构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。
- 2018 · 06 · 01
C++中的关联容器
关联容器支持高效的关键字查找和访问,两个主要的关联容器是set和map。map中的元素是一些键值对(key-value),关键字起着索引的作用,值则表示与索引相关联的数据,set中的元素只包含一个关键字。set支持高效的关键字查找操作,底层应该是用的哈希表来实现的。
- 2018 · 06 · 01
神经网络反向传播的推导
对于神经网络的训练过程而言,其反向传播算法是训练过程的核心
- 2018 · 05 · 25
C++中顺序容器
一个容器就是一些特定类型对象的集合。顺序容器提供了控制元素存储和访问顺序的能力。
- 2018 · 05 · 24
决策树和随机森林算法简介
决策树(decision tree)是一种分类与回归方法,本文主要讨论用于分类的决策树,决策树的结构呈树形结构,在分类问题中,其代表基于特征对数据进行分类的过程,通常可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。其主要优点是模型可读性好并且分类速度快。训练的时候,利用训练数据根据损失函数最小化的原则建立决策树模型。预测时对于新的数据,利用决策树进行分类。决策树的学习通常包括三个步骤:特征选择,生成决策树,对决策树进行剪枝。这些决策树的思想主要来自Quinlan在1986年提出的ID3算法和1993年提出的C4.5算法,以及Breiman等人在1984年提出的CART算法。
- 2018 · 05 · 18
C++中的IO类
C++语言不直接处理输入输出,而是通过一组定义在标准库中的类型来处理IO。这些类型支持从设备读取数据,向设备写入数据的IO操作,设备可以是文件,控制台窗口等。还有一些类型允许内存IO,即从string读取数据,向string写入数据等。
- 2018 · 05 · 18
等式约束的优化问题求解
本文将讨论下类形状的优化问题
- 2018 · 05 · 11
线性规划中的对偶问题
每个线性规划问题都有一个与之对应的对偶问题,对偶问题也是一个线性规划问题,并且对偶问题的对偶问题是原问题。原问题的最优解可以由对偶问题得到,有时候利用对偶理论求解线性规划问题更加简单,也更能了解问题的本质。在对偶理论的启发下,单纯形法的性能得到了改进,也出现了一些求解线性规划问题的非单纯形法,本文暂不详解。
- 2018 · 05 · 04
C++函数中的参数传递
在C++程序中,调用函数的时候需要向函数传入一个参数,除了空参数(void)之外,参数传递分为**引用传递** 和**值传递** 两种
- 2018 · 05 · 04
求解线性规划问题的单纯形算法
1947年,丹齐格提出了一种求解线性规划问题的方法,即今天所称的单纯形法,这是一种简洁且高效的算法,被誉为20世纪对科学发展和工程实践影响最大的十大算法之一。
- 2018 · 04 · 27
线性规划概述
在最优化问题中有一类问题被称作线性规划问题,属于有约束下的优化问题,线性规划是在**线性约束条件** 下(等式或不等式)**求解线性目标函数极值** 的问题。
- 2018 · 04 · 26
C++中的const关键字
在编程的时候我们常常需要定义一种变量,但是这种变量的值是不变的,例如定义pi=3.14,e=2.72或者定义一种材料的弹性模量等,这时候需要用到const关键字
- 2017 · 03 · 29
遗传算法自整定 PID 参数(Simulink 实现)
用遗传算法在 MATLAB / Simulink 上自动整定 PID 参数:搭仿真平台、设计以误差为核心的目标函数、写 GA 与 Simulink 的接口函数,再用主函数迭代。实用性有限,但作为学习方法值得一记。
- 2017 · 03 · 27
遗传算法原理与 MATLAB 实现
用一道求二元函数最大值的经典例题把遗传算法的完整流程走一遍——个体编码、初始群体、适应度、选择 / 交叉 / 变异,附 MATLAB 代码实现,以及 Sheffield GA 工具箱常用函数速查。