如何水一个深度学习项目
本文适用于计算机毕设速成党,或者是想做点深度学习方向项目但苦于无从下手的朋友,教你怎么快速零基础上手写个项目,混个毕业
因为我不是计科软工相关专业,开发XX系统的水平可能不咋地,这部分我暂且做不大
我后续打算做点别的实验,比如cmu15213的csapp,cmu15445的database等,这种项目有一定难度且不容易重复,拿出来可能能让人眼前一亮,但是学习成本很高,因此就不放在“水”项目环节了
我的内容包括以下几个方面:
1,小白如何快速上手深度学习
2,如何复现经典项目代码
3,如何修改并读懂ai写的代码
4,如何根据需要写篇报告
这些部分高手大可不必看,毕竟不是什么高招,只是我自己的一些小窍门,算是班门弄斧了
快速上手深度学习
本文指的深度学习使用的是python,C++更接近底层,难度更大,暂不推荐
正常情况下,很多练习阶段的任务是分类/预测(也就是回归)任务。我并不推荐你从线性回归的公式开始慢慢学起,因为这样学习成本很高。
做中学才是计算机项目的最佳上手方法,虽然成为调包侠经常处于鄙视链的末端,但是能够快速的把手写数字识别或者是图像分类集用最快的方式获得一个还说得过去的分类效果,这样的成就感显然不是从梯度下降和损失函数开始逐步推导能带来的。
为了快速上手深度学习,首先你需要对Python有一个基本的认识。不需要特别多,基本的函数结构和用法。如何掉包以及配置基本环境等学会跟着ai的提示操作就行,总计花费时间不超过半天。
在完成之后,就可以开始用机器学习的相关库预测了
对于新手肯定优先推荐手写数字识别mnist。这个基本任务。可以使用线性回归,逻辑回归,随机森林等机器学习方法和BP神经网络,残差神经网络等进行训练
如果你的设备还可以,就可以考虑使用一些更加新进一些的方法,比如Transformer,Manba或者BERT等。学到这里。基本上你的基本用法就已经学会的差不多了。了解一下相关的模型,函数和参数的含义,这样再回过头去看理论就不会那么复杂。
在完成这一阶段后,应该回过头来研究深度学习和机器学习的相关理论。需要你有一定的数学基础。
具体来说,本科阶段的高数线代概率论,以及可能没有学习过的信息论等都会适度涉及
常用的包括概率论中的极大似然,线性代数中的矩阵分解和SVR,高等数学中的梯度向量等
即使你本科阶段这些数学知识掌握的一般般,也应该稍微回顾一下起码它那些公式在做什么,不然完全看不懂不然相关理论,后续研究起来会非常的头疼
在做完了这些之后可以去参考经典的教程,比如西瓜书或者吴恩达的机器学习,网上的笔记和课程都很多就不专门推荐了,知乎,csdn,github和coursa都有现成的笔记视频让你学习
大概跟着他吧公式推一遍,不一定要百分百掌握,但起码它在运算时你应该知道做的是什么。如果可以的话,建议配合AI做一些笔记,防止自己看的都会做了都废。如何做笔记本栏目前面已经讲过,建议返回去看看
至此,你已经成功迈入机器学习的大门了。接下来可以好好研读经典论文,可以跟着b站李沐学一学,读一些近些年的经典文献,培养基本的能力和对科研文献有基本的认识
值得注意的是,上述文本我没有给你推荐任何一个教程
实际上,你并不需要100%照着我的教程,完全可以让AI给你提供一份差不多的学习路径,然后让AI当你的老师逐步研究
有问题了就思考或者上网寻找答案。如果AI的纯文字无法让你理解,再去网上找一下对应的图文博客和理论
当然如果有能力的话欢迎你搜索并找到相关算法所提出的论文对着原文去学习可能会有更大的收益
我唯一的建议是,不建议找年份太古老的,版本太老会导致维护困难,且面临很多的不确定性挑战,比如包不兼容等,建议多看看,多交流,多思考
复现经典项目代码
在上文中,你已经学会了基本的入门任务,接下来有能力的就可以跑通代码,尝试复现任务了
当然,视情况而定,如果你只是想大大比赛,锻炼一下自己的基本能力,像天池,kaggle等都有很多公开的数据集或者比赛,找一两个认真走一趟流程,看看大佬是怎么做的,学习一下手段,有助于你学会一些多模型复用/嵌套等的方法
水论文本质上和打比赛没有根本区别,无非是看能否在某些方面挑战sota方法的一些指标,全面获胜是很快困难的,可做差异化赛道冠军
以下不同任务对应的基准机器学习 / 深度学习方法:
一、 分类任务
分类任务核心目标是将样本映射到离散类别标签,按数据类型和规模划分基准方法:
- 通用结构化数据分类
- 传统机器学习:逻辑回归、随机森林、LightGBM
- 深度学习:多层感知机(MLP)
- 图像分类
- 入门基准:LeNet-5
- 标准基准:AlexNet、VGGNet
- 深度模型基准:ResNet
- 文本分类
- 传统机器学习:TF-IDF + 逻辑回归 / SVM
- 深度学习基准:LSTM、BERT
- 序列分类(如语音情感识别)
- 基础基准:RNN
- 主流基准:LSTM、GRU
- 现代基准:Transformer
二、 回归任务
回归任务目标是预测连续数值输出,基准方法如下:
- 通用结构化数据回归
- 传统机器学习:线性回归、随机森林、XGBoost
- 深度学习:多层感知机(MLP)
- 序列回归(如时间序列预测)
- 传统机器学习:ARIMA
- 深度学习基准:LSTM、GRU
- 图像回归(如年龄预测、目标检测中的坐标回归)
- 基准方法:ResNet 提取特征 + 全连接层回归
三、 聚类任务(无监督)
聚类任务目标是无标签数据的自动分群,基准方法:
- 核心基准:K-Means
- 层次聚类基准:AGNES(自底向上)
- 密度聚类基准:DBSCAN
- 深度学习聚类基准:自编码器(AE) + K-Means
四、 降维任务(无监督)
降维任务目标是压缩数据维度并保留关键信息,基准方法:
- 传统机器学习基准:主成分分析(PCA)、t-SNE(可视化场景)
- 深度学习基准:自编码器(AE)、变分自编码器(VAE)
五、 生成任务
生成任务目标是合成新的、与训练数据分布相似的样本,基准方法:
- 图像生成
- 基准方法:生成对抗网络(GAN)、DCGAN
- 文本生成
- 基础基准:LSTM
- 现代基准:GPT、Transformer
- 通用生成
- 概率生成基准:变分自编码器(VAE)
六、 序列标注任务(如命名实体识别、词性标注)
- 基础基准:Bi-LSTM
- 主流基准:Bi-LSTM + CRF
- 现代基准:BERT
上述方法你不需要全部都掌握。但是如果学有余力,去博客上找一找关于他们的记录,起码知道一下基本思想,这是很有必要的。
万一你后面做学术报告别人提了一个临近赛道的方向,结果那个东西你压根儿听都没听过。那么回答的效果可能就没有那么好。
知乎的大佬在讨论这个问题的时候,很多想法也是很一致的:
那就是,如果你的基础比较薄弱,那么一定要优先考虑先把开源的高引用论文跑通,再考虑添加自己的想法
如果不开源,那么问题可能不一定是作者不想开源,而是他能不能的问题
把大量的时间和精力花在这些论文上,可能会严重影响你对自己能力的判断
所以最好可以让相关的导师或者师兄师姐帮你把把关。如果你还没有进组,那么就去网上搜一下那些比较好复现的论文吧
他们的讨论度会很高热度也很高很多甚至你可能在其他方面就见过。
读懂并根据需要修改代码
从这一步开始。你的要求比刚才又高了一些
由于我默认你的水平非常一般。实际情况下,在你写出来或者跑通代码后,你可能并不清楚这是什么意思,这是十分正常的现象
没有人能够快速地掌握所有代码细节——除非他本来就是高手
因此,在深挖函数的每一个步骤在做什么工作的时候。首先还是应该回到理论,研究一下:从数学上它是如何进行计算和操作的?有了数学,再来研究公式,看看哪个函数分别对应公式的哪一部分,就没有那么困难
在具体的实现上。真正负责计算的很多都有类似的框架进行包装,掩盖了代码的很多,只需要你调包即可。那么对于调包,则应该优先考虑其中的模型超参数,也就是模型是如何定义的,它的相关结构是如何规定的,等等
如果有能力,自己可以想象一下。这个模型如果画出来大概是个什么样的样子。
接下来可以多去考虑。模型的大融合可能对你来说存在一些困难,但是起码看明白各个模块之间是如何缝合在一起。估计难度没有那么大
在这里优先推荐两篇论文,一篇是Elmo,一篇是transformer。这两篇论文都是融合了前人方法弄出来的
尤其是transformer。它的实际理解难度并不低。虽然然很多人都把精力投放在了它的注意力矩阵上。但是注意力举证并非它的全部,还有包括残差网络,掩码等诸多机制。我认为你可先学lstm,再研究双向lstm,然后学习resnet,gru等机制,然后再去仔细阅读transformer论文的原理,理解这是怎么操作的
有能力的话最好再去看一看自己吧模型应用在不同任务上时,针对数据集对参数和超参数做一定的微调,它的效果会有什么样的变化,加深自己对炼丹的了解
写报告
实验报告是我们完成实验任务所做的一切相关记录
如果你在做毕设,那么它就是你的毕业论文;如果你在打比赛,那么它就是你的比赛文章;如果你在做课设,那么这就是你的课设报告
他们之间并没有本质的区别。无非是在相关的任务下,对于字数,创新性,格式等的不同要求。具体来说。比赛论文。需要适当介绍比赛相关背景和所用技术的原理。课程设计则更多的需要介绍。课程中的相关。概念是如何体现在自己的实验中的,而毕业设计要求则会更高一些,除了对各个部分的格式有很多要求以外,他对字数等部分都有硬性的规定。
如果你看过我的其他博客,那么你应该对如何写论文有一个基本的认识
但我的标题是教如何水一篇论文,而非写一篇,所以论文的核心创新部分我帮不了你一点
实际上,在我看来水一篇论文最重要的是方法,实验和实验结果三个部分
我们读文献实际上是在研究别人的方法,实验部分则是融会贯通别人的方法后,生成一定的idea,验证可行性后创新性的应用到自己的论文中——先不管实验的创新性是不是屎上雕花,起码你所谓的创新是言之凿凿的了。
在基于你的实验方法给出相关的理论阐述和实验配置环境的基本说明后,就可以展示实验结果了。根据实验结果。我们有充足的理由论述自己的方法,并不是胡闹的,而是确确实实产生了一定有用的效果。
我想要教你的方法是:(下面的操作主要基于trae来分析实验结果,但理论分析等还是多个ai协同操作比较好,将实验结果变成提示词也是重要的研究部分)
首先你要结合AI,确定你要做的实验方法
这里面首先需要一些实验性的试探,得到一些结果以文字为主
基于文字结果,投喂到AI中让它为你做一定的判断,看什么效果可能会好一些
然后基于这样的任务写一份任务书,将其作为提示词,开始生成代码
生成结果进行不断的微调,直到最后得到令你足够交差的代码模型和结果
基于这些,再开始考虑绘图画表格等
至此你的实验部分,完成了根据实验中的相关方法后,把所涉及到的方法让AI给你写一份理论方面的稿子,作为试验理论部分。
这边推荐初稿使用MD格式相关的公式等,也非常方便编辑
做完之后再去把一些前因后果讲一讲,比如实验背景,总结展望致谢等。尤其是摘要和导论,部分更多的是在你完成了论文本身之后,在用AI写一篇自己慢慢修改
如果把这个过程反过来先写导论再写实验方法那你能被自己折磨死
相关推荐提示词网上一抓一把,就不额外写了
此阶段稿子用md写的,写完后再考虑用word,有条件的可以考虑用ai逐步转化成latex——这种格式排版的工作就不专门浪费笔墨了,尽管再本科毕设中这部分非常重要,但更多的还是一个体力活,给你们指条路——如果实在不知道怎么办,花点小钱,学校打印店的老板通常经验丰富,会帮帮你的,当然这是后话了
更多推荐

所有评论(0)