Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
nicosalm committed Sep 28, 2024
1 parent 84c26bf commit 57ac9f0
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 44 deletions.
Binary file added public/fonts/FiraCode.ttf
Binary file not shown.
Binary file removed public/fonts/JetBrainsMono.woff2
Binary file not shown.
Binary file removed public/writeup.pdf
Binary file not shown.
33 changes: 0 additions & 33 deletions src/pages/blog/iquhack24/index.mdx

This file was deleted.

File renamed without changes
62 changes: 62 additions & 0 deletions src/pages/blog/mit-iquhack24/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
layout: ../../../layouts/BlogLayout.astro
pubDate: 2024/01/21
title: "MIT's IQuHACK 2024"
description: "We secured a top 3 finish at MIT's quantum hackathon, IQuHACK. Here are my outtakes and experience."
---
import BlogPicture from '../../../components/BlogPicture.astro';


### Introduction

First things first, a quick public service announcement: I cannot, with clear conscience, urge the consumption of 1400+ mg of caffeine. No matter how dire the circumstances. Not even should you find yourselves matching stride with the team from MIT.

Now, with that caution aside, let’s chat!

IQuHACK is an annual quantum hackathon hosted by QRISE and MIT, held on the MIT campus. The event sees the participation of roughly ten companies, each proposing big picture challenges to the attendees. These challenges are kept under wraps until the hacking period commences. Beforehand, participants are asked to rank the challenges they favor most, and from there, they are sorted into teams. This process ensures that each company receives a fair share of teams eager to tackle their unique problem.

I had the privilege of attending this year’s IQuHACK, accompanied by three of my peers from the University of Wisconsin - Madison. Together, we brought a solid foundation in physics and computer science. Upon arriving, we met our fifth teammate, who hailed from Boston University.

### The Hackathon

Our team was initially drawn to Quandela’s challenge by the prospect of working with Quantum Physics-Informed Neural Networks (QPINNs). However, when the challenge details were revealed, it became apparent that QPINNs would not be part of our task. Instead, we shifted our focus to Quantum Generative Adversarial Networks (QGANs), utilizing Quandela’s Perceval framework.

This marked new territory for us, as none of us had worked with Perceval before. With our knowledge of Qiskit and guidance from Quandela’s mentors, we quickly adapted to the new challenge. The clarity and accessibility of Perceval's documentation helped us get off to a smooth start.

The practical phase of our project centered around setting up a Perceval circuit, essential to implementing our QGAN. This involved constructing a bi-ququartite circuit to facilitate the competition between the generator and discriminator, working towards a Nash equilibrium.

<BlogPicture src="https://i.imgur.com/1tfnAoc.png" alt="Circuit" />

Our next step was to generate the initial quantum state, which required us to revisit and rethink the traditional concept of a qubit to better fit the quantum photonics context.

Training the QGAN introduced us to a range of challenges and learning opportunities. We experimented with three different optimization approaches: Secant Descent, the Vectorized Approach, and Finite-Difference Gradient Descent. Each method offered unique insights into optimizing quantum adversarial learning, though their effectiveness varied.

<BlogPicture src="https://i.imgur.com/bAT5Bqx.png" alt="Hackathon" />

The Secant Descent method, a novel approach to optimization, achieved a fidelity of 32%. While innovative, it faced limitations due to randomness in parameter initialization.

The Vectorized Approach (shown below), focusing on optimizing the strategic interplay between the generator and discriminator, showed promise with a fidelity of 45%. However, it was sometimes thwarted by false minima. We thought up some interesting solutions to this issue.

<BlogPicture src="https://i.imgur.com/23KUODR.png" alt="Vectorized Approach" />

Finally, The Finite-Difference Gradient Descent, our initial strategy, faced challenges with potential overfitting, as indicated by a dramatic drop to zero in the loss function during its second iteration, achieving a fidelity of 28%.

### Results

As the 24-hour event neared its end, those of us working on Quandela’s Quantum ML challenge gathered in the common space. Around a great table, we exchanged thoughts on what had served us well and what had not. Some competitors shared their insights and methods for implementing the paper, fostering a spirit of collaboration even in the final hours.

With our implementation complete, we returned to the lecture hall where it had all begun. There, we sat and listened as Peter Shor, along with leaders from some of the world’s foremost quantum companies, spoke of their journeys and imparted invaluable wisdom about the quantum frontier.

Then came the moment for us to present. With our work finished, we took to the stage, eager to share our story, results, and the obstacles we had conquered along the way.

<BlogPicture src="https://i.imgur.com/0lli746.png" alt="Panel with Peter Shor" />

### Reflection

This exploration of methodologies highlighted the complexity of quantum adversarial learning. While not every experiment met our expectations, the process offered valuable insights into the potential and future direction of QGANs in quantum computing.

Participating in the Quandela Challenge at IQuHACK was more than just a competition; it was an in-depth look at the cutting edge of quantum computing and machine learning. Our work with QGANs and the Perceval framework has opened new paths for research and innovation.

I want to extend a sincere thank you to Pierre, Sam, and the entire Quandela team for their support, and to our peers who helped us along the way.

As we look ahead, the possibilities in quantum computing remain vast and promising.
25 changes: 14 additions & 11 deletions src/pages/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@
import { Picture } from "@astrojs/image/components";
import { Icon } from "astro-iconify";
import Layout from "../layouts/Layout.astro";
let allPosts = await Astro.glob("./blog/**/index.mdx");
allPosts.sort((a, b) => new Date(b.frontmatter.pubDate).valueOf() - new Date(a.frontmatter.pubDate).valueOf());
let recentPosts = allPosts.slice(0, 5);
let socialMedia = [
{
url: "https://github.com/nicosalm/",
Expand All @@ -29,7 +32,7 @@ let socialMedia = [
];
---

<Layout title="Nico Salm" description="Hello! I'm Nico. I'm a software engineer and quantum computing enthusiast. Check out my site!">
<Layout title="Nico Salm" description="Hey! I'm Nico. I'm a software and data engineer studing at the University of Wisconsin-Madison. Check out my site!">
<main class="mx-auto max-w-screen-xl xl:flex xl:p-0 p-4 pt-2">
<!-- Main content (3/4 of the page) -->
<div class="flex-grow xl:w-3/4 pb-4">
Expand All @@ -42,15 +45,15 @@ let socialMedia = [
<p class="pt-4 xl:text-lg">
I have a passion for solving complex problems and creating intuitive solutions.
I enjoy many aspects of computing, from ML and AI for predictive analytics to the intricacies of low-level systems, compilers, and computer science theory.
My goal is to master the skills needed to become an exceptional software engineer.
My goal is to master the skills needed become an exceptional software engineer and data scientist.
</p>
</div>
<!-- Social Media -->
<div class="flex justify-start mt-4 items-center">
{
socialMedia.map((sm) => (
<a href={sm.url} target="_blank" class="xl:mr-4 mr-3 xl:p-4 md:p-3 p-2 rounded-full bg-base-100/50 hover:bg-base-200/50 transition-all backdrop-blur-md" title={sm.name}>
<Icon name={sm.icon} class="xl:max-w-[2em] xl:h-8 md:max-w-[1.75em] md:h-7 max-w-[1.5em] h-6" />
<Icon name={sm.icon} class="xl:max-w-[2em] xl:h-8 md:max-w-[1.75em] md:h-7 max-w-[1.5em] h-6" />
</a>
))
}
Expand Down Expand Up @@ -84,7 +87,7 @@ let socialMedia = [
<div class="lg:grid-cols-1 grid sm:grid-cols-3 gap-4 mb-2 grid-cols-1">
<div class="flex flex-col">
<h3 class="text-lg font-medium leading-5 mb-1 group-hover:underline dark:text-blue-200">Languages</h3>
<p class="opacity-85 font-light leading-5 mb-1">Python, Go, C, C++, SQL (PostgreSQL, MySQL), JavaScript, HTML/CSS, Java, R</p>
<p class="opacity-85 font-light leading-5 mb-1">Python, Go, C, C++, SQL (PostgreSQL, MySQL), JavaScript, Java, R</p>
</div>
<div class="flex flex-col">
<h3 class="text-lg font-medium leading-5 mb-1 group-hover:underline dark:text-blue-200">Frameworks/Runtimes</h3>
Expand Down Expand Up @@ -142,13 +145,13 @@ let socialMedia = [
recentPosts.map((post, index) => (
index < 5 && (
<a rel="prefetch" href={post.url} class="group">
<h3 class="text-lg font-medium leading-5 mb-1 group-hover:underline dark:text-blue-200">{post.frontmatter.title}</h3>
<p class="opacity-85 font-light leading-5 mb-1">{post.frontmatter.description}</p>
<div class="flex flex-wrap opacity-80 items-center">
<p class="text-sm font-normal leading-5">{new Date(post.frontmatter.pubDate).toLocaleDateString("en-us", { year: "numeric", month: "short", day: "numeric" })}</p>
<span class="divider divider-horizontal mx-0" />
<span class="badge badge-sm badge-outline">{post.frontmatter.minutesRead} min read</span>
</div>
<h3 class="text-lg font-medium leading-5 mb-1 group-hover:underline dark:text-blue-200">{post.frontmatter.title}</h3>
<p class="opacity-85 font-light leading-5 mb-1">{post.frontmatter.description}</p>
<div class="flex flex-wrap opacity-80 items-center">
<p class="text-sm font-normal leading-5">{new Date(post.frontmatter.pubDate).toLocaleDateString("en-us", { year: "numeric", month: "short", day: "numeric" })}</p>
<span class="divider divider-horizontal mx-0" />
<span class="badge badge-sm badge-outline">{post.frontmatter.minutesRead} min read</span>
</div>
</a>
)
))
Expand Down

0 comments on commit 57ac9f0

Please sign in to comment.