Weston Geophysical | A division of Applied Research Associates, a Defense Threat Reduction Agency partner
Week 1.5: import programming as struggles
May 12, 2021
Hello again, everyone! It's now the second week of my internship, and I'm really in the thick of it now.
I'm about 2/3 of the way through the NNFS textbook, but progress has definitely slowed down. Although my neural network has reached an accuracy of 98% (yay!), I'm having trouble understanding how each piece fits into the greater context of the textbook. It's been difficult staying motivated, but Mr.Bolton has done an amazing job of walking me through all my plateaus. I'm hoping that as I get closer to actually applying my neural network to Weston Geophysical's data, some of the excitement trickles back in.
Another tip for beginning programmers: Google is your best friend! Even though my mentors always say that no question is stupid, I'm often afraid of asking too many trivial questions (no doubt that a few of them are indeed pretty stupid). Whenever I get an error on Python, I first copy and paste it into Google and read a few search results before resorting to frantically asking Mr.Bolton for advice. There definitely are other programmers that have run into the same problems you're having, and there's a ton of resources online to help you.
Applications for AI:
If you've ever flown out of the JFK airport in NY before, you'd probably agree with me in saying that it would take more time to go through security there than to just walk to your destination. However, without something called Convolutional Neural Networks (CNNs), your hassles with TSA would take much longer. CNNs are a machine learning mechanism usually used for image analysis, including X-ray scans of your carry-on luggage.
CNNs are really powerful because they can easily recognize shapes such as lines, dots, and circles. A programmer could combine dots, lines, and circles to construct a CNN filter with the same shape as what they're looking for. The filter is then "slid" over the image to see if the image's shape fits that of the filter. For instance, if you wanted the CNN to identify a car, you might create a filter with a rectangle on top of a few circles (I admit, a very rudimentary car). The CNN "slides" the filter over an image of your Toyota Prius, and since the Prius' shape overlaps the general shape of a rectangle and a few circles, the CNN identifies it as a car.
TSA constructs filters that specifically point out objects they would deem as life-threateningly dangerous (i.e. a bottle of toothpaste larger than 3.4 ounces). Every time a piece of luggage passes through the scanner, an X-ray image of it is taken. TSA's "dangerous object" filters are slid over the X-ray images, and if none of the objects inside the luggage overlap with the shape of a large bottle of toothpaste, it's not flagged. Without CNNs, multiple TSA agents would have to closely observe each X-ray image to deem it safe. So the next time you're in line at JFK security, be grateful for the CNNs that have made your wait time only 3 hours instead of 10.
Life in Arlington:
I think it's important to note that Arlington is a huge sports town. Everyone here is either a Caps, Nationals, or Virginia Tech fan. There's of course a few UNC stragglers here and there as well (unfortunately). In a few days, all sports events are opening at full capacity, and I can feel the impatience radiating from Arlington residents. Even in the office, all break room conversations have been about what sports game everyone is attending this weekend. Since the Caps' arena is only a block away from my hotel, I've been mentally preparing myself for the streets to be overflowing. As a Jersey Devils and Blue Devils fan, I definitely feel like I'm in the minority here.
Thank you all for reading, and I'll see you in a few days!
Week 1: find("Euwan") = Arlington, VA
May 9, 2021
Welcome back, everyone! I've finally finished my first week with Weston Geophysical, and my brain is pretty fried from quite literally learning Python and linear algebra from scratch. In case anyone's been wondering where and how exactly I've been working on this project, I have my own office! Most ARA employees are still working remotely, although as more people get vaccinated, the office has slowly been getting busier. But since almost 2/3 of the office is still remote, I've been granted the empty office of a nuclear scientist named Alok Neopane. Thanks, Alok!
I'm about a third of the way through the NNFS textbook, so at this point, I've created a very rudimentary neural network. It just hasn't been optimized yet, meaning that it doesn't improve much over several trials. Right now, accuracy levels out to about 30%, which is not great by scientists' standards... or really anyone's standards. I meet with my mentor Mr.Bolton almost twice a day to ask questions (and believe me, I have a lot), so I'm really grateful that he's been really willing to help me every step of the way. It's sort of like having my own personal TA!
For other non-STEM students who are considering or also learning programming, here's a piece of advice I've gotten from Mr.Bolton: write down everything. It's easy to just copy and paste a tutorial's code onto your computer and think "oh, I'll remember what this means later." Trust me, you won't. I've been writing the context behind each piece of code in a separate notebook that I can skim at the end of the day to review what I've learned.
Applications for AI:
We can't talk about AI without introducing one of the most famous datasets used in machine learning: the Modified National Institute of Standards and Technology database (aka the MNIST database). The MNIST database contains 70,000 images of handwritten digits, like a handwritten 0, 1, 2, and so on. It's often used by binary classification neural networks. I won't go into all the math and science behind it, but basically, a computer can use MNIST to train its ability to determine if any handwritten digit is a 0, 1, 2, etc.
The postal service benefits a lot from this. I used to think that there was always someone behind the counter who read the address on every single package. For the past few decades though, the USPS has been using Optical Character Readers (OCRs) trained by the MNIST database that can identify the recipient's name and address on a package. Of course, the MNIST database has its limitations. In my opinion, most of the handwritten digits are really legible and neat, so OCRs might have trouble with messy handwriting. However, OCRs optimize over time; if it encounters a messy digit that it can't classify, it will output a "guess". A human will read it afterwards and tell the machine if it was correct, allowing the OCR to learn from its mistakes. So if your handwriting is particularly illegible, you're actually helping the computer improve!
Life in Arlington:
When I used to live in the Arlington area, it was pretty much a desolate suburb right outside of DC. Nowadays, it's an up-and-coming city. I would even argue it's already upped and come. During my internship, I'm living in a super gentrified neighborhood in the center of Arlington called Ballston. There are so many upscale restaurants and cafes, tons of entertainment options (including an adult version of Chuck E. Cheese), and every building is either a corporate office or a condo. It's a great place for young professionals, and everyone I've met here is between 20 and 40 years old. Families tend to move towards the suburbs as kids get older. I've definitely been taking advantage of all the incredible food here even if it's a bit pricey. The Army's paying for my meals, so I try not to care too much.
Thank you all for tuning in to my blog so far!
Week 0.5: print("Hello World.")
May 5, 2021
Hi everyone! Welcome to my blog!
I'm Euwan, a rising sophomore and Army ROTC cadet at Duke, and this summer, I'll be participating in the NSERC internship in-person. While interning, I'm placed on temporary active duty, meaning that the Army is paying for all my meals, travel, lodging, and stipends. I'd say it's a pretty good deal.
The description of my internship is a bit overcomplicated (not surprising considering it's organized by the US Department of Defense). The NSERC internship is run by the Nuclear Science and Engineering Research Center of the Defense Threat Reduction Agency (a DoD agency). DTRA assigned me to intern at Weston Geophysical, a group within Applied Research Associates (ARA) and one of the DoD's corporate partners located in Massachusetts, but I'm physically working at ARA's Arlington Division. In other words, I'm working with Weston Geophysical but am stationed in Arlington. Weston Geophysical performs a lot of research on seismic monitoring, which of course has several national security implications. In the future, an advanced enough seismic monitoring program could detect seismic movement, determine whether it was an earthquake or a nuclear explosion, and accurately locate its origin. With technology like that, national security agencies could quickly respond to nuclear threats.
So what am I doing here? The NSERC internship is catered specifically to my interests and goals, so as someone who still doesn't know what she'll major in, I wanted to use NSERC to explore an unfamiliar field. A few months ago, I took a Winter Breakaway course called Artificial Intelligence For Everyone, where I learned the concepts and applications of several machine learning mechanisms. While I'm definitely not a programmer or even a STEM-strong student, I was so fascinated by how scientists were able to code these programs and apply them to everyday problems. Duke itself is accomplishing incredible things with AI! With Weston Geophysical, I'm learning Python (with which I've had zero experience) so that I can code my own neural network from scratch that will (hopefully) classify various seismic and acoustic signals such as earthquakes, chirps, or nuclear explosions.
In the last three days, I've taught myself all the basics of Python, enough linear algebra to understand how neural networks function, and started working through a textbook with my mentor Mr.Bolton. This is probably the most math I have ever done in my life, but everyone at Weston has been incredibly patient with me. For the next four weeks, I'll give a rundown on the coding progress I've made, an existing or potential application for AI, and my overall experience living in Arlington. I actually used to live here when I was younger, and I've got to say it's changed a lot. More to come about that!
Thank you all for tuning in, and I'll talk to you soon.
I also encourage you all to follow along with my coding and AI experiences. Duke's Center for Computational Thinking has so many resources that have greatly helped me, including a Coursera and an upcoming machine learning summer school that I'll also be attending.