You are currently browsing the category archive for the ‘Learning’ category.

I’ve been doing a lot of re-education and new education since quitting my job. I’m into continual education, so I’m always learning even when on the job, but that part of me got a little squelched at the end before I quit, and there’s nothing like unbroken education versus on the job or interrupted by the job education. So beyond the general stuff like rehearsing what I know (or knew at one time), and investigating things I wished I’d have more time for, I usually stumble on to new concepts, and a Hierarchical Temporal Memory (HTM) network is a new and ultimately fascinating one to me.

HTM is a method for developing intelligent machines based on how our own brain works, or at least how our neocortex works. It’s a brilliant idea thought up by Jeff Hawkins, creator of Palm and Handspring. I was watching a presentation he gave at TED covering this very briefly, and since that time I’ve delved head first into this whole thing. As he puts it, there’s nothing ultimately new about this concept as it takes a lot of piece from other similar AI techniques, but he feels that his direction, which is ultimately guided by the biology of the human brain, is the best direction to go (both to better understand our brain by developing and testing theories, but also as a means for driving technical innovations).

His belief is that he’s got the right pieces put together. Just as when he took a bunch of parts off the shelf to create the first Palm (which was as much about what he didn’t take as what he put into it, which makes me think of the iPod beating the Zune), he’s doing the same with his theory of the brain and HTM for intelligent computers. And to me, he’s got it right (admittedly I know next to nothing).

There are comparisons to other types of networks like HTM such as the more common Bayesian network. I remember first hearing about Bayesian networks, and doing some research, I didn’t exactly get it. Sure it sounded powerful, but it didn’t strike me. Unlike that and other similar networks, though, I get HTMs at first sight. It makes sense, and I can see the potential that this kind of computing can have both in implementation, accuracy, scalability, and so on. Or at least, I have a concept as I’m still learning this stuff, but my gut says something right here where in other cases it said something was off.

HTMs are at the first level about pattern recognition. You get accuracy in pattern recognition through training, which for HTM, it takes a slightly different approach from other networks as it assumes the network learns all causes from a null starting point using data that changes both spatially and temporally much like holding an apple in your hand and moving it around. This is where the network learns the various sequences and causes of the world it’s trying to understand through a learning stage. Additionally, while the No Free Lunch principle still stands for any learning algorithm, HTM has an advantage for solving common real world problems because it assumes the world is constructed through a hierarchy of patterns (which I believe is true as described by Jeff), and hence a hierarchy learning system best matches and most efficiently solves the world it’s trying to understand.

That’s just the first stage, though, as the power of the tool comes in it ability to predict. Well, the power is also in its means of learning as there’s an added level of efficiency over other networks which make this method theoretically more scalable than any other of its type. As I was convinced, Jeff argues the intelligence isn’t about behavior, which is what AI seems to be concerned with, but with an ability to predict the world around oneself. Through that ability to recognize causes in a world and predict outcomes, you can intelligently react to them where a behavior can be a pre-programmed response as computers are made today, or behaviors can be reactionary and truly intelligent through an understanding of the relationships in our world like humans do today.

Now, HTM networks won’t be making human like robots anytime soon. Maybe in the future, but the real interesting thought is making machines that can evaluate causes in the world like we do, but with enhanced sense that we don’t readily have available to us. Machines that can solve problems we have a hard time solving that is. The first commercially useful HTM networks will be deployed for solving smaller problems in our world. Problems like collision prediction in vehicles, or ISP network management problems, or CAD optimization for manufacturers.

I’ve been playing with the test setup of the tools offered by Numenta, and the various test HTM networks supplied, and I’m looking forward to creating my own HTM network. It is cool doing image recognition on a laptop, though, without much effort from what they give you to start with, so we’ll see how hard this actually is to use practically in my own means.


P&L is a common concept for managing and running a business. It’s the bottom line as they call it. If your profits exceed your losses, then you’re making a net return and that means you can stay in business. However, while this is a simple yet good tool for broadly measuring a business’s operations, it’s a horrible tool for managers understanding employees. And yet, this is what most managers worry about measuring. Instead, the real P&L measure that holds value is measuring productivity and learning.

I recently quit my job, and one of the fundamental reasons for leaving my position as Software Engineering and Design Manager was a conflict with my boss, the President, as he didn’t seem to view business and management as I did. As one of two owners, he viewed the business through the normal P&L lens. Nothing wrong with that, but he then applied pressure on the rest of the staff based on profit measurements and not productivity and quality (learning) measurements. Don’t misunderstand me, you should try and align your staff with how your business makes money, but as Product manager my ability to influence profits depended on my ability to increase productivity and quality of deliverables.

Misunderstanding this is a fundamental misunderstanding of how people operate, and that ultimately determines how a business functions. Every person strives to find flow in what they do. Most people find the most flow during work hours in contrast with leisure time which is sometimes more enjoyable and relaxing, but often lacking in flow, which is itself a sign of high enjoyment.

Finding flow is a balancing act that is different for every person and every team. Balancing the line between boredom and anxiety, or too little work with too much work, and not challenging enough with too much challenge is key to building a team that’s both productive and capable of streamlining the current business model. However, productivity is only worth so much. For example, China might produce a ton of widgets, appearing highly productive, but is the quality of each widget good enough. Americans might not produce as many widgets, but if you look at both quantity and quality, then you can get a true value of productivity and in turn Americans might be more productive.

After you measure productive, from a business perspective, cost then becomes a differentiating factor making up your standard P&L measurement. Of course, there a many factors beyond price that differentiate a business from its competitors, but often times, this seems to be where people stop, and that gets handed down from the top to senior, mid, and other levels of managers and employees.

To see the flaws in this mode of operating, consider my situation as the engineering manager. When managing you have to worry about capacity and capability of your team. Your team might only be capable of doing low level work, but they have the capacity to do a whole lot of it. Or, they might be capable of doing high level work, system architecture or feature design, but therefore have a lower capacity for that work (although, many times higher capable people also have high capacities for doing work). You need people at all levels to make a business function.

My team was mostly low capable staff, but they had decent capacity for work. My problem was that I lacked staff capable of doing high level work. So, I needed to incorporate a level of learning for the staff I had. Either through traditional learning like going to school, or I needed to figure out a way to do training through work, which usually means giving a person a task just beyond their threshold of knowledge or experience. Establishing this struggle generally encourages growth, and as the person internalized what they’ve learned, their quality generally increases with the challenges they overcome.

However, that’s only the case if that person has time to internalize what they’ve done. And this is where the traditional P&L causes conflict. Generally speaking, it assumes that more challenges overcome means more profits earned. In software development, losses are generally fixed in payroll, so increased quantity increases profits. However, there are losses involved in this process that tend to go unmeasured, or at least unmeasured as a real expense to the business. If quality is low, then work usually breaks and has to be reworked adding cost at a future date. The earlier you fix a problem, the less it’ll cost to fix, so high quality to start is a way of reducing future expenses.

You don’t improve quality without incorporating a training program for staff. If people aren’t learning and growing, then they aren’t going to produce quality outcomes or increase current levels of quality. In my job, the President was pushing the staff beyond capability and capacity, and because of this, quality was dropping and problems weren’t getting solved adequately. Additionally, there was not chance of learning from the challenges because there was no chance for internalization, or true learning and understanding. Staff wasn’t getting any more capable and yet demand was increasing.

To the owners, who only appeared to see profits and losses, they couldn’t reconcile my requests to alleviate problems with capacity and capability, which in turn is a function of productivity and learning. Clients were happy for the time being, but internally there was struggle that would only come out in time having a negative impact on clients. It’s a very serious challenge, and sometimes it’s OK to sacrifice a little of one for the other (keep clients happy to keep the cash coming in, but reducing your ability to respond and increasing maintenance costs internally). However, you have to have a long term plan of how to get out of that situation as any business should ultimate find a happy medium between challenges and ease. Flow is key in every business, and you destroy flow as my previous company did without an active, achievable plan for resolving the real underlying problems.

What does all of that mean? If you want to be a good manager, you need to worry about productivity and learning, or capability, capacity, and quality. Productivity is a measure of current capability and capacity, and learning is a method for increasing future capability and capacity (as well as establishing a environment for flow). And not to forget, quality hangs as an umbrella over this whole picture as a shield from future expenses, but also as a result from learning.

I write this blog for a handful of reasons, but one of the main reasons I started writing was for my own education, or more accurately, my ability to use what I learn when I need it. As How We Learn by William Glasser states, teaching is the best way to absorb knowledge.

Even if no one reads anything I write here, I’d still write it just because I know it’ll help solidify what I learn, or think I already know. It helps writing about things that interest you, and if you can’t use something you learn, then from my experience, thinking creativity about something new is the next best thing. It’s about putting new ideas into strange situations, which makes them “snap” into the brain because of the extraordinariness of what you’re doing. I frequently invent conversations in my head, so I can bounce ideas around and see what feels right, and putting some of that on paper or online, forces me to pick a side, even if I’m not fully on board with it. This helps make a splash in the brain, which is important when you want to recall that information, and that’s crucial when you manage your money once or twice a year.

Short post, and one of my last for the next few weeks. I’m leaving for my Southeast Asia trip next week, and I’ll be gone and disconnected for a good two weeks, so I probably won’t post but one more time before June. But, I’ll be back for sure.