- 博客(11)
- 资源 (14)
- 收藏
- 关注
原创 copy_page_tables函数分析
先看看分页机制里面的页目录表、页表、页之间的关系。分页机制是用于将一个线性地址转换为一个物理地址。在I32 CPU环境里面,首先通过设置CR0寄存器,打开保护模式、开启分页机制。然后将页目录表的物理地址基址给CR3寄存器。开启分页机制后,I32将全部的物理内存空间、线性地址空间划分为一个个的页。每个页可以是4KB或者4MB。页目录表里面存放页目录表项,每个页目录表项指向页表。其中页目录表项的高...
2018-10-30 01:15:16 1468 3
原创 BiLSTM+CRF (一)双向RNN 浅谈
引言为什么要使用双向的RNN? 一般的按序列顺序过来的RNN会记录、保存来自前面序列的信息,这些历史信息对当前的输出是很有帮助的。但是有些问题,序列当前位置历史信息和这个位置未来的信息会共同对计算当前位置的输出有帮助,例如在NLP里面的人名识别里面, 如果我们很确信下一个字符是人名的开始,那么当前位置再是人名的开始的概率就会相当的低。于是,我们就可以就想啊,能不能搞个子双向的RNN来,让模型...
2018-10-28 16:57:01 4048
原创 move_to_user_mode()一个push esp的疑问
#define move_to_user_mode() \__asm__ ( "movl %%esp,%%eax\n\t" \ "pushl $0x17\n\t" \ "pushl %%eax\n\t" \ "pushfl\n\t" \ "pushl $0x0
2018-10-16 23:36:13 356
原创 操作系统分析——main.c(2) move_to_user_mode()函数
今天来看看move_to_user_mode()函数这个宏函数是在main()函数开启中断以后调用的。这个函数的作用是什么呢?经过sti()以及之上的语句,进程0就已经创建完毕了。其中最主要的就是创建了类型为task_union 的init_task。static union task_union init_task = {INIT_TASK,};其中INIT_TASK是linus硬编码进...
2018-10-16 09:56:38 1114 4
原创 操作系统——main.c(1)sched_init()
今天我们来看看内核main函数调用的sched_init()函数。main函数void main(void) { ROOT_DEV = ORIG_ROOT_DEV; drive_info = DRIVE_INFO; memory_end = (1<<20) + (EXT_MEM_K<<10); memory_end &= 0xfffff
2018-10-16 00:42:08 909
原创 操作系统分析——为什么需要RPL,request privilege level
在学特权级的时候,我们都会知道一共有三个特权级:CPL,DPL,RPL。CPL和DPL是比较好理解的,CPL是当前CPU所在的特权级,这个值是保存在CS段寄存器的段选择子中的。而DPL则是目标段描述符的特权级。我们想啊,我现在帅的等级为CPL,这个等级可以通过我身上的一个叫做CS的东西知道。然后我想去访问某个地方。这个地方不是可以随便访问的,这些地方是有特权级DPL,世界的法则规定只有CPL&l...
2018-10-15 20:40:59 899 4
原创 算法设计与分析——动态规划(一)矩阵连乘
动态规划——Dynamic programming,可以说是本人一直没有啃下的骨头,这次我就得好好来学学Dynamic programming.OK,出发!动态规划通常是分治算法的一种特殊情况,它一般用于最优化问题,如果这些问题能够:1.能够分解为规模更小的子问题2.递归的子问题具有最优子结构性质。也就是说,原问题的最优化解能够通过子问题的解计算得到。动态规划的一个核心的步骤就是定义一个...
2018-10-15 00:10:08 9853 9
原创 自然语言处理——CBOW模型
CBOW一个用于快速训练得到词向量的神经网络模型,它的核心原理是中心词的前R个词和后R个词来预测中心词。它的网络模型相比NNLM模型来说,最大的变化是直接去除隐层的非线性激活过程,以此来加速网络的训练速度。CBOW的输入:假设中心词wiw_{i}wi的上下文C(wi)={wj∣j∈[i−R,i)∩[i+1,i+R)}C(w_{i})=\{w_{j}|j \in [i-R,i) \cap [...
2018-10-14 17:15:10 6000
原创 进程0的LDT0代码段描述符分析
LDT0的值为···· { \ {0,0}, \ /* ldt */ {0x9f,0xc0fa00}, \ {0x9f,0xc0f200}, \ },···其中第二项{0x9f,0xc0fa00}为代码段的描述符。然后看task中对ldt的定义:struct task_struct {/* these are hardcoded -...
2018-10-12 23:36:57 880 5
原创 为什么使用神经网络训练得到的语言模型不需要做数据平滑
我们都知道,在自然语言处理的语言模型里面,最核心的就是计算得到一个句子的概率,为了得到这个概率,我们需要计算得到一系列的条件概率。这些条件概率就是整个语言模型的参数。为了得到条件概率,我们可以有两种不同的方法。第一种就是使用统计概率方法,通过统计的方法得到不同的词对的条件概率。这种方式简单易行,但是此类方式很容易因为语料库的稀疏,而导致某些词对并没有出现在语料库而导致某些条件概率为0。举个栗...
2018-10-10 18:50:40 1196
原创 算法设计与分析——分治法
前言本文重点回顾了卜老师课堂上关于分治算法的一些常见的问题。加油吧!ヾ(◍°∇°◍)ノ゙分治法(Divide and Conquer)当面对一个问题的时候,我们可能一下子找不到解决问题的方法。此时,我们可以考虑将问题规模最小化,先看看当问题规模变小以后,我们如何去解决;然后逐步扩大问题的规模,看大规模的问题能不能基于小问题的解构造得到。经过上面的思考以后,我们就可以将原问题一步步地分解为形...
2018-10-05 21:45:45 670
定制版LightGBM
2018-06-24
深度学习_高清PDF,带书签目录
2017-10-15
神经网络在艺术风格上的学习应用
2016-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人