type
status
date
slug
summary
tags
category
icon
password

前言

这是一个颇具挑战性的任务,但对于完全没有接触过的你而言,不用害怕,本文将介绍一些互联网上的资源,方便你无痛入门机器学习,逐渐构建起自己对机器学习领域的见解。除此之外,也希望你能在探索机器学习的路上总结出一套自己的学习方法论:当你在面对下一个自己完全没接触过的领域时,你该如何勇敢、快速、高效的去面对这次新的挑战?
本文推荐的入门时常为两月左右,可根据自己的进度与规划安排学习时间。
理论的价值在于指导实践,学习的目的全在于运用。机器学习的发展也是在理论与实验的相互反哺中进步的。基本功的学习也分为了两大部分:
  • 机器学习基本理论
    • 机器学习基本概念,基本运作思路
      • 前向传播?反向传播?梯度下降?训练集测试集?…
    • 经典而常用的网络
      • CNN、RNN、Transformer….
  • 机器学习的实验基础
    • 配置环境
    • Python
    • Pytorch
    • git
    • Linux基本命令
打好基本功后,你会开始在机器学习的某一领域继续深耕,你需要掌握:
  • 如何有效的阅读论文
  • 扎实的数学基本功:概率论与数理统计、微积分、线性代数

资源推荐

下面推荐一些课程与书籍

基本理论学习:

  1. 李沐机器学习:https://courses.d2l.ai/zh-v2/    (可自行选择最新版本)
      • 资料的优点在于,比较有规律,注重代码实践(有完整配套的视频、PPT、课本)一个课程就能达到不错的理论和实验基础
  1. 李宏毅老师系统课程,2022版 b站上有授权正版课程
      • 幽默风趣,讲的很有意思
      • 2022版侧重机器学习的基本知识
      • 课后作业有一定难度,需要思考,但是做了收获很大,提供作业思路参考的博客主页(可以全局搜索关键词”HW”找到相应的作业博客) https://www.zhihu.com/people/lao-ma-wo-er-zi
上面两个课程选择一个即可
  1. 《机器学习》 周志华 著 清华大学出版社
      • 又名西瓜书,非常详尽的介绍了机器学习的基本知识,常见算法以及进阶知识,十分经典,推荐人手一本
      • 先看完1~3章以及第五章,其他章节可以稍后再看。

机器学习的实验基础

b站上的教程很多,大家可以根据自己喜好搜索,下面列出几个任务点。找几个课程学习实践基础效果不好,这类知识的学习需要秉持“To learn by doing”的理念,建议大家给自己布置一个项目(后面本文会有一个推荐的项目),通过实际上手写代码来学习,亲手配置环境,动手实验一些pytorch函数的效果,在视屏的引导下写下自己第一个dataloader、第一个网络,自己调整参数,观察实验效果。当然,这部分的学习需要机器学习理论基础的支撑。
  • 搭建Linux编程环境
    • 虚拟机(不推荐)
    • WSL(推荐)
    • 安装Linux系统(推荐)
    • SSH远程连接Linux服务器(推荐)
  • 配置Anaconda
  • 配置Docker(可选)
  • 学习python
    • 有c语言的基础下,一周内铁能学会

进阶

  • 继续阅读西瓜书的剩余章节

实践演练

这是两个检验你学习效果的任务,尝试着完成吧!不要留着把课和书刷完了再做这两个任务,你完全可以边学边做,这有助于你更深入的理解你学习到的理论知识。
  1. 自行尝试一下MINIST手写数字识别,可谓ai版本的 “hello world!”
  1. 自行复现一个Transformer模型。这个任务会有些难度:
      • 了解Transformer的基本原理——视频、以及论文《Attention is all you need》
      • 可以参考一下网上的复现教程

附:一份可供参考的规划

第一周

任务

  1. 机器学习&ChatGPT相关基础概念以及Pytorch基础操作
  • 第一节内容:P1-P9
  1. git 代码仓库的学习

输出

  1. Gitee上,建立自己的笔记仓库,利用git工具进行自己笔记的版本管理,学会分支、合并等基本操作
  1. 视频课程学习笔记并将自己的笔记上传到在上建立的自己的gitee笔记仓库中,作业部分不用完成(可以根据视频讲解和博主提供的git/gitee仓库中的内容学习)

第二周

任务

  1. 机器学习基本原理
      • P13-P21
  1. Linux环境配置以及基本命令
      • 在widows子系统WSL2中建立Ubuntu环境

输出

  1. 视频课程学习笔记并上传到自己的gitee笔记仓库中
  1. 完成linux的配置以及基本操作的学习

第三周

任务

  1. 生成式AI
      • P23-P25
  1. 课程作业
      • P10-P12,P22,P28
  1. 在WSL2下安装anaconda或miniconda(功能更轻量级,占用空间更小)并配置PyTorch环境(PyTorch有GPU版和CPU版,个人笔记本上使用CPU版就行,后续进入实验室后会分配有GPU的服务器)
  1. 在WSL2中安装jupyter notebook,在windows中打开可视化界面,并熟悉jupyter使用方法
  1. PyTorch包学习
  1. PaddlePaddle学习

输出

  1. 视频课程学习笔记
  1. 完成环境配置以及对PyTorch的初步了解
  1. 初步了解PaddlePaddle,以及与PyTorch的转换关系
  1. 完成P10-P12,P22,P28的课程作业

第四周

任务

  1. 大模型
      • P29-P33
  1. 图像生成模型
      • P35-P36,P39-P41
  1. PyTorch入门中剩下部分的学习
  1. PaddlePaddle包配置尝试

输出

  1. 视频课程学习笔记以及作业
  1. 完成PyTorch教程上的代码教程
  1. 完成环境配置以及对PaddlePaddle的初步实践

第五周

任务

  1. NLP相关基础知识
  1. 实战演练-阶段一

输出

  1. 视频课程学习笔记以及作业
  1. 阶段一涵盖NLP中模型构建的基本步骤,记录实验结果

第六周

任务

  1. NLP相关任务
这部分内容中包含的序列模型,注意力机制在第四周的神经网络训练任务部分已经讲述过,所以该部分可以略看。
  1. 实战演练-阶段二

输出

  1. 视频课程学习笔记以及作业
  1. 阶段二主要涵盖词嵌入学习及基础模型应用两部分内容完成模型调优,记录实验结果

第七周

任务

  1. 知识+大语言模型相关
  1. 大模型微调相关-基于LangChain的大语言模型应用开发,微调以及RAG
  1. 实战演练-阶段三若对预训练模型微调部分感兴趣,可以参考huggingface主页。
  1. 以下内容选择性完成
(本地或教程中提及Colab中执行)

输出

  1. 视频课程学习笔记
  1. 阶段三涵盖预训练模型微调的基本过程,主要用意为熟悉huggingface平台,记录实验结果
  1. 熟悉大模型的离线知识检索增强生成以及在线知识微调流程,记录实验结果

第八周

任务

  1. 其他
  1. 实战演练-阶段四

输出

  1. 视频课程学习笔记以及作业
  1. 阶段四涵盖预训练模型微调的基本过程,主要目的为熟悉paddleNLP平台,记录实验结果

第九周

任务

  1. 模型压缩入门
  1. 论文阅读
      • 模型压缩综述论文:Model compression as constrained optimization, with application to neural nets. Part I: general framework
      • 其他(推荐计划从事该方向研究的同学阅读)

输出

  1. 视频课程学习笔记
  1. 论文阅读笔记

第十周

任务

  1. 代码实操

输出

  1. 熟悉代码的编写和内在逻辑,记录实验结果
【NIPS 2024】One-Step Diffusion Distillation through Score Implicit Matching 符号收集
Loading...