<?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" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by KanishkAshra on Medium]]></title>
        <description><![CDATA[Stories by KanishkAshra on Medium]]></description>
        <link>https://medium.com/@kanishkashra?source=rss-02e3df8ae30a------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*vtQ84MAw3Xj-rYJS</url>
            <title>Stories by KanishkAshra on Medium</title>
            <link>https://medium.com/@kanishkashra?source=rss-02e3df8ae30a------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 08 Jun 2026 17:08:25 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@kanishkashra/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[From Geometry to Ground Truth: Bridging Adversarial Robustness and Verifiable RAG]]></title>
            <link>https://medium.com/@kanishkashra/from-geometry-to-ground-truth-bridging-adversarial-robustness-and-verifiable-rag-eb0e3e5efb31?source=rss-02e3df8ae30a------2</link>
            <guid isPermaLink="false">https://medium.com/p/eb0e3e5efb31</guid>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[ai-safety]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[responsible-ai]]></category>
            <dc:creator><![CDATA[KanishkAshra]]></dc:creator>
            <pubDate>Wed, 14 Jan 2026 23:16:35 GMT</pubDate>
            <atom:updated>2026-01-14T23:16:35.825Z</atom:updated>
            <content:encoded><![CDATA[<h3>Introduction: Robustness as a Design Constraint</h3><p>Building reliable AI has never been about making systems <em>sound</em> smarter. It has always been about making them behave correctly when their assumptions fail. My own work on robustness has taken place in two domains that appear unrelated at first glance: adversarial robustness in deep learning, and verifiable retrieval-augmented generation (RAG). One operates in gradients and geometry, the other in documents and evidence. Underneath, they are solving the same problem.</p><p>Both ask a single question: <strong>what should a system do when it cannot be confident it is right?</strong></p><p>Last year, in CMPUT 466, I worked on <strong>Exact Geometric Ensemble Adversarial Training (EGEAT)</strong> — a research project that reframed robustness as a geometric property of learning rather than an artifact of iterative attacks. This winter, as a UAIS Project Lead, I am applying the same failure-aware design philosophy to <strong>VeriRAG-R</strong>, a robust and verifiable RAG system designed for noisy, high-stakes documents.</p><p>This post is about the bridge between those two projects — and why robustness, regardless of modality, must be designed in rather than bolted on.</p><h3>The Foundation: What EGEAT Taught Me About Failure</h3><p>Adversarial robustness exposes an uncomfortable truth about modern deep learning: models can fail catastrophically under perturbations that are imperceptible to humans. Traditional defenses treat this as an optimization problem, relying on iterative attacks like PGD to approximate worst-case behavior. In practice, these approaches are expensive, opaque, and often poorly aligned with the true failure geometry of the model.</p><p>EGEAT began with a reframing: robustness is not primarily about <em>iteration</em>, but about <em>geometry</em>.</p><p>Instead of approximating the inner maximization with multi-step attacks, EGEAT uses convex duality to derive <strong>exact, closed-form adversarial perturbations</strong>. These perturbations correspond to the true first-order worst-case direction of the loss, removing approximation error from the robustness objective itself.</p><p>But exact perturbations alone are insufficient. One of the most dangerous properties of adversarial examples is <em>transferability</em>: attacks crafted for one model frequently fool others. This turns out to be a geometric phenomenon as well. Independent models often share aligned gradient subspaces, meaning they are vulnerable along the same directions in input space.</p><p>EGEAT addresses this directly by enforcing <strong>gradient-subspace decorrelation</strong> across an ensemble. By penalizing alignment between input-gradient directions, the system rotates decision boundaries apart, reducing shared vulnerabilities. Ensemble and weight-space smoothing further stabilize training by discouraging sharp minima and brittle solutions.</p><p>The core lesson from EGEAT was not simply that robustness can be improved — it was <em>why</em>:</p><blockquote><em>Robustness is not a post-hoc patch. It is a property of the geometry the learning process encourages.</em></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*mSK2Qt5kF7-uT8BmlW9u2Q.png" /><figcaption>Gradient subspace similarity surface and loss landscape visualization</figcaption></figure><h3>A New Domain, the Same Failure Mode</h3><p>At first glance, Retrieval-Augmented Generation looks unrelated to adversarial robustness. There are no ℓ∞ balls, no input gradients over pixels, no saddle-point objectives. But the failure modes are strikingly similar.</p><p>Standard RAG systems perform well on clean, curated inputs. In real deployments, documents are scanned poorly, tables are flattened, sections are missing, and sources disagree. Under these conditions, many systems fail in the worst possible way: they hallucinate confidently, fabricate citations, or fail silently.</p><p>In high-stakes settings — legal reference, policy analysis, clinical guidelines — <strong>confidence without verification is worse than no answer at all</strong>.</p><p>This is the problem <strong>VeriRAG-R</strong> is designed to solve.</p><p>As a UAIS Project Lead this winter, I am guiding VeriRAG-R around a principle that mirrors EGEAT’s philosophy almost exactly</p><blockquote><em>Saying “I don’t know” is not a fallback. It is a success condition.</em></blockquote><h3>Bridging the Two Projects</h3><p>Although EGEAT and VeriRAG-R operate at different layers of the AI stack, the design lineage between them is concrete. The connection rests on three shared pillars.</p><h3>1. Intentional Noise as a Diagnostic Tool</h3><p>In EGEAT, robustness is evaluated under explicit worst-case perturbations. Failure is not accidental; it is deliberately provoked so the system’s geometry can be inspected.</p><p>VeriRAG-R applies the same idea through a <strong>Robustness Harness</strong>. Instead of assuming clean inputs, we inject controlled noise during document ingestion — OCR corruption, random section dropout, table flattening, and formatting loss. The purpose is not to break the system arbitrarily, but to observe <em>how</em> degradation occurs and <em>which components fail first</em>.</p><p>In both systems, robustness is something you test <em>before</em> deployment, not something you benchmark after a failure has already occurred.</p><p>[Image placeholder: Robustness harness with injected document noise]</p><h3>2. Hybrid Logic Instead of Single-Signal Confidence</h3><p>EGEAT does not rely on a single strong model. It relies on ensembles whose sensitivities are intentionally decorrelated. Robustness emerges from disagreement, not consensus.</p><p>VeriRAG-R borrows this idea directly. Dense retrieval captures semantic intent but can miss exact details. Sparse retrieval excels at lexical precision but is brittle under paraphrasing. Instead of trusting either signal in isolation, VeriRAG-R treats <strong>retrieval disagreement itself as a diagnostic signal</strong>.</p><p>When dense and sparse retrieval agree, confidence increases. When they diverge, the system becomes more conservative — often triggering partial answers or abstention. This mirrors how gradient disagreement in EGEAT signals reduced transferability and increased robustness.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*koj4YC8AdQgiV_ae04SbmQ.png" /><figcaption>Dense Retrieval vs Sparse Retrieval</figcaption></figure><h3>3. Structural Traceability as Interpretability</h3><p>One of the most valuable aspects of EGEAT was interpretability. Gradient alignment metrics and loss-landscape visualizations provided concrete diagnostics for understanding failure modes.</p><p>VeriRAG-R enforces the same standard through <strong>hierarchical chunking</strong>. Every answer is traceable to a document, section, paragraph, and page ID. Claims are not simply generated — they are grounded in inspectable structure.</p><p>This is the document-level analogue of tracking sensitivity directions in gradient space: failures are observable, not hidden.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/732/1*4jM3x7Wq6_ECseY_Tjqmow.png" /><figcaption>Hierarchical chunking and metadata structure</figcaption></figure><h3>Executing the Vision: System First, Team Second</h3><p>Building robust systems requires structure, but structure should serve the system — not overshadow it.</p><p>VeriRAG-R is organized to mirror the pipeline itself: ingestion and evaluation, retrieval and reasoning, and verification and integration. Contributors are grouped by responsibility rather than hierarchy, ensuring each layer of the system is independently testable and inspectable.</p><p>The Winter semester follows a deliberate progression:</p><ul><li>establishing a clean baseline,</li><li>introducing hybrid retrieval and robustness testing,</li><li>implementing verification and abstention logic,</li><li>and consolidating the system for public evaluation.</li></ul><p>This mirrors how EGEAT evolved as well: theory first, diagnostics second, integration last.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GvB6y828w8NeZDaQ1_uBSg.png" /><figcaption>Project Timeline and System Architecture</figcaption></figure><h3>Looking Ahead</h3><p>Whether we are decorrelating gradient subspaces or cross-referencing noisy PDFs, the goal remains the same: <strong>build AI systems that fail safely, visibly, and honestly</strong>.</p><p>EGEAT taught me that robustness is fundamentally geometric — about shaping the space in which models operate. VeriRAG-R applies that same insight to retrieval and reasoning: reliability emerges when uncertainty is modeled explicitly rather than ignored.</p><p>By the end of this semester, VeriRAG-R aims to stand not just as a project demo, but as a blueprint for verifiable, failure-aware AI in domains where trust matters more than fluency.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=eb0e3e5efb31" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ SOILution — Building a Distributed IoT Irrigation System in 64 Hours (While Sleep-Deprived and…]]></title>
            <link>https://medium.com/@kanishkashra/soilution-building-a-distributed-iot-irrigation-system-in-64-hours-while-sleep-deprived-and-0fd944f67fbd?source=rss-02e3df8ae30a------2</link>
            <guid isPermaLink="false">https://medium.com/p/0fd944f67fbd</guid>
            <dc:creator><![CDATA[KanishkAshra]]></dc:creator>
            <pubDate>Thu, 13 Nov 2025 02:56:50 GMT</pubDate>
            <atom:updated>2025-11-13T04:03:16.510Z</atom:updated>
            <content:encoded><![CDATA[<h3>🌾 SOILution — How We Built a Production-Grade Smart Farming System in 64 Hours (While Exhausted, Sleep-Deprived, and Fueled by Engineering Instinct)</h3><h3>🌱 Introduction — When Innovation Meets Physical Exhaustion</h3><p>Hackathons look glamorous from the outside: neon lights, excited crowds, and the promise of creating something futuristic in a weekend.</p><p><strong>Reality? Less glamorous.</strong></p><p>Try soldering at 4 a.m. with trembling hands.<br> Try debugging an ESP32 that refuses to connect unless you threaten it.<br> Try writing SQL queries on no sleep while servo motors scream like tiny mechanical demons.</p><p>At NaTHackS 2025, my team and I lived <em>all</em> of that.</p><p>But through 64 hours of chaos, exhaustion, and relentless debugging, we built <strong>SOILution</strong> — a distributed IoT irrigation system designed for farmers facing Prairie drought, soil stress, and unpredictable rainfall.</p><p>It pushed every part of me:<br> my embedded skills, my cloud engineering skills, my analytics skills, and my ability to function while my brain rebooted every fifteen minutes.</p><p>This blog is the real story — the architecture, the failures, the decisions, the debugging nightmares, and the moment the dashboard finally lit up at 3:47 a.m. and we realized:</p><p><strong>We actually built something meaningful.</strong></p><p>Not a prototype.<br> Not a demo.<br> A real system that can help farmers conserve water and protect crops.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/504/1*xFVjWmNKuemxJqd_Ups2SA.png" /></figure><h3>🌾 Why We Built SOILution — The Prairie Problem</h3><p>Farmers in Western Canada deal with:</p><ul><li>unpredictable rainfall</li><li>clay-heavy soil that dries rapidly</li><li>limited well water</li><li>outdated fixed-timer irrigation</li><li>zero real-time soil feedback</li></ul><p>This leads to:</p><ul><li><strong>Over-watering</strong> → wasted water + nutrient runoff</li><li><strong>Under-watering</strong> → drought stress + yield loss</li><li><strong>Guess-based decision-making</strong></li></ul><p>We reframed the problem like engineers:</p><p><strong>💡 What if the soil itself could tell the farmer when it needs water?</strong><br> <strong>💡 What if irrigation could adapt dynamically based on real soil behavior?</strong></p><p>This idea became <strong>SOILution</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/563/1*Hyo5EWSB-kMhacttN0hagQ.png" /></figure><h3>⚙️ SOILution in One Sentence</h3><p><strong>SOILution reads the soil, learns from it, and waters crops automatically using a distributed network of ESP32 telemetry nodes connected to a cloud backend and real-time dashboard.</strong></p><p>Under the hood, it’s a full production-grade ecosystem.</p><h3>🧱 Architecture — A Full IoT Ecosystem Built in 64 Hours</h3><p>This wasn’t a typical hackathon throwaway project.<br> It was a multi-layer system with real engineering rigor.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sD4x_Lq_Z1cKtzKncWHvAw.png" /></figure><pre>[Soil Moisture Sensor]<br>        ↓<br>[ESP32 Node]<br>  - ADC smoothing<br>  - Calibration curves<br>  - Slope detection<br>  - Offline caching<br>  - Fault-tolerant Wi-Fi<br>        ↓<br>[HTTPS → Supabase REST]<br>        ↓<br>[Supabase Postgres]<br>  - Telemetry store<br>  - Crop thresholds<br>  - Zone configs<br>  - Watering logs<br>        ↓<br>[Real-Time Dashboard (Vite + JS)]<br>  - Trend graphs<br>  - Soil-risk scoring<br>  - Zone monitoring<br>  - Water savings<br>        ↓<br>[Automated Irrigation]<br>  - PWM servos<br>  - Safe actuation<br>  - Soft-start motion</pre><h3>🔧 ESP32 Firmware — Turning Noisy Sensors Into Reliable Insights</h3><h3>🧪 1. Moisture Acquisition Pipeline</h3><p>Capacitive sensors = noisy, nonlinear, and chaotic.</p><p>Raw readings fluctuated ±15% every few seconds — completely unusable for real farming.</p><p>So we built a multi-stage smoothing pipeline:</p><ul><li><strong>Rolling average (5 samples)</strong></li><li><strong>Median filter</strong></li><li><strong>Normalized calibration</strong> (dry/wet endpoints)</li><li><strong>Slope detection</strong></li><li><strong>Debouncing</strong></li></ul><h3>🖼️ [Insert Image: Moisture sensor setup / wiring diagram]</h3><h3>The math workflow:</h3><pre>float filtered = median(rolling_average(raw, 5));<br>float normalized = (filtered - dry) / (wet - dry) * 100;<br>float slope = (curr - prev) / dt;</pre><p>We reduced variance from <strong>±12% → ±3.5%</strong>.</p><h3>⚡ 2. Servo Actuation Without Brownouts</h3><p>Every servo movement caused ESP32 resets.<br> Turns out: servo stall current caused voltage dips → brownouts.</p><h3>Fixes:</h3><ul><li>Dedicated 5V rail</li><li>Ground isolation</li><li>PWM-safe pins</li><li>Soft-start angle sweep</li></ul><h3>🖼️ [Insert Image: Servo valve controlling irrigation]</h3><pre>void safe_move(int target) {<br>  int curr = servo.read();<br>  int step = (target &gt; curr) ? 1 : -1;<br>  while (curr != target) {<br>    curr += step;<br>    servo.write(curr);<br>    delay(10);<br>  }<br>}</pre><p>Irrigation became rock-solid stable.</p><h3>🌐 3. Fault-Tolerant Telemetry Pipeline</h3><p>Rural Wi-Fi isn’t dependable.<br> So we engineered the ESP32 transport layer like a production IoT device:</p><ul><li>HTTPS + TLS</li><li>Exponential backoff</li><li>Duplicate suppression</li><li>EEPROM offline caching</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ecV-ir-oKpAYT_N3LqyqbQ.jpeg" /><figcaption>Telemetry Feed</figcaption></figure><pre><br>for (int i = 0; i &lt; 6; i++) {<br>  if (send(payload)) return;<br>  delay(pow(2, i) * 1000);<br>}<br>store_in_buffer(payload);</pre><p>We unplugged the router for 15 minutes.<br> The ESP32 cached everything and synced instantly on reconnection.</p><h3>🗄️ Supabase — The Cloud Brain</h3><p>We built a proper PostgreSQL schema (not hackathon spaghetti):</p><ul><li><strong>telemetry</strong> — sensor readings</li><li><strong>thresholds</strong> — crop moisture rules</li><li><strong>zones</strong> — configuration for each farm zone</li><li><strong>watering_activity</strong> — water savings</li><li><strong>profiles</strong> — user metadata</li></ul><p>Fast queries. Indexed tables. Real-time subscriptions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vX-BkBMhZ5yARvYAIyx3XQ.png" /><figcaption>ER Diagram for Supabase DB</figcaption></figure><h3>📊 Dashboard — Turning Telemetry Into Decisions</h3><p>We built a dynamic, real-time dashboard:</p><ul><li>Vite + Vanilla JS</li><li>TailwindCSS</li><li>Recharts</li><li>Supabase Realtime</li></ul><p>Farmers can:</p><ul><li>monitor moisture in real time</li><li>see recovery curves</li><li>track irrigation events</li><li>view risk scoring</li><li>visualize savings</li></ul><p>Realtime updates come from Supabase Postgres-change broadcasts:</p><pre>supabase.channel(&#39;telemetry&#39;)<br>  .on(&#39;postgres_changes&#39;, { event: &#39;INSERT&#39;, table: &#39;telemetry&#39; }, (payload) =&gt; {<br>    updateDashboard(payload.new);<br>  })<br>  .subscribe();</pre><p>It feels like a heartbeat monitor for the soil.</p><h3>🧠 Soil Behavior Intelligence — Early ML Layer</h3><p>We modeled soil behavior using</p><ul><li>drying velocity</li><li>recovery slope</li><li>decay coefficient (λ)</li><li>saturation delay</li><li>REI (recovery efficiency index)</li><li>thresholds per crop</li></ul><p>This produced a <strong>Soil Confidence Score (0–100)</strong>.</p><p>Future versions will use:</p><ul><li>LSTM time-series modeling</li><li>TinyML on the ESP32</li><li>NDVI satellite vegetation data</li></ul><h3>💥 Challenges — The Brutal Truth</h3><ul><li>Sensor noise made us question reality</li><li>Servos kept frying our power rails</li><li>Supabase write conflicts required UPSERT logic</li><li>We manually scraped government soil data</li><li>Sleep deprivation turned small bugs into epic battles</li></ul><p>But every challenge forced a stronger architecture.</p><h3>🏆 Accomplishments We’re Proud Of</h3><ul><li>✔ Full IoT → Cloud → Dashboard → Automation pipeline</li><li>✔ Stable ADC pipelines for low-cost sensors</li><li>✔ Reliable servo-based irrigation</li><li>✔ Scalable PostgreSQL schema</li><li>✔ Early soil behavior analytics</li><li>✔ ~65% sensor accuracy under noise</li><li>✔ Won <strong>1st Place — EcoTech Division</strong></li></ul><p>Not hack.<br> A blueprint.</p><h3>🚀 What’s Next for SOILution</h3><h3>🌤 Weather + Satellite Integration</h3><p>RAIN API, NDVI maps, soil moisture index.</p><h3>🤖 TinyML on ESP32</h3><p>Local prediction → less cloud dependency.</p><h3>🌾 Real Farm Deployments</h3><p>Testing across wheat, barley, canola fields.</p><h3>📡 ESP-MESH</h3><p>Wireless mesh networks for large farms.</p><h3>🧰 Built With</h3><h3>Hardware</h3><p>ESP32, Capacitive sensors, Servo motors, External PSU</p><h3>Software</h3><p>C++, JavaScript, SQL</p><h3>Cloud</h3><p>Supabase (Postgres, Auth, Realtime)</p><h3>Frontend</h3><p>Vite, TailwindCSS, Recharts</p><h3>🌟 Final Thoughts — Engineering Under Pressure</h3><p>SOILution wasn’t just a hackathon project. It was:</p><ul><li>embedded engineering</li><li>cloud architecture</li><li>time-series analytics</li><li>distributed telemetry</li><li>human endurance</li></ul><p>At 3:47 a.m., when the dashboard finally lit up with real moisture data, we knew:</p><p><strong>We didn’t just build a hackathon project.<br> We built a real system.</strong></p><p>A system that can help farmers conserve water, protect crops, and turn soil into data.</p><p>And we’re just getting started.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0fd944f67fbd" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[From Cybersecurity to Generative AI: How I Discovered the Creative Side of Adversarial Learning]]></title>
            <link>https://medium.com/@kanishkashra/from-cybersecurity-to-generative-ai-how-i-discovered-the-creative-side-of-adversarial-learning-ece9e7826487?source=rss-02e3df8ae30a------2</link>
            <guid isPermaLink="false">https://medium.com/p/ece9e7826487</guid>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[KanishkAshra]]></dc:creator>
            <pubDate>Fri, 31 Oct 2025 02:35:32 GMT</pubDate>
            <atom:updated>2025-10-31T02:35:32.764Z</atom:updated>
            <content:encoded><![CDATA[<p><em>“The skills I honed defending systems unexpectedly became my tools for creation.”</em></p><p>When I first started my career in cybersecurity, my world revolved around defense. Automating workflows, analyzing system vulnerabilities, and anticipating attacks became second nature. Every line of code, every script I wrote, had a single goal: <strong>protect and secure</strong>.</p><p>Little did I know that these same principles would later guide me into a completely different frontier: Generative Adversarial Networks (GANs).</p><h3>Seeing the Adversary in a New Light</h3><p>At first glance, GANs seemed worlds apart from cybersecurity. One creates, the other critiques. One is about production, the other protection. But both domains share a core principle: <strong>adversarial thinking</strong>.</p><p>In cybersecurity, I was constantly predicting what an attacker might do. In GANs, I was trying to stabilize the delicate balance between a generator and a discriminator. Mode collapse, vanishing gradients, and unstable convergence — all felt familiar, not in threat, but in <strong>strategy and anticipation</strong>. My experience anticipating attacks now helped me troubleshoot GANs more efficiently.</p><h3>Automation: From Defense to Creation</h3><p>Writing scripts to automate repetitive security tasks taught me efficiency, precision, and reproducibility. These same skills became invaluable when managing GAN pipelines, tracking experiments, and systematically evaluating generated outputs.</p><p>What once protected systems was now <strong>producing complex data, realistic images, and structured simulations</strong>. The mindset was the same, but the goal had shifted: from defense to creation.</p><h3>Recognizing Patterns Everywhere</h3><p>Pattern recognition was another bridge between the two worlds. In cybersecurity, spotting anomalies in system logs or network traffic was essential. In GANs, understanding latent spaces, interpreting subtle correlations, and fine-tuning outputs rely on the same sharp analytical skills. The challenges changed, but the core ability to <strong>see patterns others might miss</strong> remained.</p><h3>Lessons from the Journey</h3><p>This transition taught me a few key lessons:</p><ul><li><strong>Skills are transferable.</strong> Expertise in one domain can open doors in unexpected areas.</li><li><strong>Curiosity fuels growth.</strong> Following your interests can reveal opportunities you never imagined.</li><li><strong>Persistence matters.</strong> Both cybersecurity and GANs require iterative experimentation, patience, and adaptability.</li></ul><h3>Bridging Defense and Creativity</h3><p>Moving from cybersecurity to GANs hasn’t been about leaving one field behind — it’s been about <strong>leveraging my experience in a new, creative way</strong>. Today, I combine the rigor of security, the precision of automation, and the curiosity of research to explore generative AI.</p><p>The intersection of defense and creation is full of opportunities. It has taught me that skills aren’t just for one purpose — they are tools to approach problems in <strong>innovative, unexpected ways</strong>. And as I continue exploring GANs, I’m excited to see how much further this journey can go.</p><p><em>“Adversaries exist in both defense and creation; understanding one can unlock mastery of the other.”</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ece9e7826487" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>