老饼讲解:一步一步上手深度学习
好了,相信大家学深度学习遇到的第一个难题都是一样的,那就是---深度学习要学什么?~!
事实上,深度学习的内容像海一样多,开始的时候,根本毫无头绪,都不知道要从哪入手,又要学到哪为止。刚开始我也是非常迷茫的,只能慢慢摸着石头过河,在坚持了很长一段时间后,才看透这东西原来是这么一回事。
所以这一节,我们把深度学习目前的内容大概列一下、分析一下,大家心里也就有底、知道要学什么了。
好了,闲话少说,先给大家展示深度学习有哪些主要内容,看图:

这里列的都是核心的模型内容哦,还有很多零零碎碎的内容,例如dropout是什么啦,梯度爆炸是什么啦,零零碎碎的内容列都列不完,所以这里不列这些内容,但只要跟随上述核心内容,一步一步的学,零碎内容自然就会到手了。
大家看到上面那么多内容肯定糊里糊涂的,别急,我们下面梳理梳理、讲解讲解,就知道大概是怎么一回事了。
好了,下面我们来详细逐块讲解深度学习的各块内容。看完下面的讲解,再回头看上面的知识地图,就心中了然,知道各个内容大概是什么东西、它们之间有什么关系了~
首先,是MLP(多层感知机神经网络),它可以说是深度学习的起源。MLP还有个名字叫BP神经网络,在深度学习火起来之前,它可是名声响当当的。深度学习是怎么来的呢,就是从MLP中衍生出来的。

上图就是一个单隐层的MLP神经网络,它也可以有多个隐层,但一般只用一个隐层就够了。要介绍它,一句话就可以了,就是"能学习任意规则",所以大家都喜欢用它来解决各种各样的黑箱问题,例如,用它来解决图像预测问题啦、时序预测问题啦、数据压缩啦,等等,那时大家都说,BP神经网络(即MLP)就是牛X!能解决这么多问题!
虽然大家都说MLP很牛,但实际它的效果也不是那么的好,只是当时的模型都比较弱鸡,它就显得比较牛X。也正是因为它的效果没有那么的很很很好,所以在各个领域应用时,就会开始针对该领域的特性,对它进行一些改造,伴随着这些改造,在不同领域就改出了不同的模型结构,于是,这些用于不同领域的不同结构的神经网络,就独树旗帜,另立山头,也就有了各个模块:
⚫︎ CNN卷积神经网络:用于解决图像问题。
⚫︎ RNN循环神经网络:用于解决时序问题(例如文本)。
⚫︎ 生成模型:用于生成与训练样本类似的样本(例如图片生成)。
⚫︎ YOLO:用于目标检测的一系列模型。
⚫︎ GNN图神经网络:用于解决非结构。
⚫︎ 强化学习:构造智能体,然后通过奖励的方式来训练智能体解决问题。
上面都是面向应用的领域,此外,还有面向深度学习本身的领域:
⚫︎ 初始化算法:用于初始化深度学习模型的参数。
⚫︎ 训练算法:用于训练深度学习的模型参数。
好了,我们还是回到"深度学习要学什么、怎么学"这个问题上来。

首先,你要学习一些基础,例如MLP是什么、模型怎么训练、损失函数是什么等等,这些都是基础内容,尽管它们不算深度学习的内容,但它是学习深度学习的前提。
一般来说,玩过机器学习、或者BP神经网络的同学,在这块基本没有什么问题。但深度学习面向的是大数据、深度模型,所以会与玩机器学习、BP神经网络时的侧重点略为不同,在这方面简单查漏补缺就好了。
在理解了一些基础前提内容之后,就可以开始学CNN和RNN了,它们是深度学习的基础内容。
学习CNN和RNN主要是去学习它们的经典模型,这些经典模型包含了许多深度学习的思想、基础通用方法,因此基本每个学习深度学习的人都会知道它们--不管出自于学习模型、还是理解思想、方法--反正最终大家都知道这些模型和思想,缺少这些通识、学习其它内容时会造成一定的阻碍,在别人提到CNN、RNN的相关内容时很容易一脸懵B。
CNN的经典模型包括:LeNet、AlexNet、Vgg、GoogLeNet、ResNet等等。
RNN的经典模型包括:Elman、LSTM、GRU、BiRNN等等。
这些经典模型,一个一个耐心的看、耐心的玩就好了,这过程相当于一种公认通识,可以不深究,但不能不知道。学完CNN和RNN,才算完成深度学习的基础内容学习。
好了,当学完CNN和RNN,会发现自己还像个小白一样,的确,就是小白一个,别人说什么都听不懂。听到别人说Transfomer、说Attention、说VAE、说RBM、说GAN、说Diffusion、说yolo,一概不懂。别急,这时还真的是小白,还需要继续耐心学,因为这些内容都是深度学习中的热门内容。

首先,是Transfomer相关的。Attention->Transformer->BERT是RNN的延伸,它们算是RNN的一部分,但不属于经典RNN。因为Transfomer效果实在太好太强大了,之后就发展出了GPT之类的大模型(LLM),所以,如果打算快速上手大模型,那就要从这里跑步进场。简单来说就是MLP生了儿子RNN,而RNN靠着Transfomer生出了巨无霸孙子LLM。LLM超级牛,所以Attention、Transformer、BERT肯定也非常多人知道了,毕竟它是通往LLM的必经之路。
其次,是玩生成模型的。大家都知道,图像生成已经快把那些画插画的搞失业了,所以它也是一个非常热门的版块,AE、VAE、RBM、GAN、Diffusion等等,都是这一块玩出来的,所以,你之所以经常听到这些模型的名称,其实都是因为生成模型热门、多人玩,也就多人学习、多人知道,也就会经常被你听到。
当把这Transfomer和生成模型这两个热门东西都撸一遍后,别人说的东西基本也就知道是什么了。
好了,最后是yolo,它是目标检测的专用算法,目标检测就用yolo,它现在已经有很多个版本啦,需要一个一个跟上去,如果要玩目标检测,就要来玩它。
之所以说这些是热门内容,是因为它们已经有很确确切切的实际应用了,追的人非常多,知道的人也非常多,就算不知道,可能也在不经不觉中用过相关产品。之前就有个不搞算法的同事问我,yolo怎么用?我还好奇他咋也跟yolo扯上了,原来他要用yolo来弄游戏外挂。。捂脸。。后来他号被封了,血本无归。
好了,最后的最后,你还是会听到强化学习啦、图神经网络啦、知识蒸馏啦等等,是的,你看到的都是中文名称,为什么呢?因为比较少人去玩(其实也很多人玩,但凡事都是相对的),所以你只能听到版块名称啦!如果你手上挂着这方面的任务,那可以在学完CNN和RNN时就跑步进场了。
哦,顺带说一下,知识蒸馏其实不太算深度学习的内容,更偏向LLM。知识蒸馏就是为了让模型更小,这在LLM中是个热门问题,如果玩LLM,那值得好好研究研究,但如果只玩深度学习,忽略它也无伤大雅。
总的来说,就是先学一些预备内容,再学CNN、RNN这些基础内容,然后学Transfomer、图片生成这些热门内容,最后选择性了解其它不太热门内容就可以了。好了,仍然是那句,这里就跟小白吹吹水,只是让小白白们在入门前有一点点简单的了解,有一点点初步印象和方向感,我可不敢保证这里说的都是对的、全面的~大家随便听听就好~
评论