datawhalechina / DOPMC

Datawhale 开源项目管理委员会(Datawhale Open-source Project Management Committee,简称DOPMC)
202 stars 21 forks source link

从零手撕神经网络 #176

Open Hongru0306 opened 1 year ago

Hongru0306 commented 1 year ago

你是否已经阅读并同意《Datawhale开源项目指南》?

你是否已经阅读并同意《Datawhale开源项目行为准则》?

项目简介

本项目是一个面向神经网络学习者的模型原理教学教程,旨在从零手写各个神经网络,打牢深度学习基础,同样也可以作为深度学习面经参考。主要内容包括:

  1. 经典网络原理讲解,模型介绍
  2. 手撕神经网络,从零搭建整个网络并输出预期形状的tensor
  3. 完善网络,构建dataloader达到能够训练的状态

立项理由

  1. 随着深度学习的迅速发展,使越来越多的初学者往往直追热点,对模型以及原理方面的知识不求甚解。创办此项目的初衷是解决从应用到原理的障碍,使深度学习者能够看懂神经网络黑箱,从而能够更深一步地探索黑箱地边界。

  2. 除面向初学者之外,对于深度学习求职者来说,对于神经网络原理地考核也是面试过程中不可避免地一环,创建本项目也是能够为在前沿奋斗的deep learner在工程项目之外,进一步温习模型内部结构,从而更有利于自身工作的发展。

项目受众

具备基础python能力,想系统学习神经网络模型原理与实现细节。

深度学习岗位求职者,对模型原理做系统复习。

本项目对本地硬件要求基本没有,不需要GPU环境,个人电脑及服务器均可用于学习。

项目亮点

  1. 充分面向模型解释性,对神经网络模型从零复现,并进行详细解释。
  2. 充分挖掘神经网络模型内核,温故而知新。
  3. 是经典的网络模型的笔记本,也是科研道路上的"字典",不放过模型的每一处细节。

项目规划

第一张 基础通识 1.1 MLP
1.2 BN
1.3 LN
1.4 CNN-卷积核
1.5 RNN
1.6 基础卷积核网络--Resnet、Densenet
1.7 基础时序网络--LSTM、GRU
1.8 Attention--Dotattention、MSHA

第二章 计算机视觉基础--肖鸿儒,王熠明,高彪栗(我同门)

2.1 图像分类
2.1.1 VIT

2.2 目标检测
2.2.1 Yolov5
2.2.2 DETR

2.3 图像分割
2.3.1 Unet
2.3.2 Deeplab

2.4 对抗神经网络 2.4.1 GAN 2.4.2 VAE

第三章 自然语言处理基础--邹雨衡,宋志学,邓宇文
3.1 Transformer
3.2 BERT
3.3 GPT
3.4 T5
...

第五章 图神经网络基础
5.1 GNN
5.2 GCN
...

第六章 语音--王熠明
...

困难:部分章节如语音,图神经网络,对抗神经网络等作者缺乏了解,需要有一定实战理论基础的大佬进行补充。对于面试契合度方面缺乏面试经验,需要有面经的大佬对项目整体难度以及范围规划进行指导!

项目负责人

负责人: 肖鸿儒
Github: https://github.com/Hongru0306
联系方式:VX-18754180306

备注:发起立项申请后DOPMC成员将会在7天内给出审核意见,若7天内无反对意见则默认立项通过~

ZhikangNiu commented 1 year ago

是使用pytorch实现?还是使用numpy从头实现?如果是pytorch的话能否可以和thorough-pytorch合并更新?【最近开始v2更新】

GYHHAHA commented 1 year ago

主题过多,建议和已有项目合并,如无法合并应当进行拆分

Hongru0306 commented 1 year ago

是使用pytorch实现?还是使用numpy从头实现?如果是pytorch的话能否可以和thorough-pytorch合并更新?【最近开始v2更新】

打算基于torch,可以合并,但是看了原thorough的repo后感觉整套体系过长,可以的话能不能单独列一个本项目的分支,本项目初始想法是做一本面经手册,过于底层原理或者复杂算子类的不想杂糅进去了。

ZhikangNiu commented 1 year ago

是使用pytorch实现?还是使用numpy从头实现?如果是pytorch的话能否可以和thorough-pytorch合并更新?【最近开始v2更新】

打算基于torch,可以合并,但是看了原thorough的repo后感觉整套体系过长,可以的话能不能单独列一个本项目的分支,本项目初始想法是做一本面经手册,过于底层原理或者复杂算子类的不想杂糅进去了。

在thorough-pytorch教程v2会添加examples的部分,记录多个模型多个任务完整训练的pipeline。顺便问是单独实现model,还是实现训练的pipeline?同时,语音整个单独模块的话后面会有一个教程出来。

Hongru0306 commented 1 year ago

是使用pytorch实现?还是使用numpy从头实现?如果是pytorch的话能否可以和thorough-pytorch合并更新?【最近开始v2更新】

打算基于torch,可以合并,但是看了原thorough的repo后感觉整套体系过长,可以的话能不能单独列一个本项目的分支,本项目初始想法是做一本面经手册,过于底层原理或者复杂算子类的不想杂糅进去了。

在thorough-pytorch教程v2会添加examples的部分,记录多个模型多个任务完整训练的pipeline。顺便问是单独实现model,还是实现训练的pipeline?同时,语音整个单独模块的话后面会有一个教程出来。 初始想法是面经手册,model整体构建完就想结束了,整体训练的话感觉太冗长,作为面经的话效率有些低。团队想法可以先实现model后续再开训练pipeline的分支,您这边可以吗?

zhanhao93 commented 1 year ago

如果是做面经向的话,建议在项目中突出这一部分的内容

finlay-liu commented 12 months ago

和已有的项目重叠,不建议立项。

ganggangdit commented 9 months ago
image

开篇有错别字,“章” 非“张”