欢迎光临散文网 会员登陆 & 注册

【AI绘画】深入理解Stable Diffusion!站内首个深入教程,30分钟

2023-07-24 20:24 作者:竖土不立  | 我要投稿

【赛博佛祖教程语录】00:05 大家好,我是秋叶,今天来直播给大家做一个关于Stable Diffusion的分享。这个课程本来是今年年初说要给一个企业讲的课,但是由于今天早上直播的时候看到别人嘎韭菜。实在是绷不住了,所以决定把自己以前录的内容再讲一下。哎,这个课会有录播,我稍微晚些的时候剪辑一下,会投稿视频。然后这次分享主要会以Stable Diffusion模型结构为主,重点串讲它的运作过程。基于这个结构来介绍一些模型,比如LoCon LyCORIS,嗯,然后还有一些其他东西。 

00:43 总之就是大不爱是这么有感觉吧。吼,那么就直接开始上来呢。就是这张图还是比较炸裂的,所以我一直也担心我在讲这些东西的时候,大家到底听不懂,听不懂?不管怎么样,反正就是提到Stable Diffusion,就必须要说这张图。呃,这是Stable Diffusion的祖宗,也就是Latent Diffusion。论文提出的这个结构我们可以看到,从左到右是分为三部分的,第一部分是这个Pixel Space。然后第二部分是Latent Space,然后再下一部分是conditioning,这部分的是作为条件输入,包括我们平常输入的文本,都是在这里输入的。然后呢,我们平常所在的图片是这个Pixel Space,就是像素空间啊,啊字比较丑,就是我们平常的看的正常图像,然后Latent Space呢,就是所谓的潜空间了,或者也可以叫什么隐空间呀,什么各种东西,反正它就是Latent Space,像素空间经过这个一个E,一个D,这个呢,就是我们平常说的VAE。VAE呢,充当潜空间和像素空间的桥梁,然后实际上上边这部分可以不用看,因为我们,因为我们现,因为我们平常用的时候是下半部分啊。下层部分我们首先输入text,然后传到这个QKV,QKV是叫一个cross attention。 

03:01 也就是交叉注意力层。然后呢,这个整个这个结构呢,它是叫U-NET,也就是U,呃,反正就是U-NET,U网络吧,这个东西然后它在这里不断的迭代,这里不断的迭代,多少次,多少次。这是一个右边,这个大额是大图,然后左边的是小图,实际上是它在不断的在这里迭代,迭代,迭代多少圈儿,然后这个实际上迭代多少圈儿呢?它就是Step,这就是整个的SD的一个基础的上张图片的过程是我们平常用的是下半部分啊。下半部分,上半部分呢,是从给正常图片,然后增加叫,增加噪声,然后得到一张混乱噪声图片,这个部分是用来训练用的,然后下半部分才是我们平常用生成图片的部分。在我们平常生成图片的时候,首先我们输入Text,然后经过这个这个东西,然后经过这个东西以后,可以你可以把它看作是变成生成条件。然后生成条件,通过cross attention,然后和U-NET进行结合,然后去引导SD的生成图片,然后在生成图片的整个过程当中呢。 

05:01 都是在这个LIGHTNING的SPACE,也就是浅红间内运作的。浅红间内运作为什么要在浅红间内呢?浅红间是因为浅红间你可以把它理解成一个压缩过的空间原因。用浅红间的原因就是说,现在计算算力如果直接算那么大的图片呢,它不是很好,比如说我们平常家用的电脑啊,那它算不过来。其实LATEDEEPION就是CBDIFION的祖宗啊,也就也经常就是有一个算传是它比较绿色低碳。就是因为它用了这个,然后它的计算量会减显著减少很多。然后呢,这个就是整体的SD模型基础的结构原理了再往下走呢,因为CBDIFION呢,目前是讲的是我们先要输入一段文本吧。比如说一个,然后我们需要经过一个文的编码器,然后才到了UNIUNNE是主要双张图片的部分。然后最后呢经过UNI的双称弯图片,然后送到VA里,然后再到了正常图片,是这么一个流程。 

 

06:10 所以文本编码器我们平常也会,如果玩儿得多的话也会训练到它是什么东西呢?它其实是KEEP反用的是CRE的TEINC部分KEEP的其实它是一个基于对比你的文本图像预下来方法。它是一种基于对比学习的动漫态模型。反正哎,再讲深了,可能也基本上听不懂吧。基本上就是,你只要知道它是这样子的,我们输入一个词语,然后经过TOKENES以后得到一组数字。一组数字,然后经过这个叫INUP的东西,然后再送入TRANSFOR,然后最后得到了一个上升条件,然后在这个东西去指导U-NET上升图片。实际上大家应该知道有一个叫隐白ING的东西,也就是TEUREVERION,或者说叫文本繁衍,那个训练的模式就是IN白ING模型很小的那一个。 

 

07:10 他做什么呢?他就是做了一个,在IN白LOUP这里做了一个对应,然后呢,他就知道你输入的这个词,它就是那个INING了然后它更加准确然后接下来呢就是这个UNNE了UNNE实际的生成图片的部分都是在这里。呃,在这部分会对生成的噪声进行降噪,一步步的然后最后成为一张正常的图片。当然这个可能还是比较难看懂,那我们来换一个图,这个可能就知道是什么东西了。这样子大家应该都很熟悉,好吧,就是这个混色,见什么混魔MIX,这样大家就都很熟悉。它是一个U型的这么一个东西,所以它得名叫UNNEUNNE的结构就差不多是这样子的。 

 

08:01 这张图比较小,我实际上是有一张更大更清楚的图片的,但是不在这个IPAD上,反正它就是长这么样的一个东西这就是实际上用的UNNE的样子啊。它好大就是这样的就是我从知乎位巴大佬坏的兔毛过来了。ICOMA二DRENE,然后经过TRANSFOR这样一层层走下去,然后中间一层,然后再走上去,是这么样的一个结构。然后呢,实际上我们我这是插一嘴啊,后边会继续讲这个东西,我们睡难的。正常的LORA就是修改的是这个TRANSFOR的这个东西里边儿的一小部分看到这个紫色的这个东西修改是这里边的一小部分所以说正常的常用的LORA。它是不会对U-NET整个层进行修改的,所以说LORA在一部分程度上它会比较控制性更弱一些。 

 

08:58 最终的缘由就是在这里,它实际上只修改了一小部分。好吧,那接下来这个先放在这里不讲,然后我们再继续往下。然后实际上刚才也说过,我们最后通过KLI得到的CONITION是怎么和UNNE结合起来的呢?就是在这里的,CROSSATION就这么是利用这个东西结合起来的其实也不需要知道它具体是怎么回事的。你只要知道它是这么结合的就行了,实际上在身也不会用着了。然后呢,我们常说那个叉FORMAS呀,最终都是在CLOSESTATTENTION这地方的优化。所以才让它速度不快。 

 

09:36 然后唯E这个就不讲了,也讲过很多遍了,它就是它就是在的就是浅空潜空间和潜空间和实际的像素空间之间的一个桥梁。好像这么多听不懂的估计也已经云图,然后等会会讲一点儿轻松一些的东西,就这样,刚才讲了这么多的话,要是结合康UI来看的话会更直观一些。嗯,但是嗯,怎么说呢,也其实也没有那么直观吧,就先这样。然后我专栏是详细讲过这部分的,一个就是二月二号发的那个专栏,叫大魔导书,可以看一看,里边有一张就是更加简单的图片,我现在放出来是长这样子的,其实和我刚才讲的东西是一样的,就是输入一个单词,过了文的连码器,然后得到一个东西,然后去知导UNNE生成图像,然后UNNE生成图像实际是在潜空间内的。然后通过VAE转化成正常图片。我们平常用的死机种子就是产生噪声图用的是这么一个东西,然后基本上就是这样子的。 

 

10:46 知道了这个结构以后这下模型就会变得更加好理解一些啊,不要录屏这个可以这个会之后会发的然后就是我们场站的一些渲染模型的方式有这几种。一个是TECHION,也叫文本繁衍,然后现在出来的就是我们平常用的叫INBADING的那个小模型。就是几十K的,经常什么EZNETIVE就是这个。然后下一个是HYNETWORKHYNETWORKOOK现在用的比较少了,嗯,但是SD用的HYNEWORK和实际的HYNEWORK论门还是不太一样的。这个因为用的比较少,所以我也不展开讲哦,大家知道有这么多东西就行了。然后下一步是FAN或者是DREAMBOSDREAMBS,就是直接微调,然后FIN的或不是呸呸呸说法的时候FUNFANT是直接微调然后DREAMBOSS的话实际上是改善的改良版的一种饭厅。它引入了一些之前我性生成的图片来防止模型忘记以前学的东西。可以这么理解,就是发言听友加正则化就是真BOSS。然后再接下来就是LORALORA,然后以及它对应的青验了做的LI克BEKRE。 

 

12:06 这俩有什么区别呢?刚才我们看到那个实际上原本的LORA会会只对只对UNI改了一小部分。然后LIC呢?因为引入了对COLTION,就是卷机的地质分解,所以它能改的更多一些,就是它能改到REINE部分。所以LIC的对模现在这个LIC更加容易,过你后,它对网络的控制性也越强。然后是它收最开始是这个它SHOWION它就是那个INBA模型INBUY模型刚才我也讲了实际上是在实在。实际上是在尹半尿哈这里做了文章,经过这个加了一个尹半宁,就是加了这么多东西星,这样子的话,专这个专有名称S,然后我们再给这个这个,我们再给这个S配有一个专有的语义向量。然后这样的话那个可以就是文本编码器一旦见到你输入这个词,那就知道是这个专有名词,就知道去找对应的语音向量了。然后它说ION在WBYUONE里边儿,就是很容易找到对应的时间位置,这个就不讲了这个当时这个当时是直接看代码的这部分还是比较难一些然后再接下来的就是FANTO和真BOSS这个真BOSS啊。 

 

13:26 答错了DREAMBOSS本身就是FAN的一种加了一个小TRI它是一种翻听的方法。但是由于叫法的洗惯,它练大模型这件事本身经常就会被叫成练DB。这怎么说呢?其实一个历史遗留问题,最开始练大模型都用JANBOS,没人翻听,然后就习惯性就都叫成DREAMBOS了。然后翻听或者说DREAMMBOS有很多种可以训练的方式我介绍了我之前视频里介绍的是一个在线训练的脚本。支持翻译听友和DREAMBOSS,它还是比较方便的,因为我也经常会维护。 

 

14:07 然后除了这个,大家还可以选择一些其他的训练脚本,比如说NINEDIFFERENTIFION。这是一个训练脚本,我最近经常在用的然后再接下来就是一个,也是一个国人大佬开发的,叫HCPD,这个用的人比较少,因为它虽然功能特别强,但是它比较复杂。然后在下一步就是COER的那个,就是日本人的那个训练脚本或者训练UI,嗯,这个的话它它的那个MATTADATA有点儿诡异所以我不是很喜欢用它但也是可以选择用的一个东西呃。在之后就是DREAMBUS的插价了,这个我是非常不推荐使用的嗯,因为他还很久没有更新过了。然后就是你安了DREAMBOS的插件,经常YBY就就戒了,就打不开了。然后除了这些以外呢,我看弹幕也有人说用DFEELSUS的脚本,DFEELS的脚本,那个不是,怎么说呢,和我我的那个炫达脚本就是在别人改的地桌色脚板上边儿再改的。其实基本上基本上源头都是地桌色四脚脚板。然后怎么说的呢,这个DREAMBUS训利有很多人经常会问一些猜数啊什么的,这个其实我只能说我推荐的基础学习率就是三E负六。因为每个训练你东西不同啊,素材不同,很多东西都不同,学习率还是需要自己进行慢慢找的。 

 

15:48 然后BASIZ就是BS,这个东西其实也是看自己慢慢找的,基本上如果你训练级的话就一百张左右那就不用调到太大也就调到二或者三都可以了然后KL或者Q的LR也都可以开这个我在之前的视频里面讲过都可以没问题不开其实也可以。没有太大的区别。然后当我们的线链素材达到七万张的时候,这个白痴塞子就可以能开到,多到就开多到了。然后呢,线链的部署,百张左右的图片,一万步以内我觉得基本上都是可以的,再多的情步数再高的话,它可能就直接过你河了。然后图片多的情况下,可以就是不按步数看了。按步数看还是有点难算,就你直直接训量五被EPEC往上就基本上有效果了,然后再接下来很重要的一点是打标。打标这个的话因为很多人都用TIGER什么自动打标嘛,然后有人就喜欢要标签多得多得多。然后就调到了自动准确率调到零点一什么的,其实我不是很推荐那个置信度调得特别低,我觉得零点三五以上就差不多了然后如果你手动达标的话。 

 

17:13 那就尽可能准确全面吧,这个也没什么可说的。嗯,在之后就是底膜和素材,底膜的话,现在底膜还是尽量选择与现在物体相同相似的,可以可以尽量的减少一些你的训练难度吧。当然其实无可能的话还是准备尽可能多的素材,然后从基础模型直接进行翻听的效果会比较好一些。就比如说基础模型就包括比如说SD一点五,然后还有NOVAAI的那款模型,素材就不用多数的,近大幅复多样嘛,不要运用那种什么表情差分图,不是很好然后白质赛子我推荐它应该是第一确第一个确定的参数然后先确定白质赛子以后再来去尝试调整实习率。随习率呢?一用我习惯性是从小到大的去尝试,然后最为重要的是步数,因为步数嘛,我尽到可以往多跑,然后看一些自保存的步数少的模型。自己去试一试就行了。然后再接下来就是LORA的原理了,这部分怎么说呢,哎,讲就讲吧,不是很想讲,我们就是因为我们调整这个微调AI后话这模型嘛就是要么就是直接微调翻。然后就是真不死,基本上就是这两种路然后LORA呢,它是一个算法它是去简化,微调时候的算法它并不是说一个单独的什么东西。 

 

18:52 LORA是什么呢?我们可以看LORA的那个论文里边的这张图,它其实是一个。我找一下那个论文啊,我IPAD上没有。实际上是这么一个东西,WW零加上德特W等于W零加上BABA,就是这里的这个东西,A是做降维的,B是做升维的,W零是原本的,这个东西就是他这里给的图像是D成RD成D的。然后B然后经过A降维降成了R,然后降成了R以后然后B再升维升回去以后升回去了以后再加上这里。首际上我们就可以理解成开了一个旁路去在第一维微调,然后再加回去。大概就是这么一种感觉,就是开了一个小的东西去调整,然后再加回去就行了。就是这么一种感觉。我再讲的深了,可能就涉及到复学了。 

 

19:56 那它调的是哪呢?我刚才也讲了很多次,它调的是TRANSFROM的那个一部分的东西哎,那张图呢,我找下那张图刚才的那张U-NET图像在这里啊。调的是这个TRANSF这个紫的东西,紫的东西它里边儿它调,我刚刚也讲过,它是调的里边儿的一部分东西,也就是线性层LI,线性层这部分因为所以这也是为什么它没调整REDNERENE。它调的应该是剪辑,基本上就是这里,基本上就是这样的感觉了。然后在近阶的话,LI克RIS又是什么呢?它就是一个知识卷击的LORA,它是就是清亚楼做的一个东西,然后它这个东西根据不同的各种算法。什么有氛围镂空,LO哈A撒一堆东西,什么眼滑流的,但实际上我用的不算多,我最喜欢用的还是这个镂空,因为实际上等到等到你不得不用镂空的时候。那还不如去直接直接微调大模型就是我个人的习惯,要么就是老软,然后再上一集就直接去调大模型,老软了配什么LORA就直接调,反挺有了。是这样子的,但是LIS是还是很否用的,我还很喜欢。然后LORA训练参数的条件上来说,还我个人最喜欢的还是原来的I搭巴比,这套参数也一直是我那个默认参数给的。 

 

21:32 大家实际上很多人懈怠失败就是因为它的步数实在太多了,直接就过你喝了,然后过你喝就会导致TI个失效啊。画面物体,人物出现诡异的细节呀,画面线条变粗啊,就各种这些问题,然后常用的减轻过你合作方式最基础的呢。自然就是减小随机率,减小APPLE和或者四代,其实最简单的还是你少学两拨它就好了。然后数据增强来说的话是在我们面对现在数据不够的时候才会用的,比如说一张例会练LRA那种情况。然后TAXINCOER,其实我不是特别建议训练这个东西,但是如果你不训练的话效果会稍微差一些对接下来就是更换这个OKMIZ就是优化器的经常也有人喜欢就新的嘛。那个神通优化器嘛,然后再下一个就是DROP的做也是非常常用的一个防止过你盒的方式但是DROP别调太大调太大就抢都DROP没了虽然从数据集开始来说的话。我们一般来说的数据增强啊,就是不算SD这部分的,我们可以有很多种不同的数据散开方法。 

 

22:55 比如说调颜色呀,饱和度啊,黑白呀,剪裁呀,旋转啊,反正就是对图片改吧改吧,就算一张新的图票了。实际上我们现在模型的话很少会用这个东西,因为可能会有一些诡异的效果,然后现在老软的那个东西呢,其实是有一些这个参数可以直接用的。然后实际上我们我自己常用的方式是这个利用已有的AI进行数据增强,比如说啊用土生图,然后CONET那个RE形式就是去参考的那个东西。是一个很好用的东西。然后我们还可以生直接生成一些原本图片的线稿,然后还可以先训练一个差不多的模型,虽然有些过敏盒然后利用这个过你盒加上口说NET去生成新的图片然后上超完新的图片再拿回来继续学练。在之后就是学习率以及乐华气引了。呃,我的教程里一直用的是余弦或者带充启,就是COSVRESULT那个,然后实际上你要是用CO的话也是可以的。 

 

24:08 就是那个常量就是常数的,那个学习率也是可以用的然后随习率就是CHED了就以后就那个调CHED了嘛。然后在之后是我们调件就学习率那个数字那个数值的大小,我们应该是先从D往高试,我建议是从D网高式,再接下来就是优化期常用的IDWID达巴比特。然后LINESGDDADDAWTIONIDFCTOR,然后还有最近新出的那个叫申通的东西。我个人常用的还是IDW,然后也有很多人喜欢用LINELINE也是一个很好的优化器然后常见来说就是要用三分之一的AW学积率然后再去用LINE然后就有很多自适应实际率的优化器就是DAD的那些东西然后还有深通什么的他们也还不错。就是会占用更多的一些显存。那也怎么说呢,确实你就是有时候确实会在一些训练节上崩牛,所以我最推荐的还是ANDAW比特。它差距其实也没有那么大。 

 

25:22 然后如果你限量过,经常容易过你河的话,可以考虑不对TOUCHININCO进行训练就是不对文的编码器进行训练因为TECHIN真的很容易就直接过你河了。然后其实可以有一个东西叫我TEINCOSTOPOP,就是提早停止训的,但是有一些脚本还没有这个功能,所以如果要训练TEINCO的话。尽量调低一些现心率吧。然后就是常见的一个东西叫加正则,加务正则其实就是DREAM布S这个东西我在专栏里也讲过大家可以回去看一看在的后就是如果我们真的现在出了一个过年猴的模型。那怎么去用它呢?其实真的很简单,我们是只需要把参与正常模型融合一下就好了。然后或者说我们使的时候啊,带上CNE进行额外控制,也能减少一些已经过你盒的模型的那个影响。然后针对有部分就是文本编码器过你盒的模型,可以尝试拿来其他模型的文的编码器覆盖掉。 

 

26:35 呃,在之后就是插件的介绍和原理了嗯,比如说CCONTROLNE这部分,其实我不是特别想讲了,因为前面看大家好多人都没听懂。嗯,这还是挺怎么说呢,比之前的稍微难一些吧。嗯,要不今天就先到这里,CNE的下次再单独拿出来一次进行。讲后基本上就这样,希望这些稍微深入一丢丢的知识能让那些嘎韭菜的课司机收来一点儿吧。哦,评话的时间不对,不要在这细节啊。今天的课就到这里了。哎,能清楚我这个还是挺难的,主要是我讲的也不好。本来这个事其实是有稿子的,但是今天我没看,稿子随绩效发挥了。对这个以前我是给其他人讲过一遍的,当时也是有不少人来听,那个是写了稿子的,今天没看那个稿子。 

 

27:39 课件的话不传了,看视频就行了,会有录播的 

 

【AI绘画】深入理解Stable Diffusion!站内首个深入教程,30分钟的评论 (共 条)

分享到微博请遵守国家法律