EM Algorithm EM 算法是极大似然法的推广,用于解决存在隐变量(hidden variables / latent factors)的参数估计问题。 1 EM 算法 1.1 问题描述 极大似然法是最常用的参数估计方法之一。设观测变量为 \(x\),模型参数为 \(\theta\),则极大似然法通过最大化对数似然 \(\log p(x;\theta)\) 来求解最优的参数 \(\theta\). 然而在一些问题中 2022-08-23 机器学习 #machine learning
PyTorch单机多卡从入门到入土(坑点记录) 在 Vision 里用上 Transformer 之后,单卡训练连两位数的 batchsize 都开不了,必须得学学单机多卡的使用了。 PyTorch 中,多卡训练有两种方案: DataParallel:只支持单机多卡,代码很方便,只需要添加一行,但是效率比较低,不推荐使用 DistributedDataParallel:支持多机多卡,效率高,但是要折腾一下代码 基于性能考虑,一般我们会选择第 2022-08-18 深度学习 #deep learning #pytorch
K-means及其推广 谈到聚类(clustering),k-means 无疑是最先想到的算法之一了。其思想异常的简单有效,以至于我之前没有深究过其中的奥秘与坑点。今天就来更深入地探究一下 k-means。 1 算法描述 设我们有 \(n\) 个样本 \(X=\{x_1,\ldots,x_n\}\),每个样本为 \(d\) 维向量,即 \(x_i\in \mathbb R^d\). k-means 算法欲将样本分到 \( 2022-08-12 机器学习 #machine learning
各种函数的hard与soft形式 max 与 logsumexp 一个常见的误解是:\(\text{softmax}\) 是 \(\max\) 的 soft 版本,但其实稍微想一下就知道这是不对的——\(\max\) 函数的输出是一个实数,而 \(\text{softmax}\) 的输出是一个向量,一个向量怎么可能去近似一个实数呢? 事实上,\(\max\) 函数的 soft 版本是 \(\text{logsumexp}\) 函数 2022-07-25 机器学习 #machine learning
[论文阅读]Inductive Biases for Deep Learning of Higher-Level Cognition 论文 link:https://arxiv.org/abs/2011.15091 相关演讲:Yoshua Bengio: From System 1 to System 2 Deep Learning (NeurIPS 2019) 首先放上一个我做的论文报告的 slide 吧: 现在正文开始! 注:本文是笔记而非原论文的翻译(但几乎也快是了),掺杂了个人叙述,如有不妥欢迎讨论。 1 深度 2022-06-28 深度学习 #deep learning #machine learning
gitignore pattern format 网上虽然能搜到很多讲解 gitignore 模式匹配格式的博客,但它们大都不全或者不太清楚,要彻底搞明白还得直接看官方文档啊! PATTERN FORMAT 翻译自:https://git-scm.com/docs/gitignore PATTERN FORMAT 一节。 空行不匹配任何文件,因此可以用空行增加可读性。 以 # 开头的一行是注释,用 \ 进行转义。 末尾的空格将被忽略,除非在 2022-02-11 技术栈 #git
Git基础学习 基本都参考自 Git-book。 什么是版本控制 本地版本控制系统:采用某种简单的数据库来记录文件的历次更新差异。 缺点:无法让不同系统上的开发者协同工作。 集中化的版本控制系统:一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 优点:每个人都可以在一定程度上看到项目中的其他人正在做些什么。 而管理员也可以轻松掌控 2022-01-10 技术栈 #git
A Survey Report on Image Inpainting 2021-12-24 计算机视觉 > Image Inpainting #computer vision #deep learning
操作系统折腾记(三) wait https://www.ibm.com/docs/en/ztpf/2020?topic=apis-waitwait-status-information-from-child-process 12#include <sys/wait.h>int wait(int *stat_loc); 等待任一子进程退出,如果正常获取到了子进程的退出信息(存入 stat_loc 指向的地 2021-12-10 操作系统 #linux
[xv6-mit-6.S081-2020]Lab10: mmap Lab: mmap https://pdos.csail.mit.edu/6.S081/2020/labs/mmap.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/mmap 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab9: fs Lab: file system https://pdos.csail.mit.edu/6.S081/2020/labs/fs.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/fs 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab8: lock Lab: locks https://pdos.csail.mit.edu/6.S081/2020/labs/lock.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/lock 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab7: thread Lab: Multithreading https://pdos.csail.mit.edu/6.S081/2020/labs/thread.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/thread 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab6: cow Lab: Copy-on-Write Fork for xv6 https://pdos.csail.mit.edu/6.S081/2020/labs/cow.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/cow 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab5: lazy Lab: xv6 lazy page allocation https://pdos.csail.mit.edu/6.S081/2020/labs/lazy.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/lazy 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab4: traps Lab: traps https://pdos.csail.mit.edu/6.S081/2020/labs/traps.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/traps 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab3: pgtbl Lab: page tables https://pdos.csail.mit.edu/6.S081/2020/labs/pgtbl.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/pgtbl 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab2: syscall Lab: system calls https://pdos.csail.mit.edu/6.S081/2020/labs/syscall.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/syscall 2021-11-30 操作系统 > xv6-lab
[xv6-mit-6.S081-2020]Lab1: util Lab: Xv6 and Unix utilities https://pdos.csail.mit.edu/6.S081/2020/labs/util.html 代码:https://github.com/xyfJASON/xv6-mit-6.S081-2020/tree/util 2021-11-30 操作系统 > xv6-lab