Flipped Classroom project 反转课堂项目
- 使用 C 语言(或伪代码)编写实现“一维卷积和池化”,对一维卷积后的结果进行池化操作。
- 自己构建大于等于
$100$ 个数据的一维数组,对其进行卷积和池化,卷积核长度需大于等于$3$ ,池化过滤器长度需大于等于$3$ 。 - 讨论是否有快速进行卷积和池化的编程实现方法。
卷积使用 FFT 优化,池化使用单调队列优化。复杂度
- 使用 C 语言(或伪代码)编写实现“二维卷积和池化”,对二维卷积后的结果进行池化操作。
- 自己构建大于等于
$10 \times 10$ 的二维数组,对其进行卷积和池化,卷积核需大于等于$3 \times 3$ ,池化过滤器需大于等于$3 \times 3$ 。 - 讨论是否有快速进行卷积和池化的编程实现方法。
卷积没有优化,池化使用单调队列优化。复杂度
- 编程实现
$sqrt(x)$ 函数。以$sqrt(2)$ 为例,可将其转换为$f(x)=x^2-2$ 的根,也就是$f(x)$ 与$x$ 轴的交点。 - 讨论快速平方根计算算法。
- 二分法找根
- 牛顿法找根
多次跑模拟退火
- 根据前面给出的人工神经网络背景材料以及查找资料,使用 C 语言(或伪代码)编写实现“只有一个神经元的最简单的神经网络”及其训练过程。
- 自己构建大于等于
$100$ 个数据的训练数据集,并进行训练。 - 给出训练后神经网络的性能评价值。
- 讨论更改学习率
$\eta$ 的值、循环次数对训练的影响。
- 使用 C 语言(或伪代码)编写实现“单隐层神经网络”及其训练过程。
- 自己构建大于等于
$100$ 个数据的训练数据集,并进行训练。 - 给出训练后神经网络的性能评价值。
- 讨论更改学习率
$\eta$ 的值、循环次数对训练的影响。