Skip to main content

Black Box Parenting

I happen to be the proud father of a three-month old baby boy named Sidney. He is a great little guy but as a first-time parent I have often been frustrated with the lack of a clear, coherent instruction manual for taking care of newborns. One would think that after a few million years of raising children, someone would have documented how these things work. Of course, there are tons of baby books out there, but few of them are based on scientific principles. Most are based on anecdotal evidence and often the "parenting philosophy" gets in the way of empirical, pragmatic solutions. Searching for answers on the Internet just drives you crazy as you realize that nobody has any idea what they're talking about.

As a scientist and engineer, my only model for approaching a new, complex system with unknown behavior is to treat it as a black box. In the case of babies, the inputs are food, love, environment; the outputs are behavior (some desirable, some less so); occasional vomit, and dirty diapers. My rational mind tells me that there must be an algorithm at work inside, and my goal is to perform system identification and tweak my feedback control loop to maximize desirable behaviors while minimizing undesirable ones. It seems very simple.

Much of my prior experience in this domain comes from raising a puppy, using positive reinforcement-based operant conditioning as the primary approach. This was largely effective and complex behaviors (e.g., "roll over") can be taught through gradual shaping (i.e., when subject approximates desired behavior, issue reward; subject performs multiple rounds of exploitation vs. exploration to maximize reward potential until objective is reached). Mechanistically, positive reinforcement works with dogs, which is remarkable given that they appear to have far less cognitive capacity and language ability than humans.

Unfortunately, my experiments to date suggest that the strict engineering approach does not appear to be as effective on human infants. First, it is unclear how to provide a positive stimulus in response to desired behavior; one does not (say) offer a squirt of formula as a reward. Likewise, negative punishment is unlikely to be effective at this early developmental stage. How, then, does an infant learn new behaviors?

The biggest challenge so far has been teaching Sidney to fall asleep when he is tired. I previously assumed that falling asleep was a natural, almost automatic response to fatigue. But as we all know we actually have to learn how to fall asleep -- that the feeling of exhaustion is best relieved by finding a dark, quiet place, laying down on a flat soft surface (ideally with pillow and optional teddy bear) and closing one's eyes and relaxing. (Personally, I cannot fall asleep without several conditions being met; imagine how hard it is to sleep in coach class on a long flight when it's noisy, you can't get horizontal, and the drink cart keeps slamming into your knee.) Sidney has no way of knowing that fairly obvious set of facts, and even worse I have no direct way of teaching him those skills. Sidney's only possible learning algorithm is random search; effectively trial-and-error. It must be extremely frustrating to be an infant.

What's frustrating to me is that none of the baby books I have read so far appear to be rooted in any theories of infant learning. I am currently reading Ferber's classic work on sleep training, although the book itself does not offer theories as to how the learning process is supposed to work in a four-to-six month old infant (although there is a lot of good information on infant sleep patterns). Perhaps it is time to start reading some of the scientific studies. Although, perhaps one does not need to be conversant in the medical literature in order to be a good parent?

Next article in the series: Black Box Graduate Student Advising.

Comments

  1. Are you not using your clicker with Sidney? :-)

    More seriously, some friends taught their baby sign language. Apparently the infants get motor skills well before they can talk, and there is a special sign language designed just for babies. If you are curious I can put you in touch.

    ReplyDelete
  2. Three-words: "electro-shock therapy".

    ReplyDelete
  3. Matt, I find this absolutely hilarious. The thought of you, world-famous systems hacker, befuddled by a three month old infant is tremendously heart warming. Let me recommend "The Happiest Baby on the Block". Babies are not finite state automata, though it is often possible to get the desired output by finding the right input.

    ReplyDelete

Post a Comment

Popular posts from this blog

Why I'm leaving Harvard

The word is out that I have decided to resign my tenured faculty job at Harvard to remain at Google. Obviously this will be a big change in my career, and one that I have spent a tremendous amount of time mulling over the last few months.

Rather than let rumors spread about the reasons for my move, I think I should be pretty direct in explaining my thinking here.

I should say first of all that I'm not leaving because of any problems with Harvard. On the contrary, I love Harvard, and will miss it a lot. The computer science faculty are absolutely top-notch, and the students are the best a professor could ever hope to work with. It is a fantastic environment, very supportive, and full of great people. They were crazy enough to give me tenure, and I feel no small pang of guilt for leaving now. I joined Harvard because it offered the opportunity to make a big impact on a great department at an important school, and I have no regrets about my decision to go there eight years ago. But m…

Rewriting a large production system in Go

My team at Google is wrapping up an effort to rewrite a large production system (almost) entirely in Go. I say "almost" because one component of the system -- a library for transcoding between image formats -- works perfectly well in C++, so we decided to leave it as-is. But the rest of the system is 100% Go, not just wrappers to existing modules in C++ or another language. It's been a fun experience and I thought I'd share some lessons learned.

Why rewrite?

The first question we must answer is why we considered a rewrite in the first place. When we started this project, we adopted an existing C++ based system, which had been developed over the course of a couple of years by two of our sister teams at Google. It's a good system and does its job remarkably well. However, it has been used in several different projects with vastly different goals, leading to a nontrivial accretion of cruft. Over time, it became apparent that for us to continue to innovate rapidly wo…

Running a software team at Google

I'm often asked what my job is like at Google since I left academia. I guess going from tenured professor to software engineer sounds like a big step down. Job titles aside, I'm much happier and more productive in my new role than I was in the 8 years at Harvard, though there are actually a lot of similarities between being a professor and running a software team.

I lead a team at Google's Seattle office which is responsible for a range of projects in the mobile web performance area (for more background on my team's work see my earlier blog post on the topic). One of our projects is the recently-announced data compression proxy support in Chrome Mobile. We also work on the PageSpeed suite of technologies, specifically focusing on mobile web optimization, as well as a bunch of other cool stuff that I can't talk about just yet.

My official job title is just "software engineer," which is the most common (and coveted) role at Google. (I say "coveted&quo…