




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
從作品中學習專家創作1AI建模師手冊<第12集>從作品中學習專家創作By高煥堂/AI建模師俱樂部會長12.1前言12.2從作品中學習專家創作12.5GAN從人類畫作中學習繪畫2***本文摘自高煥堂的下列書籍******以及北京【電子世界雜志】連載專欄***IT算機只能向人類的編程(作品)學習到<邏輯性智能>。今天,像繪畫、音樂、文學作品等,人類逐漸知道了如何把豐富的直AI從人類作品(如語句、小說詩篇等)學習捕捉創作者的<非邏輯性智人類天生都有一項能力,就是:人人皆有的觀察周遭世界的<非邏輯。AI的特長就是使用更接近人類的<非邏輯化>方式去識別周遭的事從作品中學習專家創作3法邏輯化的)的復雜現象,例如新冠AI近人類的<非邏輯化>方式去認識周遭的事物,包括人類看不到的(也因而無法邏輯化的)的復雜現象。所以AI從莎士深的行業專家,其直覺性智慧愈豐富,表與人類專12.2從作品中學習專家創作:AI學習。還是關于<巧媳婦>的資料,還是關于<飯>的資料呢?假設這只是一般家庭的廚房,沒有任何食譜。只有鍋爐、水、米、飯這樣思考,您就能輕易掌握<AI生成>的真諦了。在AIGC潮流下,4的答案是:關于<飯>的資料。因為<飯>是專家(如巧媳婦)的作12.3GAN模型的學習模式典型的GAN架構GAN模型里,包含了兩個小模型:判別器與生成器。其中,判別器如同<老師>,而生成器則如同<學生>。從作品中學習專家創作5works6GAN個重要角色:生成器GAN的學習模式:教學相長學生和老師,兩者都是從零開始,共同成長。從作品中學習專家創作7雖然老師不會畫,但它會拿學生作品來與龍貓漫畫書來做特征對比。如果學生作品沒有龍貓漫畫的重要特征,就會感覺畫得不像。8老師發現了學生作品里沒有龍貓漫畫的重要特征:胡須。老師就要求學生加以改善。從作品中學習專家創作9老師又發現學生作品里少了龍貓漫畫的另一項特征:娃娃哭時嘴巴張老師就要求學生加以改進。兩者互相較量,又協同創新、教學相長。像上述的協同創作機制,特別稱為生成對抗網絡(Generative從作品中學習專家創作11例如下圖里,左圖是鑒賞者所握有的原圖,而右圖則是創作者所生成(數據源:/uai2017/media/tutorials/shakir.pdf)GAN是一種能夠生成新數據的神經網絡。你可以輸入一點隨機噪音GAN網絡模型,是由生成器和判別器兩部分組成,以非監督式機器GAN模型最后會收斂并生成自然外觀逼真的圖像。我們使用真畫作(假品)。為了讓您更容易理解上述的共同成長過程,于此特別拿<射飛鏢>的12.4以GAN學習<射飛鏢>為例在上一節里,您已經熟悉了GAN模型的兩個主要角色是:判別器r<射飛鏢>的范來說明之。閱讀完本節,您將很熟悉如何訓練GAN模型,并且進12.4.1AI從作品中學習<射飛鏢>教練的智慧從作品中學習專家創作13此時,兩人都還沒有學習過射飛鏢的技能。于是,就請一位教練(即專室,回家去了。請您想一想,此時這位格格學習射飛鏢呢?由于這位教練已經離去了,所以他不能親自指教格(2)我們也無法藉由設定T(目標值)的方式,把他的專家(射飛鏢)智從作品中學習專家創作1512.4.2以Pytorch實現<射飛鏢>的GAN模型##px07_03.pyimportnumpyasnpporttorchorchnnasnnimportmatplotlib.pyplotaspltdefsigmoid(y):return1/(1+np.exp(-y))NoiseSize=16noise=torch.rand(NoiseSize)*15.0#準備真品(教練投鏢)real_data=np.array([[0,0],[-0.2,-0.3],[0.2,-0.3]]).flatten() real_X=torch.tensor(real_data).float()ones#定義D(丫環)模型lerselfinitrnnLinearLineardefforward(self,X):H=torch.relu(self.layer1(X))Y=self.layer2(H)turntorchsigmoidY#定義G(格格)模型superGeneratorselfinit__()selflayer=nn.Linear(NoiseSize,32)Lineardefforward(self,N):Y=torch.relu(self.layer1(N))returnselflayer2(Y)inatorG=Generator()#損失函數soptimizer_d=torch.optim.Adam(D.parameters(),lr=0.0002)optimizer_g=torch.optim.Adam(G.parameters(),lr=0.0002)TZ=D(X)從作品中學習專家創作從作品中學習專家創作17optimizer_d.zero_grad()ssbackwardretaingraphTrueoptimizer_d.step()deftrain_G(N,T):Y=G(N)new_X=YZ=D(new_X)optimizer_g.zero_grad()optimizer_g.step()deftrain(epochs,steps):forepinrange(epochs):new_X=G(N)welifif(ep%steps==0):ounddlossnpgloss", ax=np.reshape(real_data,(3,2))#把隨機構想(噪音)給格格,生成新品(假品)new_X=G(N)fx=new_X.detach().numpy()fx=np.reshape(fx,(3,2))ltylimpltscatteraxax1],c='red')pltscatterfx[:,0],fx[:,1],c='blue')tshow#ENDe從作品中學習專家創作19defforwardselfNein20train(50,10)從作品中學習專家創作21train(1000,200)22***************************************從作品中學習專家創作2312.5GAN從人類畫作中學習繪畫24#px07_05.pyimportnumpyasnpporttorchorchnnasnnfromtorchvisionimporttransformsttorchvisionutilsasvutilsimportmatplotlib.pyplotaspltimporttorch.optimasoptimfromPILimportImageimportosimportglobtorch.manual_seed(1)noise_size=100#生成噪音從從作品中學習專家創作25returntorch.randn(1,noise_size)transform=transforms.Compose([transformsResize,128)),transforms.ToTensor(),transforms.Normalize([0.5,0.5,0.5],0.5,0.5,0.5])])#實際讀取*.png圖片forimageNameinglob.glob('c:/oopc/animal_zebras_data/train/class0/*.png'):image=Image.open(imageName).convert('RGB')image=transform(image)face_images.append(image)#實際讀取*.jpg圖片zebraimages]forimageNameinglob.glob('c:/oopc/animal_zebras_data/train/class1/*.jpg'):image=Image.open(imageName).convert('RGB')image=transform(image)zebra_images.append(image)cond_0=torch.zeros(1,1).long()ngltorchones226classname=m.__class__.__name__ifclassname.find('Conv')!=-1:torch.nn.init.normal_(m.weight,0.0,0.02)elifclassname.find('BatchNorm')!=-1:torch.nn.init.normal_(m.weight,1.0,0.02)torch.nn.init.zeros_(m.bias)lerselfinitself.cond=nn.Sequential(nnLinear)self.model=nn.Sequential(nn.Conv2d(6,64,4,2,1,bias=False),nnLeakyReLU2,inplace=True),nn.Conv2d(64,128,4,3,2,bias=False),nn.BatchNorm2d(128,momentum=0.1,eps=0.8),nnLeakyReLU2,inplace=True),nn.Conv2d(128,256,4,3,2,bias=False),nn.BatchNorm2d(256,momentum=0.1,eps=0.8),nnLeakyReLU2,inplace=True),nn.Conv2d(256,512,4,3,2,bias=False),nn.BatchNorm2d(512,momentum=0.1,eps=0.8),從從作品中學習專家創作27nnLeakyReLU2,inplace=True),nn.Sigmoid())defforward(self,x):image,cond=xc=self.cond(cond)c=c.view(-1,3,128,128)concat=torch.cat((image,c),dim=1)z=self.model(concat)superGeneratorselfinit__()self.cond=nn.Sequential(self.noise=nn.Sequential(nn.Linear(noise_size,4*4*512),nnLeakyReLU2,inplace=True))self.model=nn.Sequential(nn.ConvTranspose2d(513,512,4,2,1,bias=False),nn.BatchNorm2d(512,momentum=0.1,eps=0.8),nn.ConvTranspose2d(512,256,4,2,1,bias=False),228nn.BatchNorm2d(256,momentum=0.1,eps=0.8),nn.ConvTranspose2d(256,128,4,2,1,bias=False),nn.BatchNorm2d(128,momentum=0.1,eps=0.8),nn.ConvTranspose2d(128,64,4,2,1,bias=False),nn.BatchNorm2d(64,momentum=0.1,eps=0.8),nn.ConvTranspose2d(64,3,4,2,1,bias=False),defforward(self,x):noise,cond=xn=self.noise(noise)n=n.view(-1,512,4,4)c=self.cond(cond)c=c.view(-1,1,4,4)ncattorchcatncdimimage=self.model(concat)inatorG=Generator()optimizer_g=optim.Adam(G.parameters(),lr=0.0005,betas=(0.5,0.999))optimizer_d=optim.Adam(D.parameters(),lr=0.0005,betas=(0.5,0.999))從從作品中學習專家創作29TZ=D(XC)optimizer_d.zero_grad()ssbackward
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB62T 4218-2020 小麥品種 成豐2號
- 網絡科技公司五年用戶增長計劃
- 人力資源招聘專員崗位職責
- 高一下學期數學課堂管理策略計劃
- 航空航天項目的進度控制與保障措施
- 科研機構后勤保障崗位職責
- 基礎設施建設項目助手崗位職責
- 2025年秋季學生心理健康輔導計劃
- 藥物中毒的護理問題及措施
- 企業消防應急演練實施計劃
- 醫療壓瘡護理
- 2025屆柳州市重點中學八年級物理第二學期期末考試模擬試題含解析
- 線路改造合同協議書
- 《髖關節鏡手術患者》課件
- 人教版PEP版2025年三年級下冊英語期末試卷(含答案含聽力原文無聽力音頻)
- Unit8Wonderland(Weletotheunit)課件-譯林版(2024)七年級英語下冊
- 高考數學17題 立體幾何-2025年高考數學沖刺復習(北京專用)解析版
- 浙江開放大學2025年《社會保障學》形考任務3答案
- 2025-2030年中國腰果酚市場競爭格局及發展前景研究報告
- 2025年浙江省寧波市一模科學試卷
- 智能制造對融資租賃行業影響-全面剖析
評論
0/150
提交評論