研一总结

林爱琦 / 2023-08-01 / 原文

研一结束了,但是研二的路怎么走还没看清。这一年中,研一上学期过了英语四级,研一下学期也有很努力准备六级,但愿这次六月份考的可以过。

贯穿整个研一期间的研究方向是非侵入式负荷监测,在课余时间看这方面的论文,但由于也是研一才接触的深度学习,所以成效甚微。经过一年的学习,我认为它主要采用机器学习或者深度学习类算法,例如贝叶斯分类,LSTM,GRU,编解码等算法,对负荷数据进行特征提取,对提取后的特征进行存储,将要预测的数据输入,并将特征进行比对,分析出哪些电器正在工作。在这一年期间我也看到一份代码,讲的在STM32上部署轻量化神经网络模型,在CSDN我也看见我有一篇文章讲他自己如何在正点原子的阿尔法开发板上部署tensorflow.lite模型,我也咨询过他,他说主要是看官方文档,注意交叉编译链,等板子玩起来了,一定得尝试一下。

去年11月份左右下定决心学Linux驱动开发,双十一的时候买的正点原子的阿尔法mini板子,最初想着用正点原子的板子看韦东山的课进行学习Linux驱动开发,但是后来发现举步维艰,编译uboot、内核,安装交叉编译链,虚拟机,PC机和开发板建立网络互传,最后还是决定先看正点原子的文档把板子操作起来再去搞韦东山的视频内容,就这样,在今年五一的时候终于把板子上的第一个字符设备模块通过网络传输完成安装和卸载,然后就一直在准备六级和期末考试了,七月份终于到了,一切考试都结束了,开始规划出自己从现在到来年七月份,一年的时间里要看的书。

经过一个月的学习,对嵌入式的系统化知识结构已经建立起来,后续将进一步细节化填充每一部分。C++,跟着侯捷老师的课进行学习;数据结构,跟着程杰老师的《大话数据结构》学习,每日一道力扣题;ARM体系结构看STM32和IMX6ull的芯片手册,以及《ARM体系结构与编程》一书进行学习;操作系统,跟着《Linux内核源码情景分析》一书进行学习;驱动开发,跟着正点原子的文档教程进行学习,再找项目进行强化。

在七月,我的研究方向也变成负荷预测方向,大多数预测算法采用基于RNN类的,LSTM,GRU,跟上一个方向的相同点在于都是对时间序列的处理,对于序列数据,那必然RNN的处理效果最好,近期研究seq2seq(序列到序列),transformer(最初提出是在自然语言处理(NLP)领域,而后由于两个领域的交叉点在于都是时间序列,故将其应用与负荷预测领域),informer(对transformer的改进),还有其他表现良好的模型。

下一阶段目标是能为Linux的内核或其他开源项目提出自己的代码,并被接受。