<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Latest Techwave]]></title><description><![CDATA[Latest Techwave]]></description><link>https://susanadesoji.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 12:38:27 GMT</lastBuildDate><atom:link href="https://susanadesoji.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Exploring the Use of Generative Adversarial Networks in Image Synthesis]]></title><description><![CDATA[Generative Adversarial Networks, also called GANs, are a special type of machine learning model that can create new, fake data that looks real. In this article, we will learn how GANs work, how they are trained, and how they are used to make images. ...]]></description><link>https://susanadesoji.hashnode.dev/exploring-the-use-of-generative-adversarial-networks-in-image-synthesis</link><guid isPermaLink="true">https://susanadesoji.hashnode.dev/exploring-the-use-of-generative-adversarial-networks-in-image-synthesis</guid><category><![CDATA[Machine Learning]]></category><category><![CDATA[#researchwriting]]></category><category><![CDATA[ai text generator]]></category><category><![CDATA[image-synthesis]]></category><dc:creator><![CDATA[Susan Adesoji]]></dc:creator><pubDate>Tue, 17 Jan 2023 18:10:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1761197247065/89775ad1-e5cd-48db-ab87-d5b361b4a5da.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Generative Adversarial Networks, also called <strong>GANs</strong>, are a special type of machine learning model that can create new, fake data that looks real. In this article, we will learn how GANs work, how they are trained, and how they are used to make images. We will also look at some of their challenges and future possibilities.</p>
<p><img src="https://miro.medium.com/max/795/1*mP9H0mQ7c_LNwlfUKis9fA.png" alt /></p>
<h2 id="heading-introduction">Introduction</h2>
<p>Generative Adversarial Networks (GANs) are deep learning models that can <strong>generate</strong> new data, such as pictures, that look very similar to real ones. A GAN has two main parts:</p>
<ol>
<li><p><strong>Generator</strong> : makes fake images that look real.</p>
</li>
<li><p><strong>Discriminator</strong> : checks if an image is real or fake.</p>
</li>
</ol>
<p>These two networks are trained together in what we call a <strong>game-theoretic</strong> setup. This means they are like two players in a game. The generator’s goal is to make the discriminator believe its fake images are real, while the discriminator’s goal is to correctly guess which images are real and which are fake. Over time, both networks become better the generator makes more realistic images, and the discriminator becomes better at detecting fakes.</p>
<h2 id="heading-architecture-and-training">Architecture and Training</h2>
<p>In most GANs used for making images, both the generator and discriminator are built using <strong>Convolutional Neural Networks (CNNs)</strong>. CNNs are good at working with pictures because they can detect patterns like edges, colors, and textures.</p>
<h3 id="heading-how-the-generator-works">How the Generator Works</h3>
<p>The generator starts with a random vector of numbers, usually called <strong>noise</strong>. Let’s call this vector zzz. The generator turns this noise into an image using several <strong>transposed convolutional layers</strong>, which slowly build up image features.</p>
<p>Mathematically, we can say: Architecture and Training</p>
<p>In most GANs used for making images, both the generator and discriminator are built using <strong>Convolutional Neural Networks (CNNs)</strong>. CNNs are good at working with pictures because they can detect patterns like edges, colors, and textures.</p>
<h3 id="heading-how-the-generator-works-1">How the Generator Works</h3>
<p>The generator starts with a random vector of numbers, usually called <strong>noise</strong>. Let’s call this vector zzz. The generator turns this noise into an image using several <strong>transposed convolutional layers</strong>, which slowly build up image features.</p>
<p>Mathematically, we can say: Architecture and Training</p>
<p>In most GANs used for making images, both the generator and discriminator are built using <strong>Convolutional Neural Networks (CNNs)</strong>. CNNs are good at working with pictures because they can detect patterns like edges, colors, and textures.</p>
<h3 id="heading-how-the-generator-works-2">How the Generator Works</h3>
<p>The generator starts with a random vector of numbers, usually called <strong>noise</strong>. Let’s call this vector zzz. The generator turns this noise into an image using several <strong>transposed convolutional layers</strong>, which slowly build up image features.</p>
<p>Mathematically, we can say: <strong>G(z; θ_g) → x_fake</strong></p>
<p>Here:</p>
<ul>
<li><p><code>G</code> is the generator function</p>
</li>
<li><p><code>θ_g</code> are the generator’s weights (parameters)</p>
</li>
<li><p><code>x_fake</code> is the generated image</p>
</li>
</ul>
<h3 id="heading-how-the-discriminator-works">How the Discriminator Works</h3>
<p>The discriminator takes an image as input (real or fake) and outputs a number between 0 and 1, which shows the probability that the image is real:</p>
<pre><code class="lang-plaintext">D(x; θ_d) -&gt; y
</code></pre>
<p>Here:</p>
<ul>
<li><p><code>D</code> is the discriminator function</p>
</li>
<li><p><code>θ_d</code> are its weights</p>
</li>
<li><p><code>y</code> is the predicted probability of being real</p>
</li>
</ul>
<h3 id="heading-training-process">Training Process</h3>
<p>The generator and discriminator are trained together with opposite goals. The discriminator wants:</p>
<pre><code class="lang-plaintext">D(x_real) = 1
D(G(z)) = 0
</code></pre>
<p>The generator wants:</p>
<pre><code class="lang-plaintext">D(G(z)) = 1
</code></pre>
<p>The GAN loss function is written as:</p>
<pre><code class="lang-plaintext">min_G max_D V(D, G) = E_{x ~ p_data(x)} [log D(x)] + E_{z ~ p_z(z)} [log(1 - D(G(z)))]
</code></pre>
<ul>
<li><p><code>min_G</code> means the generator tries to minimize the value</p>
</li>
<li><p><code>max_D</code> means the discriminator tries to maximize the value</p>
</li>
<li><p><code>E_{x ~ p_data(x)}</code> is the expected value over real images</p>
</li>
<li><p><code>E_{z ~ p_z(z)}</code> is the expected value over random noise</p>
</li>
</ul>
<p>This creates a feedback loop: the generator improves at making realistic images, and the discriminator improves at detecting fakes.</p>
<hr />
<h2 id="heading-applications-of-gans">Applications of GANs</h2>
<p>GANs can make very realistic images of faces, animals, buildings, and landscapes. Some examples:</p>
<ol>
<li><p><strong>Creating realistic faces</strong> that do not belong to real people</p>
</li>
<li><p><strong>Generating cities or landscapes</strong> that look real but are fake</p>
</li>
<li><p><strong>Image-to-image translation</strong>, like turning sketches into photos or daytime images into nighttime images</p>
</li>
</ol>
<p>They are used in:</p>
<ul>
<li><p><strong>Movies and games</strong> for special effects</p>
</li>
<li><p><strong>Medicine</strong> for generating safe, synthetic medical images</p>
</li>
<li><p><strong>Self-driving cars</strong> for creating training images for AI</p>
</li>
</ul>
<p>GANs are exciting because they can <strong>create new data</strong>, not just recognize it. They are useful in many areas but also come with challenges. As researchers improve GANs, they will become easier to train, more stable, and safer to use. GANs show how AI can learn to <strong>create</strong>, not just <strong>classify</strong>.</p>
<hr />
]]></content:encoded></item></channel></rss>