<?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 Harsh Maheshwari on Medium]]></title>
        <description><![CDATA[Stories by Harsh Maheshwari on Medium]]></description>
        <link>https://medium.com/@harshm121?source=rss-45e875b1aa72------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*UzX-6cIOsxwii5iDx3AdKQ.png</url>
            <title>Stories by Harsh Maheshwari on Medium</title>
            <link>https://medium.com/@harshm121?source=rss-45e875b1aa72------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Tue, 23 Jun 2026 14:26:18 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@harshm121/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[Flow Matching vs Diffusion]]></title>
            <link>https://harshm121.medium.com/flow-matching-vs-diffusion-79578a16c510?source=rss-45e875b1aa72------2</link>
            <guid isPermaLink="false">https://medium.com/p/79578a16c510</guid>
            <category><![CDATA[generative-ai-solution]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[diffusion-models]]></category>
            <category><![CDATA[generative-ai-tools]]></category>
            <category><![CDATA[machine-learning]]></category>
            <dc:creator><![CDATA[Harsh Maheshwari]]></dc:creator>
            <pubDate>Tue, 18 Mar 2025 15:17:12 GMT</pubDate>
            <atom:updated>2025-04-06T11:38:50.537Z</atom:updated>
            <content:encoded><![CDATA[<h3>Briefly going into mathematical foundations and getting intuitive understanding</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*88CWTNQUUbwfJ5qM50nnOw.gif" /></figure><p>Code: <a href="https://github.com/harshm121/Diffusion-v-FlowMatching">https://github.com/harshm121/Diffusion-v-FlowMatching</a></p><h3>Introduction</h3><p>Generative models have revolutionised artificial intelligence, enabling machines to create remarkably realistic images, audio, and text. Among these techniques, two approaches have gained significant traction: diffusion models and flow matching. While both methods transform noise into structured data (or vice versa), they operate on fundamentally different principles (or do they?). This blog post provides a comprehensive comparison of these two powerful techniques, exploring their mathematical foundations, practical implementations, and intuitive interpretations.</p><h3>The Basic Intuition</h3><p>Before diving into the mathematics, let’s develop an intuitive understanding of both approaches:</p><p><strong>Diffusion Models</strong> gradually add noise to data until it becomes pure noise, then learn to reverse this process. Think of it as slowly dissolving a photograph in acid until it becomes a random blur, then learning how to reconstruct the photograph from the blur.</p><p><strong>Flow Matching</strong> creates a continuous path (or flow) between noise and data distributions. Think of it as defining a smooth transportation plan that morphs noise into structured data, similar to watching a time-lapse of clay being sculpted from a random blob into a detailed statue.</p><h3>Mathematical Foundations of Diffusion Models</h3><h3>Forward Process</h3><p>Diffusion models define a forward process that gradually adds Gaussian noise to data $x_0$ over $T$ timesteps:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/218/1*Ji17-UDye5TmEML9ULDRGg.png" /></figure><p>where</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/110/0*h7eudX901wpVrhOa.png" /></figure><p>and $\alpha_t \in (0, 1)$ is a noise schedule parameter.</p><p>This process can also be expressed as a stochastic differential equation (SDE):</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/201/0*1_h2VBtUnjDwzCxo.png" /></figure><p>where $W_t$ is a standard Wiener process (Brownian motion), $f(x_t, t)$ is the drift coefficient, and $g(t)$ is the diffusion coefficient.</p><p>After sufficient steps, $x_T$ approaches a standard Gaussian distribution $\mathcal{N}(0, I)$, essentially destroying all structure in the original data.</p><h3>Reverse Process</h3><p>The key insight in diffusion models is that if we can learn to reverse this noise addition process, we can generate new data by starting with random noise and iteratively denoising it.</p><p>The reverse process is defined as:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/315/0*3-u0yHI53JjDVAr0.png" /></figure><p>In practice, models like DDPM (Denoising Diffusion Probabilistic Models) predict the noise component $\epsilon_\theta(x_t, t)$ at each step, from which we can derive $\mu_\theta(x_t, t)$.</p><h3>Training Objective</h3><p>The training objective for diffusion models is typically a variational bound on the negative log-likelihood:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/719/0*6stOYNHm3jppVNIH.png" /></figure><p>In practice, this is often simplified to a reweighted mean-squared error objective:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/286/0*F1Ww2l6dqUuY0IKf.png" /></figure><h3>Mathematical Foundations of Flow Matching</h3><h3>Continuous Normalizing Flows and Velocity Fields</h3><p>Flow matching builds on the concept of continuous normalizing flows (CNFs), which define a differential equation that transforms one probability distribution into another:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/129/0*zSa8weV8oZlmACMx.png" /></figure><p>where $v_\theta$ is a learned velocity field.</p><h4>Understanding Velocity Fields</h4><p>A velocity field is a function that assigns a velocity vector to each point in space and time. Think of it as a wind map that shows the direction and speed that a particle should move at any given location. In the context of generative models:</p><ol><li><strong>Mathematical Definition</strong>: A velocity field</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/196/0*sg-uXTTydiSpML22.png" /></figure><p>assigns a vector $v$ to each point $x$ at time $t$.</p><ol><li><strong>Physical Intuition</strong>: Imagine placing a tiny boat at any point in a river. The velocity field tells you the direction and speed the current will move the boat at that exact position.</li><li><strong>Transformation Properties</strong>: If we follow the velocity field from time $t=0$ to $t=1$, we trace out paths that transform samples from one distribution (typically noise) to another (our target data distribution).</li></ol><p>Velocity fields have several important properties that make them powerful tools for generative modeling:</p><ul><li><strong>Deterministic Paths</strong>: Following a velocity field from a starting point produces a deterministic trajectory.</li><li><strong>Invertibility</strong>: We can run the process backward by reversing the velocity vectors.</li><li><strong>Conservation of Probability Mass</strong>: The continuity equation ensures that probability mass is neither created nor destroyed during the transformation.</li></ul><p>To visualize a velocity field, imagine a grid where at each point there’s an arrow showing direction and magnitude:</p><pre>↑     ↗     →     ↗     ↑<br>↖     ↑     ↑     →     ↗<br>←     ↙     ↑     ↑     →<br>↙     ↓     ↓     ↗     ↑<br>↓     ↙     ←     ←     ↑</pre><p>In flow matching, we learn a neural network to predict these arrows (velocity vectors) given a position and time. The network is trained to match a reference vector field that defines the desired flow between distributions.</p><h3>Probability Flow ODE</h3><p>The evolution of probability density under this flow follows the continuity equation:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/256/0*l1PeL-betfyFNBoS.png" /></figure><p>This ensures mass conservation during the transformation.</p><h3>Flow Matching Principle</h3><p>The key innovation in flow matching is to directly supervise the velocity field $v_\theta$ using a predefined path between distributions. Instead of deriving the velocity field from a complex probability flow equation, flow matching directly constrains it to match a reference vector field $u(x,t)$ that defines how samples should move:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/312/0*UcNO9GUL3awb0-wO.png" /></figure><p>where $x(t)$ is sampled from the path distribution $p_t(x)$ that interpolates between the noise distribution $p_0(x)$ and the data distribution $p_1(x)$.</p><h3>Conditional Flow Matching</h3><p>A powerful extension is conditional flow matching (CFM), which constructs paths between individual data points and noise samples:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/366/0*S1gS_YY7UnmdJNRS.png" /></figure><p>where</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/208/0*T1fqq_x71UPQyEAe.png" /></figure><p>defines a path between noise $z$ and data $x_0$, with</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/158/0*VzN6gskCxiXI58m8.png" /></figure><p>controlling path noise.</p><h3>Key Differences</h3><h3>1. Path Definition</h3><p><strong>Diffusion Models</strong> define a fixed, stochastic path through the addition of Gaussian noise. The forward process is predetermined by the noise schedule, and the model learns to reverse this specific process.</p><p><strong>Flow Matching</strong> allows for flexible path design between distributions. The paths can be straight lines, curved trajectories, or even learned dynamically, providing greater flexibility.</p><h3>2. Training Dynamics</h3><p><strong>Diffusion Models</strong> typically require estimating complex probability densities or their surrogates, often leading to challenging training dynamics and the need for careful noise scheduling.</p><p><strong>Flow Matching</strong> directly supervises the velocity field, resulting in a simpler mean-squared error objective that tends to be more stable during training.</p><h3>3. Sampling Efficiency</h3><p><strong>Diffusion Models</strong> traditionally require many steps during sampling (often 1000+), though techniques like DDIM sampling have reduced this requirement.</p><p><strong>Flow Matching</strong> can often achieve high-quality samples with fewer steps (10–100) by leveraging higher-order ODE solvers.</p><h3>4. Theoretical Guarantees</h3><p><strong>Diffusion Models</strong> have strong connections to score-based generative models and provide clear likelihood bounds.</p><p><strong>Flow Matching</strong> offers guarantees about exact density matching under certain conditions and provides a more direct route to optimizing the probability flow ODE.</p><h3>Numerical Example: Transforming a Simple Distribution</h3><p>Let’s consider a concrete example: transforming a standard normal distribution into a mixture of two Gaussians.</p><h3>Diffusion Approach</h3><p>In the diffusion approach, we would:</p><ol><li>Start with our target distribution (mixture of Gaussians)</li><li>Gradually add noise according to a schedule $\beta_t$</li><li>Train a model to predict the noise at each step</li><li>Sample by starting with pure noise and iteratively denoising</li></ol><p>For a simple 1D example with $T=10$ steps and linear noise schedule $\beta_t = 0.1$, the forward process would be:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/242/0*pGxK2-HmaW4L0WTy.png" /></figure><p>The reverse process would estimate:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/310/0*aAKvvOAlzsucuByj.png" /></figure><h3>Flow Matching Approach</h3><p>In the flow matching approach, we would:</p><ol><li>Define a path between distributions, e.g., linear interpolation:</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/222/0*s3T95Wn_XcsOUpQM.png" /></figure><p>2. Derive or define a velocity field $u(x, t)$ that induces this path</p><p>3. Train a model to predict this velocity field</p><p>4. Sample by solving the ODE: $dx/dt = v_\theta(x, t)$ from noise to data</p><p>For our simple example, assuming straight-line paths, the velocity field might be:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/283/0*vT4V9D0-rSK-bYYw.png" /></figure><p>where $z$ is a noise sample and $x_0$ is a data sample.</p><h3>Practical Implementations and Applications</h3><h3>Diffusion Models in Practice</h3><p>The most influential diffusion models include:</p><ul><li><strong>DDPM (Denoising Diffusion Probabilistic Models)</strong>: The foundational model that popularized the approach</li><li><strong>DDIM (Denoising Diffusion Implicit Models)</strong>: Accelerated sampling through deterministic processes</li><li><strong>Stable Diffusion</strong>: Applied to latent spaces for efficient image generation</li><li><strong>Imagen and DALL-E 2</strong>: Text-to-image models built on diffusion principles</li></ul><p>Implementation considerations:</p><pre># Simplified DDPM training loop<br>def train_step(self, x_0, optimizer):<br>    &quot;&quot;&quot;Single training step for diffusion model&quot;&quot;&quot;<br>    batch_size = x_0.shape[0]<br>    <br>    # Sample random timesteps<br>    t = torch.randint(0, self.n_timesteps, (batch_size,), device=self.device, dtype=torch.long)<br>    <br>    # Add noise to data<br>    x_t, noise = self.q_sample(x_0, t)<br>    <br>    # Predict noise<br>    predicted_noise = self.model(x_t, t / self.n_timesteps)<br>    <br>    # Compute loss<br>    loss = F.mse_loss(noise, predicted_noise)<br>    <br>    # Update parameters<br>    optimizer.zero_grad()<br>    loss.backward()<br>    optimizer.step()<br>    <br>    return loss.item()</pre><h3>Flow Matching in Practice</h3><p>Notable flow matching implementations include:</p><ul><li><strong>Conditional Flow Matching (CFM)</strong>: Efficiently trains neural ODEs for generative modeling</li><li><strong>Consistency Models</strong>: Combines aspects of flow matching with diffusion principles</li><li><strong>SiT (Score in Time)</strong>: Reformulates diffusion models as interpolant matching</li></ul><p>Implementation considerations:</p><pre>def sample_path_point(self, x_0, z, t):<br>    &quot;&quot;&quot;Sample point along the path from noise z to data x_0 at time t&quot;&quot;&quot;<br>    # Linear interpolation path with small noise<br>    noise = torch.randn_like(x_0) * self.sigma<br>    x_t = (1 - t) * z + t * x_0 + noise * torch.sqrt(t * (1 - t))<br>    <br>    # Target velocity for the path<br>    # For straight-line path (excluding the noise term for simplicity)<br>    target_v = x_0 - z<br>    <br>    return x_t, target_v<br><br># Simplified Flow Matching training loop<br>def train_step(self, x_0, optimizer):<br>    &quot;&quot;&quot;Single training step for flow matching&quot;&quot;&quot;<br>    batch_size = x_0.shape[0]<br>    <br>    # Sample random timesteps<br>    t = torch.rand(batch_size, device=self.device)<br>    <br>    # Sample noise points<br>    z = torch.randn_like(x_0)<br>    <br>    # Get path points and target velocities<br>    x_t, target_v = self.sample_path_point(x_0, z, t.unsqueeze(-1))<br>    <br>    # Predict velocity vectors<br>    predicted_v = self.model(x_t, t)<br>    <br>    # Compute loss<br>    loss = F.mse_loss(predicted_v, target_v)<br>    <br>    # Update parameters<br>    optimizer.zero_grad()<br>    loss.backward()<br>    optimizer.step()<br>    <br>    return loss.item()</pre><h3>Intuitive Analogies</h3><h3>Diffusion as Erosion and Reconstruction</h3><p>Imagine a sandcastle on a beach. The diffusion forward process is like watching the tide gradually wash away the castle until only a flat bed of sand remains. The reverse process is learning how to reconstruct the castle from the flat sand by understanding the patterns in which sand grains were moved.</p><h3>Flow Matching as Navigation</h3><p>Flow matching is like having a GPS system that gives you direction vectors at any point in space to navigate from your current location to a destination. Rather than following a fixed route, you can start anywhere, and the learned vector field will guide you toward the target distribution.</p><h3>Convergence of Approaches</h3><p>Recent research has revealed interesting connections between diffusion models and flow matching:</p><ul><li><strong>Probability Flow ODEs</strong>: Diffusion processes can be converted to deterministic ODEs similar to those in flow matching</li><li><strong>Score-Based Methods</strong>: Both approaches can be viewed as learning different parameterizations of the score function (gradient of log density)</li><li><strong>Interpolant Matching</strong>: Unifies various generative approaches under a common framework</li></ul><h3>Computational Efficiency</h3><p><strong>Diffusion Models</strong> generally require more function evaluations during sampling, leading to higher computational costs. However, they can be trained with simple architectures and loss functions.</p><p><strong>Flow Matching</strong> typically achieves better sampling efficiency with sophisticated ODE solvers but may require more complex architectures to accurately model the velocity field.</p><h3>Sample Quality</h3><p>Both approaches can achieve state-of-the-art sample quality, with the choice often depending on specific application requirements:</p><ul><li><strong>Diffusion Models</strong> excel at highly structured data like images and audio</li><li><strong>Flow Matching</strong> can be more efficient for simpler distributions or when sampling speed is critical</li></ul><h3>Conclusion</h3><p>Diffusion models and flow matching represent two powerful paradigms in generative modeling, each with distinct mathematical foundations and practical considerations. Diffusion models follow a fixed stochastic process and learn to reverse it, while flow matching directly learns a velocity field that can transform distributions along flexible paths. It is as if flow matching kept all the good part of the diffusion process intact but simplified by removing the unnecessary restrictions of the complex forward noising process.</p><p>Understanding the fundamental differences and similarities between these approaches provides deeper insight into the broader landscape of generative modelling and points toward exciting future directions in this rapidly evolving field.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6bH8ZTgPbeo9Lhs_-tUKCQ.png" /><figcaption>Source: <a href="https://youtube.com/clip/Ugkx6Gm16nxY_jo1ydOslPrAVUdU1qiUwswr?si=h97F79DjZwrZQat9">https://youtube.com/clip/Ugkx6Gm16nxY_jo1ydOslPrAVUdU1qiUwswr?si=h97F79DjZwrZQat9</a></figcaption></figure><h3>Code</h3><p><a href="https://github.com/harshm121/Diffusion-v-FlowMatching">https://github.com/harshm121/Diffusion-v-FlowMatching</a></p><h3>References</h3><ol><li>Ho, J., Jain, A., &amp; Abbeel, P. (2020). “Denoising diffusion probabilistic models.”</li><li>Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., &amp; Poole, B. (2021). “Score-based generative modeling through stochastic differential equations.”</li><li>Lipman, Y., Cohen-Or, D., &amp; Chen, R. (2022). “Flow matching for generative modeling.”</li><li>Tong, A., Huang, J., Wolf, G., van dn Driessche, D., &amp; Balasubramanian, K. (2023). “Conditional flow matching: Simulation-free dynamic optimal transport.”</li><li>Song, Y., Durkan, C., Murray, I., &amp; Ermon, S. (2021). “Maximum likelihood training of score-based diffusion models.”</li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=79578a16c510" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Moving back to India just after MS from the US]]></title>
            <link>https://harshm121.medium.com/moving-back-to-india-just-after-ms-from-the-us-94b235b40f9e?source=rss-45e875b1aa72------2</link>
            <guid isPermaLink="false">https://medium.com/p/94b235b40f9e</guid>
            <category><![CDATA[usa]]></category>
            <category><![CDATA[moving]]></category>
            <category><![CDATA[india]]></category>
            <category><![CDATA[immigrants]]></category>
            <dc:creator><![CDATA[Harsh Maheshwari]]></dc:creator>
            <pubDate>Mon, 19 Jun 2023 07:18:58 GMT</pubDate>
            <atom:updated>2024-05-02T02:39:53.428Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/630/1*xwC914Z0uLXGsj4T5Pk5wQ.jpeg" /></figure><p>There is already a plethora of content where individuals have shared their experiences and reasons on the decision to return to India from Western countries, predominantly the US. Some relocate during their retirement, others after the birth of their first child, some following the expiration of their Optional Practical Training (OPT), while some are compelled to move, and yet others choose to do so willingly. In my case, I made the choice to return to India immediately after completing my MS in the US, which is quite uncommon.</p><p>As I sit here at the Delhi airport, it’s 3:15 am and I find myself contemplating whether I made a foolish decision. Writing this article, I am awaiting the break of dawn, ensuring it’s safe to book a cab. Admittedly, given that I resided in Atlanta, where a mass shooting incident occurred just a kilometer away from my home, I don’t have many grievances about the crime situation in India.</p><p>It’s intriguing how even when I order the standard coffee from Costa Coffee, it doesn’t taste the same. It’s neither the familiar flavor of Indian coffee from my life before the US nor does it resemble the taste I remember from sipping on an iced caramel latte in my lab just a month ago. It serves as a perfect metaphor for the changes that have taken place here. It might sound overly dramatic, considering I was away for only 22 months. Yet, perhaps it’s not India that has changed the most, but rather, it’s me. I realize that 22 months may seem like a short duration, but when it comes to measuring the impact of time, experiences hold far greater significance. After all, time is truly relative!</p><p>I find myself reluctant to pen yet another article delving into the reasons behind my decision to return, mainly because I don’t have any groundbreaking insights to offer. Countless well-crafted articles, books, and videos have already covered the topic thoroughly, leaving little for me to contribute. However, what I would like to share is how I mentally prepared myself to embrace this decision. I believe I possess some valuable insights that can assist others in similar situations. Moreover, if properly abstracted, many of these reflections can be applied to a wide range of life choices. So, without further ado, the remainder of this blog comprises a collection of random thoughts that have been circulating in my mind and are relevant to this discussion. There is no specific order to them, but some may prove more beneficial than others depending on one’s individual circumstances. Personally, I found the final point to be the most valuable, which is why I have provided a more detailed elaboration on it.</p><p><strong>Novelty vs Utility</strong></p><p>Recall the last time you witnessed a sky painted entirely in shades of orange. Undoubtedly, you found it breathtakingly beautiful. Yet, I would argue that there is nothing inherently more captivating about an orange sky compared to a blue one. Its beauty stemmed from the rarity of the event itself.</p><p>Relocating to the United States offers a multitude of new experiences. Having spent a significant amount of time in India, immersing oneself in an entirely different culture, in a country that differs vastly in almost every aspect, inevitably exposes one to numerous disparities. This also leads to a lot of novel experiences! From small things like checking out at grocery stores to big things like commuting, things are different. Novelty possesses a magnetic allure — it injects a burst of excitement into our lives, invigorates our growth, and bestows us with new perspectives.</p><p>However, it is crucial to recognize that novelty is transient and challenging to sustain. When making comparisons between two things, we must exercise caution in discerning whether our attraction stems solely from their novelty or if they genuinely contribute utility to our lives. While moving to the US offers an abundance of novel experiences that may captivate us, it is essential not to equate novelty with superiority, as its allure is short-lived. Instead, we should evaluate things based on the value they bring to our lives, rather than being swayed solely by their temporary attractiveness. This principle holds true across various aspects of life, be it relationships, where seeking novelty in others can lead to cheating, or in consumerist societies driven by capitalism, where we relentlessly pursue novelty in gadgets, clothes, and possessions for fleeting adventures.</p><p>Appreciating the distinction between novelty and utility is important. Let us not be seduced by the transient appeal of novelty, but rather prioritize the enduring worth and impact that something can offer.</p><p><strong>Think about long term</strong></p><p>Unfortunately, the pursuit of long-term and short-term objectives often leads to conflicting decisions. Prioritizing short-term gains can hinder progress toward long-term goals. If your ultimate aim is to return to India, it is crucial to always keep that in mind. There will come a time when you have to make compromises, sacrificing immediate benefits for the sake of your long-term vision. Such compromises can be disheartening, but it’s essential to be steadfast in your long-term goals, even if it means relinquishing visible and attainable short-sighted objectives. It may be acceptable to adjust your milestones or timelines but ensure that you are not creating unnecessary challenges and difficulties for your future self.</p><p>One of the reasons I chose to return to India as soon as possible was the realization that the task would become increasingly arduous with each passing year in the US. For me, the incremental difficulties didn’t outweigh the advantages of staying a few more years. Completing my MS served as a natural checkpoint to evaluate this decision, as finding such convenient milestones in the future would prove challenging. There will always be another enticing project or opportunity on the horizon, requiring more intricate planning and alignment for a successful transition. The longer you reside in the US, the more attachments and commitments you will form, necessitating greater efforts to uproot yourself and move back.</p><p>The human mind possesses a remarkable ability to deceive itself. Being truly honest with oneself is a daunting task, and it is vital to cultivate the skill of accepting harsh truths. (Perhaps this blog post is my own way of self-deception regarding this decision?) In our daily lives, we often encounter choices where we must confront the harsh truth or convince ourselves that everything is fine. While the latter can provide temporary relief, excessive reliance on self-deception can impede personal growth and development.</p><p><strong>Think about the past</strong></p><p>We don’t hear this often and are usually encouraged to look forward and move on from the past. When you are thinking about your life in the US vs your life in India, you are also inherently comparing your current life and your past life. This makes the comparison very difficult because what you want is a comparison between locations, but what you have data for varies in location and time. This leads to two problems: a) Life in India would have changed, and more so for you. b) You probably are relying on your memories from your previous life and those could be very biased.</p><p>Talking about the first, visiting India will give you some data points, but just keep in mind that transitions are not reflective of the long term. (More on this later). Keeping in touch with <em>counterfactual-people</em> (people who have a life that is close to what yours would be if you move back) will probably give you a better idea. The second problem can be more difficult to resolve because our minds are weird, we don’t usually keep a very good account of the past in our memories — they are biased and I feel usually biased towards the good memories (except in some traumatic experiences). So make sure you have a good account of how you felt when you were in India, what bothered you, and what gave you happiness. Write it down as soon as possible because the memories will get more selective (and thus even more biased) with time.</p><p><strong>We feel the most during transitions</strong></p><p>Let’s look at this visualization, where the y-axis represents the comfort and the x-axis is the time.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/838/1*DcEuungwe0Cq_FEtLAgbhA.png" /></figure><p>Let’s say you are at comfort = s_0 at time = 0 and hypothetically you know you will reach comfort = s_T at a future time = T.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/836/1*awoE301W0fzHTZGeu5M7JQ.png" /></figure><p>Given this, there are multiple paths you can choose to spend your time, the most obvious being this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/772/1*ZubatqgBYXObAKKQQn9sVw.png" /></figure><p>which maximizes your total comfort in life. However, the other options would be:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/748/1*1cJyK4GV4JrmSrZzN8yMpw.png" /></figure><p>where the orange line represents a gradual increase in comfort and the green represents random bumps. In my opinion, life in green is more exciting than life in blue as we get very easily used to whatever our situation, and then the absolute comfort level doesn’t really matter much.</p><p>This also means it will be okay to downgrade as well.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/794/1*ynhX1b8I70eC4ZBXWODmxQ.png" /></figure><p>We will get adapted to that easily as well, it’s just the transition when we might feel bad. But once we are settled in, it would be okay, and instead of the “comfort”, other things would matter more for our happiness.</p><p>In concluding my account of why I made the decision to move back to India from the US, I want to emphasize that the notion of what is “better” is highly subjective and personal. I share my experiences not with the intention to hurt or judge anyone who has chosen a different path, but rather to offer a glimpse into my own journey and the factors that influenced my decision. Each individual’s circumstances, aspirations, and values differ, and what may be fulfilling for one person may not hold true for another. It is important to approach such decisions with an open mind, understanding that there is no universal “right” or “wrong” path. Ultimately, it is the pursuit of personal happiness and fulfillment that should guide our choices, respecting the unique narratives and perspectives that shape each individual’s story.</p><p>I would like to reiterate that these are not the reasons why I moved to India, just some thoughts that helped me accept the decision. My reasons were like everyone else’s and nothing extraordinary. But I feel I should mention that I was in a privileged situation financially to come back just after the MS.</p><p>P.S. I would like to acknowledge that I sought assistance from ChatGPT in crafting this article. Prompting ChatGPT with “write it better” helped me refine the language and structure while retaining the core content and ideas as my own. It’s remarkable to have access to such powerful language models that can enhance our writing process. I am grateful for the collaboration and support provided by AI technology in creating this piece.</p><p>P.P.S. Even the above PS was written by ChatGPT, and it is self-praising itself without actually prompting it to say that.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=94b235b40f9e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Efficacy of Oxford–AstraZeneca COVID-19 (CoviShield) vaccine]]></title>
            <link>https://harshm121.medium.com/efficacy-of-oxford-astrazeneca-covid-19-covishield-vaccine-1de815d48e11?source=rss-45e875b1aa72------2</link>
            <guid isPermaLink="false">https://medium.com/p/1de815d48e11</guid>
            <category><![CDATA[vaccines]]></category>
            <category><![CDATA[covid19]]></category>
            <category><![CDATA[efficacy]]></category>
            <category><![CDATA[astrazeneca]]></category>
            <category><![CDATA[covishield]]></category>
            <dc:creator><![CDATA[Harsh Maheshwari]]></dc:creator>
            <pubDate>Mon, 17 May 2021 10:18:19 GMT</pubDate>
            <atom:updated>2021-05-17T10:51:04.130Z</atom:updated>
            <content:encoded><![CDATA[<p>There has been a lot of confusion regarding the efficacy of the CoviShield vaccine and it’s relation to the gap between the two doses. Indian government has changed the recommended gap between the doses 3 times till now (4 weeks, 6–8 weeks and recently 12–16 weeks) citing “real-life” evidence especially from the UK. Interestingly, just a day after this decision, UK decreased the gap from 12 weeks to 8 weeks based on the concerns that the ‘Indian’ variant is more infectious and the need to protect their population quickly.</p><p>The Indian government’s decision has left many people wondering (especially those who have already recieved the vaccines with a gap less than 12 weeks) what ideally should be the gap between the two doses.</p><p>This article aims to bring the information present regarding the efficacy and the gaps in one place. I am not an expert on the topis and thus will try to stick to the research without providing any opinions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/700/1*J8JxLlUKeQhwqR2IoC7IJw.jpeg" /></figure><h3>What is the Oxford-AstraZeneca vaccine?</h3><p>AstraZeneca COVID-19 Vaccine (Code:<strong> </strong>AZD1222) is a viral vector vaccine, which means the genetic code of the spike protien (DNA, in this case) is added to another virus called an adenovirus. Adenoviruses are common viruses that typically cause colds or flu-like symptoms. The Oxford-AstraZeneca team used a modified version of a chimpanzee adenovirus, known as ChAdOx1. It can enter cells, but it can’t replicate inside them [1].</p><h3>Study 1: Safety and efficacy of the ChAdOx1 nCoV-19 vaccine (AZD1222) against SARS-CoV-2: an interim analysis of four randomised controlled trials in Brazil, South Africa, and the UK</h3><p>The first trial was conducted by AstraZeneca and Oxford and they published their findings on 8th December [2].</p><p>These are the results:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zQ0HuZvoUm3noSdsT5jtDA.png" /></figure><p>LD/SD: The priming dose (first dose) was a “low dose” whereas the booster dose (second dose) was a “standard dose”. <br>SD/SD: Both the doses were “standard dose”.</p><h4>Gap between the two doses in the study</h4><p>Interestingly, in this trial the researchers were not able to moderate the gap between the two doses. The gap varied across the groups and the above findings include people who recieved the vaccine with a gap varying from 4 to 12 weeks. The authors mention “The timing of priming and booster vaccine administration varied between studies. As protocol amendments to add a booster dose took place when the trials were underway, and owing to the time taken to manufacture and release a new batch of vaccine, doses could not be administered at a 4-week interval.”, in the paper</p><h3>Study 2: Single-dose administration and the influence of the timing of the booster dose on immunogenicity and efficacy of ChAdOx1 nCoV-19 (AZD1222) vaccine: a pooled analysis of four randomised trials</h3><p>The (almost) same group of people published another study [3] on 19th Feb talking about the influence of the gap on the immunogenecity of the vaccine.</p><p>Findings: “In the participants who received two standard doses, after the second dose, efficacy was higher in those with a longer prime-boost interval (vaccine efficacy 81·3% [95% CI 60·3–91·2] at ≥12 weeks) than in those with a short interval (vaccine efficacy 55·1% [33·0–69·9] at &lt;6 weeks). These observations are supported by immunogenicity data that showed binding antibody responses more than two-fold higher after an interval of 12 or more weeks compared with an interval of less than 6 weeks in those who were aged 18–55 years.”</p><p>Results:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IteRUc8Ls2s25HpAQMzAKw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ef316k8xMvuYUbqNbe_bmQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b-16LXJWBfOnluKvl6OCsA.png" /></figure><p>Vaccine Efficacy vs Interval for SD/SD group:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*P3M1XyxJUteWRDgLJBsTFw.png" /><figcaption>x axis: Time Interval (in days) between the two dose.</figcaption></figure><p>Vaccine Efficacy vs Interval for LD/SD group:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zcNGm42L-htd5tSnCS4l5w.png" /><figcaption>x axis: Time Interval (in days) between the two dose.</figcaption></figure><p>“Each datapoint shows one estimate of vaccine efficacy calculated in a subset of participants who received two doses of vaccine with a prime-boost interval falling within a 20-day interval. The x-axis shows the midpoint of the interval such that the first datapoint”. So in the above plots, the efficacy reported at interval of 36 is calculated from a sample of group who recieved the vaccine with a gap of 26–46 days.</p><h3>What now?</h3><p>So, it does seem like the increasing the gap increases the efficacy of the Oxford-AstraZeneca vaccine. Given this result, it is natural to wonder then why the government had started the vaccination of high-risk group with a short gap of 28 days. It is unclear that why the government has changed the recommended gap now when the evidence for increased efficacy has been since Februray, if not before. According to [4], Indian government had decided to go ahead with the shorter gap citing that the scale of India’s vaccination drive had necessitated it.</p><p>Regarding the decisin to increase the gap, the government says this decision is based on scientific evidence [5] “When you are in a very difficult situation, the way you are in India, you have to try and figure out ways to get as many people vaccinated as quickly as you can, so I believe that it is a reasonable approach to do,” Antony Fauci said on the government’s decision on increasing the gap.</p><p>The decision can not solely be based on the efficacy, there are other factors which influence this decision. The lack of transperancy in government’s decision making and the frequent changes in the guidelines, thus, leaves the people confused and doubtful.</p><p>At an individual level too, the decision is not straightforward. One should consider the trade off between a quick but apparently lower immune response and a better but delayed response. Given the spread, every day is very risky if a person is not vaccinated. [6–7] are some general advice which might be helpful in making these decisions.</p><p>[1] <a href="https://www.nytimes.com/interactive/2020/health/oxford-astrazeneca-covid-19-vaccine.html">https://www.nytimes.com/interactive/2020/health/oxford-astrazeneca-covid-19-vaccine.html</a><br>[2] <a href="https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(21)00432-3/fulltext">https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(21)00432-3/fulltext</a><br>[3] <a href="https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(21)00432-3/fulltext">https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(21)00432-3/fulltext</a><br>[4] <a href="https://www.theweek.in/health/more/2021/04/23/the-reason-behind-the-longer-gap-between-vaccine-jabs.html">https://www.theweek.in/health/more/2021/04/23/the-reason-behind-the-longer-gap-between-vaccine-jabs.html</a><br>[5] <a href="https://www.hindustantimes.com/india-news/saddening-vk-paul-on-claims-that-covishield-dose-gap-widened-owing-to-crunch-101621073799487.html">https://www.hindustantimes.com/india-news/saddening-vk-paul-on-claims-that-covishield-dose-gap-widened-owing-to-crunch-101621073799487.html</a><br>[6] <a href="https://www.hindustantimes.com/india-news/when-to-take-covid-19-vaccine-2nd-dose-when-to-take-1st-dose-if-once-infected-here-s-all-you-need-to-know-101620893941629.html">https://www.hindustantimes.com/india-news/when-to-take-covid-19-vaccine-2nd-dose-when-to-take-1st-dose-if-once-infected-here-s-all-you-need-to-know-101620893941629.html</a><br>[7] <a href="https://www.youtube.com/watch?v=K3odScka55A">https://www.youtube.com/watch?v=K3odScka55A</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1de815d48e11" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Paper explained: “UNDERSTANDING DEEP LEARNING REQUIRES RETHINKING GENERALIZATION”  — ICLR’17]]></title>
            <link>https://harshm121.medium.com/paper-explained-understanding-deep-learning-requires-rethinking-generalization-iclr17-939a89096ab7?source=rss-45e875b1aa72------2</link>
            <guid isPermaLink="false">https://medium.com/p/939a89096ab7</guid>
            <category><![CDATA[generalization]]></category>
            <category><![CDATA[paper]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[deep-learning]]></category>
            <category><![CDATA[understanding]]></category>
            <dc:creator><![CDATA[Harsh Maheshwari]]></dc:creator>
            <pubDate>Fri, 06 Nov 2020 08:48:32 GMT</pubDate>
            <atom:updated>2020-11-27T20:20:46.456Z</atom:updated>
            <content:encoded><![CDATA[<h3>Paper explained: “UNDERSTANDING DEEP LEARNING REQUIRES RETHINKING GENERALIZATION” — ICLR’17</h3><p>Original Paper can be found <a href="https://openreview.net/pdf?id=Sy8gdB9xx">here</a>. It was one of the three papers which got Best Paper Award at ICLR 2017.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7j2KF1E3SchWdyBDBdhHBg.png" /></figure><p>What to expect from this blog: Summary of the paper and my understanding of the paper mixed with my personal opinions.</p><h3>1. Crux of the paper</h3><p>Let us begin by trying to summarise the claims of the paper.</p><p>This is the main claim of the paper:</p><blockquote>The paper shows how traditional approaches fail to explain why large neural networks generalize well in practice.</blockquote><p>To elaborate further on the above statement, let us look at the following points:</p><ol><li><em>‘traditional approaches’</em>: Generally generalisation performance of the large neural networks is attributed to either the model family (and the inductive bias associated with them, e.g. CNN for images) or the explicit (L2 Norm of the weights, Dropout, BatchNorm) as well as the implicit (properties of the optimization algorithm) regularisation techniques.</li><li><em>Generalization</em>: Generalization is referred to the model’s ability to perform equally on the unseen data and hence is usually quantified as the generalisation error, i.e., the difference between test error and train error.</li></ol><p>The paper brings to light that it is not trivial to answer why neural networks have such good generalisation performance. They do this by finding out that neural networks easily fit (memorise) random label and random data with no significant change in the training properties. This is highlighted in the paper neatly by the following two centred, italic notes:</p><blockquote>Deep Neural Networks easily fit random labels.</blockquote><blockquote>Explicit regulrization may improve generalization performance, but is neither necessory nor by itself sufficient for controlling generalzation error.</blockquote><p>Other claims of the paper:</p><ol><li>A simple 2-layered ReLU network with parameters <em>p = 2n+d</em> can express any labelling of size <em>n</em> in <em>d</em> dimensions, i.e., the hypothesis class represented by a 2-layered ReLU network with <em>p</em> parameters can shatter datasets of size <em>n</em> in <em>d</em> dimensions.</li><li>The properties of the training process of the standard architecture neural network don’t change substantially when fitting on random labels — which leads to the claim that whatever justification there was for small generalization of these networks are not enough.</li><li>The statistical learning idea around (explicit) regularisation, namely, confining the hypothesis class to a smaller subset with manageable complexity, is not enough to explain the generalization abilities of deep networks (since the same networks also fit random data)</li><li>Implicit regularization — <em>What properties of global minima explain their generalisation? Do all global minima generalise equally?</em><br>They call out the fact that understanding generalization is difficult even for a simple linear model. For linear models, they investigate two properties of the minima and check if these properties signal towards generalization performance of a model. <br>a) Curvature of the minima: In their construction of the linear case, all the minima had the same curvature<br>b) Norm of the minima: For the linear model in consideration, assuming 0 initial weight, they find that the solution that SGD would converge to is the <em>minimum-l2-norm</em> solution. Unfortunately, this also doesn’t guarantee better generalization performance.</li></ol><p>The paper asks an important question — <em>What makes Deep Neural Networks generalize well? </em>It brings out the fact that all trivial answers to this question are not correct.</p><h3>2. Significance</h3><p>The question that is put forward for the readers is why do Neural Networks generalise well. We have all taken advantage of neural networks’ performance someway or the other, they have become immensely popular and are almost everywhere. But we still do not understand what makes them generalise well.</p><p>An answer to this question would enable better design of architectures, optimization algorithms and regularisers. Not knowing why something is working well makes it harder to improve and interpret. A satisfactory answer to this question thus would have profound implications in understanding Deep Learning, making it more reliable and robust.</p><h3>3. Experimental Setup</h3><p>The experimental results of the paper seem to not shock me — there are some similar reactions on the <a href="https://openreview.net/forum?id=Sy8gdB9xx">OpenReview forum</a>. It is not shocking to note that the standard regularizers only contribute so much to the generalization performance. It is also not shocking that even with standard regularizations in place, Deep Networks can fit random labels.</p><p>The following set of experiments are performed:<br>1. True Labels: Original dataset<br>2. Partially Corrupted labels: label of each image is independently corrupted with a probability p<br>3. Random Labels: p=1<br>4. Shuffled Pixels: one random permutation of the pixels is applied to all images in train and test set.<br>5. Random Pixels: Random permutation is applied to each image independently<br>6. Gaussian: random pixels are generated from a Gaussian distribution with mean and variance matching original image.</p><p>Standard architectures are trained on CIFAR 10 and ImageNet benchmarks with the same set of hyperparameters and the training and test accuracies are noted.</p><p>The first 3 experiments can prove if the deep networks can ‘shatter’ datasets of practical sizes (Although to prove shattering, one should show all possible labels can be explained by a hypothesis class, it is safe to assume that if random labelling can be explained, any labelling would be). Close to 0 training error in the second and third experiments bring out the fact that even though there is seemingly no humanly explainable relation between the images and the labels, deep networks still learn some function which satisfies random labelling. This means that the hypothesis class is rich; then why does it learn ‘correct’ (correctness based on generalization error) function when given humanely labels.</p><p>The latter 3 experiments show that even if the images are not natural, CNNs still are able to learn functions which give close to 0 error. In other words, even after the inductive bias in CNN architectures, the hypothesis class is rich enough to learn functions on top of random pixels. CNN architectures seem to not help much when learning with natural images, as they perform similarly for non-natural images as well.</p><p>Two attributes differ for random data and true data: 1) Training error: The training error for random labels is not 0% as with the true labels on ImageNet, but is still very low (~5%) and is much better than random chance. 2) Learning characteristics. The paper also claims that the learning characteristics (train curves, epochs required) are similar for all the above variants. However, some people feel otherwise (<a href="https://openreview.net/forum?id=Sy8gdB9xx">OpenReview</a>) and I would also not want to read too much into it. Although learning characteristics also can give a lot of information about the optimization process, the paper does not provide much insights or experiments to claim something confidently.</p><p><strong>Experiment with regularizations<br></strong>Three regularizers are considered which are very commonly used:<br>1. Data Augmentation: Domain-specific transformations are performed, like random cropping, hue perturbation etc.<br>2. Weight Decay: <em>l2 </em>regularization on weights<br>3. Dropout</p><p>Without changing the hyperparameters, the experiments are performed with various regularizations turned on and off. On CIFAR10 with or without regularizers, the generalization error is very low. On InceptionNet however, turning off regularizations resulted in 18% drop in test Top-1 accuracy.</p><p>The authors also observe that data augmentation techniques using the known symmetries and changing the model architecture seem to be more impactful than just using weight decays or preventing low training errors. Changing the model architecture results in changing the hypothesis class and is a way to model the inductive bias, i.e, our knowledge about the problem and domain. Thus it helps in reducing the complexity of the model and hence reduces the variance, and if the modelled inductive bias makes the hypothesis class closer to the underlying true function, it also reduces the bias error. When both the bias and variance errors reduce, the generalisation error reduces.</p><p>The conclusion from these experiments is that regularizations, when tuned properly, help to improve generalization performance, but they are not the reason why deep neural networks generalize well, because even when turned off, the networks continue to perform well. <br>This to me is not very surprising, nobody would have claimed that it is the regularizers which bring the generalization errors from 90% to 10%.</p><h3>4. What can be learnt from the paper</h3><ol><li>We do not know why deep networks generalize well, and the obvious answers are not the correct answers.</li><li>Hypothesis classes are rich enough to contain functions which explain arbitrary labellings and optimization algorithms do settle on such functions.</li></ol><h3>5. Other insights, gaps and some follow up references</h3><ol><li>Why rich hypothesis spaces are undesirable?<br>According to learning theory, any hypothesis class which has infinite VC dimension is not PAC learnable. Which means if a hypothesis class can explain all possible labels for a dataset of infinite size, then it is impossible to get a Probably Approximately Correct function. Philosophically, if a hypothesis class is able to explain any fact, then it is useless. [2] noted that a tight bound on the VC dimension of feedforward networks with ReLU activations is: VC-dim = O(k ∗ dim(w)), hence these neural networks can shatter any dataset of size n &lt; VC-dim, which is usually the case as the size of a practical dataset is far lower than the number of parameters.</li><li>The assumption in thinking about generalization is that if the network performs similarly on unseen data, we believe it is generalizing well. But we forget that the unseen data is usually very similar or close to the training data. But as noted by [1], if the test images are slightly changed, the test error rises significantly, which hints towards a need for better quantification and evaluation of the generalisation performance itself.</li><li>Existing work on neural network pruning (e.g., [4]) demonstrates that the function learned by a neural network can often be represented with fewer parameters. [5] shows the importance of weight initialisation and prove that there are subnetworks which when initialised properly (and hence directed towards the better minima) can reach the same performance as the larger network (with more complex hypothesis class), but when initialised randomly, the same subnetwork architecture is unable to reach the best performance.</li><li>A comparison of the performance of different global minimas as done in [3] seems like a step in the right direction.</li><li>Side note: It is interesting to me that if a Machine Learning algorithm learns a function which explains human comprehendible labels, we call that <em>‘learning’</em> otherwise we call it <em>‘memorization’</em>. We do want our algorithms to learn what we learn, we want to give them the knowledge that we possess, and thus it makes sense to tag any other kind of learning as just plain memorization. But it is technically not memorization of labels if it is not humanely comprehendible, it is just learning some other function which we do not comprehend and that is not the way we perceive our world.</li></ol><p>[1] Benjamin Recht, Rebecca Roelofs, Ludwig Schmidt, and Vaishaal Shankar. Do imagenet classifiers generalize to imagenet? International Conference on Machine Learning, 2019</p><p>[2] N. Harvey, C. Liaw, and A. Mehrabian. Nearly-tight vc-dimension bounds for piecewise linear neural networks. arXiv preprint arXiv:1703.02930, 2017</p><p>[3] Behnam Neyshabur, Srinadh Bhojanapalli, David McAllester, and Nati Srebro. Exploring generalization in deep learning. In NIPS, 2017.</p><p>[4] Song Han, Jeff Pool, John Tran, and William Dally. Learning both weights and connections for efficient neural network. In Advances in neural information processing systems, pp. 1135–1143, 2015.</p><p>[5] J. Frankle and M. Carbin. The lottery ticket hypothesis: Finding sparse, trainable neural networks. In International Conference on Learning Representations (ICLR), 2019.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=939a89096ab7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Social Media —  An Echo Chamber for politics]]></title>
            <link>https://harshm121.medium.com/social-media-an-echo-chamber-for-politics-a753763d9a9c?source=rss-45e875b1aa72------2</link>
            <guid isPermaLink="false">https://medium.com/p/a753763d9a9c</guid>
            <category><![CDATA[social-media]]></category>
            <category><![CDATA[politics]]></category>
            <category><![CDATA[echo-chamber]]></category>
            <category><![CDATA[fake-news]]></category>
            <category><![CDATA[polarization]]></category>
            <dc:creator><![CDATA[Harsh Maheshwari]]></dc:creator>
            <pubDate>Mon, 23 Dec 2019 14:40:53 GMT</pubDate>
            <atom:updated>2020-11-27T20:29:02.037Z</atom:updated>
            <content:encoded><![CDATA[<h3>Social Media — An Echo Chamber for politics</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/496/1*fJOXVyThTUiXz_730llY2g.jpeg" /></figure><p>The impact of social media in politics has been discussed a lot.</p><p>Users posting aggressive and extreme opinions receive more attention and invoke more sentiments. <br>To get things viral, you have to hit the extreme spot of sentiments, which is leading to dangerous opinions getting an opportunity to reach millions of people. To be sensational, viral, you can’t use logic or data, instead, you need to be full of sentiments, and provoke the same sentiments in the readers. The more extreme the opinions are, the more attention it gets, the more people it reaches. Slowly and slowly, all these websites are filled with content provoking only sentiments, and data takes a backstage position. <br>Sentiments quite easily dominate logics and data in such situations.</p><p>The other issue is of social media providing an echo chamber of opinions to its users.</p><p>Social media of all sorts provide a platform where you get a feed or recommendations of content which you have watched or liked before. Well, that’s the work of a recommender system, present aggressively in all social media platforms.</p><p>The problem though is, that you are stuck in an echo chamber where you are bombarded with content on which you agree. <br>You constantly and continuously consume the content having similar opinions, having similar aggressive tones.<br>Which reinforces your beliefs and opinions and gives you the (over) confidence that whatever you believe and whatever you are saying is 100% true, and others, who have a different set of opinions are either stupid or don’t have a complete understanding.</p><p>This is leading to a strong polarization in opinions and people reaching extremes. <br>This is damaging!</p><p>Instead, these platforms should provide a window where you are allowed to listen to the other side of the debate. Some sort of leakage in the current echo chambers.</p><p>I feel the impact of such improved systems can be huge and can help a lot in giving people the opportunity to better judge and adjudicate the debate.</p><p>Hence I request everyone reading this to please question everything they hear or read. <br>Irrespective of whatever you believe in, always think of yourself in a debate with the things you read and try to question it. <br>Use your own mind and logical analysis before sharing anything and everything which just supports your cause.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a753763d9a9c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Udaipur — Where to travel?]]></title>
            <link>https://harshm121.medium.com/udaipur-where-to-travel-7fe2a7a88a00?source=rss-45e875b1aa72------2</link>
            <guid isPermaLink="false">https://medium.com/p/7fe2a7a88a00</guid>
            <category><![CDATA[city-of-lakes]]></category>
            <category><![CDATA[udaipur]]></category>
            <category><![CDATA[tourism]]></category>
            <category><![CDATA[lake]]></category>
            <category><![CDATA[travel]]></category>
            <dc:creator><![CDATA[Harsh Maheshwari]]></dc:creator>
            <pubDate>Tue, 06 Aug 2019 15:47:41 GMT</pubDate>
            <atom:updated>2019-09-23T11:22:44.677Z</atom:updated>
            <content:encoded><![CDATA[<h3>Udaipur — Where to travel? Where to eat?</h3><p>I will describe to the best possible extent all the places worth visiting so that you can decide where you would like to go. I will also mention good places to eat at the end of this blog.</p><p>1. <a href="https://en.wikipedia.org/wiki/Fateh_Sagar_Lake">Fatehsagar Lake</a>:</p><p>It is a man-made lake and I can easily say the most favourite place for most of the Udaipurites. In the evening people come here to just sit and hang out. Mostly the place is filled with students but still for me it is always peaceful to come here.</p><p>The best time to visit it is in the evening or early morning. There is a roadside sandwich place whose sandwiches are famous and coffee of ‘Sai Sagar’ coffee shop.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DildXRyUNzaP3t157L7afQ.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*xceALoZ_0FufUkrnIfQ4zA.jpeg" /></figure><p>2. <a href="https://en.wikipedia.org/wiki/Lake_Pichola">Lake Pichola</a></p><p>It is another artificial lake and the hotel “<a href="https://en.wikipedia.org/wiki/Lake_Palace">Lake Palace</a>” is situated inside this lake, “<a href="https://en.wikipedia.org/wiki/Jag_Mandir">Jag Mandir</a>” is also situated inside this lake and the only way to travel to these places is by boat. If you plan to go here, I suggest you go for a boat ride. It will be a 20-minute boat ride but a very pleasant one. There are two kinds of boat rides possible</p><p>a. With Entry into Jag Mandir: For this, you will have to purchase tickets from City Palace. In this boat ride, you will also get to see Jag Mandir. I suggest you to go for this only if you have time. Jag Mandir is good but nothing extraordinary.</p><p>b. Without Entry to Jag Mandir: For this, you can get the tickets easily at Pichola Pal, opposite Dudh Talai Lake.</p><p>Both the boat rides are same other than Jag Mandir entry.</p><p>(The white building is Lake Palace, and behind it, the yellow one is City Palace)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0GE_FQyZV9QsTanBJHX48Q.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AG5r2LVXX8kXGJ0_p6Y0Pw.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YL3vV6bZ0vMJkZPTtEywMA.jpeg" /></figure><p>3. <a href="https://en.wikipedia.org/wiki/Neemach_Mata_Temple">Neemach Mata Temple</a></p><p>It is a temple located at the top of a hill. It takes around 30 minutes to go to the top. One of the best places to witness sunrise or sunset and get a view of the entire city.</p><p>(The lake in the first image is Fateh Sagar Lake)</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ded51h5lIjgdLDVhJpoo6Q.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ib7m1IlTXGj0kCBPaN8b0Q.jpeg" /></figure><p>4. <a href="https://en.wikipedia.org/wiki/Monsoon_Palace">Sajjangarh Fort</a></p><p>Also known as Monsoon Palace and is situated at the top of another hill at a height greater than that of Neemach Mata Temple. Although the best time to visit is during monsoon, it is still a good place to get the view of Aravali Hills. It is said that the Maharana Sajjan Singh built it at the top of the hill to get a view of his ancestral home, Chittaurgarh. You can get auto rickshaws or cabs which can take you to the top and they will only bring you back. There are no cab services at the top and you will have to make the auto-rickshaw or cab wait at monsoon palace.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tMP0Fz4jdKbZi54JAHpB4A.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6Xj-qwEg4zESmiST5G-wgg.jpeg" /></figure><p>5. <a href="https://myudaipurcity.com/ambrai-ghat-udaipur/">Ambrai Ghat</a></p><p>It is a lesser known place, gradually getting famous among students and thus tourist guide websites as well and is one of my favourite places in Udaipur. It is just a small “ghat” (set of steps leading down to a river or lake, in this case, Pichola Lake). It is generally quiet and peaceful. Best time to visit is after sunset, at night. It is just in front of City Palace and thus the best place to witness the lightings and beauty of the City Palace at night.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*11mtc0XimnvIc0YBbR6ekg.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8k9-ur4eCWEvoIqB0JeYlg.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SYYvVyQH2Y_kguo-1wV_Bg.jpeg" /></figure><p>6. <a href="https://en.wikipedia.org/wiki/City_Palace,_Udaipur">City Palace Museum</a></p><p>You can understand the history of Udaipur and Maharana Pratap here. It is also the home to Arvind Singh Ji Mewar who is the son of Bhagwat Singh Ji Mewar who was the ruler of Mewar Province. My old school is also situated inside the city palace complex.</p><p>Other places to visit:</p><p>Karni Mata Temple (Another trek like Neemach Mata Temple, ropeway also available), Badi Lake (Little outside the city), Jagdish Temple (near City Palace), Gangaur Ghat (near City Palace).</p><p>Famous Places to eat:</p><p>1. <a href="https://goo.gl/maps/SkWWYQ6qMmegqSAx8">Krishna Daal Baati</a>:</p><p>It is famous for daal baati, which is traditional Rajasthani Food. It is situated at Suraj pole which is one of the prime location and easy to reach.</p><p>2. <a href="https://goo.gl/maps/tSKUZUHmevWHVMJx8">Ambrai Resturant</a>:</p><p>It is near Ambrai Ghat (5th point above) and is by the lakeside so the view is spectacular. If you are going here, you can skip the Ambrai Ghat, both of them essentially have the same view.</p><p>3. <a href="https://goo.gl/maps/U3E9gADXNbDuo3b68">Jheel’s Ginger Coffee Bar &amp; Bakery</a>:</p><p>It is a lakeside cafe famous for the view, though the food isn’t the best. It is near City Palace.</p><p>4. <a href="https://goo.gl/maps/vR4Qc5jkB59PraE86">Pandit Paav Bhaji</a>:</p><p>It is my favourite paav bhaji. The ambience is not very good and also not the place as such. But the taste is very amazing. There are a lot of duplicate Paav Bhaji stalls and restaurants by the same name so I suggest you go to <a href="https://goo.gl/maps/moWVxaExZcW7hci99">this</a> particular place only.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7fe2a7a88a00" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>