Tha a’ mhòr-chuid againn eòlach air gineadairean ìomhaigh AI mar Sgaoileadh seasmhach. Tha e mu thràth air an gnìomhachas atharrachadh agus air a thoirt a-steach do ar beatha.
Ach, tha modalan Stable Diffusion tòrr a bharrachd na gineadh ìomhaighean.
Tha uimhir de raointean anns an urrainn dhuinn am fastadh.
Is e modalan matamataigeach a th’ ann am modalan Stable Diffusion. Agus, faodaidh iad do chuideachadh gus sgrùdadh a dhèanamh air daineamaigs atharrachaidhean shiostaman thar ùine.
Tha iad stèidhichte air bun-bheachdan pròiseas sgaoileadh. Mar sin, faodaidh tu sgrùdadh a dhèanamh air raon farsaing de phenomena. Mar eisimpleir; sgaoileadh teas, ath-bheachdan ceimigeach, agus iomadachadh fiosrachaidh ann am margaidhean ionmhais.
Tha na modailean sin gu math sùbailte. Mar sin, faodaidh tu a bhith an dùil suidheachadh siostam san àm ri teachd stèidhichte air an t-suidheachadh làithreach aige.
A bharrachd air an sin, chì thu na prionnsapalan corporra no ionmhais a tha ga riaghladh. Tha am bun-bheachd seo air a bhith glè fheumail ann an iomadh raon. Nam measg tha fiosaig, ceimigeachd, agus ionmhas.
Sin as coireach gu bheil sinn airson tuilleadh sgrùdaidh a dhèanamh air. Agus, tha sinn airson oideachadh a thoirt dhut air mar as urrainn dhut na modalan Stable Diffusion seo a thrèanadh.
Ciamar a thàinig modalan sgaoilidh seasmhach gu bith?
Tha freumhan aig seo air ais gu deireadh an 19mh linn.
Is e an sgrùdadh matamataigeach air pròiseasan sgaoilidh ann an cùisean far an do thòisich modalan Stable Diffusion. Is e aon de na modalan Stable Diffusion as mòr-chòrdte an co-aontar Fokker-Planck.
Chaidh a thaisbeanadh an toiseach ann an 1906. Tha na modailean sin air a thighinn air adhart agus air an atharrachadh thar ùine. Mar sin, bidh sinn a-nis gan cleachdadh ann an grunn ghnìomhachasan.
Dè an loidsig a tha air a chùlaibh?
Ann an dòigh shìmplidh, mar a thuirt sinn, tha iad nam modalan matamataigeach. A bharrachd air an sin, bidh iad gar cuideachadh gus sgrùdadh a dhèanamh air mar a tha seilbh no meud a’ sgaoileadh thar ùine ann an siostam.
Tha iad stèidhichte air prionnsapalan pròiseas sgaoileadh. Mar sin, bidh iad gar cuideachadh gus sgrùdadh a dhèanamh air mar a tha meud a’ sgaoileadh thairis air siostam. Tha an sgaoileadh seo mar thoradh air atharrachaidhean ann an dùmhlachd, cuideam, no crìochan eile.
Bheir sinn eisimpleir shìmplidh. Smaoinich gu bheil soitheach làn leaghan agad anns an do chuir thu dath ris. Chithear sgaoileadh an seo nuair a thòisicheas an dath a’ sgapadh agus a’ emulsachadh san leaghan. Stèidhichte air feartan an leaghan is an dath, faodar modalan Stable Diffusion a chleachdadh gus ro-innse mar a bhios an dath a’ sgapadh agus a’ measgachadh thar ùine.
Ann an siostaman nas iom-fhillte, leithid margaidhean ionmhais no ath-bheachdan ceimigeach, faodaidh na modailean sin ro-innse mar a sgaoileas fiosrachadh no buadhan agus a bheir buaidh air an t-siostam thar ùine. A bharrachd air an sin, faodaidh dàta mòr fàs cleachdte ris trèanadh na modailean sin gus ro-innse ceart a dhèanamh. Tha iad air an togail a’ cleachdadh foirmlean matamataigeach a tha a’ toirt cunntas air mean-fhàs fad-ùine an t-siostaim.
Is e a bhith a’ tuigsinn agus a’ ro-innse iomadachadh feartan sònraichte ann an siostam tro thìde am prìomh bheachd a tha aig na modailean sin. Tha e cudromach cuimhneachadh gu bheil eòlaichean ann an raointean sònraichte mar as trice a 'cleachdadh nam modalan sin.
Ciamar a thrèanadh modailean?
Cruinnich agus ullaich an dàta agad:
Feumaidh tu an dàta agad a chruinneachadh agus ullachadh an toiseach mus urrainn dhut tòiseachadh air do mhodail a thrèanadh. Dh’ fhaodadh gum feumar an dàta agad a ghlanadh agus a chruth. Cuideachd, is dòcha gum feumar cuir às do na h-àireamhan a tha a dhìth.
Tagh modail ailtireachd
Bidh modalan stàbaill eadar-dhealaichte a 'tighinn ann an caochladh chruthan. Tha e stèidhichte sa mhòr-chuid air co-aontar Fokker-Planck, co-aontar Schrödinger, agus an co-aontar Master. Feumar am modail as fheàrr a fhreagras air an t-suidheachadh sònraichte agad a thaghadh. Mar sin, tha buannachdan agus eas-bhuannachdan aig gach aon de na modailean sin.
A 'stèidheachadh do dhleastanas call
Tha e cudromach leis gu bheil buaidh aige air dè cho math ‘s as urrainn don mhodail agad a bhith a’ maidseadh an dàta. Airson modalan Stable Diffusion, tha a’ mhearachd ceàrnagach cuibheasach agus an eadar-dhealachadh Kullback-Leibler nan gnìomhan call tric.
Trèan do mhodail
Le bhith a’ cleachdadh teàrnadh caisead stochastic no dòigh-obrach optimization coltach ris, faodaidh tu tòiseachadh air do mhodail a thrèanadh às deidh dhut do ghnìomh call a mhìneachadh.
Dèan sgrùdadh air coitcheannachd do mhodail
Bu chòir dhut dàta ùr a sgrùdadh às deidh trèanadh le bhith ga choimeas ri seata dàta deuchainn.
Dèan gleusadh air hyperparameters do mhodail
Gus coileanadh do mhodail àrdachadh, feuch diofar luachan de hyperparameters leithid ìre ionnsachaidh, meud baidse, agus an àireamh de shreathan falaichte san lìonra.
Dèan a-rithist na gnìomhan roimhe
Is dòcha gum feum thu na pròiseasan sin ath-aithris barrachd air aon uair gus na toraidhean as fheàrr fhaighinn. Bidh e a rèir dè cho duilich ‘s a tha an duilgheadas agus inbhe an dàta.
Tutorial còdaidh
Cànanan prògramadh mar Python, MATLAB, C ++, agus faodar R uile a chleachdadh gus modalan Stable Diffusion a chruthachadh. Bidh an cànan a thèid a chleachdadh an urra ris an tagradh sònraichte. Cuideachd, faodaidh e a bhith an urra ri innealan agus leabharlannan a tha rim faighinn airson a’ chànain sin.
Is e Python an roghainn as fheàrr sa chùis seo. Tha leabharlannan làidir aige mar NumPy agus SciPy airson àireamhachadh àireamhach. Cuideachd, tha e a 'toirt taic do TensorFlow agus PyTorch airson cruthachadh agus trèanadh lìonraidhean neural. Mar sin, bidh e na dheagh roghainn airson modalan Stable Diffusion a sgrìobhadh.
Mar eisimpleir:
Cleachdaidh sinn an co-aontar sgaoilidh, foirmle matamataigeach a tha a’ mìneachadh mar a tha càileachd no meud, leithid teas no dùmhlachd stuth, ag atharrachadh thar ùine ann an siostam. San fharsaingeachd tha an co-aontar a 'coimhead mar seo:
∂u/∂t = α ∇²u
Tha an co-èifeachd sgaoilidh () na thomhas air cho furasta sa tha togalach no meud a’ sgaoileadh tro shiostam.
Tha an Laplacian of u (2u) na thuairisgeul air mar a tha seilbh no meud ag atharrachadh a thaobh àite. Far a bheil u an seilbh no an tomhas air a sgaoileadh (mar eisimpleir, teòthachd no dùmhlachd), is e t a th’ ann an ùine, is e an co-èifeachd sgaoilidh, agus is e an seasmhach sgaoilidh ().
Is urrainn dhuinn a chuir an gnìomh le bhith a’ cleachdadh modh Euler ann am Python.
import numpy as np
# Define the diffusion coefficient
alpha = 0.1
# Define the initial condition (e.g. initial temperature or concentration)
u = np.ones(100)
# Time step
dt = 0.01
# Time-stepping loop
for t in range(1000):
# Compute the spatial derivative
du = np.diff(u)
# Update the value of u
u[1:] = u[1:] + alpha * du * dt
Bidh an còd seo a’ cleachdadh innleachd Euler gus an co-aontar sgaoilidh a chuir an gnìomh. Tha e a’ toirt cunntas air an t-suidheachadh tòiseachaidh mar staid tòiseachaidh èideadh air a riochdachadh le sreath de fheadhainn le cumadh (100). Tha 0.01 air a chleachdadh mar cheum ùine.
Tha 1000 tionndadh den lùb ceum-ùine air an crìochnachadh.
Bidh e a’ cleachdadh gnìomh np.diff, a tha a’ dearbhadh an eadar-dhealachaidh eadar eileamaidean nàbaidh. Mar sin, bidh e a’ tomhas toradh farsaingeachd an togalaich no meud a tha air a sgaoileadh. Agus, tha e air a riochdachadh le du, aig gach tionndadh.
An uairsin bidh sinn ag iomadachadh an derivative spàsail leis an alpha coefficient sgaoilidh agus an ceum ùine gus luach u ùrachadh.
Eisimpleir nas iom-fhillte
Cò ris a bhiodh modal sgaoilidh seasmhach a tha dìreach a’ tomhas sgaoileadh teas seasmhach coltach? Ciamar a tha an còd sin ag obair?
Tha feum air fuasgladh seata de cho-aontaran eadar-dhealaichte (PDEn) a mhìnicheas mar a tha teas a’ sgaoileadh thairis air siostam thar ùine. Mar sin, is urrainn dhuinn modal Stable Diffusion a thrèanadh a bhios ag ath-aithris sgaoileadh seasmhach teas.
Seo dealbh air mar a dh’fhaodar an co-aontar teas, PDE a tha a’ mìneachadh an stàball eadar-dhealachadh teas ann an slat aon-thaobhach, fhuasgladh a’ cleachdadh an dòigh eadar-dhealachaidh chrìochnaichte:
import numpy as np
import matplotlib.pyplot as plt
# Define the initial conditions
L = 1 # length of the rod
Nx = 10 # number of spatial grid points
dx = L / (Nx - 1) # spatial grid spacing
dt = 0.01 # time step
T = 1 # total time
# Set up the spatial grid
x = np.linspace(0, L, Nx)
# Set up the initial temperature field
T0 = np.zeros(Nx)
T0[0] = 100 # left boundary condition
T0[-1] = 0 # right boundary condition
# Set up the time loop
Tn = T0
for n in range(int(T / dt)):
Tnp1 = np.zeros(Nx)
Tnp1[0] = 100 # left boundary condition
Tnp1[-1] = 0 # right boundary condition
for i in range(1, Nx - 1):
Tnp1[i] = Tn[i] + dt * (Tn[i+1] - 2*Tn[i] + Tn[i-1]) / dx**2
Tn = Tnp1
# Plot the final temperature field
plt.plot(x, Tn)
plt.xlabel('x')
plt.ylabel('T(x)')
plt.show()
Ciamar a tha gineadh ìomhaighean bho theacsa ag obair?
Leis gu bheil fèill mhòr air air an eadar-lìn, is urrainn dhuinn sgrùdadh a dhèanamh air mar a tha gineadh ìomhaighean ag obair cuideachd.
Dòighean giollachd cànain nàdarra (NLP) agus lìonraidhean neònach. Agus, bidh iad gu tric air an cleachdadh gus modal Stable Difffusion a thoirt seachad airson tionndadh teacsa gu ìomhaigh. Tha tuairisgeul farsaing air mar a choileanas tu e air a thoirt seachad gu h-ìosal:
1- Comharraich na faclan anns an dàta teacsa, agus cuir às do fhaclan stad agus puingeachadh. Tionndaidh na faclan gu luachan àireamhach. Tha e na phàirt den ro-ghiollachd (facal a-steach).
import nltk
from nltk.tokenize import word_tokenize
nltk.download('punkt')
# Pre-processing the text data
text = "a bird sitting on a flower. "
words = word_tokenize(text)
words = [word.lower() for word in words if word.isalpha()]
2- Ionnsaich mar a cheanglas tu an teacsa agus na h-ìomhaighean a’ cleachdadh lìonra neural a bhios a’ cothlamadh encoder agus decoder. Bidh an lìonra decoder a 'faighinn a' chòd falaichte mar chur-a-steach. An uairsin, cruthaichidh e an dealbh co-cheangailte às deidh don lìonra encoder an dàta teacsa a thionndadh gu riochdachadh teann (còd falaichte).
import tensorflow as tf
# Define the encoder model
encoder = tf.keras.Sequential()
encoder.add(tf.keras.layers.Embedding(input_dim=vocab_size,
output_dim=latent_dim))
encoder.add(tf.keras.layers.GRU(latent_dim))
encoder.add(tf.keras.layers.Dense(latent_dim))
# Define the decoder model
decoder = tf.keras.Sequential()
decoder.add(tf.keras.layers.Dense(latent_dim,
input_shape=(latent_dim,)))
decoder.add(tf.keras.layers.GRU(latent_dim))
decoder.add(tf.keras.layers.Dense(vocab_size))
# Combine the encoder and decoder into an end-to-end model
model = tf.keras.Sequential([encoder, decoder])
3- Le bhith a’ toirt dha cruinneachadh mòr de dhealbhan agus na tuairisgeulan teacsa a tha nan cois. An uairsin, faodaidh tu an lìonra encoder-decoder a thrèanadh.
# Compile the model
model.compile(optimizer='adam',
loss='categorical_crossentropy')
# Train the model on the dataset
model.fit(X_train, y_train, epochs=10, batch_size=32)
4- Às deidh don lìonra a bhith air a thrèanadh, faodaidh tu a chleachdadh gus dealbhan a dhèanamh bho chuir a-steach teacsa ùr. Agus, is ann le bhith a’ biathadh an teacsa a-steach don lìonra encoder. An uairsin, faodaidh tu còd falaichte a thoirt gu buil, agus an uairsin an còd falaichte a bhiadhadh a-steach don lìonra decoder gus an ìomhaigh co-cheangailte a thoirt gu buil.
# Encode the text input
latent_code = encoder.predict(text)
# Generate an image from the latent code
image = decoder.predict(latent_code)
5-Is e taghadh an dàta iomchaidh agus gnìomhan call aon de na ceumannan as cudromaiche. Tha an stòr-dàta measgaichte agus tha raon farsaing de dhealbhan agus de thuairisgeulan teacsa ann. Tha sinn airson dèanamh cinnteach gu bheil na h-ìomhaighean fìrinneach. Cuideachd, feumaidh sinn a bhith cinnteach gu bheil na tuairisgeulan teacsa so-dhèanta gus an urrainn dhuinn an gnìomh call a dhealbhadh.
# Define the loss function
loss = tf.losses.mean_squared_error(y_true, y_pred)
# Compile the model
model.compile(optimizer='adam', loss=loss)
# use diverse dataset
from sklearn.utils import shuffle
X_train, y_train = shuffle(X_train, y_train)
Mu dheireadh, faodaidh tu feuchainn air ailtireachd agus dòighean-obrach eile. Mar sin, gun urrainn dhut coileanadh a 'mhodail àrdachadh, leithid dòighean aire, GAN, no VAEs.
Leave a Reply