First day at Uni
This is the story about how I decided to write blogs on this portfolio. Although reading a lot of blogs from other researchers or anyone on the Internet that I find interesting and valuable, I have never written anything useful to myself. Somehow, I htink it’s time for such a journey in my career development. Also, writing blogs also give me immense advantage and support on my learning stuffs, active recall and stuffs like that. Despite all of this reason, perhaps the single most influential factor that give birth to these blogs is the story I’m about to tell.
It was the first lecture of Introduction to Programming at university. I rushed in to find most seats taken after arriving about 15 minutes late (I had just moved from the countryside to the city, so my biological clock hadn’t adjusted quickly enough). The class is already filled with people, new guys and new girls that I have never met before, of course. Among them there was one single seat beside a guy that was still empty at that time. Having no reasons to refuse such a chance, because I was also exhausted as shit after running as fast as possible to the class, I slid into the seat. After a few conversations, I just thought that this guy is kind of friendly but personally I don’t think too much about him or view him too high or something. Just some minutes later, we need to introduce ourselves to the class because the teacher in that course is an easy-going gentleman, and in the first day of the course, we just need to be introduced to some of the regulations of the class and basic information about the course so we still have a lot of time. After hearing he introduced himself, I found out that this guy had a similar background to mine. Both of us had enrolled in this university with awards from national olympiad competitions, mine in physics, his in math. By some turn of events, we ended up whispering not about code or why we chose this university after high school, but about quantum physics and relativity. Fortunately, he was also a nerdy just like me so these topics are still kind of suitable for a first meeting between friends. If he was an ordinary guy with no interest in scientific stuff, this would be the most awkward conversation in my entire life. Despite having a background in mathematics, especially combinatorics and number theory, he knew quite a bit about physics and its prominent figures, citing popular names like Einstein, Heisenberg, and Schrödinger.
He was brilliant, a graduate of a top high school in the city, with a mind for maths that both impressed and intimidated me. Yet, we found common ground in nerdy, big ideas. Our interests were like two sides of a coin: he was drawn deeply into the human world, things like religion, society, history, since he had been devouring books like Sapiens and other major works about humanity, belief systems, and imaginary orders. On the other hand, I was pulled toward the abstract and objective aspects of nature. Everything that sounds universal and mysterious like consciousness, spacetime, and finally, the so-called metaphysics. Metaphysics is one of the biggest pillars of general philosophy, which focuses on looking at the world from a higher perspective, using abstract reasoning to draw out some of the most universal principles from the physical world instead of dissecting each phenomenon individually, hence the name meta-physics.
During those chats, he’d share his wild, often startling theories on society and ethics. Some were so out-of-this-world that I’d joke he needed a solid insurance for this thoughts, or society (and all of its traditional prejudices) might confront him on a beautiful evening. One afternoon in the library, chatting about everything to relax after finishing our last examinations of the second semester in our first year of undergraduate, half-amused and half-serious, I told him, “Why don’t you start a blog? These ideas aren’t the kind of things people hear in daily life. Perhaps you’ll find someone who ais like-minded with you.” Despite saying as if my thoughts are nowhere near his thoughts, I strongly believed that at that time, I was the one who can understand most of what he thinks in the univesity we were studying.
I didn’t think much of it, but that sentence seemed to light a spark in him. He got distracted for days and began pouring his thoughts into Google Docs. When I asked why he didn’t just build a website already, he said something quite impressive, though still predictable enough: if he focused on building the site first, he’d lose the motivation to write. The ideas had to come first, starting from its infancy and gradaully becoming more mature over time before any websites come into being. Actually, I think the real reason is he hadn’t built anything web-related before, so building a website out of the blue without any experience would be challenging (later I know that it’s actually a nightmare for him to use these kinds of modern technologies, “challenging” just sounds not real enough).
Several months alter, he had already written dozens of blogs on his Google Docs. Each one of them is noted clearly with the published date, updated date, author, citation and even reference to those books that he had read before They are separated into different folders serving different styles, philosphy for serious people who would like to experience some strange views, dummy folders for samll thoughts that only appear once in a while and then immediately disappear. Now I’m the one who is on the spot. He kept nudging me: “When are you starting a blog?” I always refused. It sounded tedious, and I didn’t feel I had anything impressive enough to say. Why would anyone care? At that time, I also didn’t have any specific passion to start a blog. When you blog about something, you at least need something in mind, right? At the time, I was just struggling with all the courseworks and exams in class, I don’t really have time for anything else. Blogging at this time seems not to be a suitable time for me, perhaps I would look into it another time later.
Two years later
A lot has changed since that conversation. I’m no longer a freshman in my first year, I’m now a third-year undergraduate, with a clearer mind and a stronger mental model, and, most importantly, I’ve figured out what I want to do and research.
Surviving dozens of projects across many subjects from my first year through my second year, I realized that my formal coursework hasn’t led me to the technical frontiers I find most compelling. While my school’s curriculum hasn’t yet dived deep into the AI and deep learning topics that spark my curiosity, I decided to take my own steps rather than relying too much on my university curriculum. For over a year now, starting sometime in the second semester of my second year at university, I’ve been on a self-directed journey down the rabbit holes of reinforcement learning and deep learning foundations. There are a few reasons why deep learning caught my attention at this time:
- First, it uses much more derivatives, integrals, differentiation, and many things born from calculus and continuous, analytical functions and optimizations. Those are what I dealt with a thousand times back when I was competing in the olympiads on physics where I have to solve roughly hundreds of them to build my own mental model on how differential things work.
- Second, it draws inspiration from nature: deep learning borrows the neural architecture inspired by the biological structure of the human brain, while reinforcement learning embraces the idea of trial and error in the learning process of nearly every lifeforms on Earth, including us humans.
- And finally, I just wanted to escape my boring daily life at the time, to break away from the normal workload of school and find something out there that I felt passionate about, where my intrinsic motivation is the single only source of power that drives me into this disciplines with no brakes and no expectation about the rewards or benefits I can get from this. Just the experience of understanding something and being able to write it down neatly and creatively is just rewarding as a divine holy grails.
After a long period of self-teaching the foundational knowledge of deep learning and reinforcement learning, I found something that, once again, captivated my mind with its beauty and mystery: the generative power of diffusion models. My background is in physics, so anything that deep learning brings from physics to AI to enhance its power is always captivating to me. I still remember learning about the dynamics of particles in dynamical systems: we have heat transfer between particles in the same material (say, a long tube with one cold end and one hot at its ends, where heat gradually transfers from the hot one to the other); the internal friction between layers of fluid flowing through an environment, where layers slide against each other, creating friction that slows some layers and speeds up others; and the final phenomenon, which you might guess from my talk, is the diffusion process. In that process, particles scatter throughout a container or environment, increasing the system’s entropy until the particle distribution is nearly uniform everywhere. Somehow, computer scientists have successfully brought the idea of diffusion processes into generative models, creating state-of-the-art models in image generation, and now they’re extensively being used for other generation tasks, including text in natural language processing and trajectories/rewards in robotics learning. Perhaps in the near future, I would write some blogs about how these fascinating topics from how my old friends from the old days of preparing for the physics competitions, blend their ways to my current pathways to deep learning and give me such excitement.
This process of teaching myself complex topics has taught me something crucial: the best way to solidify your understanding is to articulate it clearly for someone else, especially if we can draw hidden connections between different seemingly unrelated concepts and unify them into a single tree of abstract structures where nearly everything is correlated to each other. The idea of this self-teaching technique is easily found on the internet. There are a few keywords when talking about these techniques:
- Rubber duck debugging: We, as undergraduates majoring in computer science/information technology (or whatever we call ourselves), may have heard about this technique once or twice. It tells us that the best way to debug an error in a piece of code is to use a rubber duck, which is an incredibly innocent and adorable creature, and teach it about the code we’re writing. Every detail and component of our code must be articulated clearly enough so that a dumb, cute thing like a rubber duck can understand. That way, within the next minute or two, we might figure out where the bug is and eliminate it once and for all.
- The Feynman Technique: This technique is named after one of the most popular physicists in world history for his contributions to quantum electrodynamics (QED). He is called the best teacher, best explainer, and best scientific communicator in the world due to his curiosity, sense of humor, and unparalleled understanding of the physical world and pedagogical talent. The technique is the same as rubber duck debugging: it tells you to try to articulate an idea you’ve just learned in its simplest form so that even a five-year-old child could understand it. Given the complexity of quantum electrodynamics, which I believe is incomprehensible enough that most of us wouldn’t understand what it is talking about, I strongly believe the technique this man used is a cornerstone for us to enhance our cognitive abilities and solidify our understanding in nearly any concepts out there.
Ultimately, you don’t truly know a concept until you can explain it. That’s the first reason I’m here now.
This blog, then, is my new tool for thinking. It’s a place where I plan to break down the ideas I’m wrestling with, from the gradients of data distributions of generative modelling to the exploration-exploitation trade-off in deep reinforcement learning. Talking about learning, I have quite a strange opinion on this topic: what we strive to learn is what actually drives us to the top and stays with us for the rest of our days. Any knowledge bestowed upon us that we take for granted will never be a true companion and will soon be replaced or abandoned. This observation comes from some of my past experience and I strongly believe that lifelong learning and self-learning is the best combinations for our human race for the next era. Perhaps I would write a blog presenting my ideas on this opinion later.
Speaking about blog writing, my interests aren’t confined to neural networks and loss functions. I also want to explore a different kind of model here: models of thought. I have a long-standing interest in philosophy, particularly epistemology (how we know what we know, the philosophy of knowledge, mind, wisdom, and language) and metaphysics (the nature of reality, existence, objective and subjective matter, etc.). Sometimes, the questions in AI and the questions in philosophy feel surprisingly adjacent. Their connections sometimes feel so natural yet subtle enough that not many people may realize how these disciplines are tightly connected to each other. What does it mean for a machine to “learn”? What is the nature of the “world model” an agent builds? What actually is consciousness, a concept we talk about as if we knew it, but which is ready to be replaced or redefined at any time? Writing will allow me to express some of my ideas better and surely it would help me relieve some stress I cope with during my studies, both at university or self-taught myself.
Eventually, my friend’s long journey of persuading me to write a blog turned out to be more successful than he thought XD. This space is my commitment to the process of learning, thinking, and sharing. Dasvidaniya!