手把手写深度学习(0):专栏文章导航
0、手把手写深度学习(0):专栏文章导航
专栏文章导航汇总
2、手把手写深度学习(2):用Generative score-based models生成手写数字
作为和DDPM同宗同源的score-based models,虽然没能做到如此火爆,但是其中很多思想都被后来的研究者们借鉴,这篇博客就详细讲解score-based models代码,手把手带读者生成自己的MNIST。
3、手把手写深度学习(3)——用RNN循环神经网络自动生成歌词之理论篇
RNN的出现,解决了CNN在处理时空序列上的糟糕表现。所谓时空序列可以简单理解上前后的输入是有联系的,比如自然语言处理,我们说的前一句话和后一句话之间是有联系的;智能视频处理,每一帧的前后是有联系的;雷达信号,每个信号之间是有联系的……传统的图像处理,图像中的每个像素点,这些像素值之间是没有联系的。我们利用RNN做一个自动歌词生成器,本文先介绍一下RNN的理论基础。
4、手把手写深度学习(4)——用RNN循环神经网络自动生成张靓颖歌词
有了上一篇的理论基础,我们正式开始动手实践。作为张靓颖的六十年铁杆歌迷,我们这次就拿“小海豚”做实验,看看能不能用RNN写出来自己的靓式情歌。
5、手把手写深度学习(5)——Pytorch+RNN自动生成邓紫棋风格歌词
前面两篇文章讲了RNN的基础理论和用mxnet搭建一个RNN网络,自动生成歌词。本文是时候亮出我三十年邓紫棋歌迷的身份,用使用更广泛的Pytorch框架,搭建一个RNN模型,用来自动生成邓紫棋风格的歌词生成器。
6、手把手写深度学习(6):用最简单的神经网络多层感知机识别数字
MLP多层感知机是多少人神经网络入门的初恋,这一讲从基础的多层感知机原理出发,搭建一个能够识别手写数字的MLP。众所周知,深度学习是一门工程学,我们从基础的MLP出发,一步一步手把手调参,在实践中感受调参的乐趣,优化baseline的效果。
7、手把手写深度学习(7):用GANs生成手写数字
2014年GANs在NPIS大会上被提出,但是因为种种原因沉寂了两年,直到DCGANs横空出世,将GAN和CNN完美结合,才真正打开了GANs井喷时代,一下子成为最强风口。好几年过去了,热度有增无减。这一讲从DCGAN的原理出发,一步步深入,用DCGAN生成手写数字。
8、手把手写深度学习(8)——用LSTM生成手写英文文章
本系列前文介绍了用GANs生成手写数字,生成手写数字的任务是一件非常简单、入门的事情,因为MNIST数据集提供的,像素点非常低,最后生成的效果也非常模糊。要知道,高分辨率的生成一直是深层生成问题中永恒的研究热点。而本讲将手写英文字母当做向量的表达方式,LSTM作为一个非常优秀的RNN网络,广泛用于时空序列的处理。本讲就是用LSTM来生成手写英文文章。
9、手把手写深度学习(9):十大GANs之conditional GANs
和DCGANs一样,conditional GANs在GAN的发展历史也具有划时代的意义。CGAN是首次允许生成具有特定条件或属性的图像。就像一个核反应堆,第一次能够做到可控,是非常了不起的。
10、手把手写深度学习(10):用Pix2Pix GANs实现sketch-to-image跨模态任务(理论基础)
2017年GANs正如火如荼地发展,有CGANs、DCGANs等前辈珠玉在前,Pix2Pix GANs横空出世,在多种多模态任务上有着亮眼的表现,并且首次把U-net结构带到了深层次生成模型当中,非常有意义。本文用Pix2Pix GANs实现sketch-image这一跨模态任务。
11、手把手写深度学习(11):用Pix2Pix GANs实现sketch-to-image跨模态任务(实战演练)
上一篇讲了很多Pix2Pix GANs的基础,没想到越写越多,最后写了将近4w字,所以拆分成两篇:理论基础和实战演练分别介绍。这篇讲怎样用pix2pix GANs完成sketch-to-image任务,重点放在代码演练上。
12、手把手写深度学习(12):CycleGANs伟大的风格迁移理论基础篇
前几篇博客讲了pix2pix GANs,能做点对点的转换,并且需要成对的数据。本文介绍cycleGANs,不需要成对的数据集,能做域之间的转换,能做很多有趣的应用:风格迁移、物体变形、季节转换、图片增强、色彩转换、老照片修复、白天黑夜转换等等。这篇博客先学习一下循环生成对抗网络的理论基础。
13、手把手写深度学习(13):使用CycleGAN将苹果转换成橘子
上一篇介绍了CycleGAN相关的理论基础,这次我们动手实践,用CycleGAN将苹果变成橘子。学会之后我们用相同的方法,能把白天变成黑夜、野马变成斑马、夏天变成秋天、油画变成照片、梵高画变成莫奈画等等。
14、手把手写深度学习(14):如何利用官方预训练模型做微调/迁移学习?(以Resnet50提取图像特征为例)
对于transformer、resnet等网络较深、很难训练的模型,使用官方提供的预训练模型,然后在自己的数据集/应用场景下微调,同样能取得非常棒的效果,也是最省时省力的方法。本文以训练一个resnet50网络来提取图像特征为例,详细说明怎样使用官网预训练模型进行迁移学习,怎样在实际应用场景下使用微调模型。
15、手把手写深度学习(15):在Hugging Face上构建自己的语料库
tokenizer是NLP pipeline的核心组件之一。核心作用是:将文本转换为模型可以处理的数据。模型只能处理数字,因此tokenizer需要将我们的文本输入转换为数字数据。本篇博客教大家如何在Hugging Face上构建自己的语料库。
16、手把手写深度学习(16):用CILP预训练模型搭建图文检索系统/以图搜图/关键词检索系统
CLIP is all yuo need!CLIP在text-to-image、图像检索、视频理解、图像编辑、自监督学习等领域都展示了极强的统治力,这篇博客手把手教大家搭建自己的图文检索系统,能在检索指标上一举秒杀过往的工作,展示CLIP极强的统治力!
17、手把手写深度学习(17):用LSTM为图片生成文字描述(Image-to-text任务)
近年来text-to-image的任务非常火爆,大模型如Della、Imagen、GLIDE等都取得了良好的效果;其镜像任务image-to-text的相关研究却比较少,这篇博客手把手带大家用简单的LSTM网络搭建一个image-to-text系统。
18、手把手写深度学习(18):finetune微调CLIP模型的原理、代码、调参技巧
在前面的博客《手把手写深度学习(16):用CILP预训练模型搭建图文检索系统/以图搜图/关键词检索系统》中介绍了如何在图文检索、以图搜图、关键词检索等任务中使用CLIP。这篇博客重点讲解代码和调参技巧。
19、手把手写深度学习(19):从零开始构建Pytorch深度学习项目架构
在工业界,特别是构建超大规模分布式系统的时候,TensorFlow有着不可替代的优势。但是在学术界,特别偏爱pytorch。pytorch易学易用是近年来越来越流行的重要原因。本文讲述一个深度学习项目的整体架构,手把手教你如何从零构建一个基于pytorch的深度学习项目。
20、手把手写深度学习(20):搭建LLM大语言模型的敏感词过滤系统
随着Llama 2、通义千问7B等越来越多的大语言模型开源,开发者们可以基于这些开源的模型搭建自己的对话系统、Agent等。但是因为我们的国情,需要开发者对这些模型进行一些特殊的“安全性”考虑,保证与用户的交互不会出现“有害信息”。这篇博客手把手教大家搭建一个大语言模型的敏感词过滤系统。
21、手把手写深度学习(21):用PEFT LoRA微调Stable Diffusion
#扩散模型#PEFT由Hugging Face荣誉出品,是现在微调大模型最常用的库之一。这篇博客首先介绍PEFT LoRA微调Stable Diffusion的原理,然后讲解代码,并整理出完整可运行的脚本,已在GitHub上开源。
专注探索Diffusion Models、Score-based Generative Models等深层生成式模型,持续更新分享最前沿技术。