Coming in to UCLA as an eager but unsure freshman, new to the United States, and college life, I really did not have an idea of what I wanted to do and what research was about. As an engineering student, I believed doing research meant that I would be doing something cutting edge and interacting with the most advanced technologies. While this is true to an extent, my perspective has changed with each experience. Here, I will be going through each of my experiences in my first three years of college and what I have learned from each of them.
I came into UCLA as an Electrical Engineering major and was open to any Computer Science or Electrical Engineering related research. In winter quarter I went to the engineering research fair. There was a group that was doing neuromorphic computing and one of the PhD students mentioned the “machine learning” during his presentation. LIke most of my peers, I was also on the machine learning hype train and sent my resume in. Of course, without having taken any computer science or electrical engineering classes at the time, that PhD student did not have room for me. However, he directed me to another PhD student in the same group whose research was in bendable SoCs. The work entailed modelling different material properties and behaviors due to stresses in a software called ANSYS. This was not exactly related and I was iffy about doing it. But then I thought, “hey experience is experience”. I met up with the PhD student each week to discuss progress and tasks.
I was not passionate about the work I was doing. I was also often unsure of the general research direction. Thus, I always ended up putting the any research work at the lowest priority. Ultimately, I ended up not doing much and I did not gain many transferable skills out of it. Because much of this result was my attitude towards the research, this instilled in me a very important lesson that I have tried to keep ever since. If I am to commit to anything, it has to be something that I genuinely enjoy
During sophomore year, I actively searched for research opportunities during winter quarter. I was open to any opportunity available in the CS department and any other department that had some focus or need for computer programming / machine learning. Ultimately, through a lot of cold emailing, I joined a lab in the Biological Chemistry department. Our goal was to use computer vision algorithms to track mice movement to classify certain behavioral responses(fight or flight) in response to brain triggers. I did a lot of image preprocessing, setting up the pipeline to perform object detection (using a public implementation of YOLOv2), and collecting and formatting results.
Although I was learning in terms of python preprocessing and object detection algorithms I still felt removed from the true research process. I rarely if ever read any research papers. The professor and PhD students also were not experienced in the field. As a result, I was not able to receive guidance in what papers to read and topics to pursue. Thus, while I had a good experience in becoming a better programmer, I still wanted to be more involved.
At this point during fall quarter my research experiences had not been stellar and I was ready to give up. However, in my data mining class that I was taking that quarter, one of the TAs made a piazza post about a research opportunity with him. As I was very interested in the class I decided to check it out and emailed the TA. This experience was by far the most involved. The research area was in graph deep learning, which I found to be fascinating. For a taste of what graph deep learning is like see Graph Convolutional Networks. I read countless papers each of which had something interesting that I enjoyed learning. The PhD student also encouraged us to all participate in weekly meetings with the PIs in which we discussed results, roadblocks, and upcoming deadlines. Moreover, he involved us in writing papers and running experiments.
Over the course of the year, I became familiar with the entire process from idea formation, to hashing out and solidifying the idea to running experiments and baselines, to writing (in a way that is favorable to a particular conference) and submitting the paper to a conference, to the rebuttal phase and finally paper acceptance. Moreover, I was able to learn about the design of deep learning code bases (the structuring, data preprocessing, models, and configuration) as well as familiarize myself with both Pytorch and TensorFlow. . Today, not only am I comfortable implementing and running deep learning experiments but also reading and understanding research papers. This experience is invaluable and gave me a lot more clarity of the research process and what pursuing a PhD may entail.
Final Words of Advice
While my experience is just one of many, I still believe there were some important things to learn. First, do not do research if you are not genuinely interested. In the chaos that is trying to juggle social, club, and academic obligations research can easily be pushed aside if you do not have any interest in the topic. Likewise, the less involved you are the less you get out of the experience. However, do give yourself opportunities to explore different areas to determine what you are truly interested in. Second, try to take upper division classes of interest (which includes its prerequisites) as soon as possible. When you have a foundation of domain knowledge, it is a lot easier to be accepted to a lab. Moreover, reading papers becomes significantly easier if you do not have to search up every single little detail. Finally, be open to asking your Phd mentor or PI for advice. Try to find someone who will help lead you through the research experience. They are people who have gone through the process already and have a lot of advice to offer.