【408+AI专业课】考研面试重点

目录

数学

1.正定矩阵和半正定矩阵的判断方法

2.特征值和特征向量的理解

3.协方差理解

数据结构

1.如何判断链表有环

操作系统

1.什么程序适合多进程,什么程序适合多线程,各举3个例子

2.★ 什么是虚拟内存?

3.★ 什么是内存碎片?

4.局部性原理

5.为什么引入快表

6.分页和分段对比

7.什么是抖动现象?产生的根本原因?解决办法?

机器学习&深度学习

1.什么是梯度消失和梯度爆炸问题? 如何应对这些问题?

2.残差网络理解


数学

1.正定矩阵和半正定矩阵的判断方法

  1. 正定矩阵

    • 所有特征值都为正数。
    • 对于任意非零向量 x,都有 x^TAx>0。
    • 主子式(从1阶到n阶的行列式)均为正。
  2. 半正定矩阵

    • 所有特征值都为非负数。
    • 对于任意非零向量 x,都有 x^TAx≥0。
    • 主子式都为非负数(但并不一定全为正)。

2.特征值和特征向量的理解

  • 特征值(Eigenvalue):是一个标量,当一个矩阵作用在它的特征向量上时,输出结果是这个向量的一个伸缩(不改变方向)。特征值表示这个伸缩的倍数。

  • 特征向量(Eigenvector):是一个非零向量,当一个矩阵作用于它时,结果是这个向量的一个缩放(由特征值决定)。特征向量表示变换中保持不变的方向。

3.协方差理解

协方差揭示了两个变量如何相互关联及变化趋势,用于描述变量间的关系方向和强度。

【机器学习】协方差-特征值&向量-正交矩阵-奇异值分解-主成分分析-CSDN博客


数据结构

1.如何判断链表有环

使用两个指针,一个慢指针每次移动一步,一个快指针每次移动两步。如果在遍历过程中,快指针和慢指针相遇,则链表有环;如果快指针到达 null,则链表无环。

https://blog.csdn.net/2401_86285609/article/details/141828220

2.


操作系统

关键词:提高内存利用率,并发共享

1.什么程序适合多进程,什么程序适合多线程,各举3个例子

多进程(Multi-process)适用于需要高隔离性、独立运行的任务,并且这些任务可能会占用大量的 CPU 资源。多进程方式会为每个进程分配独立的内存空间,因此进程之间的数据是相互隔离的。适合以下类型的程序:

  1. CPU密集型任务:如视频编码、科学计算、图像处理,充分利用多核CPU的计算能力。
  2. 需要高隔离性的任务:如Web服务器、数据库系统,确保一个任务失败不会影响其他任务。
  3. 独立运行的任务:如离线数据处理、任务队列处理,不需要频繁通信。

多线程(Multi-threading)适用于需要共享数据、需要高频通信的任务,并且这些任务通常是 I/O 密集型的。多线程的所有线程共享同一个内存空间,因此线程之间的数据共享和通信更加轻量和高效。适合以下类型的程序:

  1. I/O密集型任务:如Web浏览器、网络爬虫、文件读写操作,在等待I/O时继续处理其他任务。
  2. 需要共享数据的任务:如游戏引擎、金融交易系统,线程间共享内存更高效。
  3. 低开销并行任务:如聊天应用、轻量级服务端、GUI应用程序,响应速度要求高。

2.★ 什么是虚拟内存?

虚拟内存是一种内存管理技术,它通过将主存和辅助存储(如硬盘)结合使用,为每个进程提供一个大的、连续的地址空间,这个地址空间远大于实际的物理内存。虚拟内存通过分页或分段的方式将进程的地址空间映射到物理内存,并在需要时将数据从磁盘交换到内存中。

  • 主要优点:
    • 提高内存利用率: 通过动态地在主存和辅存之间移动数据,可以更有效地使用物理内存。
    • 系统稳定性: 隔离各进程的地址空间,防止进程间相互干扰。
    • 支持多任务和大程序的运行: 提供更大的虚拟地址空间,支持更大的程序和同时运行多个程序。

3.★ 什么是内存碎片?

内存碎片是指在内存分配和回收过程中,产生的许多零散的小块空闲内存,这些碎片通常无法被有效利用。内存碎片分为两种:

  1. 外部碎片 (External Fragmentation): 空闲内存虽然总量足够大,但由于分布不连续,无法分配给新的进程。
  2. 内部碎片 (Internal Fragmentation): 内存分配后,实际使用的内存比分配的内存要少,导致一些分配的内存没有被使用。

4.局部性原理

  • 时间局部性:近期访问的数据或指令很可能再次被访问(如循环中的变量)。
  • 空间局部性:访问某个位置的数据后,其附近的数据也可能被访问(如数组元素)。

应用:快表、页高速缓存、虚拟内存等都利用局部性原理来提高访问速度。

5.为什么引入快表

引入快表(Translation Lookaside Buffer, TLB)的原因是为了加速虚拟地址到物理地址的转换过程。虚拟内存系统需要频繁进行地址映射,而这种转换涉及多次内存访问。快表通过缓存最近使用的页表项,利用局部性原理,显著减少地址转换的时间,提高内存访问速度和整体系统性能。

6.分页分段对比

分页分段是两种内存管理方式,主要区别在于内存的划分方式和管理目的

  1. 分页

    • 内存划分:把内存和进程地址空间划分为大小相等的固定大小的块(称为页和页框)。
    • 管理目的:方便内存的分配和管理,主要解决内存碎片问题。
    • 特征:分页的单位是页,页大小固定,程序员不可见,主要关注物理内存的高效利用。
  2. 分段

    • 内存划分:把进程的逻辑地址空间划分为不同大小的段,每个段代表不同的逻辑单元(如代码段、数据段)。
    • 管理目的:符合程序的逻辑结构,方便程序的共享和保护。
    • 特征:分段的单位是段,段大小不固定,由程序员定义,反映了程序的逻辑结构。

3.20.内存管理_非连续分配:分页与分段方式对比_哔哩哔哩_bilibili

7.什么是抖动现象?产生的根本原因?解决办法?

抖动现象是指系统频繁进行页面换入换出,导致几乎没有时间执行实际工作。

根本原因:内存不足,导致进程频繁竞争内存,页面调度频繁。

解决办法

  1. 增加物理内存。
  2. 减少运行进程数。
  3. 优化页面置换算法。

机器学习&深度学习

1.什么是梯度消失和梯度爆炸问题? 如何应对这些问题?

梯度爆炸和梯度消失

  • 梯度爆炸:当激活函数的导数过大(>1)时,反向传播中梯度会快速增大,导致训练不稳定。【随网络层数增加将按指数级增长】
  • 梯度消失:当激活函数的导数过小(<1)时,反向传播中梯度会逐层减小,最终接近于零,使得训练变慢或无法有效更新。

解决方法:

  1. 梯度截断:对梯度进行剪裁,防止过大导致爆炸,主要用于RNN。
  2. 添加正则项:在损失函数中加入正则化,可以抑制梯度爆炸。
  3. 使用LSTM/GRU:这些网络结构通过门控机制保持长时依赖,缓解梯度消失。
  4. 优化激活函数:将sigmoid换成ReLU系列激活函数,这样可以减小梯度消失的风险,因为ReLU的导数大多为1。

梯度消失与梯度爆炸产生原因及解决方法-CSDN博客

2.残差网络理解

  • 残差网络是一种深度神经网络结构,旨在解决随着网络深度增加所带来的梯度消失和网络退化问题。

  • 核心思想:通过引入“残差块”(Residual Block),在每一层网络中学习输入和输出之间的“残差”,即直接跳过一层或多层,将输入直接传递到后面的层中,这种跳跃连接被称为“捷径连接”(Shortcut Connection)。

  • 优点:这种结构使得网络能够更容易地学习到恒等映射,从而缓解了随着网络深度增加而导致的梯度消失问题,并且允许构建更深的网络(如ResNet-50、ResNet-101),同时提高了模型的性能。

简要概述:残差网络通过引入跳跃连接,使得深层网络能够更好地学习,并解决了深度增加导致的梯度消失和网络退化问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sofaraway13

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值