|
|
||
|---|---|---|
| .. | ||
| GANPyTorch.ipynb | ||
| GANTF.ipynb | ||
| README.md | ||
| StyleTransfer.ipynb | ||
| StyleTransfer_Keras.ipynb | ||
README.md
ਜਨਰੇਟਿਵ ਐਡਵਰਸਰੀਅਲ ਨੈਟਵਰਕਸ
ਪਿਛਲੇ ਸੈਕਸ਼ਨ ਵਿੱਚ, ਅਸੀਂ ਜਨਰੇਟਿਵ ਮਾਡਲਸ ਬਾਰੇ ਸਿੱਖਿਆ: ਮਾਡਲ ਜੋ ਟ੍ਰੇਨਿੰਗ ਡੇਟਾਸੈਟ ਵਿੱਚ ਮੌਜੂਦ ਚਿੱਤਰਾਂ ਦੇ ਸਮਾਨ ਨਵੇਂ ਚਿੱਤਰ ਬਣਾਉਣ ਦੇ ਯੋਗ ਹਨ। VAE ਜਨਰੇਟਿਵ ਮਾਡਲ ਦਾ ਇੱਕ ਵਧੀਆ ਉਦਾਹਰਨ ਸੀ।
ਪ੍ਰੀ-ਲੈਕਚਰ ਕਵਿਜ਼
ਹਾਲਾਂਕਿ, ਜੇ ਅਸੀਂ ਕੁਝ ਵਾਕਈ ਮਹੱਤਵਪੂਰਨ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਉੱਚ ਰਿਜ਼ੋਲੂਸ਼ਨ ਵਾਲੀ ਪੇਂਟਿੰਗ, VAE ਨਾਲ, ਤਾਂ ਅਸੀਂ ਦੇਖਾਂਗੇ ਕਿ ਟ੍ਰੇਨਿੰਗ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਮਤ ਨਹੀਂ ਹੁੰਦੀ। ਇਸ ਵਰਤੋਂ ਦੇ ਕੇਸ ਲਈ, ਸਾਨੂੰ ਜਨਰੇਟਿਵ ਮਾਡਲਸ ਲਈ ਖਾਸ ਤੌਰ 'ਤੇ ਟਾਰਗੇਟ ਕੀਤੀ ਗਈ ਇੱਕ ਹੋਰ ਆਰਕੀਟੈਕਚਰ ਬਾਰੇ ਸਿੱਖਣਾ ਚਾਹੀਦਾ ਹੈ - ਜਨਰੇਟਿਵ ਐਡਵਰਸਰੀਅਲ ਨੈਟਵਰਕਸ, ਜਾਂ GANs।
GAN ਦਾ ਮੁੱਖ ਵਿਚਾਰ ਦੋ ਨਿਊਰਲ ਨੈਟਵਰਕਸ ਨੂੰ ਇੱਕ ਦੂਜੇ ਦੇ ਵਿਰੁੱਧ ਟ੍ਰੇਨ ਕਰਨ ਦਾ ਹੈ:
ਚਿੱਤਰ Dmitry Soshnikov ਦੁਆਰਾ
✅ ਕੁਝ ਸ਼ਬਦਾਵਲੀ:
- ਜਨਰੇਟਰ ਇੱਕ ਨੈਟਵਰਕ ਹੈ ਜੋ ਕੁਝ ਰੈਂਡਮ ਵੈਕਟਰ ਲੈਂਦਾ ਹੈ ਅਤੇ ਨਤੀਜੇ ਵਜੋਂ ਚਿੱਤਰ ਪੈਦਾ ਕਰਦਾ ਹੈ।
- ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਇੱਕ ਨੈਟਵਰਕ ਹੈ ਜੋ ਇੱਕ ਚਿੱਤਰ ਲੈਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਦੱਸਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਕੀ ਇਹ ਇੱਕ ਅਸਲੀ ਚਿੱਤਰ ਹੈ (ਟ੍ਰੇਨਿੰਗ ਡੇਟਾਸੈਟ ਤੋਂ), ਜਾਂ ਇਹ ਜਨਰੇਟਰ ਦੁਆਰਾ ਬਣਾਇਆ ਗਿਆ ਸੀ। ਇਹ ਅਸਲ ਵਿੱਚ ਇੱਕ ਚਿੱਤਰ ਵਰਗੀਕਰ ਹੈ।
ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ
ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੀ ਆਰਕੀਟੈਕਚਰ ਇੱਕ ਆਮ ਚਿੱਤਰ ਵਰਗੀਕਰ ਨੈਟਵਰਕ ਤੋਂ ਵੱਖਰੀ ਨਹੀਂ ਹੈ। ਸਭ ਤੋਂ ਸਧਾਰਨ ਕੇਸ ਵਿੱਚ ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜੁੜੇ ਹੋਏ ਵਰਗੀਕਰ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਸਭ ਸੰਭਾਵਨਾ ਨਾਲ ਇਹ ਇੱਕ ਕਨਵੋਲੂਸ਼ਨਲ ਨੈਟਵਰਕ ਹੋਵੇਗਾ।
✅ ਕਨਵੋਲੂਸ਼ਨਲ ਨੈਟਵਰਕਸ 'ਤੇ ਆਧਾਰਿਤ GAN ਨੂੰ DCGAN ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਇੱਕ CNN ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤੇ ਤਹਿ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ: ਕਈ ਕਨਵੋਲੂਸ਼ਨ+ਪੂਲਿੰਗ (ਘਟਦੇ ਹੋਏ ਸਪੇਸ਼ਲ ਆਕਾਰ ਨਾਲ) ਅਤੇ, "ਫੀਚਰ ਵੈਕਟਰ" ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਜਾਂ ਵੱਧ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜੁੜੇ ਹੋਏ ਤਹਿ, ਅੰਤਮ ਦੋ-ਵਿਕਲਪਕ ਵਰਗੀਕਰ।
✅ 'ਪੂਲਿੰਗ' ਇਸ ਸੰਦਰਭ ਵਿੱਚ ਇੱਕ ਤਕਨੀਕ ਹੈ ਜੋ ਚਿੱਤਰ ਦਾ ਆਕਾਰ ਘਟਾਉਂਦੀ ਹੈ। "ਪੂਲਿੰਗ ਤਹਿ ਡੇਟਾ ਦੇ ਆਕਾਰ ਨੂੰ ਘਟਾਉਂਦੀਆਂ ਹਨ, ਇੱਕ ਤਹਿ ਵਿੱਚ ਨਿਊਰਾਨ ਕਲਸਟਰਾਂ ਦੇ ਆਉਟਪੁੱਟ ਨੂੰ ਅਗਲੀ ਤਹਿ ਵਿੱਚ ਇੱਕ ਨਿਊਰਾਨ ਵਿੱਚ ਮਿਲਾਉਂਦੀਆਂ ਹਨ।" - ਸਰੋਤ
ਜਨਰੇਟਰ
ਜਨਰੇਟਰ ਥੋੜਾ ਜਿਆਦਾ ਜਟਿਲ ਹੈ। ਤੁਸੀਂ ਇਸਨੂੰ ਇੱਕ ਉਲਟੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਵਜੋਂ ਮੰਨ ਸਕਦੇ ਹੋ। ਲੈਟੈਂਟ ਵੈਕਟਰ (ਫੀਚਰ ਵੈਕਟਰ ਦੀ ਜਗ੍ਹਾ) ਤੋਂ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋਏ, ਇਸ ਵਿੱਚ ਇਸਨੂੰ ਲੋੜੀਂਦੇ ਆਕਾਰ/ਆਕਾਰ ਵਿੱਚ ਬਦਲਣ ਲਈ ਇੱਕ ਪੂਰੀ ਤਰ੍ਹਾਂ ਜੁੜੀ ਹੋਈ ਤਹਿ ਹੁੰਦੀ ਹੈ, ਜਿਸਦੇ ਬਾਅਦ ਡੀਕਨਵੋਲੂਸ਼ਨ+ਅੱਪਸਕੇਲਿੰਗ ਹੁੰਦੀ ਹੈ। ਇਹ ਆਟੋਇੰਕੋਡਰ ਦੇ ਡਿਕੋਡਰ ਹਿੱਸੇ ਦੇ ਸਮਾਨ ਹੈ।
✅ ਕਿਉਂਕਿ ਕਨਵੋਲੂਸ਼ਨ ਤਹਿ ਚਿੱਤਰ ਨੂੰ ਲੀਨੀਅਰ ਫਿਲਟਰ ਵਜੋਂ ਪਾਰ ਕਰਕੇ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਡੀਕਨਵੋਲੂਸ਼ਨ ਅਸਲ ਵਿੱਚ ਕਨਵੋਲੂਸ਼ਨ ਦੇ ਸਮਾਨ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਉਹੀ ਤਹਿ ਲਾਜ਼ਮਾਂਤ ਵਰਤ ਕੇ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਚਿੱਤਰ Dmitry Soshnikov ਦੁਆਰਾ
GAN ਦੀ ਟ੍ਰੇਨਿੰਗ
GANs ਨੂੰ ਐਡਵਰਸਰੀਅਲ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਜਨਰੇਟਰ ਅਤੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੇ ਵਿਚਕਾਰ ਲਗਾਤਾਰ ਮੁਕਾਬਲਾ ਹੁੰਦਾ ਹੈ। ਇਸ ਮੁਕਾਬਲੇ ਦੌਰਾਨ, ਜਨਰੇਟਰ ਅਤੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੋਵੇਂ ਸੁਧਾਰਦੇ ਹਨ, ਇਸ ਤਰ੍ਹਾਂ ਨੈਟਵਰਕ ਵਧੀਆ ਅਤੇ ਵਧੀਆ ਚਿੱਤਰ ਬਣਾਉਣ ਸਿੱਖਦਾ ਹੈ।
ਟ੍ਰੇਨਿੰਗ ਦੋ ਪੜਾਅ ਵਿੱਚ ਹੁੰਦੀ ਹੈ:
- ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੀ ਟ੍ਰੇਨਿੰਗ। ਇਹ ਕੰਮ ਕਾਫੀ ਸਧਾਰਨ ਹੈ: ਅਸੀਂ ਜਨਰੇਟਰ ਦੁਆਰਾ ਚਿੱਤਰਾਂ ਦਾ ਇੱਕ ਬੈਚ ਪੈਦਾ ਕਰਦੇ ਹਾਂ, ਉਨ੍ਹਾਂ ਨੂੰ 0 ਲੇਬਲ ਕਰਦੇ ਹਾਂ, ਜੋ ਕਿ ਨਕਲੀ ਚਿੱਤਰ ਲਈ ਖੜ੍ਹਾ ਹੈ, ਅਤੇ ਇਨਪੁਟ ਡੇਟਾਸੈਟ ਤੋਂ ਚਿੱਤਰਾਂ ਦਾ ਇੱਕ ਬੈਚ ਲੈਂਦੇ ਹਾਂ (ਲੇਬਲ 1, ਅਸਲੀ ਚਿੱਤਰ ਨਾਲ)। ਅਸੀਂ ਕੁਝ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਲਾਸ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਬੈਕਪ੍ਰੋਪ ਕਰਦੇ ਹਾਂ।
- ਜਨਰੇਟਰ ਦੀ ਟ੍ਰੇਨਿੰਗ। ਇਹ ਥੋੜਾ ਜਿਆਦਾ ਜਟਿਲ ਹੈ, ਕਿਉਂਕਿ ਅਸੀਂ ਜਨਰੇਟਰ ਲਈ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਉਮੀਦਵਾਰ ਆਉਟਪੁੱਟ ਨਹੀਂ ਜਾਣਦੇ। ਅਸੀਂ ਪੂਰੇ GAN ਨੈਟਵਰਕ ਨੂੰ ਜਨਰੇਟਰ ਅਤੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੇ ਨਾਲ ਲੈਂਦੇ ਹਾਂ, ਇਸਨੂੰ ਕੁਝ ਰੈਂਡਮ ਵੈਕਟਰਾਂ ਨਾਲ ਫੀਡ ਕਰਦੇ ਹਾਂ, ਅਤੇ ਨਤੀਜੇ ਨੂੰ 1 ਦੀ ਉਮੀਦ ਕਰਦੇ ਹਾਂ (ਅਸਲੀ ਚਿੱਤਰਾਂ ਦੇ ਨਾਲ ਸੰਬੰਧਿਤ)। ਫਿਰ ਅਸੀਂ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੇ ਪੈਰਾਮੀਟਰਾਂ ਨੂੰ ਫ੍ਰੀਜ਼ ਕਰਦੇ ਹਾਂ (ਅਸੀਂ ਇਸ ਪੜਾਅ 'ਤੇ ਇਸਨੂੰ ਟ੍ਰੇਨ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ), ਅਤੇ ਬੈਕਪ੍ਰੋਪ ਕਰਦੇ ਹਾਂ।
ਇਸ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ, ਜਨਰੇਟਰ ਅਤੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੋਵੇਂ ਦੇ ਲਾਸਜ਼ ਮਹੱਤਵਪੂਰਨ ਤੌਰ 'ਤੇ ਘਟਦੇ ਨਹੀਂ ਹਨ। ਆਦਰਸ਼ ਸਥਿਤੀ ਵਿੱਚ, ਉਹ ਝੂਲਦੇ ਹੋਏ ਦਿਖਾਈ ਦੇਣੇ ਚਾਹੀਦੇ ਹਨ, ਜੋ ਦੋਵੇਂ ਨੈਟਵਰਕਸ ਦੇ ਪ੍ਰਦਰਸ਼ਨ ਵਿੱਚ ਸੁਧਾਰ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ।
✍️ ਅਭਿਆਸ: GANs
GAN ਟ੍ਰੇਨਿੰਗ ਨਾਲ ਸਮੱਸਿਆਵਾਂ
GANs ਨੂੰ ਟ੍ਰੇਨ ਕਰਨਾ ਖਾਸ ਤੌਰ 'ਤੇ ਮੁਸ਼ਕਲ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਇੱਥੇ ਕੁਝ ਸਮੱਸਿਆਵਾਂ ਹਨ:
- ਮੋਡ ਕਲੈਪਸ। ਇਸ ਸ਼ਬਦ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਜਨਰੇਟਰ ਇੱਕ ਸਫਲ ਚਿੱਤਰ ਬਣਾਉਣਾ ਸਿੱਖਦਾ ਹੈ ਜੋ ਜਨਰੇਟਰ ਨੂੰ ਚਕਮਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਵੱਖ-ਵੱਖ ਚਿੱਤਰਾਂ ਦੀ ਕਿਸਮ ਨਹੀਂ।
- ਹਾਈਪਰਪੈਰਾਮੀਟਰਾਂ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲਤਾ। ਅਕਸਰ ਤੁਸੀਂ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ GAN ਬਿਲਕੁਲ ਸੰਮਤ ਨਹੀਂ ਹੁੰਦਾ, ਅਤੇ ਫਿਰ ਅਚਾਨਕ ਲਰਨਿੰਗ ਰੇਟ ਵਿੱਚ ਘਟਾਅ ਸੰਮਤਤਾ ਵੱਲ ਲੈ ਜਾਂਦਾ ਹੈ।
- ਜਨਰੇਟਰ ਅਤੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਦੇ ਵਿਚਕਾਰ ਸੰਤੁਲਨ ਰੱਖਣਾ। ਕਈ ਕੇਸਾਂ ਵਿੱਚ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਲਾਸ ਕਾਫੀ ਜਲਦੀ ਜ਼ੀਰੋ 'ਤੇ ਡਿੱਗ ਸਕਦਾ ਹੈ, ਜਿਸਦਾ ਨਤੀਜਾ ਇਹ ਹੁੰਦਾ ਹੈ ਕਿ ਜਨਰੇਟਰ ਅੱਗੇ ਟ੍ਰੇਨ ਨਹੀਂ ਹੋ ਸਕਦਾ। ਇਸਨੂੰ ਦੂਰ ਕਰਨ ਲਈ, ਅਸੀਂ ਜਨਰੇਟਰ ਅਤੇ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਲਈ ਵੱਖ-ਵੱਖ ਲਰਨਿੰਗ ਰੇਟ ਸੈਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੇ ਹਾਂ, ਜਾਂ ਜੇ ਲਾਸ ਪਹਿਲਾਂ ਹੀ ਬਹੁਤ ਘੱਟ ਹੈ ਤਾਂ ਡਿਸਕ੍ਰਿਮਿਨੇਟਰ ਟ੍ਰੇਨਿੰਗ ਨੂੰ ਛੱਡ ਸਕਦੇ ਹਾਂ।
- ਉੱਚ ਰਿਜ਼ੋਲੂਸ਼ਨ ਲਈ ਟ੍ਰੇਨਿੰਗ। ਆਟੋਇੰਕੋਡਰਸ ਨਾਲ ਇੱਕੋ ਸਮੱਸਿਆ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹੋਏ, ਇਹ ਸਮੱਸਿਆ ਇਸ ਲਈ ਪੈਦਾ ਹੁੰਦੀ ਹੈ ਕਿਉਂਕਿ ਕਨਵੋਲੂਸ਼ਨਲ ਨੈਟਵਰਕ ਦੇ ਬਹੁਤ ਸਾਰੇ ਤਹਿ ਦੁਬਾਰਾ ਬਣਾਉਣ ਨਾਲ ਆਰਟਿਫੈਕਟ ਪੈਦਾ ਹੁੰਦੇ ਹਨ। ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਪ੍ਰੋਗਰੈਸਿਵ ਗ੍ਰੋਇੰਗ ਨਾਲ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਦੋਂ ਪਹਿਲਾਂ ਕੁਝ ਤਹਿ ਘੱਟ-ਰਿਜ਼ੋਲੂਸ਼ਨ ਚਿੱਤਰਾਂ 'ਤੇ ਟ੍ਰੇਨ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਫਿਰ ਤਹਿ "ਅਨਬਲਾਕ" ਜਾਂ ਸ਼ਾਮਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਇੱਕ ਹੋਰ ਹੱਲ ਤਹਿ ਦੇ ਵਿਚਕਾਰ ਵਾਧੂ ਕਨੈਕਸ਼ਨ ਸ਼ਾਮਲ ਕਰਨਾ ਅਤੇ ਇੱਕ ਵਾਰ ਵਿੱਚ ਕਈ ਰਿਜ਼ੋਲੂਸ਼ਨ ਟ੍ਰੇਨ ਕਰਨਾ ਹੋਵੇਗਾ - ਵੇਰਵੇ ਲਈ ਇਸ ਮਲਟੀ-ਸਕੇਲ ਗ੍ਰੇਡੀਅੰਟ GANs ਪੇਪਰ ਨੂੰ ਦੇਖੋ।
ਸਟਾਈਲ ਟ੍ਰਾਂਸਫਰ
GANs ਕਲਾ ਦੇ ਚਿੱਤਰ ਬਣਾਉਣ ਦਾ ਇੱਕ ਵਧੀਆ ਤਰੀਕਾ ਹੈ। ਇੱਕ ਹੋਰ ਦਿਲਚਸਪ ਤਕਨੀਕ ਸਟਾਈਲ ਟ੍ਰਾਂਸਫਰ ਹੈ, ਜੋ ਇੱਕ ਕੰਟੈਂਟ ਚਿੱਤਰ ਲੈਂਦੀ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਵੱਖਰੇ ਸਟਾਈਲ ਵਿੱਚ ਦੁਬਾਰਾ ਬਣਾਉਂਦੀ ਹੈ, ਸਟਾਈਲ ਚਿੱਤਰ ਤੋਂ ਫਿਲਟਰ ਲਾਗੂ ਕਰਦੀ ਹੈ।
ਇਹ ਤਰੀਕਾ ਇਸ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ:
- ਅਸੀਂ ਇੱਕ ਰੈਂਡਮ ਸ਼ੋਰ ਚਿੱਤਰ (ਜਾਂ ਇੱਕ ਕੰਟੈਂਟ ਚਿੱਤਰ ਨਾਲ, ਪਰ ਸਮਝਣ ਲਈ ਰੈਂਡਮ ਸ਼ੋਰ ਤੋਂ ਸ਼ੁਰੂ ਕਰਨਾ ਆਸਾਨ ਹੈ) ਨਾਲ ਸ਼ੁਰੂ ਕਰਦੇ ਹਾਂ।
- ਸਾਡਾ ਲਕਸ਼ ਇਹ ਚਿੱਤਰ ਬਣਾਉਣਾ ਹੋਵੇਗਾ, ਜੋ ਕੰਟੈਂਟ ਚਿੱਤਰ ਅਤੇ ਸਟਾਈਲ ਚਿੱਤਰ ਦੋਵਾਂ ਦੇ ਨੇੜੇ ਹੋਵੇ। ਇਹ ਦੋ ਲਾਸ ਫੰਕਸ਼ਨਾਂ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾਵੇਗਾ:
- ਕੰਟੈਂਟ ਲਾਸ ਮੌਜੂਦਾ ਚਿੱਤਰ ਅਤੇ ਕੰਟੈਂਟ ਚਿੱਤਰ ਤੋਂ ਕੁਝ ਤਹਿ 'ਤੇ CNN ਦੁਆਰਾ ਕੱਢੇ ਗਏ ਫੀਚਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਗਣਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
- ਸਟਾਈਲ ਲਾਸ ਮੌਜੂਦਾ ਚਿੱਤਰ ਅਤੇ ਸਟਾਈਲ ਚਿੱਤਰ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਚਤੁਰ ਤਰੀਕੇ ਨਾਲ ਗ੍ਰਾਮ ਮੈਟ੍ਰਿਸਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਗਣਨਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ (ਹੋਰ ਵੇਰਵੇ ਉਦਾਹਰਨ ਨੋਟਬੁੱਕ ਵਿੱਚ)।
- ਚਿੱਤਰ ਨੂੰ ਹੌਲੀ ਅਤੇ ਸ਼ੋਰ ਨੂੰ ਹਟਾਉਣ ਲਈ, ਅਸੀਂ ਵੈਰੀਏਸ਼ਨ ਲਾਸ ਵੀ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ, ਜੋ ਪੜੋਸੀ ਪਿਕਸਲਾਂ ਦੇ ਦਰਮਿਆਨ ਔਸਤ ਦੂਰੀ ਦੀ ਗਣਨਾ ਕਰਦਾ ਹੈ।
- ਮੁੱਖ ਅਪਟਿਮਾਈਜ਼ੇਸ਼ਨ ਲੂਪ ਮੌਜੂਦਾ ਚਿੱਤਰ ਨੂੰ ਗ੍ਰੇਡੀਅੰਟ ਡਿਸੈਂਟ (ਜਾਂ ਕੁਝ ਹੋਰ ਅਪਟਿਮਾਈਜ਼ੇਸ਼ਨ ਐਲਗੋਰਿਥਮ) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੁੱਲ ਲਾਸ ਨੂੰ ਘਟਾਉਣ ਲਈ ਸਮਾਯੋਜਿਤ ਕਰਦਾ ਹੈ, ਜੋ ਸਾਰੀਆਂ ਤਿੰਨ ਲਾਸਜ਼ ਦਾ ਵਜ਼ਨੀ ਜੋੜ ਹੈ।
✍️ ਉਦਾਹਰਨ: ਸਟਾਈਲ ਟ੍ਰਾਂਸਫਰ
ਪੋਸਟ-ਲੈਕਚਰ ਕਵਿਜ਼
ਨਤੀਜਾ
ਇਸ ਪਾਠ ਵਿੱਚ, ਤੁਸੀਂ GANs ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਟ੍ਰੇਨ ਕਰਨ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਸਿੱਖਿਆ। ਤੁਸੀਂ ਇਸ ਕਿਸਮ ਦੇ ਨਿਊਰਲ ਨੈਟਵਰਕਸ ਨੂੰ ਦਰਪੇਸ਼ ਖਾਸ ਚੁਣੌਤੀਆਂ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਪਾਰ ਕਰਨ ਦੇ ਕੁਝ ਰਣਨੀਤੀਆਂ ਬਾਰੇ ਵੀ ਸਿੱਖਿਆ।
🚀 ਚੁਣੌਤੀ
ਸਟਾਈਲ ਟ੍ਰਾਂਸਫਰ ਨੋਟਬੁੱਕ ਨੂੰ ਆਪਣੇ ਚਿੱਤਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚਲਾਓ।
ਸਮੀਖਿਆ ਅਤੇ ਸਵੈ ਅਧਿਐਨ
ਹਵਾਲੇ ਲਈ, ਇਨ੍ਹਾਂ ਸਰੋਤਾਂ ਵਿੱਚ GANs ਬਾਰੇ ਹੋਰ ਪੜ੍ਹੋ:
- ਮਾਰਕੋ ਪਾਸਿਨੀ, 10 ਸਬਕ ਜੋ ਮੈਂ ਇੱਕ ਸਾਲ ਲਈ GANs ਟ੍ਰੇਨ ਕਰਦੇ ਹੋਏ ਸਿੱਖੇ
- ਸਟਾਈਲGAN, ਇੱਕ ਡਿ ਫੈਕਟੋ GAN ਆਰਕੀਟੈਕਚਰ ਵਿਚਾਰ ਕਰਨ ਲਈ
- Azure ML 'ਤੇ GANs ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਨਰੇਟਿਵ ਕਲਾ ਬਣਾਉਣਾ
ਅਸਾਈਨਮੈਂਟ
ਇਸ ਪਾਠ ਨਾਲ ਸੰਬੰਧਿਤ ਦੋ ਨੋਟਬੁੱਕਸ ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਦੁਬਾਰਾ ਵੇਖੋ ਅਤੇ GAN ਨੂੰ ਆਪਣੇ ਚਿੱਤਰਾਂ 'ਤੇ ਦੁਬਾਰਾ ਟ੍ਰੇਨ ਕਰੋ। ਤੁਸੀਂ ਕੀ ਬਣਾਉਣ ਦੇ ਯੋਗ ਹੋ?
ਅਸਵੀਕਰਤੀ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦਾ ਯਤਨ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਮੌਜੂਦ ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੇ ਪ੍ਰਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।